@seams/wallet 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +140 -254
- package/THIRD_PARTY_NOTICES.md +7 -1
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/SeamsWeb.js +98 -1825
- package/dist/esm/SeamsWeb/assembly/createWalletIframeRouter.js +4 -15
- package/dist/esm/SeamsWeb/index.js +2 -2
- package/dist/esm/SeamsWeb/operations/devices/scanDevice.js +3 -361
- package/dist/esm/SeamsWeb/operations/near/delegateAction.js +18 -106
- package/dist/esm/SeamsWeb/operations/recovery/walletRecovery.js +3 -3
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCommit.js +8 -209
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +5 -5
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryJournal.js +2 -64
- package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +1 -1
- package/dist/esm/SeamsWeb/operations/tempo/index.js +1 -13
- package/dist/esm/SeamsWeb/publicApi/auth.js +3 -19
- package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +59 -94
- package/dist/esm/SeamsWeb/publicApi/currentWallet.js +1 -1
- package/dist/esm/SeamsWeb/publicApi/devices.js +33 -64
- package/dist/esm/SeamsWeb/publicApi/evm.js +28 -93
- package/dist/esm/SeamsWeb/publicApi/keyExport.js +26 -52
- package/dist/esm/SeamsWeb/publicApi/near.js +140 -435
- package/dist/esm/SeamsWeb/publicApi/placement.js +206 -0
- package/dist/esm/SeamsWeb/publicApi/session.js +13 -0
- package/dist/esm/SeamsWeb/publicApi/tempo.js +64 -221
- package/dist/esm/SeamsWeb/publicApi/{awaitNearReady.js → waitForNearAccount.js} +12 -12
- package/dist/esm/SeamsWeb/walletIframe/client/deviceCommands.js +50 -0
- package/dist/esm/SeamsWeb/walletIframe/client/emailOtpCommands.js +25 -0
- package/dist/esm/SeamsWeb/walletIframe/client/evmFamilyCommands.js +118 -0
- package/dist/esm/SeamsWeb/walletIframe/client/inboundMessages.js +223 -0
- package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +153 -0
- package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +2 -2
- package/dist/esm/SeamsWeb/walletIframe/client/placementCommands.js +65 -0
- package/dist/esm/SeamsWeb/walletIframe/client/preferenceState.js +93 -0
- package/dist/esm/SeamsWeb/walletIframe/client/preferences.js +117 -0
- package/dist/esm/SeamsWeb/walletIframe/client/registrationCommands.js +92 -0
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +241 -583
- package/dist/esm/SeamsWeb/walletIframe/client/sessionCommands.js +61 -0
- package/dist/esm/SeamsWeb/walletIframe/coordinator.js +175 -134
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +13 -1
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +1 -1
- package/dist/esm/SeamsWeb/walletIframe/shared/configuration.js +37 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +31 -11
- package/dist/esm/SeamsWeb/walletIframe/shared/facadeBoundary.js +96 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +6 -32
- package/dist/esm/advanced.js +3 -3
- package/dist/esm/build-paths.js +0 -4
- package/dist/esm/core/accountData/near/accountProjection.js +3 -3
- package/dist/esm/core/accountData/near/keyMaterial.js +2 -2
- package/dist/esm/core/config/chains.js +1 -28
- package/dist/esm/core/config/configBuilder.js +3 -14
- package/dist/esm/core/config/defaultConfigs.js +4 -6
- package/dist/esm/core/{signingEngine/workerManager/ecdsaPresignLifecycle.js → config/presignatures.js} +2 -2
- package/dist/esm/core/diagnostics/registration.js +8 -0
- package/dist/esm/core/indexedDB/accountKeyMaterial.js +1 -1
- package/dist/esm/core/indexedDB/linkedAuthoritySignerMaterial.js +4 -125
- package/dist/esm/core/indexedDB/normalization.js +7 -1
- package/dist/esm/core/indexedDB/pendingWalletRecoveryCommit.js +1 -1
- package/dist/esm/core/indexedDB/pendingWalletRegistrationCommit.js +3 -41
- package/dist/esm/core/indexedDB/seamsWalletDB/accountSignerRows.js +261 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +2 -201
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +5 -736
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +6 -1084
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +20 -138
- package/dist/esm/core/indexedDB/seamsWalletDB/manager.js +100 -4
- package/dist/esm/core/indexedDB/seamsWalletDB/nonceLeaseRows.js +156 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/registrationSetup.js +4 -11
- package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +91 -547
- package/dist/esm/core/indexedDB/seamsWalletDB/signerOutboxRows.js +90 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +7 -92
- package/dist/esm/core/indexedDB/seamsWalletDB/walletOwnershipGeneration.js +43 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +103 -157
- package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +2 -1
- package/dist/esm/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
- package/dist/esm/core/rpcClients/evm/nonceBackend.js +1 -176
- package/dist/esm/core/rpcClients/near/accountExists.js +34 -0
- package/dist/esm/core/rpcClients/relayer/ecdsaPrepareSession.js +42 -0
- package/dist/esm/core/rpcClients/relayer/relayerHttp.js +31 -1
- package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +47 -11
- package/dist/esm/core/rpcClients/relayer/walletRecoveryFinalize.js +2 -48
- package/dist/esm/core/rpcClients/relayer/walletRecoveryPrepare.js +9 -9
- package/dist/esm/core/rpcClients/relayer/walletRecoveryRotate.js +1 -223
- package/dist/esm/core/rpcClients/relayer/walletRegistration.js +36 -2197
- package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +145 -14
- package/dist/esm/core/signingEngine/chains/evm/evmAdapter.js +1 -1
- package/dist/esm/core/signingEngine/chains/near/display.js +1 -27
- package/dist/esm/core/signingEngine/chains/near/nearSignerWasm.js +2 -2
- package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +6 -39
- package/dist/esm/core/signingEngine/flows/shared/signingConfirmation.js +2 -2
- package/dist/esm/core/signingEngine/flows/shared/signingStateMachine.js +1 -11
- package/dist/esm/core/signingEngine/flows/signEvmFamily/authPlanning.js +2 -2
- package/dist/esm/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +3 -3
- package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +3 -136
- package/dist/esm/core/signingEngine/flows/signEvmFamily/freshWalletSessionRetry.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/operationIds.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/preparedSigning.js +2 -3
- package/dist/esm/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.js +40 -5
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +4 -4
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +27 -53
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +5 -5
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +40 -33
- package/dist/esm/core/signingEngine/flows/signEvmFamily/thresholdAdmission.js +8 -2
- package/dist/esm/core/signingEngine/flows/signNear/implicitAccountFunding.js +1 -1
- package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +177 -68
- package/dist/esm/core/signingEngine/flows/signNear/shared/implicitAccountFundingPort.js +1 -8
- package/dist/esm/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.js +1 -38
- package/dist/esm/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +53 -8
- package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +5 -5
- package/dist/esm/core/signingEngine/flows/signNear/signNear.js +30 -44
- package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +21 -12
- package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +59 -11
- package/dist/esm/core/signingEngine/interfaces/ecdsaChainTarget.js +1 -1
- package/dist/esm/core/signingEngine/nonce/nonceLaneKeys.js +1 -35
- package/dist/esm/core/signingEngine/nonce/nonceTypes.js +2 -26
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/httpRequest.js +4 -3
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.js +5 -1
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +112 -162
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePoolPolicy.js +31 -0
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +1 -1
- package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +3 -913
- package/dist/esm/core/signingEngine/session/emailOtp/challengeDelivery.js +1 -45
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.js +1 -81
- package/dist/esm/core/signingEngine/session/identity/clientSessionPersistenceState.js +1 -43
- package/dist/esm/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.js +1 -9
- package/dist/esm/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +3 -125
- package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +3 -19
- package/dist/esm/core/signingEngine/session/identity/laneIdentity.js +2 -106
- package/dist/esm/core/signingEngine/session/keyMaterialBrands.js +1 -1
- package/dist/esm/core/signingEngine/session/lifecycle/walletSessionFailure.js +1 -1
- package/dist/esm/core/signingEngine/session/material/activeEcdsaCapabilityRuntime.js +1 -114
- package/dist/esm/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +2 -2
- package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +2 -187
- package/dist/esm/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.js +2 -18
- package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +2 -130
- package/dist/esm/core/signingEngine/session/material/linkedEcdsaHolderRuntime.js +1 -25
- package/dist/esm/core/signingEngine/session/material/nearEd25519YaoMaterialActivation.js +1 -73
- package/dist/esm/core/signingEngine/session/material/walletSigningStateFailure.js +1 -69
- package/dist/esm/core/signingEngine/session/operationState/preparedOperation.js +1 -5
- package/dist/esm/core/signingEngine/session/operationState/transactionState.js +0 -1
- package/dist/esm/core/signingEngine/session/passkey/prfCache.js +1 -5
- package/dist/esm/core/signingEngine/session/persistence/durableSealedSessionCommands.js +1 -9
- package/dist/esm/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.js +3 -202
- package/dist/esm/core/signingEngine/session/persistence/sealedSessionRecords.js +4 -83
- package/dist/esm/core/signingEngine/session/persistence/sealedSessionStore.js +2 -2
- package/dist/esm/core/signingEngine/session/planning/planner.js +2 -13
- package/dist/esm/core/signingEngine/session/sealedRecovery/materialActivationKey.js +1 -8
- package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.js +2 -1
- package/dist/esm/core/signingEngine/session/warmCapabilities/sealedRefreshParity.js +2 -41
- package/dist/esm/core/signingEngine/stepUpConfirmation/intentDigestPreparation.js +1 -14
- package/dist/esm/core/signingEngine/stepUpConfirmation/types.js +1 -7
- package/dist/esm/core/signingEngine/threshold/commitQueueShared.js +1 -127
- package/dist/esm/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +3 -297
- package/dist/esm/core/signingEngine/threshold/ecdsa/operationStepUp.js +10 -24
- package/dist/esm/core/signingEngine/threshold/ed25519/walletSession.js +7 -209
- package/dist/esm/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +5 -208
- package/dist/esm/core/signingEngine/threshold/sessionPolicy.js +3 -9
- package/dist/esm/core/signingEngine/uiConfirm/nearFundingNotice.js +1 -17
- package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +2 -173
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +3 -3
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +2 -2
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +1 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +5 -4
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +2 -2
- package/dist/esm/core/signingEngine/uiConfirm/ui/surface-resize-events.js +1 -6
- package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/abi/abiDecode.js +1 -1
- package/dist/esm/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +1 -19
- package/dist/esm/core/signingEngine/webauthnAuth/credentials/helpers.js +2 -170
- package/dist/esm/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.js +27 -5
- package/dist/esm/core/signingEngine/workerManager/validation.js +1 -104
- package/dist/esm/core/signingEngine/workerManager/workerTypes.js +1 -33
- package/dist/esm/core/types/rpc.js +1 -4
- package/dist/esm/core/types/sdkSentEvents.js +1 -24
- package/dist/esm/core/walletRuntimePaths/base.js +1 -28
- package/dist/esm/externalEvm/controller.js +7 -7
- package/dist/esm/index.js +8 -7
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +9 -9
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +1 -2
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +9 -185
- package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +303 -0
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +31 -5
- package/dist/esm/react/components/AccountMenuButton/index.js +21 -13
- package/dist/esm/react/components/AccountMenuButton/types.js +2 -1
- package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +5 -17
- package/dist/esm/react/components/QRCodeScanner.js +5 -5
- package/dist/esm/react/components/ShowQRCode.js +13 -13
- package/dist/esm/react/context/SeamsWebProvider.js +1 -2
- package/dist/esm/react/context/index.js +8 -10
- package/dist/esm/react/context/seamsManagerSingleton.js +1 -1
- package/dist/esm/react/context/useLoginStateRefresher.js +10 -13
- package/dist/esm/react/context/useNearProvisioningStateRefresh.js +3 -3
- package/dist/esm/react/context/useSeamsContextValue.js +33 -81
- package/dist/esm/react/context/useSeamsWithSdkFlow.js +22 -51
- package/dist/esm/react/context/useWalletIframeLifecycle.js +20 -110
- package/dist/esm/react/hooks/useAccountInput.js +10 -13
- package/dist/esm/react/hooks/useDeviceLinking.js +1 -1
- package/dist/esm/react/hooks/useNearClient.js +1 -1
- package/dist/esm/react/hooks/useQRCamera.js +2 -8
- package/dist/esm/react/hooks/useWallet.js +5 -6
- package/dist/esm/react/hooks/useWalletAuth.js +3 -4
- package/dist/esm/react/hooks/useWalletDevices.js +2 -2
- package/dist/esm/react/index.js +4 -4
- package/dist/esm/react/transactionReview/TransactionReviewHost.js +1 -1
- package/dist/esm/react/transactionReview/boundCalls.js +5 -39
- package/dist/esm/react/transactionReview/controller.js +3 -4
- package/dist/esm/react/transactionReview/snapshot.js +1 -1
- package/dist/esm/react/utils/walletIframe.js +11 -52
- package/dist/esm/sdk/{ConfirmationDrawer-DrsREojk.js → ConfirmationDrawer-DY0_yeUV.js} +1 -1
- package/dist/esm/sdk/NonceCoordinator-CFFq8-Q9.js +1 -0
- package/dist/esm/sdk/accountLifecycle-CAMVowDl.js +1 -0
- package/dist/esm/sdk/activeWalletSession-DiZcKjB_.js +1 -0
- package/dist/esm/sdk/adapters-DdDOQzl4.js +2 -0
- package/dist/esm/sdk/appearance-ZGVLwA4N.js +1 -0
- package/dist/esm/sdk/authenticatorOptions-DMLnDWT2.js +1 -0
- package/dist/esm/sdk/authorizationAdmission-Ckx6q6tp.js +1 -0
- package/dist/esm/sdk/bytes-BBYkulRB.js +1 -0
- package/dist/esm/sdk/canonicalPrimitives-CKPGgpxg.js +1 -0
- package/dist/esm/sdk/canonicalSignerErrorCode-DEHsPxNm.js +1 -0
- package/dist/esm/sdk/{capabilityKinds-XaXXiD2B.js → capabilityKinds-CKQ4Uqnv.js} +1 -1
- package/dist/esm/sdk/chains-CiYQT1K4.js +1 -0
- package/dist/esm/sdk/challengeDelivery-DxXAkOfS.js +1 -0
- package/dist/esm/sdk/clientSessionPersistenceState-CImFWDj6.js +1 -0
- package/dist/esm/sdk/commitQueue-iBNUt9Bz.js +1 -0
- package/dist/esm/sdk/configBuilder-ZiZwFKt4.js +1 -0
- package/dist/esm/sdk/configHelpers-D8Ivi6p8.js +1 -0
- package/dist/esm/sdk/digestEncoding-Dzc1rzWV.js +1 -0
- package/dist/esm/sdk/display-ClqZq-Xt.js +1 -0
- package/dist/esm/sdk/ecdsaCapabilityManifest-BlzJAQF8.js +1 -0
- package/dist/{public/sdk/ecdsaChainTarget-CRcRR78w.js → esm/sdk/ecdsaChainTarget-C8ZtMZ8l.js} +1 -1
- package/dist/esm/sdk/ecdsaDerivationClientWasm-CVeNEou2.js +1 -0
- package/dist/esm/sdk/ecdsaDerivationExport-BZFHSMCv.js +1 -0
- package/dist/esm/sdk/{ecdsaWalletRecords-Cm1DdexN.js → ecdsaWalletRecords-D4WeYc7H.js} +1 -1
- package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-B8HzTh4T.js +1 -0
- package/dist/esm/sdk/enrichDisplayModelWithAbi-69bNckvi.js +1 -0
- package/dist/esm/sdk/{evmCryptoWasm-CwEXiLrC.js → evmCryptoWasm-BXsIyRon.js} +1 -1
- package/dist/esm/sdk/export-viewer-host-CsFeiIhd.js +1 -0
- package/dist/esm/sdk/exportKeypairOperation-DGQIYML3.js +1 -0
- package/dist/esm/sdk/helpers-Ddy72ULN.js +1 -0
- package/dist/esm/sdk/host-c1__wJwz.js +1 -0
- package/dist/esm/sdk/intentDigest-CE-tLw87.js +1 -0
- package/dist/esm/sdk/jsxRuntime.module-BcZNe_OA.js +2 -0
- package/dist/esm/sdk/lanes-DnBwWv4l.js +1 -0
- package/dist/esm/sdk/localOnly-ClCo6602.js +1 -0
- package/dist/esm/sdk/messages-vxz27Way.js +1 -0
- package/dist/esm/sdk/mountExportPrivateKeySurface-CBZ0wRYj.js +1 -0
- package/dist/{public/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js → esm/sdk/mountRecoveryCodeBackupSurface-B1qhFF6G.js} +2 -2
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-fWQI3rYj.js +1 -0
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-B0d1AG3u.js +1 -0
- package/dist/{public/sdk/nonceLaneKeys-BBYi4g51.js → esm/sdk/nonceLaneKeys-Fkvk2UPy.js} +1 -1
- package/dist/esm/sdk/normalization-CpLZcL2f.js +1 -0
- package/dist/esm/sdk/normalization-DCvuCvh0.js +1 -0
- package/dist/esm/sdk/normalize-kUDm5zfS.js +1 -0
- package/dist/esm/sdk/{operationFingerprint-DtQb0pdp.js → operationFingerprint-CTR9G1NT.js} +1 -1
- package/dist/esm/sdk/passkey-custody-BQj44jEM.js +1 -0
- package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-yJN8VAHn.js +1 -0
- package/dist/esm/sdk/presignaturePool-DwlTReFO.js +1 -0
- package/dist/esm/sdk/presignatures-DB2IPD-A.js +1 -0
- package/dist/esm/sdk/{prfCache-Mbo7_USg.js → prfCache-BMpqZZ-v.js} +1 -1
- package/dist/esm/sdk/primitives-CAcl7ON7.js +1 -0
- package/dist/esm/sdk/promptText-D2f5Rg0h.js +1 -0
- package/dist/esm/sdk/recovery-entrypoint-Bl5GgbW9.js +1 -0
- package/dist/esm/sdk/registration-C4sALQZO.js +1 -0
- package/dist/esm/sdk/registration-CEqVAgNJ.js +1 -0
- package/dist/esm/sdk/{registrationAccounts-DIeEVy6W.js → registrationAccounts-D4RVetMz.js} +1 -1
- package/dist/esm/sdk/registrationAuthMethodInput-6ccY2Vuh.js +1 -0
- package/dist/esm/sdk/registrationIds-CdPqm-Ya.js +1 -0
- package/dist/esm/sdk/registrationIntent-DOkZcKSP.js +1 -0
- package/dist/esm/sdk/registrationSignerPlan-B9GCvpTV.js +1 -0
- package/dist/esm/sdk/requireStepUpAuth-DCVqmeee.js +1 -0
- package/dist/esm/sdk/routerAbNormalSigning-BG75eyI2.js +1 -0
- package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/esm/sdk/runtime-auth-BKFyLISf.js +1 -0
- package/dist/esm/sdk/runtime-device-link-ENxdEXQW.js +1 -0
- package/dist/esm/sdk/runtime-ecdsa-tempo-DhGEb9U7.js +1 -0
- package/dist/esm/sdk/runtime-email-otp-dgsP7XZi.js +1 -0
- package/dist/esm/sdk/runtime-export-D2RCm5Gk.js +1 -0
- package/dist/esm/sdk/runtime-near-Bf-9MFBQ.js +1 -0
- package/dist/esm/sdk/runtime-preferences-LQ8SPE7o.js +1 -0
- package/dist/esm/sdk/runtime-recovery-BuEzJzuZ.js +1 -0
- package/dist/esm/sdk/runtime-recovery-codes-BZMiAR_5.js +1 -0
- package/dist/esm/sdk/sdkSentEvents-D3q1h-Uo.js +1 -0
- package/dist/esm/sdk/secp256k1-DSLttQND.js +1 -0
- package/dist/esm/sdk/{secureRandomId-CTdlJ5Mx.js → secureRandomId-BIekT8bE.js} +1 -1
- package/dist/esm/sdk/sessionPolicy-J-RrlPZQ.js +1 -0
- package/dist/esm/sdk/shared-8ffIBYw2.js +6 -0
- package/dist/esm/sdk/signEvmFamily-KUNWKVeh.js +1 -0
- package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js → signEvmFamilyWithUiConfirmForTempo-Dc57bJ3V.js} +1 -1
- package/dist/esm/sdk/{signEvmWithUiConfirm-ChreN7aZ.js → signEvmWithUiConfirm-CqxL7UbT.js} +1 -1
- package/dist/esm/sdk/signNear-BhTkDm2-.js +1 -0
- package/dist/esm/sdk/{signatureUses-CQkkUcwT.js → signatureUses-CjJ233KX.js} +1 -1
- package/dist/esm/sdk/signerDomain-vQmlnsbF.js +1 -0
- package/dist/esm/sdk/signingFlow-vrXxrhlG.js +2 -0
- package/dist/esm/sdk/signingQueue-BrGJXBqe.js +1 -0
- package/dist/esm/sdk/{signingSessionSeal-Mr2Xp44o.js → signingSessionSeal-CDLUmAFY.js} +1 -1
- package/dist/esm/sdk/singletons-8UH3gOnZ.js +1 -0
- package/dist/esm/sdk/theme-_AUTWLS_.js +1 -0
- package/dist/esm/sdk/thresholdEcdsa-CO7xo1So.js +1 -0
- package/dist/esm/sdk/trace-BvbCxdXF.js +1 -0
- package/dist/esm/sdk/transaction-activity-D40ih2j-.js +1 -0
- package/dist/esm/sdk/transactionReviewAdmission-C-a3ctCJ.js +1 -0
- package/dist/esm/sdk/transactionState-DVinJk4K.js +1 -0
- package/dist/esm/sdk/tx-confirm-ui.js +7 -11
- package/dist/esm/sdk/{promptText-s8TQ6ckX.js → types-BNUuaUtl.js} +1 -1
- package/dist/esm/sdk/{types-M7vxrYtJ.js → types-D3GM-uHR.js} +1 -1
- package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/esm/sdk/wallet-recovery-C1kesLCF.js +1 -0
- package/dist/esm/sdk/wallet-ui.css +1 -1
- package/dist/esm/sdk/walletAuthMethodRecord-CXedSgpV.js +1 -0
- package/dist/esm/sdk/walletAuthority-B5hXHWpK.js +1 -0
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-abNZ_dvX.js +1 -0
- package/dist/esm/sdk/{walletIframeIdentity-C0b0XMQF.js → walletIframeIdentity-DJ0KOBHg.js} +1 -1
- package/dist/esm/sdk/walletOwnershipGeneration-DoXVMDWe.js +1 -0
- package/dist/esm/sdk/walletRecoveryCommit-Cc9AqHr0.js +1 -0
- package/dist/esm/sdk/walletRecoveryRotate-DWTAFYiv.js +1 -0
- package/dist/esm/sdk/walletSessionAuthorizationProjection-DWBksIJR.js +1 -0
- package/dist/esm/sdk/walletSessionAuthorizationStatus-o1VgsLhA.js +1 -0
- package/dist/esm/sdk/walletSessionAuthorizationStore-gEYPmu-G.js +1 -0
- package/dist/esm/sdk/walletSessionFailure-Bu4VPKTz.js +1 -0
- package/dist/esm/sdk/warmSessionHydration-DgjuUacN.js +1 -0
- package/dist/esm/sdk/{webauthnP256-qu06GNFm.js → webauthnP256-BEz4DEAs.js} +1 -1
- package/dist/esm/sdk/{webauthnPromptCoordinator-DO-qfECu.js → webauthnPromptCoordinator-BEudHQBr.js} +1 -1
- package/dist/esm/shared-ts/src/authorization/capabilityKinds.js +1 -7
- package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +2 -20
- package/dist/esm/shared-ts/src/authorization/index.js +1 -2
- package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +1 -20
- package/dist/esm/shared-ts/src/authorization/walletAuthority.js +4 -51
- package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +1 -112
- package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +13 -3
- package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +6 -116
- package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +3 -270
- package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +2 -2
- package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +1 -12
- package/dist/esm/shared-ts/src/device-linking/digests.js +1 -109
- package/dist/esm/shared-ts/src/device-linking/index.js +0 -2
- package/dist/esm/shared-ts/src/device-linking/parsers.js +7 -921
- package/dist/esm/shared-ts/src/device-linking/requestProof.js +1 -19
- package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +5 -358
- package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +1 -172
- package/dist/esm/shared-ts/src/device-linking/wireFields.js +4 -5
- package/dist/esm/shared-ts/src/near/actions.js +1 -13
- package/dist/esm/shared-ts/src/near/nearClient.js +1 -1
- package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +3 -59
- package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +4 -8
- package/dist/esm/shared-ts/src/passkey-custody/index.js +0 -1
- package/dist/esm/shared-ts/src/signing-lanes/index.js +0 -1
- package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +0 -59
- package/dist/esm/shared-ts/src/threshold/ed25519OperationFingerprint.js +1 -1
- package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +1 -4
- package/dist/esm/shared-ts/src/threshold/participants.js +1 -2
- package/dist/esm/shared-ts/src/threshold/signingRootScope.js +1 -4
- package/dist/esm/shared-ts/src/utils/authenticatorOptions.js +1 -12
- package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +2 -5
- package/dist/esm/shared-ts/src/utils/domainIds.js +1 -7
- package/dist/esm/shared-ts/src/utils/ecdsaCapabilityActivation.js +1 -16
- package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +6 -1
- package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +1 -23
- package/dist/esm/shared-ts/src/utils/emailOtpRecoveryKey.js +1 -42
- package/dist/esm/shared-ts/src/utils/errors.js +1 -43
- package/dist/esm/shared-ts/src/utils/index.js +18 -22
- package/dist/esm/shared-ts/src/utils/near.js +2 -74
- package/dist/esm/shared-ts/src/utils/normalize.js +1 -22
- package/dist/esm/shared-ts/src/utils/registrationAuthMethodInput.js +1 -74
- package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +6 -275
- package/dist/esm/shared-ts/src/utils/registrationIds.js +1 -203
- package/dist/esm/shared-ts/src/utils/registrationIntent.js +1 -389
- package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +2 -434
- package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +6 -414
- package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +1 -334
- package/dist/esm/shared-ts/src/utils/routerAbEd25519YaoDigests.js +2 -40
- package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -1
- package/dist/esm/shared-ts/src/utils/signingSessionSeal.js +1 -6
- package/dist/esm/shared-ts/src/utils/thresholdEcdsaKeyHandle.js +1 -6
- package/dist/esm/shared-ts/src/utils/validation.js +2 -17
- package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +1 -28
- package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +1 -11
- package/dist/esm/shared-ts/src/utils/walletCapabilityBindings.js +1 -7
- package/dist/esm/shared-ts/src/wallet-recovery/index.js +3 -5
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeIssuance.js +1 -35
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +0 -32
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +1 -15
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +0 -11
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +1 -1
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +2 -42
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -53
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryRotation.js +2 -63
- package/dist/esm/threshold.js +1 -1
- package/dist/esm/utils/intentDigest.js +1 -4
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
- package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
- package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/{ConfirmationDrawer-DrsREojk.js → ConfirmationDrawer-DY0_yeUV.js} +1 -1
- package/dist/public/sdk/NonceCoordinator-CFFq8-Q9.js +1 -0
- package/dist/public/sdk/accountLifecycle-CAMVowDl.js +1 -0
- package/dist/public/sdk/activeWalletSession-DiZcKjB_.js +1 -0
- package/dist/public/sdk/adapters-DdDOQzl4.js +2 -0
- package/dist/public/sdk/appearance-ZGVLwA4N.js +1 -0
- package/dist/public/sdk/authenticatorOptions-DMLnDWT2.js +1 -0
- package/dist/public/sdk/authorizationAdmission-Ckx6q6tp.js +1 -0
- package/dist/public/sdk/bytes-BBYkulRB.js +1 -0
- package/dist/public/sdk/canonicalPrimitives-CKPGgpxg.js +1 -0
- package/dist/public/sdk/canonicalSignerErrorCode-DEHsPxNm.js +1 -0
- package/dist/public/sdk/{capabilityKinds-XaXXiD2B.js → capabilityKinds-CKQ4Uqnv.js} +1 -1
- package/dist/public/sdk/chains-CiYQT1K4.js +1 -0
- package/dist/public/sdk/challengeDelivery-DxXAkOfS.js +1 -0
- package/dist/public/sdk/clientSessionPersistenceState-CImFWDj6.js +1 -0
- package/dist/public/sdk/commitQueue-iBNUt9Bz.js +1 -0
- package/dist/public/sdk/configBuilder-ZiZwFKt4.js +1 -0
- package/dist/public/sdk/configHelpers-D8Ivi6p8.js +1 -0
- package/dist/public/sdk/digestEncoding-Dzc1rzWV.js +1 -0
- package/dist/public/sdk/display-ClqZq-Xt.js +1 -0
- package/dist/public/sdk/ecdsaCapabilityManifest-BlzJAQF8.js +1 -0
- package/dist/{esm/sdk/ecdsaChainTarget-CRcRR78w.js → public/sdk/ecdsaChainTarget-C8ZtMZ8l.js} +1 -1
- package/dist/public/sdk/ecdsaDerivationClientWasm-CVeNEou2.js +1 -0
- package/dist/public/sdk/ecdsaDerivationExport-BZFHSMCv.js +1 -0
- package/dist/public/sdk/{ecdsaWalletRecords-Cm1DdexN.js → ecdsaWalletRecords-D4WeYc7H.js} +1 -1
- package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-B8HzTh4T.js +1 -0
- package/dist/public/sdk/enrichDisplayModelWithAbi-69bNckvi.js +1 -0
- package/dist/public/sdk/{evmCryptoWasm-CwEXiLrC.js → evmCryptoWasm-BXsIyRon.js} +1 -1
- package/dist/public/sdk/export-viewer-host-CsFeiIhd.js +1 -0
- package/dist/public/sdk/exportKeypairOperation-DGQIYML3.js +1 -0
- package/dist/public/sdk/helpers-Ddy72ULN.js +1 -0
- package/dist/public/sdk/host-c1__wJwz.js +1 -0
- package/dist/public/sdk/intentDigest-CE-tLw87.js +1 -0
- package/dist/public/sdk/jsxRuntime.module-BcZNe_OA.js +2 -0
- package/dist/public/sdk/lanes-DnBwWv4l.js +1 -0
- package/dist/public/sdk/localOnly-ClCo6602.js +1 -0
- package/dist/public/sdk/messages-vxz27Way.js +1 -0
- package/dist/public/sdk/mountExportPrivateKeySurface-CBZ0wRYj.js +1 -0
- package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js → public/sdk/mountRecoveryCodeBackupSurface-B1qhFF6G.js} +2 -2
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-fWQI3rYj.js +1 -0
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-B0d1AG3u.js +1 -0
- package/dist/{esm/sdk/nonceLaneKeys-BBYi4g51.js → public/sdk/nonceLaneKeys-Fkvk2UPy.js} +1 -1
- package/dist/public/sdk/normalization-CpLZcL2f.js +1 -0
- package/dist/public/sdk/normalization-DCvuCvh0.js +1 -0
- package/dist/public/sdk/normalize-kUDm5zfS.js +1 -0
- package/dist/public/sdk/{operationFingerprint-DtQb0pdp.js → operationFingerprint-CTR9G1NT.js} +1 -1
- package/dist/public/sdk/passkey-custody-BQj44jEM.js +1 -0
- package/dist/public/sdk/pendingWalletRecoveryCodeBackup-yJN8VAHn.js +1 -0
- package/dist/public/sdk/presignaturePool-DwlTReFO.js +1 -0
- package/dist/public/sdk/presignatures-DB2IPD-A.js +1 -0
- package/dist/public/sdk/{prfCache-Mbo7_USg.js → prfCache-BMpqZZ-v.js} +1 -1
- package/dist/public/sdk/primitives-CAcl7ON7.js +1 -0
- package/dist/public/sdk/promptText-D2f5Rg0h.js +1 -0
- package/dist/public/sdk/recovery-entrypoint-Bl5GgbW9.js +1 -0
- package/dist/public/sdk/registration-C4sALQZO.js +1 -0
- package/dist/public/sdk/registration-CEqVAgNJ.js +1 -0
- package/dist/public/sdk/{registrationAccounts-DIeEVy6W.js → registrationAccounts-D4RVetMz.js} +1 -1
- package/dist/public/sdk/registrationAuthMethodInput-6ccY2Vuh.js +1 -0
- package/dist/public/sdk/registrationIds-CdPqm-Ya.js +1 -0
- package/dist/public/sdk/registrationIntent-DOkZcKSP.js +1 -0
- package/dist/public/sdk/registrationSignerPlan-B9GCvpTV.js +1 -0
- package/dist/public/sdk/requireStepUpAuth-DCVqmeee.js +1 -0
- package/dist/public/sdk/routerAbNormalSigning-BG75eyI2.js +1 -0
- package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/runtime-auth-BKFyLISf.js +1 -0
- package/dist/public/sdk/runtime-device-link-ENxdEXQW.js +1 -0
- package/dist/public/sdk/runtime-ecdsa-tempo-DhGEb9U7.js +1 -0
- package/dist/public/sdk/runtime-email-otp-dgsP7XZi.js +1 -0
- package/dist/public/sdk/runtime-export-D2RCm5Gk.js +1 -0
- package/dist/public/sdk/runtime-near-Bf-9MFBQ.js +1 -0
- package/dist/public/sdk/runtime-preferences-LQ8SPE7o.js +1 -0
- package/dist/public/sdk/runtime-recovery-BuEzJzuZ.js +1 -0
- package/dist/public/sdk/runtime-recovery-codes-BZMiAR_5.js +1 -0
- package/dist/public/sdk/sdkSentEvents-D3q1h-Uo.js +1 -0
- package/dist/public/sdk/secp256k1-DSLttQND.js +1 -0
- package/dist/public/sdk/{secureRandomId-CTdlJ5Mx.js → secureRandomId-BIekT8bE.js} +1 -1
- package/dist/public/sdk/sessionPolicy-J-RrlPZQ.js +1 -0
- package/dist/public/sdk/shared-8ffIBYw2.js +6 -0
- package/dist/public/sdk/signEvmFamily-KUNWKVeh.js +1 -0
- package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js → signEvmFamilyWithUiConfirmForTempo-Dc57bJ3V.js} +1 -1
- package/dist/public/sdk/{signEvmWithUiConfirm-ChreN7aZ.js → signEvmWithUiConfirm-CqxL7UbT.js} +1 -1
- package/dist/public/sdk/signNear-BhTkDm2-.js +1 -0
- package/dist/public/sdk/{signatureUses-CQkkUcwT.js → signatureUses-CjJ233KX.js} +1 -1
- package/dist/public/sdk/signerDomain-vQmlnsbF.js +1 -0
- package/dist/public/sdk/signingFlow-vrXxrhlG.js +2 -0
- package/dist/public/sdk/signingQueue-BrGJXBqe.js +1 -0
- package/dist/public/sdk/{signingSessionSeal-Mr2Xp44o.js → signingSessionSeal-CDLUmAFY.js} +1 -1
- package/dist/public/sdk/singletons-8UH3gOnZ.js +1 -0
- package/dist/public/sdk/theme-_AUTWLS_.js +1 -0
- package/dist/public/sdk/thresholdEcdsa-CO7xo1So.js +1 -0
- package/dist/public/sdk/trace-BvbCxdXF.js +1 -0
- package/dist/public/sdk/transaction-activity-D40ih2j-.js +1 -0
- package/dist/public/sdk/transactionReviewAdmission-C-a3ctCJ.js +1 -0
- package/dist/public/sdk/transactionState-DVinJk4K.js +1 -0
- package/dist/public/sdk/tx-confirm-ui.js +7 -11
- package/dist/public/sdk/{promptText-s8TQ6ckX.js → types-BNUuaUtl.js} +1 -1
- package/dist/public/sdk/{types-M7vxrYtJ.js → types-D3GM-uHR.js} +1 -1
- package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/public/sdk/wallet-recovery-C1kesLCF.js +1 -0
- package/dist/public/sdk/wallet-ui.css +1 -1
- package/dist/public/sdk/walletAuthMethodRecord-CXedSgpV.js +1 -0
- package/dist/public/sdk/walletAuthority-B5hXHWpK.js +1 -0
- package/dist/public/sdk/walletCustodyEcdsaContinuity-abNZ_dvX.js +1 -0
- package/dist/public/sdk/{walletIframeIdentity-C0b0XMQF.js → walletIframeIdentity-DJ0KOBHg.js} +1 -1
- package/dist/public/sdk/walletOwnershipGeneration-DoXVMDWe.js +1 -0
- package/dist/public/sdk/walletRecoveryCommit-Cc9AqHr0.js +1 -0
- package/dist/public/sdk/walletRecoveryRotate-DWTAFYiv.js +1 -0
- package/dist/public/sdk/walletSessionAuthorizationProjection-DWBksIJR.js +1 -0
- package/dist/public/sdk/walletSessionAuthorizationStatus-o1VgsLhA.js +1 -0
- package/dist/public/sdk/walletSessionAuthorizationStore-gEYPmu-G.js +1 -0
- package/dist/public/sdk/walletSessionFailure-Bu4VPKTz.js +1 -0
- package/dist/public/sdk/warmSessionHydration-DgjuUacN.js +1 -0
- package/dist/public/sdk/{webauthnP256-qu06GNFm.js → webauthnP256-BEz4DEAs.js} +1 -1
- package/dist/public/sdk/{webauthnPromptCoordinator-DO-qfECu.js → webauthnPromptCoordinator-BEudHQBr.js} +1 -1
- package/dist/public/sdk/workers/device-linking-key.worker.js +18 -0
- package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +1490 -1268
- package/dist/public/sdk/workers/ecdsa-online-client.worker.js +96 -0
- package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +101 -1
- package/dist/public/sdk/workers/email-otp.worker.js +267 -237
- package/dist/public/sdk/workers/evm-crypto.worker.js +12 -8
- package/dist/public/sdk/workers/passkey-mpc-export.worker.js +30 -1
- 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 +10 -8
- package/dist/public/sdk/workers/tempo-signer.worker.js +12 -8
- package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +3 -1
- 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 +391 -295
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +2 -1
- package/dist/types/shared-ts/src/device-linking/contracts.d.ts +10 -0
- package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +2 -1
- package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +3 -1
- package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +0 -9
- package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +1 -1
- package/dist/types/wallet/build-paths.d.ts +0 -4
- package/dist/types/wallet/src/SeamsWeb/SeamsWeb.d.ts +26 -146
- package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfaceAssembly.d.ts +7 -6
- package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfacePorts.d.ts +2 -4
- package/dist/types/wallet/src/SeamsWeb/assembly/createWalletIframeRouter.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/assembly/initializeBrowserSigningRuntime.d.ts +0 -2
- package/dist/types/wallet/src/SeamsWeb/index.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/operations/auth/login.d.ts +2 -8
- package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockCompletion.d.ts +26 -0
- package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockPendingRegistration.d.ts +14 -0
- package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockSessionPolicy.d.ts +16 -0
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/challenge.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +3 -2
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/revokeAuthMethod.d.ts +17 -1
- package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDevice.d.ts +0 -7
- package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostComposition.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/operations/near/actions.d.ts +4 -21
- package/dist/types/wallet/src/SeamsWeb/operations/near/delegateAction.d.ts +4 -14
- package/dist/types/wallet/src/SeamsWeb/operations/near/signDelegateAction.d.ts +14 -0
- package/dist/types/wallet/src/SeamsWeb/operations/near/signNEP413.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.d.ts +11 -11
- package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.d.ts +18 -4
- package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +4 -20
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registration.d.ts +10 -4
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTerminalCommit.d.ts +0 -4
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +2 -3
- package/dist/types/wallet/src/SeamsWeb/operations/tempo/index.d.ts +0 -3
- package/dist/types/wallet/src/SeamsWeb/publicApi/auth.d.ts +4 -13
- package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +22 -43
- package/dist/types/wallet/src/SeamsWeb/publicApi/devices.d.ts +3 -21
- package/dist/types/wallet/src/SeamsWeb/publicApi/evm.d.ts +10 -16
- package/dist/types/wallet/src/SeamsWeb/publicApi/evmFamilyCommands.d.ts +6 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/index.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/publicApi/keyExport.d.ts +8 -16
- package/dist/types/wallet/src/SeamsWeb/publicApi/near.d.ts +10 -10
- package/dist/types/wallet/src/SeamsWeb/publicApi/nearCommands.d.ts +17 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/placement.d.ts +90 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/placement.typecheck.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/session.d.ts +3 -0
- package/dist/types/wallet/src/SeamsWeb/publicApi/tempo.d.ts +11 -11
- package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +106 -243
- package/dist/types/wallet/src/SeamsWeb/publicApi/{awaitNearReady.d.ts → waitForNearAccount.d.ts} +7 -7
- package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +33 -78
- package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +8 -31
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/deviceCommands.d.ts +4 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/emailOtpCommands.d.ts +4 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/evmFamilyCommands.d.ts +6 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/inboundMessages.d.ts +62 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/nearCommands.d.ts +6 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/placementCommands.d.ts +31 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/preferenceState.d.ts +35 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/preferences.d.ts +10 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/registrationCommands.d.ts +6 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +36 -121
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/sessionCommands.d.ts +6 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +29 -35
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +98 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/controller.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/context.d.ts +11 -9
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createDeviceDomain.d.ts +20 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEmailOtpCommands.d.ts +11 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEvmFamilyCommands.d.ts +8 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createNearCommands.d.ts +4 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createPlacementCommands.d.ts +11 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createRegistrationCommands.d.ts +4 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createSessionCommands.d.ts +16 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/placement.d.ts +3 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/walletIframeHandler.types.d.ts +7 -3
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/hostedWalletSeamsSession.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/reconcileWalletPlacement.d.ts +10 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +4 -4
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestWalletMove.d.ts +11 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeContext.d.ts +5 -3
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeLoader.d.ts +0 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/sessionObserver.d.ts +39 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/walletMoveLocator.d.ts +5 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/walletMutationGuard.d.ts +3 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/configuration.d.ts +30 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/emailOtpLifecycle.d.ts +43 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionState.d.ts +15 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/facadeBoundary.d.ts +14 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +35 -100
- package/dist/types/wallet/src/core/config/chains.d.ts +1 -3
- package/dist/types/wallet/src/core/config/configBuilder.d.ts +16 -6
- package/dist/types/wallet/src/core/config/defaultConfigs.d.ts +3 -4
- package/dist/types/wallet/src/core/config/defineConfig.d.ts +3 -6
- package/dist/types/wallet/src/core/config/presignatures.d.ts +3 -0
- package/dist/types/wallet/src/core/diagnostics/registration.d.ts +2 -0
- package/dist/types/wallet/src/core/indexedDB/normalization.d.ts +5 -0
- package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +2 -2
- package/dist/types/wallet/src/core/indexedDB/pendingWalletRegistrationCommit.d.ts +0 -10
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/accountSignerRows.d.ts +44 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.d.ts +0 -2
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +0 -5
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/manager.d.ts +11 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/nonceLeaseRows.d.ts +23 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +1 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/signerOutboxRows.d.ts +15 -0
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletOwnershipGeneration.d.ts +6 -0
- package/dist/types/wallet/src/core/indexedDB/unifiedIndexedDBManager.d.ts +1 -1
- package/dist/types/wallet/src/core/rpcClients/near/accountExists.d.ts +3 -0
- package/dist/types/wallet/src/core/rpcClients/near/rpcCalls.d.ts +1 -14
- package/dist/types/wallet/src/core/rpcClients/relayer/ecdsaPrepareSession.d.ts +13 -0
- package/dist/types/wallet/src/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.d.ts +3 -3
- package/dist/types/wallet/src/core/rpcClients/relayer/relayerHttp.d.ts +17 -0
- package/dist/types/wallet/src/core/rpcClients/relayer/routerAbNormalSigning.d.ts +19 -3
- package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +29 -40
- package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +34 -0
- package/dist/types/wallet/src/core/signingEngine/assembly/ports/shared.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/assembly/ports/warmSigning.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/assembly/warmup.d.ts +2 -14
- package/dist/types/wallet/src/core/signingEngine/chains/near/nearSignerWasm.d.ts +2 -6
- package/dist/types/wallet/src/core/signingEngine/flows/recovery/public.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpPublic.d.ts +1 -32
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.d.ts +3 -82
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.d.ts +62 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/requireEvmFamilyStepUpAuth.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +4 -55
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlow.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/thresholdAdmission.d.ts +3 -2
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.d.ts +45 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signatureOnlySigning.d.ts +16 -2
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNear.d.ts +1 -2
- package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNep413.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/interfaces/ecdsaChainTarget.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/interfaces/near.d.ts +3 -0
- package/dist/types/wallet/src/core/signingEngine/nonce/nearTransactionReadiness.d.ts +3 -0
- package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.d.ts +9 -5
- package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePoolPolicy.d.ts +5 -0
- package/dist/types/wallet/src/core/signingEngine/session/SigningSessionCoordinator.d.ts +1 -7
- package/dist/types/wallet/src/core/signingEngine/session/availability/persistedAvailableSigningLanes.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/availability/readiness.d.ts +0 -17
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.d.ts +2 -33
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecovery.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecoveryRuntime.d.ts +14 -3
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/publicTypes.d.ts +1 -2
- package/dist/types/wallet/src/core/signingEngine/session/emailOtp/workerEnrollment.d.ts +0 -12
- package/dist/types/wallet/src/core/signingEngine/session/lanes/walletExecutionLaneHydration.d.ts +11 -25
- package/dist/types/wallet/src/core/signingEngine/session/lifecycle/walletSessionStatus.d.ts +0 -8
- package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/session/operationState/preparedOperation.d.ts +0 -8
- package/dist/types/wallet/src/core/signingEngine/session/operationState/trace.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/operationState/transactionState.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.d.ts +2 -0
- package/dist/types/wallet/src/core/signingEngine/session/public.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/routerAbSigningWalletSession.d.ts +2 -0
- package/dist/types/wallet/src/core/signingEngine/session/userPreferences.d.ts +8 -11
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReader.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReaderCore.d.ts +2 -1
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/confirmOperation.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.d.ts +6 -12
- package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/operationStepUp.d.ts +6 -5
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +6 -17
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/signing.d.ts +2 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/handlePromptFromWorker.d.ts +2 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.d.ts +1 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/uiConfirm.types.d.ts +3 -0
- package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyDriver.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/walletCustody/walletRegistrationEd25519.d.ts +17 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/SignerWorkerManager.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignLifecycle.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.d.ts +9 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +0 -5
- package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +15 -27
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/enrollment.d.ts +1 -17
- package/dist/types/wallet/src/core/types/rpc.d.ts +0 -1
- package/dist/types/wallet/src/core/types/sdkPublicResults.d.ts +1 -0
- package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +2 -0
- package/dist/types/wallet/src/core/types/seams.d.ts +12 -9
- package/dist/types/wallet/src/core/types/signer-worker.d.ts +2 -1
- package/dist/types/wallet/src/externalEvm/controller.d.ts +5 -1
- package/dist/types/wallet/src/index.d.ts +5 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/WalletRegionSection.d.ts +54 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +7 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/index.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +1 -0
- package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/public.d.ts +1 -1
- package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +2 -5
- package/dist/types/wallet/src/react/context/SeamsWebProvider.d.ts +0 -5
- package/dist/types/wallet/src/react/context/useLoginStateRefresher.d.ts +1 -1
- package/dist/types/wallet/src/react/context/useNearProvisioningStateRefresh.d.ts +1 -1
- package/dist/types/wallet/src/react/context/useSeamsContextValue.d.ts +2 -2
- package/dist/types/wallet/src/react/context/useWalletIframeLifecycle.d.ts +4 -2
- package/dist/types/wallet/src/react/hooks/useQRCamera.d.ts +1 -7
- package/dist/types/wallet/src/react/hooks/useWallet.d.ts +5 -6
- package/dist/types/wallet/src/react/hooks/useWalletAuth.d.ts +1 -1
- package/dist/types/wallet/src/react/hooks/useWalletDevices.d.ts +1 -1
- package/dist/types/wallet/src/react/index.d.ts +2 -2
- package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +0 -26
- package/dist/types/wallet/src/react/types.d.ts +12 -20
- package/dist/types/wallet/src/react/utils/walletIframe.d.ts +2 -6
- package/dist/workers/device-linking-key.worker.js +18 -0
- package/dist/workers/ecdsa-derivation-client.worker.js +1490 -1268
- package/dist/workers/ecdsa-online-client.worker.js +96 -0
- package/dist/workers/ecdsa-presign-client.worker.js +101 -1
- package/dist/workers/email-otp.worker.js +267 -237
- package/dist/workers/evm-crypto.worker.js +12 -8
- package/dist/workers/passkey-mpc-export.worker.js +30 -1
- 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 +10 -8
- package/dist/workers/tempo-signer.worker.js +12 -8
- package/dist/workers/wallet-custody-ceremony.worker.js +3 -1
- package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
- package/package.json +1 -1
- package/dist/esm/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +0 -817
- package/dist/esm/SeamsWeb/assembly/browserWorkerWarmupPolicy.js +0 -31
- package/dist/esm/SeamsWeb/assembly/configureBrowserIndexedDB.js +0 -10
- package/dist/esm/SeamsWeb/assembly/createBrowserRecoveryPublicDeps.js +0 -95
- package/dist/esm/SeamsWeb/assembly/createBrowserSigningRuntime.js +0 -34
- package/dist/esm/SeamsWeb/assembly/createBrowserSigningStores.js +0 -39
- package/dist/esm/SeamsWeb/assembly/createBrowserStepUpRuntime.js +0 -34
- package/dist/esm/SeamsWeb/assembly/createBrowserWarmSessionPublicDeps.js +0 -29
- package/dist/esm/SeamsWeb/assembly/initializeBrowserSigningRuntime.js +0 -19
- package/dist/esm/SeamsWeb/assembly/runtimeConfig.js +0 -12
- package/dist/esm/SeamsWeb/operations/auth/login.js +0 -4383
- package/dist/esm/SeamsWeb/operations/auth/scheduleEcdsaSessionPresignaturePrefill.js +0 -41
- package/dist/esm/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.js +0 -64
- package/dist/esm/SeamsWeb/operations/auth/walletAuth.js +0 -142
- package/dist/esm/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +0 -33
- package/dist/esm/SeamsWeb/operations/auth/walletUnlockSubject.js +0 -288
- package/dist/esm/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +0 -72
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +0 -191
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/challenge.js +0 -247
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +0 -568
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +0 -69
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationAuthority.js +0 -62
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +0 -69
- package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +0 -95
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/addPasskey.js +0 -260
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/ecdsaBootstrap.js +0 -17
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +0 -34
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/localUnlock.js +0 -16
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/loginAssertion.js +0 -25
- package/dist/esm/SeamsWeb/operations/authMethods/passkey/registrationAuthority.js +0 -84
- package/dist/esm/SeamsWeb/operations/authMethods/revokeAuthMethod.js +0 -205
- package/dist/esm/SeamsWeb/operations/authMethods/sourcePasskeyProof.js +0 -12
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +0 -444
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingComposition.js +0 -106
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +0 -194
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +0 -524
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +0 -135
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingResume.js +0 -212
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingTargetCredential.js +0 -63
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingTargetEd25519ExportRoot.js +0 -61
- package/dist/esm/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +0 -337
- package/dist/esm/SeamsWeb/operations/devices/linkDevice.js +0 -75
- package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlow.js +0 -1383
- package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +0 -143
- package/dist/esm/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +0 -119
- package/dist/esm/SeamsWeb/operations/devices/walletHostComposition.js +0 -130
- package/dist/esm/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +0 -191
- package/dist/esm/SeamsWeb/operations/evm/index.js +0 -35
- package/dist/esm/SeamsWeb/operations/near/actions.js +0 -484
- package/dist/esm/SeamsWeb/operations/near/commandSubject.js +0 -14
- package/dist/esm/SeamsWeb/operations/near/index.js +0 -37
- package/dist/esm/SeamsWeb/operations/near/signNEP413.js +0 -116
- package/dist/esm/SeamsWeb/operations/recovery/accountSync.js +0 -21
- package/dist/esm/SeamsWeb/operations/recovery/recoveryWalletBinding.js +0 -43
- package/dist/esm/SeamsWeb/operations/recovery/syncAccount.js +0 -912
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCodeBackup.js +0 -100
- package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryRotation.js +0 -213
- package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +0 -184
- package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +0 -247
- package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +0 -134
- package/dist/esm/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +0 -354
- package/dist/esm/SeamsWeb/operations/registration/registration.js +0 -3818
- package/dist/esm/SeamsWeb/operations/registration/registrationEd25519Yao.js +0 -166
- package/dist/esm/SeamsWeb/operations/registration/registrationSignerSet.js +0 -60
- package/dist/esm/SeamsWeb/operations/registration/registrationStrictEcdsa.js +0 -343
- package/dist/esm/SeamsWeb/operations/registration/registrationTerminalCommit.js +0 -296
- package/dist/esm/SeamsWeb/operations/registration/registrationTiming.js +0 -682
- package/dist/esm/SeamsWeb/operations/session/thresholdEcdsaProvisioning.js +0 -36
- package/dist/esm/SeamsWeb/operations/session/thresholdWarmSessionBootstrap.js +0 -20
- package/dist/esm/SeamsWeb/publicApi/preferences.js +0 -61
- package/dist/esm/SeamsWeb/publicApi/recovery.js +0 -19
- package/dist/esm/SeamsWeb/publicApi/types.js +0 -10
- package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +0 -3917
- package/dist/esm/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.js +0 -29
- package/dist/esm/core/browser/walletIframe/events.js +0 -6
- package/dist/esm/core/browser/walletIframe/host-mode.js +0 -9
- package/dist/esm/core/config/managedRuntimeScope.js +0 -16
- package/dist/esm/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.js +0 -144
- package/dist/esm/core/platform/browser/createBrowserPlatformRuntime.js +0 -535
- package/dist/esm/core/platform/secretSources.js +0 -111
- package/dist/esm/core/platform/signerCoreCommandAdapters.js +0 -122
- package/dist/esm/core/rpcClients/near/rpcCalls.js +0 -376
- package/dist/esm/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.js +0 -67
- package/dist/esm/core/rpcClients/relayer/passkeyCustodyEnvelope.js +0 -218
- package/dist/esm/core/rpcClients/relayer/sealedRefreshCapabilities.js +0 -148
- package/dist/esm/core/rpcClients/relayer/thresholdEcdsa.js +0 -235
- package/dist/esm/core/rpcClients/relayer/walletRecoveryGoogleEmailOtp.js +0 -161
- package/dist/esm/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +0 -718
- package/dist/esm/core/signingEngine/assembly/createManagers.js +0 -80
- package/dist/esm/core/signingEngine/assembly/createPorts.js +0 -54
- package/dist/esm/core/signingEngine/assembly/ports/emailOtp.js +0 -30
- package/dist/esm/core/signingEngine/assembly/ports/evmFamily.js +0 -73
- package/dist/esm/core/signingEngine/assembly/ports/near.js +0 -21
- package/dist/esm/core/signingEngine/assembly/ports/recovery.js +0 -75
- package/dist/esm/core/signingEngine/assembly/ports/registration.js +0 -22
- package/dist/esm/core/signingEngine/assembly/ports/session.js +0 -25
- package/dist/esm/core/signingEngine/assembly/ports/shared.js +0 -39
- package/dist/esm/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -67
- package/dist/esm/core/signingEngine/assembly/ports/warmSigning.js +0 -92
- package/dist/esm/core/signingEngine/assembly/warmup.js +0 -64
- package/dist/esm/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +0 -427
- package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportFlow.js +0 -660
- package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +0 -249
- package/dist/esm/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +0 -353
- package/dist/esm/core/signingEngine/flows/recovery/exportKeypairOperation.js +0 -213
- package/dist/esm/core/signingEngine/flows/recovery/exportLaneSelection.js +0 -283
- package/dist/esm/core/signingEngine/flows/recovery/keyExportConfirmation.js +0 -325
- package/dist/esm/core/signingEngine/flows/recovery/keyExportFlow.js +0 -81
- package/dist/esm/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +0 -192
- package/dist/esm/core/signingEngine/flows/recovery/public.js +0 -26
- package/dist/esm/core/signingEngine/flows/recovery/stepUpAuthorization.js +0 -139
- package/dist/esm/core/signingEngine/flows/registration/nearProvisioningRegistry.js +0 -79
- package/dist/esm/core/signingEngine/flows/registration/public.js +0 -85
- package/dist/esm/core/signingEngine/flows/registration/services/ecdsaRegistrationSessions.js +0 -77
- package/dist/esm/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +0 -82
- package/dist/esm/core/signingEngine/flows/registration/session.js +0 -24
- package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpPublic.js +0 -123
- package/dist/esm/core/signingEngine/nonce/NonceCoordinator.js +0 -1026
- package/dist/esm/core/signingEngine/nonce/evmNonceLane.js +0 -182
- package/dist/esm/core/signingEngine/nonce/nearNonceLane.js +0 -669
- package/dist/esm/core/signingEngine/nonce/nonceDiagnostics.js +0 -232
- package/dist/esm/core/signingEngine/nonce/nonceLeaseState.js +0 -128
- package/dist/esm/core/signingEngine/nonce/nonceUtils.js +0 -33
- package/dist/esm/core/signingEngine/session/SigningSessionCoordinator.js +0 -344
- package/dist/esm/core/signingEngine/session/authority/authorityOperationResolver.js +0 -114
- package/dist/esm/core/signingEngine/session/availability/canonicalLaneInventory.js +0 -127
- package/dist/esm/core/signingEngine/session/availability/clientSessionExpiryInvalidator.js +0 -72
- package/dist/esm/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +0 -214
- package/dist/esm/core/signingEngine/session/availability/readiness.js +0 -464
- package/dist/esm/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +0 -130
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaBootstrapCommit.js +0 -106
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLifecycleRuntime.js +0 -47
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLogin.js +0 -930
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaPublication.js +0 -414
- package/dist/esm/core/signingEngine/session/emailOtp/ecdsaRecovery.js +0 -264
- package/dist/esm/core/signingEngine/session/emailOtp/ed25519ExportContext.js +0 -373
- package/dist/esm/core/signingEngine/session/emailOtp/exportRecovery.js +0 -284
- package/dist/esm/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -50
- package/dist/esm/core/signingEngine/session/emailOtp/persistedSnapshot.js +0 -22
- package/dist/esm/core/signingEngine/session/emailOtp/publicTypes.js +0 -38
- package/dist/esm/core/signingEngine/session/emailOtp/routePlan.js +0 -60
- package/dist/esm/core/signingEngine/session/emailOtp/runtimeConfig.js +0 -24
- package/dist/esm/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -49
- package/dist/esm/core/signingEngine/session/emailOtp/sealedRestoreOrchestrator.js +0 -234
- package/dist/esm/core/signingEngine/session/emailOtp/sealedRuntimePurpose.js +0 -16
- package/dist/esm/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +0 -40
- package/dist/esm/core/signingEngine/session/emailOtp/status.js +0 -72
- package/dist/esm/core/signingEngine/session/emailOtp/walletUnlock.js +0 -168
- package/dist/esm/core/signingEngine/session/emailOtp/warmSessionRuntime.js +0 -70
- package/dist/esm/core/signingEngine/session/emailOtp/workerEnrollment.js +0 -159
- package/dist/esm/core/signingEngine/session/emailOtp/workerRequests.js +0 -84
- package/dist/esm/core/signingEngine/session/emailOtp/zeroize.js +0 -9
- package/dist/esm/core/signingEngine/session/identity/exactWalletSessionCredential.js +0 -104
- package/dist/esm/core/signingEngine/session/identity/exactWalletSessionReader.js +0 -54
- package/dist/esm/core/signingEngine/session/identity/ownerLaneScope.js +0 -185
- package/dist/esm/core/signingEngine/session/lanes/walletExecutionLaneHydration.js +0 -194
- package/dist/esm/core/signingEngine/session/lifecycle/canonicalWalletSessionStatus.js +0 -32
- package/dist/esm/core/signingEngine/session/lifecycle/walletSessionStatus.js +0 -123
- package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityHydration.js +0 -75
- package/dist/esm/core/signingEngine/session/material/ecdsaSealedRuntime.js +0 -197
- package/dist/esm/core/signingEngine/session/material/mpcCapabilityHydration.js +0 -79
- package/dist/esm/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +0 -122
- package/dist/esm/core/signingEngine/session/material/restorableMpcMaterialRef.internal.js +0 -21
- package/dist/esm/core/signingEngine/session/passkey/ecdsaBootstrap.js +0 -184
- package/dist/esm/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +0 -205
- package/dist/esm/core/signingEngine/session/passkey/ecdsaRecovery.js +0 -84
- package/dist/esm/core/signingEngine/session/passkey/ecdsaSessionProvision.js +0 -224
- package/dist/esm/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.js +0 -147
- package/dist/esm/core/signingEngine/session/passkey/ed25519Provisioner.js +0 -55
- package/dist/esm/core/signingEngine/session/passkey/ed25519SessionProvision.js +0 -228
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +0 -536
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +0 -94
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoSealedSession.js +0 -57
- package/dist/esm/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +0 -281
- package/dist/esm/core/signingEngine/session/passkey/passkeyCustodySessionCache.js +0 -90
- package/dist/esm/core/signingEngine/session/passkey/public.js +0 -15
- package/dist/esm/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.js +0 -247
- package/dist/esm/core/signingEngine/session/persistence/clientSessionPersistence.js +0 -135
- package/dist/esm/core/signingEngine/session/persistence/walletSessionAuthorizationProjection.js +0 -51
- package/dist/esm/core/signingEngine/session/planning/operationIdBinding.js +0 -36
- package/dist/esm/core/signingEngine/session/postconditions/runtimePostconditions.js +0 -163
- package/dist/esm/core/signingEngine/session/public.js +0 -44
- package/dist/esm/core/signingEngine/session/routerAbSigningWalletSession.js +0 -119
- package/dist/esm/core/signingEngine/session/sealedRecovery/exactRecordLookup.js +0 -148
- package/dist/esm/core/signingEngine/session/sealedRecovery/recoveryRecord.js +0 -248
- package/dist/esm/core/signingEngine/session/sealedRecovery/restoreCoordinator.js +0 -229
- package/dist/esm/core/signingEngine/session/userPreferences.js +0 -212
- package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReader.js +0 -62
- package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +0 -293
- package/dist/esm/core/signingEngine/session/warmCapabilities/clearVolatileWarmSigningMaterial.js +0 -44
- package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaBootstrapPersistence.js +0 -107
- package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaBootstrapQueue.js +0 -22
- package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +0 -93
- package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.js +0 -50
- package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -9
- package/dist/esm/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +0 -251
- package/dist/esm/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +0 -98
- package/dist/esm/core/signingEngine/session/warmCapabilities/public.js +0 -31
- package/dist/esm/core/signingEngine/session/warmCapabilities/readModel.js +0 -155
- package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.js +0 -256
- package/dist/esm/core/signingEngine/session/warmCapabilities/statusReader.js +0 -100
- package/dist/esm/core/signingEngine/session/warmCapabilities/transitions.js +0 -47
- package/dist/esm/core/signingEngine/session/warmCapabilities/types.js +0 -122
- package/dist/esm/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +0 -45
- package/dist/esm/core/signingEngine/stepUpConfirmation/channel/confirmCommon.js +0 -89
- package/dist/esm/core/signingEngine/stepUpConfirmation/channel/confirmTypes.js +0 -12
- package/dist/esm/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.js +0 -31
- package/dist/esm/core/signingEngine/stepUpConfirmation/otpPrompt/exportAuthorization.js +0 -108
- package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +0 -271
- package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.js +0 -167
- package/dist/esm/core/signingEngine/stepUpConfirmation/userConfirmationType.js +0 -15
- package/dist/esm/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +0 -67
- package/dist/esm/core/signingEngine/threshold/ecdsa/activation.js +0 -267
- package/dist/esm/core/signingEngine/threshold/ecdsa/bootstrapSession.js +0 -115
- package/dist/esm/core/signingEngine/threshold/ecdsa/postRegistrationSessionActivation.js +0 -132
- package/dist/esm/core/signingEngine/threshold/ecdsa/signingQueue.js +0 -16
- package/dist/esm/core/signingEngine/threshold/ed25519/commitQueue.js +0 -16
- package/dist/esm/core/signingEngine/threshold/ed25519/connectSession.js +0 -137
- package/dist/esm/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.js +0 -146
- package/dist/esm/core/signingEngine/threshold/ed25519/yaoClient.js +0 -563
- package/dist/esm/core/signingEngine/threshold/ed25519/yaoPageLifecycleOwner.js +0 -23
- package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcExportManager.js +0 -233
- package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +0 -493
- package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +0 -746
- package/dist/esm/core/signingEngine/uiConfirm/UiConfirmManager.js +0 -599
- package/dist/esm/core/signingEngine/uiConfirm/confirmationReadinessRegistry.js +0 -41
- package/dist/esm/core/signingEngine/uiConfirm/exportConfirmRequest.js +0 -149
- package/dist/esm/core/signingEngine/uiConfirm/handlers/determineConfirmationConfig.js +0 -82
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flowOrchestrator.js +0 -363
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +0 -337
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/request.js +0 -120
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/localOnly.js +0 -149
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/registration.js +0 -235
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/requestRegistrationCredentialConfirmation.js +0 -178
- package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/signing.js +0 -684
- package/dist/esm/core/signingEngine/uiConfirm/handlers/handlePromptFromWorker.js +0 -90
- package/dist/esm/core/signingEngine/uiConfirm/ui/appearance.js +0 -27
- package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-ui.js +0 -516
- package/dist/esm/core/signingEngine/uiConfirm/ui/export-private-key-reveal.js +0 -155
- package/dist/esm/core/signingEngine/uiConfirm/ui/export-viewer-host.js +0 -207
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.js +0 -318
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +0 -518
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +0 -80
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountExportPrivateKeySurface.js +0 -86
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +0 -82
- package/dist/esm/core/signingEngine/uiConfirm/ui/surface-measurement-binding.js +0 -12
- package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-activity.js +0 -46
- package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/confirmation-tree.js +0 -27
- package/dist/esm/core/signingEngine/uiConfirm/warmSessionUiConfirm.js +0 -65
- package/dist/esm/core/signingEngine/walletCustody/activateEd25519Capability.js +0 -122
- package/dist/esm/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +0 -94
- package/dist/esm/core/signingEngine/walletCustody/ceremonyDriver.js +0 -171
- package/dist/esm/core/signingEngine/walletCustody/ceremonyStepRunner.js +0 -20
- package/dist/esm/core/signingEngine/walletCustody/ed25519ActiveClient.js +0 -100
- package/dist/esm/core/signingEngine/walletCustody/ed25519Projection.js +0 -32
- package/dist/esm/core/signingEngine/walletCustody/ed25519SeedMaterial.js +0 -92
- package/dist/esm/core/signingEngine/walletCustody/emailOtpLink.js +0 -132
- package/dist/esm/core/signingEngine/walletCustody/joinCustodyWire.js +0 -64
- package/dist/esm/core/signingEngine/walletCustody/openCustodyCache.js +0 -126
- package/dist/esm/core/signingEngine/walletCustody/passkeyLink.js +0 -180
- package/dist/esm/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +0 -60
- package/dist/esm/core/signingEngine/walletCustody/registrationCeremony.js +0 -460
- package/dist/esm/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +0 -258
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryCredential.js +0 -23
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEcdsa.js +0 -75
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEd25519.js +0 -129
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryManifest.js +0 -178
- package/dist/esm/core/signingEngine/walletCustody/walletRecoveryRotation.js +0 -102
- package/dist/esm/core/signingEngine/webauthnAuth/credentials/collectAuthenticationCredentialForChallengeB64u.js +0 -154
- package/dist/esm/core/signingEngine/webauthnAuth/device/signerSlot.js +0 -25
- package/dist/esm/core/signingEngine/webauthnAuth/walletOriginWebAuthn.js +0 -109
- package/dist/esm/core/signingEngine/workerManager/SignerWorkerManager.js +0 -68
- package/dist/esm/core/signingEngine/workerManager/deviceLinkingPorts.js +0 -342
- package/dist/esm/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +0 -158
- package/dist/esm/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +0 -13
- package/dist/esm/core/signingEngine/workerManager/workerTransport.js +0 -734
- package/dist/esm/core/types/confirmationConfig.js +0 -39
- package/dist/esm/core/types/secure-confirm-worker.js +0 -22
- package/dist/esm/core/walletRuntimePaths/emailOtpWorker.js +0 -12
- package/dist/esm/core/walletRuntimePaths/multichainWorkers.js +0 -25
- package/dist/esm/core/walletRuntimePaths/walletCustodyCeremonyWorker.js +0 -18
- package/dist/esm/core/walletRuntimePaths/workers.js +0 -93
- package/dist/esm/react/context/useEagerPrewarm.js +0 -38
- package/dist/esm/sdk/EvmClient-DoxytQaJ.js +0 -1
- package/dist/esm/sdk/NearClient-vJ65Wjrq.js +0 -1
- package/dist/esm/sdk/NonceCoordinator-BBeadCSq.js +0 -1
- package/dist/esm/sdk/accountLifecycle-EyfYPnuT.js +0 -1
- package/dist/esm/sdk/actions-DZLxCcrU.js +0 -1
- package/dist/esm/sdk/adapters-DtAyuoiA.js +0 -2
- package/dist/esm/sdk/base-Xtd32asf.js +0 -1
- package/dist/esm/sdk/bytes-t5S5mkat.js +0 -1
- package/dist/esm/sdk/canonicalPrimitives-MPGET2cl.js +0 -1
- package/dist/esm/sdk/canonicalSignerErrorCode-C0hh_SVi.js +0 -1
- package/dist/esm/sdk/chains-yAls2d9X.js +0 -1
- package/dist/esm/sdk/challengeDelivery-cAsaUC6U.js +0 -1
- package/dist/esm/sdk/configHelpers-CseiVoZD.js +0 -1
- package/dist/esm/sdk/csp-stylesheet-B1fAhrGB.js +0 -2
- package/dist/esm/sdk/defaultConfigs-CWpApkMq.js +0 -1
- package/dist/esm/sdk/display-jK7_hYho.js +0 -1
- package/dist/esm/sdk/domainIds-GDzjOs6i.js +0 -1
- package/dist/esm/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +0 -1
- package/dist/esm/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +0 -1
- package/dist/esm/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +0 -1
- package/dist/esm/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +0 -1
- package/dist/esm/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +0 -1
- package/dist/esm/sdk/exactSessionState-CjD8gekO.js +0 -210
- package/dist/esm/sdk/exactSigningLaneIdentity-olheZx_n.js +0 -1
- package/dist/esm/sdk/export-viewer-host-jo7h_0wl.js +0 -1
- package/dist/esm/sdk/helpers-D4QckQhq.js +0 -1
- package/dist/esm/sdk/host-BAqOYnju.js +0 -1
- package/dist/esm/sdk/intentDigest-CB6zy3lN.js +0 -1
- package/dist/esm/sdk/jsxRuntime.module-CoHsKD_3.js +0 -1
- package/dist/esm/sdk/keyMaterialBrands-uVZHfAh3.js +0 -1
- package/dist/esm/sdk/localOnly-DBQRG6Qh.js +0 -1
- package/dist/esm/sdk/messages-Cv2j4SKI.js +0 -1
- package/dist/esm/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +0 -1
- package/dist/esm/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +0 -1
- package/dist/esm/sdk/nearRpcResults--cBcfmp4.js +0 -1
- package/dist/esm/sdk/normalization-BGPR6osg.js +0 -1
- package/dist/esm/sdk/operationFingerprint-5-wH2Ht8.js +0 -1
- package/dist/esm/sdk/passkey-custody-LP4UTFbn.js +0 -1
- package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +0 -1
- package/dist/esm/sdk/recovery-entrypoint-DkT8sFO5.js +0 -1
- package/dist/esm/sdk/registration-Btozh7uh.js +0 -1
- package/dist/esm/sdk/registration-CSAG_h4Y.js +0 -1
- package/dist/esm/sdk/registrationIds-BIel5S0i.js +0 -1
- package/dist/esm/sdk/registrationIntent-DV1GYZ3K.js +0 -1
- package/dist/esm/sdk/registrationPreparationPreload-vOCqNuG4.js +0 -1
- package/dist/esm/sdk/registrationSignerPlan-FzD3TwxB.js +0 -1
- package/dist/esm/sdk/relayerHttp-DaPeS929.js +0 -1
- package/dist/esm/sdk/routePlan-B_KJaPtm.js +0 -1
- package/dist/esm/sdk/router-Dd3fFHk3.js +0 -1
- package/dist/esm/sdk/routerAbNormalSigning-D_fHjq5l.js +0 -1
- package/dist/esm/sdk/runtime-auth-B2M91rSx.js +0 -1
- package/dist/esm/sdk/runtime-device-link-ojjPSRaG.js +0 -1
- package/dist/esm/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +0 -1
- package/dist/esm/sdk/runtime-email-otp-DDwtKVAe.js +0 -1
- package/dist/esm/sdk/runtime-export-JXYk8sQ-.js +0 -1
- package/dist/esm/sdk/runtime-near-BB8AG6dV.js +0 -1
- package/dist/esm/sdk/runtime-preferences-DKFZYccW.js +0 -1
- package/dist/esm/sdk/runtime-recovery-C_XjsDBg.js +0 -1
- package/dist/esm/sdk/runtime-recovery-codes-CWp839mH.js +0 -1
- package/dist/esm/sdk/runtimeContext-BpObgzbj.js +0 -6
- package/dist/esm/sdk/runtimeLoader-DjgBf_yF.js +0 -1
- package/dist/esm/sdk/sdkSentEvents-_RGAEeld.js +0 -1
- package/dist/esm/sdk/secp256k1-B_6W9QDJ.js +0 -1
- package/dist/esm/sdk/sessionPolicy-CNVK7nJ6.js +0 -1
- package/dist/esm/sdk/shared-j_KsFbCT.js +0 -1
- package/dist/esm/sdk/signEvmFamily-CcLVBm0f.js +0 -1
- package/dist/esm/sdk/signNear-mWbTE2Dl.js +0 -1
- package/dist/esm/sdk/signerDomain-BhUTzDmF.js +0 -1
- package/dist/esm/sdk/signerLoader-By0IY24G.js +0 -1
- package/dist/esm/sdk/signingFlow-LUWrZi2d.js +0 -2
- package/dist/esm/sdk/trace-M34pNGuF.js +0 -1
- package/dist/esm/sdk/transaction-activity-BbDod7ji.js +0 -1
- package/dist/esm/sdk/transactionReview-CBE5oH4c.js +0 -1
- package/dist/esm/sdk/transactionReviewAdmission-0ZgWs6q3.js +0 -1
- package/dist/esm/sdk/transactionState-9d7f3xVj.js +0 -1
- package/dist/esm/sdk/validation-dC1-_uyG.js +0 -1
- package/dist/esm/sdk/wallet-recovery-CcDZ1hMH.js +0 -1
- package/dist/esm/sdk/walletAuthority-CoWSeqvQ.js +0 -1
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +0 -1
- package/dist/esm/sdk/walletRecoveryCommit-ljxVeo-d.js +0 -1
- package/dist/esm/sdk/walletRecoveryRotate-HztDcDaY.js +0 -1
- package/dist/esm/sdk/warmSessionHydration-BPGM0YRU.js +0 -1
- package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +0 -16
- package/dist/esm/shared-ts/src/device-linking/contracts.js +0 -8
- package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +0 -167
- package/dist/esm/shared-ts/src/passkey-custody/ceremonyCommitPayload.js +0 -43
- package/dist/esm/shared-ts/src/signing-lanes/participants.js +0 -256
- package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +0 -479
- package/dist/esm/shared-ts/src/threshold/secp256k1.js +0 -6
- package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +0 -103
- package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +0 -43
- package/dist/esm/shared-ts/src/utils/exactKeys.js +0 -17
- package/dist/esm/shared-ts/src/utils/routerAbTraceContext.js +0 -36
- package/dist/esm/shared-ts/src/utils/walletAddSignerActivation.js +0 -32
- package/dist/public/sdk/EvmClient-DoxytQaJ.js +0 -1
- package/dist/public/sdk/NearClient-vJ65Wjrq.js +0 -1
- package/dist/public/sdk/NonceCoordinator-BBeadCSq.js +0 -1
- package/dist/public/sdk/accountLifecycle-EyfYPnuT.js +0 -1
- package/dist/public/sdk/actions-DZLxCcrU.js +0 -1
- package/dist/public/sdk/adapters-DtAyuoiA.js +0 -2
- package/dist/public/sdk/base-Xtd32asf.js +0 -1
- package/dist/public/sdk/bytes-t5S5mkat.js +0 -1
- package/dist/public/sdk/canonicalPrimitives-MPGET2cl.js +0 -1
- package/dist/public/sdk/canonicalSignerErrorCode-C0hh_SVi.js +0 -1
- package/dist/public/sdk/chains-yAls2d9X.js +0 -1
- package/dist/public/sdk/challengeDelivery-cAsaUC6U.js +0 -1
- package/dist/public/sdk/configHelpers-CseiVoZD.js +0 -1
- package/dist/public/sdk/csp-stylesheet-B1fAhrGB.js +0 -2
- package/dist/public/sdk/defaultConfigs-CWpApkMq.js +0 -1
- package/dist/public/sdk/display-jK7_hYho.js +0 -1
- package/dist/public/sdk/domainIds-GDzjOs6i.js +0 -1
- package/dist/public/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +0 -1
- package/dist/public/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +0 -1
- package/dist/public/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +0 -1
- package/dist/public/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +0 -1
- package/dist/public/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +0 -1
- package/dist/public/sdk/exactSessionState-CjD8gekO.js +0 -210
- package/dist/public/sdk/exactSigningLaneIdentity-olheZx_n.js +0 -1
- package/dist/public/sdk/export-viewer-host-jo7h_0wl.js +0 -1
- package/dist/public/sdk/helpers-D4QckQhq.js +0 -1
- package/dist/public/sdk/host-BAqOYnju.js +0 -1
- package/dist/public/sdk/intentDigest-CB6zy3lN.js +0 -1
- package/dist/public/sdk/jsxRuntime.module-CoHsKD_3.js +0 -1
- package/dist/public/sdk/keyMaterialBrands-uVZHfAh3.js +0 -1
- package/dist/public/sdk/localOnly-DBQRG6Qh.js +0 -1
- package/dist/public/sdk/messages-Cv2j4SKI.js +0 -1
- package/dist/public/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +0 -1
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +0 -1
- package/dist/public/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +0 -1
- package/dist/public/sdk/nearRpcResults--cBcfmp4.js +0 -1
- package/dist/public/sdk/normalization-BGPR6osg.js +0 -1
- package/dist/public/sdk/operationFingerprint-5-wH2Ht8.js +0 -1
- package/dist/public/sdk/passkey-custody-LP4UTFbn.js +0 -1
- package/dist/public/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +0 -1
- package/dist/public/sdk/recovery-entrypoint-DkT8sFO5.js +0 -1
- package/dist/public/sdk/registration-Btozh7uh.js +0 -1
- package/dist/public/sdk/registration-CSAG_h4Y.js +0 -1
- package/dist/public/sdk/registrationIds-BIel5S0i.js +0 -1
- package/dist/public/sdk/registrationIntent-DV1GYZ3K.js +0 -1
- package/dist/public/sdk/registrationPreparationPreload-vOCqNuG4.js +0 -1
- package/dist/public/sdk/registrationSignerPlan-FzD3TwxB.js +0 -1
- package/dist/public/sdk/relayerHttp-DaPeS929.js +0 -1
- package/dist/public/sdk/routePlan-B_KJaPtm.js +0 -1
- package/dist/public/sdk/router-Dd3fFHk3.js +0 -1
- package/dist/public/sdk/routerAbNormalSigning-D_fHjq5l.js +0 -1
- package/dist/public/sdk/runtime-auth-B2M91rSx.js +0 -1
- package/dist/public/sdk/runtime-device-link-ojjPSRaG.js +0 -1
- package/dist/public/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +0 -1
- package/dist/public/sdk/runtime-email-otp-DDwtKVAe.js +0 -1
- package/dist/public/sdk/runtime-export-JXYk8sQ-.js +0 -1
- package/dist/public/sdk/runtime-near-BB8AG6dV.js +0 -1
- package/dist/public/sdk/runtime-preferences-DKFZYccW.js +0 -1
- package/dist/public/sdk/runtime-recovery-C_XjsDBg.js +0 -1
- package/dist/public/sdk/runtime-recovery-codes-CWp839mH.js +0 -1
- package/dist/public/sdk/runtimeContext-BpObgzbj.js +0 -6
- package/dist/public/sdk/runtimeLoader-DjgBf_yF.js +0 -1
- package/dist/public/sdk/sdkSentEvents-_RGAEeld.js +0 -1
- package/dist/public/sdk/secp256k1-B_6W9QDJ.js +0 -1
- package/dist/public/sdk/sessionPolicy-CNVK7nJ6.js +0 -1
- package/dist/public/sdk/shared-j_KsFbCT.js +0 -1
- package/dist/public/sdk/signEvmFamily-CcLVBm0f.js +0 -1
- package/dist/public/sdk/signNear-mWbTE2Dl.js +0 -1
- package/dist/public/sdk/signerDomain-BhUTzDmF.js +0 -1
- package/dist/public/sdk/signerLoader-By0IY24G.js +0 -1
- package/dist/public/sdk/signingFlow-LUWrZi2d.js +0 -2
- package/dist/public/sdk/trace-M34pNGuF.js +0 -1
- package/dist/public/sdk/transaction-activity-BbDod7ji.js +0 -1
- package/dist/public/sdk/transactionReview-CBE5oH4c.js +0 -1
- package/dist/public/sdk/transactionReviewAdmission-0ZgWs6q3.js +0 -1
- package/dist/public/sdk/transactionState-9d7f3xVj.js +0 -1
- package/dist/public/sdk/validation-dC1-_uyG.js +0 -1
- package/dist/public/sdk/wallet-recovery-CcDZ1hMH.js +0 -1
- package/dist/public/sdk/walletAuthority-CoWSeqvQ.js +0 -1
- package/dist/public/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +0 -1
- package/dist/public/sdk/walletRecoveryCommit-ljxVeo-d.js +0 -1
- package/dist/public/sdk/walletRecoveryRotate-HztDcDaY.js +0 -1
- package/dist/public/sdk/warmSessionHydration-BPGM0YRU.js +0 -1
- package/dist/public/sdk/workers/evm_crypto.wasm +0 -0
- package/dist/public/sdk/workers/near_signer.wasm +0 -0
- package/dist/public/sdk/workers/tempo_signer.wasm +0 -0
- package/dist/types/wallet/src/SeamsWeb/assembly/browserWorkerWarmupPolicy.d.ts +0 -4
- package/dist/types/wallet/src/SeamsWeb/assembly/configureBrowserIndexedDB.d.ts +0 -3
- package/dist/types/wallet/src/SeamsWeb/operations/auth/walletAuth.d.ts +0 -56
- package/dist/types/wallet/src/SeamsWeb/operations/evm/index.d.ts +0 -9
- package/dist/types/wallet/src/SeamsWeb/operations/near/index.d.ts +0 -11
- package/dist/types/wallet/src/SeamsWeb/operations/recovery/accountSync.d.ts +0 -19
- package/dist/types/wallet/src/SeamsWeb/publicApi/devices.typecheck.d.ts +0 -2
- package/dist/types/wallet/src/SeamsWeb/publicApi/preferences.d.ts +0 -8
- package/dist/types/wallet/src/SeamsWeb/publicApi/recovery.d.ts +0 -14
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/config-guards.d.ts +0 -15
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/registrationPreparationPreload.d.ts +0 -2
- package/dist/types/wallet/src/core/signingEngine/flows/registration/public.d.ts +0 -68
- package/dist/types/wallet/src/react/context/useEagerPrewarm.d.ts +0 -3
- package/dist/workers/evm_crypto.wasm +0 -0
- package/dist/workers/near_signer.wasm +0 -0
- package/dist/workers/tempo_signer.wasm +0 -0
- /package/dist/esm/sdk/{accountIds-C3Ihsd2c.js → accountIds-BzZs7YoX.js} +0 -0
- /package/dist/esm/sdk/{base64-ojm5DKcF.js → base64-CsEj-_bC.js} +0 -0
- /package/dist/esm/sdk/{browser-CsOGMbMy.js → browser-D4wUl_77.js} +0 -0
- /package/dist/esm/sdk/{errors-DfbnsXjO.js → errors-BZO3LF6G.js} +0 -0
- /package/dist/esm/sdk/{events-BJyVcnsn.js → events-DsQJQ0Cl.js} +0 -0
- /package/dist/esm/sdk/{executeWorkerOperation-CrFf3FkL.js → executeWorkerOperation-BInr8RYN.js} +0 -0
- /package/dist/esm/sdk/{jsonRpc-C85RYR0A.js → jsonRpc-DrCYQIM9.js} +0 -0
- /package/dist/esm/sdk/{keccak-zexutGfG.js → keccak-B02Fekdh.js} +0 -0
- /package/dist/esm/sdk/{profileAccountProjection-DHCaMtOu.js → profileAccountProjection-DmmfMood.js} +0 -0
- /package/dist/esm/sdk/{signerSlot-BQ1g5JNV.js → signerSlot-Dto7dObP.js} +0 -0
- /package/dist/esm/sdk/{surface-measurement-reporter-OICExWKE.js → surface-measurement-reporter-IlPOI3QK.js} +0 -0
- /package/dist/public/sdk/{accountIds-C3Ihsd2c.js → accountIds-BzZs7YoX.js} +0 -0
- /package/dist/public/sdk/{base64-ojm5DKcF.js → base64-CsEj-_bC.js} +0 -0
- /package/dist/public/sdk/{browser-CsOGMbMy.js → browser-D4wUl_77.js} +0 -0
- /package/dist/public/sdk/{errors-DfbnsXjO.js → errors-BZO3LF6G.js} +0 -0
- /package/dist/public/sdk/{events-BJyVcnsn.js → events-DsQJQ0Cl.js} +0 -0
- /package/dist/public/sdk/{executeWorkerOperation-CrFf3FkL.js → executeWorkerOperation-BInr8RYN.js} +0 -0
- /package/dist/public/sdk/{jsonRpc-C85RYR0A.js → jsonRpc-DrCYQIM9.js} +0 -0
- /package/dist/public/sdk/{keccak-zexutGfG.js → keccak-B02Fekdh.js} +0 -0
- /package/dist/public/sdk/{profileAccountProjection-DHCaMtOu.js → profileAccountProjection-DmmfMood.js} +0 -0
- /package/dist/public/sdk/{signerSlot-BQ1g5JNV.js → signerSlot-Dto7dObP.js} +0 -0
- /package/dist/public/sdk/{surface-measurement-reporter-OICExWKE.js → surface-measurement-reporter-IlPOI3QK.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{L as e,V as t}from"./normalize-kUDm5zfS.js";import{k as n}from"./chains-CiYQT1K4.js";import"./primitives-CAcl7ON7.js";import"./sessionPolicy-J-RrlPZQ.js";import"./signingSessionSeal-CDLUmAFY.js";import{c as r,l as i,o as a,r as o,s}from"./messages-vxz27Way.js";import{C as c,S as l,T as ee,_ as te,a as ne,b as re,c as ie,d as ae,f as u,g as oe,h as se,l as ce,m as d,n as f,r as le,s as ue,t as de,u as fe,v as pe,w as me,x as he,y as ge}from"./shared-8ffIBYw2.js";import"./activeWalletSession-DiZcKjB_.js";import"./capabilityKinds-CKQ4Uqnv.js";import{t as _e}from"./walletIframeIdentity-DJ0KOBHg.js";import"./errors-BZO3LF6G.js";import"./digestEncoding-Dzc1rzWV.js";import{en as ve,i as ye,n as be,nn as xe,r as Se,s as Ce}from"./registration-CEqVAgNJ.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B9GCvpTV.js";import{a as p}from"./signerDomain-vQmlnsbF.js";import"./registrationIntent-DOkZcKSP.js";import"./singletons-8UH3gOnZ.js";import"./walletAuthority-B5hXHWpK.js";import"./emailOtpEcdsaDerivationIdentity-B8HzTh4T.js";import{t as we}from"./challengeDelivery-DxXAkOfS.js";import{a as Te,n as Ee}from"./registrationIds-CdPqm-Ya.js";import"./passkey-custody-BQj44jEM.js";import{c as De,s as Oe}from"./sdkSentEvents-D3q1h-Uo.js";import"./walletCustodyEcdsaContinuity-abNZ_dvX.js";import"./keccak-B02Fekdh.js";import"./wallet-recovery-C1kesLCF.js";import"./nearEd25519YaoMaterialActivation-fWQI3rYj.js";import{t as ke}from"./walletSessionAuthorizationStatus-o1VgsLhA.js";import"./signNear-BhTkDm2-.js";import{a as Ae,i as je}from"./adapters-DdDOQzl4.js";import{t as Me}from"./surface-measurement-reporter-IlPOI3QK.js";import{a as Ne,c as Pe,i as Fe,l as m,n as Ie,o as Le,t as h}from"./jsxRuntime.module-BcZNe_OA.js";function Re(e){return{PM_GET_LAST_WALLET_MOVE_REQUEST:He.bind(null,e),PM_MOVE_WALLET:Ve.bind(null,e),PM_GET_WALLET_PLACEMENT:ze.bind(null,e),PM_GET_WALLET_MOVE:Be.bind(null,e)}}async function ze(t,r){let i=n(r.payload,`Wallet placement request`),a=e(i.walletId);if(!a.ok||Object.keys(i).length!==1)throw Error(`Wallet placement identity is invalid`);let o=await t.getWalletRuntime().placement.get(a.value);t.respondIfCancelled(r.requestId)||f(t,r.requestId,o)}async function Be(t,r){let i=n(r.payload,`Wallet move request`),a=e(i.walletId),o=ce(i.moveId);if(!a.ok||Object.keys(i).length!==2)throw Error(`Wallet move request is invalid`);let s=await t.getWalletRuntime().placement.getMove(a.value,o);t.respondIfCancelled(r.requestId)||f(t,r.requestId,s)}async function Ve(e,t){let n=fe(t.payload),r=await e.getWalletRuntime().placement.move(n);e.respondIfCancelled(t.requestId)||f(e,t.requestId,r)}async function He(t,r){let i=n(r.payload,`Wallet move locator request`),a=e(i.walletId);if(!a.ok||Object.keys(i).length!==1)throw Error(`Wallet move locator identity is invalid`);let o=await t.getWalletRuntime().placement.getLastMoveRequest(a.value);t.respondIfCancelled(r.requestId)||f(t,r.requestId,o)}function Ue(e){if(!e)throw Error(`PM_UNLOCK payload is required`);return e}function We(e){switch(e.kind){case`default_options`:return{};case`custom_options`:return{...g(`signerSlot`,e.options.signerSlot),...g(`signingSession`,e.options.signingSession),...g(`unlockSelection`,e.options.unlockSelection),...Ge(e.options.ecdsaKeyFactsInventory)}}}function Ge(e){switch(e.kind){case`default`:return{};case`value`:return{ecdsaKeyFactsInventory:e.value}}}function g(e,t){switch(t.kind){case`default`:return{};case`value`:return{[e]:t.value}}}function Ke(e){return e===`register`?`Creating passkey wallet…`:`Unlocking wallet…`}const qe=/\bHTTP 429\b|too many requests|rate limit/i,Je=/\bHTTP 5\d\d\b|failed to fetch|load failed|networkerror|network request failed|connection ?closed/i,Ye=/timed out|timeout/i;function Xe(e){return qe.test(e)?`Too many attempts. Wait a moment.`:Je.test(e)?`Can’t reach Seams right now.`:Ye.test(e)?`That took too long.`:`Something went wrong.`}function _(e){return{kind:`recoverable`,reason:`error`,message:Xe(e),detail:e}}function v(e,t){let n=t?e.find(e=>e.walletId===t.walletId&&e.authMethod===t.authMethod):null,r=t?e.find(e=>e.walletId===t.walletId):null,i=n??r??e[0];if(!i)return{kind:`discoverable`,selectedAccount:null,loginTarget:{kind:`discoverable`}};let a=e.filter(e=>e.walletId===i.walletId),o=a.some(e=>e.authMethod===`passkey`),s=a.some(e=>e.authMethod===`email_otp`),c={selectedAccount:i,walletId:i.walletId,loginTarget:{kind:`wallet`,walletId:i.walletId}};if(o&&s)return{kind:`passkey_and_email_otp`,...c};if(o)return{kind:`passkey`,...c};if(s)return{kind:`email_otp`,...c};throw Error(`Selected auth-menu account has no supported authentication method`)}function y(e){switch(e.kind){case`discoverable`:case`passkey`:case`passkey_and_email_otp`:return!0;case`email_otp`:return!1}}function Ze(e){switch(e.kind){case`discoverable`:case`email_otp`:case`passkey_and_email_otp`:return!0;case`passkey`:return!1}}function b(e){return e.kind===`busy`}function Qe(e){let t=e.status;return t.kind===`idle`&&t.interaction===`actionable`}function $e(e){let t=e.status;return t.kind===`recoverable`?!0:t.kind===`idle`&&t.interaction===`actionable`}function x(e){if(!$e(e))return!1;switch(e.kind){case`google_otp_login`:return!e.submitBusy&&/^\d{6}$/.test(e.otpCode);case`google_registration`:return!e.rerollBusy&&!e.submitBusy;case`link_device`:return!1;case`recovery`:return e.stage===`passkey_ready`||e.stage===`google_ready`||e.stage===`sign_in_ready`||e.stage===`email_code_required`&&/^\d{6}$/.test(e.otpCode);case`passkey`:return e.mode===`login`?y(v(e.accountOptions,e.selectedAccount)):!e.showRegistrationInput||e.passkeyName.trim().length>0}}function S(e){return $e(e)?e.kind!==`passkey`||e.mode!==`login`?!0:Ze(v(e.accountOptions,e.selectedAccount)):!1}const et=()=>new Promise(e=>setTimeout(e,90));function tt(e){return e.dataset.blink?null:(e.dataset.blink=`off`,et().then(()=>(e.dataset.blink=`on`,et())).then(()=>{delete e.dataset.blink}))}function C(e,t,...n){return h(m,{children:h(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":t,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`,children:n})})}function w(){return C(`22`,`1.5`,h(`path`,{d:`M6.405 19.048c.184-.443.353-.894.507-1.351`}),h(`path`,{d:`M14.343 20.693c.266-.751.502-1.516.707-2.294.186-.706.346-1.422.478-2.147`}),h(`path`,{d:`M19.448 17.058c.364-1.964.555-3.989.555-6.058 0-4.418-3.582-8-8-8-1.255 0-2.443.289-3.501.805`}),h(`path`,{d:`M3.523 15.025c.314-1.29.48-2.638.48-4.025 0-1.74.556-3.351 1.499-4.664`}),h(`path`,{d:`M12.003 11c0 2.76-.447 5.416-1.273 7.899-.213.639-.451 1.266-.712 1.881`}),h(`path`,{d:`M7.712 14.5c.191-1.138.291-2.308.291-3.5 0-2.209 1.791-4 4-4s4 1.791 4 4c0 .617-.02 1.229-.058 1.836`}))}function nt(){return h(m,{children:h(`svg`,{class:`seams-account-dropdown-arrow`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:h(`path`,{d:`M9.75 3h4.5v10.28l4.3-4.3 3.18 3.18L12 21.9l-9.73-9.74 3.18-3.18 4.3 4.3V3Z`})})})}function rt(){return C(`18`,`2.25`,h(`path`,{d:`m15 18-6-6 6-6`}))}function it(){return C(`18`,`2`,h(`rect`,{width:`5`,height:`5`,x:`3`,y:`3`,rx:`1`}),h(`rect`,{width:`5`,height:`5`,x:`16`,y:`3`,rx:`1`}),h(`rect`,{width:`5`,height:`5`,x:`3`,y:`16`,rx:`1`}),h(`path`,{d:`M21 16h-3a2 2 0 0 0-2 2v3`}),h(`path`,{d:`M21 21v.01`}),h(`path`,{d:`M12 7v3a2 2 0 0 1-2 2H7`}),h(`path`,{d:`M3 12h.01`}),h(`path`,{d:`M12 3h.01`}),h(`path`,{d:`M12 16v.01`}),h(`path`,{d:`M16 12h1`}),h(`path`,{d:`M21 12v.01`}),h(`path`,{d:`M12 21v-1`}))}function at(){return C(`18`,`2`,h(`path`,{d:`M20 11v6`}),h(`path`,{d:`M20 13h2`}),h(`path`,{d:`M3 21v-2a4 4 0 0 1 4-4h6a4 4 0 0 1 2.072.578`}),h(`circle`,{cx:`10`,cy:`7`,r:`4`}),h(`circle`,{cx:`20`,cy:`19`,r:`2`}))}function ot(){return C(`21`,`1.75`,h(`rect`,{x:`2.75`,y:`5`,width:`18.5`,height:`14`,rx:`2.75`}),h(`path`,{d:`m3.75 7.75 6.94 4.86a2.25 2.25 0 0 0 2.62 0l6.94-4.86`}))}function st(){return C(`22`,`1.75`,h(`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`}),h(`path`,{d:`M15 7h2a5 5 0 0 1 3.54 8.54`}),h(`path`,{d:`m2 2 20 20`}),h(`path`,{d:`M8 12h3`}))}function ct(){return h(m,{children:h(`svg`,{class:`seams-input-action-icon`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`,children:[h(`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`}),h(`path`,{d:`M21 3v5h-5`}),h(`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`}),h(`path`,{d:`M8 16H3v5`})]})})}function T(){return h(`svg`,{width:`18`,height:`18`,viewBox:`0 0 48 48`,"aria-hidden":`true`,children:[h(`path`,{fill:`#EA4335`,d:`M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z`}),h(`path`,{fill:`#4285F4`,d:`M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z`}),h(`path`,{fill:`#FBBC05`,d:`M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z`}),h(`path`,{fill:`#34A853`,d:`M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z`})]})}function E(){return C(`13`,`1.75`,h(`path`,{d:`m9 6 6 6-6 6`}))}function lt(){return C(`14`,`1.6`,h(`path`,{d:`M12 3 4.5 6v5.5c0 4.2 2.7 7.4 7.5 9.5 4.8-2.1 7.5-5.3 7.5-9.5V6L12 3Z`}),h(`path`,{d:`m8.5 11.5 2.5 2.5 4.5-5`}))}function ut(){return C(`15`,`1.6`,h(`path`,{d:`M12 8v5`}),h(`path`,{d:`M12 16v.1`}),h(`circle`,{cx:`12`,cy:`12`,r:`9`}))}var dt=class extends Le{constructor(...e){super(...e),this.shownNotice=``}render(){let{notice:e,onRetry:t}=this.props;return e&&(this.shownNotice=e),h(`div`,{class:`seams-auth-footer`,"data-state":e?`notice`:`brand`,children:[h(`div`,{class:`seams-auth-footer-brand`,"aria-hidden":e?`true`:void 0,children:[lt(),` `,h(`span`,{children:`Secured by`}),` `,h(je,{})]}),h(`div`,{class:`seams-auth-footer-notice`,children:[ut(),h(`span`,{class:`seams-auth-footer-text`,"aria-hidden":`true`,children:this.shownNotice}),h(`button`,{class:`seams-auth-footer-action`,type:`button`,disabled:!e,onClick:t,children:`Try again`})]}),e?h(`p`,{class:`sr-only`,role:`alert`,children:e}):null]})}};function D(e){let t=we(e);return t===null?null:h(`p`,{class:`seams-otp-description`,children:[`Demo email code: `,h(`code`,{children:t})]})}const O=`seams-auth-menu-title`,k=`seams-auth-menu-account-list`;function A(e){return e.padEnd(6,` `).slice(0,6).split(``)}function j(e){return h(m,{children:h(`span`,{class:`seams-otp-slot ${e.trim()?`is-filled`:``}`,children:e})})}function ft(e){let t=e.kind===`recovery`?`:${e.stage}`:``;return`${e.kind}:${e.mode}:${e.status.kind}${t}`}function pt(e){return e.status.kind===`busy`?e.status.headline:e.status.kind===`recoverable`?e.status.message:e.stage===`passkey_ready`?`Recovery code accepted.`:e.stage===`sign_in_ready`?`Wallet recovered. Unlock it to continue.`:``}function M(e){return e.kind===`recovery`&&e.stage===`finalizing`}function mt(e){return e===`register`?{prompt:`Already have a wallet?`,action:`Unlock wallet`,nextMode:`login`}:{prompt:`Don't have a wallet?`,action:`Create a wallet`,nextMode:`register`}}function ht(e){return e===`register`?`Create a wallet`:`Unlock wallet`}function gt(e){return e===`register`?`Create wallet with passkey`:`Unlock with passkey`}function _t(e){return e.kind===`google_otp_login`||e.kind===`google_registration`?e.error||null:e.kind===`passkey`&&e.status.kind===`recoverable`&&e.status.reason===`error`?e.status.message:null}function vt(e,t){return h(m,{children:h(`div`,{class:`seams-link-device-dot-ring is-${e}`,"aria-hidden":`true`,children:[Array.from({length:12},(e,t)=>h(m,{children:h(`span`,{"data-dot-index":t})})),t?h(m,{children:h(`div`,{class:`seams-link-device-dot-ring-glyph`,children:t})}):null,h(`svg`,{class:`seams-link-device-dot-ring-check`,viewBox:`0 0 52 52`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`,children:h(`path`,{d:`m18.5 27 5 5 10-11`})})]})})}function yt(e){switch(e.kind){case`sending`:return{ring:`waiting`,heading:`Sending your code`,status:`Emailing a 6-digit code`,pending:!0,tone:`neutral`};case`resending`:return{ring:`waiting`,heading:`Sending a new code`,status:`Emailing a fresh 6-digit code`,pending:!0,tone:`neutral`};case`submitting`:return{ring:`waiting`,heading:`Checking your code`,status:`Verifying the code you entered`,pending:!0,tone:`neutral`};case`code_input`:return{ring:`idle`,heading:`Verify your email`,status:`Enter the 6-digit code we just sent.`,pending:!1,tone:`neutral`};case`incorrect`:return{ring:`idle`,heading:`Verify your email`,status:e.message,pending:!1,tone:`error`};case`expired`:return{ring:`idle`,heading:`That code expired`,status:e.message,pending:!1,tone:`error`};case`unavailable`:return{ring:`idle`,heading:`Email code unavailable`,status:e.message,pending:!1,tone:`error`};case`completed`:return{ring:`approved`,heading:`Email verified`,status:`Finishing linking this device`,pending:!0,tone:`neutral`}}}function bt(e){return v(e.accountOptions,e.selectedAccount).selectedAccount}function xt(e){return e.walletId}function N(e){return e.authMethod===`email_otp`?e.emailAddress:null}function St(e){if(!e)return`Saved wallets`;let t=N(e);return t?`Saved wallets. Selected wallet ID ${e.walletId}, email ${t}`:`Saved wallets. Selected ${e.walletId}`}function Ct(e){let t=e.filter(e=>e.authMethod===`passkey`),n=e.filter(e=>e.authMethod===`email_otp`);return[{authMethod:`passkey`,label:`Passkey`,accounts:t},{authMethod:`email_otp`,label:`Email OTP`,accounts:n}].filter(e=>e.accounts.length>0)}var wt=class extends Le{constructor(...e){super(...e),this.state={accountMenu:`closed`},this.accountMenuExitTimer=null,this.accountMenuChoice=null,this.previouslyFocusedElement=null,this.shouldFocusInitialControl=!0,this.contentResizeObserver=null,this.contentHeightFrame=null,this.previousLinkDeviceStateKind=null,this.previousRecoveryStage=null,this.lastMethod=`passkey`,this.queueContentHeightSync=()=>{this.contentHeightFrame!==null&&cancelAnimationFrame(this.contentHeightFrame),this.contentHeightFrame=requestAnimationFrame(this.syncContentHeight)},this.syncContentHeight=()=>{this.contentHeightFrame=null;let e=this.props.element.querySelector(`.seams-content-switcher`),t=this.props.element.querySelector(`.seams-content-sizer`);!e||!t||this.props.styles.setDynamicDeclarations(this.props.element.id+`-height`,`#`+this.props.element.id+` .seams-content-switcher`,{height:t.scrollHeight+`px`})},this.onKeydown=e=>{if(e.key===`Escape`){if(e.preventDefault(),this.viewModel&&M(this.viewModel))return;if(this.accountMenuOpen){this.closeAccountMenu();return}this.emitIntent({kind:`close`,reason:`escape`});return}if(e.key!==`Tab`)return;let t=this.focusableElements();if(t.length===0)return;let n=document.activeElement,r=t.indexOf(n instanceof HTMLElement?n:t[0]);e.shiftKey&&r<=0?(e.preventDefault(),t[t.length-1]?.focus()):!e.shiftKey&&r===t.length-1&&(e.preventDefault(),t[0]?.focus())},this.onBackClick=()=>{this.emitIntent({kind:`back`})},this.onKeyDown=e=>{if(e.key!==`Escape`||e.defaultPrevented)return;let t=this.viewModel;!t||t.kind!==`recovery`&&!b(t.status)||(e.preventDefault(),e.stopPropagation(),!M(t)&&this.emitIntent({kind:`back`}))},this.onIntentSwitchClick=()=>{let e=this.viewModel;e&&this.emitIntent({kind:`mode_selected`,mode:mt(e.mode).nextMode})},this.onRegistrationReroll=()=>{this.emitIntent({kind:`registration_reroll`})},this.onPasskeyNameInput=e=>{e.currentTarget instanceof HTMLInputElement&&this.emitIntent({kind:`passkey_name_changed`,passkeyName:e.currentTarget.value})},this.onLoginAccountSelect=e=>{let t=e.currentTarget;if(!(t instanceof HTMLButtonElement))return;let n=t.dataset.walletId,r=t.dataset.authMethod,i=this.viewModel;if(!n||i.kind!==`passkey`||i.mode!==`login`)return;let a=i.accountOptions.find(e=>e.walletId===n&&e.authMethod===r),o=bt(i);if(!a||!o||this.accountMenuChoice)return;let s=tt(t);if(!s)return;let c={chosen:a,previous:o};this.accountMenuChoice=c,this.emitIntent({kind:`login_account_selected`,walletId:a.walletId,authMethod:a.authMethod}),s.then(()=>{this.accountMenuChoice===c&&this.closeAccountMenu()})},this.onAccountMenuToggle=()=>{this.accountMenuOpen?this.closeAccountMenu():this.openAccountMenu()},this.onDocumentPointerDown=e=>{!this.accountMenuOpen||!(e.target instanceof Node)||this.props.element.querySelector(`.seams-account-menu`)?.contains(e.target)||this.closeAccountMenu()},this.onPrimaryClick=()=>{let e=this.viewModel;if(!e||!x(e)||e.kind===`link_device`)return;if(e.kind===`google_otp_login`){this.emitIntent({kind:`google_otp_submit`});return}if(e.kind===`google_registration`){this.emitIntent({kind:`google_registration_complete`});return}let t=e.mode===`register`?{kind:`submit`,mode:`register`,passkeyName:e.passkeyName}:{kind:`submit`,mode:`login`};this.lastMethod=`passkey`,this.emitIntent(t)},this.onGoogleOtpCodeInput=e=>{e.currentTarget instanceof HTMLInputElement&&this.emitIntent({kind:`google_otp_code_changed`,code:e.currentTarget.value})},this.onGoogleOtpKeydown=e=>{e.key===`Enter`&&(e.preventDefault(),this.emitIntent({kind:`google_otp_submit`}))},this.onGoogleOtpResend=()=>{this.emitIntent({kind:`google_otp_resend`})},this.onGoogleRegistrationReroll=()=>{this.emitIntent({kind:`google_registration_reroll`})},this.onGoogleClick=()=>{this.lastMethod=`google`,this.emitIntent({kind:`external_auth`,provider:`google`})},this.onNoticeRetry=()=>{this.lastMethod===`google`&&S(this.viewModel)?this.onGoogleClick():this.onPrimaryClick()},this.onLinkDeviceOpen=()=>{this.emitIntent({kind:`link_device_open`})},this.onRecoveryOpen=()=>{this.emitIntent({kind:`recovery_open`})},this.onRecoveryCodeInput=e=>{e.currentTarget instanceof HTMLInputElement&&this.emitIntent({kind:`recovery_code_changed`,recoveryCode:e.currentTarget.value})},this.onRecoverySubmit=e=>{e.preventDefault()},this.onRecoveryPasskeySelected=()=>{this.emitIntent({kind:`recovery_passkey_selected`})},this.onRecoveryGoogleSelected=()=>{this.emitIntent({kind:`recovery_google_selected`})},this.onRecoveryGoogleOtpCodeInput=e=>{e.currentTarget instanceof HTMLInputElement&&this.emitIntent({kind:`recovery_google_otp_code_changed`,code:e.currentTarget.value})},this.onRecoveryGoogleOtpKeydown=e=>{e.key===`Enter`&&(e.preventDefault(),this.emitIntent({kind:`recovery_google_otp_submit`}))},this.onRecoveryGoogleOtpSubmit=()=>{this.emitIntent({kind:`recovery_google_otp_submit`})},this.onRecoveryCreatePasskey=()=>{this.emitIntent({kind:`recovery_create_passkey`})},this.onRecoverySignIn=()=>{this.emitIntent({kind:`recovery_sign_in`})},this.onLinkDeviceCreatePasskey=()=>{this.emitIntent({kind:`link_device_create_passkey`})},this.onLinkDeviceFactorChange=e=>{if(!(e.currentTarget instanceof HTMLInputElement))return;let t=e.currentTarget.value===`email_otp`?{kind:`email_otp`}:{kind:`passkey_prf`};this.emitIntent({kind:`link_device_factor_selected`,targetFactor:t})},this.onLinkDeviceTargetEmailInput=e=>{e.currentTarget instanceof HTMLInputElement&&this.emitIntent({kind:`link_device_target_email_changed`,emailAddress:e.currentTarget.value})},this.onLinkDeviceStart=()=>{this.emitIntent({kind:`link_device_start`})},this.onLinkDeviceEmailOtpCodeInput=e=>{e.currentTarget instanceof HTMLInputElement&&this.emitIntent({kind:`link_device_email_otp_code_changed`,code:e.currentTarget.value})},this.onLinkDeviceEmailOtpKeydown=e=>{e.key===`Enter`&&(e.preventDefault(),this.emitIntent({kind:`link_device_email_otp_submit`}))},this.onLinkDeviceEmailOtpResend=()=>{this.emitIntent({kind:`link_device_email_otp_resend`})},this.onLinkDeviceEmailOtpSubmit=()=>{this.emitIntent({kind:`link_device_email_otp_submit`})}}get viewModel(){return this.props.viewModel}get accountMenuOpen(){return this.state.accountMenu===`open`}openAccountMenu(){this.endAccountMenuExit(),this.setState({accountMenu:`open`})}closeAccountMenu(){this.accountMenuOpen&&(this.setState({accountMenu:`closing`}),this.accountMenuExitTimer=setTimeout(()=>{this.endAccountMenuExit(),this.setState({accountMenu:`closed`})},160))}endAccountMenuExit(){this.accountMenuExitTimer!==null&&clearTimeout(this.accountMenuExitTimer),this.accountMenuExitTimer=null,this.accountMenuChoice=null}componentDidMount(){let e=document.activeElement;e instanceof HTMLElement&&!this.props.element.contains(e)&&(this.previouslyFocusedElement=e),document.addEventListener(`pointerdown`,this.onDocumentPointerDown),document.addEventListener(`keydown`,this.onKeyDown,!0),this.afterRender()}componentDidUpdate(e){this.afterRender(e.viewModel)}componentWillUnmount(){this.contentResizeObserver?.disconnect(),this.contentResizeObserver=null,this.contentHeightFrame!==null&&cancelAnimationFrame(this.contentHeightFrame),this.contentHeightFrame=null,this.endAccountMenuExit(),window.removeEventListener(`resize`,this.queueContentHeightSync),document.removeEventListener(`pointerdown`,this.onDocumentPointerDown),document.removeEventListener(`keydown`,this.onKeyDown,!0),this.props.styles.deleteDynamicRule(this.props.element.id+`-height`),this.restoreFocus()}afterRender(e){this.shouldFocusInitialControl&&this.focusInitialControl(),this.focusRecoveryControl(e),this.focusLinkDevicePasskeyAction(),this.observeContentSize(),this.queueContentHeightSync()}focusRecoveryControl(e){let t=this.viewModel;if(e?.kind===`recovery`&&t.kind!==`recovery`){this.previousRecoveryStage=null,this.props.element.querySelector(`[data-recovery-action]`)?.focus();return}if(t.kind!==`recovery`)return;let n=this.previousRecoveryStage!==t.stage;if(this.previousRecoveryStage=t.stage,t.stage===`enter_code`){let t=this.props.element.querySelector(`[aria-invalid="true"]`);if(t){t.focus();return}(e?.kind!==`recovery`||e.stage!==`enter_code`)&&this.props.element.querySelector(`[data-recovery-code]`)?.focus();return}let r=t.status.kind===`recoverable`&&e?.kind===`recovery`&&e.status.kind!==`recoverable`;(n||r)&&(t.stage===`passkey_ready`||t.stage===`finalizing`||t.stage===`sign_in_ready`)&&this.props.element.querySelector(`[data-auth-menu-primary]`)?.focus()}focusLinkDevicePasskeyAction(){let e=this.viewModel.kind===`link_device`?this.viewModel.linkDevice.kind:null,t=e===`passkey_required`&&this.previousLinkDeviceStateKind!==e;this.previousLinkDeviceStateKind=e,t&&this.props.element.querySelector(`[data-link-device-passkey-action]`)?.focus()}observeContentSize(){if(this.contentResizeObserver)return;let e=this.props.element.querySelector(`.seams-content-sizer`);e&&(this.contentResizeObserver=new ResizeObserver(this.queueContentHeightSync),this.contentResizeObserver.observe(e),window.addEventListener(`resize`,this.queueContentHeightSync))}focusInitialControl(){if(!this.props.element.isConnected||!this.shouldFocusInitialControl)return;this.shouldFocusInitialControl=!1;let e=document.activeElement;e instanceof HTMLElement&&this.props.element.contains(e)||this.props.element.querySelector(`[data-auth-menu-input], [data-auth-menu-primary]`)?.focus()}restoreFocus(){let e=this.previouslyFocusedElement;this.previouslyFocusedElement=null,e?.isConnected&&e.focus()}focusableElements(){return Array.from(this.props.element.querySelectorAll(`button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])`))}emitIntent(e){this.props.onIntent(e)}render(){let e=this.viewModel;if(!e)return h(m,{});let t=b(e.status),n=e.kind===`link_device`,r=e.kind===`google_otp_login`,i=e.kind===`google_registration`,a=e.kind===`recovery`;return h(m,{children:h(`div`,{class:`seams-signup-menu-root auth-menu-root`,"data-mode":e.mode,"data-waiting":t?`true`:`false`,"data-scan-device":n?`true`:`false`,"data-otp-prompt":r?`true`:`false`,"data-registration-prompt":i?`true`:`false`,"data-recovery":a?`true`:`false`,"aria-labelledby":O,"aria-busy":t?`true`:`false`,tabIndex:-1,onKeyDown:this.onKeydown,children:[h(`div`,{class:`seams-content-switcher`,children:[h(`button`,{class:`seams-back-button ${t||n||r||i||a?`is-visible`:``}`,type:`button`,"aria-label":a?`Back to unlock wallet`:`Back`,"data-auth-menu-close":!0,disabled:M(e),onClick:this.onBackClick,children:rt()}),a?h(`div`,{class:`sr-only`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:pt(e)}):null,h(`div`,{class:`seams-content-area`,children:h(`div`,{class:`seams-content-sizer`,children:t?this.renderWaiting(e):h(m,{children:h(`div`,{class:`seams-signin-menu`,children:h(m,{children:this.renderActiveView(e)},ft(e))})})})})]}),h(dt,{notice:_t(e),onRetry:this.onNoticeRetry})]})})}renderActiveView(e){return e.kind===`recovery`?this.renderRecovery(e):e.kind===`link_device`?this.renderLinkDevice(e):e.kind===`google_otp_login`?this.renderGoogleOtp(e):e.kind===`google_registration`?this.renderGoogleRegistration(e):h(m,{children:[this.renderMenuHeader(e),` `,this.renderPasskeyInput(e),this.renderAuthMethods(e),` `,this.renderOtherOptions(),this.renderIntentSwitch(e)]})}renderMenuHeader(e){let t=ht(e.mode);return h(`div`,{class:`seams-menu-header`,children:[h(`div`,{class:`seams-menu-origin`,children:[h(Ae,{}),` `,h(`span`,{children:e.hostname})]}),t===e.heading?null:h(`div`,{class:`seams-menu-eyebrow`,children:t}),h(`div`,{class:`seams-title`,id:O,children:e.heading}),e.subtitle?h(`div`,{class:`seams-subhead`,children:e.subtitle}):null]})}renderHeader(e){return h(m,{children:h(`div`,{class:`seams-header`,children:h(`div`,{children:[h(`div`,{class:`seams-title`,id:O,children:e.heading}),h(`div`,{class:`seams-subhead`,children:e.subtitle})]})})})}renderPasskeyInput(e){if(e.mode===`login`){let t=bt(e);if(!t)return h(m,{});let n=Ct(e.accountOptions),r=this.state.accountMenu,i=this.accountMenuChoice,a=i?.previous??t;return h(m,{children:h(`div`,{class:`seams-passkey-row`,children:h(`div`,{class:`seams-input-pill`,children:[h(`div`,{class:`seams-input-wrap`,children:h(`div`,{class:`seams-account-menu-account seams-selected-account`,"aria-hidden":`true`,children:[h(`span`,{class:`seams-account-menu-account-primary`,children:xt(t)}),N(t)?h(m,{children:h(`span`,{class:`seams-account-menu-account-secondary`,children:N(t)})}):null]})}),h(`div`,{class:`seams-account-menu ${r===`closed`?``:`is-open`}`,children:[h(`button`,{class:`seams-account-menu-trigger`,type:`button`,"data-auth-menu-input":!0,"aria-label":St(t),"aria-haspopup":`listbox`,"aria-expanded":this.accountMenuOpen?`true`:`false`,"aria-controls":k,onClick:this.onAccountMenuToggle,children:nt()}),r===`closed`?null:h(m,{children:h(`div`,{id:k,class:`seams-account-menu-popover ${r===`closing`?`is-closing`:``}`,role:`listbox`,children:n.map(e=>{let t=`${k}-${e.authMethod}`;return h(m,{children:h(`div`,{class:`seams-account-menu-group`,role:`group`,"aria-labelledby":t,children:[h(`div`,{id:t,class:`seams-account-menu-group-label`,children:e.label}),e.accounts.map(e=>{let t=e.walletId===a.walletId&&e.authMethod===a.authMethod,n=!t&&e.walletId===i?.chosen.walletId&&e.authMethod===i.chosen.authMethod,r=N(e);return h(m,{children:h(`button`,{class:`seams-account-menu-option ${t?`is-selected`:``} ${n?`is-chosen`:``}`,type:`button`,role:`option`,"aria-selected":t?`true`:`false`,title:r?`${e.walletId} ${r}`:e.walletId,"data-wallet-id":e.walletId,"data-auth-method":e.authMethod,onClick:this.onLoginAccountSelect,children:[h(`span`,{class:`seams-account-menu-check`,"aria-hidden":`true`}),h(`span`,{class:`seams-account-menu-account`,children:[h(`span`,{class:`seams-account-menu-account-primary`,children:e.walletId}),r?h(m,{children:h(`span`,{class:`seams-account-menu-account-secondary`,children:r})}):null]})]})})})]})})})})})]})]})})})}return e.showRegistrationInput?h(m,{children:h(`div`,{class:`seams-passkey-row`,children:h(`div`,{class:`seams-input-pill`,children:[h(`div`,{class:`seams-input-wrap`,children:h(`input`,{id:`seams-auth-menu-passkey-name`,class:`seams-input`,"data-auth-menu-input":!0,type:`text`,autocomplete:`nickname`,placeholder:e.passkeyNameLabel,value:e.passkeyName,readonly:e.passkeyNameReadOnly,disabled:b(e.status),onInput:this.onPasskeyNameInput})}),e.passkeyNameReadOnly?h(m,{children:h(`button`,{class:`seams-input-action-trigger auth-menu-registration-reroll`,type:`button`,title:`Generate another name`,"aria-label":`Generate another name`,onClick:this.onRegistrationReroll,disabled:!Qe(e),children:ct()})}):null]})})}):h(m,{})}renderAuthMethods(e){let t=e.enabledExternalProviders?.includes(`google`)??!1;return h(m,{children:h(`div`,{class:`seams-auth-methods`,children:[h(`button`,{class:`seams-auth-method-btn seams-auth-method-btn-primary`,type:`button`,"data-auth-menu-primary":!0,disabled:!x(e),onClick:this.onPrimaryClick,children:[w(),h(`span`,{children:gt(e.mode)})]}),t?h(`button`,{class:`seams-auth-method-btn`,type:`button`,"data-auth-menu-provider":`google`,disabled:!S(e),onClick:this.onGoogleClick,children:[T(),h(`span`,{children:`Continue with Google`})]}):null]})})}renderOtherOptions(){return h(m,{children:[h(`div`,{class:`seams-menu-options-label`,children:`Other options`}),h(`div`,{class:`seams-menu-options`,children:[h(`button`,{class:`seams-menu-option`,type:`button`,onClick:this.onLinkDeviceOpen,children:[h(`span`,{class:`seams-menu-option-icon`,children:it()}),h(`span`,{class:`seams-menu-option-text`,children:[`Link this device `,h(`small`,{children:`Scan a code with your other device`})]}),E()]}),h(`button`,{class:`seams-menu-option`,type:`button`,"data-recovery-action":!0,onClick:this.onRecoveryOpen,children:[h(`span`,{class:`seams-menu-option-icon`,children:at()}),h(`span`,{class:`seams-menu-option-text`,children:[`Recover wallet `,h(`small`,{children:`Use your recovery code`})]}),E()]})]})]})}renderRecovery(e){if(e.stage===`enter_code`){let t=e.status.kind===`recoverable`?e.status.message:``,n=e.recoveryCodeError??t,r=n.length>0;return h(m,{children:[this.renderHeader(e),h(`p`,{id:`seams-recovery-code-feedback`,class:`seams-recovery-status ${r?`seams-recovery-error`:``}`,"aria-hidden":r?`false`:`true`,role:r?`alert`:`status`,children:n}),h(`form`,{class:`seams-recovery-form`,novalidate:!0,onSubmit:this.onRecoverySubmit,children:[h(`div`,{class:`seams-recovery-field`,children:[h(`label`,{class:`seams-field-label`,for:`seams-recovery-code`,children:`Recovery code`}),h(`input`,{id:`seams-recovery-code`,class:`seams-recovery-input seams-recovery-code-input`,"data-recovery-code":!0,name:`recoveryCode`,type:`text`,autocomplete:`one-time-code`,autocapitalize:`characters`,autocorrect:`off`,spellcheck:!1,"aria-invalid":e.recoveryCodeError?`true`:`false`,"aria-describedby":e.recoveryCodeError?`seams-recovery-code-feedback`:``,value:e.recoveryCode,onInput:this.onRecoveryCodeInput})]}),h(`div`,{class:`seams-secondary-actions`,children:[h(`button`,{class:`seams-link-device-btn seams-auth-method-choice-btn`,type:`button`,"data-recovery-target":`passkey`,onClick:this.onRecoveryPasskeySelected,children:[h(`span`,{class:`seams-auth-method-choice-icon`,children:w()}),h(`span`,{children:`Recover with Passkey`})]}),h(`button`,{class:`seams-link-device-btn seams-auth-method-choice-btn`,type:`button`,"data-recovery-target":`google_email_otp`,onClick:this.onRecoveryGoogleSelected,children:[h(`span`,{class:`seams-auth-method-choice-icon`,children:T()}),h(`span`,{children:`Recover with Google`})]})]})]})]})}if(e.stage===`email_code_required`){let t=A(e.otpCode),n=/^\d{6}$/.test(e.otpCode)&&e.status.kind!==`busy`,r=e.delivery.status===`reused`?`Use the code already sent to ${e.emailHint}.`:`A 6-digit code was sent to ${e.emailHint}.`;return h(m,{children:[this.renderHeader(e),h(`div`,{class:`seams-otp-prompt`,"aria-live":`polite`,children:[h(`p`,{class:`seams-otp-description`,children:r}),D(e.delivery),h(`label`,{class:`seams-field-label`,for:`seams-recovery-google-otp`,children:`Email code`}),h(`div`,{class:`seams-otp-code-field`,"data-disabled":e.status.kind===`busy`?`true`:`false`,children:[h(`input`,{class:`seams-otp-input`,id:`seams-recovery-google-otp`,"data-auth-menu-input":!0,"data-email-otp-challenge-id":e.challengeId,"data-email-otp-wallet-id":e.walletId,name:`recoveryEmailOtpCode`,type:`text`,inputmode:`numeric`,autocomplete:`one-time-code`,spellcheck:!1,pattern:`[0-9]*`,maxLength:6,"aria-invalid":e.status.kind===`recoverable`?`true`:`false`,"aria-describedby":e.status.kind===`recoverable`?`seams-recovery-google-otp-error`:``,value:e.otpCode,disabled:e.status.kind===`busy`,onInput:this.onRecoveryGoogleOtpCodeInput,onKeyDown:this.onRecoveryGoogleOtpKeydown}),h(`div`,{class:`seams-otp-slots`,"aria-hidden":`true`,children:t.map(j)})]}),e.status.kind===`recoverable`?h(m,{children:h(`p`,{id:`seams-recovery-google-otp-error`,class:`seams-recovery-status seams-recovery-error`,role:`alert`,children:e.status.message})}):null,h(`button`,{class:`seams-link-device-btn seams-link-device-btn-primary`,type:`button`,"data-auth-menu-primary":!0,disabled:!n,onClick:this.onRecoveryGoogleOtpSubmit,children:`Verify email code`})]})]})}let t=e.stage===`finalizing`&&e.status.kind===`recoverable`,n=e.stage===`sign_in_ready`,r=e.target.kind===`google_email_otp`,i=e.status.kind===`recoverable`?e.status.message:n?null:e.stage===`google_ready`?`Continue with Google, then verify the code sent to your email.`:r?`Finishing recovery with Google…`:`Create a new passkey to finish recovering this wallet.`,a=n?this.onRecoverySignIn:r?t?this.onRecoveryGoogleOtpSubmit:this.onGoogleClick:this.onRecoveryCreatePasskey;return h(m,{children:[this.renderHeader(e),h(`div`,{class:`seams-recovery-confirmation`,children:[i===null?null:h(m,{children:h(`p`,{class:`seams-recovery-status`,children:i})}),h(`button`,{class:`seams-link-device-btn seams-link-device-btn-primary`,type:`button`,"data-auth-menu-primary":!0,onClick:a,children:[r&&!t?T():null,n?r?`Unlock with Google`:`Unlock with new passkey`:t?`Retry finalization`:r?`Continue with Google`:`Create new passkey`]})]})]})}renderIntentSwitch(e){let t=mt(e.mode);return h(m,{children:h(`div`,{class:`seams-auth-intent-switch`,children:[h(`span`,{children:t.prompt}),h(`button`,{type:`button`,"data-auth-menu-mode":t.nextMode,onClick:this.onIntentSwitchClick,children:t.action})]})})}renderWaiting(e){let t=e.status;if(t.kind!==`busy`)return h(m,{});let n=t.headline;return h(m,{children:h(`div`,{class:`seams-waiting`,role:`status`,"aria-live":`polite`,children:[h(`div`,{class:`seams-waiting-message`,children:[h(`span`,{class:`seams-waiting-text`,children:n}),e.showProgress&&t.detail&&t.detail!==n?h(m,{children:h(`span`,{class:`seams-waiting-sdk-events`,children:t.detail})}):null]}),h(`div`,{"aria-label":`Loading`,class:`seams-spinner`})]})})}renderLinkDevice(e){let t=e.linkDevice;if(t.kind===`select_factor`)return this.renderLinkDeviceFactorSelection(t);if(t.kind===`passkey_required`||t.kind===`creating_passkey`)return this.renderLinkDevicePasskeyConfirmation(t);if(t.kind===`email_otp_required`)return this.renderLinkDeviceEmailOtp(t);if(t.kind===`activating`)return this.renderLinkedDeviceActivation(t);if(t.kind===`expired`)return this.renderLinkDeviceFailurePanel({dismiss:`expired`,title:`Linking expired`,detail:t.message,action:`Try again`});if(t.kind===`cancelled`)return this.renderLinkDeviceFailurePanel({dismiss:`cancelled`,title:`Linking cancelled`,detail:t.message,action:`Return to unlock wallet`});if(t.kind===`error`||t.kind===`activation_error`)return this.renderLinkDeviceFailure(t);let n=t.kind===`ready`;return h(m,{children:h(`div`,{class:`seams-scan-device-content`,children:h(`div`,{class:`qr-code-container`,children:h(`div`,{class:`qr-body`,children:h(`div`,{class:`qr-code-section`,children:[h(`div`,{class:`qr-code-display`,children:n?h(m,{children:h(`img`,{src:t.qrCodeDataURL,alt:`QR code to link this device`,class:`qr-code-image`})}):h(m,{children:h(`div`,{class:`qr-code-placeholder`,children:h(`span`,{class:`seams-spinner`,"aria-hidden":`true`})})})}),h(`div`,{class:`qr-header`,children:h(`h2`,{class:`qr-title`,id:O,children:e.heading})}),h(`div`,{class:`qr-instruction`,children:n?e.subtitle:`Preparing a one-time code for your other device.`}),h(`div`,{class:`qr-status`,role:`status`,"aria-live":`polite`,children:[n?t.message:`Generating QR code`,h(`span`,{class:`animated-ellipsis`})]})]})})})})})}renderLinkDeviceFactorSelection(e){let t=e.targetFactor.kind===`email_otp`,n=e.targetFactor.kind===`email_otp`&&typeof e.targetEmail==`string`?e.targetEmail:``,r=!t||me(n);return h(m,{children:h(`div`,{class:`seams-link-device-confirmation`,children:[h(`h2`,{class:`qr-title`,id:O,children:`Match your other device`}),h(`p`,{class:`seams-link-device-confirmation-copy`,children:`Choose the unlock method for Device 2. Email code sends a one-time code to the address you enter.`}),h(`fieldset`,{class:`seams-link-device-factor-options`,children:[h(`legend`,{class:`sr-only`,children:`Wallet unlock method`}),h(`label`,{children:[h(`span`,{class:`seams-auth-method-choice-icon`,children:w()}),h(`span`,{class:`seams-auth-method-choice-label`,children:`Passkey`}),h(`input`,{type:`radio`,name:`linked-device-factor`,value:`passkey_prf`,checked:e.targetFactor.kind===`passkey_prf`,onChange:this.onLinkDeviceFactorChange})]}),h(`label`,{children:[h(`span`,{class:`seams-auth-method-choice-icon`,children:ot()}),h(`span`,{class:`seams-auth-method-choice-label`,children:`Email code`}),h(`input`,{type:`radio`,name:`linked-device-factor`,value:`email_otp`,checked:e.targetFactor.kind===`email_otp`,onChange:this.onLinkDeviceFactorChange})]})]}),t?h(m,{children:h(`label`,{class:`seams-link-device-target-email`,children:[h(`span`,{class:`seams-field-label`,children:`Email address`}),h(`input`,{type:`email`,name:`linked-device-target-email`,autocomplete:`email`,value:n,"aria-label":`Email address`,"aria-invalid":n.length>0&&!r?`true`:`false`,onInput:this.onLinkDeviceTargetEmailInput})]})}):null,e.error?h(m,{children:h(`p`,{class:`seams-link-device-inline-error`,role:`alert`,children:e.error})}):null,h(`button`,{class:`seams-link-device-btn seams-link-device-btn-primary`,type:`button`,"data-auth-menu-primary":!0,disabled:!r,onClick:this.onLinkDeviceStart,children:`Continue`})]})})}renderLinkDeviceEmailOtp(e){let t=e.state,n=yt(t),r=t.kind===`sending`||t.kind===`submitting`||t.kind===`resending`,i=e.otpCode.length===6&&(t.kind===`code_input`||t.kind===`incorrect`),a=t.kind!==`completed`&&t.kind!==`expired`&&t.kind!==`unavailable`,o=`maskedEmailHint`in t?t.maskedEmailHint:``,s=A(e.otpCode);return h(m,{children:h(`div`,{class:`seams-link-device-confirmation seams-link-device-email-otp`,"data-tone":n.tone,"data-otp-phase":t.kind,children:[vt(n.ring,ot()),h(`h2`,{class:`qr-title`,id:O,children:n.heading}),o?h(m,{children:h(`div`,{class:`seams-link-device-email-chip`,title:o,children:h(`span`,{children:o})})}):null,h(`p`,{class:`seams-link-device-email-status`,id:`seams-linked-device-otp-status`,role:`status`,"aria-live":`polite`,children:[n.status,n.pending?h(m,{children:h(`span`,{class:`animated-ellipsis`,"aria-hidden":`true`})}):null]}),a?h(m,{children:[h(`label`,{class:`sr-only`,for:`seams-linked-device-email-otp`,children:`Email code`}),h(`div`,{class:`seams-otp-code-field`,"data-disabled":r?`true`:`false`,children:[h(`input`,{class:`seams-otp-input`,id:`seams-linked-device-email-otp`,"data-auth-menu-input":!0,type:`text`,inputmode:`numeric`,autocomplete:`one-time-code`,pattern:`[0-9]*`,maxLength:6,"aria-label":`Email verification code`,"aria-describedby":`seams-linked-device-otp-status`,"aria-invalid":t.kind===`incorrect`?`true`:`false`,value:e.otpCode,disabled:r,onInput:this.onLinkDeviceEmailOtpCodeInput,onKeyDown:this.onLinkDeviceEmailOtpKeydown}),h(`div`,{class:`seams-otp-slots`,"aria-hidden":`true`,children:s.map(j)})]})]}):null,this.renderLinkDeviceEmailOtpActions(t,{busy:r,canSubmit:i})]})})}renderLinkDeviceEmailOtpActions(e,t){return e.kind===`completed`?null:e.kind===`unavailable`?h(m,{children:h(`button`,{class:`seams-link-device-btn`,type:`button`,"data-link-device-error-dismiss":!0,onClick:this.onBackClick,children:`Return to unlock wallet`})}):e.kind===`expired`?h(m,{children:h(`button`,{class:`seams-link-device-btn seams-link-device-btn-primary`,type:`button`,onClick:this.onLinkDeviceEmailOtpResend,children:`Send a new code`})}):h(m,{children:[h(`button`,{class:`seams-link-device-btn seams-link-device-btn-primary`,type:`button`,disabled:!t.canSubmit,onClick:this.onLinkDeviceEmailOtpSubmit,children:e.kind===`submitting`?`Verifying`:`Verify code`}),h(`button`,{class:`seams-otp-resend`,type:`button`,disabled:t.busy,onClick:this.onLinkDeviceEmailOtpResend,children:`Send another code`})]})}renderLinkDeviceFailure(e){let t=e.kind===`activation_error`;return this.renderLinkDeviceFailurePanel({dismiss:`error`,title:t?`Device linked`:`Couldn't link device`,detail:t?h(m,{children:[`Unable to open the wallet. Go back and try again. `,e.message]}):e.message,action:`Return to unlock wallet`})}renderLinkDeviceFailurePanel(e){return h(m,{children:h(`div`,{class:`seams-link-device-confirmation seams-link-device-failure`,children:[h(`div`,{class:`seams-link-device-failure-icon`,children:st()}),h(`h2`,{class:`qr-title`,id:O,children:e.title}),h(`p`,{class:`seams-link-device-failure-detail`,role:`alert`,children:e.detail}),h(`button`,{class:`seams-link-device-btn`,type:`button`,"data-auth-menu-primary":!0,[`data-link-device-${e.dismiss}-dismiss`]:!0,onClick:this.onBackClick,children:e.action})]})})}renderLinkedDeviceActivation(e){return h(m,{children:h(`div`,{class:`seams-link-device-confirmation`,children:[h(`span`,{class:`seams-spinner`,"aria-hidden":`true`}),h(`h2`,{class:`qr-title`,id:O,children:`Opening linked wallet`}),h(`p`,{class:`seams-link-device-confirmation-copy`,role:`status`,"aria-live":`polite`,children:e.message})]})})}renderLinkDevicePasskeyConfirmation(e){let t=e.kind===`creating_passkey`;return h(m,{children:h(`div`,{class:`seams-link-device-confirmation`,children:[vt(t?`waiting`:`approved`),h(`h2`,{class:`qr-title`,id:O,"aria-live":`polite`,children:e.message}),h(`button`,{class:`seams-link-device-btn seams-link-device-btn-primary`,type:`button`,"data-auth-menu-primary":!0,"data-link-device-passkey-action":!0,disabled:t,onClick:this.onLinkDeviceCreatePasskey,children:t?`Waiting for passkey`:`Create passkey`})]})})}renderGoogleOtp(e){let t=e.delivery.status===`reused`?`Use the code already sent to ${e.emailHint}.`:`A 6-digit code was sent to ${e.emailHint}.`,n=A(e.otpCode);return h(m,{children:h(`div`,{class:`seams-otp-prompt`,"aria-live":`polite`,children:[h(`div`,{class:`seams-otp-prompt-copy`,children:[h(`div`,{class:`seams-otp-title`,id:O,children:e.heading}),h(`p`,{class:`seams-otp-description`,children:t}),D(e.delivery),h(`div`,{class:`seams-otp-account`,title:e.walletId,children:[h(`span`,{class:`seams-otp-account-label`,children:`Wallet`}),h(`span`,{class:`seams-otp-account-value`,children:e.walletId})]})]}),h(`label`,{class:`seams-field-label`,for:`seams-auth-menu-google-otp`,children:`Email code`}),h(`div`,{class:`seams-otp-code-field`,"data-disabled":e.submitBusy?`true`:`false`,children:[h(`input`,{class:`seams-otp-input`,id:`seams-auth-menu-google-otp`,"data-auth-menu-input":!0,"data-email-otp-challenge-id":e.challengeId,"data-email-otp-wallet-id":e.walletId,type:`text`,inputmode:`numeric`,autocomplete:`one-time-code`,pattern:`[0-9]*`,maxLength:6,value:e.otpCode,disabled:e.submitBusy,onInput:this.onGoogleOtpCodeInput,onKeyDown:this.onGoogleOtpKeydown}),h(`div`,{class:`seams-otp-slots`,"aria-hidden":`true`,children:n.map(j)})]}),h(`p`,{class:`seams-otp-helper`,children:e.prompt.helperText??``}),h(`button`,{class:`seams-auth-method-btn seams-auth-method-btn-primary`,type:`button`,"data-auth-menu-primary":!0,disabled:!x(e),onClick:this.onPrimaryClick,children:e.submitBusy?`Unlocking…`:e.ctaLabel}),h(`button`,{class:`seams-otp-resend auth-menu-google-resend`,type:`button`,disabled:e.resendBusy||e.submitBusy,onClick:this.onGoogleOtpResend,children:e.resendBusy?`Sending…`:`Resend Code`})]})})}renderGoogleRegistration(e){return h(m,{children:h(`div`,{class:`seams-otp-prompt`,"aria-live":`polite`,children:[h(`div`,{class:`seams-otp-prompt-copy`,children:[h(`div`,{class:`seams-otp-title`,id:O,children:e.heading}),h(`p`,{class:`seams-otp-description`,children:e.subtitle}),h(`div`,{class:`seams-otp-account`,title:e.walletId,children:[h(`span`,{class:`seams-otp-account-label`,children:`Wallet`}),h(`span`,{class:`seams-otp-account-value`,children:e.walletId})]}),h(`button`,{class:`seams-otp-reroll`,type:`button`,disabled:e.rerollBusy||e.submitBusy,onClick:this.onGoogleRegistrationReroll,children:e.rerollBusy?`Generating…`:`Generate another name`})]}),h(`button`,{class:`seams-auth-method-btn seams-auth-method-btn-primary`,type:`button`,"data-auth-menu-primary":!0,disabled:!x(e),onClick:this.onPrimaryClick,children:e.submitBusy?`Creating...`:e.ctaLabel})]})})}};const P=new WeakMap;let Tt=0;function Et(e){let t=P.get(e);return t||(t=Fe({doc:e,baseCss:``,dynamicStyleDataAttr:`data-seams-auth-menu-dynamic`,nonce:Ne}),P.set(e,t)),t}var Dt=class{constructor(e){this.cancel=()=>{this.state.kind===`mounted`&&this.state.onIntent({kind:`close`,reason:`close_button`})};let t=e.parent.ownerDocument;this.styles=Et(t),this.element=t.createElement(`div`),this.element.className=`seams-wallet-ui seams-auth-menu-surface`,this.element.id=`seams-auth-menu-${++Tt}`,this.state={kind:`mounted`,onIntent:e.onIntent},this.element.addEventListener(`cancel`,this.cancel),e.parent.appendChild(this.element);try{this.update(e.viewModel)}catch(e){throw this.dispose(),e}}update(e){this.state.kind!==`disposed`&&(this.element.dataset.theme=e.appearance.theme.mode,this.styles.setDynamicRule(this.element.id+`-appearance`,Ie(this.element.id,e.appearance)),Pe(h(wt,{element:this.element,viewModel:e,onIntent:this.state.onIntent,styles:this.styles}),this.element))}dispose(){this.state.kind!==`disposed`&&(this.state={kind:`disposed`},this.element.removeEventListener(`cancel`,this.cancel),Pe(null,this.element),this.styles.deleteDynamicRule(this.element.id+`-appearance`),this.element.remove())}};function Ot(e){return new Dt(e)}const F=Symbol(`hostedPasskeyLoginPrepared`),kt=Symbol(`hostedPasskeyAccountSyncPrepared`),I=300*1e3;function L(e){return{signingEngine:e.signingEngine,nearClient:e.nearClient,configs:e.configs,theme:e.theme,resumePendingAcknowledgementsV1:e.resumePendingAcknowledgementsV1}}const R=new WeakMap;function At(e){return e.signal}function z(e){if(At(e).aborted)throw Error(`Hosted auth-menu passkey preparation was cancelled`)}function jt(e){if(Date.now()>=e.expiresAtMs)throw W(e),Error(`Hosted auth-menu passkey preparation expired`)}function B(e){let t=R.get(e);if(!t)throw Error(`Hosted auth-menu passkey preparation is unknown`);if(t.lifecycle!==`ready`)throw Error(`Hosted auth-menu passkey preparation is no longer usable`);if(Date.now()>=e.expiresAtMs)throw W(e),Error(`Hosted auth-menu passkey preparation expired`);return z(e.cancellation),t}function Mt(e){return{id:String(e.credentialId||``).trim(),type:`public-key`,transports:Array.isArray(e.transports)?e.transports:[]}}function V(e){return{authMenuSessionId:e.authMenuSessionId,requestId:e.requestId}}async function H(e){z(e.cancellation);let t=Te(e.walletId),n=await se(String(t));if(n){z(e.cancellation);let r=Object.freeze({kind:`hosted_passkey_linked_authority_login_prepared_v1`,...V(e),walletId:t,selection:n,expiresAtMs:Date.now()+I,cancellation:e.cancellation,[F]:!0});return R.set(r,{context:e.context,loginOptions:{},syncOptions:{},lifecycle:`ready`,authority:null}),r}let r=await ge({walletId:String(t),requestedCapabilityFamilies:{kind:`all_registered_mpc`}}),i=r.kind===`resolved`?r.subjectSet:await oe(String(t));if(!i)return await U({context:e.context,walletId:null,authMenuSessionId:e.authMenuSessionId,requestId:e.requestId,cancellation:e.cancellation});z(e.cancellation);let a=Object.freeze({kind:`hosted_passkey_owner_login_prepared_v1`,...V(e),walletId:t,subjectSet:i,expiresAtMs:Date.now()+I,cancellation:e.cancellation,[F]:!0});return R.set(a,{context:e.context,loginOptions:{},syncOptions:{},lifecycle:`ready`,authority:null}),a}async function U(e){z(e.cancellation);let t=await ue(e.context,e.walletId);z(e.cancellation);let n=Object.freeze({kind:`hosted_passkey_account_sync_prepared_v1`,authMenuSessionId:e.authMenuSessionId,requestId:e.requestId,challenge:t,expiresAtMs:Date.now()+I,cancellation:e.cancellation,[kt]:!0});return R.set(n,{context:e.context,loginOptions:{},syncOptions:{},lifecycle:`ready`,authority:null}),n}function Nt(e){let t=B(e);t.lifecycle=`consuming`;let n={subjectId:e.challenge.walletId||`account-sync`,challengeB64u:e.challenge.syncOptions.challengeB64u,allowCredentials:e.challenge.syncOptions.credentialIds.map(e=>Mt({credentialId:e}))},r;try{r=t.context.signingEngine.getAuthenticationCredentialsSerialized({...n,includeSecondPrfOutput:!1})}catch(e){throw t.lifecycle=`cancelled`,e}return t.authority=r,r.then(()=>{t.lifecycle===`consuming`&&(t.lifecycle=`consumed`)},()=>{t.lifecycle===`consuming`&&(t.lifecycle=`cancelled`)}),r}function Pt(e){let t=R.get(e);if(!t)throw Error(`Hosted auth-menu passkey preparation is unknown`);if(t.lifecycle!==`consuming`&&t.lifecycle!==`consumed`||!t.authority)throw Error(`Hosted auth-menu passkey credential must be started by its CTA`);return t.lifecycle=`completing`,t}async function Ft(e){let t=B(e);t.lifecycle=`completing`;let n=!1,r=e=>{e.phase===Oe.CANCELLED&&(n=!0)};try{let i=t.loginOptions.onEvent,a={...t.loginOptions,onEvent:e=>{r(e),i?.(e)}},o=e.kind===`hosted_passkey_linked_authority_login_prepared_v1`?await te(t.context,String(e.walletId),a):await pe(t.context,e.subjectSet,a);return o.success?t.context.resumePendingAcknowledgementsV1():u(),{result:o,cancelledByUser:n}}finally{t.lifecycle=`finished`}}async function It(e){let t=Pt(e),n=t.authority;if(!n)throw Error(`Hosted auth-menu passkey credential is missing`);try{let r=await n;return jt(e),z(e.cancellation),await ie(t.context,e.challenge,r,t.syncOptions)}finally{t.lifecycle=`finished`}}function W(e){let t=R.get(e);!t||t.lifecycle===`finished`||t.lifecycle===`cancelled`||(t.lifecycle=`cancelled`)}function G(e){if(e.kind===`hosted_passkey_registration_prepared_v1`){be(e);return}W(e)}function K(){}function Lt(e){return e.target.kind===`passkey`}function Rt(e){return e.kind===`recovery`&&e.stage===`finalizing`&&(e.operation.kind===`hosted_recovery_credential_created`||e.operation.kind===`hosted_recovery_email_otp_verified`)}function zt(e){return e.targetFactor.kind===`email_otp`?{targetFactor:e.targetFactor,targetEmail:ee(e.targetEmail)}:{targetFactor:e.targetFactor}}const Bt={kind:`recoverable`,reason:`error`,message:`Google sign-in was cancelled.`};function q(e){let t=e.mode??e.request.initialMode,n=e.request.copy[t],r={kind:`passkey`,appearance:e.appearance,hostname:e.hostname,closeLabel:e.request.copy.common.closeLabel,heading:n.title,subtitle:n.subtitle,ctaLabel:n.passkeyCta,showProgress:e.request.showProgress,enabledExternalProviders:e.request.enabledExternalProviders,status:{kind:`idle`,interaction:`arming`}};return t===`register`?{...r,mode:t,showRegistrationInput:e.request.showRegistrationInput||e.request.registrationAccountInput===`sponsored_named_near_account`,passkeyNameReadOnly:e.request.registrationAccountInput===`implicit_wallet`,passkeyName:e.request.registrationAccountInput===`implicit_wallet`?String(Ee()):``,passkeyNameLabel:e.request.copy.register.passkeyNameLabel}:{...r,mode:t,accountOptions:[],selectedAccount:null}}function Vt(e){let t=q({...e,mode:`login`});if(t.kind!==`passkey`||t.mode!==`login`)throw Error(`login view model construction failed`);return t}async function Ht(e){let[t]=await Promise.allSettled([e,new Promise(e=>setTimeout(e,500))]);if(t.status===`rejected`)throw t.reason;return t.value}function Ut(e){return e.trim()||`Wallet`}function Wt(e){return`close_button`}function J(){try{let e=globalThis.crypto?.randomUUID?.();if(e)return`auth-menu-external-${e}`}catch{}return`auth-menu-external-${Date.now()}-${Math.random().toString(36).slice(2)}`}function Gt(e){return{appearance:e.base.appearance,hostname:e.base.hostname,closeLabel:e.base.closeLabel,heading:e.flow.prompt.title,subtitle:e.flow.prompt.description,ctaLabel:e.flow.prompt.submitLabel,showProgress:e.base.showProgress,enabledExternalProviders:e.base.enabledExternalProviders,status:e.status}}function Kt(e){let t=`google-email-otp-login:${e.flow.walletId}:`;if(!e.flow.flowId.startsWith(t))throw Error(`Google Email OTP login flow identity is invalid`);return{...Gt({base:e.base,flow:e.flow,status:e.status??{kind:`idle`,interaction:`actionable`}}),kind:`google_otp_login`,mode:`login`,emailHint:e.flow.emailHint,walletId:String(e.flow.walletId),challengeId:e.flow.flowId.slice(t.length),prompt:e.flow.prompt,delivery:e.flow.delivery,otpCode:e.otpCode??``,resendBusy:e.resendBusy??!1,submitBusy:e.submitBusy??!1,...e.error?{error:e.error}:{}}}function qt(e){return{...Gt({base:e.base,flow:e.flow,status:e.status??{kind:`idle`,interaction:`actionable`}}),kind:`google_registration`,mode:`register`,emailHint:e.flow.emailHint,walletId:String(e.flow.walletId),prompt:e.flow.prompt,rerollBusy:e.rerollBusy??!1,submitBusy:e.submitBusy??!1,...e.error?{error:e.error}:{}}}function Y(e){return e instanceof Error&&e.message.trim()?e.message.trim():String(e)}function Jt(e){switch(e.kind){case`passkey`:return e.status.kind===`recoverable`?{mode:e.mode,message:e.status.detail??e.status.message}:null;case`google_otp_login`:case`google_registration`:return e.error?{mode:e.mode,message:e.error}:e.status.kind===`recoverable`?{mode:e.mode,message:e.status.message}:null;case`link_device`:return null;case`recovery`:return e.stage===`sign_in_ready`&&e.status.kind===`recoverable`?{mode:`login`,message:e.status.detail??e.status.message}:null;default:{let t=e;throw Error(`Unknown auth-menu view model: ${JSON.stringify(t)}`)}}}function Yt(e){return{kind:`link_device`,appearance:e.appearance,hostname:e.hostname,closeLabel:e.closeLabel,heading:`Scan and link device`,subtitle:`Scan this code with your other device.`,ctaLabel:``,showProgress:e.showProgress,enabledExternalProviders:e.enabledExternalProviders,status:{kind:`idle`,interaction:`actionable`},mode:e.mode,linkDevice:{kind:`select_factor`,targetFactor:{kind:`passkey_prf`}}}}function X(e){let t={kind:`recovery`,mode:`login`,appearance:e.base.appearance,hostname:e.base.hostname,closeLabel:e.base.closeLabel,heading:`Recover wallet`,subtitle:e.stage===`sign_in_ready`?e.target.kind===`google_email_otp`?`Your Google account is ready to unlock your wallet.`:`Your wallet is ready. Unlock it with your passkey.`:`Enter a recovery code to recover your wallet.`,ctaLabel:e.stage===`passkey_ready`?`Create new passkey`:e.stage===`google_ready`?`Continue with Google`:e.stage===`email_code_required`?`Verify email code`:e.stage===`sign_in_ready`?e.target.kind===`google_email_otp`?`Unlock with Google`:`Unlock with new passkey`:e.stage===`preparing`?e.target.kind===`google_email_otp`?`Recover with Google`:`Recover with Passkey`:`Continue`,showProgress:e.base.showProgress,enabledExternalProviders:e.base.enabledExternalProviders,recoveryCode:e.recoveryCode??``,recoveryCodeError:e.recoveryCodeError??null};switch(e.stage){case void 0:case`enter_code`:return{...t,stage:`enter_code`,status:e.status??{kind:`idle`,interaction:`actionable`}};case`preparing`:return{...t,stage:e.stage,target:e.target,status:e.status};case`passkey_ready`:return{...t,target:e.target,walletId:e.walletId,stage:e.stage,status:e.status??{kind:`idle`,interaction:`actionable`}};case`google_ready`:return{...t,target:e.target,walletId:e.walletId,stage:e.stage,status:e.status??{kind:`idle`,interaction:`actionable`}};case`email_code_required`:return{...t,target:e.target,walletId:e.walletId,stage:e.stage,challengeId:e.challengeId,emailHint:e.emailHint,delivery:e.delivery,otpCode:e.otpCode??``,status:e.status??{kind:`idle`,interaction:`awaiting_input`}};case`finalizing`:return{...t,target:e.target,walletId:e.walletId,stage:e.stage,status:e.status};case`sign_in_ready`:return{...t,target:e.target,walletId:e.walletId,stage:e.stage,status:e.status??{kind:`idle`,interaction:`actionable`}}}}function Z(e){if(e.stage===`enter_code`||e.stage===`preparing`)throw Error(`recovery wallet id is unavailable before preparation`);return e.walletId}function Q(e){if(e.stage===`enter_code`)throw Error(`recovery target is unavailable before preparation`);return e.target}function $(e){return e.kind===`dismissed`?{kind:`idle`,interaction:`actionable`}:{kind:`recoverable`,reason:`error`,message:e.kind===`consumed`?`That recovery code has already been used. Use another code.`:`That recovery code can’t be used. Check the code and try again.`}}function Xt(){return{kind:`recoverable`,reason:`error`,message:`Recovery couldn’t be completed. Try again.`}}function Zt(e){return e.kind===`dismissed`?{kind:`idle`,interaction:`actionable`}:{kind:`recoverable`,reason:`error`,message:`A passkey couldn’t be created. Try again.`}}var Qt=class{constructor(e){this.surface=null,this.outcomeResolver=null,this.outcomePromise=null,this.cleanedUp=!1,this.prepared=null,this.preparePasskey=null,this.registrationPreparation=null,this.preparationCancellation=null,this.googleCancellation=null,this.loginPreparation=null,this.loginAccountOptions=[],this.selectedLoginAccount=null,this.modeSelectionSource=`initial`,this.measurementReporter=null,this.preparationGeneration=0,this.googleGeneration=0,this.deviceLinkGeneration=0,this.linkedDeviceActivationInProgress=!1,this.targetPasskeyActivation=null,this.targetEmailOtpActivation=null,this.linkedDeviceEmailOtpSendStarted=!1,this.linkedDeviceTargetFactor={kind:`passkey_prf`},this.linkedDeviceTargetEmailAddress=``,this.preparationDeadlineTimer=null,this.preparationExpiryTimer=null,this.lastReportedError=null,this.recoveryGeneration=0,this.recoveryCancellation=null,this.recoveryLoginPrepared=null,this.recoveryReturnState=null,this.prepareSelectedLogin=e=>{if(!this.loginPreparation)throw Error(`Hosted login preparation is unavailable`);let t=v(this.loginAccountOptions,this.selectedLoginAccount);if(!y(t))throw Error(`Email OTP accounts require Google sign-in`);return this.loginPreparation(t.kind===`discoverable`?null:t.walletId,e)},this.postSurfaceMeasurement=e=>{this.sendToParent({type:`SURFACE_MEASUREMENT`,payload:e})},this.onIntent=e=>{switch(e.kind){case`mode_selected`:this.selectMode(e.mode);return;case`back`:this.back();return;case`link_device_open`:this.openLinkDevice();return;case`recovery_open`:this.openRecovery();return;case`recovery_code_changed`:this.changeRecoveryCode(e.recoveryCode);return;case`recovery_passkey_selected`:this.prepareRecovery(`passkey`);return;case`recovery_google_selected`:this.prepareRecovery(`google_email_otp`);return;case`recovery_google_otp_code_changed`:this.changeRecoveryGoogleOtpCode(e.code);return;case`recovery_google_otp_submit`:this.submitRecoveryGoogleOtp();return;case`recovery_create_passkey`:this.createRecoveryPasskey();return;case`recovery_sign_in`:this.signInRecoveredWallet();return;case`link_device_factor_selected`:this.selectLinkedDeviceTargetFactor(e.targetFactor);return;case`link_device_target_email_changed`:this.changeLinkedDeviceTargetEmailAddress(e.emailAddress);return;case`link_device_start`:this.startSelectedDeviceLinking();return;case`link_device_create_passkey`:this.createLinkedDevicePasskey();return;case`link_device_email_otp_code_changed`:this.changeLinkedDeviceEmailOtpCode(e.code);return;case`link_device_email_otp_resend`:this.resendLinkedDeviceEmailOtp();return;case`link_device_email_otp_submit`:this.submitLinkedDeviceEmailOtp();return;case`registration_reroll`:this.rerollRegistrationWallet();return;case`close`:this.cancel(Wt(e));return;case`passkey_name_changed`:{let t=this.stateValue.kind===`preparing`||this.stateValue.kind===`ready`?this.stateValue.viewModel:null;t?.kind===`passkey`&&t.mode===`register`&&!t.passkeyNameReadOnly&&(this.invalidatePreparation(),this.stateValue={kind:`preparing`,viewModel:{...t,passkeyName:e.passkeyName,status:{kind:`idle`,interaction:`arming`}}},this.updateElement(),this.startPasskeyPreparation());return}case`login_account_selected`:this.selectLoginAccount(e.walletId,e.authMethod);return;case`submit`:if(this.stateValue.kind===`preparing`&&this.stateValue.viewModel.status.kind===`recoverable`){this.retryPreparation();return}this.stateValue.kind===`ready`&&this.prepared===this.stateValue.prepared&&(e.mode===`register`&&this.stateValue.prepared.kind===`hosted_passkey_registration_prepared_v1`||e.mode===`login`&&(this.stateValue.prepared.kind===`hosted_passkey_owner_login_prepared_v1`||this.stateValue.prepared.kind===`hosted_passkey_linked_authority_login_prepared_v1`||this.stateValue.prepared.kind===`hosted_passkey_account_sync_prepared_v1`))&&this.performPreparedPasskey(this.stateValue.prepared);return;case`external_auth`:this.requestExternalAuth(e.provider);return;case`google_otp_code_changed`:this.updateGoogleOtpCode(e.code);return;case`google_otp_resend`:this.resendGoogleOtp();return;case`google_otp_submit`:this.submitGoogleOtp();return;case`google_registration_reroll`:this.rerollGoogleRegistration();return;case`google_registration_complete`:this.completeGoogleRegistration();return;case`retry`:this.retryPreparation();return;default:return $t(e)}},this.identity={authMenuSessionId:e.request.authMenuSessionId,requestId:e.requestId},this.request=e.request,this.beginGoogleEmailOtp=e.beginGoogleEmailOtp,this.startDeviceLinking=e.startDeviceLinking,this.cancelDeviceLinking=e.cancelDeviceLinking,this.recoveryPort=e.recoveryPort,this.prepareRecoveredLogin=e.prepareRecoveredLogin,this.sendToParent=e.sendToParent,this.stateValue={kind:`preparing`,viewModel:q({request:e.request,appearance:e.appearance,hostname:Ut(e.hostname)})}}get state(){return this.stateValue}setRegistrationPreparation(e){this.registrationPreparation=e,this.stateValue.kind!==`complete`&&this.currentViewModel().mode===`register`&&(this.preparePasskey=null,this.startPasskeyPreparation())}setPasskeyPreparation(e){this.preparePasskey=e,this.startPasskeyPreparation()}setLoginPreparation(e){let t=this.stateValue.kind===`complete`?null:this.currentViewModel();t?.kind===`passkey`&&t.mode===`login`&&(this.stateValue.kind===`preparing`||this.stateValue.kind===`ready`)&&this.invalidatePreparation(),this.loginPreparation=e.prepare,this.loginAccountOptions=e.accountOptions,this.selectedLoginAccount=e.selectedAccount,this.updateLoginSelectionViewModel(),(this.stateValue.kind===`preparing`||this.stateValue.kind===`ready`)&&this.currentViewModel().mode===`login`&&this.activateSelectedLoginMethod()}defaultToLoginForDetectedLocalWallet(){if(this.modeSelectionSource!==`initial`||this.stateValue.kind===`complete`)return;let e=this.currentViewModel();e.kind!==`passkey`||e.mode!==`register`||this.showPasskeyMode(`login`)}activateSelectedLoginMethod(){if(y(v(this.loginAccountOptions,this.selectedLoginAccount))){this.setPasskeyPreparation(this.prepareSelectedLogin);return}this.preparePasskey=null;let e=this.stateValue;e.kind!==`preparing`&&e.kind!==`ready`||e.viewModel.kind!==`passkey`||e.viewModel.mode!==`login`||(this.stateValue={kind:`preparing`,viewModel:{...e.viewModel,status:{kind:`idle`,interaction:`actionable`}}},this.updateElement())}updateLoginSelectionViewModel(){let e=this.stateValue;e.kind!==`preparing`&&e.kind!==`ready`||e.viewModel.kind!==`passkey`||e.viewModel.mode!==`login`||(this.stateValue={...e,viewModel:{...e.viewModel,accountOptions:this.loginAccountOptions,selectedAccount:this.selectedLoginAccount}})}mount(){if(this.surface||this.cleanedUp)throw Error(`Hosted auth-menu session is already mounted`);if(document.querySelectorAll(`.seams-auth-menu-surface`).length>0)throw Error(`A hosted auth-menu surface is already mounted`);let e=document.body||document.documentElement;if(!e)throw Error(`Wallet host document has no mount root`);this.surface=Ot({parent:e,viewModel:this.currentViewModel(),onIntent:this.onIntent}),this.measurementReporter=Me({kind:`auth_menu_surface`,element:this.surface.element,requestId:this.identity.requestId,authMenuSessionId:this.identity.authMenuSessionId,postMeasurement:this.postSurfaceMeasurement})}waitForOutcome(){return this.stateValue.kind===`complete`?Promise.resolve(this.stateValue.outcome):(this.outcomePromise||=new Promise(e=>{this.outcomeResolver=e}),this.outcomePromise)}cancel(e){if(Rt(this.stateValue)){if(e===`close_button`)return;this.complete({kind:`cancelled`,authMenuSessionId:this.identity.authMenuSessionId,reason:e});return}this.stateValue.kind===`link_device`&&console.error(`[Device2Linking] auth menu cancelled`,{reason:e}),this.invalidatePreparation(),this.complete({kind:`cancelled`,authMenuSessionId:this.identity.authMenuSessionId,reason:e})}startPasskeyPreparation(){if(this.stateValue.kind===`complete`)return;let e=this.currentViewModel();if(e.kind!==`passkey`)return;let t=e.mode===`register`?this.registrationPreparation:null,n=e.mode===`login`?this.preparePasskey:null;if(!n&&!t)return;if(t&&e.mode===`register`&&e.showRegistrationInput&&e.passkeyName.trim().length===0){this.invalidatePreparation(),this.stateValue={kind:`preparing`,viewModel:{...e,status:{kind:`idle`,interaction:`awaiting_input`}}},this.updateElement();return}this.clearPreparationExpiryTimer();let r=++this.preparationGeneration,i=new AbortController;this.preparationCancellation=i;let a={kind:`abort_signal`,signal:i.signal};this.stateValue={kind:`preparing`,viewModel:{...e,status:{kind:`idle`,interaction:`arming`}}},this.updateElement(),this.schedulePreparationDeadline(r,i),Promise.resolve().then(()=>t?t(this.registrationValue(),a):n(a)).then(t=>{if(r!==this.preparationGeneration||this.stateValue.kind===`complete`){G(t);return}this.clearPreparationDeadlineTimer(),this.prepared=t,this.stateValue={kind:`ready`,prepared:t,viewModel:{...e,status:{kind:`idle`,interaction:`actionable`}}},this.schedulePreparationExpiry(t),this.updateElement()},t=>{r!==this.preparationGeneration||this.stateValue.kind===`complete`||(this.clearPreparationDeadlineTimer(),this.stateValue={kind:`preparing`,viewModel:{...e,status:_(Y(t))}},this.updateElement())})}invalidatePreparation(){this.invalidateRecovery(),this.stateValue.kind===`link_device`&&(this.deviceLinkGeneration+=1,this.cancelDeviceLinking().catch(()=>{})),this.clearPreparationDeadlineTimer(),this.clearPreparationExpiryTimer(),this.preparationGeneration+=1,this.preparationCancellation?.abort(),this.preparationCancellation=null,this.googleGeneration+=1,this.googleCancellation?.abort(),this.googleCancellation=null;let e=this.prepared;this.prepared=null,e&&G(e),this.stateValue.kind===`performing`&&G(this.stateValue.prepared),(this.stateValue.kind===`google_login`||this.stateValue.kind===`google_registration`)&&this.stateValue.flow.cancel().catch(()=>{})}invalidateRecovery(){this.recoveryGeneration+=1,this.recoveryCancellation?.abort(),this.recoveryCancellation=null;let e=this.recoveryLoginPrepared;this.recoveryLoginPrepared=null,e&&G(e);let t=this.stateValue;t.kind!==`recovery`||!t.operation||Rt(t)||this.recoveryPort.cancel(t.operation).catch(()=>{})}registrationValue(){let e=this.stateValue;return(e.kind===`preparing`||e.kind===`ready`)&&e.viewModel.kind===`passkey`&&e.viewModel.mode===`register`?e.viewModel.passkeyName:``}clearPreparationExpiryTimer(){this.preparationExpiryTimer!==null&&(clearTimeout(this.preparationExpiryTimer),this.preparationExpiryTimer=null)}clearPreparationDeadlineTimer(){this.preparationDeadlineTimer!==null&&(clearTimeout(this.preparationDeadlineTimer),this.preparationDeadlineTimer=null)}schedulePreparationDeadline(e,t){this.clearPreparationDeadlineTimer(),this.preparationDeadlineTimer=setTimeout(this.expirePasskeyPreparation.bind(this,e,t),2e4)}expirePasskeyPreparation(e,t){let n=this.stateValue;e!==this.preparationGeneration||t!==this.preparationCancellation||n.kind!==`preparing`||n.viewModel.kind!==`passkey`||n.viewModel.status.kind!==`idle`||n.viewModel.status.interaction!==`arming`||(this.clearPreparationDeadlineTimer(),this.preparationGeneration+=1,this.preparationCancellation=null,t.abort(),this.stateValue={kind:`preparing`,viewModel:{...n.viewModel,status:_(`Passkey preparation timed out`)}},this.updateElement())}schedulePreparationExpiry(e){this.clearPreparationExpiryTimer();let t=Math.max(0,e.expiresAtMs-Date.now());this.preparationExpiryTimer=setTimeout(()=>{this.preparationExpiryTimer=null,!(this.stateValue.kind!==`ready`||this.stateValue.prepared!==e||this.prepared!==e||this.stateValue.viewModel.kind!==`passkey`)&&(G(e),this.prepared=null,this.stateValue={kind:`preparing`,viewModel:{...this.stateValue.viewModel,status:{kind:`recoverable`,reason:`expired`,message:`Passkey preparation expired. Retry to continue.`}}},this.updateElement())},t)}startGoogleFlow(e,t){this.invalidatePreparation();let n=++this.googleGeneration,r=new AbortController;this.googleCancellation=r;let i=this.currentViewModel();i.kind===`recovery`||i.kind===`link_device`||(this.stateValue={kind:`preparing`,viewModel:{...i,status:{kind:`busy`,headline:`Waiting for Google SSO authentication…`,detail:`Starting Google sign-in`}}},this.updateElement(),this.beginGoogleEmailOtp({idToken:e,authTarget:t,signal:r.signal}).then(e=>{if(n!==this.googleGeneration||r.signal.aborted||this.stateValue.kind===`complete`){e.cancel().catch(()=>{});return}this.googleCancellation=null,e.mode===`login`?this.stateValue={kind:`google_login`,flow:e,viewModel:Kt({base:i,flow:e})}:this.stateValue={kind:`google_registration`,flow:e,viewModel:qt({base:i,flow:e})},this.updateElement()},e=>{n!==this.googleGeneration||r.signal.aborted||this.stateValue.kind===`complete`||(this.googleCancellation=null,this.stateValue={kind:`preparing`,viewModel:{...i,status:_(Y(e))}},this.updateElement())}))}requestExternalAuth(e){if(this.stateValue.kind===`complete`)return null;if(this.stateValue.kind===`recovery`&&this.stateValue.stage===`google_ready`)return this.requestRecoveryGoogleVerification(e,this.stateValue);if(this.stateValue.kind===`recovery`&&this.stateValue.stage===`sign_in_ready`&&this.stateValue.viewModel.target.kind===`google_email_otp`)return this.requestRecoveredGoogleSignIn(e,this.stateValue);let t=this.currentViewModel();if(t.kind!==`passkey`||!this.request.enabledExternalProviders.includes(e)||this.stateValue.kind===`awaiting_external_auth`)return null;let n;if(t.mode===`register`)n={mode:`register`};else{let e=v(t.accountOptions,t.selectedAccount);if(!Ze(e))return null;n={mode:`login`,loginTarget:e.loginTarget}}this.invalidatePreparation();let r=o(J());if(!r)return null;let i={kind:`hosted_auth_menu_external_auth_request_v1`,authMenuSessionId:this.identity.authMenuSessionId,externalAuthRequestId:r,provider:e,mode:t.mode};return this.stateValue={kind:`awaiting_external_auth`,viewModel:{...t,status:{kind:`busy`,headline:`Waiting for Google SSO authentication…`,detail:`Waiting for Google sign-in`}},request:i,authTarget:n},this.updateElement(),this.sendToParent({type:`AUTH_MENU_EXTERNAL_AUTH_REQUEST`,requestId:this.identity.requestId,payload:i}),i}acceptExternalAuthResolution(e){let t=this.stateValue;if(t.kind===`recovery`&&t.stage===`google_external_auth`){if(t.request.authMenuSessionId!==e.authMenuSessionId||t.request.externalAuthRequestId!==e.externalAuthRequestId||this.identity.requestId!==e.requestId)return!1;if(e.evidence.kind===`google_id_token`)return this.startRecoveryGoogleVerification(t,e.evidence.idToken),!0;let n=e.evidence.kind===`cancelled`?Bt:_(e.evidence.message);return this.stateValue={kind:`recovery`,stage:`google_ready`,operation:t.operation,returnState:t.returnState,viewModel:X({base:t.viewModel,walletId:Z(t.viewModel),stage:`google_ready`,target:t.operation.target,status:n})},this.updateElement(),!0}if(t.kind!==`awaiting_external_auth`||t.viewModel.kind!==`passkey`||t.request.authMenuSessionId!==e.authMenuSessionId||t.request.externalAuthRequestId!==e.externalAuthRequestId||this.identity.requestId!==e.requestId)return!1;switch(e.evidence.kind){case`google_id_token`:return this.startGoogleFlow(e.evidence.idToken,t.authTarget),!0;case`cancelled`:case`failed`:{let n=e.evidence.kind===`cancelled`?Bt:_(e.evidence.message);return this.stateValue={kind:`preparing`,viewModel:{...t.viewModel,status:n}},this.updateElement(),!0}default:return rn(e.evidence)}}requestRecoveryGoogleVerification(e,t){if(!this.request.enabledExternalProviders.includes(e))return null;let n=o(J());if(!n)return null;let r={kind:`hosted_auth_menu_external_auth_request_v1`,authMenuSessionId:this.identity.authMenuSessionId,externalAuthRequestId:n,provider:e,mode:`login`};return this.stateValue={kind:`recovery`,stage:`google_external_auth`,operation:t.operation,returnState:t.returnState,request:r,viewModel:X({base:t.viewModel,walletId:Z(t.viewModel),stage:`finalizing`,target:t.operation.target,status:{kind:`busy`,headline:`Waiting for Google SSO authentication…`,detail:`Waiting for Google sign-in`}})},this.updateElement(),this.sendToParent({type:`AUTH_MENU_EXTERNAL_AUTH_REQUEST`,requestId:this.identity.requestId,payload:r}),r}requestRecoveredGoogleSignIn(e,t){if(!this.request.enabledExternalProviders.includes(e))return null;let n=o(J());if(!n)return null;let r={kind:`hosted_auth_menu_external_auth_request_v1`,authMenuSessionId:this.identity.authMenuSessionId,externalAuthRequestId:n,provider:e,mode:`login`};return this.stateValue={kind:`awaiting_external_auth`,request:r,authTarget:{mode:`login`,loginTarget:{kind:`wallet`,walletId:Z(t.viewModel)}},viewModel:{...Vt({request:this.request,appearance:t.viewModel.appearance,hostname:t.viewModel.hostname}),status:{kind:`busy`,headline:`Waiting for Google SSO authentication…`,detail:`Waiting for Google sign-in`}}},this.updateElement(),this.sendToParent({type:`AUTH_MENU_EXTERNAL_AUTH_REQUEST`,requestId:this.identity.requestId,payload:r}),r}cleanup(){this.cleanedUp||(this.cleanedUp=!0,this.invalidatePreparation(),this.measurementReporter?.disconnect(),this.measurementReporter=null,this.surface?.dispose(),this.surface=null)}currentViewModel(){switch(this.stateValue.kind){case`preparing`:case`awaiting_external_auth`:case`ready`:case`performing`:return this.stateValue.viewModel;case`google_login`:case`google_registration`:case`link_device`:case`recovery`:return this.stateValue.viewModel;case`complete`:throw Error(`Completed auth-menu session has no view model`)}}updateElement(){let e=this.currentViewModel();this.reportPresentedError(e),this.surface?.update(e)}reportPresentedError(e){let t=Jt(e);if(!t){this.lastReportedError=null;return}let n=`${t.mode}:${t.message}`;if(n===this.lastReportedError)return;this.lastReportedError=n;let r=s({kind:`hosted_auth_menu_error_v1`,authMenuSessionId:this.identity.authMenuSessionId,mode:t.mode,message:t.message});if(!r)throw Error(`Unable to emit hosted auth-menu error event`);this.sendToParent({type:`AUTH_MENU_ERROR`,requestId:this.identity.requestId,payload:r})}selectMode(e){let t=this.stateValue;t.kind===`complete`||t.kind===`performing`||t.kind===`link_device`||(this.modeSelectionSource=`user`,this.currentViewModel().mode!==e&&this.showPasskeyMode(e))}showPasskeyMode(e){if(this.stateValue.kind===`complete`||this.stateValue.kind===`link_device`)return;let t=this.currentViewModel();this.invalidatePreparation();let n=q({request:{...this.request,initialMode:e},appearance:t.appearance,hostname:t.hostname,mode:e});this.stateValue={kind:`preparing`,viewModel:n.kind===`passkey`&&n.mode===`login`?{...n,accountOptions:this.loginAccountOptions,selectedAccount:this.selectedLoginAccount}:n},this.updateElement(),e===`login`?this.activateSelectedLoginMethod():(this.preparePasskey=null,this.startPasskeyPreparation())}back(){if(this.stateValue.kind===`recovery`){if(this.stateValue.stage===`finalizing`)return;this.closeRecovery();return}if(this.stateValue.kind===`link_device`){this.closeLinkDevice();return}(this.stateValue.kind===`performing`||this.stateValue.kind===`awaiting_external_auth`||this.stateValue.kind===`google_login`||this.stateValue.kind===`google_registration`)&&this.showPasskeyMode(this.stateValue.viewModel.mode)}openRecovery(){let e=this.stateValue;if(e.kind!==`preparing`&&e.kind!==`ready`||e.viewModel.kind!==`passkey`)return;let t={kind:`preparing`,viewModel:{...e.viewModel,status:{kind:`idle`,interaction:`arming`}}};this.invalidatePreparation(),this.recoveryReturnState=t,this.stateValue={kind:`recovery`,stage:`enter_code`,returnState:t,viewModel:X({base:e.viewModel})},this.updateElement()}closeRecovery(){let e=this.stateValue;if(e.kind!==`recovery`)return;let t=e.returnState;this.invalidateRecovery(),this.recoveryReturnState=null,this.stateValue=t,this.updateElement(),this.preparePasskey=t.viewModel.mode===`login`?this.prepareSelectedLogin:null,this.startPasskeyPreparation()}changeRecoveryCode(e){let t=this.stateValue;t.kind!==`recovery`||t.stage!==`enter_code`||(this.stateValue={...t,viewModel:{...t.viewModel,recoveryCode:e,recoveryCodeError:null}},this.updateElement())}prepareRecovery(e=`passkey`){let t=this.stateValue;if(t.kind!==`recovery`||t.stage!==`enter_code`)return;let n=t.viewModel.recoveryCode.trim();if(!n){this.stateValue={...t,viewModel:{...t.viewModel,recoveryCodeError:`Enter a recovery code.`}},this.updateElement();return}let r;try{r=this.recoveryPort.targetFor(e)}catch{this.stateValue={...t,viewModel:X({base:t.viewModel,recoveryCode:t.viewModel.recoveryCode,status:$({kind:`refused`})})},this.updateElement();return}let i=++this.recoveryGeneration,a=new AbortController;this.recoveryCancellation=a,this.stateValue={...t,stage:`preparing`,viewModel:X({base:t.viewModel,recoveryCode:t.viewModel.recoveryCode,stage:`preparing`,target:r,status:{kind:`busy`,headline:`Checking recovery code…`}})},this.updateElement();let o;try{o=this.recoveryPort.prepare({recoveryCode:n,target:r,signal:a.signal})}catch{this.rejectRecoveryPreparation(i);return}o.then(this.completeRecoveryPreparation.bind(this,i),this.rejectRecoveryPreparation.bind(this,i))}completeRecoveryPreparation(e,t){let n=this.stateValue;if(e!==this.recoveryGeneration||n.kind!==`recovery`){t.kind===`hosted_recovery_prepared`&&this.recoveryPort.cancel(t).catch(K);return}if(this.recoveryCancellation=null,t.kind!==`hosted_recovery_prepared`){this.stateValue={kind:`recovery`,stage:`enter_code`,returnState:n.returnState,viewModel:X({base:n.viewModel,recoveryCode:n.viewModel.recoveryCode,status:$(t)})},this.updateElement();return}if(Lt(t)){this.stateValue={kind:`recovery`,stage:`passkey_ready`,operation:t,returnState:n.returnState,viewModel:X({base:n.viewModel,walletId:String(t.walletId),recoveryCode:``,stage:`passkey_ready`,target:t.target})},this.createRecoveryPasskey();return}let r={kind:`recovery`,stage:`google_ready`,operation:t,returnState:n.returnState,viewModel:X({base:n.viewModel,walletId:String(t.walletId),recoveryCode:``,stage:`google_ready`,target:t.target})};this.stateValue=r,this.requestRecoveryGoogleVerification(`google`,r)||(this.stateValue={...r,viewModel:X({base:r.viewModel,walletId:Z(r.viewModel),stage:`google_ready`,target:r.operation.target,status:{kind:`recoverable`,reason:`error`,message:`Google sign-in is unavailable. Try again.`}})},this.updateElement())}rejectRecoveryPreparation(e){let t=this.stateValue;e!==this.recoveryGeneration||t.kind!==`recovery`||(this.recoveryCancellation=null,this.stateValue={kind:`recovery`,stage:`enter_code`,returnState:t.returnState,viewModel:X({base:t.viewModel,recoveryCode:t.viewModel.recoveryCode,status:$({kind:`transport_uncertain`})})},this.updateElement())}startRecoveryGoogleVerification(e,t){let n=++this.recoveryGeneration;this.recoveryPort.verifyGoogle(e.operation,t).then(this.completeRecoveryGoogleVerification.bind(this,n),this.rejectRecoveryGoogleVerification.bind(this,n))}completeRecoveryGoogleVerification(e,t){let n=this.stateValue;if(e!==this.recoveryGeneration||n.kind!==`recovery`||n.stage!==`google_external_auth`){t.kind===`hosted_recovery_google_verified`&&this.recoveryPort.cancel(t).catch(K);return}if(t.kind!==`hosted_recovery_google_verified`){this.showRecoveryGoogleVerificationFailure(n,t);return}this.stateValue={kind:`recovery`,stage:`email_code_required`,operation:t,returnState:n.returnState,viewModel:X({base:n.viewModel,walletId:String(t.walletId),stage:`email_code_required`,target:t.target,challengeId:t.challengeId,emailHint:t.delivery.emailHint,delivery:t.delivery})},this.updateElement()}rejectRecoveryGoogleVerification(e){let t=this.stateValue;e!==this.recoveryGeneration||t.kind!==`recovery`||t.stage!==`google_external_auth`||this.showRecoveryGoogleVerificationFailure(t,{kind:`transport_uncertain`})}showRecoveryGoogleVerificationFailure(e,t){this.stateValue={kind:`recovery`,stage:`google_ready`,operation:e.operation,returnState:e.returnState,viewModel:X({base:e.viewModel,walletId:Z(e.viewModel),stage:`google_ready`,target:e.operation.target,status:$(t)})},this.updateElement()}changeRecoveryGoogleOtpCode(e){let t=this.stateValue;if(t.kind!==`recovery`||t.stage!==`email_code_required`)return;let n=e.replace(/\D/g,``).slice(0,6);this.stateValue={...t,viewModel:X({base:t.viewModel,walletId:Z(t.viewModel),stage:`email_code_required`,target:t.operation.target,challengeId:t.operation.challengeId,emailHint:t.operation.delivery.emailHint,delivery:t.operation.delivery,otpCode:n})},this.updateElement(),/^\d{6}$/.test(n)&&this.submitRecoveryGoogleOtp()}submitRecoveryGoogleOtp(){let e=this.stateValue;if(e.kind===`recovery`&&e.stage===`finalizing`&&e.operation.kind===`hosted_recovery_email_otp_verified`&&e.viewModel.status.kind===`recoverable`){this.finishRecovery(e.operation);return}if(e.kind!==`recovery`||e.stage!==`email_code_required`)return;let t=e.viewModel.otpCode.trim();if(!/^\d{6}$/.test(t))return;let n=++this.recoveryGeneration;this.stateValue={...e,viewModel:X({base:e.viewModel,walletId:Z(e.viewModel),stage:`email_code_required`,target:e.operation.target,challengeId:e.operation.challengeId,emailHint:e.operation.delivery.emailHint,delivery:e.operation.delivery,otpCode:t,status:{kind:`busy`,headline:`Verifying email code…`}})},this.updateElement(),this.recoveryPort.verifyEmailOtp(e.operation,{challengeId:e.operation.challengeId,otpCode:t}).then(this.completeRecoveryEmailOtpVerification.bind(this,n),this.rejectRecoveryEmailOtpVerification.bind(this,n))}completeRecoveryEmailOtpVerification(e,t){let n=this.stateValue;if(e!==this.recoveryGeneration||n.kind!==`recovery`||n.stage!==`email_code_required`){t.kind===`hosted_recovery_email_otp_verified`&&this.recoveryPort.cancel(t).catch(K);return}if(t.kind!==`hosted_recovery_email_otp_verified`){this.showRecoveryEmailOtpFailure(n,t);return}this.finishRecovery(t)}rejectRecoveryEmailOtpVerification(e){let t=this.stateValue;e!==this.recoveryGeneration||t.kind!==`recovery`||t.stage!==`email_code_required`||this.showRecoveryEmailOtpFailure(t,{kind:`transport_uncertain`})}showRecoveryEmailOtpFailure(e,t){this.stateValue={...e,viewModel:X({base:e.viewModel,walletId:Z(e.viewModel),stage:`email_code_required`,target:e.operation.target,challengeId:e.operation.challengeId,emailHint:e.operation.delivery.emailHint,delivery:e.operation.delivery,otpCode:e.viewModel.otpCode,status:$(t)})},this.updateElement()}createRecoveryPasskey(){let e=this.stateValue;if(e.kind!==`recovery`)return;if(e.stage===`finalizing`&&e.operation.kind===`hosted_recovery_credential_created`&&e.viewModel.status.kind===`recoverable`){this.finishRecovery(e.operation);return}if(e.stage!==`passkey_ready`)return;let t=++this.recoveryGeneration,n;try{n=this.recoveryPort.createPasskey(e.operation)}catch{this.showRecoveryCreateFailure(e,{kind:`refused`});return}this.stateValue={...e,stage:`finalizing`,viewModel:X({base:e.viewModel,walletId:Z(e.viewModel),stage:`finalizing`,target:Q(e.viewModel),status:{kind:`busy`,headline:`Creating new passkey…`}})},this.updateElement(),n.then(this.completeRecoveryCredentialCreation.bind(this,t),this.rejectRecoveryCredentialCreation.bind(this,t))}completeRecoveryCredentialCreation(e,t){let n=this.stateValue;if(e!==this.recoveryGeneration||n.kind!==`recovery`||n.stage!==`finalizing`||n.operation.kind!==`hosted_recovery_prepared`){t.kind===`hosted_recovery_credential_created`&&this.recoveryPort.cancel(t).catch(K);return}if(t.kind!==`hosted_recovery_credential_created`){this.showRecoveryCreateFailure({returnState:n.returnState,viewModel:n.viewModel,operation:n.operation},t);return}this.finishRecovery(t)}rejectRecoveryCredentialCreation(e){let t=this.stateValue;e!==this.recoveryGeneration||t.kind!==`recovery`||t.stage!==`finalizing`||t.operation.kind!==`hosted_recovery_prepared`||this.showRecoveryCreateFailure({returnState:t.returnState,viewModel:t.viewModel,operation:t.operation},{kind:`refused`})}showRecoveryCreateFailure(e,t){if(!Lt(e.operation)){this.recoveryPort.cancel(e.operation).catch(K),this.stateValue={kind:`recovery`,stage:`enter_code`,returnState:e.returnState,viewModel:X({base:e.viewModel,recoveryCode:``,status:$(t)})},this.updateElement();return}if(t.kind===`refused`){this.recoveryPort.cancel(e.operation).catch(K),this.stateValue={kind:`recovery`,stage:`enter_code`,returnState:e.returnState,viewModel:X({base:e.viewModel,recoveryCode:``,status:$(t)})},this.updateElement();return}this.stateValue={kind:`recovery`,stage:`passkey_ready`,operation:e.operation,returnState:e.returnState,viewModel:X({base:e.viewModel,walletId:Z(e.viewModel),stage:`passkey_ready`,target:e.operation.target,status:Zt(t)})},this.updateElement()}finishRecovery(e){let t=this.stateValue;if(t.kind!==`recovery`)return;let n=++this.recoveryGeneration;this.stateValue={kind:`recovery`,stage:`finalizing`,operation:e,returnState:t.returnState,viewModel:X({base:t.viewModel,walletId:Z(t.viewModel),stage:`finalizing`,target:Q(t.viewModel),status:{kind:`busy`,headline:`Finishing recovery…`}})},this.updateElement();let r;try{r=this.recoveryPort.finalize(e)}catch{this.rejectRecoveryFinalization(n);return}r.then(this.completeRecoveryFinalization.bind(this,n),this.rejectRecoveryFinalization.bind(this,n))}completeRecoveryFinalization(e,t){let n=this.stateValue;if(!(e!==this.recoveryGeneration||n.kind!==`recovery`||n.stage!==`finalizing`||n.operation.kind!==`hosted_recovery_credential_created`&&n.operation.kind!==`hosted_recovery_email_otp_verified`)){if(t.kind!==`ready_for_sign_in`){t.kind===`refused`?(this.recoveryPort.cancel(n.operation).catch(()=>{}),this.stateValue={kind:`recovery`,stage:`enter_code`,returnState:n.returnState,viewModel:X({base:n.viewModel,status:$(t)})}):this.stateValue={...n,viewModel:X({base:n.viewModel,walletId:Z(n.viewModel),stage:`finalizing`,target:Q(n.viewModel),status:Xt()})},this.updateElement();return}if(n.operation.target.kind===`passkey`){this.prepareRecoveredPasskeyLogin(t.walletId,n.returnState);return}this.stateValue={kind:`recovery`,stage:`sign_in_ready`,returnState:n.returnState,viewModel:X({base:n.viewModel,walletId:String(t.walletId),stage:`sign_in_ready`,target:n.operation.target})},this.updateElement()}}rejectRecoveryFinalization(e){let t=this.stateValue;e!==this.recoveryGeneration||t.kind!==`recovery`||t.stage!==`finalizing`||t.operation.kind!==`hosted_recovery_credential_created`&&t.operation.kind!==`hosted_recovery_email_otp_verified`||(this.stateValue={...t,viewModel:X({base:t.viewModel,walletId:Z(t.viewModel),stage:`finalizing`,target:Q(t.viewModel),status:Xt()})},this.updateElement())}prepareRecoveredPasskeyLogin(e,t){let n=this.stateValue;if(n.kind!==`recovery`)return;let r=++this.recoveryGeneration,i=new AbortController;this.recoveryCancellation=i;let a=this.prepareRecoveredLogin(e,{kind:`abort_signal`,signal:i.signal});this.stateValue={kind:`recovery`,stage:`sign_in_ready`,returnState:t,viewModel:X({base:n.viewModel,walletId:String(e),stage:`sign_in_ready`,target:Q(n.viewModel),status:{kind:`busy`,headline:`Preparing to unlock…`}})},this.updateElement(),a.then(this.completeRecoveredLoginPreparation.bind(this,r,t),this.rejectRecoveredLoginPreparation.bind(this,r,e,t))}completeRecoveredLoginPreparation(t,n,r){let i=this.stateValue;if(t!==this.recoveryGeneration||i.kind!==`recovery`){G(r);return}if(this.recoveryCancellation=null,r.kind!==`hosted_passkey_owner_login_prepared_v1`&&r.kind!==`hosted_passkey_linked_authority_login_prepared_v1`){G(r);let a=e(Z(i.viewModel));if(!a.ok)return;this.rejectRecoveredLoginPreparation(t,a.value,n);return}this.recoveryLoginPrepared=r,this.stateValue={kind:`recovery`,stage:`sign_in_ready`,returnState:n,viewModel:X({base:i.viewModel,walletId:Z(i.viewModel),stage:`sign_in_ready`,target:Q(i.viewModel)})},this.updateElement()}rejectRecoveredLoginPreparation(e,t,n){let r=this.stateValue;e!==this.recoveryGeneration||r.kind!==`recovery`||(this.recoveryCancellation=null,this.stateValue={kind:`recovery`,stage:`sign_in_ready`,returnState:n,viewModel:X({base:r.viewModel,walletId:String(t),stage:`sign_in_ready`,target:Q(r.viewModel),status:{kind:`recoverable`,reason:`error`,message:`Your wallet was recovered. Unlock it again to continue.`}})},this.updateElement())}signInRecoveredWallet(){let t=this.stateValue;if(t.kind!==`recovery`||t.stage!==`sign_in_ready`)return;if(t.viewModel.target.kind===`google_email_otp`){this.requestExternalAuth(`google`);return}let n=this.recoveryLoginPrepared;if(!n){let n=e(Z(t.viewModel));if(!n.ok)return;this.prepareRecoveredPasskeyLogin(n.value,t.returnState);return}this.recoveryLoginPrepared=null,this.performPreparedPasskey(n)}openLinkDevice(){let e=this.stateValue;if(e.kind!==`preparing`&&e.kind!==`ready`||e.viewModel.kind!==`passkey`)return;let t={kind:`preparing`,viewModel:{...e.viewModel,status:{kind:`idle`,interaction:`arming`}}};this.invalidatePreparation(),this.linkedDeviceActivationInProgress=!1,this.targetPasskeyActivation=null,this.targetEmailOtpActivation=null,this.linkedDeviceEmailOtpSendStarted=!1,this.linkedDeviceTargetFactor={kind:`passkey_prf`},this.linkedDeviceTargetEmailAddress=``,this.stateValue={kind:`link_device`,returnState:t,viewModel:Yt(e.viewModel)},this.updateElement()}selectLinkedDeviceTargetFactor(e){let t=this.stateValue;t.kind!==`link_device`||t.viewModel.linkDevice.kind!==`select_factor`||(this.linkedDeviceTargetFactor=e,this.stateValue={...t,viewModel:{...t.viewModel,linkDevice:e.kind===`email_otp`?{kind:`select_factor`,targetFactor:e,targetEmail:this.linkedDeviceTargetEmailAddress}:{kind:`select_factor`,targetFactor:e}}},this.updateElement())}changeLinkedDeviceTargetEmailAddress(e){let t=this.stateValue;t.kind!==`link_device`||t.viewModel.linkDevice.kind!==`select_factor`||t.viewModel.linkDevice.targetFactor.kind!==`email_otp`||(this.linkedDeviceTargetEmailAddress=e,this.stateValue={...t,viewModel:{...t.viewModel,linkDevice:{kind:`select_factor`,targetFactor:t.viewModel.linkDevice.targetFactor,targetEmail:e}}},this.updateElement())}startSelectedDeviceLinking(){let e=this.stateValue;if(e.kind!==`link_device`||e.viewModel.linkDevice.kind!==`select_factor`)return;let t=e.viewModel.linkDevice,n;try{if(t.targetFactor.kind===`email_otp`){let e=t.targetEmail;if(typeof e!=`string`)throw Error(`linked-device target email address is unavailable`);n=zt({targetFactor:t.targetFactor,targetEmail:e})}else n=zt({targetFactor:t.targetFactor})}catch(t){this.stateValue={...e,viewModel:{...e.viewModel,linkDevice:{...e.viewModel.linkDevice,error:Y(t)}}},this.updateElement();return}let r=++this.deviceLinkGeneration;this.stateValue={...e,viewModel:{...e.viewModel,linkDevice:{kind:`loading`,message:`Generating QR code...`}}},this.updateElement(),this.startDeviceLinking(n,{onEvent:this.onLinkDeviceEvent.bind(this,r),onTargetFactorRequired:this.onTargetFactorRequired.bind(this,r)}).then(this.completeLinkDeviceOpen.bind(this,r)).catch(this.failLinkDeviceOpen.bind(this,r))}onLinkDeviceEvent(e,t){let n=this.stateValue;if(e!==this.deviceLinkGeneration||n.kind!==`link_device`)return;let r=De(t);switch(r.kind){case`active`:if(this.linkedDeviceActivationInProgress)return;this.linkedDeviceActivationInProgress=!0,this.complete({kind:`authenticated`,authMenuSessionId:this.identity.authMenuSessionId,walletId:r.walletId,method:this.linkedDeviceTargetFactor.kind===`email_otp`?`google_email_otp`:`passkey`});return;case`invalid_active`:this.showLinkedDeviceActivationError(n,Error(`Linked-device activation omitted its wallet identity`));return;case`failed`:if(t.error?.code===c.SESSION_EXPIRED){this.stateValue={...n,viewModel:{...n.viewModel,linkDevice:{kind:`expired`,message:`This linking request expired. Start again to link this device.`}}},this.updateElement();return}if(t.error?.code===c.DELIVERY_RECOVERY_REQUIRED){this.showLinkedDeviceActivationError(n,Error(t.message||`Go back and unlock the new linked method to finish setup.`));return}break;case`cancelled`:this.targetPasskeyActivation=null,this.targetEmailOtpActivation=null,this.linkedDeviceEmailOtpSendStarted=!1,this.stateValue={...n,viewModel:{...n.viewModel,linkDevice:{kind:`cancelled`,message:`The other device cancelled this linking request. Go back to try again.`}}},this.updateElement();return;case`pending`:break;default:return en(r)}let i=t.message?.trim();if(!i)return;let a=n.viewModel.linkDevice,o=a.kind===`email_otp_required`?a:a.kind===`ready`||a.kind===`passkey_required`||a.kind===`creating_passkey`?{...a,message:i}:{kind:`loading`,message:i};this.stateValue={...n,viewModel:{...n.viewModel,linkDevice:o}},this.updateElement()}showLinkedDeviceActivationError(e,t){this.stateValue={...e,viewModel:{...e.viewModel,linkDevice:{kind:`activation_error`,message:Y(t)}}},this.updateElement()}completeLinkDeviceOpen(e,t){let n=this.stateValue;e!==this.deviceLinkGeneration||n.kind!==`link_device`||this.linkedDeviceActivationInProgress||n.viewModel.linkDevice.kind!==`loading`||(this.stateValue={...n,viewModel:{...n.viewModel,linkDevice:this.targetPasskeyActivation?{kind:`passkey_required`,message:`Create a passkey to finish linking this device`}:{kind:`ready`,qrCodeDataURL:t.qrCodeDataURL,message:`Waiting for device to scan`}}},this.updateElement())}onTargetFactorRequired(e,t){switch(t.kind){case`linked_device_target_passkey_activation_v1`:this.onTargetPasskeyActivation(e,t);return;case`linked_device_target_email_otp_activation_v1`:this.onTargetEmailOtpActivation(e,t);return;default:return tn(t)}}onTargetPasskeyActivation(e,t){let n=this.stateValue;e!==this.deviceLinkGeneration||n.kind!==`link_device`||(this.targetPasskeyActivation=t,n.viewModel.linkDevice.kind===`ready`&&(this.stateValue={...n,viewModel:{...n.viewModel,linkDevice:{kind:`passkey_required`,message:`Create a passkey to finish linking this device`}}},this.updateElement()))}onTargetEmailOtpActivation(e,t){let n=this.stateValue;e!==this.deviceLinkGeneration||n.kind!==`link_device`||(this.targetEmailOtpActivation=t,this.stateValue={...n,viewModel:{...n.viewModel,linkDevice:{kind:`email_otp_required`,state:t.state,otpCode:n.viewModel.linkDevice.kind===`email_otp_required`?n.viewModel.linkDevice.otpCode:``}}},this.updateElement(),t.state.kind===`sending`&&!this.linkedDeviceEmailOtpSendStarted&&(this.linkedDeviceEmailOtpSendStarted=!0,t.sendCode().catch(this.failLinkedDeviceEmailOtp.bind(this))))}changeLinkedDeviceEmailOtpCode(e){let t=this.stateValue;if(t.kind!==`link_device`||t.viewModel.linkDevice.kind!==`email_otp_required`)return;let n=e.replace(/\D/g,``).slice(0,6),r=t.viewModel.linkDevice.otpCode,i=t.viewModel.linkDevice.state;this.stateValue={...t,viewModel:{...t.viewModel,linkDevice:{...t.viewModel.linkDevice,otpCode:n}}},this.updateElement(),n.length===6&&n!==r&&(i.kind===`code_input`||i.kind===`incorrect`)&&this.submitLinkedDeviceEmailOtpCode(n)}resendLinkedDeviceEmailOtp(){let e=this.targetEmailOtpActivation;e&&e.resendCode().catch(this.failLinkedDeviceEmailOtp.bind(this))}submitLinkedDeviceEmailOtp(){let e=this.stateValue;e.kind!==`link_device`||e.viewModel.linkDevice.kind!==`email_otp_required`||e.viewModel.linkDevice.otpCode.length!==6||this.submitLinkedDeviceEmailOtpCode(e.viewModel.linkDevice.otpCode)}submitLinkedDeviceEmailOtpCode(e){let t=this.targetEmailOtpActivation;t&&t.submitCode(e).catch(this.failLinkedDeviceEmailOtp.bind(this))}failLinkedDeviceEmailOtp(e){let t=this.stateValue;t.kind===`link_device`&&this.showLinkedDeviceActivationError(t,e)}createLinkedDevicePasskey(){let e=this.stateValue,t=this.targetPasskeyActivation;!t||e.kind!==`link_device`||e.viewModel.linkDevice.kind!==`passkey_required`||(this.targetPasskeyActivation=null,this.stateValue={...e,viewModel:{...e.viewModel,linkDevice:{kind:`creating_passkey`,message:`Follow the passkey prompt on your screen`}}},this.updateElement(),t.createPasskey().catch(this.failTargetPasskeyCreation.bind(this)))}failTargetPasskeyCreation(e){let t=this.stateValue;t.kind===`link_device`&&(this.stateValue={...t,viewModel:{...t.viewModel,linkDevice:{kind:`error`,message:Y(e)}}},this.updateElement())}failLinkDeviceOpen(e,t){let n=this.stateValue;e!==this.deviceLinkGeneration||n.kind!==`link_device`||this.linkedDeviceActivationInProgress||n.viewModel.linkDevice.kind!==`loading`||(this.stateValue={...n,viewModel:{...n.viewModel,linkDevice:{kind:`error`,message:Y(t)}}},this.updateElement())}closeLinkDevice(){let e=this.stateValue;e.kind===`link_device`&&(this.deviceLinkGeneration+=1,this.targetPasskeyActivation=null,this.targetEmailOtpActivation=null,this.linkedDeviceEmailOtpSendStarted=!1,this.cancelDeviceLinking().catch(()=>{}),this.stateValue=e.returnState,this.updateElement(),this.startPasskeyPreparation())}rerollRegistrationWallet(){let e=this.stateValue;e.kind!==`ready`&&e.kind!==`preparing`||e.viewModel.kind!==`passkey`||e.viewModel.mode!==`register`||!e.viewModel.passkeyNameReadOnly||!e.viewModel.showRegistrationInput||(this.invalidatePreparation(),this.stateValue={kind:`preparing`,viewModel:{...e.viewModel,passkeyName:String(Ee()),status:{kind:`idle`,interaction:`arming`}}},this.updateElement(),this.startPasskeyPreparation())}selectLoginAccount(e,t){let n=this.loginAccountOptions.find(n=>n.walletId===e&&n.authMethod===t);if(!n||n.walletId===this.selectedLoginAccount?.walletId&&n.authMethod===this.selectedLoginAccount.authMethod)return;let r=this.stateValue;if(r.kind!==`preparing`&&r.kind!==`ready`||r.viewModel.kind!==`passkey`||r.viewModel.mode!==`login`)return;let i=n.walletId!==this.selectedLoginAccount?.walletId;if(this.selectedLoginAccount=n,!i){this.updateLoginSelectionViewModel(),this.updateElement();return}this.invalidatePreparation(),this.stateValue={kind:`preparing`,viewModel:{...r.viewModel,selectedAccount:n,status:{kind:`idle`,interaction:`arming`}}},this.updateElement(),this.activateSelectedLoginMethod()}retryPreparation(){let e=this.stateValue;e.kind!==`preparing`||e.viewModel.kind!==`passkey`||e.viewModel.status.kind!==`recoverable`||(this.invalidatePreparation(),this.stateValue={kind:`preparing`,viewModel:{...e.viewModel,status:{kind:`idle`,interaction:`arming`}}},this.updateElement(),this.startPasskeyPreparation())}updateGoogleOtpCode(e){let t=this.stateValue;if(t.kind!==`google_login`||t.viewModel.submitBusy)return;let n=e.replace(/\D/g,``).slice(0,6);this.stateValue={...t,viewModel:{...t.viewModel,otpCode:n,error:``}},this.updateElement(),/^\d{6}$/.test(n)&&this.submitGoogleOtp()}resendGoogleOtp(){let e=this.stateValue;if(e.kind!==`google_login`||e.viewModel.resendBusy)return;let t=e.flow;this.stateValue={...e,viewModel:{...e.viewModel,status:{kind:`busy`,headline:`Sending a new email code`},resendBusy:!0,error:``}},this.updateElement(),Ht(t.resend()).then(n=>{if(this.stateValue.kind!==`google_login`||this.stateValue.flow!==t){n.ok&&n.value.cancel().catch(()=>{});return}if(!n.ok){this.stateValue={...this.stateValue,viewModel:{...this.stateValue.viewModel,status:{kind:`idle`,interaction:`actionable`},resendBusy:!1,error:n.error.message}},this.updateElement();return}if(n.value.mode!==`login`){n.value.cancel().catch(()=>{}),this.stateValue={...this.stateValue,viewModel:{...this.stateValue.viewModel,status:{kind:`idle`,interaction:`actionable`},resendBusy:!1,error:`Google returned an unexpected registration flow.`}},this.updateElement();return}let r=n.value;this.stateValue={kind:`google_login`,flow:r,viewModel:Kt({base:e.viewModel,flow:r})},this.updateElement()},e=>{this.stateValue.kind!==`google_login`||this.stateValue.flow!==t||(this.stateValue={...this.stateValue,viewModel:{...this.stateValue.viewModel,status:{kind:`idle`,interaction:`actionable`},resendBusy:!1,error:Y(e)}},this.updateElement())})}submitGoogleOtp(){let e=this.stateValue;if(e.kind!==`google_login`||e.viewModel.submitBusy)return;let t=e.viewModel.otpCode;if(!/^\d{6}$/.test(t)){this.stateValue={...e,viewModel:{...e.viewModel,status:{kind:`idle`,interaction:`actionable`},error:`Enter the 6-digit code from your email.`}},this.updateElement();return}let n=e.flow;this.stateValue={...e,viewModel:{...e.viewModel,status:{kind:`busy`,headline:`Verifying your email code`},submitBusy:!0,error:``}},this.updateElement(),n.submit({otpCode:t}).then(e=>{if(!(this.stateValue.kind!==`google_login`||this.stateValue.flow!==n)){if(!e.ok){this.stateValue={...this.stateValue,viewModel:{...this.stateValue.viewModel,status:{kind:`idle`,interaction:`actionable`},submitBusy:!1,error:e.error.message}},this.updateElement();return}if(e.value.mode!==`login`){this.stateValue={...this.stateValue,viewModel:{...this.stateValue.viewModel,status:{kind:`idle`,interaction:`actionable`},submitBusy:!1,error:`Google returned an unexpected registration result.`}},this.updateElement();return}this.complete({kind:`authenticated`,authMenuSessionId:this.identity.authMenuSessionId,walletId:e.value.walletId,method:`google_email_otp`})}},e=>{this.stateValue.kind!==`google_login`||this.stateValue.flow!==n||(this.stateValue={...this.stateValue,viewModel:{...this.stateValue.viewModel,status:{kind:`idle`,interaction:`actionable`},submitBusy:!1,error:Y(e)}},this.updateElement())})}rerollGoogleRegistration(){let e=this.stateValue;if(e.kind!==`google_registration`||e.viewModel.rerollBusy)return;let t=e.flow;this.stateValue={...e,viewModel:{...e.viewModel,status:{kind:`busy`,headline:`Generating another wallet name`},rerollBusy:!0,error:``}},this.updateElement(),t.rerollWalletId().then(n=>{if(this.stateValue.kind!==`google_registration`||this.stateValue.flow!==t){n.ok&&n.value.cancel().catch(()=>{});return}if(!n.ok){this.stateValue={...this.stateValue,viewModel:{...this.stateValue.viewModel,status:{kind:`idle`,interaction:`actionable`},rerollBusy:!1,error:n.error.message}},this.updateElement();return}if(n.value.mode!==`register`){n.value.cancel().catch(()=>{}),this.stateValue={...this.stateValue,viewModel:{...this.stateValue.viewModel,status:{kind:`idle`,interaction:`actionable`},rerollBusy:!1,error:`Google returned an unexpected login flow.`}},this.updateElement();return}let r=n.value;this.stateValue={kind:`google_registration`,flow:r,viewModel:qt({base:e.viewModel,flow:r})},this.updateElement()},e=>{this.stateValue.kind!==`google_registration`||this.stateValue.flow!==t||(this.stateValue={...this.stateValue,viewModel:{...this.stateValue.viewModel,status:{kind:`idle`,interaction:`actionable`},rerollBusy:!1,error:Y(e)}},this.updateElement())})}completeGoogleRegistration(){let e=this.stateValue;if(e.kind!==`google_registration`||e.viewModel.submitBusy)return;let t=e.flow;this.stateValue={...e,viewModel:{...e.viewModel,status:{kind:`busy`,headline:`Creating your wallet`},submitBusy:!0,error:``}},this.updateElement(),t.completeRegistration().then(e=>{if(!(this.stateValue.kind!==`google_registration`||this.stateValue.flow!==t)){if(!e.ok){this.stateValue={...this.stateValue,viewModel:{...this.stateValue.viewModel,status:{kind:`idle`,interaction:`actionable`},submitBusy:!1,error:e.error.message}},this.updateElement();return}this.complete({kind:`registered`,authMenuSessionId:this.identity.authMenuSessionId,walletId:e.value.walletId,method:`google_email_otp`})}},e=>{this.stateValue.kind!==`google_registration`||this.stateValue.flow!==t||(this.stateValue={...this.stateValue,viewModel:{...this.stateValue.viewModel,status:{kind:`idle`,interaction:`actionable`},submitBusy:!1,error:Y(e)}},this.updateElement())})}complete(e){if(this.stateValue.kind===`complete`)return;this.stateValue={kind:`complete`,outcome:e},this.cleanup();let t=this.outcomeResolver;this.outcomeResolver=null,t?.(e)}performPreparedPasskey(e){this.prepared=null;let t=this.currentViewModel();if(this.stateValue={kind:`performing`,prepared:e,viewModel:t.kind===`recovery`?X({base:t,walletId:Z(t),stage:`sign_in_ready`,target:Q(t),status:{kind:`busy`,headline:Ke(`login`),detail:`Continue with your passkey`}}):{...t,status:{kind:`busy`,headline:Ke(t.mode),detail:`Continue with your passkey`}}},e.kind===`hosted_passkey_owner_login_prepared_v1`||e.kind===`hosted_passkey_linked_authority_login_prepared_v1`){this.updateElement(),this.finishPreparedPasskey(e);return}let n;try{n=this.startPreparedCredential(e)}catch(t){this.updateElement(),this.failPreparedPasskey(e,t);return}this.updateElement(),n.then(()=>this.finishPreparedPasskey(e),t=>this.failPreparedPasskey(e,t))}startPreparedCredential(e){return e.kind===`hosted_passkey_registration_prepared_v1`?Ce(e):Nt(e)}async finishPreparedPasskey(e){try{switch(e.kind){case`hosted_passkey_registration_prepared_v1`:{let t=await ye({prepared:e});this.completeRegistrationResult(t);return}case`hosted_passkey_owner_login_prepared_v1`:case`hosted_passkey_linked_authority_login_prepared_v1`:{let t=await Ft(e);this.completeLoginResult(t);return}case`hosted_passkey_account_sync_prepared_v1`:{let t=await It(e);this.completeAccountSyncResult(t);return}default:return nn(e)}}catch(t){this.failPreparedPasskey(e,t)}}completeRegistrationResult(t){if(!t.success||t.kind!==`wallet_registered`&&t.kind!==`ecdsa_wallet_registered_near_pending`){this.fail({kind:`error`,error:Error(t.success?`Hosted registration returned an unexpected result`:t.error)});return}let n=e(String(t.walletId));if(!n.ok){this.fail({kind:`error`,error:Error(`Hosted registration returned an invalid wallet id`)});return}this.complete({kind:`registered`,authMenuSessionId:this.identity.authMenuSessionId,walletId:n.value,method:`passkey`})}completeLoginResult(t){let n=t.result;if(!n.success){this.fail(t.cancelledByUser?{kind:`dismissed`}:{kind:`error`,error:Error(n.error)});return}let r=e(String(n.walletId));if(!r.ok){this.fail({kind:`error`,error:Error(`Hosted login returned an invalid wallet id`)});return}this.complete({kind:`authenticated`,authMenuSessionId:this.identity.authMenuSessionId,walletId:r.value,method:`passkey`})}completeAccountSyncResult(t){if(!t.success){this.fail({kind:`error`,error:Error(t.error)});return}let n=e(String(t.walletId));if(!n.ok){this.fail({kind:`error`,error:Error(`Hosted account sync returned an invalid wallet id`)});return}this.complete({kind:`account_synced`,authMenuSessionId:this.identity.authMenuSessionId,walletId:n.value})}failPreparedPasskey(e,t){if(this.stateValue.kind!==`performing`||this.stateValue.prepared!==e)return;if(this.preparationCancellation?.signal.aborted){this.fail({kind:`dismissed`});return}let n=t instanceof Error?t.name:``;if(n===`NotAllowedError`||n===`AbortError`){this.fail({kind:`dismissed`});return}this.fail({kind:`error`,error:t})}fail(e){if(this.stateValue.kind!==`performing`)return;let t=this.stateValue.viewModel;if(G(this.stateValue.prepared),this.prepared=null,t.kind===`recovery`){let n=this.recoveryReturnState;if(!n)return;this.recoveryLoginPrepared=null,this.stateValue={kind:`recovery`,stage:`sign_in_ready`,returnState:n,viewModel:X({base:t,walletId:Z(t),stage:`sign_in_ready`,target:Q(t),status:e.kind===`dismissed`?{kind:`idle`,interaction:`actionable`}:_(Y(e.error))})},this.updateElement();return}if(e.kind===`dismissed`){this.invalidatePreparation(),this.stateValue={kind:`preparing`,viewModel:{...t,status:{kind:`idle`,interaction:`arming`}}},this.updateElement(),this.startPasskeyPreparation();return}this.stateValue={kind:`preparing`,viewModel:{...t,status:_(Y(e.error))}},this.updateElement()}};function $t(e){throw Error(`Unhandled auth-menu intent: ${String(e)}`)}function en(e){throw Error(`Unhandled link-device flow outcome: ${String(e)}`)}function tn(e){throw Error(`Unhandled linked-device target-factor activation: ${String(e)}`)}function nn(e){throw Error(`Unhandled hosted passkey preparation: ${String(e)}`)}function rn(e){throw Error(`Unhandled hosted external-auth evidence: ${String(e)}`)}function an(e){return`${e.walletId}:${e.authMethod}`}function on(e,t){let n=String(e.walletId);switch(e.authMethod){case`passkey`:return{walletId:n,authMethod:`passkey`};case`email_otp`:return{walletId:n,authMethod:`email_otp`,emailAddress:e.emailAddress??(t?.authMethod===`email_otp`?t.emailAddress:null)}}}function sn(e,t=[]){let n=new Map;for(let t of e?.accounts??[]){if(t.authMethod!==p.passkey&&t.authMethod!==p.emailOtp)continue;let e=String(t.walletId||``).trim();if(!e)continue;let r=t.authMethod===p.passkey?{walletId:e,authMethod:`passkey`}:{walletId:e,authMethod:`email_otp`,emailAddress:null};n.set(an(r),r)}for(let e of t){let t=String(e.walletId||``).trim();if(!t)continue;let r=`${t}:${e.authMethod}`,i=on(e,n.get(r));n.set(r,i)}return[...n.values()]}function cn(e,t){let n=e?.lastUsedAccount;if(n?.authMethod===p.passkey||n?.authMethod===p.emailOtp){let e=String(n.walletId||``).trim(),r=t.find(t=>t.walletId===e&&t.authMethod===n.authMethod);if(r)return r}return t[0]??null}function ln(e){let t=e?.lastUsedAccount;return!t||t.authMethod!==p.passkey&&t.authMethod!==`linked_device`?null:String(t.walletId||``).trim()||null}async function un(e){let t=await import(`./recovery-entrypoint-Bl5GgbW9.js`),n=e();return t.createHostedRecoveryPort({context:n.getContext(),relayUrl:String(n.configs.network.relayer.url)})}var dn=class{constructor(e){this.getWalletRuntime=e,this.portPromise=null}targetFor(e){if(e===`google_email_otp`)return{kind:e,googleProvider:`google`};let n=t(this.getWalletRuntime().getContext().signingEngine.getRpId());if(!n.ok)throw Error(`wallet recovery RP ID ${n.error.message}`);return{kind:e,rpId:n.value}}async prepare(e){return await(await this.port()).prepare(e)}async createPasskey(e){return await(await this.port()).createPasskey(e)}async verifyGoogle(e,t){return await(await this.port()).verifyGoogle(e,t)}async verifyEmailOtp(e,t){return await(await this.port()).verifyEmailOtp(e,t)}async finalize(e){return await(await this.port()).finalize(e)}async cancel(e){await(await this.port()).cancel(e)}port(){return this.portPromise??=un(this.getWalletRuntime),this.portPromise}};function fn(){try{let e=document.referrer.trim();if(e){let t=new URL(e).hostname.trim();if(t)return t}}catch{}return window.location.hostname||`Wallet`}function pn(e){switch(e.kind){case`discoverable`:return null;case`wallet`:case`wallet_sync`:return String(e.walletId)}}function mn(e){window.setTimeout(e,0)}function hn(){return new Promise(mn)}var gn=class{constructor(e){this.deps=e,this.sessions=new Map,this.startDeviceLinking=async(e,t)=>await this.deps.getWalletRuntime().devices.startLinking({...e,options:t}),this.cancelDeviceLinking=async()=>await this.deps.getWalletRuntime().devices.cancelLinking()}async open(e){if(!e.requestId)throw Error(`Hosted auth-menu open request requires requestId`);let t=_e(e.requestId);if(this.sessions.has(e.request.authMenuSessionId))throw Error(`Hosted auth-menu session is already active`);let n=new Qt({request:e.request,requestId:t,appearance:this.deps.getAppearance(),hostname:fn(),beginGoogleEmailOtp:async({idToken:e,authTarget:t,signal:n})=>await this.beginGoogleEmailOtp({idToken:e,authTarget:t,signal:n}),startDeviceLinking:this.startDeviceLinking,cancelDeviceLinking:this.cancelDeviceLinking,recoveryPort:new dn(this.deps.getWalletRuntime),prepareRecoveredLogin:this.prepareRecoveredLogin.bind(this,t,e.request.authMenuSessionId),sendToParent:this.deps.send}),r=n.waitForOutcome(),i=pn(e.request.loginTarget);this.sessions.set(e.request.authMenuSessionId,n);try{return n.mount(),await hn(),n.setRegistrationPreparation((r,i)=>this.prepareRegistration(e.request,t,n.identity.authMenuSessionId,r,i)),i?await this.bootstrapLoginAccounts(n,t,e.request.loginTarget):(n.setLoginPreparation({accountOptions:[],selectedAccount:null,prepare:(r,i)=>this.prepareLogin(t,n.identity.authMenuSessionId,i,r,null,e.request.loginTarget)}),this.bootstrapLoginAccounts(n,t,e.request.loginTarget)),await r}finally{n.cleanup(),this.sessions.delete(e.request.authMenuSessionId)}}async bootstrapLoginAccounts(e,t,n){let[r,i]=await Promise.all([this.deps.getWalletRuntime().auth.getRecentUnlocks().catch(()=>null),d().catch(()=>[])]);if(e.state.kind===`complete`)return;let a=pn(n),o=sn(r,i),s=a?o.filter(e=>e.walletId===a):o,c=s.length>0||!a?s:[{walletId:a,authMethod:p.passkey}];e.setLoginPreparation({accountOptions:c,selectedAccount:a?c[0]??null:cn(r,c),prepare:(i,a)=>this.prepareLogin(t,e.identity.authMenuSessionId,a,i,r,n)}),i.length>0&&e.defaultToLoginForDetectedLocalWallet()}async prepareLogin(e,t,n,r,i,a){let o=L(this.deps.getWalletRuntime().getContext()),s=i??await this.deps.getWalletRuntime().auth.getRecentUnlocks().catch(()=>null),c=(await d().catch(()=>[])).find(e=>e.authMethod===p.passkey),l=r||ln(s)||c?.walletId||null;return a.kind===`wallet_sync`?await U({context:o,walletId:String(a.walletId),authMenuSessionId:t,requestId:e,cancellation:n}):l?await H({context:o,walletId:l,authMenuSessionId:t,requestId:e,cancellation:n}):await U({context:o,walletId:l,authMenuSessionId:t,requestId:e,cancellation:n})}async prepareRecoveredLogin(e,t,n,r){return await H({context:L(this.deps.getWalletRuntime().getContext()),walletId:String(n),authMenuSessionId:t,requestId:e,cancellation:r})}async beginGoogleEmailOtp(e){if(e.signal.aborted)throw Error(`Google sign-in was cancelled`);let t=await this.deps.getWalletRuntime().auth.startGoogleSignIn({idToken:e.idToken,...e.authTarget});if(!t.ok)throw Error(t.error.message);let n=t.value;if(e.signal.aborted)throw await n.cancel().catch(()=>{}),Error(`Google sign-in was cancelled`);return n}async prepareRegistration(e,n,r,i,a){let o=this.deps.getWalletRuntime().getContext(),s=t(String(o.signingEngine.getRpId()||``));if(!s.ok)throw Error(s.error.message);let c={kind:`provided`,walletId:Te(i)},l=xe({configs:o.configs,wallet:c,preference:e.registrationAccountInput===`sponsored_named_near_account`?{kind:`relayer_named_subaccount`}:{kind:`implicit_account`}});return await Se({context:o,wallet:c,signerSelection:ve({configs:o.configs,accountProvisioning:l,options:{}}),authMethod:{kind:`passkey`,rpId:s.value},authMenuSessionId:r,requestId:n,cancellation:a,options:{}})}cancel(e){let t=this.sessions.get(e.authMenuSessionId);return!t||t.identity.requestId!==e.requestId?!1:(t.cancel(e.reason),!0)}resolveExternalAuth(e){let t=this.sessions.get(e.authMenuSessionId);return!t||t.identity.requestId!==e.requestId?!1:t.acceptExternalAuthResolution(e)}};function _n(e,t=new gn({getWalletRuntime:e.getWalletRuntime,getAppearance:()=>e.getWalletRuntime().configs.ui.appearance,send:e.post})){return{PM_OPEN_AUTH_MENU:async n=>{let r=i(n.payload);if(!r)throw Error(`Hosted auth-menu open request is invalid`);let a=await t.open({request:r,requestId:n.requestId});(a.kind===`authenticated`||a.kind===`registered`||a.kind===`account_synced`)&&await e.publishCurrentSession(),!e.respondIfCancelled(n.requestId)&&f(e,n.requestId,a)},PM_CANCEL_AUTH_MENU:async n=>{let r=a(n.payload);if(!r)throw Error(`Hosted auth-menu cancellation is invalid`);let i=t.cancel(r);f(e,n.requestId,{cancelled:i})},PM_RESOLVE_AUTH_MENU_EXTERNAL_AUTH:async n=>{let i=r(n.payload);if(!i)throw Error(`Hosted auth-menu external-auth resolution is invalid`);let a=t.resolveExternalAuth(i);f(e,n.requestId,{accepted:a})}}}function vn(e){if(!e||typeof e!=`object`||Array.isArray(e))return;let t=e,n=t.options&&typeof t.options==`object`&&!Array.isArray(t.options)?t.options:null,r=n?.ecdsaKeyFactsInventory&&typeof n.ecdsaKeyFactsInventory==`object`&&!Array.isArray(n.ecdsaKeyFactsInventory)?n.ecdsaKeyFactsInventory:null,i=r?.value&&typeof r.value==`object`&&!Array.isArray(r.value)?r.value:null;if(i&&(Object.prototype.hasOwnProperty.call(i,`walletSessionToken`)||Object.prototype.hasOwnProperty.call(i,`operationCredential`)))throw Error(`wallet iframe unlock requests must not carry a Wallet Session bearer`)}function yn(e,t){let n=e.ecdsaKeyFactsInventory,{ecdsaKeyFactsInventory:r,...i}=e;if(!n)return i;if(n.mode===`webauthn`)return{...i,ecdsaKeyFactsInventory:n};let a=ae(t);if(!a)throw Error(`Hosted-wallet Wallet Session is required for opaque key-facts lookup`);return{...i,ecdsaKeyFactsInventory:{mode:`wallet_session_operation_credential_v1`,operationCredential:a}}}function bn(e,t){return String(t?.walletId||``).trim()||String(e.preferences.getCurrentWalletId()||``).trim()||void 0}function xn(e){console.warn(`[WalletIframeHost] Restored-session presignature prefill failed:`,e)}function Sn(e,t,n,r,i){e.respondIfCancelled(n)||(f(e,n,i),r.authenticationRead===`restore`&&t.prefillRestoredWalletSession(i.state).catch(xn))}function Cn(e){return{..._n(e),PM_UNLOCK:async t=>{let n=e.getWalletRuntime();vn(t.payload);let r=Ue(t.payload),i=yn(We(r),n.configs.network.relayer.url);if(e.respondIfCancelled(t.requestId))return;let a=await n.auth.unlock(r.walletId,le(e,t.requestId,i));e.respondIfCancelled(t.requestId)||(a.success||u(),await e.publishCurrentSession(),!e.respondIfCancelled(t.requestId)&&f(e,t.requestId,a))},PM_LOCK:async t=>{let n=e.getWalletRuntime();u(),await n.auth.lock(),de(e,t.requestId)},PM_LOCK_EXACT_WALLET_SESSION:async t=>{let n=e.getWalletRuntime(),r=l(t.payload),i=await re(n,{authenticationRead:`current`,wallet:{kind:`current`}},new ke);if(i.kind!==`active_session`&&i.kind!==`expired_session`||!he(i,r)){f(e,t.requestId,{kind:`stale_session`,expected:r,current:i});return}u(),await n.auth.lock(),f(e,t.requestId,{kind:`locked`,identity:r})},...Re(e),PM_GET_WALLET_SESSION:async t=>{let n=e.getWalletRuntime(),r=bn(n,t.payload),i=await n.auth.getSession(r);f(e,t.requestId,i)},PM_GET_EXACT_WALLET_SESSION_STATE:async t=>{let n=e.getWalletRuntime(),r=t.payload;if(!r||r.authenticationRead!==`restore`&&r.authenticationRead!==`current`||!r.wallet||r.wallet.kind!==`current`&&r.wallet.kind!==`exact`||r.authenticationRead===`restore`&&r.wallet.kind!==`current`)throw Error(`Wallet iframe exact session read mode is invalid`);await e.observeSession(r,Sn.bind(null,e,n,t.requestId,r))},PM_GET_RECENT_UNLOCKS:async t=>{let n=await e.getWalletRuntime().auth.getRecentUnlocks();f(e,t.requestId,n)}}}async function wn(e){await ne(e,Cn)}export{wn as handleWalletHostRuntimeRequest};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./primitives-CAcl7ON7.js";import"./sessionPolicy-J-RrlPZQ.js";import"./signingSessionSeal-CDLUmAFY.js";import{a as e,i as t}from"./messages-vxz27Way.js";import{a as n,n as r,r as i,t as a}from"./shared-8ffIBYw2.js";import"./activeWalletSession-DiZcKjB_.js";import"./capabilityKinds-CKQ4Uqnv.js";import"./errors-BZO3LF6G.js";import"./digestEncoding-Dzc1rzWV.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B9GCvpTV.js";import"./signerDomain-vQmlnsbF.js";import{A as o,N as s,j as c,ot as l}from"./registrationIntent-DOkZcKSP.js";import"./singletons-8UH3gOnZ.js";import"./walletAuthority-B5hXHWpK.js";import"./emailOtpEcdsaDerivationIdentity-B8HzTh4T.js";import"./challengeDelivery-DxXAkOfS.js";import"./registrationIds-CdPqm-Ya.js";import"./passkey-custody-BQj44jEM.js";import{c as u}from"./sdkSentEvents-D3q1h-Uo.js";import"./walletCustodyEcdsaContinuity-abNZ_dvX.js";import"./keccak-B02Fekdh.js";import"./wallet-recovery-C1kesLCF.js";import"./nearEd25519YaoMaterialActivation-fWQI3rYj.js";import"./signNear-BhTkDm2-.js";import"./jsxRuntime.module-BcZNe_OA.js";function d(e,t,n,r){return n?(e.get(n)?.reject(Error(`A newer Email OTP method selection is required`)),new Promise((i,a)=>{let o=setTimeout(()=>f(e,n,Error(`Email OTP method selection timed out`)),9e5);e.set(n,{choices:r,resolve:e=>{clearTimeout(o),i(e)},reject:e=>{clearTimeout(o),a(e instanceof Error?e:Error(String(e)))}}),t.postProgress(n,{event:`wallet_device_link_email_otp_base_factor_selection_required_v1`,choices:r})})):Promise.reject(Error(`Device-link request id is required`))}function f(e,t,n){if(!t)return;let r=e.get(t);r&&(e.delete(t),r.reject(n))}function p(e,t){let n=e.get(t.scanRequestId);if(!n)throw Error(`Email OTP method selection is unavailable`);switch(t.action.kind){case`cancel`:e.delete(t.scanRequestId),n.reject(Error(`Device linking was cancelled`));return;case`select`:{let r=t.action.baseWalletAuthMethodId;if(!n.choices.some(e=>e.baseWalletAuthMethodId===r))throw Error(`The selected Email OTP method is unavailable for this linked device`);e.delete(t.scanRequestId),n.resolve(r);return}default:throw t.action,Error(`Unsupported Email OTP method selection action`)}}function m(e){switch(e.activation.kind){case`linked_device_target_passkey_activation_v1`:return{event:`wallet_device_link_target_factor_activation_v1`,activationId:e.activationId,activation:{kind:e.activation.kind}};case`linked_device_target_email_otp_activation_v1`:return{event:`wallet_device_link_target_factor_activation_v1`,activationId:e.activationId,activation:{kind:e.activation.kind,state:e.activation.state}};default:throw e.activation,Error(`Unsupported linked-device target-factor activation`)}}async function h(e){switch(e.action.kind){case`create_passkey`:if(e.active.activation.kind!==`linked_device_target_passkey_activation_v1`)throw Error(`linked-device Passkey activation is unavailable`);await e.active.activation.createPasskey();return;case`send_email_otp`:if(e.active.activation.kind!==`linked_device_target_email_otp_activation_v1`)throw Error(`linked-device Email OTP activation is unavailable`);await e.active.activation.sendCode();return;case`resend_email_otp`:if(e.active.activation.kind!==`linked_device_target_email_otp_activation_v1`)throw Error(`linked-device Email OTP activation is unavailable`);await e.active.activation.resendCode();return;case`submit_email_otp`:if(e.active.activation.kind!==`linked_device_target_email_otp_activation_v1`)throw Error(`linked-device Email OTP activation is unavailable`);await e.active.activation.submitCode(e.action.otpCode);return;default:throw e.action,Error(`Unsupported linked-device target-factor action`)}}function g(e,t,n,r,i){e.current={activationId:r,activation:i},t.postProgress(n,m(e.current))}function _(e,t,n,r){t.postProgress(n,r);let i=u(r);(i.kind===`active`||i.kind===`failed`||i.kind===`invalid_active`||i.kind===`cancelled`)&&(e.current=null)}function v(n){let u={current:null},m=new Map;return{PM_START_DEVICE2_LINKING_FLOW:async e=>{let t=n.getWalletRuntime(),i=e.payload;if(!i)throw Error(`PM_START_DEVICE2_LINKING_FLOW requires a payload`);let{ui:a,cameraId:o,options:s}=i,c;if(i.targetFactor.kind===`email_otp`){if(typeof i.targetEmail!=`string`)throw Error(`PM_START_DEVICE2_LINKING_FLOW requires targetEmail for Email OTP`);c={targetFactor:i.targetFactor,targetEmail:i.targetEmail}}else c={targetFactor:i.targetFactor};if(n.respondIfCancelled(e.requestId))return;let l=String(e.requestId||``).trim();if(!l)throw Error(`Device-link target-factor activation id is required`);let d=await t.devices.startLinking({...c,...a?{ui:a}:{},...o?{cameraId:o}:{},options:{...s||{},onEvent:_.bind(null,u,n,e.requestId),onTargetFactorRequired:g.bind(null,u,n,e.requestId,l)}});n.respondIfCancelled(e.requestId)||r(n,e.requestId,d)},PM_DEVICE_LINK_TARGET_FACTOR_ACTION:async t=>{let r=e(t.payload);if(!r)throw Error(`PM_DEVICE_LINK_TARGET_FACTOR_ACTION payload is invalid`);let i=u.current;if(!i||i.activationId!==r.activationId)throw Error(`linked-device target-factor activation is unavailable`);await h({active:i,action:r.action}),a(n,t.requestId)},PM_DEVICE_LINK_EMAIL_OTP_BASE_FACTOR_ACTION:async e=>{let r=t(e.payload);if(!r)throw Error(`Email OTP method selection payload is invalid`);p(m,r),a(n,e.requestId)},PM_CANCEL_DEVICE_LINKING:async e=>{let t=n.getWalletRuntime();if(!n.respondIfCancelled(e.requestId)){await t.devices.cancelLinking(),u.current=null;for(let e of[...m.keys()])f(m,e,Error(`Device linking was cancelled`));n.respondIfCancelled(e.requestId)||a(n,e.requestId)}},PM_SCAN_AND_LINK_DEVICE:async e=>{let t=n.getWalletRuntime(),{qrData:a,options:o}=e.payload;if(!n.respondIfCancelled(e.requestId))try{let s=await t.devices.approveLinking(l(a),{...i(n,e.requestId,o||{}),onEmailOtpBaseFactorRequired:t=>d(m,n,e.requestId,t)});if(n.respondIfCancelled(e.requestId))return;r(n,e.requestId,s)}finally{f(m,e.requestId,Error(`Device-link request ended before Email OTP method selection completed`))}},PM_HAS_PASSKEY:async e=>{let t=n.getWalletRuntime(),{walletId:i}=e.payload,a=await t.auth.hasPasskey(i);r(n,e.requestId,a)},PM_LIST_LINKED_DEVICES:async e=>{let t=n.getWalletRuntime(),i=e.payload;if(!i)throw Error(`PM_LIST_LINKED_DEVICES requires a payload`);let a=o({kind:`linked_device_list_request_v1`,walletId:i.walletId,limit:i.limit,cursor:i.cursor}),s=await t.devices.list({walletId:String(a.walletId),limit:a.limit,cursor:a.cursor});r(n,e.requestId,c(s))},PM_REVOKE_LINKED_DEVICE:async e=>{let t=n.getWalletRuntime(),i=e.payload;if(!i)throw Error(`PM_REVOKE_LINKED_DEVICE requires a payload`);if(n.respondIfCancelled(e.requestId))return;let a=await t.devices.remove({walletId:i.walletId,walletAuthMethodId:i.walletAuthMethodId});n.respondIfCancelled(e.requestId)||r(n,e.requestId,s(a))}}}async function y(e){await n(e,v)}export{y as handleWalletHostRuntimeRequest};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./primitives-CAcl7ON7.js";import"./sessionPolicy-J-RrlPZQ.js";import"./signingSessionSeal-CDLUmAFY.js";import{a as e,n as t,o as n,t as r}from"./shared-8ffIBYw2.js";import"./activeWalletSession-DiZcKjB_.js";import"./capabilityKinds-CKQ4Uqnv.js";import"./errors-BZO3LF6G.js";import"./digestEncoding-Dzc1rzWV.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B9GCvpTV.js";import"./signerDomain-vQmlnsbF.js";import"./registrationIntent-DOkZcKSP.js";import"./singletons-8UH3gOnZ.js";import"./walletAuthority-B5hXHWpK.js";import"./emailOtpEcdsaDerivationIdentity-B8HzTh4T.js";import"./challengeDelivery-DxXAkOfS.js";import"./registrationIds-CdPqm-Ya.js";import"./passkey-custody-BQj44jEM.js";import"./walletCustodyEcdsaContinuity-abNZ_dvX.js";import"./keccak-B02Fekdh.js";import"./wallet-recovery-C1kesLCF.js";import"./nearEd25519YaoMaterialActivation-fWQI3rYj.js";import"./signNear-BhTkDm2-.js";import"./jsxRuntime.module-BcZNe_OA.js";function i(e){return{PM_SIGN_TEMPO:async r=>{let i=e.getWalletRuntime(),{walletSession:a,request:o,chainTarget:s,options:c}=r.payload;if(e.respondIfCancelled(r.requestId))return;let l={confirmationConfig:c?.confirmationConfig,shouldAbort:()=>e.isCancelled(r.requestId),onEvent:t=>{e.postProgress(r.requestId,t)}},u;switch(r.payload.operationKind){case`tempo_transaction`:if(o.chain!==`tempo`)throw Error(`[wallet-iframe] Tempo operation requires a Tempo request`);if(s.kind!==`tempo`)throw Error(`[wallet-iframe] Tempo request requires a Tempo target`);u=await i.tempo.signTransaction({walletSession:a,request:o,chainTarget:s,options:l});break;case`evm_transaction`:if(o.chain!==`evm`)throw Error(`[wallet-iframe] EVM operation requires an EVM request`);if(s.kind!==`evm`)throw Error(`[wallet-iframe] EVM request requires an EVM target`);u=await i.evm.signTransaction({walletSession:a,request:o,chainTarget:s,options:l});break;case`tempo_fee_token_preference`:{if(o.chain!==`evm`||s.kind!==`tempo`)throw Error(`[wallet-iframe] Tempo fee-token operation requires an EVM request and Tempo target`);let e=n({request:o,chainTarget:s});u=await i.signTempoFeeTokenPreferenceInternal({walletSession:a,request:e,chainTarget:s,confirmationConfigOverride:l.confirmationConfig,shouldAbort:l.shouldAbort,onEvent:l.onEvent});break}default:throw Error(`[wallet-iframe] unsupported EVM-family signing operation`)}e.respondIfCancelled(r.requestId)||t(e,r.requestId,u)},PM_REPORT_TEMPO_BROADCAST_ACCEPTED:async t=>{let n=e.getWalletRuntime(),{walletSession:i,signedResult:a,txHash:o}=t.payload;e.respondIfCancelled(t.requestId)||(await n.tempo.advanced.reportBroadcastAccepted({walletSession:i,signedResult:a,txHash:o,options:{onEvent:n=>e.postProgress(t.requestId,n)}}),!e.respondIfCancelled(t.requestId)&&r(e,t.requestId))},PM_REPORT_TEMPO_BROADCAST_REJECTED:async t=>{let n=e.getWalletRuntime(),{walletSession:i,signedResult:a,error:o}=t.payload;e.respondIfCancelled(t.requestId)||(await n.tempo.advanced.reportBroadcastRejected({walletSession:i,signedResult:a,...o?{error:o}:{},options:{onEvent:n=>e.postProgress(t.requestId,n)}}),!e.respondIfCancelled(t.requestId)&&r(e,t.requestId))},PM_REPORT_TEMPO_FINALIZED:async t=>{let n=e.getWalletRuntime(),{walletSession:i,signedResult:a,txHash:o,receiptStatus:s}=t.payload;e.respondIfCancelled(t.requestId)||(await n.tempo.advanced.reportFinalized({walletSession:i,signedResult:a,...o?{txHash:o}:{},...s?{receiptStatus:s}:{},options:{onEvent:n=>e.postProgress(t.requestId,n)}}),!e.respondIfCancelled(t.requestId)&&r(e,t.requestId))},PM_REPORT_TEMPO_DROPPED_OR_REPLACED:async t=>{let n=e.getWalletRuntime(),{walletSession:i,signedResult:a,reason:o,txHash:s}=t.payload;e.respondIfCancelled(t.requestId)||(await n.tempo.advanced.reportDroppedOrReplaced({walletSession:i,signedResult:a,reason:o,...s?{txHash:s}:{},options:{onEvent:n=>e.postProgress(t.requestId,n)}}),!e.respondIfCancelled(t.requestId)&&r(e,t.requestId))},PM_RECONCILE_TEMPO_NONCE_LANE:async n=>{let r=e.getWalletRuntime(),{walletSession:i,signedResult:a}=n.payload;if(e.respondIfCancelled(n.requestId))return;let o=await r.tempo.advanced.reconcileNonceLane({walletSession:i,signedResult:a,options:{onEvent:t=>e.postProgress(n.requestId,t)}});e.respondIfCancelled(n.requestId)||t(e,n.requestId,o)}}}async function a(t){await e(t,i)}export{a as handleWalletHostRuntimeRequest};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./secureRandomId-BIekT8bE.js";import"./primitives-CAcl7ON7.js";import"./sessionPolicy-J-RrlPZQ.js";import"./signingSessionSeal-CDLUmAFY.js";import{a as t,n,p as r,r as i}from"./shared-8ffIBYw2.js";import"./activeWalletSession-DiZcKjB_.js";import"./capabilityKinds-CKQ4Uqnv.js";import"./errors-BZO3LF6G.js";import"./digestEncoding-Dzc1rzWV.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B9GCvpTV.js";import"./signerDomain-vQmlnsbF.js";import"./registrationIntent-DOkZcKSP.js";import"./singletons-8UH3gOnZ.js";import"./walletAuthority-B5hXHWpK.js";import"./emailOtpEcdsaDerivationIdentity-B8HzTh4T.js";import"./challengeDelivery-DxXAkOfS.js";import"./registrationIds-CdPqm-Ya.js";import"./passkey-custody-BQj44jEM.js";import"./walletCustodyEcdsaContinuity-abNZ_dvX.js";import"./keccak-B02Fekdh.js";import"./wallet-recovery-C1kesLCF.js";import"./nearEd25519YaoMaterialActivation-fWQI3rYj.js";import"./signNear-BhTkDm2-.js";import"./jsxRuntime.module-BcZNe_OA.js";function a(e){let t=o(e);if(t.method===`email`)return{method:`email`,walletId:s(t,`walletId`),email:s(t,`email`)};if(t.method!==`google`)throw Error(`Email code method is invalid`);let n=o(t.target);if(n.kind!==`wallet`&&n.kind!==`discoverable`)throw Error(`Email code wallet target is invalid`);return{method:`google`,idToken:s(t,`idToken`),target:n.kind===`wallet`?{kind:`wallet`,walletId:s(n,`walletId`)}:{kind:`discoverable`}}}function o(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function s(e,t){let n=typeof e[t]==`string`?e[t].trim():``;if(!n)throw Error(`Missing ${t}`);return n}function c(e,t){return(typeof e[t]==`string`?e[t].trim():``)||void 0}function l(e){let t=o(e);if(Object.prototype.hasOwnProperty.call(t,`walletSessionToken`))throw Error(`wallet iframe requests must not carry walletSessionToken`)}function u(e){let t=o(e),n=[`challengeId`,`challenge_id`,`otpCode`,`otp_code`,`otpDelivery`,`otp_delivery`,`delivery`,`resend`].find(e=>Object.prototype.hasOwnProperty.call(t,e));if(n)throw Error(`Google Email OTP registration message must not include ${n}`)}const d=new Map;function f(){return e(`google-email-otp`,16,`Google Email OTP wallet auth flow handles`)}function p(e){let t=f();return d.set(t,{flow:e,expiresAtMs:e.expiresAtMs}),e.mode===`register`?{kind:e.kind,state:`registration_ready`,flowHandleId:t,flowId:e.flowId,requestedMode:e.requestedMode,mode:`register`,walletId:e.walletId,emailHint:e.emailHint,prompt:e.prompt,expiresAtMs:e.expiresAtMs}:{kind:e.kind,state:`challenge_sent`,flowHandleId:t,flowId:e.flowId,requestedMode:e.requestedMode,mode:`login`,walletId:e.walletId,emailHint:e.emailHint,prompt:e.prompt,delivery:e.delivery,expiresAtMs:e.expiresAtMs}}function m(e){return e.ok?{ok:!0,value:p(e.value)}:e}function h(e){return e.ok?{ok:!0,value:p(e.value)}:e}function g(e){return e.ok?{ok:!0,value:{walletId:e.value.walletId,mode:`register`,session:e.value.session,registration:e.value.registration}}:e}function _(e){return s(o(e),`flowHandleId`)}function v(e,t){let n=s(t,`flowId`),r=s(t,`walletId`),i=s(t,`mode`);if(e.flowId!==n)throw Error(`Google Email OTP wallet auth flow handle does not match flow id`);if(String(e.walletId)!==r)throw Error(`Google Email OTP wallet auth flow handle does not match wallet`);if(e.mode!==i)throw Error(`Google Email OTP wallet auth flow handle does not match mode`)}function y(e){let t=o(e),n=_(t),r=d.get(n);if(!r)throw Error(`Google Email OTP wallet auth flow handle is not active`);if(Date.now()>r.expiresAtMs)throw d.delete(n),r.flow.cancel().catch(()=>void 0),Error(`Google Email OTP wallet auth flow handle expired`);return v(r.flow,t),r.flow}function b(e){let t=_(o(e)),n=y(e);return d.delete(t),n}function x(e){return{walletId:s(o(e),`walletId`)}}function S(e){let t=o(e),n=s(t,`operation`);if(n!==`credentials_list`&&n!==`credential_label`&&n!==`recovery_rotate`&&n!==`recovery_read`)throw Error(`Wallet custody Email OTP challenge operation is invalid`);let r=o(t.payload);if(Object.keys(r).length===0&&t.payload===void 0)throw Error(`Wallet custody Email OTP challenge payload is required`);return{walletId:s(t,`walletId`),providerSubjectId:s(t,`providerSubjectId`),operation:n,payload:r,...c(t,`requestOrigin`)?{requestOrigin:c(t,`requestOrigin`)}:{}}}function C(e){let t=o(e),n=o(t.authorization);if(n.kind===`existing_passkey`)return{walletId:s(t,`walletId`),authorization:{kind:`existing_passkey`}};if(n.kind===`email_otp`)return{walletId:s(t,`walletId`),authorization:{kind:`email_otp`,providerSubjectId:s(n,`providerSubjectId`),challengeId:s(n,`challengeId`),challenge_digest:s(n,`challenge_digest`),otpCode:s(n,`otpCode`)}};throw Error(`Wallet recovery rotation authorization is invalid`)}function w(e){let t=o(e.diagnostics);Reflect.set(globalThis,`__SEAMS_EMAIL_OTP_UNLOCK_DIAGNOSTICS`,t.emailOtpUnlockTimings===!0),Reflect.set(globalThis,`__SEAMS_REGISTRATION_BENCHMARK_DIAGNOSTICS`,t.registrationBenchmarkTimings===!0),delete e.diagnostics}function T(e){return{PM_REDEEM_HOSTED_WALLET_SEAMS_SESSION:async t=>{let i=await r(t.payload,t.payload.relayUrl);n(e,t.requestId,{kind:`redeemed_hosted_wallet_seams_session`,expiresAtMs:i.expiresAtMs})},PM_REQUEST_EMAIL_OTP_CHALLENGE:async t=>{let r=e.getWalletRuntime();l(t.payload);let o=a(t.payload),s=await r.auth.requestEmailCode(i(e,t.requestId,o));n(e,t.requestId,m(s))},PM_BEGIN_GOOGLE_EMAIL_OTP_WALLET_AUTH:async t=>{let r=e.getWalletRuntime(),a=o(t.payload);w(a),a.mode===`register`&&u(a);let s=i(e,t.requestId,a),c=await r.auth.startGoogleSignIn(s);n(e,t.requestId,m(c))},PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_RESEND:async t=>{let r=y(t.payload);if(r.mode!==`login`)throw Error(`Google Email OTP wallet auth resend requires a login flow`);let i=await r.resend();i.ok&&b(t.payload),n(e,t.requestId,m(i))},PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_REROLL_WALLET_ID:async t=>{let r=y(t.payload);if(r.mode!==`register`)throw Error(`Google Email OTP wallet auth reroll requires a registration flow`);u(t.payload);let i=await r.rerollWalletId();i.ok&&b(t.payload),n(e,t.requestId,h(i))},PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_SUBMIT:async t=>{let r=y(t.payload);if(r.mode!==`login`)throw Error(`Google Email OTP wallet auth submit requires a login flow`);let i=o(t.payload),a=await r.submit({otpCode:s(i,`otpCode`)});a.ok&&b(t.payload),n(e,t.requestId,a)},PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_COMPLETE_REGISTRATION:async t=>{let r=y(t.payload);if(r.mode!==`register`)throw Error(`Google Email OTP wallet auth completion requires a registration flow`);u(t.payload);let i=await r.completeRegistration();i.ok&&b(t.payload),n(e,t.requestId,g(i))},PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_CANCEL:async t=>{await y(t.payload).cancel(),b(t.payload),n(e,t.requestId,void 0)},PM_GET_WALLET_RECOVERY_CODE_STATUS:async t=>{l(t.payload);let r=await e.getWalletRuntime().recovery.getCodeStatus(x(t.payload));n(e,t.requestId,r)},PM_REQUEST_WALLET_CUSTODY_EMAIL_OTP_CHALLENGE:async t=>{l(t.payload);let r=await e.getWalletRuntime().recovery.requestWalletCustodyEmailOtpChallenge(S(t.payload));n(e,t.requestId,r)},PM_ACKNOWLEDGE_WALLET_RECOVERY_CODE_BACKUP:async t=>{l(t.payload);let r=await e.getWalletRuntime().recovery.confirmBackup(x(t.payload));n(e,t.requestId,r)},PM_ROTATE_WALLET_RECOVERY_CODES:async t=>{l(t.payload);let r=await e.getWalletRuntime().recovery.rotateCodes(C(t.payload));n(e,t.requestId,r)}}}async function E(e){await t(e,T)}export{E as handleWalletHostRuntimeRequest};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{w as e}from"./normalize-kUDm5zfS.js";import"./primitives-CAcl7ON7.js";import"./sessionPolicy-J-RrlPZQ.js";import"./signingSessionSeal-CDLUmAFY.js";import{a as t,n,t as r}from"./shared-8ffIBYw2.js";import"./activeWalletSession-DiZcKjB_.js";import"./capabilityKinds-CKQ4Uqnv.js";import{r as i}from"./errors-BZO3LF6G.js";import"./digestEncoding-Dzc1rzWV.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B9GCvpTV.js";import{s as a}from"./ecdsaChainTarget-C8ZtMZ8l.js";import"./signerDomain-vQmlnsbF.js";import"./registrationIntent-DOkZcKSP.js";import"./singletons-8UH3gOnZ.js";import"./walletAuthority-B5hXHWpK.js";import"./emailOtpEcdsaDerivationIdentity-B8HzTh4T.js";import"./challengeDelivery-DxXAkOfS.js";import"./registrationIds-CdPqm-Ya.js";import"./passkey-custody-BQj44jEM.js";import"./walletCustodyEcdsaContinuity-abNZ_dvX.js";import"./keccak-B02Fekdh.js";import"./wallet-recovery-C1kesLCF.js";import"./nearEd25519YaoMaterialActivation-fWQI3rYj.js";import{N as o,P as s}from"./nearEd25519YaoSigningPreparation-B0d1AG3u.js";import"./signNear-BhTkDm2-.js";import"./jsxRuntime.module-BcZNe_OA.js";function c(t){switch(t.kind){case`ecdsa`:{let e=o(t.laneIdentity);if(String(e.signer.walletId)!==String(t.walletSession.walletId))throw Error(`[WalletIframe] key export lane wallet does not match wallet session`);if(!a(e.signer.chainTarget,t.chainTarget))throw Error(`[WalletIframe] key export lane chain target does not match request target`);return{kind:`ecdsa`,chainTarget:t.chainTarget,walletSession:t.walletSession,laneIdentity:e,options:t.options}}case`ed25519`:{let n=s(t.laneIdentity),r=e(t.materialActivation);if(!r.ok)throw Error(r.error.message);let i=n.signer;if(String(i.account.wallet.walletId)!==String(t.walletSession.walletId))throw Error(`[WalletIframe] Ed25519 export lane wallet does not match wallet session`);if(String(i.account.nearAccountId)!==String(t.nearAccount.accountId))throw Error(`[WalletIframe] Ed25519 export lane does not match the NEAR account`);return{kind:`ed25519`,nearAccount:t.nearAccount,walletSession:t.walletSession,laneIdentity:n,materialActivation:r.value,options:t.options}}}}function l(e){return{PM_RESOLVE_EXACT_KEY_EXPORT_LANE:async t=>{let r=await e.getWalletRuntime().keys.resolveExactKeyExportLane(t.payload);n(e,t.requestId,r)},PM_EXPORT_KEYPAIR_UI:async t=>{let n=e.getWalletRuntime(),a=t.payload;if(!e.respondIfCancelled(t.requestId)){try{let r=c(a);await n.keys.exportKeypairWithUI(r.kind===`ecdsa`?{kind:`ecdsa`,chainTarget:r.chainTarget,walletSession:r.walletSession,laneIdentity:r.laneIdentity,options:{...r.options,onEvent:n=>e.postProgress(t.requestId,n)}}:{kind:`ed25519`,nearAccount:r.nearAccount,walletSession:r.walletSession,laneIdentity:r.laneIdentity,materialActivation:r.materialActivation,options:{...r.options,onEvent:n=>e.postProgress(t.requestId,n)}})}catch(n){if(i(n)){if(e.respondIfCancelled(t.requestId))return;r(e,t.requestId);return}throw n}e.respondIfCancelled(t.requestId)||r(e,t.requestId)}}}}async function u(e){await t(e,l)}export{u as handleWalletHostRuntimeRequest};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as e,w as t}from"./chains-CiYQT1K4.js";import"./primitives-CAcl7ON7.js";import"./sessionPolicy-J-RrlPZQ.js";import"./signingSessionSeal-CDLUmAFY.js";import{a as n,i as r,n as i,r as a}from"./shared-8ffIBYw2.js";import"./activeWalletSession-DiZcKjB_.js";import"./capabilityKinds-CKQ4Uqnv.js";import"./errors-BZO3LF6G.js";import"./digestEncoding-Dzc1rzWV.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B9GCvpTV.js";import{c as o,n as s}from"./ecdsaChainTarget-C8ZtMZ8l.js";import"./signerDomain-vQmlnsbF.js";import"./registrationIntent-DOkZcKSP.js";import"./singletons-8UH3gOnZ.js";import"./walletAuthority-B5hXHWpK.js";import"./emailOtpEcdsaDerivationIdentity-B8HzTh4T.js";import"./challengeDelivery-DxXAkOfS.js";import"./registrationIds-CdPqm-Ya.js";import"./passkey-custody-BQj44jEM.js";import"./walletCustodyEcdsaContinuity-abNZ_dvX.js";import"./keccak-B02Fekdh.js";import"./wallet-recovery-C1kesLCF.js";import"./nearEd25519YaoMaterialActivation-fWQI3rYj.js";import{l as c}from"./signNear-BhTkDm2-.js";import"./jsxRuntime.module-BcZNe_OA.js";function l(e){let t=o(e);return{walletId:t,walletSessionUserId:String(t)}}function u(n){if(n&&t(n))try{let t=e(n),r=n.nonceLease,i=n.serverDispatch;return c.fromPlain({transaction:n.transaction,signature:n.signature,borsh_bytes:t,...r?{nonceLease:r}:{},...i?{serverDispatch:i}:{}})}catch{return n}return n}function d(e){throw Error(`Unsupported registration auth method: ${String(e)}`)}function f(e){switch(e.kind){case`passkey`:return{kind:`passkey`,rpId:e.rpId,...e.authenticatorOptions===void 0?{}:{authenticatorOptions:e.authenticatorOptions}};case`email_otp`:switch(e.proofKind){case`otp_challenge`:return{kind:`email_otp`,proofKind:`otp_challenge`,email:e.email,providerSubject:e.providerSubject,otpCode:e.otpCode,...e.challengeId===void 0?{}:{challengeId:e.challengeId}};case`google_sso_registration`:return{kind:`email_otp`,proofKind:`google_sso_registration`,email:e.email,providerSubject:e.providerSubject,googleEmailOtpRegistrationAttemptId:e.googleEmailOtpRegistrationAttemptId,googleEmailOtpRegistrationOfferId:e.googleEmailOtpRegistrationOfferId,googleEmailOtpRegistrationCandidateId:e.googleEmailOtpRegistrationCandidateId};default:return d(e)}default:return d(e)}}function p(e){return{PM_REGISTER_WALLET:async t=>{let n=e.getWalletRuntime(),a=t.payload;if(e.respondIfCancelled(t.requestId))return;let o=r(e,t.requestId,a.options||{}),s=await n.registration.registerWallet({authMethod:f(a.authMethod),wallet:a.wallet,signerSelection:a.signerSelection,options:{...o,...a.confirmationConfig?{confirmationConfig:a.confirmationConfig}:{}}});e.respondIfCancelled(t.requestId)||(s.success&&await e.publishCurrentSession(),!e.respondIfCancelled(t.requestId)&&i(e,t.requestId,s))},PM_ADD_WALLET_SIGNER:async t=>{let n=e.getWalletRuntime(),r=t.payload;if(e.respondIfCancelled(t.requestId))return;let o=a(e,t.requestId,r.options||{}),s=await n.registration.addSigner({walletId:r.walletId,rpId:r.rpId,signerSelection:r.signerSelection,options:{...o,...r.confirmationConfig?{confirmationConfig:r.confirmationConfig}:{}}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,s)},PM_ADD_PASSKEY:async t=>{let n=e.getWalletRuntime(),r=t.payload;if(e.respondIfCancelled(t.requestId))return;let o=a(e,t.requestId,r.options||{}),s=await n.registration.addPasskey({walletId:r.walletId,rpId:r.rpId,options:{...o,...r.confirmationConfig?{confirmationConfig:r.confirmationConfig}:{}}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,s)},PM_ADD_EMAIL_OTP:async t=>{let n=e.getWalletRuntime(),r=t.payload;if(e.respondIfCancelled(t.requestId))return;let o=a(e,t.requestId,r.options||{}),s=await n.registration.addEmail({walletId:r.walletId,emailAddress:r.emailAddress,options:o});e.respondIfCancelled(t.requestId)||i(e,t.requestId,s)},PM_REVOKE_AUTH_METHOD:async t=>{let n=e.getWalletRuntime(),r=t.payload;if(e.respondIfCancelled(t.requestId))return;let a=await n.registration.removeAuthMethod({walletId:r.walletId,walletAuthMethodId:r.walletAuthMethodId});e.respondIfCancelled(t.requestId)||i(e,t.requestId,a)},PM_GET_NEAR_PROVISIONING_STATE:async t=>{let n=e.getWalletRuntime(),r=o(t.payload?.walletId),a=await n.registration.getNearAccountState({walletId:r});i(e,t.requestId,a)},PM_SIGN_TX_WITH_ACTIONS:async t=>{let n=e.getWalletRuntime(),{walletId:r,nearAccountId:o,transaction:c,options:u}=t.payload,d=await n.near.signTransaction({walletSession:l(r),nearAccount:s(o),transaction:c,options:{...a(e,t.requestId,u||{})}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,d)},PM_SIGN_AND_SEND_TX:async t=>{let n=e.getWalletRuntime(),{walletId:r,nearAccountId:o,transaction:c,options:u}=t.payload,d=await n.near.signAndSendTransaction({walletSession:l(r),nearAccount:s(o),receiverId:c.receiverId,actions:c.actions,options:{...a(e,t.requestId,u||{})}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,d)},PM_SEND_TRANSACTION:async t=>{let n=e.getWalletRuntime(),{walletId:r,nearAccountId:o,signedTransaction:c,options:d}=t.payload||{},f=await n.near.sendTransaction({walletSession:l(r),nearAccount:s(o),signedTransaction:u(c),options:{...a(e,t.requestId,d||{})}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,f)},PM_SIGN_DELEGATE_ACTION:async t=>{let n=e.getWalletRuntime(),{walletId:r,nearAccountId:o,delegate:c,options:u}=t.payload,d=await n.near.signDelegateAction({walletSession:l(r),nearAccount:s(o),delegate:c,options:{...a(e,t.requestId,u||{})}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,d)},PM_SIGN_NEP413:async t=>{let n=e.getWalletRuntime(),{walletId:r,nearAccountId:o,params:c,options:u}=t.payload,d=await n.near.signMessage({walletSession:l(r),nearAccount:s(o),params:c,options:{...a(e,t.requestId,u||{})}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,d)}}}async function m(e){await n(e,p)}export{m as handleWalletHostRuntimeRequest};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./primitives-CAcl7ON7.js";import"./sessionPolicy-J-RrlPZQ.js";import"./signingSessionSeal-CDLUmAFY.js";import{a as e,n as t}from"./shared-8ffIBYw2.js";import"./activeWalletSession-DiZcKjB_.js";import"./capabilityKinds-CKQ4Uqnv.js";import"./errors-BZO3LF6G.js";import"./digestEncoding-Dzc1rzWV.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B9GCvpTV.js";import{c as n}from"./ecdsaChainTarget-C8ZtMZ8l.js";import"./signerDomain-vQmlnsbF.js";import"./registrationIntent-DOkZcKSP.js";import"./singletons-8UH3gOnZ.js";import"./walletAuthority-B5hXHWpK.js";import"./emailOtpEcdsaDerivationIdentity-B8HzTh4T.js";import"./challengeDelivery-DxXAkOfS.js";import"./registrationIds-CdPqm-Ya.js";import"./passkey-custody-BQj44jEM.js";import"./walletCustodyEcdsaContinuity-abNZ_dvX.js";import"./keccak-B02Fekdh.js";import"./wallet-recovery-C1kesLCF.js";import"./nearEd25519YaoMaterialActivation-fWQI3rYj.js";import"./signNear-BhTkDm2-.js";import"./jsxRuntime.module-BcZNe_OA.js";function r(e){return{PM_SET_CONFIRM_BEHAVIOR:async r=>{let i=e.getWalletRuntime(),{behavior:a,walletId:o}=r.payload;o&&i.preferences.setCurrentWallet(n(o)),await i.preferences.setConfirmationBehavior(a),t(e,r.requestId,e.readPreferences())},PM_SET_CONFIRMATION_CONFIG:async r=>{let i=e.getWalletRuntime(),{walletId:a}=r.payload||{};a&&i.preferences.setCurrentWallet(n(a)),await i.preferences.setConfirmationConfig(r.payload?.config||{}),t(e,r.requestId,e.readPreferences())},PM_GET_CONFIRMATION_CONFIG:async n=>{let r=e.readPreferences();t(e,n.requestId,r)}}}async function i(t){await e(t,r)}export{i as handleWalletHostRuntimeRequest};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./primitives-CAcl7ON7.js";import"./sessionPolicy-J-RrlPZQ.js";import"./signingSessionSeal-CDLUmAFY.js";import{a as e,n as t,r as n}from"./shared-8ffIBYw2.js";import"./activeWalletSession-DiZcKjB_.js";import"./capabilityKinds-CKQ4Uqnv.js";import"./errors-BZO3LF6G.js";import"./digestEncoding-Dzc1rzWV.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B9GCvpTV.js";import"./signerDomain-vQmlnsbF.js";import"./registrationIntent-DOkZcKSP.js";import"./singletons-8UH3gOnZ.js";import"./walletAuthority-B5hXHWpK.js";import"./emailOtpEcdsaDerivationIdentity-B8HzTh4T.js";import"./challengeDelivery-DxXAkOfS.js";import"./registrationIds-CdPqm-Ya.js";import"./passkey-custody-BQj44jEM.js";import"./walletCustodyEcdsaContinuity-abNZ_dvX.js";import"./keccak-B02Fekdh.js";import"./wallet-recovery-C1kesLCF.js";import"./nearEd25519YaoMaterialActivation-fWQI3rYj.js";import"./signNear-BhTkDm2-.js";import"./jsxRuntime.module-BcZNe_OA.js";function r(e){return{PM_SYNC_ACCOUNT_FLOW:async r=>{let i=e.getWalletRuntime(),{walletId:a}=r.payload||{};if(e.respondIfCancelled(r.requestId))return;let o=await i.recovery.syncAccount({...a?{walletId:a}:{},options:{...n(e,r.requestId,{})}});e.respondIfCancelled(r.requestId)||t(e,r.requestId,o)}}}async function i(t){await e(t,r)}export{i as handleWalletHostRuntimeRequest};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e}from"./chains-CiYQT1K4.js";import"./primitives-CAcl7ON7.js";import"./sessionPolicy-J-RrlPZQ.js";import{t}from"./configHelpers-D8Ivi6p8.js";import"./signingSessionSeal-CDLUmAFY.js";import"./capabilityKinds-CKQ4Uqnv.js";import{t as n}from"./walletIframeIdentity-DJ0KOBHg.js";import"./digestEncoding-Dzc1rzWV.js";import"./singletons-8UH3gOnZ.js";import"./walletAuthority-B5hXHWpK.js";import"./registrationIds-CdPqm-Ya.js";import"./passkey-custody-BQj44jEM.js";import"./wallet-recovery-C1kesLCF.js";import{r,t as i}from"./pendingWalletRecoveryCodeBackup-yJN8VAHn.js";import{n as a,t as o}from"./walletRecoveryRotate-DWTAFYiv.js";function s(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`${t} is required`);return e}function c(t){let n=s(t,`Recovery-code request payload`);if(Object.prototype.hasOwnProperty.call(n,`walletSessionToken`))throw Error(`wallet iframe requests must not carry walletSessionToken`);return e(n.walletId,`Recovery-code walletId`)}function l(t){return e(t.state.configuration.kind===`configured`?t.state.configuration.config.network.relayer.url:void 0,`Recovery-code relayer URL`)}function u(e,t){e.post({type:`SURFACE_MEASUREMENT`,payload:t})}async function d(e,t){let[n,r]=await Promise.all([a({relayUrl:e,walletId:t}),i.has(t)]);return n.kind===`ready`?{...n,pendingLocalBackup:r}:n}async function f(e){let t=await i.read(e);return t?{kind:`wallet_recovery_code_backup_request_v1`,walletId:t.walletId,recoveryCodes:t.recoveryCodes,continuation:`pending_backup_must_finish`}:null}async function p(e){if(e.req.type!==`PM_ACKNOWLEDGE_WALLET_RECOVERY_CODE_BACKUP`)throw Error(`Unsupported recovery-code request type: ${e.req.type}`);let a=n(e.req.requestId);if(e.respondIfCancelled(a))return;let s=c(e.req.payload),p=l(e);if((await r({walletId:s,loadStatus:d.bind(null,p,s),loadPendingBackup:f.bind(null,s)},{kind:`wallet_iframe`,requestId:a,postMeasurement:u.bind(null,e)},{appearance:{palette:`default`,theme:t({value:e.state.configuration.kind===`configured`?e.state.configuration.config.ui.appearance.theme:void 0,fallback:{id:`default`,mode:`dark`,colors:{}}})},shouldCancel:()=>e.isCancelled(a)})).kind!==`wallet_recovery_codes_backed_up_v1`)throw Error(`Pending wallet recovery-code backup was not completed`);let m=await o({relayUrl:p,walletId:s});m.kind===`acknowledged`&&await i.delete(s),e.post({type:`PM_RESULT`,requestId:a,payload:{ok:!0,result:m}})}export{p as handleWalletHostRuntimeRequest};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{L as e,y as t}from"./normalize-kUDm5zfS.js";const n={restore:`restore`,visibility:`visibility`,focus:`focus`,operationPreflight:`operation_preflight`,serverRejection:`server_rejection`};function r(e){return{version:1,event:`registration.near_provisioning_changed`,walletId:e.walletId,state:e.state}}function i(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0}function a(e){return typeof e==`string`&&e.trim().length>0}function o(e){switch(e){case`near_provisioning_interrupted`:case`near_finalize_failed`:case`near_capability_persist_failed`:case`near_seal_failed`:case`near_provisioning_failed`:return e;default:return null}}function s(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=Reflect.get(e,`updatedAtMs`);if(!i(t))return null;switch(Reflect.get(e,`status`)){case`near_pending`:return{status:`near_pending`,updatedAtMs:t};case`near_provisioning`:return{status:`near_provisioning`,updatedAtMs:t};case`near_ready`:{let n=Reflect.get(e,`nearAccountId`);return a(n)?{status:`near_ready`,updatedAtMs:t,nearAccountId:n}:null}case`near_failed_retryable`:{let n=Reflect.get(e,`error`);if(!a(n))return null;let r=o(Reflect.get(e,`errorCode`));return r?{status:`near_failed_retryable`,updatedAtMs:t,error:n,errorCode:r}:null}default:return null}}function c(e){if(!i(e.expiresAtMs))throw Error(`signing_session.expired expiresAtMs must be a positive safe integer`);if(!i(e.detectedAtMs))throw Error(`signing_session.expired detectedAtMs must be a positive safe integer`);if(e.expiresAtMs>e.detectedAtMs)throw Error(`signing_session.expired timeline is invalid`);return{version:1,event:`signing_session.expired`,walletId:e.walletId,walletSessionId:e.walletSessionId,authMethod:e.authMethod,expiresAtMs:e.expiresAtMs,detectedAtMs:e.detectedAtMs,source:e.source}}let l=function(e){return e.STEP_01_STARTED=`registration.started`,e.STEP_02_ACCOUNT_PREFLIGHT_STARTED=`registration.account.preflight.started`,e.STEP_02_ACCOUNT_PREFLIGHT_SUCCEEDED=`registration.account.preflight.succeeded`,e.STEP_03_SESSION_EXCHANGE_STARTED=`registration.session.exchange.started`,e.STEP_03_SESSION_EXCHANGE_SUCCEEDED=`registration.session.exchange.succeeded`,e.STEP_04_PASSKEY_CREATE_STARTED=`registration.auth.passkey.create.started`,e.STEP_04_PASSKEY_CREATE_SUCCEEDED=`registration.auth.passkey.create.succeeded`,e.STEP_04_OTP_CHALLENGE_STARTED=`registration.otp.challenge.started`,e.STEP_04_OTP_CHALLENGE_SENT=`registration.otp.challenge.sent`,e.STEP_04_OTP_INPUT_REQUIRED=`registration.otp.input.required`,e.STEP_04_OTP_VERIFY_STARTED=`registration.otp.verify.started`,e.STEP_04_OTP_VERIFY_SUCCEEDED=`registration.otp.verify.succeeded`,e.STEP_05_ED25519_SIGNER_PREPARE_STARTED=`registration.signer.ed25519.prepare.started`,e.STEP_05_ED25519_SIGNER_PREPARE_SUCCEEDED=`registration.signer.ed25519.prepare.succeeded`,e.STEP_05_ED25519_SIGNER_PROVISION_STARTED=`registration.signer.ed25519.provision.started`,e.STEP_05_ED25519_SIGNER_PROVISION_SUCCEEDED=`registration.signer.ed25519.provision.succeeded`,e.STEP_05_ED25519_SIGNER_PROVISION_SKIPPED=`registration.signer.ed25519.provision.skipped`,e.STEP_06_RELAY_BOOTSTRAP_STARTED=`registration.relay.bootstrap.started`,e.STEP_06_RELAY_BOOTSTRAP_SUCCEEDED=`registration.relay.bootstrap.succeeded`,e.STEP_07_ACCOUNT_VERIFY_STARTED=`registration.account.verify.started`,e.STEP_07_ACCOUNT_VERIFY_SUCCEEDED=`registration.account.verify.succeeded`,e.STEP_08_STORAGE_PERSIST_STARTED=`registration.storage.persist.started`,e.STEP_08_STORAGE_PERSIST_SUCCEEDED=`registration.storage.persist.succeeded`,e.STEP_09_EMAIL_OTP_SIGNER_ENROLL_STARTED=`registration.signer.email_otp.enroll.started`,e.STEP_09_EMAIL_OTP_SIGNER_ENROLL_SUCCEEDED=`registration.signer.email_otp.enroll.succeeded`,e.STEP_10_ECDSA_SIGNER_PROVISION_STARTED=`registration.signer.ecdsa.provision.started`,e.STEP_10_ECDSA_SIGNER_PROVISION_SUCCEEDED=`registration.signer.ecdsa.provision.succeeded`,e.STEP_10_ECDSA_SIGNER_PROVISION_SKIPPED=`registration.signer.ecdsa.provision.skipped`,e.STEP_10_ECDSA_SIGNER_BOOTSTRAP_STARTED=`registration.signer.ecdsa.bootstrap.started`,e.STEP_10_ECDSA_SIGNER_BOOTSTRAP_SUCCEEDED=`registration.signer.ecdsa.bootstrap.succeeded`,e.STEP_11_COMPLETED=`registration.completed`,e.FAILED=`registration.failed`,e.CANCELLED=`registration.cancelled`,e}({}),u=function(e){return e.STEP_01_STARTED=`unlock.started`,e.STEP_02_ACCOUNT_LOOKUP_STARTED=`unlock.account.lookup.started`,e.STEP_02_ACCOUNT_LOOKUP_SUCCEEDED=`unlock.account.lookup.succeeded`,e.STEP_03_PASSKEY_CHALLENGE_STARTED=`unlock.auth.passkey.challenge.started`,e.STEP_03_PASSKEY_PROMPT_STARTED=`unlock.auth.passkey.prompt.started`,e.STEP_03_PASSKEY_PROMPT_SUCCEEDED=`unlock.auth.passkey.prompt.succeeded`,e.STEP_03_EMAIL_OTP_CHALLENGE_STARTED=`unlock.auth.email_otp.challenge.started`,e.STEP_03_EMAIL_OTP_CHALLENGE_SENT=`unlock.auth.email_otp.challenge.sent`,e.STEP_03_EMAIL_OTP_INPUT_REQUIRED=`unlock.auth.email_otp.input.required`,e.STEP_03_EMAIL_OTP_VERIFY_STARTED=`unlock.auth.email_otp.verify.started`,e.STEP_03_EMAIL_OTP_VERIFY_SUCCEEDED=`unlock.auth.email_otp.verify.succeeded`,e.STEP_04_WALLET_UNLOCK_EXCHANGE_STARTED=`unlock.wallet.exchange.started`,e.STEP_04_WALLET_UNLOCK_EXCHANGE_SUCCEEDED=`unlock.wallet.exchange.succeeded`,e.STEP_04_WALLET_UNLOCK_EXCHANGE_SKIPPED=`unlock.wallet.exchange.skipped`,e.STEP_05_SIGNING_SESSION_WARMUP_STARTED=`unlock.signing_session.warmup.started`,e.STEP_05_ED25519_SIGNING_SESSION_READY=`unlock.signing_session.ed25519.ready`,e.STEP_05_ECDSA_SIGNING_SESSION_READY=`unlock.signing_session.ecdsa.ready`,e.STEP_06_SESSION_READY=`unlock.session.ready`,e.STEP_07_COMPLETED=`unlock.completed`,e.FAILED=`unlock.failed`,e.CANCELLED=`unlock.cancelled`,e}({}),d=function(e){return e.STEP_01_STARTED=`signing.started`,e.STEP_02_REQUEST_PREPARED=`signing.request.prepared`,e.STEP_03_NONCE_RESERVE_STARTED=`signing.nonce.reserve.started`,e.STEP_03_NONCE_RESERVE_SUCCEEDED=`signing.nonce.reserve.succeeded`,e.STEP_04_ACCOUNT_READINESS_STARTED=`signing.account.readiness.started`,e.STEP_04_ACCOUNT_READINESS_SUCCEEDED=`signing.account.readiness.succeeded`,e.STEP_04_ACCOUNT_READINESS_SKIPPED=`signing.account.readiness.skipped`,e.STEP_05_CONFIRMATION_DISPLAYED=`signing.confirmation.displayed`,e.STEP_05_CONFIRMATION_APPROVED=`signing.confirmation.approved`,e.STEP_05_CONFIRMATION_CANCELLED=`signing.confirmation.cancelled`,e.STEP_06_AUTH_WARM_SESSION_CLAIMED=`signing.auth.warm_session.claimed`,e.STEP_06_AUTH_PASSKEY_PROMPT_STARTED=`signing.auth.passkey.prompt.started`,e.STEP_06_AUTH_PASSKEY_PROMPT_SUCCEEDED=`signing.auth.passkey.prompt.succeeded`,e.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_STARTED=`signing.auth.email_otp.challenge.started`,e.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_SENT=`signing.auth.email_otp.challenge.sent`,e.STEP_06_AUTH_EMAIL_OTP_INPUT_REQUIRED=`signing.auth.email_otp.input.required`,e.STEP_06_AUTH_EMAIL_OTP_VERIFY_STARTED=`signing.auth.email_otp.verify.started`,e.STEP_06_AUTH_EMAIL_OTP_VERIFY_SUCCEEDED=`signing.auth.email_otp.verify.succeeded`,e.STEP_07_AUTHENTICATION_COMPLETE=`signing.authentication.complete`,e.STEP_08_SIGNER_PREPARE_STARTED=`signing.signer.prepare.started`,e.STEP_08_SIGNER_PREPARE_SUCCEEDED=`signing.signer.prepare.succeeded`,e.STEP_08_PRESIGN_REFILL_SCHEDULED=`signing.presign.refill.scheduled`,e.STEP_09_THRESHOLD_SESSION_RECONNECT_STARTED=`signing.threshold_session.reconnect.started`,e.STEP_09_THRESHOLD_SESSION_RECONNECT_SUCCEEDED=`signing.threshold_session.reconnect.succeeded`,e.STEP_10_COMMIT_QUEUED=`signing.commit.queued`,e.STEP_10_COMMIT_STARTED=`signing.commit.started`,e.STEP_10_COMMIT_SUCCEEDED=`signing.commit.succeeded`,e.STEP_11_TRANSACTION_SIGNED=`signing.transaction.signed`,e.STEP_11_REMAINING_SPEND_UPDATED=`signing.remaining_spend.updated`,e.STEP_12_BROADCAST_STARTED=`signing.broadcast.started`,e.STEP_12_BROADCAST_ACCEPTED=`signing.broadcast.accepted`,e.STEP_12_BROADCAST_REJECTED=`signing.broadcast.rejected`,e.STEP_13_NONCE_RECONCILE_STARTED=`signing.nonce.reconcile.started`,e.STEP_13_NONCE_RECONCILE_SUCCEEDED=`signing.nonce.reconcile.succeeded`,e.STEP_13_RECEIPT_FINALIZED=`signing.receipt.finalized`,e.STEP_13_RECEIPT_REVERTED=`signing.receipt.reverted`,e.STEP_13_TRANSACTION_DROPPED=`signing.transaction.dropped`,e.STEP_13_TRANSACTION_REPLACED=`signing.transaction.replaced`,e.STEP_13_BROADCAST_SKIPPED=`signing.broadcast.skipped`,e.STEP_14_APP_STATE_SYNC_STARTED=`signing.app_state.sync.started`,e.STEP_14_APP_STATE_SYNC_SUCCEEDED=`signing.app_state.sync.succeeded`,e.STEP_15_COMPLETED=`signing.completed`,e.FAILED=`signing.failed`,e.CANCELLED=`signing.cancelled`,e}({}),f=function(e){return e.STEP_01_QR_PREPARE_STARTED=`link_device.qr.prepare.started`,e.STEP_02_QR_SCAN_STARTED=`link_device.qr.scan.started`,e.FAILED=`link_device.failed`,e.CANCELLED=`link_device.cancelled`,e}({}),p=function(e){return e.STEP_01_STARTED=`account_sync.started`,e.STEP_02_PASSKEY_PROMPT_STARTED=`account_sync.auth.passkey.prompt.started`,e.STEP_02_PASSKEY_PROMPT_SUCCEEDED=`account_sync.auth.passkey.prompt.succeeded`,e.STEP_03_RELAY_VERIFY_STARTED=`account_sync.relay.verify.started`,e.STEP_03_RELAY_VERIFY_SUCCEEDED=`account_sync.relay.verify.succeeded`,e.STEP_04_AUTHENTICATOR_SAVED=`account_sync.authenticator.saved`,e.STEP_05_THRESHOLD_SESSION_READY=`account_sync.threshold_session.ready`,e.STEP_06_COMPLETED=`account_sync.completed`,e.FAILED=`account_sync.failed`,e.CANCELLED=`account_sync.cancelled`,e}({}),m=function(e){return e.STEP_01_STARTED=`key_export.started`,e.STEP_02_AUTH_PASSKEY_PROMPT_STARTED=`key_export.auth.passkey.prompt.started`,e.STEP_02_AUTH_PASSKEY_PROMPT_SUCCEEDED=`key_export.auth.passkey.prompt.succeeded`,e.STEP_02_AUTH_EMAIL_OTP_INPUT_REQUIRED=`key_export.auth.email_otp.input.required`,e.STEP_03_MATERIAL_PREPARE_STARTED=`key_export.material.prepare.started`,e.STEP_03_MATERIAL_PREPARE_SUCCEEDED=`key_export.material.prepare.succeeded`,e.STEP_04_VIEWER_OPENED=`key_export.viewer.opened`,e.STEP_05_VIEWER_CLOSED=`key_export.viewer.closed`,e.STEP_06_COMPLETED=`key_export.completed`,e.FAILED=`key_export.failed`,e.CANCELLED=`key_export.cancelled`,e}({});function h(n){if(n.phase===f.FAILED||n.status===`failed`)return{kind:`failed`};if(n.phase===f.CANCELLED||n.status===`cancelled`)return{kind:`cancelled`};if(n.phase!==f.STEP_02_QR_SCAN_STARTED||n.status!==`succeeded`)return{kind:`pending`};let r=e(String(n.walletId??``)),i=t(n.data?.enrollmentId);return r.ok&&i.ok?{kind:`active`,walletId:r.value}:{kind:`invalid_active`}}const g={[l.STEP_01_STARTED]:1,[l.STEP_02_ACCOUNT_PREFLIGHT_STARTED]:2,[l.STEP_02_ACCOUNT_PREFLIGHT_SUCCEEDED]:2,[l.STEP_03_SESSION_EXCHANGE_STARTED]:3,[l.STEP_03_SESSION_EXCHANGE_SUCCEEDED]:3,[l.STEP_04_PASSKEY_CREATE_STARTED]:4,[l.STEP_04_PASSKEY_CREATE_SUCCEEDED]:4,[l.STEP_04_OTP_CHALLENGE_STARTED]:4,[l.STEP_04_OTP_CHALLENGE_SENT]:4,[l.STEP_04_OTP_INPUT_REQUIRED]:4,[l.STEP_04_OTP_VERIFY_STARTED]:4,[l.STEP_04_OTP_VERIFY_SUCCEEDED]:4,[l.STEP_05_ED25519_SIGNER_PREPARE_STARTED]:5,[l.STEP_05_ED25519_SIGNER_PREPARE_SUCCEEDED]:5,[l.STEP_05_ED25519_SIGNER_PROVISION_STARTED]:5,[l.STEP_05_ED25519_SIGNER_PROVISION_SUCCEEDED]:5,[l.STEP_05_ED25519_SIGNER_PROVISION_SKIPPED]:5,[l.STEP_06_RELAY_BOOTSTRAP_STARTED]:6,[l.STEP_06_RELAY_BOOTSTRAP_SUCCEEDED]:6,[l.STEP_07_ACCOUNT_VERIFY_STARTED]:7,[l.STEP_07_ACCOUNT_VERIFY_SUCCEEDED]:7,[l.STEP_08_STORAGE_PERSIST_STARTED]:8,[l.STEP_08_STORAGE_PERSIST_SUCCEEDED]:8,[l.STEP_09_EMAIL_OTP_SIGNER_ENROLL_STARTED]:9,[l.STEP_09_EMAIL_OTP_SIGNER_ENROLL_SUCCEEDED]:9,[l.STEP_10_ECDSA_SIGNER_PROVISION_STARTED]:10,[l.STEP_10_ECDSA_SIGNER_PROVISION_SUCCEEDED]:10,[l.STEP_10_ECDSA_SIGNER_PROVISION_SKIPPED]:10,[l.STEP_10_ECDSA_SIGNER_BOOTSTRAP_STARTED]:10,[l.STEP_10_ECDSA_SIGNER_BOOTSTRAP_SUCCEEDED]:10,[l.STEP_11_COMPLETED]:11,[l.FAILED]:0,[l.CANCELLED]:0,[u.STEP_01_STARTED]:1,[u.STEP_02_ACCOUNT_LOOKUP_STARTED]:2,[u.STEP_02_ACCOUNT_LOOKUP_SUCCEEDED]:2,[u.STEP_03_PASSKEY_CHALLENGE_STARTED]:3,[u.STEP_03_PASSKEY_PROMPT_STARTED]:3,[u.STEP_03_PASSKEY_PROMPT_SUCCEEDED]:3,[u.STEP_03_EMAIL_OTP_CHALLENGE_STARTED]:3,[u.STEP_03_EMAIL_OTP_CHALLENGE_SENT]:3,[u.STEP_03_EMAIL_OTP_INPUT_REQUIRED]:3,[u.STEP_03_EMAIL_OTP_VERIFY_STARTED]:3,[u.STEP_03_EMAIL_OTP_VERIFY_SUCCEEDED]:3,[u.STEP_04_WALLET_UNLOCK_EXCHANGE_STARTED]:4,[u.STEP_04_WALLET_UNLOCK_EXCHANGE_SUCCEEDED]:4,[u.STEP_04_WALLET_UNLOCK_EXCHANGE_SKIPPED]:4,[u.STEP_05_SIGNING_SESSION_WARMUP_STARTED]:5,[u.STEP_05_ED25519_SIGNING_SESSION_READY]:5,[u.STEP_05_ECDSA_SIGNING_SESSION_READY]:5,[u.STEP_06_SESSION_READY]:6,[u.STEP_07_COMPLETED]:7,[u.FAILED]:0,[u.CANCELLED]:0,[d.STEP_01_STARTED]:1,[d.STEP_02_REQUEST_PREPARED]:2,[d.STEP_03_NONCE_RESERVE_STARTED]:3,[d.STEP_03_NONCE_RESERVE_SUCCEEDED]:3,[d.STEP_04_ACCOUNT_READINESS_STARTED]:4,[d.STEP_04_ACCOUNT_READINESS_SUCCEEDED]:4,[d.STEP_04_ACCOUNT_READINESS_SKIPPED]:4,[d.STEP_05_CONFIRMATION_DISPLAYED]:5,[d.STEP_05_CONFIRMATION_APPROVED]:5,[d.STEP_05_CONFIRMATION_CANCELLED]:5,[d.STEP_06_AUTH_WARM_SESSION_CLAIMED]:6,[d.STEP_06_AUTH_PASSKEY_PROMPT_STARTED]:6,[d.STEP_06_AUTH_PASSKEY_PROMPT_SUCCEEDED]:6,[d.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_STARTED]:6,[d.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_SENT]:6,[d.STEP_06_AUTH_EMAIL_OTP_INPUT_REQUIRED]:6,[d.STEP_06_AUTH_EMAIL_OTP_VERIFY_STARTED]:6,[d.STEP_06_AUTH_EMAIL_OTP_VERIFY_SUCCEEDED]:6,[d.STEP_07_AUTHENTICATION_COMPLETE]:7,[d.STEP_08_SIGNER_PREPARE_STARTED]:8,[d.STEP_08_SIGNER_PREPARE_SUCCEEDED]:8,[d.STEP_08_PRESIGN_REFILL_SCHEDULED]:8,[d.STEP_09_THRESHOLD_SESSION_RECONNECT_STARTED]:9,[d.STEP_09_THRESHOLD_SESSION_RECONNECT_SUCCEEDED]:9,[d.STEP_10_COMMIT_QUEUED]:10,[d.STEP_10_COMMIT_STARTED]:10,[d.STEP_10_COMMIT_SUCCEEDED]:10,[d.STEP_11_TRANSACTION_SIGNED]:11,[d.STEP_11_REMAINING_SPEND_UPDATED]:11,[d.STEP_12_BROADCAST_STARTED]:12,[d.STEP_12_BROADCAST_ACCEPTED]:12,[d.STEP_12_BROADCAST_REJECTED]:12,[d.STEP_13_NONCE_RECONCILE_STARTED]:13,[d.STEP_13_NONCE_RECONCILE_SUCCEEDED]:13,[d.STEP_13_RECEIPT_FINALIZED]:13,[d.STEP_13_RECEIPT_REVERTED]:13,[d.STEP_13_TRANSACTION_DROPPED]:13,[d.STEP_13_TRANSACTION_REPLACED]:13,[d.STEP_13_BROADCAST_SKIPPED]:13,[d.STEP_14_APP_STATE_SYNC_STARTED]:14,[d.STEP_14_APP_STATE_SYNC_SUCCEEDED]:14,[d.STEP_15_COMPLETED]:15,[d.FAILED]:0,[d.CANCELLED]:0,[f.STEP_01_QR_PREPARE_STARTED]:1,[f.STEP_02_QR_SCAN_STARTED]:2,[f.FAILED]:0,[f.CANCELLED]:0,[p.STEP_01_STARTED]:1,[p.STEP_02_PASSKEY_PROMPT_STARTED]:2,[p.STEP_02_PASSKEY_PROMPT_SUCCEEDED]:2,[p.STEP_03_RELAY_VERIFY_STARTED]:3,[p.STEP_03_RELAY_VERIFY_SUCCEEDED]:3,[p.STEP_04_AUTHENTICATOR_SAVED]:4,[p.STEP_05_THRESHOLD_SESSION_READY]:5,[p.STEP_06_COMPLETED]:6,[p.FAILED]:0,[p.CANCELLED]:0,[m.STEP_01_STARTED]:1,[m.STEP_02_AUTH_PASSKEY_PROMPT_STARTED]:2,[m.STEP_02_AUTH_PASSKEY_PROMPT_SUCCEEDED]:2,[m.STEP_02_AUTH_EMAIL_OTP_INPUT_REQUIRED]:2,[m.STEP_03_MATERIAL_PREPARE_STARTED]:3,[m.STEP_03_MATERIAL_PREPARE_SUCCEEDED]:3,[m.STEP_04_VIEWER_OPENED]:4,[m.STEP_05_VIEWER_CLOSED]:5,[m.STEP_06_COMPLETED]:6,[m.FAILED]:0,[m.CANCELLED]:0},_={[l.STEP_01_STARTED]:`Starting registration`,[l.STEP_02_ACCOUNT_PREFLIGHT_STARTED]:`Checking account details`,[l.STEP_02_ACCOUNT_PREFLIGHT_SUCCEEDED]:`Account details ready`,[l.STEP_03_SESSION_EXCHANGE_STARTED]:`Checking registration session`,[l.STEP_03_SESSION_EXCHANGE_SUCCEEDED]:`Registration session ready`,[l.STEP_04_PASSKEY_CREATE_STARTED]:`Create your passkey`,[l.STEP_04_PASSKEY_CREATE_SUCCEEDED]:`Passkey created`,[l.STEP_04_OTP_CHALLENGE_STARTED]:`Sending registration email code`,[l.STEP_04_OTP_CHALLENGE_SENT]:`Registration email code sent`,[l.STEP_04_OTP_INPUT_REQUIRED]:`Enter the registration code`,[l.STEP_04_OTP_VERIFY_STARTED]:`Verifying registration code`,[l.STEP_04_OTP_VERIFY_SUCCEEDED]:`Registration email verified`,[l.STEP_05_ED25519_SIGNER_PREPARE_STARTED]:`Preparing NEAR signer`,[l.STEP_05_ED25519_SIGNER_PREPARE_SUCCEEDED]:`NEAR signer ready`,[l.STEP_05_ED25519_SIGNER_PROVISION_STARTED]:`Preparing NEAR signer`,[l.STEP_05_ED25519_SIGNER_PROVISION_SUCCEEDED]:`NEAR signer ready`,[l.STEP_05_ED25519_SIGNER_PROVISION_SKIPPED]:`NEAR signer setup skipped`,[l.STEP_06_RELAY_BOOTSTRAP_STARTED]:`Creating wallet account`,[l.STEP_06_RELAY_BOOTSTRAP_SUCCEEDED]:`Wallet account created`,[l.STEP_07_ACCOUNT_VERIFY_STARTED]:`Verifying wallet account`,[l.STEP_07_ACCOUNT_VERIFY_SUCCEEDED]:`Wallet account verified`,[l.STEP_08_STORAGE_PERSIST_STARTED]:`Saving wallet metadata`,[l.STEP_08_STORAGE_PERSIST_SUCCEEDED]:`Wallet metadata saved`,[l.STEP_09_EMAIL_OTP_SIGNER_ENROLL_STARTED]:`Securing Email OTP registration`,[l.STEP_09_EMAIL_OTP_SIGNER_ENROLL_SUCCEEDED]:`Email OTP registration secured`,[l.STEP_10_ECDSA_SIGNER_PROVISION_STARTED]:`Preparing EVM signing session`,[l.STEP_10_ECDSA_SIGNER_PROVISION_SUCCEEDED]:`EVM signing session ready`,[l.STEP_10_ECDSA_SIGNER_PROVISION_SKIPPED]:`EVM signer setup skipped`,[l.STEP_10_ECDSA_SIGNER_BOOTSTRAP_STARTED]:`Preparing EVM signer`,[l.STEP_10_ECDSA_SIGNER_BOOTSTRAP_SUCCEEDED]:`EVM signer ready`,[l.STEP_11_COMPLETED]:`Registration complete`,[l.FAILED]:`Registration failed`,[l.CANCELLED]:`Registration cancelled`,[u.STEP_01_STARTED]:`Unlocking wallet`,[u.STEP_02_ACCOUNT_LOOKUP_STARTED]:`Finding wallet account`,[u.STEP_02_ACCOUNT_LOOKUP_SUCCEEDED]:`Wallet account found`,[u.STEP_03_PASSKEY_CHALLENGE_STARTED]:`Preparing passkey check`,[u.STEP_03_PASSKEY_PROMPT_STARTED]:`Confirm with passkey`,[u.STEP_03_PASSKEY_PROMPT_SUCCEEDED]:`Passkey confirmed`,[u.STEP_03_EMAIL_OTP_CHALLENGE_STARTED]:`Sending email code`,[u.STEP_03_EMAIL_OTP_CHALLENGE_SENT]:`Email code sent`,[u.STEP_03_EMAIL_OTP_INPUT_REQUIRED]:`Enter the email code`,[u.STEP_03_EMAIL_OTP_VERIFY_STARTED]:`Verifying email code`,[u.STEP_03_EMAIL_OTP_VERIFY_SUCCEEDED]:`Email verified`,[u.STEP_04_WALLET_UNLOCK_EXCHANGE_STARTED]:`Creating wallet session`,[u.STEP_04_WALLET_UNLOCK_EXCHANGE_SUCCEEDED]:`Wallet session ready`,[u.STEP_04_WALLET_UNLOCK_EXCHANGE_SKIPPED]:`Wallet session skipped`,[u.STEP_05_SIGNING_SESSION_WARMUP_STARTED]:`Preparing transaction signing`,[u.STEP_05_ED25519_SIGNING_SESSION_READY]:`NEAR signing authorization ready`,[u.STEP_05_ECDSA_SIGNING_SESSION_READY]:`EVM signing session ready`,[u.STEP_06_SESSION_READY]:`Wallet session ready`,[u.STEP_07_COMPLETED]:`Wallet unlocked`,[u.FAILED]:`Wallet unlock failed`,[u.CANCELLED]:`Wallet unlock cancelled`,[d.STEP_01_STARTED]:`Preparing transaction`,[d.STEP_02_REQUEST_PREPARED]:`Transaction ready for review`,[d.STEP_03_NONCE_RESERVE_STARTED]:`Reserving nonce`,[d.STEP_03_NONCE_RESERVE_SUCCEEDED]:`Nonce reserved`,[d.STEP_04_ACCOUNT_READINESS_STARTED]:`Checking account setup`,[d.STEP_04_ACCOUNT_READINESS_SUCCEEDED]:`Account setup verified`,[d.STEP_04_ACCOUNT_READINESS_SKIPPED]:`Account setup check skipped`,[d.STEP_05_CONFIRMATION_DISPLAYED]:`Review transaction`,[d.STEP_05_CONFIRMATION_APPROVED]:`Transaction approved`,[d.STEP_05_CONFIRMATION_CANCELLED]:`Transaction rejected`,[d.STEP_06_AUTH_WARM_SESSION_CLAIMED]:`Signing session authorized`,[d.STEP_06_AUTH_PASSKEY_PROMPT_STARTED]:`Confirm with passkey`,[d.STEP_06_AUTH_PASSKEY_PROMPT_SUCCEEDED]:`Passkey confirmed`,[d.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_STARTED]:`Sending email code`,[d.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_SENT]:`Email code sent`,[d.STEP_06_AUTH_EMAIL_OTP_INPUT_REQUIRED]:`Enter the email code`,[d.STEP_06_AUTH_EMAIL_OTP_VERIFY_STARTED]:`Verifying email code`,[d.STEP_06_AUTH_EMAIL_OTP_VERIFY_SUCCEEDED]:`Email verified`,[d.STEP_07_AUTHENTICATION_COMPLETE]:`Authentication complete`,[d.STEP_08_SIGNER_PREPARE_STARTED]:`Preparing secure signer`,[d.STEP_08_SIGNER_PREPARE_SUCCEEDED]:`Secure signer ready`,[d.STEP_08_PRESIGN_REFILL_SCHEDULED]:`Preparing future signatures`,[d.STEP_09_THRESHOLD_SESSION_RECONNECT_STARTED]:`Preparing signing session`,[d.STEP_09_THRESHOLD_SESSION_RECONNECT_SUCCEEDED]:`Secure signer loaded`,[d.STEP_10_COMMIT_QUEUED]:`Waiting to sign`,[d.STEP_10_COMMIT_STARTED]:`Signing transaction`,[d.STEP_10_COMMIT_SUCCEEDED]:`Transaction signature ready`,[d.STEP_11_TRANSACTION_SIGNED]:`Transaction signed`,[d.STEP_11_REMAINING_SPEND_UPDATED]:`Signing spend updated`,[d.STEP_12_BROADCAST_STARTED]:`Broadcasting transaction`,[d.STEP_12_BROADCAST_ACCEPTED]:`Transaction submitted`,[d.STEP_12_BROADCAST_REJECTED]:`Transaction broadcast failed`,[d.STEP_13_NONCE_RECONCILE_STARTED]:`Checking nonce state`,[d.STEP_13_NONCE_RECONCILE_SUCCEEDED]:`Nonce state updated`,[d.STEP_13_RECEIPT_FINALIZED]:`Transaction finalized`,[d.STEP_13_RECEIPT_REVERTED]:`Transaction reverted`,[d.STEP_13_TRANSACTION_DROPPED]:`Transaction dropped`,[d.STEP_13_TRANSACTION_REPLACED]:`Transaction replaced`,[d.STEP_13_BROADCAST_SKIPPED]:`Broadcast skipped`,[d.STEP_14_APP_STATE_SYNC_STARTED]:`Refreshing app state`,[d.STEP_14_APP_STATE_SYNC_SUCCEEDED]:`App state refreshed`,[d.STEP_15_COMPLETED]:`Transaction complete`,[d.FAILED]:`Transaction signing failed`,[d.CANCELLED]:`Transaction signing cancelled`,[f.STEP_01_QR_PREPARE_STARTED]:`Preparing device link`,[f.STEP_02_QR_SCAN_STARTED]:`Scanning QR code`,[f.FAILED]:`Device link failed`,[f.CANCELLED]:`Device link cancelled`,[p.STEP_01_STARTED]:`Starting account sync`,[p.STEP_02_PASSKEY_PROMPT_STARTED]:`Confirm with passkey`,[p.STEP_02_PASSKEY_PROMPT_SUCCEEDED]:`Passkey confirmed`,[p.STEP_03_RELAY_VERIFY_STARTED]:`Verifying account access`,[p.STEP_03_RELAY_VERIFY_SUCCEEDED]:`Account access verified`,[p.STEP_04_AUTHENTICATOR_SAVED]:`Passkey saved locally`,[p.STEP_05_THRESHOLD_SESSION_READY]:`Signing session ready`,[p.STEP_06_COMPLETED]:`Account synced`,[p.FAILED]:`Account sync failed`,[p.CANCELLED]:`Account sync cancelled`,[m.STEP_01_STARTED]:`Preparing key export`,[m.STEP_02_AUTH_PASSKEY_PROMPT_STARTED]:`Confirm with passkey`,[m.STEP_02_AUTH_PASSKEY_PROMPT_SUCCEEDED]:`Passkey confirmed`,[m.STEP_02_AUTH_EMAIL_OTP_INPUT_REQUIRED]:`Enter the email code`,[m.STEP_03_MATERIAL_PREPARE_STARTED]:`Preparing key material`,[m.STEP_03_MATERIAL_PREPARE_SUCCEEDED]:`Key material ready`,[m.STEP_04_VIEWER_OPENED]:`Review private key`,[m.STEP_05_VIEWER_CLOSED]:`Key export closed`,[m.STEP_06_COMPLETED]:`Key export complete`,[m.FAILED]:`Key export failed`,[m.CANCELLED]:`Key export cancelled`};function v(e){let t=e.interaction??(e.status===`failed`||e.status===`cancelled`?{kind:`none`,overlay:`hide`}:void 0);return{...e,...t?{interaction:t}:{},version:2,step:g[e.phase],message:e.message??_[e.phase]}}function y(e){return v({...e,flow:`registration`})}function b(e){return v({...e,flow:`unlock`})}function x(e){return v({...e,flow:`link_device`})}function S(e){return v({...e,flow:`account_sync`})}function C(e){return v({...e,flow:`key_export`})}function w(e){return v({...e,flow:`signing`})}function T(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.version===2&&typeof t.flow==`string`}export{T as _,n as a,h as c,x as d,r as f,b as g,c as h,l as i,S as l,w as m,m as n,d as o,y as p,f as r,u as s,p as t,C as u,s as v};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./primitives-CAcl7ON7.js";import"./sessionPolicy-J-RrlPZQ.js";import"./signingSessionSeal-CDLUmAFY.js";import"./activeWalletSession-DiZcKjB_.js";import"./capabilityKinds-CKQ4Uqnv.js";import"./digestEncoding-Dzc1rzWV.js";import"./signerDomain-vQmlnsbF.js";import"./singletons-8UH3gOnZ.js";import{tn as e}from"./emailOtpEcdsaDerivationIdentity-B8HzTh4T.js";import{z as t}from"./ecdsaCapabilityManifest-BlzJAQF8.js";import{t as n}from"./presignatures-DB2IPD-A.js";import{i as r,u as i}from"./trace-BvbCxdXF.js";import{c as a,i as o,r as s}from"./presignaturePool-DwlTReFO.js";function c(e){return e.kind===`digest`&&e.algorithm===`secp256k1`}function l(e){let t=String(e.intent.operationId||``).trim();if(!t)throw Error(`[multichain] exact EVM signing operation id is required`);return t}function u(e){switch(e.kind){case`reusable_wallet_session`:return{kind:`wallet_session_opaque`,walletSessionToken:e.walletSessionToken,home:e.home,ownershipGeneration:e.ownershipGeneration};case`operation_step_up`:return{kind:`wallet_session_opaque`,walletSessionToken:e.walletSessionToken,home:e.home,ownershipGeneration:e.ownershipGeneration}}throw Error(`[multichain] unsupported ECDSA signing credential`)}function d(r){let a=r.loadedMaterial.signerSession,o=a.publicFacts,c=a.transport.signingMaterial,l=s({relayerUrl:a.transport.relayerUrl,keyHandle:t(o.keyHandle),ecdsaThresholdKeyId:c.ecdsaThresholdKeyId,clientVerifyingShareB64u:c.clientVerifier33B64u,clientSigningMaterial:r.loadedMaterial.clientSigningMaterial,thresholdEcdsaPublicKeyB64u:o.publicKeyB64u,relayerVerifyingShareB64u:a.transport.relayerVerifyingShareB64u,credential:r.credential,materialActivation:e(a.materialActivation),routerAbEcdsaDerivationPoolFill:{kind:`router_ab_ecdsa_derivation_signing_worker_pool`,scope:a.routerAbEcdsaDerivationNormalSigning.state.scope,ceremonyExpiresAtMs:r.expiresAtMs,materialExpiresAtMs:Date.now()+n},workerCtx:r.workerCtx,authorization:r.authorization});i(`evm-family`,{event:`ecdsa_signing_refill`,operationId:r.operationId,scheduled:l.scheduled,reason:l.reason,depth:l.depth,targetDepth:l.targetDepth})}var f=class{constructor(e){this.algorithm=`secp256k1`,this.beforeSigning=e.beforeSigning,this.shouldAbort=e.shouldAbort,this.workerCtx=e.workerCtx,this.reconcileSession=e.reconcileSession}async signReadySecp256k1Digest(n,s,c,f){let p=l(c),m=performance.now(),h=await a({signerSession:s.signerSession,workerCtx:this.workerCtx});r(p,`material_load`,m);let g=h.signerSession,_=g.publicFacts,v=g.transport,y=u(s.credential),b=!1;try{let r={relayerUrl:v.relayerUrl,scope:g.routerAbEcdsaDerivationNormalSigning.state.scope,operationId:p,operationDigests:{lane_digest_b64u:f.laneDigest,intent_digest_b64u:f.intentDigest,display_digest_b64u:f.displayDigest},materialActivation:e(g.materialActivation),credential:y,keyHandle:t(_.keyHandle),signingDigest32:n.digest32,clientSigningMaterial:h.clientSigningMaterial,expiresAtMs:s.expiresAtMs,workerCtx:this.workerCtx};this.beforeSigning?.(),s.authorization.kind===`reusable_wallet_session`?d({operationId:p,loadedMaterial:h,workerCtx:this.workerCtx,credential:y,expiresAtMs:s.expiresAtMs,authorization:s.authorization}):i(`evm-family`,{event:`ecdsa_signing_refill`,operationId:p,scheduled:!1,reason:`operation_step_up`});let a;if(s.authorization.kind===`reusable_wallet_session`)a=await o({...r,authorization:s.authorization,reconcileSession:this.reconcileSession});else{let e=s.operationStepUpPreparation;if(!e)throw Error(`[multichain] operation step-up preparation is required for signing`);a=await o({...r,authorization:s.authorization,operation:e})}if(!a.ok)throw Error(a.message||a.code||`[multichain] Router A/B ECDSA derivation signing failed`);return b=!0,a.signature65}finally{await h.cleanupAfterSign({singleUseEmailOtpSession:s.singleUseEmailOtpSession}),r(p,`sign_total`,m,b?`succeeded`:`failed`)}}async signReady(e,t,n,r){if(!c(e))throw Error(`[Secp256k1Engine] unsupported sign request`);if(e.digest32.length!==32)throw Error(`[Secp256k1Engine] digest32 must be 32 bytes`);if(this.shouldAbort?.()){let e=Error(`Request cancelled`);throw e.code=`cancelled`,e}return await this.signReadySecp256k1Digest(e,t,n,r)}};export{f as Secp256k1Engine};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./base64-
|
|
1
|
+
import{i as e}from"./base64-CsEj-_bC.js";function t(e=32,t=`secure random bytes`){let n=Math.max(1,Math.floor(Number(e)||0)),r=globalThis.crypto;if(typeof r?.getRandomValues!=`function`)throw Error(`WebCrypto getRandomValues is required for ${t}`);return r.getRandomValues(new Uint8Array(n))}function n(n=32,r=`secure random id`){return e(t(n,r))}function r(e,t=32,r=`${e} id`){return`${String(e||``).trim()||`id`}-${n(t,r)}`}function i(e,n=`bounded random integer`){let r=Math.floor(Number(e)||0);if(r<=0||r>256)throw Error(`Invalid upper bound for ${n}`);let i=Math.floor(256/r)*r;for(;;){let e=t(1,n)[0]??0;if(e<i)return e%r}}function a(e,t=`base36 random id`){let n=Math.max(1,Math.floor(Number(e)||0)),r=``;for(let e=0;e<n;e++)r+=`0123456789abcdefghijklmnopqrstuvwxyz`[i(36,t)]||`0`;return r}export{n,r,a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,u as t}from"./chains-CiYQT1K4.js";import{i as n}from"./base64-CsEj-_bC.js";import{r}from"./secureRandomId-BIekT8bE.js";import{w as i,y as a}from"./primitives-CAcl7ON7.js";function o(e){try{return a(e)}catch{return}}const s=864e5,c={ttlMs:s,remainingUses:3},l=3;function u(e){let t=Math.floor(Number(e.requestedRemainingUses)||0);return!Number.isFinite(t)||t<=0?null:Math.min(t,3)}function d(e){let t=Math.max(0,Math.floor(Number(e.ttlMs)||0)),n=Math.max(0,Math.floor(Number(e.remainingUses)||0));return{ttlMs:Math.min(t,2592e6),remainingUses:Math.min(n,1e6)}}function f(){return r(`tsess`,32,`threshold session IDs`)}async function p(r){return n(await t(e(r)))}async function m(e){return h({nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,authority:e.authority.authority,relayerKeyId:e.relayerKeyId,runtimePolicyScope:e.runtimePolicyScope,routerAbNormalSigning:e.routerAbNormalSigning,participantIds:e.participantIds,thresholdSessionId:e.thresholdSessionId,ttlMs:e.ttlMs,remainingUses:e.remainingUses})}async function h(e){let t=e.thresholdSessionId||f(),{ttlMs:n,remainingUses:r}=d({ttlMs:e.ttlMs??c.ttlMs,remainingUses:e.remainingUses??c.remainingUses}),a=i(e.participantIds),s=o(e.runtimePolicyScope),l={version:`threshold_session_v1`,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,authority:e.authority,relayerKeyId:e.relayerKeyId,thresholdSessionId:t,...s?{runtimePolicyScope:s}:{},routerAbNormalSigning:e.routerAbNormalSigning,...a?{participantIds:a}:{},ttlMs:n,remainingUses:r},u=await p(l);return{policy:l,policyJson:JSON.stringify(l),sessionPolicyDigest32:u}}export{d as a,m as i,s as n,o,l as r,u as s,c as t};
|