@seams/wallet 0.7.3 → 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 -9
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/SeamsWeb.js +2 -2
- 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 +18 -43
- 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/deviceLinkingResume.js +1 -4
- 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 +1 -2
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryRotation.js +1 -2
- package/dist/esm/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +3 -12
- 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/publicApi/near.js +1 -1
- package/dist/esm/SeamsWeb/publicApi/transactionReview.js +4 -1
- package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +4 -4
- 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/ui/auth-menu/AuthMenuFooter.js +64 -0
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +165 -222
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/icons.js +136 -0
- 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/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 +1 -4
- 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 +3 -4
- 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/shared.js +1 -2
- package/dist/esm/core/signingEngine/assembly/warmup.js +1 -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/ecdsaExportMaterial.js +0 -1
- package/dist/esm/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +1 -1
- 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/readySecp256k1Material.js +0 -2
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/transactionExecutor.js +1 -2
- 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/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 +0 -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/emailOtp/EmailOtpWalletSessionCoordinator.js +0 -1
- 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 +1 -7
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaRecovery.js +10 -14
- 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/material/activeWalletAuthorityEcdsaRuntime.js +1 -2
- package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +1 -1
- package/dist/esm/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.js +1 -14
- 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 +12 -45
- package/dist/esm/core/signingEngine/session/persistence/clientSessionPersistence.js +8 -16
- package/dist/esm/core/signingEngine/session/persistence/sealedSessionRecords.js +0 -2
- 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/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/crypto/ed25519YaoLaneWasm.js +0 -3
- package/dist/esm/core/signingEngine/threshold/ecdsa/bootstrapSession.js +1 -5
- 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 +1 -1
- 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 +7 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/abi/abiDecode.js +3 -13
- 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/ecdsaClientWorkerChannels.js +0 -4
- package/dist/esm/core/signingEngine/workerManager/validation.js +1 -1
- package/dist/esm/core/signingEngine/workerManager/workerTransport.js +3 -42
- 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 +1 -1
- package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.js +1 -1
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +4 -4
- package/dist/esm/react/components/AccountMenuButton/LockMenuItem.js +1 -1
- package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +1 -1
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.css +8 -0
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +14 -6
- package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon.js +1 -1
- package/dist/esm/react/components/AccountMenuButton/index.js +5 -5
- 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.js +2 -2
- 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 +1 -1
- package/dist/esm/react/context/useWalletIframeLifecycle.js +1 -1
- 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 +8 -0
- 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 +12 -158
- 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 -5874
- 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/device-linking/parsers.js +41 -1
- package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +1 -1
- 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/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 +0 -1
- 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 +1 -1
- 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 +0 -1
- package/dist/esm/shared-ts/src/utils/domainIds.js +1 -7
- package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.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/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 +0 -1
- package/dist/esm/shared-ts/src/utils/registrationSetupOperation.js +12 -0
- package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +1 -1
- package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +1 -2
- 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/theme/base-styles.js +11 -11
- package/dist/esm/utils/deviceDetection.js +16 -1
- 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 +12 -158
- 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 -5874
- 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 +387 -1952
- package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +1523 -2668
- package/dist/public/sdk/workers/ecdsa-online-client.worker.js +1 -273
- package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +1 -273
- package/dist/public/sdk/workers/email-otp.worker.js +228 -2103
- 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 +135 -1635
- 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/device-linking/contracts.d.ts +1 -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 +0 -11
- package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +2 -7
- 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 -843
- 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/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/errors.d.ts +0 -4
- package/dist/types/shared-ts/src/utils/near.d.ts +0 -20
- package/dist/types/shared-ts/src/utils/normalize.d.ts +0 -2
- package/dist/types/shared-ts/src/utils/registrationSetupOperation.d.ts +3 -0
- package/dist/types/shared-ts/src/utils/validation.d.ts +1 -3
- 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/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/recoveryKeyId.d.ts +5 -21
- package/dist/types/wallet/src/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/operations/auth/walletUnlockSubject.d.ts +0 -3
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/challenge.d.ts +0 -4
- 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/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/ui/auth-menu/AuthMenuFooter.d.ts +17 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +11 -3
- 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/advanced.d.ts +1 -1
- 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 +0 -30
- package/dist/types/wallet/src/core/indexedDB/pendingWalletRecoveryCommit.d.ts +1 -4
- package/dist/types/wallet/src/core/indexedDB/schemaNames.d.ts +0 -22
- 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 +5 -1
- 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 +0 -15
- package/dist/types/wallet/src/core/platform/index.d.ts +4 -4
- package/dist/types/wallet/src/core/platform/ports.d.ts +1 -51
- 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/relayer/passkeyCustodyEnvelope.d.ts +0 -6
- package/dist/types/wallet/src/core/rpcClients/relayer/thresholdEcdsa.d.ts +0 -1
- 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/flows/recovery/keyExportConfirmation.d.ts +0 -15
- package/dist/types/wallet/src/core/signingEngine/flows/registration/accountLifecycle.d.ts +1 -11
- 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/readySecp256k1Material.d.ts +2 -10
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoCapabilityResolution.d.ts +1 -4
- 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/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/interfaces/index.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/nonce/NonceCoordinator.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/nonce/nonceTypes.d.ts +0 -9
- 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/readiness.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaLogin.d.ts +0 -3
- 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 +0 -1
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/secretEscrow.d.ts +0 -1
- 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 +0 -3
- 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 +0 -3
- package/dist/types/wallet/src/core/signingEngine/session/identity/laneIdentity.d.ts +0 -6
- 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/activeWalletAuthorityEcdsaRuntime.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.d.ts +0 -3
- package/dist/types/wallet/src/core/signingEngine/session/operationState/authorizationAdmission.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/operationState/preparedOperation.d.ts +0 -2
- 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/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/warmCapabilities/ecdsaProvisionPlan.d.ts +0 -105
- 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/methodRunners.d.ts +1 -5
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.d.ts +1 -2
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/requireStepUpAuth.d.ts +1 -19
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/types.d.ts +0 -10
- 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 +0 -4
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/connectSession.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +1 -8
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/requestRegistrationCredentialConfirmation.d.ts +1 -4
- 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/validation.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +6 -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 +0 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/custodyRestore.d.ts +0 -8
- 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/sdkSentEvents.d.ts +1 -2
- 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/react/components/AccountMenuButton/Toggle.d.ts +0 -15
- package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +0 -19
- package/dist/types/wallet/src/utils/qrScanner.d.ts +1 -21
- package/dist/workers/device-linking-key.worker.js +387 -1952
- package/dist/workers/ecdsa-derivation-client.worker.js +1523 -2668
- package/dist/workers/ecdsa-online-client.worker.js +1 -273
- package/dist/workers/ecdsa-presign-client.worker.js +1 -273
- package/dist/workers/email-otp.worker.js +228 -2103
- 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 +135 -1635
- 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/LinkedDevicesModal.css +0 -612
- package/dist/esm/components/AccountMenuButton/MenuItem.css +0 -198
- 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 -177
- package/dist/esm/components/AccountMenuButton/WalletSettingsLayout.css +0 -456
- package/dist/esm/components/AccountMenuButton/Web3AuthProfileButton.css +0 -23
- package/dist/esm/components/AccountMenuButton/icons/TouchIcon.css +0 -46
- package/dist/esm/components/QRCodeScanner.css +0 -487
- package/dist/esm/components/ShowQRCode.css +0 -331
- package/dist/esm/core/indexedDB/seamsWalletDB/laneHolderMaterialStore.js +0 -236
- 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 -1918
- 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 -4408
- package/dist/esm/react/SeamsWeb/operations/auth/scheduleEcdsaSessionPresignaturePrefill.js +0 -41
- package/dist/esm/react/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.js +0 -64
- package/dist/esm/react/SeamsWeb/operations/auth/walletAuth.js +0 -142
- package/dist/esm/react/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +0 -33
- 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 -524
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +0 -135
- package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingResume.js +0 -215
- 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 -383
- 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 -363
- 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 -568
- 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 -24
- 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 -244
- 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 -3917
- 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/restoredSessionPresignaturePrefill.js +0 -29
- package/dist/esm/react/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +0 -158
- package/dist/esm/react/SeamsWeb/walletIframe/shared/exactSessionState.js +0 -605
- 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 -109
- 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 -477
- package/dist/esm/react/core/indexedDB/pendingWalletRegistrationCommit.js +0 -745
- 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 -72
- 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 -250
- package/dist/esm/react/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +0 -353
- package/dist/esm/react/core/signingEngine/flows/recovery/exportKeypairOperation.js +0 -213
- 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 -192
- 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 -376
- 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 -510
- 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 -82
- 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 -633
- package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +0 -392
- 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 -140
- 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 -1218
- 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 -1064
- 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 -214
- package/dist/esm/react/core/signingEngine/session/availability/readiness.js +0 -464
- package/dist/esm/react/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +0 -131
- package/dist/esm/react/core/signingEngine/session/emailOtp/challengeDelivery.js +0 -56
- 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 -936
- 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 -335
- 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 -318
- package/dist/esm/react/core/signingEngine/session/material/ecdsaCapabilityHydration.js +0 -75
- package/dist/esm/react/core/signingEngine/session/material/ecdsaCapabilityManifest.js +0 -498
- 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 -314
- 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 -761
- 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 -139
- package/dist/esm/react/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +0 -619
- 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 -16
- package/dist/esm/react/core/signingEngine/threshold/ed25519/commitQueue.js +0 -16
- 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 -746
- 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 -289
- 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/fallback.js +0 -52
- 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 -249
- 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 -342
- 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 -773
- 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 -115
- package/dist/esm/react/shared-ts/src/authorization/walletSignerActivationEquality.js +0 -12
- 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 -270
- 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 -130
- 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 -167
- 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 -542
- 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 -62
- 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 -62
- 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 -479
- 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 -43
- 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 -44
- package/dist/esm/react/shared-ts/src/utils/ecdsaServerTiming.js +0 -38
- 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/exactKeys.js +0 -17
- 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 -390
- package/dist/esm/react/shared-ts/src/utils/registrationSignerPlan.js +0 -439
- 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/thresholdEcdsaChainTarget.js +0 -9
- 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 -251
- 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/menuItemBlink.js +0 -24
- 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-zthG08aC.js +0 -1341
- package/dist/esm/sdk/actions-CCvThiKe.js +0 -225
- package/dist/esm/sdk/adapters-Dli9XAZp.js +0 -4836
- 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-BBIk365e.js +0 -139
- package/dist/esm/sdk/capabilityKinds-hvYqa6S_.js +0 -109
- package/dist/esm/sdk/chains-BMh3btVo.js +0 -124
- package/dist/esm/sdk/challengeDelivery-DZtopOAG.js +0 -74
- package/dist/esm/sdk/chunk-BtrIJ4_z.js +0 -33
- package/dist/esm/sdk/configHelpers-D1EqxVxg.js +0 -179
- package/dist/esm/sdk/csp-stylesheet-btENhsNp.js +0 -215
- package/dist/esm/sdk/defaultConfigs-D_33pPT9.js +0 -355
- package/dist/esm/sdk/display-P4nQF-yc.js +0 -126
- package/dist/esm/sdk/domainIds-lcrFg6Sa.js +0 -338
- package/dist/esm/sdk/ecdsaCapabilityManifest-DuMs0VtU.js +0 -805
- package/dist/esm/sdk/ecdsaChainTarget-Bl-JWyuw.js +0 -121
- package/dist/esm/sdk/ecdsaPresignLifecycle-Bfx2AQKb.js +0 -1983
- package/dist/esm/sdk/ecdsaPresignPoolIdentity-BjxZVIqn.js +0 -47
- package/dist/esm/sdk/ecdsaWalletRecords-D42rtA9z.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-CqGafQsI.js +0 -4274
- package/dist/esm/sdk/exactSessionState-LWDUXydN.js +0 -2592
- package/dist/esm/sdk/exactSigningLaneIdentity-m6uTXV_A.js +0 -335
- package/dist/esm/sdk/executeWorkerOperation-Cl9whMK7.js +0 -10
- package/dist/esm/sdk/export-viewer-host-rWMSQQMP.js +0 -204
- package/dist/esm/sdk/helpers-ZrowMnev.js +0 -302
- package/dist/esm/sdk/host-CnV8nAUe.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-CogGAAZn.js +0 -94
- package/dist/esm/sdk/localOnly-DTpa2jD5.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-B5GecIvq.js +0 -4018
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-CdOT5RuC.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-UUHbC0pk.js +0 -487
- package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-BWluQMbt.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-C3fydnRC.js +0 -779
- package/dist/esm/sdk/registration-Ct_7LdGf.js +0 -14402
- package/dist/esm/sdk/registration-DHERU8R_.js +0 -233
- package/dist/esm/sdk/registrationAccounts-DmWPzf3T.js +0 -33
- package/dist/esm/sdk/registrationIds-DLSdEKSv.js +0 -310
- package/dist/esm/sdk/registrationIntent-4zwk16zQ.js +0 -387
- package/dist/esm/sdk/registrationPreparationPreload-D6zpWp4O.js +0 -13
- package/dist/esm/sdk/registrationSignerPlan-DhV8VAob.js +0 -437
- package/dist/esm/sdk/relayerHttp-VC8Holz1.js +0 -24
- package/dist/esm/sdk/routePlan-D59x5xzQ.js +0 -83
- package/dist/esm/sdk/router-B4ZWFy9E.js +0 -4721
- package/dist/esm/sdk/routerAbNormalSigning-CVFEOZ2m.js +0 -992
- package/dist/esm/sdk/runtime-auth-DdfynDKt.js +0 -5393
- package/dist/esm/sdk/runtime-device-link-HJ2ptFux.js +0 -259
- package/dist/esm/sdk/runtime-ecdsa-tempo-BGLsTAWR.js +0 -177
- package/dist/esm/sdk/runtime-email-otp-CpX88VZJ.js +0 -320
- package/dist/esm/sdk/runtime-export-DIVY473L.js +0 -112
- package/dist/esm/sdk/runtime-near-CxtQi4b2.js +0 -278
- package/dist/esm/sdk/runtime-preferences-vnJc5Svg.js +0 -67
- package/dist/esm/sdk/runtime-recovery-codes-BSCLVHQj.js +0 -95
- package/dist/esm/sdk/runtime-recovery-i08vCJST.js +0 -45
- package/dist/esm/sdk/runtimeContext-D3TBExQ6.js +0 -44484
- package/dist/esm/sdk/runtimeLoader-DQVEFVaW.js +0 -44
- package/dist/esm/sdk/sdkSentEvents-MqDkbQg1.js +0 -599
- package/dist/esm/sdk/secp256k1-D-I6Gh4D.js +0 -2515
- package/dist/esm/sdk/secureRandomId-BORsmdS4.js +0 -33
- package/dist/esm/sdk/sessionPolicy-DO-MkL65.js +0 -460
- package/dist/esm/sdk/shared-DkbeLCI3.js +0 -33
- package/dist/esm/sdk/signEvmFamily-C3C97Th-.js +0 -4607
- package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-BI9DSTIS.js +0 -226
- package/dist/esm/sdk/signEvmWithUiConfirm-Bmcim5-g.js +0 -27
- package/dist/esm/sdk/signNear-Bmb2fj_a.js +0 -5893
- package/dist/esm/sdk/signatureUses-BkGyYt8F.js +0 -51
- package/dist/esm/sdk/signerDomain-IEAVrOrc.js +0 -59
- package/dist/esm/sdk/signerLoader-B7orgq5Z.js +0 -23
- package/dist/esm/sdk/signerSlot-_ovonwVX.js +0 -10
- package/dist/esm/sdk/signingFlow-SZ8t_lxv.js +0 -1319
- 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-DKLQZvec.js +0 -126
- 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-CJ4U8pcl.js +0 -1894
- package/dist/esm/sdk/types-Dx9fczU7.js +0 -111
- package/dist/esm/sdk/validation-gat4LEKm.js +0 -409
- package/dist/esm/sdk/wallet-recovery-BX61-79p.js +0 -1902
- package/dist/esm/sdk/walletAuthority-DD9T25F6.js +0 -1247
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-CF4bv9OI.js +0 -11000
- package/dist/esm/sdk/walletIframeIdentity-DB6Z2EC9.js +0 -13
- package/dist/esm/sdk/walletRecoveryCommit-AI1AtIRP.js +0 -2101
- 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-zthG08aC.js +0 -1341
- package/dist/public/sdk/actions-CCvThiKe.js +0 -225
- package/dist/public/sdk/adapters-Dli9XAZp.js +0 -4836
- 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-BBIk365e.js +0 -139
- package/dist/public/sdk/capabilityKinds-hvYqa6S_.js +0 -109
- package/dist/public/sdk/chains-BMh3btVo.js +0 -124
- package/dist/public/sdk/challengeDelivery-DZtopOAG.js +0 -74
- package/dist/public/sdk/chunk-BtrIJ4_z.js +0 -33
- package/dist/public/sdk/configHelpers-D1EqxVxg.js +0 -179
- package/dist/public/sdk/csp-stylesheet-btENhsNp.js +0 -215
- package/dist/public/sdk/defaultConfigs-D_33pPT9.js +0 -355
- package/dist/public/sdk/display-P4nQF-yc.js +0 -126
- package/dist/public/sdk/domainIds-lcrFg6Sa.js +0 -338
- package/dist/public/sdk/ecdsaCapabilityManifest-DuMs0VtU.js +0 -805
- package/dist/public/sdk/ecdsaChainTarget-Bl-JWyuw.js +0 -121
- package/dist/public/sdk/ecdsaPresignLifecycle-Bfx2AQKb.js +0 -1983
- package/dist/public/sdk/ecdsaPresignPoolIdentity-BjxZVIqn.js +0 -47
- package/dist/public/sdk/ecdsaWalletRecords-D42rtA9z.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-CqGafQsI.js +0 -4274
- package/dist/public/sdk/exactSessionState-LWDUXydN.js +0 -2592
- package/dist/public/sdk/exactSigningLaneIdentity-m6uTXV_A.js +0 -335
- package/dist/public/sdk/executeWorkerOperation-Cl9whMK7.js +0 -10
- package/dist/public/sdk/export-viewer-host-rWMSQQMP.js +0 -204
- package/dist/public/sdk/helpers-ZrowMnev.js +0 -302
- package/dist/public/sdk/host-CnV8nAUe.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-CogGAAZn.js +0 -94
- package/dist/public/sdk/localOnly-DTpa2jD5.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-B5GecIvq.js +0 -4018
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-CdOT5RuC.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-UUHbC0pk.js +0 -487
- package/dist/public/sdk/pendingWalletRecoveryCodeBackup-BWluQMbt.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-C3fydnRC.js +0 -779
- package/dist/public/sdk/registration-Ct_7LdGf.js +0 -14402
- package/dist/public/sdk/registration-DHERU8R_.js +0 -233
- package/dist/public/sdk/registrationAccounts-DmWPzf3T.js +0 -33
- package/dist/public/sdk/registrationIds-DLSdEKSv.js +0 -310
- package/dist/public/sdk/registrationIntent-4zwk16zQ.js +0 -387
- package/dist/public/sdk/registrationPreparationPreload-D6zpWp4O.js +0 -13
- package/dist/public/sdk/registrationSignerPlan-DhV8VAob.js +0 -437
- package/dist/public/sdk/relayerHttp-VC8Holz1.js +0 -24
- package/dist/public/sdk/routePlan-D59x5xzQ.js +0 -83
- package/dist/public/sdk/router-B4ZWFy9E.js +0 -4721
- package/dist/public/sdk/routerAbNormalSigning-CVFEOZ2m.js +0 -992
- package/dist/public/sdk/runtime-auth-DdfynDKt.js +0 -5393
- package/dist/public/sdk/runtime-device-link-HJ2ptFux.js +0 -259
- package/dist/public/sdk/runtime-ecdsa-tempo-BGLsTAWR.js +0 -177
- package/dist/public/sdk/runtime-email-otp-CpX88VZJ.js +0 -320
- package/dist/public/sdk/runtime-export-DIVY473L.js +0 -112
- package/dist/public/sdk/runtime-near-CxtQi4b2.js +0 -278
- package/dist/public/sdk/runtime-preferences-vnJc5Svg.js +0 -67
- package/dist/public/sdk/runtime-recovery-codes-BSCLVHQj.js +0 -95
- package/dist/public/sdk/runtime-recovery-i08vCJST.js +0 -45
- package/dist/public/sdk/runtimeContext-D3TBExQ6.js +0 -44484
- package/dist/public/sdk/runtimeLoader-DQVEFVaW.js +0 -44
- package/dist/public/sdk/sdkSentEvents-MqDkbQg1.js +0 -599
- package/dist/public/sdk/secp256k1-D-I6Gh4D.js +0 -2515
- package/dist/public/sdk/secureRandomId-BORsmdS4.js +0 -33
- package/dist/public/sdk/sessionPolicy-DO-MkL65.js +0 -460
- package/dist/public/sdk/shared-DkbeLCI3.js +0 -33
- package/dist/public/sdk/signEvmFamily-C3C97Th-.js +0 -4607
- package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-BI9DSTIS.js +0 -226
- package/dist/public/sdk/signEvmWithUiConfirm-Bmcim5-g.js +0 -27
- package/dist/public/sdk/signNear-Bmb2fj_a.js +0 -5893
- package/dist/public/sdk/signatureUses-BkGyYt8F.js +0 -51
- package/dist/public/sdk/signerDomain-IEAVrOrc.js +0 -59
- package/dist/public/sdk/signerLoader-B7orgq5Z.js +0 -23
- package/dist/public/sdk/signerSlot-_ovonwVX.js +0 -10
- package/dist/public/sdk/signingFlow-SZ8t_lxv.js +0 -1319
- 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-DKLQZvec.js +0 -126
- 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-CJ4U8pcl.js +0 -1894
- package/dist/public/sdk/types-Dx9fczU7.js +0 -111
- package/dist/public/sdk/validation-gat4LEKm.js +0 -409
- package/dist/public/sdk/wallet-recovery-BX61-79p.js +0 -1902
- package/dist/public/sdk/walletAuthority-DD9T25F6.js +0 -1247
- package/dist/public/sdk/walletCustodyEcdsaContinuity-CF4bv9OI.js +0 -11000
- package/dist/public/sdk/walletIframeIdentity-DB6Z2EC9.js +0 -13
- package/dist/public/sdk/walletRecoveryCommit-AI1AtIRP.js +0 -2101
- 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/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/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,2592 +0,0 @@
|
|
|
1
|
-
import { O as parseWalletId, i as parseCapabilityInstanceRef } from "./domainIds-lcrFg6Sa.js";
|
|
2
|
-
import { g as requireNonEmptyString, m as requireArray, v as requireRecordCopy } from "./validation-gat4LEKm.js";
|
|
3
|
-
import { n as secureRandomBase64Url } from "./secureRandomId-BORsmdS4.js";
|
|
4
|
-
import { kt as activeWalletSessionV1RecordsEqual, nt as parseWalletAuthAuthorityRef } from "./ecdsaPresignLifecycle-Bfx2AQKb.js";
|
|
5
|
-
import { h as parseWalletSessionId, m as parseWalletSessionAuthorizationId } from "./capabilityKinds-hvYqa6S_.js";
|
|
6
|
-
import { a as thresholdEcdsaChainTargetFromRequest } from "./ecdsaChainTarget-Bl-JWyuw.js";
|
|
7
|
-
import { o as isWalletAuthMethod } from "./signerDomain-IEAVrOrc.js";
|
|
8
|
-
import { t as toAccountId } from "./accountIds-DhIPGOSN.js";
|
|
9
|
-
import { z as walletAuthMethodBindingFromRaw } from "./evmFamilyEcdsaIdentity-CqGafQsI.js";
|
|
10
|
-
import { a as parseNearEd25519SigningKeyId } from "./registrationIds-DLSdEKSv.js";
|
|
11
|
-
import { s as parseEcdsaThresholdKeyId } from "./keyMaterialBrands-CogGAAZn.js";
|
|
12
|
-
import { t as parseSignerSlot } from "./signerSlot-_ovonwVX.js";
|
|
13
|
-
import { _ as NonceCoordinatorDegradationReason, v as NonceCoordinatorFallback, x as NonceLeaseState } from "./nonceLaneKeys-C3c9lG6u.js";
|
|
14
|
-
import { t as createEvmClient } from "./EvmClient-f3gUhS2L.js";
|
|
15
|
-
import { n as resolveAppearanceTheme } from "./configHelpers-D1EqxVxg.js";
|
|
16
|
-
import { n as getDefaultCspNonce, r as appearanceTokenCssRule, t as createCspStylesheetManager } from "./csp-stylesheet-btENhsNp.js";
|
|
17
|
-
//#region src/core/signingEngine/webauthnAuth/fallbacks/safari-fallbacks.ts
|
|
18
|
-
const WebAuthnBridgeMessage = {
|
|
19
|
-
Create: "WALLET_WEBAUTHN_CREATE",
|
|
20
|
-
Get: "WALLET_WEBAUTHN_GET",
|
|
21
|
-
CreateResult: "WALLET_WEBAUTHN_CREATE_RESULT",
|
|
22
|
-
GetResult: "WALLET_WEBAUTHN_GET_RESULT"
|
|
23
|
-
};
|
|
24
|
-
function getResultTypeFor(kind) {
|
|
25
|
-
return kind === WebAuthnBridgeMessage.Get ? WebAuthnBridgeMessage.GetResult : WebAuthnBridgeMessage.CreateResult;
|
|
26
|
-
}
|
|
27
|
-
var WalletOriginWebAuthnUnavailableError = class extends Error {
|
|
28
|
-
constructor(message) {
|
|
29
|
-
super(message);
|
|
30
|
-
this.code = "wallet_origin_webauthn_unavailable";
|
|
31
|
-
this.name = "WalletOriginWebAuthnUnavailableError";
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
async function executeWebAuthnWithParentFallbacksSafari(kind, publicKey, deps) {
|
|
35
|
-
const publicKeyForAttempt = clonePublicKeyOptions(kind, publicKey);
|
|
36
|
-
try {
|
|
37
|
-
if (kind === "create") return await navigator.credentials.create({
|
|
38
|
-
publicKey: publicKeyForAttempt,
|
|
39
|
-
...deps.abortSignal ? { signal: deps.abortSignal } : {}
|
|
40
|
-
});
|
|
41
|
-
return await navigator.credentials.get({
|
|
42
|
-
publicKey: publicKeyForAttempt,
|
|
43
|
-
...deps.abortSignal ? { signal: deps.abortSignal } : {}
|
|
44
|
-
});
|
|
45
|
-
} catch (error) {
|
|
46
|
-
if (kind === "create" && (isAncestorOriginError(error) || isDocumentNotFocusedError(error))) throw new WalletOriginWebAuthnUnavailableError(`Wallet-origin WebAuthn registration is unavailable: ${safeMessage(error)}`);
|
|
47
|
-
throw error;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
async function requestParentDomainWebAuthn(kind, publicKey, client, timeoutMs) {
|
|
51
|
-
const publicKeyForBridge = clonePublicKeyOptions(kind, publicKey);
|
|
52
|
-
if (kind === "create") return client.request(WebAuthnBridgeMessage.Create, publicKeyForBridge, timeoutMs);
|
|
53
|
-
return client.request(WebAuthnBridgeMessage.Get, publicKeyForBridge, timeoutMs);
|
|
54
|
-
}
|
|
55
|
-
var WindowParentDomainWebAuthnClient = class {
|
|
56
|
-
async request(kind, publicKey, timeoutMs = 6e4) {
|
|
57
|
-
const requestId = `${kind}:${Date.now()}:${secureRandomBase64Url(16, "Safari WebAuthn bridge request IDs")}`;
|
|
58
|
-
const resultType = getResultTypeFor(kind);
|
|
59
|
-
return new Promise((resolve) => {
|
|
60
|
-
let settled = false;
|
|
61
|
-
const finish = (val) => {
|
|
62
|
-
if (!settled) {
|
|
63
|
-
settled = true;
|
|
64
|
-
resolve(val);
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
const onMessage = (ev) => {
|
|
68
|
-
const payload = ev?.data;
|
|
69
|
-
if (!payload || typeof payload.type !== "string") return;
|
|
70
|
-
if (payload.type !== resultType) return;
|
|
71
|
-
if (payload.requestId !== requestId) return;
|
|
72
|
-
window.removeEventListener("message", onMessage);
|
|
73
|
-
const ok = !!payload.ok;
|
|
74
|
-
const cred = payload.credential;
|
|
75
|
-
const err = payload.error;
|
|
76
|
-
if (ok && cred) return finish({
|
|
77
|
-
ok: true,
|
|
78
|
-
credential: cred
|
|
79
|
-
});
|
|
80
|
-
return finish({
|
|
81
|
-
ok: false,
|
|
82
|
-
error: typeof err === "string" ? err : void 0
|
|
83
|
-
});
|
|
84
|
-
};
|
|
85
|
-
window.addEventListener("message", onMessage);
|
|
86
|
-
const envelope = {
|
|
87
|
-
type: kind,
|
|
88
|
-
requestId,
|
|
89
|
-
publicKey
|
|
90
|
-
};
|
|
91
|
-
window.parent?.postMessage(envelope, "*");
|
|
92
|
-
setTimeout(() => {
|
|
93
|
-
window.removeEventListener("message", onMessage);
|
|
94
|
-
finish({
|
|
95
|
-
ok: false,
|
|
96
|
-
timeout: true
|
|
97
|
-
});
|
|
98
|
-
}, timeoutMs);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
function clonePublicKeyOptions(kind, publicKey) {
|
|
103
|
-
return kind === "create" ? cloneCreationOptions(publicKey) : cloneRequestOptions(publicKey);
|
|
104
|
-
}
|
|
105
|
-
function cloneCreationOptions(publicKey) {
|
|
106
|
-
return {
|
|
107
|
-
...publicKey,
|
|
108
|
-
challenge: cloneBufferSource(publicKey.challenge),
|
|
109
|
-
user: {
|
|
110
|
-
...publicKey.user,
|
|
111
|
-
id: cloneBufferSource(publicKey.user.id)
|
|
112
|
-
},
|
|
113
|
-
excludeCredentials: publicKey.excludeCredentials?.map(cloneCredentialDescriptor),
|
|
114
|
-
extensions: cloneCredentialExtensions(publicKey.extensions)
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
function cloneRequestOptions(publicKey) {
|
|
118
|
-
return {
|
|
119
|
-
...publicKey,
|
|
120
|
-
challenge: cloneBufferSource(publicKey.challenge),
|
|
121
|
-
allowCredentials: publicKey.allowCredentials?.map(cloneCredentialDescriptor),
|
|
122
|
-
extensions: cloneCredentialExtensions(publicKey.extensions)
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
function cloneCredentialDescriptor(descriptor) {
|
|
126
|
-
return {
|
|
127
|
-
...descriptor,
|
|
128
|
-
id: cloneBufferSource(descriptor.id)
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
function cloneCredentialExtensions(extensions) {
|
|
132
|
-
if (!extensions) return extensions;
|
|
133
|
-
const cloned = { ...extensions };
|
|
134
|
-
const prf = cloned.prf;
|
|
135
|
-
if (prf && typeof prf === "object") {
|
|
136
|
-
const prfRecord = { ...prf };
|
|
137
|
-
if (prfRecord.eval && typeof prfRecord.eval === "object") prfRecord.eval = clonePrfEval(prfRecord.eval);
|
|
138
|
-
if (prfRecord.evalByCredential && typeof prfRecord.evalByCredential === "object") {
|
|
139
|
-
const evalByCredential = {};
|
|
140
|
-
for (const [credentialId, evalValue] of Object.entries(prfRecord.evalByCredential)) evalByCredential[credentialId] = evalValue && typeof evalValue === "object" ? clonePrfEval(evalValue) : evalValue;
|
|
141
|
-
prfRecord.evalByCredential = evalByCredential;
|
|
142
|
-
}
|
|
143
|
-
cloned.prf = prfRecord;
|
|
144
|
-
}
|
|
145
|
-
return cloned;
|
|
146
|
-
}
|
|
147
|
-
function clonePrfEval(input) {
|
|
148
|
-
return {
|
|
149
|
-
...input,
|
|
150
|
-
...isBufferSource(input.first) ? { first: cloneBufferSource(input.first) } : {},
|
|
151
|
-
...isBufferSource(input.second) ? { second: cloneBufferSource(input.second) } : {}
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
function isBufferSource(value) {
|
|
155
|
-
return value instanceof ArrayBuffer || ArrayBuffer.isView(value);
|
|
156
|
-
}
|
|
157
|
-
function cloneBufferSource(value) {
|
|
158
|
-
if (value instanceof ArrayBuffer) return value.slice(0);
|
|
159
|
-
const view = value;
|
|
160
|
-
const clonedBytes = new Uint8Array(view.buffer, view.byteOffset, view.byteLength).slice();
|
|
161
|
-
if (value instanceof DataView) return new DataView(clonedBytes.buffer);
|
|
162
|
-
const ViewCtor = Object.getPrototypeOf(value).constructor;
|
|
163
|
-
return new ViewCtor(clonedBytes.buffer);
|
|
164
|
-
}
|
|
165
|
-
function isAncestorOriginError(err) {
|
|
166
|
-
const msg = safeMessage(err);
|
|
167
|
-
return /origin of the document is not the same as its ancestors/i.test(msg);
|
|
168
|
-
}
|
|
169
|
-
function isDocumentNotFocusedError(err) {
|
|
170
|
-
const name = safeName(err);
|
|
171
|
-
const msg = safeMessage(err);
|
|
172
|
-
const isNotAllowed = name === "NotAllowedError";
|
|
173
|
-
const mentionsFocus = /document is not focused|not focused|focus/i.test(msg);
|
|
174
|
-
return Boolean(isNotAllowed && mentionsFocus);
|
|
175
|
-
}
|
|
176
|
-
function safeMessage(err) {
|
|
177
|
-
return String(err?.message || "");
|
|
178
|
-
}
|
|
179
|
-
function safeName(err) {
|
|
180
|
-
const name = err?.name;
|
|
181
|
-
return typeof name === "string" ? name : "";
|
|
182
|
-
}
|
|
183
|
-
//#endregion
|
|
184
|
-
//#region src/core/signingEngine/chains/tempo/feeToken.ts
|
|
185
|
-
const EVM_ADDRESS_RE = /^0x[0-9a-fA-F]{40}$/;
|
|
186
|
-
const ABI_WORD_HEX_LENGTH = 64;
|
|
187
|
-
const ABI_ADDRESS_WORD_OFFSET = 24;
|
|
188
|
-
/**
|
|
189
|
-
* Tempo fee manager predeploy contract.
|
|
190
|
-
* Ref: https://docs.tempo.xyz/evm/predeployed-contracts
|
|
191
|
-
*/
|
|
192
|
-
const TEMPO_FEE_MANAGER_CONTRACT = "0xfeec000000000000000000000000000000000000";
|
|
193
|
-
/**
|
|
194
|
-
* setUserToken(address) selector
|
|
195
|
-
*/
|
|
196
|
-
const TEMPO_SET_USER_TOKEN_SELECTOR = "0xe7897444";
|
|
197
|
-
/**
|
|
198
|
-
* userTokens(address) selector
|
|
199
|
-
*/
|
|
200
|
-
const TEMPO_USER_TOKENS_SELECTOR = "0xed498fa8";
|
|
201
|
-
const TEMPO_TOKEN_CURRENCY_SELECTOR = "0xe5a6b10f";
|
|
202
|
-
const TEMPO_FEE_MANAGER_ABI = [{
|
|
203
|
-
type: "function",
|
|
204
|
-
name: "setUserToken",
|
|
205
|
-
inputs: [{
|
|
206
|
-
name: "token",
|
|
207
|
-
type: "address"
|
|
208
|
-
}]
|
|
209
|
-
}];
|
|
210
|
-
function parseTempoEvmAddress(label, value) {
|
|
211
|
-
const normalized = String(value || "").trim();
|
|
212
|
-
if (!EVM_ADDRESS_RE.test(normalized)) throw new Error(`[tempo] invalid ${label}: expected 20-byte 0x-prefixed address`);
|
|
213
|
-
return normalized.toLowerCase();
|
|
214
|
-
}
|
|
215
|
-
function encodeTempoSetUserTokenCalldata(token) {
|
|
216
|
-
return `${TEMPO_SET_USER_TOKEN_SELECTOR}${parseTempoEvmAddress("fee token address", token).slice(2).toLowerCase().padStart(ABI_WORD_HEX_LENGTH, "0")}`;
|
|
217
|
-
}
|
|
218
|
-
function requireTempoFeeTokenPreferenceSigningRequest(args) {
|
|
219
|
-
const { request, chainTarget } = args;
|
|
220
|
-
if (request.chain !== "evm" || request.kind !== "eip1559" || request.senderSignatureAlgorithm !== "secp256k1") throw new Error("[tempo] fee-token request must use the EIP-1559 secp256k1 envelope");
|
|
221
|
-
if (request.tx.chainId !== chainTarget.chainId) throw new Error("[tempo] fee-token request chain id does not match the Tempo target");
|
|
222
|
-
if (request.tx.to?.toLowerCase() !== "0xfeec000000000000000000000000000000000000") throw new Error("[tempo] fee-token request must call the Tempo FeeManager");
|
|
223
|
-
if (request.tx.value !== 0n) throw new Error("[tempo] fee-token request must not transfer value");
|
|
224
|
-
const data = String(request.tx.data ?? "").toLowerCase();
|
|
225
|
-
const encodedToken = data.slice(10);
|
|
226
|
-
if (!data.startsWith("0xe7897444") || !/^0{24}[0-9a-f]{40}$/.test(encodedToken)) throw new Error("[tempo] fee-token request must call FeeManager.setUserToken(address)");
|
|
227
|
-
if (request.tx.accessList && request.tx.accessList.length !== 0) throw new Error("[tempo] fee-token request must not carry an access list");
|
|
228
|
-
const feeToken = parseTempoEvmAddress("fee token address", `0x${encodedToken.slice(24)}`);
|
|
229
|
-
return {
|
|
230
|
-
...request,
|
|
231
|
-
tx: {
|
|
232
|
-
...request.tx,
|
|
233
|
-
to: TEMPO_FEE_MANAGER_CONTRACT,
|
|
234
|
-
value: 0n,
|
|
235
|
-
data: encodeTempoSetUserTokenCalldata(feeToken)
|
|
236
|
-
}
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
function encodeTempoUserTokensCalldata(user) {
|
|
240
|
-
return `${TEMPO_USER_TOKENS_SELECTOR}${parseTempoEvmAddress("user address", user).slice(2).toLowerCase().padStart(ABI_WORD_HEX_LENGTH, "0")}`;
|
|
241
|
-
}
|
|
242
|
-
function decodeTempoUserTokenResult(resultHex) {
|
|
243
|
-
const normalized = String(resultHex || "").trim().toLowerCase();
|
|
244
|
-
if (!/^0x[0-9a-f]*$/.test(normalized)) throw new Error("[tempo] invalid userTokens(address) result: expected 0x-prefixed hex");
|
|
245
|
-
const hex = normalized.slice(2);
|
|
246
|
-
if (hex.length < ABI_WORD_HEX_LENGTH) throw new Error("[tempo] invalid userTokens(address) result: expected at least 32 bytes");
|
|
247
|
-
const addressHex = hex.slice(0, ABI_WORD_HEX_LENGTH).slice(ABI_ADDRESS_WORD_OFFSET);
|
|
248
|
-
if (!/^[0-9a-f]{40}$/.test(addressHex)) throw new Error("[tempo] invalid userTokens(address) result: malformed address word");
|
|
249
|
-
if (/^0+$/.test(addressHex)) return null;
|
|
250
|
-
return `0x${addressHex}`;
|
|
251
|
-
}
|
|
252
|
-
function buildTempoSetUserTokenCall(args) {
|
|
253
|
-
const token = parseTempoEvmAddress("fee token address", args.token);
|
|
254
|
-
return {
|
|
255
|
-
to: parseTempoEvmAddress("fee manager contract address", args.feeManager ?? "0xfeec000000000000000000000000000000000000"),
|
|
256
|
-
value: 0n,
|
|
257
|
-
input: encodeTempoSetUserTokenCalldata(token),
|
|
258
|
-
abi: TEMPO_FEE_MANAGER_ABI
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
|
-
function decodeAbiString(resultHex, label) {
|
|
262
|
-
const normalized = String(resultHex || "").trim().toLowerCase();
|
|
263
|
-
if (!/^0x[0-9a-f]+$/.test(normalized)) throw new Error(`[tempo] invalid ${label} result: expected 0x-prefixed hex`);
|
|
264
|
-
const hex = normalized.slice(2);
|
|
265
|
-
if (hex.length < ABI_WORD_HEX_LENGTH * 2) throw new Error(`[tempo] invalid ${label} result: missing ABI string header`);
|
|
266
|
-
const offset = Number(BigInt(`0x${hex.slice(0, ABI_WORD_HEX_LENGTH)}`));
|
|
267
|
-
if (!Number.isSafeInteger(offset)) throw new Error(`[tempo] invalid ${label} result: unsafe ABI offset`);
|
|
268
|
-
const lengthStart = offset * 2;
|
|
269
|
-
const lengthEnd = lengthStart + ABI_WORD_HEX_LENGTH;
|
|
270
|
-
if (lengthEnd > hex.length) throw new Error(`[tempo] invalid ${label} result: ABI offset out of bounds`);
|
|
271
|
-
const byteLength = Number(BigInt(`0x${hex.slice(lengthStart, lengthEnd)}`));
|
|
272
|
-
if (!Number.isSafeInteger(byteLength)) throw new Error(`[tempo] invalid ${label} result: unsafe ABI string length`);
|
|
273
|
-
const dataStart = lengthEnd;
|
|
274
|
-
if (dataStart + byteLength * 2 > hex.length) throw new Error(`[tempo] invalid ${label} result: ABI string out of bounds`);
|
|
275
|
-
const bytes = new Uint8Array(byteLength);
|
|
276
|
-
for (let index = 0; index < byteLength; index += 1) bytes[index] = Number.parseInt(hex.slice(dataStart + index * 2, dataStart + index * 2 + 2), 16);
|
|
277
|
-
return new TextDecoder().decode(bytes);
|
|
278
|
-
}
|
|
279
|
-
function decodeAbiBool(resultHex, label) {
|
|
280
|
-
const normalized = String(resultHex || "").trim().toLowerCase();
|
|
281
|
-
if (!/^0x[0-9a-f]{64}$/.test(normalized)) throw new Error(`[tempo] invalid ${label} result: expected one ABI word`);
|
|
282
|
-
const value = BigInt(normalized);
|
|
283
|
-
if (value !== 0n && value !== 1n) throw new Error(`[tempo] invalid ${label} result: expected boolean`);
|
|
284
|
-
return value === 1n;
|
|
285
|
-
}
|
|
286
|
-
async function callTempoContract(args) {
|
|
287
|
-
const result = await createEvmClient({
|
|
288
|
-
rpcUrl: args.rpcUrl,
|
|
289
|
-
...args.timeoutMs !== void 0 ? { requestTimeoutMs: args.timeoutMs } : {}
|
|
290
|
-
}).request({
|
|
291
|
-
method: "eth_call",
|
|
292
|
-
params: [{
|
|
293
|
-
to: args.to,
|
|
294
|
-
data: args.data
|
|
295
|
-
}, "latest"],
|
|
296
|
-
...args.timeoutMs !== void 0 ? { timeoutMs: args.timeoutMs } : {}
|
|
297
|
-
});
|
|
298
|
-
if (typeof result !== "string") throw new Error("[tempo] invalid eth_call response: expected a hex string");
|
|
299
|
-
return result;
|
|
300
|
-
}
|
|
301
|
-
async function readTempoFeeTokenPreference(args) {
|
|
302
|
-
const account = parseTempoEvmAddress("account address", args.account);
|
|
303
|
-
return decodeTempoUserTokenResult(await callTempoContract({
|
|
304
|
-
rpcUrl: args.rpcUrl,
|
|
305
|
-
to: TEMPO_FEE_MANAGER_CONTRACT,
|
|
306
|
-
data: encodeTempoUserTokensCalldata(account),
|
|
307
|
-
...args.timeoutMs !== void 0 ? { timeoutMs: args.timeoutMs } : {}
|
|
308
|
-
}));
|
|
309
|
-
}
|
|
310
|
-
async function validateTempoFeeToken(args) {
|
|
311
|
-
const feeToken = parseTempoEvmAddress("fee token address", args.feeToken);
|
|
312
|
-
const callArgs = {
|
|
313
|
-
rpcUrl: args.rpcUrl,
|
|
314
|
-
to: feeToken,
|
|
315
|
-
...args.timeoutMs !== void 0 ? { timeoutMs: args.timeoutMs } : {}
|
|
316
|
-
};
|
|
317
|
-
const currency = decodeAbiString(await callTempoContract({
|
|
318
|
-
...callArgs,
|
|
319
|
-
data: TEMPO_TOKEN_CURRENCY_SELECTOR
|
|
320
|
-
}), "currency()");
|
|
321
|
-
if (currency !== "USD") return {
|
|
322
|
-
kind: "invalid",
|
|
323
|
-
feeToken,
|
|
324
|
-
reason: "unsupported_currency",
|
|
325
|
-
currency
|
|
326
|
-
};
|
|
327
|
-
if (decodeAbiBool(await callTempoContract({
|
|
328
|
-
...callArgs,
|
|
329
|
-
data: "0x5c975abb"
|
|
330
|
-
}), "paused()")) return {
|
|
331
|
-
kind: "invalid",
|
|
332
|
-
feeToken,
|
|
333
|
-
reason: "paused",
|
|
334
|
-
currency: "USD"
|
|
335
|
-
};
|
|
336
|
-
return {
|
|
337
|
-
kind: "valid",
|
|
338
|
-
feeToken,
|
|
339
|
-
currency: "USD",
|
|
340
|
-
paused: false
|
|
341
|
-
};
|
|
342
|
-
}
|
|
343
|
-
function buildTempoSetUserTokenRequest(args) {
|
|
344
|
-
if (!Number.isSafeInteger(args.chainId) || args.chainId <= 0) throw new Error("[tempo] chainId must be a positive safe integer");
|
|
345
|
-
if (args.maxPriorityFeePerGas < 0n) throw new Error("[tempo] maxPriorityFeePerGas must be non-negative");
|
|
346
|
-
if (args.maxFeePerGas < args.maxPriorityFeePerGas) throw new Error("[tempo] maxFeePerGas must be at least maxPriorityFeePerGas");
|
|
347
|
-
if (args.gasLimit <= 0n) throw new Error("[tempo] gasLimit must be positive");
|
|
348
|
-
const call = buildTempoSetUserTokenCall({ token: args.feeToken });
|
|
349
|
-
return {
|
|
350
|
-
chain: "evm",
|
|
351
|
-
kind: "eip1559",
|
|
352
|
-
senderSignatureAlgorithm: "secp256k1",
|
|
353
|
-
tx: {
|
|
354
|
-
chainId: args.chainId,
|
|
355
|
-
maxPriorityFeePerGas: args.maxPriorityFeePerGas,
|
|
356
|
-
maxFeePerGas: args.maxFeePerGas,
|
|
357
|
-
gasLimit: args.gasLimit,
|
|
358
|
-
to: call.to,
|
|
359
|
-
value: 0n,
|
|
360
|
-
data: call.input ?? "0x",
|
|
361
|
-
abi: call.abi,
|
|
362
|
-
accessList: []
|
|
363
|
-
}
|
|
364
|
-
};
|
|
365
|
-
}
|
|
366
|
-
//#endregion
|
|
367
|
-
//#region src/theme/palette.json
|
|
368
|
-
var palette_default = {
|
|
369
|
-
grey: {
|
|
370
|
-
"25": "oklch(0.99 0.001 240)",
|
|
371
|
-
"50": "oklch(0.98 0.001 240)",
|
|
372
|
-
"75": "oklch(0.97 0.002 240)",
|
|
373
|
-
"100": "oklch(0.95 0.005 240)",
|
|
374
|
-
"150": "oklch(0.92 0.007 240)",
|
|
375
|
-
"200": "oklch(0.88 0.01 240)",
|
|
376
|
-
"250": "oklch(0.85 0.012 240)",
|
|
377
|
-
"300": "oklch(0.82 0.014 240)",
|
|
378
|
-
"350": "oklch(0.75 0.016 240)",
|
|
379
|
-
"400": "oklch(0.65 0.02 240)",
|
|
380
|
-
"450": "oklch(0.6 0.021 240)",
|
|
381
|
-
"500": "oklch(0.53 0.02 240)",
|
|
382
|
-
"550": "oklch(0.48 0.02 240)",
|
|
383
|
-
"600": "oklch(0.4 0.02 240)",
|
|
384
|
-
"650": "oklch(0.35 0.018 240)",
|
|
385
|
-
"700": "oklch(0.3 0.015 240)",
|
|
386
|
-
"750": "oklch(0.25 0.012 240)",
|
|
387
|
-
"800": "oklch(0.2 0.01 240)",
|
|
388
|
-
"825": "oklch(0.17 0.009 240)",
|
|
389
|
-
"850": "oklch(0.15 0.008 240)",
|
|
390
|
-
"900": "oklch(0.1 0.005 240)",
|
|
391
|
-
"950": "oklch(0.05 0.002 240)",
|
|
392
|
-
"975": "oklch(0.025 0.001 240)"
|
|
393
|
-
},
|
|
394
|
-
slate: {
|
|
395
|
-
"25": "oklch(0.99 0.003 240)",
|
|
396
|
-
"50": "oklch(0.98 0.005 240)",
|
|
397
|
-
"75": "oklch(0.965 0.007 240)",
|
|
398
|
-
"100": "oklch(0.95 0.01 240)",
|
|
399
|
-
"150": "oklch(0.915 0.0125 240)",
|
|
400
|
-
"200": "oklch(0.88 0.015 240)",
|
|
401
|
-
"250": "oklch(0.84 0.0175 240)",
|
|
402
|
-
"300": "oklch(0.8 0.02 240)",
|
|
403
|
-
"350": "oklch(0.725 0.0225 240)",
|
|
404
|
-
"400": "oklch(0.65 0.025 240)",
|
|
405
|
-
"450": "oklch(0.59 0.0275 240)",
|
|
406
|
-
"500": "oklch(0.53 0.03 240)",
|
|
407
|
-
"550": "oklch(0.465 0.0275 240)",
|
|
408
|
-
"600": "oklch(0.4 0.025 240)",
|
|
409
|
-
"650": "oklch(0.35 0.0225 240)",
|
|
410
|
-
"700": "oklch(0.3 0.02 240)",
|
|
411
|
-
"750": "oklch(0.25 0.0175 240)",
|
|
412
|
-
"800": "oklch(0.2 0.015 240)",
|
|
413
|
-
"825": "oklch(0.175 0.015 240)",
|
|
414
|
-
"850": "oklch(0.15 0.0125 240)",
|
|
415
|
-
"900": "oklch(0.1 0.01 240)"
|
|
416
|
-
},
|
|
417
|
-
yellow: {
|
|
418
|
-
"50": "oklch(0.97 0.050 95)",
|
|
419
|
-
"100": "oklch(0.95 0.070 95)",
|
|
420
|
-
"150": "oklch(0.93 0.082 95)",
|
|
421
|
-
"200": "oklch(0.90 0.094 95)",
|
|
422
|
-
"250": "oklch(0.87 0.108 95)",
|
|
423
|
-
"300": "oklch(0.82 0.140 95)",
|
|
424
|
-
"350": "oklch(0.78 0.160 95)",
|
|
425
|
-
"400": "oklch(0.74 0.176 95)",
|
|
426
|
-
"450": "oklch(0.70 0.184 95)",
|
|
427
|
-
"500": "oklch(0.66 0.188 95)",
|
|
428
|
-
"550": "oklch(0.62 0.182 95)",
|
|
429
|
-
"600": "oklch(0.56 0.160 95)",
|
|
430
|
-
"650": "oklch(0.52 0.138 95)",
|
|
431
|
-
"700": "oklch(0.46 0.106 95)",
|
|
432
|
-
"750": "oklch(0.42 0.086 95)",
|
|
433
|
-
"800": "oklch(0.36 0.062 95)",
|
|
434
|
-
"850": "oklch(0.32 0.052 95)",
|
|
435
|
-
"900": "oklch(0.26 0.044 95)",
|
|
436
|
-
"950": "oklch(0.22 0.036 95)"
|
|
437
|
-
},
|
|
438
|
-
blue: {
|
|
439
|
-
"50": "oklch(0.97 0.040 255)",
|
|
440
|
-
"100": "oklch(0.95 0.062 255)",
|
|
441
|
-
"150": "oklch(0.93 0.074 255)",
|
|
442
|
-
"200": "oklch(0.90 0.086 255)",
|
|
443
|
-
"250": "oklch(0.87 0.100 255)",
|
|
444
|
-
"300": "oklch(0.82 0.130 255)",
|
|
445
|
-
"350": "oklch(0.78 0.150 255)",
|
|
446
|
-
"400": "oklch(0.74 0.166 255)",
|
|
447
|
-
"450": "oklch(0.70 0.174 255)",
|
|
448
|
-
"500": "oklch(0.66 0.180 255)",
|
|
449
|
-
"550": "oklch(0.62 0.176 255)",
|
|
450
|
-
"600": "oklch(0.56 0.158 255)",
|
|
451
|
-
"650": "oklch(0.52 0.138 255)",
|
|
452
|
-
"700": "oklch(0.46 0.108 255)",
|
|
453
|
-
"750": "oklch(0.42 0.088 255)",
|
|
454
|
-
"800": "oklch(0.36 0.065 255)",
|
|
455
|
-
"850": "oklch(0.32 0.056 255)",
|
|
456
|
-
"900": "oklch(0.26 0.050 255)",
|
|
457
|
-
"950": "oklch(0.22 0.040 255)"
|
|
458
|
-
},
|
|
459
|
-
red: {
|
|
460
|
-
"50": "oklch(0.97 0.040 19)",
|
|
461
|
-
"100": "oklch(0.95 0.060 19)",
|
|
462
|
-
"150": "oklch(0.93 0.072 19)",
|
|
463
|
-
"200": "oklch(0.90 0.086 19)",
|
|
464
|
-
"250": "oklch(0.87 0.100 19)",
|
|
465
|
-
"300": "oklch(0.82 0.130 19)",
|
|
466
|
-
"350": "oklch(0.78 0.150 19)",
|
|
467
|
-
"400": "oklch(0.74 0.166 19)",
|
|
468
|
-
"450": "oklch(0.70 0.174 19)",
|
|
469
|
-
"500": "oklch(0.66 0.180 19)",
|
|
470
|
-
"550": "oklch(0.62 0.176 19)",
|
|
471
|
-
"600": "oklch(0.56 0.158 19)",
|
|
472
|
-
"650": "oklch(0.52 0.138 19)",
|
|
473
|
-
"700": "oklch(0.46 0.108 19)",
|
|
474
|
-
"750": "oklch(0.42 0.088 19)",
|
|
475
|
-
"800": "oklch(0.36 0.065 19)",
|
|
476
|
-
"850": "oklch(0.32 0.056 19)",
|
|
477
|
-
"900": "oklch(0.26 0.050 19)",
|
|
478
|
-
"950": "oklch(0.22 0.040 19)"
|
|
479
|
-
},
|
|
480
|
-
orange: {
|
|
481
|
-
"100": "oklch(0.82 0.08 52)",
|
|
482
|
-
"200": "oklch(0.8 0.1 55)",
|
|
483
|
-
"300": "oklch(0.75 0.12 58)",
|
|
484
|
-
"400": "oklch(0.7 0.14 60)",
|
|
485
|
-
"500": "oklch(0.65 0.13 62)",
|
|
486
|
-
"600": "oklch(0.6 0.12 65)",
|
|
487
|
-
"700": "oklch(0.55 0.11 68)",
|
|
488
|
-
"800": "oklch(0.5 0.1 70)",
|
|
489
|
-
"900": "oklch(0.45 0.09 72)"
|
|
490
|
-
},
|
|
491
|
-
violet: {
|
|
492
|
-
"100": "oklch(0.80 0.08 308)",
|
|
493
|
-
"200": "oklch(0.75 0.1 305)",
|
|
494
|
-
"300": "oklch(0.72 0.12 302)",
|
|
495
|
-
"400": "oklch(0.68 0.14 300)",
|
|
496
|
-
"500": "oklch(0.65 0.15 298)",
|
|
497
|
-
"600": "oklch(0.6 0.14 295)",
|
|
498
|
-
"700": "oklch(0.55 0.13 292)",
|
|
499
|
-
"800": "oklch(0.5 0.12 290)",
|
|
500
|
-
"900": "oklch(0.45 0.11 288)"
|
|
501
|
-
},
|
|
502
|
-
green: {
|
|
503
|
-
"50": "oklch(0.97 0.040 170)",
|
|
504
|
-
"100": "oklch(0.95 0.062 170)",
|
|
505
|
-
"150": "oklch(0.93 0.074 170)",
|
|
506
|
-
"200": "oklch(0.90 0.086 170)",
|
|
507
|
-
"250": "oklch(0.87 0.100 170)",
|
|
508
|
-
"300": "oklch(0.82 0.130 170)",
|
|
509
|
-
"350": "oklch(0.78 0.150 170)",
|
|
510
|
-
"400": "oklch(0.74 0.166 170)",
|
|
511
|
-
"450": "oklch(0.70 0.174 170)",
|
|
512
|
-
"500": "oklch(0.66 0.180 170)",
|
|
513
|
-
"550": "oklch(0.62 0.176 170)",
|
|
514
|
-
"600": "oklch(0.56 0.158 170)",
|
|
515
|
-
"650": "oklch(0.52 0.138 170)",
|
|
516
|
-
"700": "oklch(0.46 0.108 170)",
|
|
517
|
-
"750": "oklch(0.42 0.088 170)",
|
|
518
|
-
"800": "oklch(0.36 0.065 170)",
|
|
519
|
-
"850": "oklch(0.32 0.056 170)",
|
|
520
|
-
"900": "oklch(0.26 0.050 170)",
|
|
521
|
-
"950": "oklch(0.22 0.040 170)"
|
|
522
|
-
},
|
|
523
|
-
gradients: {
|
|
524
|
-
"blue": "linear-gradient(45deg, oklch(0.82 0.130 255) 0%, oklch(0.66 0.180 255) 50%)",
|
|
525
|
-
"red": "linear-gradient(45deg, oklch(0.82 0.130 19) 0%, oklch(0.66 0.180 19) 50%)",
|
|
526
|
-
"green": "linear-gradient(45deg, oklch(0.82 0.130 170) 0%, oklch(0.66 0.180 170) 50%)",
|
|
527
|
-
"black": "linear-gradient(45deg, oklch(0.53 0.03 240) 0%, oklch(0.2 0.015 240) 50%)",
|
|
528
|
-
"blueWhite": "linear-gradient(90deg, hsla(213, 62%, 45%, 1) 0%, hsla(203, 89%, 71%, 1) 50%, hsla(0, 0%, 96%, 1) 100%)",
|
|
529
|
-
"sage": "linear-gradient(160deg, #919690 0%, #c7d0cf 100%)",
|
|
530
|
-
"sageDeep": "linear-gradient(160deg, #004737 0%, #919690 100%)"
|
|
531
|
-
}
|
|
532
|
-
};
|
|
533
|
-
//#endregion
|
|
534
|
-
//#region src/theme/base-styles.js
|
|
535
|
-
function createThemeTokens(palette) {
|
|
536
|
-
const CHROMA_COLORS = {
|
|
537
|
-
...fromScale("yellow", palette.yellow),
|
|
538
|
-
...fromScale("blue", palette.blue),
|
|
539
|
-
...fromScale("red", palette.red),
|
|
540
|
-
...fromScale("orange", palette.orange),
|
|
541
|
-
...fromScale("violet", palette.violet),
|
|
542
|
-
...fromScale("green", palette.green)
|
|
543
|
-
};
|
|
544
|
-
const GREY_COLORS = {
|
|
545
|
-
...fromScale("grey", palette.grey),
|
|
546
|
-
...fromScale("slate", palette.slate)
|
|
547
|
-
};
|
|
548
|
-
const GRADIENTS = {
|
|
549
|
-
blue: palette.gradients?.blue,
|
|
550
|
-
red: palette.gradients?.red,
|
|
551
|
-
green: palette.gradients?.green,
|
|
552
|
-
black: palette.gradients?.black,
|
|
553
|
-
blueWhite: palette.gradients?.blueWhite,
|
|
554
|
-
sage: palette.gradients?.sage,
|
|
555
|
-
sageDeep: palette.gradients?.sageDeep
|
|
556
|
-
};
|
|
557
|
-
return {
|
|
558
|
-
CHROMA_COLORS,
|
|
559
|
-
GREY_COLORS,
|
|
560
|
-
GRADIENTS,
|
|
561
|
-
DARK_THEME: {
|
|
562
|
-
...GREY_COLORS,
|
|
563
|
-
...CHROMA_COLORS,
|
|
564
|
-
textPrimary: GREY_COLORS.grey75,
|
|
565
|
-
textSecondary: GREY_COLORS.grey500,
|
|
566
|
-
textMuted: GREY_COLORS.grey650,
|
|
567
|
-
textButton: GREY_COLORS.grey75,
|
|
568
|
-
colorBackground: GREY_COLORS.grey800,
|
|
569
|
-
surface: GREY_COLORS.slate700,
|
|
570
|
-
surface2: GREY_COLORS.slate750,
|
|
571
|
-
txDetailsBackground: GREY_COLORS.slate750,
|
|
572
|
-
surface3: GREY_COLORS.slate800,
|
|
573
|
-
surface4: GREY_COLORS.slate825,
|
|
574
|
-
primary: CHROMA_COLORS.blue650,
|
|
575
|
-
primaryHover: CHROMA_COLORS.blue600,
|
|
576
|
-
secondary: CHROMA_COLORS.violet600,
|
|
577
|
-
secondaryHover: CHROMA_COLORS.violet500,
|
|
578
|
-
accent: CHROMA_COLORS.green400,
|
|
579
|
-
buttonBackground: CHROMA_COLORS.blue500,
|
|
580
|
-
buttonHoverBackground: CHROMA_COLORS.blue450,
|
|
581
|
-
hover: GREY_COLORS.grey850,
|
|
582
|
-
active: GREY_COLORS.grey650,
|
|
583
|
-
focus: CHROMA_COLORS.blue400,
|
|
584
|
-
success: CHROMA_COLORS.blue400,
|
|
585
|
-
warning: (palette.yellow || {})["400"],
|
|
586
|
-
error: CHROMA_COLORS.red400,
|
|
587
|
-
info: CHROMA_COLORS.blue400,
|
|
588
|
-
borderPrimary: GREY_COLORS.grey650,
|
|
589
|
-
borderSecondary: GREY_COLORS.slate650,
|
|
590
|
-
borderHover: GREY_COLORS.grey600,
|
|
591
|
-
gradientPrimary: GRADIENTS.blue,
|
|
592
|
-
gradientSecondary: GRADIENTS.blueWhite,
|
|
593
|
-
gradientTertiary: GRADIENTS.black,
|
|
594
|
-
highlightPrimary: CHROMA_COLORS.blue400,
|
|
595
|
-
highlightHalo: CHROMA_COLORS.blue400,
|
|
596
|
-
highlightReceiver: CHROMA_COLORS.blue400,
|
|
597
|
-
highlightMethodName: CHROMA_COLORS.blue400,
|
|
598
|
-
highlightAmount: CHROMA_COLORS.blue400
|
|
599
|
-
},
|
|
600
|
-
LIGHT_THEME: {
|
|
601
|
-
...GREY_COLORS,
|
|
602
|
-
...CHROMA_COLORS,
|
|
603
|
-
textPrimary: GREY_COLORS.grey650,
|
|
604
|
-
textSecondary: GREY_COLORS.grey500,
|
|
605
|
-
textMuted: GREY_COLORS.grey350,
|
|
606
|
-
textButton: GREY_COLORS.grey75,
|
|
607
|
-
colorBackground: GREY_COLORS.grey50,
|
|
608
|
-
surface: GREY_COLORS.slate100,
|
|
609
|
-
surface2: GREY_COLORS.slate150,
|
|
610
|
-
txDetailsBackground: "#f8f8f7",
|
|
611
|
-
surface3: GREY_COLORS.slate200,
|
|
612
|
-
surface4: GREY_COLORS.slate250,
|
|
613
|
-
primary: CHROMA_COLORS.blue600,
|
|
614
|
-
primaryHover: CHROMA_COLORS.blue500,
|
|
615
|
-
secondary: CHROMA_COLORS.violet600,
|
|
616
|
-
secondaryHover: CHROMA_COLORS.violet500,
|
|
617
|
-
accent: CHROMA_COLORS.green400,
|
|
618
|
-
buttonBackground: CHROMA_COLORS.blue500,
|
|
619
|
-
buttonHoverBackground: CHROMA_COLORS.blue450,
|
|
620
|
-
hover: GREY_COLORS.grey100,
|
|
621
|
-
active: GREY_COLORS.grey200,
|
|
622
|
-
focus: CHROMA_COLORS.blue400,
|
|
623
|
-
success: CHROMA_COLORS.blue500,
|
|
624
|
-
warning: (palette.yellow || {})["500"],
|
|
625
|
-
error: CHROMA_COLORS.red500,
|
|
626
|
-
info: CHROMA_COLORS.blue400,
|
|
627
|
-
borderPrimary: GREY_COLORS.slate300,
|
|
628
|
-
borderSecondary: GREY_COLORS.grey300,
|
|
629
|
-
borderHover: GREY_COLORS.slate350,
|
|
630
|
-
gradientPrimary: GRADIENTS.blue,
|
|
631
|
-
gradientSecondary: GRADIENTS.blueWhite,
|
|
632
|
-
gradientTertiary: GRADIENTS.black,
|
|
633
|
-
highlightPrimary: CHROMA_COLORS.blue300,
|
|
634
|
-
highlightHalo: CHROMA_COLORS.blue350,
|
|
635
|
-
highlightReceiver: CHROMA_COLORS.blue500,
|
|
636
|
-
highlightMethodName: CHROMA_COLORS.blue500,
|
|
637
|
-
highlightAmount: CHROMA_COLORS.blue500
|
|
638
|
-
}
|
|
639
|
-
};
|
|
640
|
-
}
|
|
641
|
-
const fromScale = (prefix, scale) => {
|
|
642
|
-
if (!scale) return {};
|
|
643
|
-
const out = {};
|
|
644
|
-
for (const k of Object.keys(scale)) out[`${prefix}${k}`] = scale[k];
|
|
645
|
-
return out;
|
|
646
|
-
};
|
|
647
|
-
//#endregion
|
|
648
|
-
//#region src/base-styles.ts
|
|
649
|
-
const built = createThemeTokens(palette_default);
|
|
650
|
-
built.CHROMA_COLORS;
|
|
651
|
-
built.GREY_COLORS;
|
|
652
|
-
built.GRADIENTS;
|
|
653
|
-
const DARK_THEME = built.DARK_THEME;
|
|
654
|
-
const LIGHT_THEME = built.LIGHT_THEME;
|
|
655
|
-
const WALLET_IFRAME_SURFACE_MIN_COMPACT_WIDTH_CSS_PX = 280;
|
|
656
|
-
const WALLET_IFRAME_SURFACE_MIN_COMPACT_HEIGHT_CSS_PX = 280;
|
|
657
|
-
const WALLET_IFRAME_SURFACE_MAX_MODAL_WIDTH_CSS_PX = 560;
|
|
658
|
-
function isWalletIframeModalGeometry(geometry) {
|
|
659
|
-
return geometry.kind === "provisional_centered_modal" || geometry.kind === "centered_modal" || geometry.kind === "viewport_fallback";
|
|
660
|
-
}
|
|
661
|
-
function isFinitePositive(value) {
|
|
662
|
-
return typeof value === "number" && Number.isFinite(value) && value > 0;
|
|
663
|
-
}
|
|
664
|
-
function isFiniteNumber(value) {
|
|
665
|
-
return typeof value === "number" && Number.isFinite(value);
|
|
666
|
-
}
|
|
667
|
-
function roundCssPx(value) {
|
|
668
|
-
return Math.max(0, Math.round(value));
|
|
669
|
-
}
|
|
670
|
-
function roundSignedCssPx(value) {
|
|
671
|
-
return Math.round(value);
|
|
672
|
-
}
|
|
673
|
-
function clamp(value, min, max) {
|
|
674
|
-
return Math.min(Math.max(value, min), max);
|
|
675
|
-
}
|
|
676
|
-
function normalizedViewport(viewport) {
|
|
677
|
-
if (!isFinitePositive(viewport.widthCssPx) || !isFinitePositive(viewport.heightCssPx) || !isFiniteNumber(viewport.offsetLeftCssPx) || !isFiniteNumber(viewport.offsetTopCssPx)) throw new Error("Wallet iframe surface viewport is invalid");
|
|
678
|
-
return {
|
|
679
|
-
widthCssPx: viewport.widthCssPx,
|
|
680
|
-
heightCssPx: viewport.heightCssPx,
|
|
681
|
-
offsetLeftCssPx: viewport.offsetLeftCssPx,
|
|
682
|
-
offsetTopCssPx: viewport.offsetTopCssPx
|
|
683
|
-
};
|
|
684
|
-
}
|
|
685
|
-
function fallbackGeometry(viewport, reason) {
|
|
686
|
-
const widthCssPx = Math.max(1, viewport.widthCssPx - 32);
|
|
687
|
-
const heightCssPx = Math.max(1, viewport.heightCssPx - 32);
|
|
688
|
-
return {
|
|
689
|
-
kind: "viewport_fallback",
|
|
690
|
-
reason,
|
|
691
|
-
widthCssPx: roundCssPx(widthCssPx),
|
|
692
|
-
heightCssPx: roundCssPx(heightCssPx),
|
|
693
|
-
topCssPx: roundCssPx(viewport.offsetTopCssPx + 16),
|
|
694
|
-
leftCssPx: roundCssPx(viewport.offsetLeftCssPx + 16)
|
|
695
|
-
};
|
|
696
|
-
}
|
|
697
|
-
function viewportCannotFitCompactSurface(viewport) {
|
|
698
|
-
return viewport.widthCssPx - 32 < WALLET_IFRAME_SURFACE_MIN_COMPACT_WIDTH_CSS_PX || viewport.heightCssPx - 32 < WALLET_IFRAME_SURFACE_MIN_COMPACT_HEIGHT_CSS_PX;
|
|
699
|
-
}
|
|
700
|
-
function centeredGeometry(viewport, widthCssPx, heightCssPx, kind) {
|
|
701
|
-
return {
|
|
702
|
-
kind,
|
|
703
|
-
widthCssPx: roundCssPx(widthCssPx),
|
|
704
|
-
heightCssPx: roundCssPx(heightCssPx),
|
|
705
|
-
topCssPx: roundCssPx(viewport.offsetTopCssPx + (viewport.heightCssPx - heightCssPx) / 2),
|
|
706
|
-
leftCssPx: roundCssPx(viewport.offsetLeftCssPx + (viewport.widthCssPx - widthCssPx) / 2)
|
|
707
|
-
};
|
|
708
|
-
}
|
|
709
|
-
function anchorWalletIframeModalGeometry(geometry, anchor) {
|
|
710
|
-
if (geometry.kind === "viewport_fallback") return geometry;
|
|
711
|
-
if (!isFiniteNumber(anchor.topCssPx) || !isFiniteNumber(anchor.leftCssPx) || !isFinitePositive(anchor.widthCssPx) || !isFinitePositive(anchor.heightCssPx)) return geometry;
|
|
712
|
-
return {
|
|
713
|
-
kind: geometry.kind,
|
|
714
|
-
widthCssPx: roundCssPx(anchor.widthCssPx),
|
|
715
|
-
heightCssPx: roundCssPx(geometry.heightCssPx),
|
|
716
|
-
leftCssPx: roundSignedCssPx(anchor.leftCssPx),
|
|
717
|
-
topCssPx: roundSignedCssPx(anchor.topCssPx)
|
|
718
|
-
};
|
|
719
|
-
}
|
|
720
|
-
function fullViewportDrawerGeometry(viewport, kind) {
|
|
721
|
-
return {
|
|
722
|
-
kind,
|
|
723
|
-
edge: "bottom",
|
|
724
|
-
widthCssPx: roundCssPx(viewport.widthCssPx),
|
|
725
|
-
heightCssPx: roundCssPx(viewport.heightCssPx),
|
|
726
|
-
topCssPx: roundSignedCssPx(viewport.offsetTopCssPx),
|
|
727
|
-
leftCssPx: roundSignedCssPx(viewport.offsetLeftCssPx)
|
|
728
|
-
};
|
|
729
|
-
}
|
|
730
|
-
function isDrawerPresentation(presentation) {
|
|
731
|
-
return presentation.kind === "drawer";
|
|
732
|
-
}
|
|
733
|
-
function provisionalWalletIframeSurfaceGeometry(presentation, viewportInput, maxModalWidthCssPx = WALLET_IFRAME_SURFACE_MAX_MODAL_WIDTH_CSS_PX) {
|
|
734
|
-
const viewport = normalizedViewport(viewportInput);
|
|
735
|
-
if (isDrawerPresentation(presentation)) return fullViewportDrawerGeometry(viewport, "provisional_bottom_drawer");
|
|
736
|
-
if (viewportCannotFitCompactSurface(viewport)) return fallbackGeometry(viewport, "small_visual_viewport");
|
|
737
|
-
const availableWidth = viewport.widthCssPx - 32;
|
|
738
|
-
const availableHeight = viewport.heightCssPx - 32;
|
|
739
|
-
return centeredGeometry(viewport, clamp(maxModalWidthCssPx, WALLET_IFRAME_SURFACE_MIN_COMPACT_WIDTH_CSS_PX, Math.min(maxModalWidthCssPx, availableWidth)), Math.min(320, availableHeight), "provisional_centered_modal");
|
|
740
|
-
}
|
|
741
|
-
function measuredWalletIframeSurfaceGeometry(presentation, viewportInput, measurement, maxModalWidthCssPx = WALLET_IFRAME_SURFACE_MAX_MODAL_WIDTH_CSS_PX) {
|
|
742
|
-
const viewport = normalizedViewport(viewportInput);
|
|
743
|
-
if (isDrawerPresentation(presentation)) return fullViewportDrawerGeometry(viewport, "bottom_drawer");
|
|
744
|
-
if (!isFinitePositive(measurement.widthCssPx) || !isFinitePositive(measurement.heightCssPx)) throw new Error("Wallet iframe surface measurement is invalid");
|
|
745
|
-
if (viewportCannotFitCompactSurface(viewport)) return fallbackGeometry(viewport, "small_visual_viewport");
|
|
746
|
-
const availableWidth = viewport.widthCssPx - 32;
|
|
747
|
-
const availableHeight = viewport.heightCssPx - 32;
|
|
748
|
-
return centeredGeometry(viewport, clamp(measurement.widthCssPx, WALLET_IFRAME_SURFACE_MIN_COMPACT_WIDTH_CSS_PX, Math.min(maxModalWidthCssPx, availableWidth)), clamp(measurement.heightCssPx, 1, availableHeight), "centered_modal");
|
|
749
|
-
}
|
|
750
|
-
function resolveWalletIframeSurfaceGeometry(args) {
|
|
751
|
-
const measurement = args.measurement;
|
|
752
|
-
if (!measurement) return provisionalWalletIframeSurfaceGeometry(args.presentation, args.viewport, args.maxModalWidthCssPx);
|
|
753
|
-
switch (measurement.kind) {
|
|
754
|
-
case "pending": return provisionalWalletIframeSurfaceGeometry(args.presentation, args.viewport, args.maxModalWidthCssPx);
|
|
755
|
-
case "measured": return measuredWalletIframeSurfaceGeometry(args.presentation, args.viewport, measurement, args.maxModalWidthCssPx);
|
|
756
|
-
case "unavailable": {
|
|
757
|
-
const viewport = normalizedViewport(args.viewport);
|
|
758
|
-
if (isDrawerPresentation(args.presentation)) return fullViewportDrawerGeometry(viewport, "bottom_drawer");
|
|
759
|
-
return viewportCannotFitCompactSurface(viewport) ? fallbackGeometry(viewport, "small_visual_viewport") : fallbackGeometry(viewport, "measurement_unavailable");
|
|
760
|
-
}
|
|
761
|
-
default: {
|
|
762
|
-
const exhaustive = measurement;
|
|
763
|
-
throw new Error(`Unhandled wallet iframe surface measurement state: ${String(exhaustive)}`);
|
|
764
|
-
}
|
|
765
|
-
}
|
|
766
|
-
}
|
|
767
|
-
function walletIframeSurfaceGeometryEqual(left, right, epsilonCssPx = 1) {
|
|
768
|
-
if (left.kind !== right.kind) return false;
|
|
769
|
-
if (left.kind === "hidden" && right.kind === "hidden") return true;
|
|
770
|
-
if (left.kind === "hidden" || right.kind === "hidden") return false;
|
|
771
|
-
if ("reason" in left || "reason" in right) {
|
|
772
|
-
if (!("reason" in left) || !("reason" in right) || left.reason !== right.reason) return false;
|
|
773
|
-
}
|
|
774
|
-
if ("edge" in left || "edge" in right) {
|
|
775
|
-
if (!("edge" in left) || !("edge" in right) || left.edge !== right.edge) return false;
|
|
776
|
-
}
|
|
777
|
-
return Math.abs(left.widthCssPx - right.widthCssPx) < epsilonCssPx && Math.abs(left.heightCssPx - right.heightCssPx) < epsilonCssPx && Math.abs(left.topCssPx - right.topCssPx) < epsilonCssPx && Math.abs(left.leftCssPx - right.leftCssPx) < epsilonCssPx;
|
|
778
|
-
}
|
|
779
|
-
//#endregion
|
|
780
|
-
//#region src/SeamsWeb/walletIframe/client/overlay/overlay-styles.ts
|
|
781
|
-
/**
|
|
782
|
-
* CSP-safe styles for the host-owned wallet iframe dialog.
|
|
783
|
-
*
|
|
784
|
-
* Geometry is applied through the CSP stylesheet manager rather than style
|
|
785
|
-
* attributes. The iframe keeps its historical marker class because the
|
|
786
|
-
* transport uses it to remove stale instances from the same origin.
|
|
787
|
-
*/
|
|
788
|
-
const CLASS_BASE = "seams-wallet-overlay";
|
|
789
|
-
const CLASS_DIALOG = "seams-wallet-overlay-dialog";
|
|
790
|
-
const CLASS_INLINE_DIALOG = "seams-wallet-inline-dialog";
|
|
791
|
-
const CLASS_IFRAME = "seams-wallet-overlay-iframe";
|
|
792
|
-
const CLASS_HIDDEN = "is-hidden";
|
|
793
|
-
const CLASS_MODAL = "is-modal";
|
|
794
|
-
const CLASS_DRAWER = "is-drawer";
|
|
795
|
-
const CLASS_FALLBACK = "is-viewport-fallback";
|
|
796
|
-
const CLASS_PROVISIONAL = "is-provisional";
|
|
797
|
-
const CLASS_AUTH_MENU = "is-auth-menu";
|
|
798
|
-
const CLASS_HAS_GEOMETRY = "has-geometry";
|
|
799
|
-
const CLASS_RESIZE_ANIMATED = "is-resize-animated";
|
|
800
|
-
const CLASS_REVEAL_PENDING = "is-reveal-pending";
|
|
801
|
-
const DIALOG_ID_PREFIX = "seams-wallet-overlay-dialog-";
|
|
802
|
-
const BASE_CSS = `
|
|
803
|
-
.seams-transaction-review-slot {
|
|
804
|
-
position: absolute;
|
|
805
|
-
inset: 0;
|
|
806
|
-
overflow: auto;
|
|
807
|
-
overscroll-behavior: none;
|
|
808
|
-
scrollbar-width: none;
|
|
809
|
-
box-sizing: border-box;
|
|
810
|
-
color: var(--seams-colors-textPrimary);
|
|
811
|
-
}
|
|
812
|
-
.seams-transaction-review-slot[hidden] { display: none; }
|
|
813
|
-
.seams-transaction-review-slot::-webkit-scrollbar { display: none; }
|
|
814
|
-
.seams-review-wallet-inactive { opacity: 0; pointer-events: none; }
|
|
815
|
-
.seams-transaction-review-content { padding: 0.75rem; box-sizing: border-box; overflow-wrap: anywhere; }
|
|
816
|
-
.seams-transaction-review-content button { font: inherit; }
|
|
817
|
-
dialog.${CLASS_DIALOG}[data-transaction-review]::backdrop { background: rgb(0 0 0 / 0.26); }
|
|
818
|
-
.seams-transaction-review-content h2 { margin-top: 0; }
|
|
819
|
-
|
|
820
|
-
dialog.${CLASS_DIALOG} {
|
|
821
|
-
position: fixed;
|
|
822
|
-
display: block;
|
|
823
|
-
inset: auto;
|
|
824
|
-
top: auto;
|
|
825
|
-
left: auto;
|
|
826
|
-
right: auto;
|
|
827
|
-
bottom: auto;
|
|
828
|
-
margin: 0;
|
|
829
|
-
padding: 0;
|
|
830
|
-
border: 0;
|
|
831
|
-
overflow: visible;
|
|
832
|
-
max-width: none;
|
|
833
|
-
max-height: none;
|
|
834
|
-
background: transparent;
|
|
835
|
-
color-scheme: normal;
|
|
836
|
-
box-sizing: border-box;
|
|
837
|
-
--seams-wallet-overlay-safe-top: env(safe-area-inset-top, 0px);
|
|
838
|
-
--seams-wallet-overlay-safe-right: env(safe-area-inset-right, 0px);
|
|
839
|
-
--seams-wallet-overlay-safe-bottom: env(safe-area-inset-bottom, 0px);
|
|
840
|
-
--seams-wallet-overlay-safe-left: env(safe-area-inset-left, 0px);
|
|
841
|
-
z-index: var(--seams-wallet-overlay-z, 2147483646);
|
|
842
|
-
}
|
|
843
|
-
/* A dialog with no geometry rule would otherwise fall back to its static
|
|
844
|
-
position — the top-left of <body> — which is never right for an overlay.
|
|
845
|
-
Any surface that reaches the DOM before (or without) a measured rect gets
|
|
846
|
-
centred with the standard elevation instead of stranded in the corner.
|
|
847
|
-
Scoped to :not(.has-geometry) so a positioned surface is untouched. */
|
|
848
|
-
dialog.${CLASS_DIALOG}:not(.${CLASS_HAS_GEOMETRY}) {
|
|
849
|
-
top: 50%;
|
|
850
|
-
left: 50%;
|
|
851
|
-
translate: -50% -50%;
|
|
852
|
-
filter:
|
|
853
|
-
drop-shadow(0 12px 24px rgb(0 0 0 / 0.22))
|
|
854
|
-
drop-shadow(0 2px 8px rgb(0 0 0 / 0.12));
|
|
855
|
-
}
|
|
856
|
-
dialog.${CLASS_DIALOG}:not([open]),
|
|
857
|
-
dialog.${CLASS_DIALOG}.${CLASS_HIDDEN} {
|
|
858
|
-
visibility: hidden;
|
|
859
|
-
pointer-events: none;
|
|
860
|
-
}
|
|
861
|
-
dialog.${CLASS_DIALOG}.${CLASS_DRAWER}::backdrop {
|
|
862
|
-
background: transparent;
|
|
863
|
-
}
|
|
864
|
-
@keyframes seams-wallet-overlay-backdrop-in {
|
|
865
|
-
from {
|
|
866
|
-
background: transparent;
|
|
867
|
-
}
|
|
868
|
-
to {
|
|
869
|
-
background: rgb(0 0 0 / 0.26);
|
|
870
|
-
}
|
|
871
|
-
}
|
|
872
|
-
dialog.${CLASS_DIALOG}.${CLASS_MODAL}::backdrop {
|
|
873
|
-
background: transparent;
|
|
874
|
-
}
|
|
875
|
-
dialog.${CLASS_DIALOG}.${CLASS_MODAL}:not(.${CLASS_PROVISIONAL}):not(.${CLASS_FALLBACK}):not(.${CLASS_AUTH_MENU}):not(.${CLASS_REVEAL_PENDING})::backdrop {
|
|
876
|
-
background: rgb(0 0 0 / 0.26);
|
|
877
|
-
animation: seams-wallet-overlay-backdrop-in 180ms cubic-bezier(0.2, 0.7, 0.2, 1) both;
|
|
878
|
-
}
|
|
879
|
-
/* The host owns the modal frame. Keep the focused dialog and iframe from
|
|
880
|
-
adding a user-agent outline around the rounded card. */
|
|
881
|
-
dialog.${CLASS_DIALOG}.${CLASS_MODAL},
|
|
882
|
-
dialog.${CLASS_DIALOG}.${CLASS_MODAL}:focus,
|
|
883
|
-
dialog.${CLASS_DIALOG}.${CLASS_MODAL}:focus-visible,
|
|
884
|
-
dialog.${CLASS_DIALOG}.${CLASS_MODAL} iframe.${CLASS_IFRAME},
|
|
885
|
-
dialog.${CLASS_DIALOG}.${CLASS_MODAL} iframe.${CLASS_IFRAME}:focus,
|
|
886
|
-
dialog.${CLASS_DIALOG}.${CLASS_MODAL} iframe.${CLASS_IFRAME}:focus-visible {
|
|
887
|
-
outline: none;
|
|
888
|
-
}
|
|
889
|
-
dialog.${CLASS_DIALOG}.${CLASS_MODAL} {
|
|
890
|
-
transform-origin: top left;
|
|
891
|
-
}
|
|
892
|
-
/* Reviewed transactions keep one opaque shell while their interiors cross-fade. */
|
|
893
|
-
dialog.${CLASS_DIALOG}.${CLASS_MODAL}[data-transaction-review] {
|
|
894
|
-
overflow: hidden;
|
|
895
|
-
background: var(--seams-colors-colorBackground);
|
|
896
|
-
border-radius: min(var(--seams-shape-card, 16px), 2rem);
|
|
897
|
-
box-shadow: 0 12px 24px rgb(0 0 0 / 0.22), 0 2px 8px rgb(0 0 0 / 0.12),
|
|
898
|
-
inset 0 0 0 1px var(--seams-colors-borderPrimary);
|
|
899
|
-
}
|
|
900
|
-
dialog.${CLASS_DIALOG}.${CLASS_MODAL}[data-transaction-review] iframe.${CLASS_IFRAME} {
|
|
901
|
-
filter: none;
|
|
902
|
-
}
|
|
903
|
-
/* The iframe clips the child's box shadow at its layout edge. Paint the
|
|
904
|
-
compact modal elevation in the host compositor so it can extend beyond
|
|
905
|
-
that edge without changing the measured hit region. */
|
|
906
|
-
dialog.${CLASS_DIALOG}.${CLASS_MODAL}:not(.${CLASS_PROVISIONAL}):not(.${CLASS_FALLBACK}):not(.${CLASS_AUTH_MENU}):not([data-transaction-review])
|
|
907
|
-
iframe.${CLASS_IFRAME} {
|
|
908
|
-
filter:
|
|
909
|
-
drop-shadow(0 12px 24px rgb(0 0 0 / 0.22))
|
|
910
|
-
drop-shadow(0 2px 8px rgb(0 0 0 / 0.12));
|
|
911
|
-
}
|
|
912
|
-
/* The auth-menu card paints no shadow of its own (wallet-ui.css) for the
|
|
913
|
-
same clipping reason; give it the quieter card elevation here, where the
|
|
914
|
-
drop-shadow hugs the card's silhouette and may extend past the iframe. */
|
|
915
|
-
dialog.${CLASS_DIALOG}.${CLASS_AUTH_MENU} iframe.${CLASS_IFRAME} {
|
|
916
|
-
filter:
|
|
917
|
-
drop-shadow(0 1px 2px rgb(15 23 42 / 0.05))
|
|
918
|
-
drop-shadow(0 10px 20px rgb(15 23 42 / 0.1));
|
|
919
|
-
}
|
|
920
|
-
dialog.${CLASS_DIALOG}.${CLASS_PROVISIONAL}::backdrop {
|
|
921
|
-
background: transparent;
|
|
922
|
-
}
|
|
923
|
-
dialog.${CLASS_DIALOG}.${CLASS_FALLBACK}::backdrop {
|
|
924
|
-
background: transparent;
|
|
925
|
-
}
|
|
926
|
-
/* The hosted auth menu is host-page furniture rather than an overlay: it is
|
|
927
|
-
opened non-modally, so it never enters the top layer, and it renders in the
|
|
928
|
-
host document's own stacking context. Page chrome (navbars, sticky headers,
|
|
929
|
-
popovers) therefore paints above it at ordinary z-index values instead of
|
|
930
|
-
losing to the overlay escape hatch.
|
|
931
|
-
|
|
932
|
-
It is position: absolute in DOCUMENT coordinates (its dynamic rule adds the
|
|
933
|
-
page scroll offset), not fixed: compositor scrolling then moves it with the
|
|
934
|
-
page content natively, instead of pinning it for a frame and snapping once
|
|
935
|
-
the scroll listener re-measures the anchor. It cannot be static because the
|
|
936
|
-
wallet iframe is mounted into this dialog once, before connect(), and
|
|
937
|
-
cannot be reparented afterwards without discarding its browsing context and
|
|
938
|
-
MessagePort — so the dialog stays a body child and mirrors the host
|
|
939
|
-
anchor's rect; --seams-wallet-inline-dialog-z is the host's hook for placing
|
|
940
|
-
it within the page's own layering. */
|
|
941
|
-
dialog.${CLASS_DIALOG}.${CLASS_INLINE_DIALOG} {
|
|
942
|
-
position: absolute;
|
|
943
|
-
z-index: var(--seams-wallet-inline-dialog-z, auto);
|
|
944
|
-
transform-origin: top left;
|
|
945
|
-
}
|
|
946
|
-
dialog.${CLASS_DIALOG}.${CLASS_INLINE_DIALOG}::backdrop {
|
|
947
|
-
background: transparent;
|
|
948
|
-
}
|
|
949
|
-
/* The dialog must NOT animate its own resize. The auth-menu card inside the
|
|
950
|
-
iframe animates its height, and a ResizeObserver posts every intermediate
|
|
951
|
-
frame out to this dialog. Transitioning here would make the host box ease
|
|
952
|
-
toward a target that is itself still easing — the box visibly trails the
|
|
953
|
-
card and the change reads as two steps (resize, then catch up). Applying
|
|
954
|
-
each reported frame instantly makes the dialog track the card 1:1, so the
|
|
955
|
-
card's own spring is the single motion, and the anchor height published
|
|
956
|
-
from the same frames keeps the host centring in step. */
|
|
957
|
-
dialog.${CLASS_DIALOG}.${CLASS_INLINE_DIALOG}.${CLASS_RESIZE_ANIMATED} {
|
|
958
|
-
transition: none;
|
|
959
|
-
}
|
|
960
|
-
/* A provisional drawer already owns the full visual viewport. The hosted
|
|
961
|
-
auth menu also renders provisionally: hiding its dialog prevents the
|
|
962
|
-
child ResizeObserver from producing the measurement that replaces those
|
|
963
|
-
provisional bounds, leaving the menu invisible until the 4s fallback.
|
|
964
|
-
Request modals stay invisible until their measured bounds are ready.
|
|
965
|
-
|
|
966
|
-
Invisible means opacity, never visibility. Chrome stops rendering a
|
|
967
|
-
cross-origin iframe whose ancestor is visibility:hidden (no animation
|
|
968
|
-
frames, no ResizeObserver delivery), so a modal hidden that way could not
|
|
969
|
-
lay out its confirmer or post the measurement the reveal waits for: the
|
|
970
|
-
card appeared only when the 4s measurement fallback forced the box
|
|
971
|
-
visible. Playwright's bundled Chromium keeps rendering such frames, which
|
|
972
|
-
is why no browser test noticed. An opacity:0 dialog is painted normally
|
|
973
|
-
(the frame is not throttled), just fully transparent. */
|
|
974
|
-
dialog.${CLASS_DIALOG}.${CLASS_PROVISIONAL}.${CLASS_MODAL}:not(.${CLASS_AUTH_MENU}) {
|
|
975
|
-
opacity: 0;
|
|
976
|
-
pointer-events: none;
|
|
977
|
-
}
|
|
978
|
-
/* Measured geometry is installed one frame before a request modal is
|
|
979
|
-
revealed. This prevents the native dialog's fallback position from ever
|
|
980
|
-
reaching the screen while its dynamic geometry rule settles. Opacity for
|
|
981
|
-
the same reason as above: the frame inside must keep rendering. */
|
|
982
|
-
dialog.${CLASS_DIALOG}.${CLASS_REVEAL_PENDING} {
|
|
983
|
-
opacity: 0;
|
|
984
|
-
pointer-events: none;
|
|
985
|
-
}
|
|
986
|
-
iframe.${CLASS_IFRAME} {
|
|
987
|
-
display: block;
|
|
988
|
-
width: 100%;
|
|
989
|
-
height: 100%;
|
|
990
|
-
border: 0;
|
|
991
|
-
margin: 0;
|
|
992
|
-
padding: 0;
|
|
993
|
-
background: transparent;
|
|
994
|
-
background-color: transparent;
|
|
995
|
-
box-sizing: border-box;
|
|
996
|
-
}
|
|
997
|
-
iframe.${CLASS_IFRAME}.${CLASS_HIDDEN} {
|
|
998
|
-
width: 0;
|
|
999
|
-
height: 0;
|
|
1000
|
-
opacity: 0;
|
|
1001
|
-
pointer-events: none;
|
|
1002
|
-
}
|
|
1003
|
-
@media (prefers-reduced-motion: reduce) {
|
|
1004
|
-
dialog.${CLASS_DIALOG}.${CLASS_INLINE_DIALOG} {
|
|
1005
|
-
transition: none;
|
|
1006
|
-
}
|
|
1007
|
-
dialog.${CLASS_DIALOG}.${CLASS_MODAL}::backdrop {
|
|
1008
|
-
animation: none;
|
|
1009
|
-
}
|
|
1010
|
-
}
|
|
1011
|
-
`;
|
|
1012
|
-
let styleManager = null;
|
|
1013
|
-
let nextDialogId = 0;
|
|
1014
|
-
const getStyleManager = () => {
|
|
1015
|
-
if (!styleManager) styleManager = createCspStylesheetManager({
|
|
1016
|
-
doc: document,
|
|
1017
|
-
baseCss: BASE_CSS,
|
|
1018
|
-
dynamicStyleDataAttr: "data-seams-overlay-dyn",
|
|
1019
|
-
nonce: () => getDefaultCspNonce()
|
|
1020
|
-
});
|
|
1021
|
-
return styleManager;
|
|
1022
|
-
};
|
|
1023
|
-
function isFiniteCssNumber(value) {
|
|
1024
|
-
return Number.isFinite(value) && value >= 0;
|
|
1025
|
-
}
|
|
1026
|
-
function cssPx(value) {
|
|
1027
|
-
if (!isFiniteCssNumber(value)) return "0px";
|
|
1028
|
-
return `${Math.min(Math.round(value), 1e5)}px`;
|
|
1029
|
-
}
|
|
1030
|
-
function signedCssPx(value) {
|
|
1031
|
-
if (!Number.isFinite(value)) return "0px";
|
|
1032
|
-
return `${Math.min(Math.max(Math.round(value), -1e5), 1e5)}px`;
|
|
1033
|
-
}
|
|
1034
|
-
function cssScale(value) {
|
|
1035
|
-
if (!Number.isFinite(value) || value <= 0) return "1";
|
|
1036
|
-
return String(Math.min(Math.max(value, .25), 4));
|
|
1037
|
-
}
|
|
1038
|
-
const drawerGeometryRuleId = (dialogId) => `${dialogId}::drawer`;
|
|
1039
|
-
const authMenuGeometryRuleId = (dialogId) => `${dialogId}::auth-menu`;
|
|
1040
|
-
const iframeGeometryRuleId = (dialogId) => `${dialogId}::iframe`;
|
|
1041
|
-
function ensureDialogId(dialog) {
|
|
1042
|
-
const currentId = dialog.id;
|
|
1043
|
-
if (currentId.startsWith(DIALOG_ID_PREFIX)) return currentId;
|
|
1044
|
-
nextDialogId += 1;
|
|
1045
|
-
const id = `${DIALOG_ID_PREFIX}${nextDialogId}`;
|
|
1046
|
-
dialog.id = id;
|
|
1047
|
-
return id;
|
|
1048
|
-
}
|
|
1049
|
-
function ensureOverlayBase(el) {
|
|
1050
|
-
getStyleManager().ensureBase();
|
|
1051
|
-
try {
|
|
1052
|
-
el.classList.add(CLASS_BASE);
|
|
1053
|
-
if (el instanceof HTMLIFrameElement) el.classList.add(CLASS_IFRAME);
|
|
1054
|
-
} catch {}
|
|
1055
|
-
}
|
|
1056
|
-
function ensureOverlayDialog(dialog) {
|
|
1057
|
-
getStyleManager().ensureBase();
|
|
1058
|
-
ensureDialogId(dialog);
|
|
1059
|
-
dialog.classList.add(CLASS_DIALOG);
|
|
1060
|
-
}
|
|
1061
|
-
function setHidden(el) {
|
|
1062
|
-
ensureOverlayBase(el);
|
|
1063
|
-
el.classList.add(CLASS_HIDDEN);
|
|
1064
|
-
el.classList.remove(CLASS_MODAL, CLASS_DRAWER, CLASS_FALLBACK, CLASS_PROVISIONAL, CLASS_RESIZE_ANIMATED, CLASS_REVEAL_PENDING);
|
|
1065
|
-
}
|
|
1066
|
-
function setVisible(el) {
|
|
1067
|
-
ensureOverlayBase(el);
|
|
1068
|
-
el.classList.remove(CLASS_HIDDEN);
|
|
1069
|
-
}
|
|
1070
|
-
function setDialogPresentation(dialog, presentation, geometryKind) {
|
|
1071
|
-
ensureOverlayDialog(dialog);
|
|
1072
|
-
dialog.classList.toggle(CLASS_MODAL, presentation === "modal");
|
|
1073
|
-
dialog.classList.toggle(CLASS_DRAWER, presentation === "drawer");
|
|
1074
|
-
dialog.classList.toggle(CLASS_FALLBACK, geometryKind === "fallback");
|
|
1075
|
-
dialog.classList.toggle(CLASS_PROVISIONAL, geometryKind === "provisional");
|
|
1076
|
-
dialog.classList.remove(CLASS_HIDDEN);
|
|
1077
|
-
}
|
|
1078
|
-
function setDialogAuthMenu(dialog, authMenu, animateResize) {
|
|
1079
|
-
ensureOverlayDialog(dialog);
|
|
1080
|
-
dialog.classList.toggle(CLASS_AUTH_MENU, authMenu);
|
|
1081
|
-
dialog.classList.toggle(CLASS_INLINE_DIALOG, authMenu);
|
|
1082
|
-
dialog.classList.toggle(CLASS_RESIZE_ANIMATED, authMenu && animateResize);
|
|
1083
|
-
}
|
|
1084
|
-
function setDialogGeometry(dialog, rect, authMenuVisualScale = 1) {
|
|
1085
|
-
ensureOverlayDialog(dialog);
|
|
1086
|
-
const id = ensureDialogId(dialog);
|
|
1087
|
-
const inset = cssPx(16);
|
|
1088
|
-
const safeTop = "var(--seams-wallet-overlay-safe-top, 0px)";
|
|
1089
|
-
const safeRight = "var(--seams-wallet-overlay-safe-right, 0px)";
|
|
1090
|
-
const safeBottom = "var(--seams-wallet-overlay-safe-bottom, 0px)";
|
|
1091
|
-
const safeLeft = "var(--seams-wallet-overlay-safe-left, 0px)";
|
|
1092
|
-
const width = `min(${cssPx(rect.widthCssPx)},max(1px,calc(100vw - ${safeLeft} - ${safeRight} - ${inset} - ${inset})))`;
|
|
1093
|
-
const height = `min(${cssPx(rect.heightCssPx)},max(1px,calc(100dvh - ${safeTop} - ${safeBottom} - ${inset} - ${inset})))`;
|
|
1094
|
-
dialog.classList.add(CLASS_HAS_GEOMETRY);
|
|
1095
|
-
const manager = getStyleManager();
|
|
1096
|
-
manager.setDynamicDeclarations(id, `#${id}.${CLASS_DIALOG}`, {
|
|
1097
|
-
top: `max(${cssPx(rect.topCssPx)},calc(${safeTop} + ${inset}))`,
|
|
1098
|
-
left: `max(${cssPx(rect.leftCssPx)},calc(${safeLeft} + ${inset}))`,
|
|
1099
|
-
width,
|
|
1100
|
-
height
|
|
1101
|
-
});
|
|
1102
|
-
manager.setDynamicDeclarations(drawerGeometryRuleId(id), `#${id}.${CLASS_DIALOG}.${CLASS_DRAWER}`, {
|
|
1103
|
-
top: signedCssPx(rect.topCssPx),
|
|
1104
|
-
left: signedCssPx(rect.leftCssPx),
|
|
1105
|
-
width: cssPx(rect.widthCssPx),
|
|
1106
|
-
height: cssPx(rect.heightCssPx)
|
|
1107
|
-
});
|
|
1108
|
-
manager.setDynamicDeclarations(authMenuGeometryRuleId(id), `#${id}.${CLASS_DIALOG}.${CLASS_AUTH_MENU}`, {
|
|
1109
|
-
top: signedCssPx(rect.topCssPx),
|
|
1110
|
-
left: signedCssPx(rect.leftCssPx),
|
|
1111
|
-
width: cssPx(rect.widthCssPx),
|
|
1112
|
-
height: cssPx(rect.heightCssPx),
|
|
1113
|
-
transform: `scale(${cssScale(authMenuVisualScale)})`
|
|
1114
|
-
});
|
|
1115
|
-
}
|
|
1116
|
-
function clearDialogGeometry(dialog) {
|
|
1117
|
-
ensureOverlayDialog(dialog);
|
|
1118
|
-
dialog.classList.remove(CLASS_HAS_GEOMETRY);
|
|
1119
|
-
const id = ensureDialogId(dialog);
|
|
1120
|
-
const manager = getStyleManager();
|
|
1121
|
-
manager.deleteDynamicRule(id);
|
|
1122
|
-
manager.deleteDynamicRule(drawerGeometryRuleId(id));
|
|
1123
|
-
manager.deleteDynamicRule(authMenuGeometryRuleId(id));
|
|
1124
|
-
manager.deleteDynamicRule(iframeGeometryRuleId(id));
|
|
1125
|
-
}
|
|
1126
|
-
/**
|
|
1127
|
-
* Hold the iframe at a size of its own, independent of the dialog, for the
|
|
1128
|
-
* instant between writing a request modal's destination geometry and starting
|
|
1129
|
-
* the ease that travels there. Reading the destination rectangle is a layout,
|
|
1130
|
-
* and a cross-origin iframe laid out at the destination is told that size at
|
|
1131
|
-
* once — one frame of the final box before the ease snaps it back to the
|
|
1132
|
-
* origin, which content inside the frame reads as arrival. Pinned to the
|
|
1133
|
-
* origin while the rectangle is read, the frame learns nothing until the ease
|
|
1134
|
-
* itself moves it.
|
|
1135
|
-
*/
|
|
1136
|
-
function pinDialogIframe(dialog, size) {
|
|
1137
|
-
ensureOverlayDialog(dialog);
|
|
1138
|
-
const id = ensureDialogId(dialog);
|
|
1139
|
-
getStyleManager().setDynamicDeclarations(iframeGeometryRuleId(id), `#${id}.${CLASS_DIALOG} iframe.${CLASS_IFRAME}`, {
|
|
1140
|
-
width: cssPx(size.widthCssPx),
|
|
1141
|
-
height: cssPx(size.heightCssPx)
|
|
1142
|
-
});
|
|
1143
|
-
}
|
|
1144
|
-
function releaseDialogIframe(dialog) {
|
|
1145
|
-
const id = ensureDialogId(dialog);
|
|
1146
|
-
getStyleManager().deleteDynamicRule(iframeGeometryRuleId(id));
|
|
1147
|
-
}
|
|
1148
|
-
const OverlayStyleClasses = {
|
|
1149
|
-
BASE: CLASS_BASE,
|
|
1150
|
-
DIALOG: CLASS_DIALOG,
|
|
1151
|
-
INLINE_DIALOG: CLASS_INLINE_DIALOG,
|
|
1152
|
-
IFRAME: CLASS_IFRAME,
|
|
1153
|
-
HIDDEN: CLASS_HIDDEN,
|
|
1154
|
-
MODAL: CLASS_MODAL,
|
|
1155
|
-
DRAWER: CLASS_DRAWER,
|
|
1156
|
-
FALLBACK: CLASS_FALLBACK,
|
|
1157
|
-
PROVISIONAL: CLASS_PROVISIONAL,
|
|
1158
|
-
AUTH_MENU: CLASS_AUTH_MENU,
|
|
1159
|
-
HAS_GEOMETRY: CLASS_HAS_GEOMETRY,
|
|
1160
|
-
RESIZE_ANIMATED: CLASS_RESIZE_ANIMATED,
|
|
1161
|
-
REVEAL_PENDING: CLASS_REVEAL_PENDING
|
|
1162
|
-
};
|
|
1163
|
-
function setTransactionReviewAppearance(slot, input) {
|
|
1164
|
-
const theme = resolveAppearanceTheme({
|
|
1165
|
-
value: input?.theme,
|
|
1166
|
-
fallback: {
|
|
1167
|
-
id: "default",
|
|
1168
|
-
mode: "dark",
|
|
1169
|
-
colors: {}
|
|
1170
|
-
}
|
|
1171
|
-
});
|
|
1172
|
-
slot.dataset.theme = theme.mode;
|
|
1173
|
-
getStyleManager().setDynamicRule(`transaction-review-appearance-${slot.id}`, appearanceTokenCssRule(slot.id, {
|
|
1174
|
-
palette: "default",
|
|
1175
|
-
theme: {
|
|
1176
|
-
id: theme.id,
|
|
1177
|
-
mode: theme.mode,
|
|
1178
|
-
colors: {
|
|
1179
|
-
...theme.mode === "light" ? LIGHT_THEME : DARK_THEME,
|
|
1180
|
-
...theme.colors
|
|
1181
|
-
},
|
|
1182
|
-
...theme.shape ? { shape: theme.shape } : {}
|
|
1183
|
-
}
|
|
1184
|
-
}));
|
|
1185
|
-
}
|
|
1186
|
-
function clearTransactionReviewAppearance(slot) {
|
|
1187
|
-
getStyleManager().deleteDynamicRule(`transaction-review-appearance-${slot.id}`);
|
|
1188
|
-
}
|
|
1189
|
-
//#endregion
|
|
1190
|
-
//#region src/SeamsWeb/walletIframe/client/overlay/overlay-controller.ts
|
|
1191
|
-
const SURFACE_RESIZE_DURATION_MS = 180;
|
|
1192
|
-
const REVIEW_HANDOFF_DURATION_MS = 320;
|
|
1193
|
-
function finiteSurfaceRect(rect) {
|
|
1194
|
-
if (!Number.isFinite(rect.top) || !Number.isFinite(rect.left) || !Number.isFinite(rect.width) || !Number.isFinite(rect.height) || rect.width <= 0 || rect.height <= 0) return null;
|
|
1195
|
-
return {
|
|
1196
|
-
top: rect.top,
|
|
1197
|
-
left: rect.left,
|
|
1198
|
-
width: rect.width,
|
|
1199
|
-
height: rect.height
|
|
1200
|
-
};
|
|
1201
|
-
}
|
|
1202
|
-
function surfaceResizeKeyframes(origin, destination) {
|
|
1203
|
-
return [{
|
|
1204
|
-
top: `${origin.top}px`,
|
|
1205
|
-
left: `${origin.left}px`,
|
|
1206
|
-
width: `${origin.width}px`,
|
|
1207
|
-
height: `${origin.height}px`
|
|
1208
|
-
}, {
|
|
1209
|
-
top: `${destination.top}px`,
|
|
1210
|
-
left: `${destination.left}px`,
|
|
1211
|
-
width: `${destination.width}px`,
|
|
1212
|
-
height: `${destination.height}px`
|
|
1213
|
-
}];
|
|
1214
|
-
}
|
|
1215
|
-
function assertNever(value) {
|
|
1216
|
-
throw new Error(`Unhandled wallet iframe overlay mode: ${String(value)}`);
|
|
1217
|
-
}
|
|
1218
|
-
function presentationKind(mode) {
|
|
1219
|
-
switch (mode.kind) {
|
|
1220
|
-
case "compact_transaction_review":
|
|
1221
|
-
case "compact_request_modal":
|
|
1222
|
-
case "compact_auth_menu": return "modal";
|
|
1223
|
-
case "compact_request_drawer": return "drawer";
|
|
1224
|
-
default: return assertNever(mode);
|
|
1225
|
-
}
|
|
1226
|
-
}
|
|
1227
|
-
function geometryKind(geometry) {
|
|
1228
|
-
switch (geometry.kind) {
|
|
1229
|
-
case "hidden": throw new Error("Visible wallet iframe overlay cannot use hidden geometry");
|
|
1230
|
-
case "provisional_centered_modal":
|
|
1231
|
-
case "provisional_bottom_drawer": return "provisional";
|
|
1232
|
-
case "centered_modal":
|
|
1233
|
-
case "bottom_drawer": return "measured";
|
|
1234
|
-
case "viewport_fallback": return "fallback";
|
|
1235
|
-
default: return assertNever(geometry);
|
|
1236
|
-
}
|
|
1237
|
-
}
|
|
1238
|
-
function diagnosticsMode(mode) {
|
|
1239
|
-
switch (mode.kind) {
|
|
1240
|
-
case "hidden": return "hidden";
|
|
1241
|
-
case "compact_transaction_review":
|
|
1242
|
-
case "compact_request_modal":
|
|
1243
|
-
case "compact_auth_menu": return mode.geometry.kind === "viewport_fallback" ? "viewport_fallback" : "compact_modal";
|
|
1244
|
-
case "compact_request_drawer": return mode.geometry.kind === "viewport_fallback" ? "viewport_fallback" : "bottom_drawer";
|
|
1245
|
-
default: return assertNever(mode);
|
|
1246
|
-
}
|
|
1247
|
-
}
|
|
1248
|
-
function sameIdentity(left, right) {
|
|
1249
|
-
if (left.kind === "hidden" || right.kind === "hidden") return left.kind === right.kind;
|
|
1250
|
-
if (left.identity.surfaceId !== right.identity.surfaceId || left.identity.requestId !== right.identity.requestId) return false;
|
|
1251
|
-
if (left.kind === "compact_auth_menu" || right.kind === "compact_auth_menu") return left.kind === "compact_auth_menu" && right.kind === "compact_auth_menu" && left.authMenuSessionId === right.authMenuSessionId;
|
|
1252
|
-
return true;
|
|
1253
|
-
}
|
|
1254
|
-
function isOutsideRect(event, rect) {
|
|
1255
|
-
return event.clientX <= rect.left || event.clientX >= rect.right || event.clientY <= rect.top || event.clientY >= rect.bottom;
|
|
1256
|
-
}
|
|
1257
|
-
function ignoreDismissFailure(error) {}
|
|
1258
|
-
var OverlayController = class {
|
|
1259
|
-
constructor(opts) {
|
|
1260
|
-
this.dialog = null;
|
|
1261
|
-
this.iframe = null;
|
|
1262
|
-
this.reviewSlot = null;
|
|
1263
|
-
this.mode = { kind: "hidden" };
|
|
1264
|
-
this.visible = false;
|
|
1265
|
-
this.generation = 0;
|
|
1266
|
-
this.pointerCapture = null;
|
|
1267
|
-
this.restoreFocus = null;
|
|
1268
|
-
this.pendingProgrammaticCloseEvents = 0;
|
|
1269
|
-
this.listenersInstalled = false;
|
|
1270
|
-
this.lastAppliedGeometry = null;
|
|
1271
|
-
this.authMenuVisualScale = 1;
|
|
1272
|
-
this.lastAppliedAuthMenuVisualScale = 1;
|
|
1273
|
-
this.dialogDisplayMode = null;
|
|
1274
|
-
this.pendingRevealFrame = null;
|
|
1275
|
-
this.reviewHandoff = { kind: "idle" };
|
|
1276
|
-
this.surfaceResizeAnimation = null;
|
|
1277
|
-
this.surfaceResizeTimer = null;
|
|
1278
|
-
this.handleReviewHandoffFinished = (event) => {
|
|
1279
|
-
if (this.reviewHandoff.kind !== "animating" || event.currentTarget !== this.reviewHandoff.incoming) return;
|
|
1280
|
-
this.finishReviewHandoff();
|
|
1281
|
-
};
|
|
1282
|
-
this.revealMeasuredSurface = () => {
|
|
1283
|
-
this.pendingRevealFrame = null;
|
|
1284
|
-
const dialog = this.dialog;
|
|
1285
|
-
if (!dialog || !this.visible || this.mode.kind !== "compact_request_modal" || geometryKind(this.mode.geometry) === "provisional") return;
|
|
1286
|
-
dialog.classList.remove(OverlayStyleClasses.REVEAL_PENDING);
|
|
1287
|
-
};
|
|
1288
|
-
this.handleSurfaceResizeFinished = (event) => {
|
|
1289
|
-
if (event.currentTarget !== this.surfaceResizeAnimation) return;
|
|
1290
|
-
this.cancelSurfaceResize();
|
|
1291
|
-
};
|
|
1292
|
-
this.handleCancel = (event) => {
|
|
1293
|
-
event.preventDefault();
|
|
1294
|
-
this.requestDismiss("escape");
|
|
1295
|
-
};
|
|
1296
|
-
this.handleClose = () => {
|
|
1297
|
-
this.dialogDisplayMode = null;
|
|
1298
|
-
if (this.pendingProgrammaticCloseEvents > 0) {
|
|
1299
|
-
this.pendingProgrammaticCloseEvents -= 1;
|
|
1300
|
-
return;
|
|
1301
|
-
}
|
|
1302
|
-
if (this.visible) this.requestDismiss("escape");
|
|
1303
|
-
};
|
|
1304
|
-
this.handlePointerDown = (event) => {
|
|
1305
|
-
if (!this.visible || this.mode.kind === "hidden" || !this.dialog) return;
|
|
1306
|
-
const dialogRect = this.dialog.getBoundingClientRect();
|
|
1307
|
-
const iframeRect = this.ensureIframe().getBoundingClientRect();
|
|
1308
|
-
if (!isOutsideRect(event, dialogRect) || !isOutsideRect(event, iframeRect)) {
|
|
1309
|
-
this.pointerCapture = null;
|
|
1310
|
-
return;
|
|
1311
|
-
}
|
|
1312
|
-
this.pointerCapture = {
|
|
1313
|
-
pointerId: event.pointerId,
|
|
1314
|
-
generation: this.generation
|
|
1315
|
-
};
|
|
1316
|
-
};
|
|
1317
|
-
this.handlePointerUp = (event) => {
|
|
1318
|
-
const capture = this.pointerCapture;
|
|
1319
|
-
this.pointerCapture = null;
|
|
1320
|
-
if (!capture || capture.pointerId !== event.pointerId || capture.generation !== this.generation) return;
|
|
1321
|
-
if (!this.dialog || this.mode.kind === "hidden") return;
|
|
1322
|
-
const dialogRect = this.dialog.getBoundingClientRect();
|
|
1323
|
-
const iframeRect = this.ensureIframe().getBoundingClientRect();
|
|
1324
|
-
if (isOutsideRect(event, dialogRect) && isOutsideRect(event, iframeRect)) this.requestDismiss("backdrop");
|
|
1325
|
-
};
|
|
1326
|
-
this.handlePointerCancel = (event) => {
|
|
1327
|
-
if (this.pointerCapture?.pointerId === event.pointerId) this.pointerCapture = null;
|
|
1328
|
-
};
|
|
1329
|
-
this.ensureIframe = opts.ensureIframe;
|
|
1330
|
-
this.dismissHandler = opts.onDismiss;
|
|
1331
|
-
}
|
|
1332
|
-
setDismissHandler(handler) {
|
|
1333
|
-
this.dismissHandler = handler;
|
|
1334
|
-
}
|
|
1335
|
-
prepare() {
|
|
1336
|
-
return this.ensureDialog().iframe;
|
|
1337
|
-
}
|
|
1338
|
-
getTransactionReviewSlot() {
|
|
1339
|
-
const { dialog } = this.ensureDialog();
|
|
1340
|
-
if (!this.reviewSlot) {
|
|
1341
|
-
this.reviewSlot = document.createElement("div");
|
|
1342
|
-
this.reviewSlot.className = "seams-transaction-review-slot";
|
|
1343
|
-
this.reviewSlot.id = `${dialog.id}-review`;
|
|
1344
|
-
this.reviewSlot.hidden = true;
|
|
1345
|
-
this.reviewSlot.inert = true;
|
|
1346
|
-
dialog.appendChild(this.reviewSlot);
|
|
1347
|
-
}
|
|
1348
|
-
return this.reviewSlot;
|
|
1349
|
-
}
|
|
1350
|
-
setReviewAppearance(appearance) {
|
|
1351
|
-
setTransactionReviewAppearance(this.ensureDialog().dialog, appearance);
|
|
1352
|
-
}
|
|
1353
|
-
setAuthMenuVisualScale(scale) {
|
|
1354
|
-
this.authMenuVisualScale = Number.isFinite(scale) && scale > 0 ? scale : 1;
|
|
1355
|
-
}
|
|
1356
|
-
apply(mode) {
|
|
1357
|
-
switch (mode.kind) {
|
|
1358
|
-
case "hidden":
|
|
1359
|
-
this.hideOverlay();
|
|
1360
|
-
return;
|
|
1361
|
-
case "compact_transaction_review":
|
|
1362
|
-
case "compact_request_modal":
|
|
1363
|
-
case "compact_request_drawer":
|
|
1364
|
-
case "compact_auth_menu":
|
|
1365
|
-
this.applyVisible(mode);
|
|
1366
|
-
return;
|
|
1367
|
-
default: return assertNever(mode);
|
|
1368
|
-
}
|
|
1369
|
-
}
|
|
1370
|
-
ensureDialog() {
|
|
1371
|
-
if (!this.dialog) {
|
|
1372
|
-
const dialog = document.createElement("dialog");
|
|
1373
|
-
ensureOverlayDialog(dialog);
|
|
1374
|
-
dialog.addEventListener("cancel", this.handleCancel);
|
|
1375
|
-
dialog.addEventListener("close", this.handleClose);
|
|
1376
|
-
dialog.addEventListener("pointerdown", this.handlePointerDown);
|
|
1377
|
-
dialog.addEventListener("pointerup", this.handlePointerUp);
|
|
1378
|
-
window.addEventListener("pointerup", this.handlePointerUp);
|
|
1379
|
-
window.addEventListener("pointercancel", this.handlePointerCancel);
|
|
1380
|
-
this.listenersInstalled = true;
|
|
1381
|
-
this.dialog = dialog;
|
|
1382
|
-
}
|
|
1383
|
-
const dialog = this.dialog;
|
|
1384
|
-
ensureOverlayDialog(dialog);
|
|
1385
|
-
if (!dialog.isConnected) document.body.appendChild(dialog);
|
|
1386
|
-
const iframe = this.ensureIframe(dialog);
|
|
1387
|
-
this.iframe = iframe;
|
|
1388
|
-
if (iframe.parentElement !== dialog) {
|
|
1389
|
-
if (iframe.isConnected) throw new Error("Wallet iframe cannot be reparented after it has been mounted");
|
|
1390
|
-
dialog.appendChild(iframe);
|
|
1391
|
-
}
|
|
1392
|
-
return {
|
|
1393
|
-
dialog,
|
|
1394
|
-
iframe
|
|
1395
|
-
};
|
|
1396
|
-
}
|
|
1397
|
-
applyVisible(mode) {
|
|
1398
|
-
const { dialog, iframe } = this.ensureDialog();
|
|
1399
|
-
const iframeSize = {
|
|
1400
|
-
widthCssPx: iframe.clientWidth,
|
|
1401
|
-
heightCssPx: iframe.clientHeight
|
|
1402
|
-
};
|
|
1403
|
-
let requestResizeDestination = null;
|
|
1404
|
-
const identityChanged = !sameIdentity(this.mode, mode);
|
|
1405
|
-
const handoffFromReview = !identityChanged && this.mode.kind === "compact_transaction_review" && mode.kind === "compact_request_modal";
|
|
1406
|
-
const returnToReview = !identityChanged && this.mode.kind === "compact_request_modal" && mode.kind === "compact_transaction_review";
|
|
1407
|
-
const authMenu = mode.kind === "compact_auth_menu";
|
|
1408
|
-
const previousGeometryKind = this.lastAppliedGeometry ? geometryKind(this.lastAppliedGeometry) : null;
|
|
1409
|
-
const nextGeometryKind = geometryKind(mode.geometry);
|
|
1410
|
-
const revealMeasuredRequestModal = mode.kind === "compact_request_modal" && previousGeometryKind === "provisional" && nextGeometryKind !== "provisional";
|
|
1411
|
-
const geometryChanged = !this.lastAppliedGeometry || !walletIframeSurfaceGeometryEqual(this.lastAppliedGeometry, mode.geometry);
|
|
1412
|
-
const authMenuScaleChanged = authMenu && Math.abs(this.lastAppliedAuthMenuVisualScale - this.authMenuVisualScale) > .001;
|
|
1413
|
-
const animateAuthMenuResize = authMenu && !identityChanged && geometryChanged && this.lastAppliedGeometry !== null && geometryKind(this.lastAppliedGeometry) !== "provisional" && geometryKind(mode.geometry) !== "provisional";
|
|
1414
|
-
const requestResizeOrigin = (mode.kind === "compact_request_modal" || mode.kind === "compact_transaction_review") && !identityChanged && geometryChanged && previousGeometryKind === "measured" && nextGeometryKind === "measured" ? finiteSurfaceRect(dialog.getBoundingClientRect()) : null;
|
|
1415
|
-
if (identityChanged) {
|
|
1416
|
-
this.cancelReviewHandoff();
|
|
1417
|
-
this.cancelPendingReveal();
|
|
1418
|
-
this.cancelSurfaceResize();
|
|
1419
|
-
this.generation += 1;
|
|
1420
|
-
this.pointerCapture = null;
|
|
1421
|
-
this.captureFocusForDialog();
|
|
1422
|
-
}
|
|
1423
|
-
this.mode = mode;
|
|
1424
|
-
this.visible = true;
|
|
1425
|
-
if (revealMeasuredRequestModal) dialog.classList.add(OverlayStyleClasses.REVEAL_PENDING);
|
|
1426
|
-
setVisible(iframe);
|
|
1427
|
-
setDialogPresentation(dialog, presentationKind(mode), geometryKind(mode.geometry));
|
|
1428
|
-
setDialogAuthMenu(dialog, authMenu, animateAuthMenuResize);
|
|
1429
|
-
dialog.setAttribute("aria-modal", authMenu || !mode.focusTrap ? "false" : "true");
|
|
1430
|
-
if (geometryChanged || authMenuScaleChanged) {
|
|
1431
|
-
if (geometryChanged) this.cancelSurfaceResize();
|
|
1432
|
-
if (requestResizeOrigin) pinDialogIframe(dialog, {
|
|
1433
|
-
widthCssPx: requestResizeOrigin.width,
|
|
1434
|
-
heightCssPx: requestResizeOrigin.height
|
|
1435
|
-
});
|
|
1436
|
-
setDialogGeometry(dialog, mode.geometry, authMenu ? this.authMenuVisualScale : 1);
|
|
1437
|
-
this.lastAppliedGeometry = mode.geometry;
|
|
1438
|
-
this.lastAppliedAuthMenuVisualScale = authMenu ? this.authMenuVisualScale : 1;
|
|
1439
|
-
requestResizeDestination = requestResizeOrigin ? finiteSurfaceRect(dialog.getBoundingClientRect()) : null;
|
|
1440
|
-
if (requestResizeOrigin && requestResizeDestination) this.startSurfaceResize(requestResizeOrigin, requestResizeDestination, handoffFromReview || returnToReview ? REVIEW_HANDOFF_DURATION_MS : SURFACE_RESIZE_DURATION_MS);
|
|
1441
|
-
if (requestResizeOrigin) releaseDialogIframe(dialog);
|
|
1442
|
-
}
|
|
1443
|
-
const reviewing = mode.kind === "compact_transaction_review";
|
|
1444
|
-
if (reviewing) dialog.setAttribute("data-transaction-review", "");
|
|
1445
|
-
else if (!this.mode || !("identity" in this.mode) || identityChanged) dialog.removeAttribute("data-transaction-review");
|
|
1446
|
-
if (handoffFromReview) this.startReviewHandoff("wallet");
|
|
1447
|
-
if (returnToReview) this.startReviewHandoff("review");
|
|
1448
|
-
const handingOff = this.reviewHandoff.kind === "animating";
|
|
1449
|
-
if (handingOff && requestResizeDestination) pinDialogIframe(dialog, reviewing ? iframeSize : {
|
|
1450
|
-
widthCssPx: requestResizeDestination.width,
|
|
1451
|
-
heightCssPx: requestResizeDestination.height
|
|
1452
|
-
});
|
|
1453
|
-
iframe.inert = reviewing || handingOff;
|
|
1454
|
-
iframe.classList.toggle("seams-review-wallet-inactive", reviewing);
|
|
1455
|
-
iframe.setAttribute("aria-hidden", String(reviewing || handingOff));
|
|
1456
|
-
if (reviewing) iframe.setAttribute("tabindex", "-1");
|
|
1457
|
-
else iframe.removeAttribute("tabindex");
|
|
1458
|
-
const slot = this.getTransactionReviewSlot();
|
|
1459
|
-
slot.hidden = !reviewing && !handingOff;
|
|
1460
|
-
slot.inert = !reviewing || handingOff;
|
|
1461
|
-
slot.setAttribute("aria-hidden", String(!reviewing || handingOff));
|
|
1462
|
-
if (returnToReview && !handingOff) this.focusReview();
|
|
1463
|
-
iframe.setAttribute("title", mode.presentation.title);
|
|
1464
|
-
dialog.setAttribute("aria-label", mode.presentation.title);
|
|
1465
|
-
dialog.classList.remove(OverlayStyleClasses.HIDDEN);
|
|
1466
|
-
const requestedDisplayMode = authMenu || !mode.focusTrap ? "nonmodal" : "modal";
|
|
1467
|
-
if (dialog.open && this.dialogDisplayMode !== requestedDisplayMode) {
|
|
1468
|
-
this.closeDialogProgrammatically(dialog);
|
|
1469
|
-
this.dialogDisplayMode = null;
|
|
1470
|
-
}
|
|
1471
|
-
if (!dialog.open) this.showDialog(dialog, requestedDisplayMode);
|
|
1472
|
-
if (revealMeasuredRequestModal) this.scheduleMeasuredReveal();
|
|
1473
|
-
}
|
|
1474
|
-
activateAfterReviewHandoff(onReady) {
|
|
1475
|
-
if (this.reviewHandoff.kind === "animating") this.reviewHandoff.onReady = onReady;
|
|
1476
|
-
else onReady();
|
|
1477
|
-
}
|
|
1478
|
-
startReviewHandoff(destination) {
|
|
1479
|
-
this.cancelReviewHandoff();
|
|
1480
|
-
if (!this.iframe || window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
|
|
1481
|
-
const options = {
|
|
1482
|
-
duration: REVIEW_HANDOFF_DURATION_MS,
|
|
1483
|
-
easing: "cubic-bezier(0.22, 1, 0.36, 1)",
|
|
1484
|
-
fill: "both"
|
|
1485
|
-
};
|
|
1486
|
-
const review = this.getTransactionReviewSlot().firstElementChild;
|
|
1487
|
-
if (!review) return;
|
|
1488
|
-
const outgoingElement = destination === "wallet" ? review : this.iframe;
|
|
1489
|
-
const incomingElement = destination === "wallet" ? this.iframe : review;
|
|
1490
|
-
const direction = destination === "wallet" ? 1 : -1;
|
|
1491
|
-
const outgoing = outgoingElement.animate([
|
|
1492
|
-
{
|
|
1493
|
-
opacity: 1,
|
|
1494
|
-
transform: "translateY(0)"
|
|
1495
|
-
},
|
|
1496
|
-
{
|
|
1497
|
-
opacity: 0,
|
|
1498
|
-
transform: `translateY(${-8 * direction}px)`,
|
|
1499
|
-
offset: .55
|
|
1500
|
-
},
|
|
1501
|
-
{
|
|
1502
|
-
opacity: 0,
|
|
1503
|
-
transform: `translateY(${-8 * direction}px)`
|
|
1504
|
-
}
|
|
1505
|
-
], options);
|
|
1506
|
-
const incoming = incomingElement.animate([{
|
|
1507
|
-
opacity: 0,
|
|
1508
|
-
transform: `translateY(${12 * direction}px)`
|
|
1509
|
-
}, {
|
|
1510
|
-
opacity: 1,
|
|
1511
|
-
transform: "translateY(0)"
|
|
1512
|
-
}], options);
|
|
1513
|
-
const sections = [];
|
|
1514
|
-
let order = 0;
|
|
1515
|
-
for (const section of review.children) {
|
|
1516
|
-
const entering = destination === "review";
|
|
1517
|
-
const delay = Math.min(order, 3) * 25;
|
|
1518
|
-
sections.push(section.animate([{
|
|
1519
|
-
opacity: entering ? 0 : 1,
|
|
1520
|
-
transform: entering ? "translateY(8px)" : "translateY(0)"
|
|
1521
|
-
}, {
|
|
1522
|
-
opacity: entering ? 1 : 0,
|
|
1523
|
-
transform: entering ? "translateY(0)" : "translateY(-6px)"
|
|
1524
|
-
}], {
|
|
1525
|
-
duration: entering ? 220 : 140,
|
|
1526
|
-
delay,
|
|
1527
|
-
easing: "ease-out",
|
|
1528
|
-
fill: "both"
|
|
1529
|
-
}));
|
|
1530
|
-
order += 1;
|
|
1531
|
-
}
|
|
1532
|
-
this.reviewHandoff = {
|
|
1533
|
-
kind: "animating",
|
|
1534
|
-
destination,
|
|
1535
|
-
outgoing,
|
|
1536
|
-
incoming,
|
|
1537
|
-
sections,
|
|
1538
|
-
timer: setTimeout(this.finishReviewHandoff.bind(this), REVIEW_HANDOFF_DURATION_MS),
|
|
1539
|
-
onReady: null
|
|
1540
|
-
};
|
|
1541
|
-
incoming.addEventListener("finish", this.handleReviewHandoffFinished, { once: true });
|
|
1542
|
-
}
|
|
1543
|
-
finishReviewHandoff() {
|
|
1544
|
-
if (this.reviewHandoff.kind !== "animating") return;
|
|
1545
|
-
const onReady = this.reviewHandoff.onReady;
|
|
1546
|
-
const reviewing = this.reviewHandoff.destination === "review";
|
|
1547
|
-
this.cancelReviewHandoff();
|
|
1548
|
-
if (this.reviewSlot) {
|
|
1549
|
-
this.reviewSlot.hidden = !reviewing;
|
|
1550
|
-
this.reviewSlot.inert = !reviewing;
|
|
1551
|
-
this.reviewSlot.setAttribute("aria-hidden", String(!reviewing));
|
|
1552
|
-
}
|
|
1553
|
-
if (this.iframe) {
|
|
1554
|
-
this.iframe.inert = reviewing;
|
|
1555
|
-
this.iframe.setAttribute("aria-hidden", String(reviewing));
|
|
1556
|
-
}
|
|
1557
|
-
if (reviewing) this.focusReview();
|
|
1558
|
-
onReady?.();
|
|
1559
|
-
}
|
|
1560
|
-
focusReview() {
|
|
1561
|
-
this.reviewSlot?.querySelector("[tabindex=\"-1\"], button")?.focus({ preventScroll: true });
|
|
1562
|
-
}
|
|
1563
|
-
cancelReviewHandoff() {
|
|
1564
|
-
if (this.reviewHandoff.kind !== "animating") return;
|
|
1565
|
-
clearTimeout(this.reviewHandoff.timer);
|
|
1566
|
-
this.reviewHandoff.outgoing.cancel();
|
|
1567
|
-
this.reviewHandoff.incoming.cancel();
|
|
1568
|
-
for (const animation of this.reviewHandoff.sections) animation.cancel();
|
|
1569
|
-
if (this.dialog) releaseDialogIframe(this.dialog);
|
|
1570
|
-
this.reviewHandoff = { kind: "idle" };
|
|
1571
|
-
}
|
|
1572
|
-
scheduleMeasuredReveal() {
|
|
1573
|
-
this.cancelPendingReveal();
|
|
1574
|
-
this.pendingRevealFrame = window.requestAnimationFrame(this.revealMeasuredSurface);
|
|
1575
|
-
}
|
|
1576
|
-
startSurfaceResize(origin, destination, duration) {
|
|
1577
|
-
const dialog = this.dialog;
|
|
1578
|
-
if (!dialog || window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
|
|
1579
|
-
this.cancelSurfaceResize();
|
|
1580
|
-
const animation = dialog.animate(surfaceResizeKeyframes(origin, destination), {
|
|
1581
|
-
duration,
|
|
1582
|
-
easing: "cubic-bezier(0.2, 0.7, 0.2, 1)"
|
|
1583
|
-
});
|
|
1584
|
-
this.surfaceResizeAnimation = animation;
|
|
1585
|
-
this.surfaceResizeTimer = setTimeout(this.cancelSurfaceResize.bind(this), duration);
|
|
1586
|
-
animation.addEventListener("finish", this.handleSurfaceResizeFinished, { once: true });
|
|
1587
|
-
}
|
|
1588
|
-
cancelPendingReveal() {
|
|
1589
|
-
if (this.pendingRevealFrame === null) return;
|
|
1590
|
-
window.cancelAnimationFrame(this.pendingRevealFrame);
|
|
1591
|
-
this.pendingRevealFrame = null;
|
|
1592
|
-
}
|
|
1593
|
-
cancelSurfaceResize() {
|
|
1594
|
-
if (this.surfaceResizeTimer) clearTimeout(this.surfaceResizeTimer);
|
|
1595
|
-
this.surfaceResizeTimer = null;
|
|
1596
|
-
this.surfaceResizeAnimation?.cancel();
|
|
1597
|
-
this.surfaceResizeAnimation = null;
|
|
1598
|
-
}
|
|
1599
|
-
showDialog(dialog, displayMode) {
|
|
1600
|
-
if (displayMode === "nonmodal") {
|
|
1601
|
-
if (typeof dialog.show !== "function") throw new Error("Wallet iframe overlay requires native HTMLDialogElement.show support");
|
|
1602
|
-
dialog.show();
|
|
1603
|
-
this.dialogDisplayMode = "nonmodal";
|
|
1604
|
-
return;
|
|
1605
|
-
}
|
|
1606
|
-
if (typeof dialog.showModal !== "function") throw new Error("Wallet iframe overlay requires native HTMLDialogElement.showModal support");
|
|
1607
|
-
dialog.showModal();
|
|
1608
|
-
this.dialogDisplayMode = "modal";
|
|
1609
|
-
}
|
|
1610
|
-
closeDialogProgrammatically(dialog) {
|
|
1611
|
-
this.pendingProgrammaticCloseEvents += 1;
|
|
1612
|
-
dialog.close();
|
|
1613
|
-
}
|
|
1614
|
-
hideOverlay() {
|
|
1615
|
-
const wasVisible = this.visible;
|
|
1616
|
-
this.cancelReviewHandoff();
|
|
1617
|
-
this.cancelPendingReveal();
|
|
1618
|
-
this.cancelSurfaceResize();
|
|
1619
|
-
this.generation += 1;
|
|
1620
|
-
this.pointerCapture = null;
|
|
1621
|
-
this.mode = { kind: "hidden" };
|
|
1622
|
-
this.visible = false;
|
|
1623
|
-
this.lastAppliedGeometry = null;
|
|
1624
|
-
this.authMenuVisualScale = 1;
|
|
1625
|
-
this.lastAppliedAuthMenuVisualScale = 1;
|
|
1626
|
-
if (!this.dialog) return;
|
|
1627
|
-
if (this.reviewSlot) {
|
|
1628
|
-
this.reviewSlot.hidden = true;
|
|
1629
|
-
this.reviewSlot.inert = true;
|
|
1630
|
-
}
|
|
1631
|
-
const iframe = this.iframe;
|
|
1632
|
-
if (iframe) {
|
|
1633
|
-
setHidden(iframe);
|
|
1634
|
-
iframe.setAttribute("aria-hidden", "true");
|
|
1635
|
-
iframe.setAttribute("tabindex", "-1");
|
|
1636
|
-
iframe.removeAttribute("title");
|
|
1637
|
-
}
|
|
1638
|
-
this.dialog.removeAttribute("aria-label");
|
|
1639
|
-
this.dialog.classList.add(OverlayStyleClasses.HIDDEN);
|
|
1640
|
-
this.dialog.classList.remove(OverlayStyleClasses.REVEAL_PENDING);
|
|
1641
|
-
clearDialogGeometry(this.dialog);
|
|
1642
|
-
if (this.dialog.open) this.closeDialogProgrammatically(this.dialog);
|
|
1643
|
-
this.dialogDisplayMode = null;
|
|
1644
|
-
if (wasVisible) this.restoreCapturedFocus();
|
|
1645
|
-
}
|
|
1646
|
-
captureFocusForDialog() {
|
|
1647
|
-
const active = document.activeElement;
|
|
1648
|
-
if (active instanceof HTMLElement && this.dialog && !this.dialog.contains(active)) this.restoreFocus = active;
|
|
1649
|
-
}
|
|
1650
|
-
restoreCapturedFocus() {
|
|
1651
|
-
const focusTarget = this.restoreFocus;
|
|
1652
|
-
this.restoreFocus = null;
|
|
1653
|
-
if (!focusTarget || !focusTarget.isConnected || focusTarget.matches("[inert]")) return;
|
|
1654
|
-
focusTarget.focus({ preventScroll: true });
|
|
1655
|
-
}
|
|
1656
|
-
activeDismissEvent(reason) {
|
|
1657
|
-
if (this.mode.kind === "hidden") return null;
|
|
1658
|
-
const event = {
|
|
1659
|
-
identity: this.mode.identity,
|
|
1660
|
-
reason,
|
|
1661
|
-
generation: this.generation
|
|
1662
|
-
};
|
|
1663
|
-
if (this.mode.kind === "compact_auth_menu") event.authMenuSessionId = this.mode.authMenuSessionId;
|
|
1664
|
-
return event;
|
|
1665
|
-
}
|
|
1666
|
-
requestDismiss(reason) {
|
|
1667
|
-
const event = this.activeDismissEvent(reason);
|
|
1668
|
-
if (!event || !this.dismissHandler) return;
|
|
1669
|
-
Promise.resolve(this.dismissHandler(event)).catch(ignoreDismissFailure);
|
|
1670
|
-
}
|
|
1671
|
-
getState() {
|
|
1672
|
-
return {
|
|
1673
|
-
visible: this.visible,
|
|
1674
|
-
mode: diagnosticsMode(this.mode),
|
|
1675
|
-
dialogOpen: this.dialog?.open ?? false,
|
|
1676
|
-
generation: this.generation
|
|
1677
|
-
};
|
|
1678
|
-
}
|
|
1679
|
-
dispose() {
|
|
1680
|
-
this.cancelReviewHandoff();
|
|
1681
|
-
this.cancelPendingReveal();
|
|
1682
|
-
this.cancelSurfaceResize();
|
|
1683
|
-
this.generation += 1;
|
|
1684
|
-
this.pointerCapture = null;
|
|
1685
|
-
this.mode = { kind: "hidden" };
|
|
1686
|
-
this.visible = false;
|
|
1687
|
-
this.lastAppliedGeometry = null;
|
|
1688
|
-
this.dialogDisplayMode = null;
|
|
1689
|
-
this.restoreFocus = null;
|
|
1690
|
-
const dialog = this.dialog;
|
|
1691
|
-
if (!dialog) {
|
|
1692
|
-
this.dismissHandler = void 0;
|
|
1693
|
-
return;
|
|
1694
|
-
}
|
|
1695
|
-
if (this.listenersInstalled) {
|
|
1696
|
-
dialog.removeEventListener("cancel", this.handleCancel);
|
|
1697
|
-
dialog.removeEventListener("close", this.handleClose);
|
|
1698
|
-
dialog.removeEventListener("pointerdown", this.handlePointerDown);
|
|
1699
|
-
dialog.removeEventListener("pointerup", this.handlePointerUp);
|
|
1700
|
-
window.removeEventListener("pointerup", this.handlePointerUp);
|
|
1701
|
-
window.removeEventListener("pointercancel", this.handlePointerCancel);
|
|
1702
|
-
}
|
|
1703
|
-
if (dialog.open) dialog.close();
|
|
1704
|
-
clearDialogGeometry(dialog);
|
|
1705
|
-
clearTransactionReviewAppearance(dialog);
|
|
1706
|
-
dialog.remove();
|
|
1707
|
-
this.dialog = null;
|
|
1708
|
-
this.iframe = null;
|
|
1709
|
-
this.reviewSlot = null;
|
|
1710
|
-
this.listenersInstalled = false;
|
|
1711
|
-
this.dismissHandler = void 0;
|
|
1712
|
-
}
|
|
1713
|
-
};
|
|
1714
|
-
//#endregion
|
|
1715
|
-
//#region src/utils/deviceDetection.ts
|
|
1716
|
-
/**
|
|
1717
|
-
* Detects the current device type based on multiple indicators
|
|
1718
|
-
*/
|
|
1719
|
-
const detectDeviceType = () => {
|
|
1720
|
-
const userAgent = navigator.userAgent.toLowerCase();
|
|
1721
|
-
const isMobileUA = /android|iphone|ipod|blackberry|iemobile|opera mini/i.test(userAgent);
|
|
1722
|
-
const isTabletUA = /ipad|tablet|kindle|playbook|silk/i.test(userAgent);
|
|
1723
|
-
const isTouchDevice = navigator.maxTouchPoints > 0;
|
|
1724
|
-
const screenWidth = window.screen.width;
|
|
1725
|
-
const isSmallScreen = screenWidth <= 480;
|
|
1726
|
-
const isMediumScreen = screenWidth <= 1024;
|
|
1727
|
-
const hasOrientation = "orientation" in window;
|
|
1728
|
-
if (isMobileUA || isTouchDevice && isSmallScreen) return "mobile";
|
|
1729
|
-
if (isTabletUA || isTouchDevice && isMediumScreen && hasOrientation) return "tablet";
|
|
1730
|
-
return "desktop";
|
|
1731
|
-
};
|
|
1732
|
-
/**
|
|
1733
|
-
* Basic Safari detection (desktop Safari). Note: all iOS browsers use WebKit,
|
|
1734
|
-
* so use isIOS() to capture iOS Safari-like restrictions.
|
|
1735
|
-
*/
|
|
1736
|
-
const isSafari = () => {
|
|
1737
|
-
try {
|
|
1738
|
-
const ua = navigator.userAgent;
|
|
1739
|
-
return /safari/i.test(ua) && !/chrome|crios|crmo|chromium|edg|edge|opr|opera|brave/i.test(ua);
|
|
1740
|
-
} catch {
|
|
1741
|
-
return false;
|
|
1742
|
-
}
|
|
1743
|
-
};
|
|
1744
|
-
/**
|
|
1745
|
-
* Detect iOS (covers iPhone/iPad/iPod and iPadOS with desktop UA).
|
|
1746
|
-
* iOS has WebAuthn user-activation quirks that are shared by all iOS browsers.
|
|
1747
|
-
*/
|
|
1748
|
-
const isIOS = () => {
|
|
1749
|
-
try {
|
|
1750
|
-
const ua = navigator.userAgent;
|
|
1751
|
-
const platform = navigator.platform || "";
|
|
1752
|
-
const maxTouch = Number(navigator.maxTouchPoints || 0);
|
|
1753
|
-
const iOSUA = /iPad|iPhone|iPod/.test(ua);
|
|
1754
|
-
const iPadOSMacLike = /Macintosh/.test(ua) && maxTouch > 1;
|
|
1755
|
-
const iOSPlatform = /iPad|iPhone|iPod/.test(platform);
|
|
1756
|
-
return iOSUA || iPadOSMacLike || iOSPlatform;
|
|
1757
|
-
} catch {
|
|
1758
|
-
return false;
|
|
1759
|
-
}
|
|
1760
|
-
};
|
|
1761
|
-
/**
|
|
1762
|
-
* Returns true when the page currently has a transient user activation
|
|
1763
|
-
* (click/tap/key within the allowed time window).
|
|
1764
|
-
*/
|
|
1765
|
-
const hasActiveUserActivation = () => {
|
|
1766
|
-
try {
|
|
1767
|
-
const ua = navigator.userActivation;
|
|
1768
|
-
return !!(ua && typeof ua.isActive === "boolean" && ua.isActive);
|
|
1769
|
-
} catch {
|
|
1770
|
-
return false;
|
|
1771
|
-
}
|
|
1772
|
-
};
|
|
1773
|
-
/**
|
|
1774
|
-
* Heuristic: when on Safari/iOS or on a mobile device AND no active user
|
|
1775
|
-
* activation, we should surface a clickable UI to capture activation.
|
|
1776
|
-
*/
|
|
1777
|
-
const needsExplicitActivation = () => {
|
|
1778
|
-
try {
|
|
1779
|
-
if (hasActiveUserActivation()) return false;
|
|
1780
|
-
return isIOS() || isMobileDevice() || isSafari();
|
|
1781
|
-
} catch {
|
|
1782
|
-
return false;
|
|
1783
|
-
}
|
|
1784
|
-
};
|
|
1785
|
-
/**
|
|
1786
|
-
* Check if the current device is likely mobile
|
|
1787
|
-
*/
|
|
1788
|
-
const isMobileDevice = () => {
|
|
1789
|
-
return detectDeviceType() === "mobile";
|
|
1790
|
-
};
|
|
1791
|
-
//#endregion
|
|
1792
|
-
//#region src/SeamsWeb/walletIframe/shared/unlockOptions.ts
|
|
1793
|
-
function walletIframeUnlockRequestFromLoginHooks(args) {
|
|
1794
|
-
if (!args.options) return {
|
|
1795
|
-
kind: "default_options",
|
|
1796
|
-
walletId: args.walletId
|
|
1797
|
-
};
|
|
1798
|
-
return {
|
|
1799
|
-
kind: "custom_options",
|
|
1800
|
-
walletId: args.walletId,
|
|
1801
|
-
options: args.options
|
|
1802
|
-
};
|
|
1803
|
-
}
|
|
1804
|
-
function buildPMUnlockPayload(request) {
|
|
1805
|
-
switch (request.kind) {
|
|
1806
|
-
case "default_options": return {
|
|
1807
|
-
kind: "default_options",
|
|
1808
|
-
walletId: request.walletId
|
|
1809
|
-
};
|
|
1810
|
-
case "custom_options": return {
|
|
1811
|
-
kind: "custom_options",
|
|
1812
|
-
walletId: request.walletId,
|
|
1813
|
-
options: {
|
|
1814
|
-
kind: "pm_unlock_options_v1",
|
|
1815
|
-
signerSlot: optionFromValue(request.options.signerSlot),
|
|
1816
|
-
signingSession: optionFromValue(request.options.signingSession),
|
|
1817
|
-
unlockSelection: optionFromValue(request.options.unlockSelection),
|
|
1818
|
-
ecdsaKeyFactsInventory: pmEcdsaKeyFactsInventoryOption(request.options.ecdsaKeyFactsInventory)
|
|
1819
|
-
}
|
|
1820
|
-
};
|
|
1821
|
-
}
|
|
1822
|
-
}
|
|
1823
|
-
function pmEcdsaKeyFactsInventoryOption(inventory) {
|
|
1824
|
-
if (!inventory) return { kind: "default" };
|
|
1825
|
-
switch (inventory.mode) {
|
|
1826
|
-
case "webauthn": return {
|
|
1827
|
-
kind: "value",
|
|
1828
|
-
value: { mode: "webauthn" }
|
|
1829
|
-
};
|
|
1830
|
-
case "wallet_session_operation_credential_v1": return {
|
|
1831
|
-
kind: "value",
|
|
1832
|
-
value: { mode: "wallet_session_operation_credential_v1" }
|
|
1833
|
-
};
|
|
1834
|
-
}
|
|
1835
|
-
}
|
|
1836
|
-
function requirePMUnlockPayload(payload) {
|
|
1837
|
-
if (!payload) throw new Error("PM_UNLOCK payload is required");
|
|
1838
|
-
return payload;
|
|
1839
|
-
}
|
|
1840
|
-
function pmUnlockPayloadToLoginHooksOptions(payload) {
|
|
1841
|
-
switch (payload.kind) {
|
|
1842
|
-
case "default_options": return {};
|
|
1843
|
-
case "custom_options": return {
|
|
1844
|
-
...optionToObject("signerSlot", payload.options.signerSlot),
|
|
1845
|
-
...optionToObject("signingSession", payload.options.signingSession),
|
|
1846
|
-
...optionToObject("unlockSelection", payload.options.unlockSelection),
|
|
1847
|
-
...pmEcdsaKeyFactsInventoryFromPayload(payload.options.ecdsaKeyFactsInventory)
|
|
1848
|
-
};
|
|
1849
|
-
}
|
|
1850
|
-
}
|
|
1851
|
-
function pmEcdsaKeyFactsInventoryFromPayload(option) {
|
|
1852
|
-
switch (option.kind) {
|
|
1853
|
-
case "default": return {};
|
|
1854
|
-
case "value": return { ecdsaKeyFactsInventory: option.value };
|
|
1855
|
-
}
|
|
1856
|
-
}
|
|
1857
|
-
function optionFromValue(value) {
|
|
1858
|
-
return value === void 0 ? { kind: "default" } : {
|
|
1859
|
-
kind: "value",
|
|
1860
|
-
value
|
|
1861
|
-
};
|
|
1862
|
-
}
|
|
1863
|
-
function optionToObject(key, option) {
|
|
1864
|
-
switch (option.kind) {
|
|
1865
|
-
case "default": return {};
|
|
1866
|
-
case "value": return { [key]: option.value };
|
|
1867
|
-
}
|
|
1868
|
-
}
|
|
1869
|
-
//#endregion
|
|
1870
|
-
//#region src/SeamsWeb/walletIframe/shared/exactSessionState.ts
|
|
1871
|
-
var WalletIframeSessionExpiredRequestError = class extends Error {
|
|
1872
|
-
constructor(failure) {
|
|
1873
|
-
super("Wallet session expired");
|
|
1874
|
-
this.name = "WalletIframeSessionExpiredRequestError";
|
|
1875
|
-
this.failure = failure;
|
|
1876
|
-
}
|
|
1877
|
-
};
|
|
1878
|
-
async function readSelectedWalletIframeExactSessionState(input, dependencies) {
|
|
1879
|
-
let selected;
|
|
1880
|
-
try {
|
|
1881
|
-
selected = await dependencies.resolveSelectedWalletAuthority(String(input.walletId));
|
|
1882
|
-
} catch {
|
|
1883
|
-
return unavailableSession(input.walletId, "unavailable");
|
|
1884
|
-
}
|
|
1885
|
-
switch (selected.kind) {
|
|
1886
|
-
case "missing_selection": return { kind: "wallet_locked" };
|
|
1887
|
-
case "missing_auth_method":
|
|
1888
|
-
case "missing_authority":
|
|
1889
|
-
case "integrity_error": return unavailableSession(input.walletId, "invalid");
|
|
1890
|
-
case "resolved": break;
|
|
1891
|
-
}
|
|
1892
|
-
const { selection, authMethod, authority } = selected;
|
|
1893
|
-
if (selection.walletId !== input.walletId || selection.walletAuthMethodId !== authMethod.walletAuthMethodId || authMethod.walletId !== input.walletId || authMethod.walletAuthorityId !== authority.authorityId || authority.walletId !== input.walletId) return unavailableSession(input.walletId, "invalid");
|
|
1894
|
-
if (selection.lockState === "locked") return { kind: "wallet_locked" };
|
|
1895
|
-
if (authMethod.status !== "active" || authority.state !== "active") return unavailableSession(input.walletId, "invalid");
|
|
1896
|
-
const authorizationRead = await readExactActiveForWalletOrUnavailable(dependencies, {
|
|
1897
|
-
walletId: input.walletId,
|
|
1898
|
-
authorityId: authority.authorityId,
|
|
1899
|
-
authMethodId: authMethod.walletAuthMethodId
|
|
1900
|
-
});
|
|
1901
|
-
switch (authorizationRead.kind) {
|
|
1902
|
-
case "missing": return unavailableSession(input.walletId, "absent");
|
|
1903
|
-
case "corrupt": return unavailableSession(input.walletId, "invalid");
|
|
1904
|
-
case "persistence_unavailable": return unavailableSession(input.walletId, "unavailable");
|
|
1905
|
-
case "upgrade_required": return unavailableSession(input.walletId, "upgrade_required");
|
|
1906
|
-
case "found": break;
|
|
1907
|
-
}
|
|
1908
|
-
const { record: authorization, operationCredential } = authorizationRead;
|
|
1909
|
-
if (!selectedExactSessionIdentityMatches({
|
|
1910
|
-
walletId: input.walletId,
|
|
1911
|
-
authorization,
|
|
1912
|
-
operationCredential,
|
|
1913
|
-
selected
|
|
1914
|
-
})) return unavailableSession(input.walletId, "invalid");
|
|
1915
|
-
const nowMs = dependencies.nowMs();
|
|
1916
|
-
if (authorization.expiresAtMs <= nowMs) return expiredExactSessionState(input.walletId, authMethod.kind, authorization, operationCredential);
|
|
1917
|
-
let status;
|
|
1918
|
-
try {
|
|
1919
|
-
status = await dependencies.readStatus({
|
|
1920
|
-
authorization,
|
|
1921
|
-
operationCredential
|
|
1922
|
-
});
|
|
1923
|
-
} catch {
|
|
1924
|
-
return unavailableSession(input.walletId, "unavailable");
|
|
1925
|
-
}
|
|
1926
|
-
if (!walletIframeStatusMatchesAuthorization(status, authorization, operationCredential)) return unavailableSession(input.walletId, "invalid");
|
|
1927
|
-
return exactSessionStateFromStatus({
|
|
1928
|
-
walletId: input.walletId,
|
|
1929
|
-
authMethod: authMethod.kind,
|
|
1930
|
-
authorization,
|
|
1931
|
-
operationCredential,
|
|
1932
|
-
status
|
|
1933
|
-
});
|
|
1934
|
-
}
|
|
1935
|
-
function parseWalletIframeExactSessionState(value) {
|
|
1936
|
-
if (value === null || typeof value !== "object" || Array.isArray(value)) throw new Error("Wallet iframe exact session state must be an object");
|
|
1937
|
-
switch (Reflect.get(value, "kind")) {
|
|
1938
|
-
case "wallet_locked": return { kind: "wallet_locked" };
|
|
1939
|
-
case "wallet_authenticated_identity_unresolvable": return {
|
|
1940
|
-
kind: "wallet_authenticated_identity_unresolvable",
|
|
1941
|
-
walletId: requireWalletId(Reflect.get(value, "walletId")),
|
|
1942
|
-
reason: Reflect.get(value, "reason") === "invalid" ? "invalid" : requireIdentityResolveFailure(Reflect.get(value, "reason"))
|
|
1943
|
-
};
|
|
1944
|
-
case "wallet_unlocked_without_signing_session": {
|
|
1945
|
-
const walletId = requireWalletId(Reflect.get(value, "walletId"));
|
|
1946
|
-
const reason = requireUnavailableReason(Reflect.get(value, "reason"));
|
|
1947
|
-
if (reason !== "not_found") return {
|
|
1948
|
-
kind: "wallet_unlocked_without_signing_session",
|
|
1949
|
-
walletId,
|
|
1950
|
-
reason
|
|
1951
|
-
};
|
|
1952
|
-
const authorizationId = parseWalletSessionAuthorizationId(Reflect.get(value, "authorizationId"));
|
|
1953
|
-
const walletSessionId = parseWalletSessionId(Reflect.get(value, "walletSessionId"));
|
|
1954
|
-
if (!authorizationId.ok) throw new Error("Wallet iframe missing authorization ID is invalid");
|
|
1955
|
-
if (!walletSessionId.ok) throw new Error("Wallet iframe missing Wallet Session ID is invalid");
|
|
1956
|
-
assertDistinctAuthorizationIdentity(authorizationId.value, walletSessionId.value);
|
|
1957
|
-
const authMethod = Reflect.get(value, "authMethod");
|
|
1958
|
-
if (!isWalletAuthMethod(authMethod)) throw new Error("Wallet iframe missing auth method is invalid");
|
|
1959
|
-
return {
|
|
1960
|
-
kind: "wallet_unlocked_without_signing_session",
|
|
1961
|
-
walletId,
|
|
1962
|
-
reason,
|
|
1963
|
-
authorizationId: authorizationId.value,
|
|
1964
|
-
walletSessionId: walletSessionId.value,
|
|
1965
|
-
authMethod
|
|
1966
|
-
};
|
|
1967
|
-
}
|
|
1968
|
-
case "active_session": {
|
|
1969
|
-
const identity = parseIdentity(value);
|
|
1970
|
-
if (Reflect.get(value, "status") !== "active") throw new Error("Wallet iframe active session status is invalid");
|
|
1971
|
-
return {
|
|
1972
|
-
kind: "active_session",
|
|
1973
|
-
status: "active",
|
|
1974
|
-
...identity
|
|
1975
|
-
};
|
|
1976
|
-
}
|
|
1977
|
-
case "expired_session": return {
|
|
1978
|
-
kind: "expired_session",
|
|
1979
|
-
...parseIdentity(value)
|
|
1980
|
-
};
|
|
1981
|
-
default: throw new Error("Wallet iframe exact session state kind is invalid");
|
|
1982
|
-
}
|
|
1983
|
-
}
|
|
1984
|
-
function parseWalletSessionFromBoundary(value, expectedWalletId) {
|
|
1985
|
-
if (value === null || typeof value !== "object" || Array.isArray(value)) throw new Error("Wallet Session must be an object");
|
|
1986
|
-
if (Reflect.get(value, "reusableWalletSession") !== void 0) throw new Error("Wallet Session contains removed reusable-session fields");
|
|
1987
|
-
const parsed = {
|
|
1988
|
-
appIdentity: parseWalletSessionAppIdentity(Reflect.get(value, "appIdentity")),
|
|
1989
|
-
authentication: parseWalletAuthenticationState(Reflect.get(value, "authentication")),
|
|
1990
|
-
capabilityProjection: parseWalletSessionCapabilityProjection(Reflect.get(value, "capabilityProjection")),
|
|
1991
|
-
nonceDiagnostics: parseNullableNonceDiagnostics(Reflect.get(value, "nonceDiagnostics"))
|
|
1992
|
-
};
|
|
1993
|
-
const expected = expectedWalletId === void 0 ? null : requireWalletId(expectedWalletId);
|
|
1994
|
-
const canonicalWalletId = walletSessionCanonicalWalletId(parsed);
|
|
1995
|
-
if (expected !== null && canonicalWalletId === null) throw new Error("Wallet iframe Wallet Session omitted the requested wallet identity");
|
|
1996
|
-
if (expected !== null && canonicalWalletId !== expected) throw new Error("Wallet iframe Wallet Session does not match the requested wallet");
|
|
1997
|
-
if (canonicalWalletId !== null && !walletSessionWalletIdsAgree(parsed, canonicalWalletId)) throw new Error("Wallet iframe Wallet Session wallet identities disagree");
|
|
1998
|
-
return parsed;
|
|
1999
|
-
}
|
|
2000
|
-
function parseWalletAuthenticationState(value) {
|
|
2001
|
-
if (value === null || typeof value !== "object" || Array.isArray(value)) throw new Error("Wallet Session authentication must be an object");
|
|
2002
|
-
switch (Reflect.get(value, "kind")) {
|
|
2003
|
-
case "signed_out": return { kind: "signed_out" };
|
|
2004
|
-
case "authenticated": {
|
|
2005
|
-
const authMethod = Reflect.get(value, "authMethod");
|
|
2006
|
-
if (!isWalletAuthMethod(authMethod)) throw new Error("Wallet Session authentication method is invalid");
|
|
2007
|
-
return {
|
|
2008
|
-
kind: "authenticated",
|
|
2009
|
-
walletId: requireWalletId(Reflect.get(value, "walletId")),
|
|
2010
|
-
authMethod
|
|
2011
|
-
};
|
|
2012
|
-
}
|
|
2013
|
-
default: throw new Error("Wallet Session authentication kind is invalid");
|
|
2014
|
-
}
|
|
2015
|
-
}
|
|
2016
|
-
function parseWalletIframeExactSessionIdentity(value) {
|
|
2017
|
-
if (value === null || typeof value !== "object" || Array.isArray(value)) throw new Error("Wallet iframe exact session identity must be an object");
|
|
2018
|
-
return parseIdentity(value);
|
|
2019
|
-
}
|
|
2020
|
-
function parseWalletIframeExactSessionLockResult(value) {
|
|
2021
|
-
if (value === null || typeof value !== "object" || Array.isArray(value)) throw new Error("Wallet iframe exact session lock result must be an object");
|
|
2022
|
-
switch (Reflect.get(value, "kind")) {
|
|
2023
|
-
case "locked": return {
|
|
2024
|
-
kind: "locked",
|
|
2025
|
-
identity: parseWalletIframeExactSessionIdentity(Reflect.get(value, "identity"))
|
|
2026
|
-
};
|
|
2027
|
-
case "stale_session": return {
|
|
2028
|
-
kind: "stale_session",
|
|
2029
|
-
expected: parseWalletIframeExactSessionIdentity(Reflect.get(value, "expected")),
|
|
2030
|
-
current: parseWalletIframeExactSessionState(Reflect.get(value, "current"))
|
|
2031
|
-
};
|
|
2032
|
-
default: throw new Error("Wallet iframe exact session lock result kind is invalid");
|
|
2033
|
-
}
|
|
2034
|
-
}
|
|
2035
|
-
function parseWalletSessionAppIdentity(value) {
|
|
2036
|
-
const record = requireRecordCopy(value, "Wallet Session appIdentity");
|
|
2037
|
-
switch (record.kind) {
|
|
2038
|
-
case "anonymous": return { kind: "anonymous" };
|
|
2039
|
-
case "unresolvable": return {
|
|
2040
|
-
kind: "unresolvable",
|
|
2041
|
-
walletId: requireWalletId(record.walletId),
|
|
2042
|
-
reason: requireIdentityResolveFailure(record.reason)
|
|
2043
|
-
};
|
|
2044
|
-
case "resolved": {
|
|
2045
|
-
const walletId = requireWalletId(record.walletId);
|
|
2046
|
-
const authMethods = requireArray(record.authMethods, "Wallet Session authMethods").map(parseWalletAuthMethodBinding);
|
|
2047
|
-
for (const binding of authMethods) if (walletIdFromAuthBinding(binding) !== walletId) throw new Error("Wallet Session auth-method wallet identity disagrees");
|
|
2048
|
-
return {
|
|
2049
|
-
kind: "resolved",
|
|
2050
|
-
walletId,
|
|
2051
|
-
nearAccountId: record.nearAccountId === null ? null : toAccountId(requireNonEmptyString(record.nearAccountId, "nearAccountId")),
|
|
2052
|
-
nearOperationalPublicKey: requireNullableString(record.nearOperationalPublicKey, "nearOperationalPublicKey"),
|
|
2053
|
-
userData: parseNullableClientUserData(record.userData, walletId),
|
|
2054
|
-
authMethods,
|
|
2055
|
-
thresholdEcdsaEthereumAddress: requireNullableString(record.thresholdEcdsaEthereumAddress, "thresholdEcdsaEthereumAddress"),
|
|
2056
|
-
thresholdEcdsaPublicKeyB64u: requireNullableString(record.thresholdEcdsaPublicKeyB64u, "thresholdEcdsaPublicKeyB64u")
|
|
2057
|
-
};
|
|
2058
|
-
}
|
|
2059
|
-
default: throw new Error("Wallet Session appIdentity kind is invalid");
|
|
2060
|
-
}
|
|
2061
|
-
}
|
|
2062
|
-
function parseWalletSessionCapabilityProjection(value) {
|
|
2063
|
-
const record = requireRecordCopy(value, "Wallet Session capabilityProjection");
|
|
2064
|
-
switch (record.kind) {
|
|
2065
|
-
case "not_requested": return { kind: "not_requested" };
|
|
2066
|
-
case "unresolvable": return {
|
|
2067
|
-
kind: "unresolvable",
|
|
2068
|
-
reason: requireIdentityResolveFailure(record.reason)
|
|
2069
|
-
};
|
|
2070
|
-
case "resolved": {
|
|
2071
|
-
const subjectSet = parseWalletUnlockSubjectSet(record.subjectSet);
|
|
2072
|
-
const capabilities = requireNonEmptyArray(record.capabilities, "Wallet Session capabilities").map(parseWalletSessionCapabilityReadiness);
|
|
2073
|
-
for (const capability of capabilities) if (capability.subject.walletId !== subjectSet.walletId) throw new Error("Wallet Session capability wallet identity disagrees");
|
|
2074
|
-
return {
|
|
2075
|
-
kind: "resolved",
|
|
2076
|
-
subjectSet,
|
|
2077
|
-
capabilities: requireNonEmptyCapabilities(capabilities)
|
|
2078
|
-
};
|
|
2079
|
-
}
|
|
2080
|
-
default: throw new Error("Wallet Session capabilityProjection kind is invalid");
|
|
2081
|
-
}
|
|
2082
|
-
}
|
|
2083
|
-
function parseWalletUnlockSubjectSet(value) {
|
|
2084
|
-
const record = requireRecordCopy(value, "wallet unlock subject set");
|
|
2085
|
-
if (record.kind !== "wallet_unlock_subject_set") throw new Error("Wallet unlock subject set kind is invalid");
|
|
2086
|
-
const walletId = requireWalletId(record.walletId);
|
|
2087
|
-
const subjects = requireNonEmptyArray(record.subjects, "wallet unlock subjects").map(parseWalletUnlockSubject);
|
|
2088
|
-
for (const subject of subjects) if (subject.walletId !== walletId) throw new Error("Wallet unlock subject wallet identity disagrees");
|
|
2089
|
-
const first = subjects[0];
|
|
2090
|
-
if (!first) throw new Error("Wallet unlock subject set must be non-empty");
|
|
2091
|
-
return {
|
|
2092
|
-
kind: "wallet_unlock_subject_set",
|
|
2093
|
-
walletId,
|
|
2094
|
-
subjects: [first, ...subjects.slice(1)]
|
|
2095
|
-
};
|
|
2096
|
-
}
|
|
2097
|
-
function parseWalletUnlockSubject(value) {
|
|
2098
|
-
const record = requireRecordCopy(value, "wallet unlock subject");
|
|
2099
|
-
const walletId = requireWalletId(record.walletId);
|
|
2100
|
-
switch (record.kind) {
|
|
2101
|
-
case "near_ed25519_wallet": {
|
|
2102
|
-
const signerSlot = parseSignerSlot(record.signerSlot);
|
|
2103
|
-
if (signerSlot === null) throw new Error("Wallet unlock signerSlot is invalid");
|
|
2104
|
-
return {
|
|
2105
|
-
kind: "near_ed25519_wallet",
|
|
2106
|
-
walletId,
|
|
2107
|
-
nearAccountId: toAccountId(requireNonEmptyString(record.nearAccountId, "nearAccountId")),
|
|
2108
|
-
nearEd25519SigningKeyId: parseNearEd25519SigningKeyId(record.nearEd25519SigningKeyId),
|
|
2109
|
-
signerSlot
|
|
2110
|
-
};
|
|
2111
|
-
}
|
|
2112
|
-
case "evm_family_ecdsa_wallet": {
|
|
2113
|
-
const capability = parseCapabilityInstanceRef(record.capability);
|
|
2114
|
-
if (!capability.ok) throw new Error(capability.error.message);
|
|
2115
|
-
const authority = parseWalletAuthAuthorityRef(record.authority);
|
|
2116
|
-
if (!authority || authority.walletId !== walletId) throw new Error("Wallet unlock ECDSA authority is invalid");
|
|
2117
|
-
return {
|
|
2118
|
-
kind: "evm_family_ecdsa_wallet",
|
|
2119
|
-
walletId,
|
|
2120
|
-
capability: capability.value,
|
|
2121
|
-
authority,
|
|
2122
|
-
ecdsaThresholdKeyId: parseEcdsaThresholdKeyId(record.ecdsaThresholdKeyId)
|
|
2123
|
-
};
|
|
2124
|
-
}
|
|
2125
|
-
default: throw new Error("Wallet unlock subject kind is invalid");
|
|
2126
|
-
}
|
|
2127
|
-
}
|
|
2128
|
-
function parseWalletSessionCapabilityReadiness(value) {
|
|
2129
|
-
const record = requireRecordCopy(value, "Wallet Session capability readiness");
|
|
2130
|
-
switch (record.kind) {
|
|
2131
|
-
case "near_ed25519": return {
|
|
2132
|
-
kind: "near_ed25519",
|
|
2133
|
-
subject: parseNearWalletUnlockSubject(record.subject),
|
|
2134
|
-
lane: parseWalletSessionCapabilityLaneReadiness(record.lane)
|
|
2135
|
-
};
|
|
2136
|
-
case "evm_family_ecdsa": return {
|
|
2137
|
-
kind: "evm_family_ecdsa",
|
|
2138
|
-
subject: parseEcdsaWalletUnlockSubject(record.subject),
|
|
2139
|
-
targets: parseEcdsaCapabilityTargets(record.targets)
|
|
2140
|
-
};
|
|
2141
|
-
default: throw new Error("Wallet Session capability readiness kind is invalid");
|
|
2142
|
-
}
|
|
2143
|
-
}
|
|
2144
|
-
function parseNearWalletUnlockSubject(value) {
|
|
2145
|
-
const subject = parseWalletUnlockSubject(value);
|
|
2146
|
-
if (subject.kind !== "near_ed25519_wallet") throw new Error("Near capability requires a Near wallet subject");
|
|
2147
|
-
return subject;
|
|
2148
|
-
}
|
|
2149
|
-
function parseEcdsaWalletUnlockSubject(value) {
|
|
2150
|
-
const subject = parseWalletUnlockSubject(value);
|
|
2151
|
-
if (subject.kind !== "evm_family_ecdsa_wallet") throw new Error("ECDSA capability requires an ECDSA wallet subject");
|
|
2152
|
-
return subject;
|
|
2153
|
-
}
|
|
2154
|
-
function parseEcdsaCapabilityTargets(value) {
|
|
2155
|
-
const record = requireRecordCopy(value, "ECDSA capability targets");
|
|
2156
|
-
switch (record.kind) {
|
|
2157
|
-
case "no_configured_target": return { kind: "no_configured_target" };
|
|
2158
|
-
case "configured_targets": {
|
|
2159
|
-
const lanes = requireNonEmptyArray(record.lanes, "ECDSA capability target lanes").map(parseEcdsaCapabilityTargetLane);
|
|
2160
|
-
const first = lanes[0];
|
|
2161
|
-
if (!first) throw new Error("ECDSA capability target lanes must be non-empty");
|
|
2162
|
-
return {
|
|
2163
|
-
kind: "configured_targets",
|
|
2164
|
-
lanes: [first, ...lanes.slice(1)]
|
|
2165
|
-
};
|
|
2166
|
-
}
|
|
2167
|
-
default: throw new Error("ECDSA capability targets kind is invalid");
|
|
2168
|
-
}
|
|
2169
|
-
}
|
|
2170
|
-
function parseEcdsaCapabilityTargetLane(value) {
|
|
2171
|
-
const record = requireRecordCopy(value, "ECDSA capability target lane");
|
|
2172
|
-
return {
|
|
2173
|
-
chainTarget: thresholdEcdsaChainTargetFromRequest(requireRecordCopy(record.chainTarget, "ECDSA chain target")),
|
|
2174
|
-
readiness: parseWalletSessionCapabilityLaneReadiness(record.readiness)
|
|
2175
|
-
};
|
|
2176
|
-
}
|
|
2177
|
-
function parseWalletSessionCapabilityLaneReadiness(value) {
|
|
2178
|
-
const record = requireRecordCopy(value, "Wallet Session capability lane readiness");
|
|
2179
|
-
switch (record.kind) {
|
|
2180
|
-
case "ready": return { kind: "ready" };
|
|
2181
|
-
case "pending": return {
|
|
2182
|
-
kind: "pending",
|
|
2183
|
-
resume: requireCapabilityLaneResume(record.resume)
|
|
2184
|
-
};
|
|
2185
|
-
case "authorization_required": return {
|
|
2186
|
-
kind: "authorization_required",
|
|
2187
|
-
requirement: requireCapabilityLaneAuthorizationRequirement(record.requirement)
|
|
2188
|
-
};
|
|
2189
|
-
case "superseded":
|
|
2190
|
-
if (record.replacement !== "re_resolve_current_capability") throw new Error("Superseded capability lane replacement is invalid");
|
|
2191
|
-
return {
|
|
2192
|
-
kind: "superseded",
|
|
2193
|
-
replacement: record.replacement
|
|
2194
|
-
};
|
|
2195
|
-
case "failed": return {
|
|
2196
|
-
kind: "failed",
|
|
2197
|
-
reason: requireFailedCapabilityLaneReason(record.reason)
|
|
2198
|
-
};
|
|
2199
|
-
default: throw new Error("Wallet Session capability lane readiness kind is invalid");
|
|
2200
|
-
}
|
|
2201
|
-
}
|
|
2202
|
-
function requireCapabilityLaneResume(value) {
|
|
2203
|
-
if (value === "restore_material" || value === "resolve_deferred_state") return value;
|
|
2204
|
-
throw new Error("Pending capability lane resume action is invalid");
|
|
2205
|
-
}
|
|
2206
|
-
function requireCapabilityLaneAuthorizationRequirement(value) {
|
|
2207
|
-
switch (value) {
|
|
2208
|
-
case "same_method_step_up":
|
|
2209
|
-
case "wallet_session_expired":
|
|
2210
|
-
case "wallet_session_exhausted": return value;
|
|
2211
|
-
default: throw new Error("Capability lane authorization requirement is invalid");
|
|
2212
|
-
}
|
|
2213
|
-
}
|
|
2214
|
-
function parseWalletAuthMethodBinding(value) {
|
|
2215
|
-
const parsed = walletAuthMethodBindingFromRaw(value);
|
|
2216
|
-
if (!parsed.ok) throw new Error(parsed.error.message);
|
|
2217
|
-
return parsed.value;
|
|
2218
|
-
}
|
|
2219
|
-
function walletIdFromAuthBinding(binding) {
|
|
2220
|
-
switch (binding.kind) {
|
|
2221
|
-
case "passkey": return binding.scope.wallet.walletId;
|
|
2222
|
-
case "email_otp": return binding.wallet.walletId;
|
|
2223
|
-
}
|
|
2224
|
-
throw new Error("Wallet auth-method binding kind is invalid");
|
|
2225
|
-
}
|
|
2226
|
-
function parseNullableClientUserData(value, expectedWalletId) {
|
|
2227
|
-
if (value === null) return null;
|
|
2228
|
-
const record = requireRecordCopy(value, "Wallet Session userData");
|
|
2229
|
-
const walletId = requireWalletId(record.walletId);
|
|
2230
|
-
if (walletId !== expectedWalletId) throw new Error("Wallet Session userData wallet identity disagrees");
|
|
2231
|
-
const passkeyCredential = requireRecordCopy(record.passkeyCredential, "passkeyCredential");
|
|
2232
|
-
const signerSlot = parseSignerSlot(record.signerSlot);
|
|
2233
|
-
if (signerSlot === null) throw new Error("Wallet Session userData signerSlot is invalid");
|
|
2234
|
-
const authMethod = parseNullableWalletAuthMethod(record.authMethod);
|
|
2235
|
-
return {
|
|
2236
|
-
walletId,
|
|
2237
|
-
nearAccountId: toAccountId(requireNonEmptyString(record.nearAccountId, "userData.nearAccountId")),
|
|
2238
|
-
loginDisplayName: requireNonEmptyString(record.loginDisplayName, "userData.loginDisplayName"),
|
|
2239
|
-
signerSlot,
|
|
2240
|
-
...record.version === void 0 ? {} : { version: requireNonNegativeSafeInteger(record.version, "userData.version") },
|
|
2241
|
-
...record.registeredAt === void 0 ? {} : { registeredAt: requireNonNegativeSafeInteger(record.registeredAt, "userData.registeredAt") },
|
|
2242
|
-
...record.lastLogin === void 0 ? {} : { lastLogin: requireNonNegativeSafeInteger(record.lastLogin, "userData.lastLogin") },
|
|
2243
|
-
...record.lastUpdated === void 0 ? {} : { lastUpdated: requireNonNegativeSafeInteger(record.lastUpdated, "userData.lastUpdated") },
|
|
2244
|
-
operationalPublicKey: requireNonEmptyString(record.operationalPublicKey, "userData.operationalPublicKey"),
|
|
2245
|
-
nearEd25519SigningKeyId: requireNonEmptyString(record.nearEd25519SigningKeyId, "userData.nearEd25519SigningKeyId"),
|
|
2246
|
-
passkeyCredential: {
|
|
2247
|
-
id: requireNonEmptyString(passkeyCredential.id, "passkeyCredential.id"),
|
|
2248
|
-
rawId: requireNonEmptyString(passkeyCredential.rawId, "passkeyCredential.rawId")
|
|
2249
|
-
},
|
|
2250
|
-
...authMethod === void 0 ? {} : { authMethod },
|
|
2251
|
-
...record.preferences === void 0 ? {} : { preferences: parseUserPreferences(record.preferences) }
|
|
2252
|
-
};
|
|
2253
|
-
}
|
|
2254
|
-
function parseNullableWalletAuthMethod(value) {
|
|
2255
|
-
if (value === void 0) return void 0;
|
|
2256
|
-
if (value === null) return null;
|
|
2257
|
-
if (!isWalletAuthMethod(value)) throw new Error("Wallet Session userData authMethod is invalid");
|
|
2258
|
-
return value;
|
|
2259
|
-
}
|
|
2260
|
-
function parseUserPreferences(value) {
|
|
2261
|
-
const record = requireRecordCopy(value, "Wallet Session user preferences");
|
|
2262
|
-
if (typeof record.useRelayer !== "boolean") throw new Error("Wallet Session user preferences useRelayer is invalid");
|
|
2263
|
-
if (record.useNetwork !== "testnet" && record.useNetwork !== "mainnet") throw new Error("Wallet Session user preferences useNetwork is invalid");
|
|
2264
|
-
const confirmation = requireRecordCopy(record.confirmationConfig, "Wallet Session confirmationConfig");
|
|
2265
|
-
if (confirmation.uiMode !== "none" && confirmation.uiMode !== "modal" && confirmation.uiMode !== "drawer") throw new Error("Wallet Session confirmationConfig uiMode is invalid");
|
|
2266
|
-
if (confirmation.behavior !== "requireClick" && confirmation.behavior !== "skipClick") throw new Error("Wallet Session confirmationConfig behavior is invalid");
|
|
2267
|
-
const autoProceedDelay = confirmation.autoProceedDelay === void 0 ? void 0 : requireNonNegativeSafeInteger(confirmation.autoProceedDelay, "confirmationConfig.autoProceedDelay");
|
|
2268
|
-
return {
|
|
2269
|
-
useRelayer: record.useRelayer,
|
|
2270
|
-
useNetwork: record.useNetwork,
|
|
2271
|
-
confirmationConfig: {
|
|
2272
|
-
uiMode: confirmation.uiMode,
|
|
2273
|
-
behavior: confirmation.behavior,
|
|
2274
|
-
...autoProceedDelay === void 0 ? {} : { autoProceedDelay }
|
|
2275
|
-
}
|
|
2276
|
-
};
|
|
2277
|
-
}
|
|
2278
|
-
function parseNullableNonceDiagnostics(value) {
|
|
2279
|
-
if (value === null) return null;
|
|
2280
|
-
const record = requireRecordCopy(value, "Wallet Session nonce diagnostics");
|
|
2281
|
-
const near = requireRecordCopy(record.near, "near nonce diagnostics");
|
|
2282
|
-
return {
|
|
2283
|
-
leaseCount: requireNonNegativeSafeInteger(record.leaseCount, "nonce leaseCount"),
|
|
2284
|
-
leasesByState: parseRequiredNonceStateCounts(record.leasesByState),
|
|
2285
|
-
laneCount: requireNonNegativeSafeInteger(record.laneCount, "nonce laneCount"),
|
|
2286
|
-
metrics: parseNonceMetrics(record.metrics),
|
|
2287
|
-
coordinationWarnings: requireArray(record.coordinationWarnings, "nonce coordination warnings").map(parseNonceCoordinationWarning),
|
|
2288
|
-
lanes: requireArray(record.lanes, "nonce diagnostic lanes").map(parseNonceDiagnosticLane),
|
|
2289
|
-
near: {
|
|
2290
|
-
...near.activeAccountId === void 0 ? {} : { activeAccountId: requireNonEmptyString(near.activeAccountId, "near activeAccountId") },
|
|
2291
|
-
...near.activePublicKey === void 0 ? {} : { activePublicKey: requireNonEmptyString(near.activePublicKey, "near activePublicKey") },
|
|
2292
|
-
hasContext: requireBoolean(near.hasContext, "near hasContext"),
|
|
2293
|
-
reservedNonceCount: requireNonNegativeSafeInteger(near.reservedNonceCount, "near reservedNonceCount"),
|
|
2294
|
-
...near.lastReservedNonce === void 0 ? {} : { lastReservedNonce: requireNonEmptyString(near.lastReservedNonce, "near lastReservedNonce") }
|
|
2295
|
-
}
|
|
2296
|
-
};
|
|
2297
|
-
}
|
|
2298
|
-
function parseNonceMetrics(value) {
|
|
2299
|
-
const record = requireRecordCopy(value, "nonce metrics");
|
|
2300
|
-
return {
|
|
2301
|
-
atMs: requireNonNegativeSafeInteger(record.atMs, "nonce metrics atMs"),
|
|
2302
|
-
...record.accountId === void 0 ? {} : { accountId: requireNonEmptyString(record.accountId, "nonce metrics accountId") },
|
|
2303
|
-
leaseCount: requireNonNegativeSafeInteger(record.leaseCount, "nonce metrics leaseCount"),
|
|
2304
|
-
laneCount: requireNonNegativeSafeInteger(record.laneCount, "nonce metrics laneCount"),
|
|
2305
|
-
oldestLeaseAgeMs: requireNonNegativeSafeInteger(record.oldestLeaseAgeMs, "nonce metrics oldestLeaseAgeMs"),
|
|
2306
|
-
oldestInFlightLeaseAgeMs: requireNonNegativeSafeInteger(record.oldestInFlightLeaseAgeMs, "nonce metrics oldestInFlightLeaseAgeMs"),
|
|
2307
|
-
staleInFlightLeaseCount: requireNonNegativeSafeInteger(record.staleInFlightLeaseCount, "nonce metrics staleInFlightLeaseCount"),
|
|
2308
|
-
staleInFlightLaneCount: requireNonNegativeSafeInteger(record.staleInFlightLaneCount, "nonce metrics staleInFlightLaneCount"),
|
|
2309
|
-
reservedLeaseCount: requireNonNegativeSafeInteger(record.reservedLeaseCount, "nonce metrics reservedLeaseCount"),
|
|
2310
|
-
signedLeaseCount: requireNonNegativeSafeInteger(record.signedLeaseCount, "nonce metrics signedLeaseCount"),
|
|
2311
|
-
broadcastAcceptedLeaseCount: requireNonNegativeSafeInteger(record.broadcastAcceptedLeaseCount, "nonce metrics broadcastAcceptedLeaseCount"),
|
|
2312
|
-
droppedLeaseCount: requireNonNegativeSafeInteger(record.droppedLeaseCount, "nonce metrics droppedLeaseCount"),
|
|
2313
|
-
replacedLeaseCount: requireNonNegativeSafeInteger(record.replacedLeaseCount, "nonce metrics replacedLeaseCount"),
|
|
2314
|
-
reconciledLeaseCount: requireNonNegativeSafeInteger(record.reconciledLeaseCount, "nonce metrics reconciledLeaseCount"),
|
|
2315
|
-
releasedLeaseCount: requireNonNegativeSafeInteger(record.releasedLeaseCount, "nonce metrics releasedLeaseCount"),
|
|
2316
|
-
outcomes: parseNonceOutcomeMetrics(record.outcomes)
|
|
2317
|
-
};
|
|
2318
|
-
}
|
|
2319
|
-
function parseNonceOutcomeMetrics(value) {
|
|
2320
|
-
const record = requireRecordCopy(value, "nonce outcome metrics");
|
|
2321
|
-
return {
|
|
2322
|
-
droppedCount: requireNonNegativeSafeInteger(record.droppedCount, "droppedCount"),
|
|
2323
|
-
replacedCount: requireNonNegativeSafeInteger(record.replacedCount, "replacedCount"),
|
|
2324
|
-
reconciledCount: requireNonNegativeSafeInteger(record.reconciledCount, "reconciledCount"),
|
|
2325
|
-
releasedCount: requireNonNegativeSafeInteger(record.releasedCount, "releasedCount"),
|
|
2326
|
-
expiredCount: requireNonNegativeSafeInteger(record.expiredCount, "expiredCount"),
|
|
2327
|
-
broadcastRejectedCount: requireNonNegativeSafeInteger(record.broadcastRejectedCount, "broadcastRejectedCount"),
|
|
2328
|
-
releaseReasons: parseStringCountMap(record.releaseReasons, "releaseReasons"),
|
|
2329
|
-
reconcileReasons: parseStringCountMap(record.reconcileReasons, "reconcileReasons"),
|
|
2330
|
-
expiryReasons: parseStringCountMap(record.expiryReasons, "expiryReasons")
|
|
2331
|
-
};
|
|
2332
|
-
}
|
|
2333
|
-
function parseStringCountMap(value, label) {
|
|
2334
|
-
const record = requireRecordCopy(value, label);
|
|
2335
|
-
const parsed = {};
|
|
2336
|
-
for (const [key, count] of Object.entries(record)) {
|
|
2337
|
-
if (!key) throw new Error(`${label} key must be non-empty`);
|
|
2338
|
-
parsed[key] = requireNonNegativeSafeInteger(count, `${label}.${key}`);
|
|
2339
|
-
}
|
|
2340
|
-
return parsed;
|
|
2341
|
-
}
|
|
2342
|
-
function parseNonceCoordinationWarning(value) {
|
|
2343
|
-
const record = requireRecordCopy(value, "nonce coordination warning");
|
|
2344
|
-
return {
|
|
2345
|
-
reason: requireNonceDegradationReason(record.reason),
|
|
2346
|
-
...record.laneFamily === void 0 ? {} : { laneFamily: requireNonceLaneFamily(record.laneFamily) },
|
|
2347
|
-
...record.networkKey === void 0 ? {} : { networkKey: requireNonEmptyString(record.networkKey, "warning networkKey") },
|
|
2348
|
-
...record.accountId === void 0 ? {} : { accountId: requireNonEmptyString(record.accountId, "warning accountId") },
|
|
2349
|
-
fallback: requireNonceCoordinatorFallback(record.fallback)
|
|
2350
|
-
};
|
|
2351
|
-
}
|
|
2352
|
-
function parseNonceDiagnosticLane(value) {
|
|
2353
|
-
const record = requireRecordCopy(value, "nonce diagnostic lane");
|
|
2354
|
-
const family = requireNonceLaneFamily(record.family);
|
|
2355
|
-
const chain = record.chain === void 0 ? void 0 : requireEvmNonceChain(record.chain);
|
|
2356
|
-
if (family === "near" && (chain !== void 0 || record.chainId !== void 0)) throw new Error("Near nonce diagnostic lane cannot contain EVM chain identity");
|
|
2357
|
-
return {
|
|
2358
|
-
family,
|
|
2359
|
-
...record.accountId === void 0 ? {} : { accountId: requireNonEmptyString(record.accountId, "lane accountId") },
|
|
2360
|
-
networkKey: requireNonEmptyString(record.networkKey, "lane networkKey"),
|
|
2361
|
-
...chain === void 0 ? {} : { chain },
|
|
2362
|
-
...record.chainId === void 0 ? {} : { chainId: requireNonNegativeSafeInteger(record.chainId, "lane chainId") },
|
|
2363
|
-
leaseCount: requireNonNegativeSafeInteger(record.leaseCount, "lane leaseCount"),
|
|
2364
|
-
states: parsePartialNonceStateCounts(record.states)
|
|
2365
|
-
};
|
|
2366
|
-
}
|
|
2367
|
-
function parseRequiredNonceStateCounts(value) {
|
|
2368
|
-
const record = requireRecordCopy(value, "nonce state counts");
|
|
2369
|
-
const counts = {};
|
|
2370
|
-
for (const state of Object.values(NonceLeaseState)) counts[state] = requireNonceStateCount(record, state);
|
|
2371
|
-
return counts;
|
|
2372
|
-
}
|
|
2373
|
-
function parsePartialNonceStateCounts(value) {
|
|
2374
|
-
const record = requireRecordCopy(value, "nonce state counts");
|
|
2375
|
-
const counts = {};
|
|
2376
|
-
for (const state of Object.values(NonceLeaseState)) if (record[state] !== void 0) counts[state] = requireNonceStateCount(record, state);
|
|
2377
|
-
return counts;
|
|
2378
|
-
}
|
|
2379
|
-
function requireNonceStateCount(record, state) {
|
|
2380
|
-
return requireNonNegativeSafeInteger(record[state], `nonce state ${state}`);
|
|
2381
|
-
}
|
|
2382
|
-
function requireNonceDegradationReason(value) {
|
|
2383
|
-
switch (value) {
|
|
2384
|
-
case NonceCoordinatorDegradationReason.WebLocksUnavailable:
|
|
2385
|
-
case NonceCoordinatorDegradationReason.IndexedDBUnavailable:
|
|
2386
|
-
case NonceCoordinatorDegradationReason.DurableLockTimeout:
|
|
2387
|
-
case NonceCoordinatorDegradationReason.DurableStoreError:
|
|
2388
|
-
case NonceCoordinatorDegradationReason.MalformedDurableRecord: return value;
|
|
2389
|
-
default: throw new Error("Nonce coordination warning reason is invalid");
|
|
2390
|
-
}
|
|
2391
|
-
}
|
|
2392
|
-
function requireNonceCoordinatorFallback(value) {
|
|
2393
|
-
switch (value) {
|
|
2394
|
-
case NonceCoordinatorFallback.InRuntimeLock:
|
|
2395
|
-
case NonceCoordinatorFallback.None: return value;
|
|
2396
|
-
default: throw new Error("Nonce coordination warning fallback is invalid");
|
|
2397
|
-
}
|
|
2398
|
-
}
|
|
2399
|
-
function requireNonceLaneFamily(value) {
|
|
2400
|
-
if (value === "near" || value === "evm") return value;
|
|
2401
|
-
throw new Error("Nonce lane family is invalid");
|
|
2402
|
-
}
|
|
2403
|
-
function requireEvmNonceChain(value) {
|
|
2404
|
-
if (value === "evm" || value === "tempo") return value;
|
|
2405
|
-
throw new Error("Nonce lane chain is invalid");
|
|
2406
|
-
}
|
|
2407
|
-
function requireBoolean(value, label) {
|
|
2408
|
-
if (typeof value !== "boolean") throw new Error(`${label} must be a boolean`);
|
|
2409
|
-
return value;
|
|
2410
|
-
}
|
|
2411
|
-
function requireNonEmptyCapabilities(values) {
|
|
2412
|
-
const first = values[0];
|
|
2413
|
-
if (!first) throw new Error("Wallet Session capabilities must be non-empty");
|
|
2414
|
-
return [first, ...values.slice(1)];
|
|
2415
|
-
}
|
|
2416
|
-
function walletSessionCanonicalWalletId(session) {
|
|
2417
|
-
if (session.authentication.kind !== "signed_out") return session.authentication.walletId;
|
|
2418
|
-
switch (session.appIdentity.kind) {
|
|
2419
|
-
case "resolved":
|
|
2420
|
-
case "unresolvable": return session.appIdentity.walletId;
|
|
2421
|
-
case "anonymous": break;
|
|
2422
|
-
}
|
|
2423
|
-
if (session.capabilityProjection.kind === "resolved") return session.capabilityProjection.subjectSet.walletId;
|
|
2424
|
-
return null;
|
|
2425
|
-
}
|
|
2426
|
-
function walletSessionWalletIdsAgree(session, walletId) {
|
|
2427
|
-
if (session.authentication.kind !== "signed_out" && session.authentication.walletId !== walletId) return false;
|
|
2428
|
-
if (session.appIdentity.kind !== "anonymous" && session.appIdentity.walletId !== walletId) return false;
|
|
2429
|
-
const projection = session.capabilityProjection;
|
|
2430
|
-
if (projection.kind !== "resolved") return true;
|
|
2431
|
-
if (projection.subjectSet.walletId !== walletId) return false;
|
|
2432
|
-
for (const subject of projection.subjectSet.subjects) if (subject.walletId !== walletId) return false;
|
|
2433
|
-
for (const capability of projection.capabilities) if (capability.subject.walletId !== walletId) return false;
|
|
2434
|
-
return true;
|
|
2435
|
-
}
|
|
2436
|
-
function requireIdentityResolveFailure(value) {
|
|
2437
|
-
switch (value) {
|
|
2438
|
-
case "missing_wallet_profile":
|
|
2439
|
-
case "ambiguous_wallet_profile":
|
|
2440
|
-
case "missing_requested_capability_subject":
|
|
2441
|
-
case "capability_subject_lookup_failed":
|
|
2442
|
-
case "invalid_capability_subject":
|
|
2443
|
-
case "activation_reconciliation_pending":
|
|
2444
|
-
case "activation_reconciliation_failed":
|
|
2445
|
-
case "invalid_wallet_profile": return value;
|
|
2446
|
-
default: throw new Error("Wallet Session identity resolve failure is invalid");
|
|
2447
|
-
}
|
|
2448
|
-
}
|
|
2449
|
-
function requireFailedCapabilityLaneReason(value) {
|
|
2450
|
-
switch (value) {
|
|
2451
|
-
case "missing":
|
|
2452
|
-
case "persistence_unavailable":
|
|
2453
|
-
case "malformed":
|
|
2454
|
-
case "identity_mismatch":
|
|
2455
|
-
case "ambiguous_lane": return value;
|
|
2456
|
-
default: throw new Error("Failed capability lane reason is invalid");
|
|
2457
|
-
}
|
|
2458
|
-
}
|
|
2459
|
-
function requireNonEmptyArray(value, label) {
|
|
2460
|
-
const values = requireArray(value, label);
|
|
2461
|
-
const first = values[0];
|
|
2462
|
-
if (first === void 0) throw new Error(`${label} must be non-empty`);
|
|
2463
|
-
return [first, ...values.slice(1)];
|
|
2464
|
-
}
|
|
2465
|
-
function requireNullableString(value, label) {
|
|
2466
|
-
if (value === null) return null;
|
|
2467
|
-
return requireNonEmptyString(value, label);
|
|
2468
|
-
}
|
|
2469
|
-
function requireNonNegativeSafeInteger(value, label) {
|
|
2470
|
-
if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 0) throw new Error(`${label} must be a non-negative integer`);
|
|
2471
|
-
return value;
|
|
2472
|
-
}
|
|
2473
|
-
function selectedExactSessionIdentityMatches(input) {
|
|
2474
|
-
const { authorization, operationCredential, selected } = input;
|
|
2475
|
-
return authorization.walletId === input.walletId && authorization.authorityId === selected.authority.authorityId && authorization.authMethodId === selected.authMethod.walletAuthMethodId && authorization.authorityDigestB64u === selected.authority.authorityDigestB64u && authorization.authorityRevocationEpoch === selected.authority.revocationEpoch && operationCredential.kind === "opaque_wallet_session_operation_credential_v1" && operationCredential.token.trim().length > 0 && String(authorization.authorizationId) !== String(operationCredential.walletSessionId);
|
|
2476
|
-
}
|
|
2477
|
-
async function readExactActiveForWalletOrUnavailable(dependencies, input) {
|
|
2478
|
-
try {
|
|
2479
|
-
return await dependencies.readExactActiveForWallet(input);
|
|
2480
|
-
} catch {
|
|
2481
|
-
return { kind: "persistence_unavailable" };
|
|
2482
|
-
}
|
|
2483
|
-
}
|
|
2484
|
-
function exactIdentityFromV6(walletId, authMethod, authorization, operationCredential) {
|
|
2485
|
-
return {
|
|
2486
|
-
walletId,
|
|
2487
|
-
authorizationId: authorization.authorizationId,
|
|
2488
|
-
walletSessionId: operationCredential.walletSessionId,
|
|
2489
|
-
authMethod,
|
|
2490
|
-
expiresAtMs: authorization.expiresAtMs
|
|
2491
|
-
};
|
|
2492
|
-
}
|
|
2493
|
-
function expiredExactSessionState(walletId, authMethod, authorization, operationCredential) {
|
|
2494
|
-
return {
|
|
2495
|
-
kind: "expired_session",
|
|
2496
|
-
...exactIdentityFromV6(walletId, authMethod, authorization, operationCredential)
|
|
2497
|
-
};
|
|
2498
|
-
}
|
|
2499
|
-
function walletIframeStatusMatchesAuthorization(status, authorization, operationCredential) {
|
|
2500
|
-
if (status.walletSessionId !== operationCredential.walletSessionId || status.quotaId !== authorization.quotaId) return false;
|
|
2501
|
-
switch (status.status) {
|
|
2502
|
-
case "missing":
|
|
2503
|
-
case "invalid": return true;
|
|
2504
|
-
case "active":
|
|
2505
|
-
case "exhausted":
|
|
2506
|
-
case "expired":
|
|
2507
|
-
case "superseded":
|
|
2508
|
-
case "authority_unavailable":
|
|
2509
|
-
case "method_unavailable":
|
|
2510
|
-
case "capability_unavailable": return status.expiresAtMs === authorization.expiresAtMs && activeWalletSessionV1RecordsEqual(status.authorization, authorization);
|
|
2511
|
-
}
|
|
2512
|
-
}
|
|
2513
|
-
function exactSessionStateFromStatus(input) {
|
|
2514
|
-
switch (input.status.status) {
|
|
2515
|
-
case "active":
|
|
2516
|
-
if (input.status.remainingUses <= 0) return unavailableSession(input.walletId, "invalid");
|
|
2517
|
-
return {
|
|
2518
|
-
kind: "active_session",
|
|
2519
|
-
status: "active",
|
|
2520
|
-
...exactIdentityFromV6(input.walletId, input.authMethod, input.authorization, input.operationCredential)
|
|
2521
|
-
};
|
|
2522
|
-
case "exhausted": return unavailableSession(input.walletId, "exhausted");
|
|
2523
|
-
case "expired": return expiredExactSessionState(input.walletId, input.authMethod, input.authorization, input.operationCredential);
|
|
2524
|
-
case "missing": return {
|
|
2525
|
-
kind: "wallet_unlocked_without_signing_session",
|
|
2526
|
-
walletId: input.walletId,
|
|
2527
|
-
reason: "not_found",
|
|
2528
|
-
authorizationId: input.authorization.authorizationId,
|
|
2529
|
-
walletSessionId: input.operationCredential.walletSessionId,
|
|
2530
|
-
authMethod: input.authMethod
|
|
2531
|
-
};
|
|
2532
|
-
case "superseded":
|
|
2533
|
-
case "authority_unavailable":
|
|
2534
|
-
case "method_unavailable":
|
|
2535
|
-
case "capability_unavailable": return unavailableSession(input.walletId, "superseded");
|
|
2536
|
-
case "invalid": return unavailableSession(input.walletId, "invalid");
|
|
2537
|
-
}
|
|
2538
|
-
}
|
|
2539
|
-
function exactSessionIdentitiesMatch(left, right) {
|
|
2540
|
-
return left.walletId === right.walletId && left.authorizationId === right.authorizationId && left.walletSessionId === right.walletSessionId;
|
|
2541
|
-
}
|
|
2542
|
-
function parseIdentity(value) {
|
|
2543
|
-
const walletSessionId = parseWalletSessionId(Reflect.get(value, "walletSessionId"));
|
|
2544
|
-
if (!walletSessionId.ok) throw new Error("Wallet iframe walletSessionId is invalid");
|
|
2545
|
-
const expiresAtMs = Reflect.get(value, "expiresAtMs");
|
|
2546
|
-
if (!isPositiveSafeInteger(expiresAtMs)) throw new Error("Wallet iframe expiresAtMs is invalid");
|
|
2547
|
-
const walletId = requireWalletId(Reflect.get(value, "walletId"));
|
|
2548
|
-
const authorizationId = parseWalletSessionAuthorizationId(Reflect.get(value, "authorizationId"));
|
|
2549
|
-
if (!authorizationId.ok) throw new Error("Wallet iframe authorizationId is invalid");
|
|
2550
|
-
const authMethod = Reflect.get(value, "authMethod");
|
|
2551
|
-
if (!isWalletAuthMethod(authMethod)) throw new Error("Wallet iframe authMethod is invalid");
|
|
2552
|
-
assertDistinctAuthorizationIdentity(authorizationId.value, walletSessionId.value);
|
|
2553
|
-
return {
|
|
2554
|
-
walletId,
|
|
2555
|
-
authorizationId: authorizationId.value,
|
|
2556
|
-
walletSessionId: walletSessionId.value,
|
|
2557
|
-
authMethod,
|
|
2558
|
-
expiresAtMs
|
|
2559
|
-
};
|
|
2560
|
-
}
|
|
2561
|
-
function assertDistinctAuthorizationIdentity(authorizationId, walletSessionId) {
|
|
2562
|
-
if (String(authorizationId) === String(walletSessionId)) throw new Error("Wallet iframe authorization and Wallet Session IDs must be distinct");
|
|
2563
|
-
}
|
|
2564
|
-
function unavailableSession(walletId, reason) {
|
|
2565
|
-
return {
|
|
2566
|
-
kind: "wallet_unlocked_without_signing_session",
|
|
2567
|
-
walletId,
|
|
2568
|
-
reason
|
|
2569
|
-
};
|
|
2570
|
-
}
|
|
2571
|
-
function requireWalletId(value) {
|
|
2572
|
-
const parsed = parseWalletId(value);
|
|
2573
|
-
if (!parsed.ok) throw new Error("Wallet iframe walletId is invalid");
|
|
2574
|
-
return parsed.value;
|
|
2575
|
-
}
|
|
2576
|
-
function requireUnavailableReason(value) {
|
|
2577
|
-
switch (value) {
|
|
2578
|
-
case "exhausted":
|
|
2579
|
-
case "absent":
|
|
2580
|
-
case "not_found":
|
|
2581
|
-
case "unavailable":
|
|
2582
|
-
case "upgrade_required":
|
|
2583
|
-
case "superseded":
|
|
2584
|
-
case "invalid": return value;
|
|
2585
|
-
default: throw new Error("Wallet iframe unavailable reason is invalid");
|
|
2586
|
-
}
|
|
2587
|
-
}
|
|
2588
|
-
function isPositiveSafeInteger(value) {
|
|
2589
|
-
return typeof value === "number" && Number.isSafeInteger(value) && value > 0;
|
|
2590
|
-
}
|
|
2591
|
-
//#endregion
|
|
2592
|
-
export { validateTempoFeeToken as C, requestParentDomainWebAuthn as D, executeWebAuthnWithParentFallbacksSafari as E, requireTempoFeeTokenPreferenceSigningRequest as S, WindowParentDomainWebAuthnClient as T, provisionalWalletIframeSurfaceGeometry as _, parseWalletIframeExactSessionState as a, parseTempoEvmAddress as b, buildPMUnlockPayload as c, walletIframeUnlockRequestFromLoginHooks as d, needsExplicitActivation as f, isWalletIframeModalGeometry as g, anchorWalletIframeModalGeometry as h, parseWalletIframeExactSessionLockResult as i, pmUnlockPayloadToLoginHooksOptions as l, ensureOverlayBase as m, exactSessionIdentitiesMatch as n, parseWalletSessionFromBoundary as o, OverlayController as p, parseWalletIframeExactSessionIdentity as r, readSelectedWalletIframeExactSessionState as s, WalletIframeSessionExpiredRequestError as t, requirePMUnlockPayload as u, resolveWalletIframeSurfaceGeometry as v, WebAuthnBridgeMessage as w, readTempoFeeTokenPreference as x, buildTempoSetUserTokenRequest as y };
|