@seams/wallet-server 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +8 -0
- package/artifact-manifest.json +464 -0
- package/cloudflare-router-ab/build/deriver-a/index.js +2 -0
- package/cloudflare-router-ab/build/deriver-a/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/deriver-a/package.json +16 -0
- package/cloudflare-router-ab/build/deriver-a/worker/shim.mjs +4 -0
- package/cloudflare-router-ab/build/deriver-b/index.js +2 -0
- package/cloudflare-router-ab/build/deriver-b/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/deriver-b/package.json +16 -0
- package/cloudflare-router-ab/build/deriver-b/worker/shim.mjs +4 -0
- package/cloudflare-router-ab/build/local-tools/darwin-arm64/router_ab_local_init +0 -0
- package/cloudflare-router-ab/build/router/index.js +2 -0
- package/cloudflare-router-ab/build/router/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/router/package.json +16 -0
- package/cloudflare-router-ab/build/router/worker/shim.mjs +4 -0
- package/cloudflare-router-ab/build/signing-worker/index.js +2 -0
- package/cloudflare-router-ab/build/signing-worker/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/signing-worker/package.json +16 -0
- package/cloudflare-router-ab/build/signing-worker/worker/shim.mjs +4 -0
- package/cloudflare-router-ab/build/tenant-root-control-plane/index.js +2 -0
- package/cloudflare-router-ab/build/tenant-root-control-plane/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/tenant-root-control-plane/package.json +16 -0
- package/cloudflare-router-ab/build/tenant-root-control-plane/worker/shim.mjs +4 -0
- package/cloudflare-router-ab/env/tenant-root-control-plane.local.example +6 -0
- package/cloudflare-router-ab/migrations/deriver-a/0001_role_private_storage.sql +14 -0
- package/cloudflare-router-ab/migrations/deriver-a/0002_tenant_root_role_shares.sql +32 -0
- package/cloudflare-router-ab/migrations/deriver-a/0003_tenant_root_command_replays.sql +76 -0
- package/cloudflare-router-ab/migrations/deriver-a/0004_tenant_root_creation_admission.sql +7 -0
- package/cloudflare-router-ab/migrations/deriver-a/0005_tenant_root_refresh_state.sql +15 -0
- package/cloudflare-router-ab/migrations/deriver-a/0006_tenant_root_restore_import_keys.sql +119 -0
- package/cloudflare-router-ab/migrations/deriver-a/0007_tenant_root_restore_refresh_attempts.sql +103 -0
- package/cloudflare-router-ab/migrations/deriver-a/0008_tenant_root_restore_promotion.sql +40 -0
- package/cloudflare-router-ab/migrations/deriver-a/0009_tenant_root_restore_preactivation_cleanup.sql +8 -0
- package/cloudflare-router-ab/migrations/deriver-a/0010_tenant_root_recovery_attempts.sql +26 -0
- package/cloudflare-router-ab/migrations/deriver-a/0011_tenant_root_source_retirement.sql +100 -0
- package/cloudflare-router-ab/migrations/deriver-b/0001_role_private_storage.sql +14 -0
- package/cloudflare-router-ab/migrations/deriver-b/0002_tenant_root_role_shares.sql +32 -0
- package/cloudflare-router-ab/migrations/deriver-b/0003_tenant_root_command_replays.sql +76 -0
- package/cloudflare-router-ab/migrations/deriver-b/0004_tenant_root_creation_admission.sql +7 -0
- package/cloudflare-router-ab/migrations/deriver-b/0005_tenant_root_refresh_state.sql +15 -0
- package/cloudflare-router-ab/migrations/deriver-b/0006_tenant_root_restore_import_keys.sql +119 -0
- package/cloudflare-router-ab/migrations/deriver-b/0007_tenant_root_restore_refresh_attempts.sql +103 -0
- package/cloudflare-router-ab/migrations/deriver-b/0008_tenant_root_restore_promotion.sql +40 -0
- package/cloudflare-router-ab/migrations/deriver-b/0009_tenant_root_restore_preactivation_cleanup.sql +8 -0
- package/cloudflare-router-ab/migrations/deriver-b/0010_tenant_root_recovery_attempts.sql +26 -0
- package/cloudflare-router-ab/migrations/deriver-b/0011_tenant_root_source_retirement.sql +100 -0
- package/cloudflare-router-ab/migrations/signing-worker/0001_private_storage.sql +67 -0
- package/cloudflare-router-ab/migrations/signing-worker/0002_activation_revocation_fences.sql +3 -0
- package/cloudflare-router-ab/scripts/bootstrap-local-tenant-root.mjs +182 -0
- package/cloudflare-router-ab/scripts/initialize-local-wallet.mjs +17 -0
- package/cloudflare-router-ab/scripts/local-key-material.mjs +29 -0
- package/cloudflare-router-ab/scripts/prepare-local-runtime-config.mjs +1110 -0
- package/cloudflare-router-ab/scripts/start-local-role-workers.mjs +333 -0
- package/cloudflare-router-ab/scripts/start-local-wallet-system.mjs +427 -0
- package/cloudflare-router-ab/wrangler.deriver-a.toml +123 -0
- package/cloudflare-router-ab/wrangler.deriver-b.toml +123 -0
- package/cloudflare-router-ab/wrangler.router.toml +126 -0
- package/cloudflare-router-ab/wrangler.signing-worker.toml +86 -0
- package/cloudflare-router-ab/wrangler.tenant-root-control-plane.toml +56 -0
- package/dist/esm/authorization/capabilityPolicy.js +96 -0
- package/dist/esm/authorization/domain.js +434 -0
- package/dist/esm/authorization/factorEvidence.js +405 -0
- package/dist/esm/authorization/service.js +319 -0
- package/dist/esm/authorization/vaultProxyUse.js +295 -0
- package/dist/esm/cloud-host.js +126 -0
- package/dist/esm/core/AuthService.js +2 -0
- package/dist/esm/core/EmailOtpRecords.js +361 -0
- package/dist/esm/core/EmailOtpStores.js +1460 -0
- package/dist/esm/core/IdentityStore.js +617 -0
- package/dist/esm/core/NearPublicKeyStore.js +242 -0
- package/dist/esm/core/RegistrationCeremonyStore.js +2101 -0
- package/dist/esm/core/SessionService.js +255 -0
- package/dist/esm/core/ThresholdService/config.js +111 -0
- package/dist/esm/core/ThresholdService/ecdsaClientRootProof.js +27 -0
- package/dist/esm/core/ThresholdService/evmCryptoWasm.js +167 -0
- package/dist/esm/core/ThresholdService/index.js +4 -0
- package/dist/esm/core/ThresholdService/kv.js +368 -0
- package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.js +360 -0
- package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillLiveSession.js +282 -0
- package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.js +272 -0
- package/dist/esm/core/ThresholdService/routerAb/internalServiceHttp.js +57 -0
- package/dist/esm/core/ThresholdService/routerAbEcdsaSigningWorkerWasm.js +115 -0
- package/dist/esm/core/ThresholdService/routerAbNormalSigningPolicy.js +31 -0
- package/dist/esm/core/ThresholdService/secureRandomId.js +9 -0
- package/dist/esm/core/ThresholdService/stores/CloudflareDurableObjectStore.js +603 -0
- package/dist/esm/core/ThresholdService/stores/EcdsaSigningStore.js +422 -0
- package/dist/esm/core/ThresholdService/stores/KeyStore.js +140 -0
- package/dist/esm/core/ThresholdService/stores/SessionStore.js +437 -0
- package/dist/esm/core/ThresholdService/stores/StoreConfig.js +13 -0
- package/dist/esm/core/ThresholdService/stores/WalletSessionStore.js +722 -0
- package/dist/esm/core/ThresholdService/validation.js +718 -0
- package/dist/esm/core/WalletAuthMethodStore.js +180 -0
- package/dist/esm/core/WalletStore.js +495 -0
- package/dist/esm/core/WebAuthnAuthenticatorStore.js +485 -0
- package/dist/esm/core/WebAuthnCredentialBindingStore.js +594 -0
- package/dist/esm/core/WebAuthnLoginChallengeStore.js +432 -0
- package/dist/esm/core/WebAuthnSyncChallengeStore.js +434 -0
- package/dist/esm/core/authService/AuthService.js +611 -0
- package/dist/esm/core/authService/bytes.js +22 -0
- package/dist/esm/core/authService/configValues.js +15 -0
- package/dist/esm/core/authService/emailOtpChallengeOperations.js +126 -0
- package/dist/esm/core/authService/emailOtpChallengeProof.js +214 -0
- package/dist/esm/core/authService/emailOtpChallengeVerification.js +335 -0
- package/dist/esm/core/authService/emailOtpChallenges.js +260 -0
- package/dist/esm/core/authService/emailOtpConfig.js +231 -0
- package/dist/esm/core/authService/emailOtpDelivery.js +169 -0
- package/dist/esm/core/authService/emailOtpEnrollment.js +141 -0
- package/dist/esm/core/authService/emailOtpGrant.js +74 -0
- package/dist/esm/core/authService/emailOtpRegistrationEnrollment.js +322 -0
- package/dist/esm/core/authService/emailOtpSeal.js +78 -0
- package/dist/esm/core/authService/emailOtpUnlock.js +264 -0
- package/dist/esm/core/authService/githubOAuth.js +140 -0
- package/dist/esm/core/authService/googleEmailOtpErrors.js +6 -0
- package/dist/esm/core/authService/googleEmailOtpOperations.js +141 -0
- package/dist/esm/core/authService/googleEmailOtpRegistration.js +674 -0
- package/dist/esm/core/authService/identity.js +57 -0
- package/dist/esm/core/authService/identityOperations.js +32 -0
- package/dist/esm/core/authService/nearAccountOperations.js +229 -0
- package/dist/esm/core/authService/nearPrivateKeySigning.js +110 -0
- package/dist/esm/core/authService/nearPublicKeyMetadata.js +127 -0
- package/dist/esm/core/authService/nearTransactions.js +139 -0
- package/dist/esm/core/authService/oidcVerification.js +262 -0
- package/dist/esm/core/authService/portableCrypto.js +19 -0
- package/dist/esm/core/authService/rateLimits.js +117 -0
- package/dist/esm/core/authService/record.js +8 -0
- package/dist/esm/core/authService/registrationThresholdHelpers.js +131 -0
- package/dist/esm/core/authService/runtime.js +45 -0
- package/dist/esm/core/authService/signerWasmUrls.js +20 -0
- package/dist/esm/core/authService/storeRegistry.js +113 -0
- package/dist/esm/core/authService/thresholdEcdsaKeyInventory.js +146 -0
- package/dist/esm/core/authService/thresholdRuntimePolicy.js +19 -0
- package/dist/esm/core/authService/thresholdStoreSummary.js +32 -0
- package/dist/esm/core/authService/walletRegistrationPlanning.js +49 -0
- package/dist/esm/core/authService/wasm.js +78 -0
- package/dist/esm/core/authService/webauthn.js +746 -0
- package/dist/esm/core/authService/webauthnAuthority.js +17 -0
- package/dist/esm/core/authService/webauthnOidcHelpers.js +91 -0
- package/dist/esm/core/authService/webauthnWalletBinding.js +157 -0
- package/dist/esm/core/config.js +110 -0
- package/dist/esm/core/d1IdentityStore.js +340 -0
- package/dist/esm/core/d1WalletAuthMethodStore.js +768 -0
- package/dist/esm/core/d1WalletStore.js +724 -0
- package/dist/esm/core/defaultConfigsServer.js +9 -0
- package/dist/esm/core/deviceLinking/index.js +5 -0
- package/dist/esm/core/deviceLinking/linkedDeviceEd25519ExportRoot.js +0 -0
- package/dist/esm/core/deviceLinking/linkedDeviceEmailOtpGrant.js +211 -0
- package/dist/esm/core/deviceLinking/linkedDeviceManagement.js +279 -0
- package/dist/esm/core/deviceLinking/linkedDeviceSession.js +1419 -0
- package/dist/esm/core/deviceLinking/requestProof.js +172 -0
- package/dist/esm/core/errors.js +54 -0
- package/dist/esm/core/hostedAccountIds.js +225 -0
- package/dist/esm/core/keyMaterialBrands.js +58 -0
- package/dist/esm/core/logger.js +39 -0
- package/dist/esm/core/nearKeys.js +20 -0
- package/dist/esm/core/nearRelayerAccountProvisioning.js +713 -0
- package/dist/esm/core/nearSignerWasmRuntime.js +87 -0
- package/dist/esm/core/registrationContracts.js +2 -0
- package/dist/esm/core/routerAbSigning/RouterAbEcdsaPresignRuntime.js +88 -0
- package/dist/esm/core/routerAbSigning/RouterAbNormalSigningRuntime.js +101 -0
- package/dist/esm/core/routerAbSigning/createCloudflareDurableObjectRouterAbSigningRuntimes.js +39 -0
- package/dist/esm/core/routerAbSigning/createRouterAbSigningRuntimes.js +91 -0
- package/dist/esm/core/rpcClients/near/NearClient.js +389 -0
- package/dist/esm/core/sessionValidation.js +0 -0
- package/dist/esm/core/signingLanes/LaneAggregateRevocationApplicationService.js +86 -0
- package/dist/esm/core/signingLanes/LaneEffectJournalStore.js +0 -0
- package/dist/esm/core/signingLanes/LaneEnrollmentActivation.js +324 -0
- package/dist/esm/core/signingLanes/LaneEnrollmentRevocation.js +173 -0
- package/dist/esm/core/signingLanes/LaneLifecycleApplicationService.js +200 -0
- package/dist/esm/core/signingLanes/LaneLifecycleStore.js +24 -0
- package/dist/esm/core/signingLanes/SigningLaneStore.js +0 -0
- package/dist/esm/core/signingLanes/WalletExecutionLaneProjection.js +296 -0
- package/dist/esm/core/signingLanes/WalletKeyStore.js +0 -0
- package/dist/esm/core/signingLanes/ecdsaServerRetirement.js +78 -0
- package/dist/esm/core/signingLanes/ed25519ServerRetirement.js +71 -0
- package/dist/esm/core/signingLanes/index.js +8 -0
- package/dist/esm/core/signingLanes/signingWorkerLaneMaterialIdentity.js +0 -0
- package/dist/esm/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.js +305 -0
- package/dist/esm/core/threeRouteRegistrationContracts.js +5 -0
- package/dist/esm/core/thresholdEcdsaChainTarget.js +49 -0
- package/dist/esm/core/types.js +8 -0
- package/dist/esm/core/utils.js +14 -0
- package/dist/esm/delegateAction/index.js +136 -0
- package/dist/esm/hosted-wallet-gateway-worker.js +18 -0
- package/dist/esm/hosted-wallet-gateway.js +701 -0
- package/dist/esm/index.js +53 -0
- package/dist/esm/local-hosted-wallet-gateway-worker.js +23 -0
- package/dist/esm/node_modules/@near-js/types/lib/esm/provider/response.js +17 -0
- package/dist/esm/router/auth/authRequestValidation.js +264 -0
- package/dist/esm/router/auth/commonRouterUtils.js +305 -0
- package/dist/esm/router/auth/routerApiCredentialAuth.js +91 -0
- package/dist/esm/router/auth/routerApiKeyAuth.js +63 -0
- package/dist/esm/router/auth/walletSessionFailure.js +49 -0
- package/dist/esm/router/auth/webAuthnCredentialCodecs.js +107 -0
- package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthBoundary.js +84 -0
- package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthConfig.js +321 -0
- package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthService.js +1581 -0
- package/dist/esm/router/cloudflare/d1/authorization/d1AuthorizationStore.js +1820 -0
- package/dist/esm/router/cloudflare/d1/authorization/d1VaultProxyStore.js +122 -0
- package/dist/esm/router/cloudflare/d1/authorization/walletSessionAuthorityProjection.js +119 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.js +1831 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEd25519ExportRootStore.js +118 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.js +81 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.js +539 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceManagementService.js +92 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.js +560 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.js +136 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRouteService.js +95 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.js +91 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionService.js +15 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.js +732 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSourceContributionPreparationPlanner.js +195 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetAuthenticatorStore.js +100 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.js +867 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.js +169 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkBuilder.js +255 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkSourceReader.js +128 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/index.js +15 -0
- package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.js +311 -0
- package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.js +21 -0
- package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoWalletSigner.js +65 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.js +216 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.js +326 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.js +346 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.js +495 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpDeliveryRuntime.js +157 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.js +248 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.js +66 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.js +76 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.js +539 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.js +404 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.js +200 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.js +84 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.js +217 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.js +485 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.js +509 -0
- package/dist/esm/router/cloudflare/d1/identity/d1IdentityRecords.js +51 -0
- package/dist/esm/router/cloudflare/d1/identity/d1IdentityService.js +135 -0
- package/dist/esm/router/cloudflare/d1/near/d1NearPublicKeyStore.js +62 -0
- package/dist/esm/router/cloudflare/d1/oidc/d1OidcBoundary.js +272 -0
- package/dist/esm/router/cloudflare/d1/oidc/d1OidcVerificationService.js +132 -0
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyEnvelopeStore.js +628 -0
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.js +871 -0
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.js +823 -0
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpAttemptStore.js +38 -0
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpRecords.js +304 -0
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpService.js +793 -0
- package/dist/esm/router/cloudflare/d1/registration/d1EvmFamilyEcdsaRegistrationBranch.js +120 -0
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.js +317 -0
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.js +2084 -0
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.js +309 -0
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationIntentService.js +120 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.js +263 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationService.js +3887 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetup.js +182 -0
- package/dist/esm/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.js +399 -0
- package/dist/esm/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.js +486 -0
- package/dist/esm/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.js +146 -0
- package/dist/esm/router/cloudflare/d1/signingLanes/d1EcdsaLanePrivateBindingResolver.js +10 -0
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneAggregateRevocationApplicationService.js +22 -0
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.js +167 -0
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEnrollmentGateway.js +38 -0
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleApplicationService.js +20 -0
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.js +1459 -0
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLockStore.js +114 -0
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneProtocolCommitter.js +16 -0
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneRecords.js +170 -0
- package/dist/esm/router/cloudflare/d1/signingLanes/index.js +10 -0
- package/dist/esm/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.js +412 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerService.js +1396 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodBoundary.js +285 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodService.js +2018 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorityStore.js +792 -0
- package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.js +635 -0
- package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnRecords.js +538 -0
- package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnStore.js +264 -0
- package/dist/esm/router/cloudflare/durableObjects/thresholdStore.js +514 -0
- package/dist/esm/router/cloudflare/durableObjects/versionedJsonRecordStore.js +192 -0
- package/dist/esm/router/cloudflare/runtime/cloudflare.types.js +0 -0
- package/dist/esm/router/cloudflare/runtime/cloudflareSignerWasm.js +8 -0
- package/dist/esm/router/cloudflare/runtime/createCloudflareRouter.js +19 -0
- package/dist/esm/router/cloudflare/runtime/createSelfHostedCloudflareSigningWorker.js +94 -0
- package/dist/esm/router/cloudflare/runtime/ed25519SessionAdapter.js +106 -0
- package/dist/esm/router/cloudflare/runtime/environment.js +25 -0
- package/dist/esm/router/cloudflare/runtime/routerAbPrewarm.js +34 -0
- package/dist/esm/router/cloudflare/runtime/routerAbServiceBindings.js +33 -0
- package/dist/esm/router/cloudflare/runtime/sessionAdapterRuntime.js +104 -0
- package/dist/esm/router/cloudflare/runtime/staticWalletConsoleBinding.js +168 -0
- package/dist/esm/router/cloudflare/runtime/tenantRootCreationGrant.js +147 -0
- package/dist/esm/router/cloudflare/runtime/walletConsoleOps.js +143 -0
- package/dist/esm/router/cloudflare/runtime/walletConsoleOpsClient.js +227 -0
- package/dist/esm/router/cloudflare/runtime/walletConsoleTenantRootLineage.js +30 -0
- package/dist/esm/router/cloudflare/runtime/walletControlOps.js +107 -0
- package/dist/esm/router/cloudflare/runtime/walletGateway.js +149 -0
- package/dist/esm/router/cloudflare/runtime/walletRuntimeOps.js +322 -0
- package/dist/esm/router/cloudflare/runtime/walletRuntimeOpsHandler.js +48 -0
- package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.js +597 -0
- package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.js +272 -0
- package/dist/esm/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.js +477 -0
- package/dist/esm/router/cloudflare/signingLanes/index.js +4 -0
- package/dist/esm/router/cloudflare/signingLanes/linkedDeviceEd25519CeremonyBinding.js +32 -0
- package/dist/esm/router/cloudflare-adaptor.js +45 -0
- package/dist/esm/router/cloudflare.js +42794 -0
- package/dist/esm/router/domains/ecdsa/routerAbEcdsaStrictRegistration.js +738 -0
- package/dist/esm/router/domains/ecdsa/thresholdEcdsaRequestValidation.js +134 -0
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.js +368 -0
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.js +624 -0
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.js +143 -0
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPersistence.js +270 -0
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRunner.js +31 -0
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.js +162 -0
- package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.js +1366 -0
- package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.js +465 -0
- package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.js +1609 -0
- package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.js +540 -0
- package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryWalletSessionAuthorization.js +394 -0
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.js +572 -0
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.js +555 -0
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.js +268 -0
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.js +329 -0
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationRequestScopedCloudflare.js +423 -0
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.js +432 -0
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationTwoPhaseRunner.js +58 -0
- package/dist/esm/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.js +0 -0
- package/dist/esm/router/domains/ed25519Yao/session/routerAbEd25519YaoWalletSession.js +0 -0
- package/dist/esm/router/domains/ed25519Yao/session/thresholdEd25519RequestValidation.js +275 -0
- package/dist/esm/router/domains/emailOtp/emailOtpExportPolicy.js +70 -0
- package/dist/esm/router/domains/emailOtp/emailOtpRequestValidation.js +34 -0
- package/dist/esm/router/domains/emailOtp/emailOtpRouteHandlers.js +218 -0
- package/dist/esm/router/domains/emailOtp/emailOtpSessionRouteHelpers.js +210 -0
- package/dist/esm/router/domains/passkeyCustody/envelopeRevocationAdmission.js +26 -0
- package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.js +107 -0
- package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrievalRoute.js +45 -0
- package/dist/esm/router/domains/passkeyCustody/registrationCustodyOutcome.js +47 -0
- package/dist/esm/router/domains/passkeyCustody/verifiedCustodyFactor.js +46 -0
- package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationAdmission.js +32 -0
- package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationCommit.js +170 -0
- package/dist/esm/router/domains/passkeyCustody/walletRecoveryAttempt.js +64 -0
- package/dist/esm/router/domains/passkeyCustody/walletRecoveryFinalization.js +652 -0
- package/dist/esm/router/domains/passkeyCustody/walletRecoveryKeyManifest.js +396 -0
- package/dist/esm/router/domains/passkeyCustody/walletRecoveryRotation.js +87 -0
- package/dist/esm/router/domains/signingOperations/ed25519AuthorizedOperationReceipt.js +89 -0
- package/dist/esm/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.js +106 -0
- package/dist/esm/router/domains/signingOperations/routerAbPrivateSigningWorker.js +2669 -0
- package/dist/esm/router/domains/signingOperations/walletExecutionAdmission.js +228 -0
- package/dist/esm/router/domains/syncAccount/syncAccountRequestValidation.js +78 -0
- package/dist/esm/router/domains/tenantRoot/tenantRootCustodyLineage.js +0 -0
- package/dist/esm/router/domains/tenantRoot/tenantRootEcdsaWalletSessionComposition.js +55 -0
- package/dist/esm/router/domains/tenantRoot/tenantRootEd25519WalletSessionComposition.js +56 -0
- package/dist/esm/router/domains/tenantRoot/tenantRootIdentityResolution.js +111 -0
- package/dist/esm/router/domains/walletRegistration/walletRegistrationInputs.js +0 -0
- package/dist/esm/router/domains/walletRegistration/walletRegistrationRoutes.js +2199 -0
- package/dist/esm/router/domains/walletRegistration/walletRegistrationSetupPayload.js +155 -0
- package/dist/esm/router/domains/walletUnlock/walletUnlockRequestedCapabilitiesValidation.js +84 -0
- package/dist/esm/router/domains/walletUnlock/walletUnlockRouteHandlers.js +1142 -0
- package/dist/esm/router/express-adaptor.js +84 -0
- package/dist/esm/router/express.js +26616 -0
- package/dist/esm/router/framework/apiCredentialPorts.js +11 -0
- package/dist/esm/router/framework/applyRouteMetering.js +26 -0
- package/dist/esm/router/framework/authServicePort.js +30 -0
- package/dist/esm/router/framework/enforceRoutePolicy.js +92 -0
- package/dist/esm/router/framework/http.js +87 -0
- package/dist/esm/router/framework/logger.js +7 -0
- package/dist/esm/router/framework/modules.js +34 -0
- package/dist/esm/router/framework/ror/index.js +5 -0
- package/dist/esm/router/framework/ror/normalize.js +57 -0
- package/dist/esm/router/framework/ror/options.js +33 -0
- package/dist/esm/router/framework/ror/provider.js +33 -0
- package/dist/esm/router/framework/ror/staticProvider.js +24 -0
- package/dist/esm/router/framework/routeAuthPolicy.js +16 -0
- package/dist/esm/router/framework/routeDefinitions.js +446 -0
- package/dist/esm/router/framework/routeExecutionContext.js +24 -0
- package/dist/esm/router/framework/routeExtensions.js +50 -0
- package/dist/esm/router/framework/routeMeteringPolicy.js +0 -0
- package/dist/esm/router/framework/routeRequestValidation.js +32 -0
- package/dist/esm/router/framework/routeResponses.js +33 -0
- package/dist/esm/router/framework/routerApi.js +42 -0
- package/dist/esm/router/framework/routerApiRouteSurface.js +54 -0
- package/dist/esm/router/framework/routerApiWebhooks.js +60 -0
- package/dist/esm/router/framework/runtimeSnapshotConsumer.js +145 -0
- package/dist/esm/router/framework/versionedJsonRecordStore.js +0 -0
- package/dist/esm/router/ror-adaptor.js +5 -0
- package/dist/esm/router/ror.js +178 -0
- package/dist/esm/router/transport/fetch/createFetchRouter.js +309 -0
- package/dist/esm/router/transport/fetch/fetchRouter.types.js +0 -0
- package/dist/esm/router/transport/fetch/routes/auth.js +219 -0
- package/dist/esm/router/transport/fetch/routes/deviceLinking.js +1196 -0
- package/dist/esm/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.js +264 -0
- package/dist/esm/router/transport/fetch/routes/deviceManagement.js +289 -0
- package/dist/esm/router/transport/fetch/routes/health.js +42 -0
- package/dist/esm/router/transport/fetch/routes/nearPublicKeys.js +39 -0
- package/dist/esm/router/transport/fetch/routes/normalSigningRouterProxy.js +118 -0
- package/dist/esm/router/transport/fetch/routes/passkeyCustody.js +1618 -0
- package/dist/esm/router/transport/fetch/routes/sessions.js +1033 -0
- package/dist/esm/router/transport/fetch/routes/syncAccount.js +187 -0
- package/dist/esm/router/transport/fetch/routes/syncAccountBootstrap.js +214 -0
- package/dist/esm/router/transport/fetch/routes/thresholdEcdsa.js +1729 -0
- package/dist/esm/router/transport/fetch/routes/thresholdEd25519.js +1321 -0
- package/dist/esm/router/transport/fetch/routes/walletExecutionLanePreflight.js +228 -0
- package/dist/esm/router/transport/fetch/routes/walletRegistration.js +73 -0
- package/dist/esm/router/transport/fetch/routes/webauthnAuthenticators.js +43 -0
- package/dist/esm/router/transport/fetch/routes/wellKnown.js +48 -0
- package/dist/esm/shared-ts/src/authorization/capabilityKinds.js +224 -0
- package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +134 -0
- package/dist/esm/shared-ts/src/authorization/index.js +6 -0
- package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +58 -0
- package/dist/esm/shared-ts/src/authorization/walletAuthority.js +802 -0
- package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +18 -0
- package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +5 -0
- package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +332 -0
- package/dist/esm/shared-ts/src/device-linking/contracts.js +8 -0
- package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +132 -0
- package/dist/esm/shared-ts/src/device-linking/digests.js +273 -0
- package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +158 -0
- package/dist/esm/shared-ts/src/device-linking/index.js +9 -0
- package/dist/esm/shared-ts/src/device-linking/parsers.js +1412 -0
- package/dist/esm/shared-ts/src/device-linking/requestProof.js +114 -0
- package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +563 -0
- package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +207 -0
- package/dist/esm/shared-ts/src/near/actions.js +75 -0
- package/dist/esm/shared-ts/src/passkey-custody/ceremonyCommitPayload.js +69 -0
- package/dist/esm/shared-ts/src/passkey-custody/credentialActivity.js +81 -0
- package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +272 -0
- package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +175 -0
- package/dist/esm/shared-ts/src/passkey-custody/index.js +5 -0
- package/dist/esm/shared-ts/src/passkey-custody/primitives.js +92 -0
- package/dist/esm/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.js +53 -0
- package/dist/esm/shared-ts/src/signing-lanes/execution.js +14 -0
- package/dist/esm/shared-ts/src/signing-lanes/index.js +11 -0
- package/dist/esm/shared-ts/src/signing-lanes/linkedEcdsaScope.js +1 -0
- package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +91 -0
- package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +124 -0
- package/dist/esm/shared-ts/src/signing-lanes/participants.js +262 -0
- package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +143 -0
- package/dist/esm/shared-ts/src/signing-lanes/rotation.js +8 -0
- package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +397 -0
- package/dist/esm/shared-ts/src/signing-lanes/rotationLifecycle.js +313 -0
- package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +1620 -0
- package/dist/esm/shared-ts/src/tenant-root/index.js +2 -0
- package/dist/esm/shared-ts/src/tenant-root/tenantRootIdentity.js +198 -0
- package/dist/esm/shared-ts/src/tenant-root/tenantRootOperationRecord.js +440 -0
- package/dist/esm/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.js +85 -0
- package/dist/esm/shared-ts/src/threshold/participants.js +26 -0
- package/dist/esm/shared-ts/src/threshold/sessionPolicy.js +9 -0
- package/dist/esm/shared-ts/src/threshold/signingRootScope.js +40 -0
- package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +104 -0
- package/dist/esm/shared-ts/src/utils/addWalletAuthMethod.js +36 -0
- package/dist/esm/shared-ts/src/utils/base58.js +28 -0
- package/dist/esm/shared-ts/src/utils/base64.js +70 -0
- package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +27 -0
- package/dist/esm/shared-ts/src/utils/digests.js +33 -0
- package/dist/esm/shared-ts/src/utils/domainIds.js +309 -0
- package/dist/esm/shared-ts/src/utils/ecdsaCapabilityActivation.js +34 -0
- package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +46 -0
- package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +38 -0
- package/dist/esm/shared-ts/src/utils/emailOtpRecoveryKey.js +10 -0
- package/dist/esm/shared-ts/src/utils/encoders.js +2 -0
- package/dist/esm/shared-ts/src/utils/errors.js +88 -0
- package/dist/esm/shared-ts/src/utils/evmRpcResults.js +97 -0
- package/dist/esm/shared-ts/src/utils/jsonRpc.js +64 -0
- package/dist/esm/shared-ts/src/utils/keccak.js +150 -0
- package/dist/esm/shared-ts/src/utils/near.js +99 -0
- package/dist/esm/shared-ts/src/utils/nearRpcResults.js +205 -0
- package/dist/esm/shared-ts/src/utils/normalize.js +87 -0
- package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +201 -0
- package/dist/esm/shared-ts/src/utils/registrationIntent.js +1268 -0
- package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +1655 -0
- package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +984 -0
- package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +118 -0
- package/dist/esm/shared-ts/src/utils/routerAbPublicKeyset.js +138 -0
- package/dist/esm/shared-ts/src/utils/routerAbTraceContext.js +36 -0
- package/dist/esm/shared-ts/src/utils/secureRandomId.js +35 -0
- package/dist/esm/shared-ts/src/utils/signingSessionSeal.js +118 -0
- package/dist/esm/shared-ts/src/utils/thresholdEcdsaKeyHandle.js +28 -0
- package/dist/esm/shared-ts/src/utils/validation.js +23 -0
- package/dist/esm/shared-ts/src/utils/walletAddSignerActivation.js +32 -0
- package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +207 -0
- package/dist/esm/shared-ts/src/utils/walletSessionFailure.js +15 -0
- package/dist/esm/shared-ts/src/utils/webauthnDeviceInfo.js +207 -0
- package/dist/esm/shared-ts/src/wallet-recovery/backupAcknowledgement.js +66 -0
- package/dist/esm/shared-ts/src/wallet-recovery/index.js +10 -0
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeIssuance.js +1 -0
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +34 -0
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +80 -0
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodes.js +4 -0
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +53 -0
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +108 -0
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +157 -0
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +233 -0
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryRotation.js +3 -0
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryTarget.js +29 -0
- package/dist/esm/storage/d1Sql.js +85 -0
- package/dist/esm/storage/tenantRoute.js +89 -0
- package/dist/esm/tenant-root.js +5 -0
- package/dist/esm/threshold/session/signingSessionSeal/crypto/cipher.js +204 -0
- package/dist/esm/threshold/session/signingSessionSeal/crypto/shamir3PassWasm.js +87 -0
- package/dist/esm/threshold/session/signingSessionSeal/guards/backends.js +192 -0
- package/dist/esm/threshold/session/signingSessionSeal/guards/index.js +121 -0
- package/dist/esm/threshold/session/signingSessionSeal/idempotency.js +38 -0
- package/dist/esm/threshold/session/signingSessionSeal/idempotencyBackends.js +131 -0
- package/dist/esm/threshold/session/signingSessionSeal/idempotencyRecords.js +55 -0
- package/dist/esm/threshold/session/signingSessionSeal/index.js +13 -0
- package/dist/esm/threshold/session/signingSessionSeal/observability/audit.js +38 -0
- package/dist/esm/threshold/session/signingSessionSeal/options.js +54 -0
- package/dist/esm/threshold/session/signingSessionSeal/routesOptions.js +45 -0
- package/dist/esm/threshold/session/signingSessionSeal/service.js +316 -0
- package/dist/esm/threshold/session/signingSessionSeal/signingSessionSeal.types.js +0 -0
- package/dist/esm/threshold/session/signingSessionSeal/transport/express.js +151 -0
- package/dist/esm/threshold/session/signingSessionSeal/transport/fetch.js +106 -0
- package/dist/esm/threshold/session/signingSessionSeal/transport/shared.js +159 -0
- package/dist/esm/threshold/statusCodes.js +39 -0
- package/dist/esm/wasm/evm_crypto/pkg/evm_crypto.js +601 -0
- package/dist/esm/wasm/evm_crypto/pkg/evm_crypto_bg.wasm +0 -0
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +1078 -0
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
- package/dist/esm/wasm/router_ab_ecdsa_signing_worker/pkg/router_ab_ecdsa_signing_worker.js +503 -0
- package/dist/esm/wasm/router_ab_ecdsa_signing_worker/pkg/router_ab_ecdsa_signing_worker_bg.wasm +0 -0
- package/dist/esm/wasm/shamir3pass_runtime/pkg/shamir3pass_runtime.js +393 -0
- package/dist/esm/wasm/shamir3pass_runtime/pkg/shamir3pass_runtime_bg.wasm +0 -0
- package/dist/esm/wasm/signer.js +2 -0
- package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +147 -0
- package/dist/types/shared-ts/src/authorization/capabilityKinds.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +44 -0
- package/dist/types/shared-ts/src/authorization/index.d.ts +7 -0
- package/dist/types/shared-ts/src/authorization/operationFingerprint.d.ts +39 -0
- package/dist/types/shared-ts/src/authorization/operationFingerprint.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/authorization/walletAuthority.d.ts +168 -0
- package/dist/types/shared-ts/src/authorization/walletAuthority.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/authorization/walletCustodyOperation.d.ts +10 -0
- package/dist/types/shared-ts/src/authorization/walletSessionIssuance.d.ts +28 -0
- package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +3 -0
- package/dist/types/shared-ts/src/device-linking/activeWalletSession.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +71 -0
- package/dist/types/shared-ts/src/device-linking/contracts.d.ts +843 -0
- package/dist/types/shared-ts/src/device-linking/contracts.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/device-linking/delegatedActivationPlan.d.ts +37 -0
- package/dist/types/shared-ts/src/device-linking/digests.d.ts +23 -0
- package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +93 -0
- package/dist/types/shared-ts/src/device-linking/index.d.ts +11 -0
- package/dist/types/shared-ts/src/device-linking/parsers.d.ts +124 -0
- package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +26 -0
- package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +182 -0
- package/dist/types/shared-ts/src/device-linking/walletSessionCredentialDelivery.d.ts +84 -0
- package/dist/types/shared-ts/src/index.d.ts +10 -0
- package/dist/types/shared-ts/src/near/actions.d.ts +141 -0
- package/dist/types/shared-ts/src/near/delegate.d.ts +55 -0
- package/dist/types/shared-ts/src/near/index.d.ts +3 -0
- package/dist/types/shared-ts/src/passkey-custody/ceremonyCommitPayload.d.ts +211 -0
- package/dist/types/shared-ts/src/passkey-custody/credentialActivity.d.ts +49 -0
- package/dist/types/shared-ts/src/passkey-custody/credentialObservations.d.ts +74 -0
- package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +191 -0
- package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +140 -0
- package/dist/types/shared-ts/src/passkey-custody/envelopeIndex.d.ts +29 -0
- package/dist/types/shared-ts/src/passkey-custody/index.d.ts +9 -0
- package/dist/types/shared-ts/src/passkey-custody/kekContext.d.ts +34 -0
- package/dist/types/shared-ts/src/passkey-custody/passkeyCustody.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/passkey-custody/primitives.d.ts +34 -0
- package/dist/types/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.d.ts +27 -0
- package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +91 -0
- package/dist/types/shared-ts/src/signing-lanes/execution.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +18 -0
- package/dist/types/shared-ts/src/signing-lanes/index.d.ts +14 -0
- package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.d.ts +62 -0
- package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +30 -0
- package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +48 -0
- package/dist/types/shared-ts/src/signing-lanes/participantDigest.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +89 -0
- package/dist/types/shared-ts/src/signing-lanes/recordParsers.d.ts +128 -0
- package/dist/types/shared-ts/src/signing-lanes/records.d.ts +160 -0
- package/dist/types/shared-ts/src/signing-lanes/records.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +894 -0
- package/dist/types/shared-ts/src/signing-lanes/rotation.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +32 -0
- package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +99 -0
- package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +67 -0
- package/dist/types/shared-ts/src/signing-lanes/validation.d.ts +11 -0
- package/dist/types/shared-ts/src/tenant-root/index.d.ts +3 -0
- package/dist/types/shared-ts/src/tenant-root/tenantRootIdentity.d.ts +72 -0
- package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +192 -0
- package/dist/types/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.d.ts +77 -0
- package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +130 -0
- package/dist/types/shared-ts/src/threshold/index.d.ts +7 -0
- package/dist/types/shared-ts/src/threshold/participants.d.ts +38 -0
- package/dist/types/shared-ts/src/threshold/secp256k1.d.ts +39 -0
- package/dist/types/shared-ts/src/threshold/sessionPolicy.d.ts +5 -0
- package/dist/types/shared-ts/src/threshold/signingRootScope.d.ts +24 -0
- package/dist/types/shared-ts/src/utils/addAuthMethodRegistration.d.ts +63 -0
- package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +295 -0
- package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +11 -0
- package/dist/types/shared-ts/src/utils/authenticatorOptions.d.ts +25 -0
- package/dist/types/shared-ts/src/utils/base58.d.ts +17 -0
- package/dist/types/shared-ts/src/utils/base64.d.ts +53 -0
- package/dist/types/shared-ts/src/utils/bigint.d.ts +3 -0
- package/dist/types/shared-ts/src/utils/canonicalPrimitives.d.ts +12 -0
- package/dist/types/shared-ts/src/utils/digests.d.ts +6 -0
- package/dist/types/shared-ts/src/utils/domainIds.d.ts +140 -0
- package/dist/types/shared-ts/src/utils/domainIds.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/ecdsaCapabilityActivation.d.ts +29 -0
- package/dist/types/shared-ts/src/utils/ecdsaKeyFactsInventory.d.ts +24 -0
- package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +30 -0
- package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +31 -0
- package/dist/types/shared-ts/src/utils/encoders.d.ts +3 -0
- package/dist/types/shared-ts/src/utils/errors.d.ts +44 -0
- package/dist/types/shared-ts/src/utils/evmRpcResults.d.ts +31 -0
- package/dist/types/shared-ts/src/utils/generated/routerAbEd25519YaoCore.d.ts +128 -0
- package/dist/types/shared-ts/src/utils/index.d.ts +34 -0
- package/dist/types/shared-ts/src/utils/jsonRpc.d.ts +30 -0
- package/dist/types/shared-ts/src/utils/keccak.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/near.d.ts +81 -0
- package/dist/types/shared-ts/src/utils/nearRpcResults.d.ts +101 -0
- package/dist/types/shared-ts/src/utils/normalize.d.ts +57 -0
- package/dist/types/shared-ts/src/utils/paillier.d.ts +37 -0
- package/dist/types/shared-ts/src/utils/recoveryDomain.d.ts +12 -0
- package/dist/types/shared-ts/src/utils/registrationEstablishedSession.d.ts +85 -0
- package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +621 -0
- package/dist/types/shared-ts/src/utils/registrationIntent.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +715 -0
- package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivationRefresh.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +339 -0
- package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/routerAbNormalSigningIdentity.d.ts +71 -0
- package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +51 -0
- package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +16 -0
- package/dist/types/shared-ts/src/utils/secureRandomId.d.ts +6 -0
- package/dist/types/shared-ts/src/utils/signerDomain.d.ts +75 -0
- package/dist/types/shared-ts/src/utils/signerDomain.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/signerSlot.d.ts +11 -0
- package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +153 -0
- package/dist/types/shared-ts/src/utils/signingSessionSeal.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/theme.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/thresholdEcdsaKeyHandle.d.ts +11 -0
- package/dist/types/shared-ts/src/utils/validation.d.ts +35 -0
- package/dist/types/shared-ts/src/utils/walletAddSignerActivation.d.ts +23 -0
- package/dist/types/shared-ts/src/utils/walletAuthAuthority.d.ts +150 -0
- package/dist/types/shared-ts/src/utils/walletAuthAuthority.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +106 -0
- package/dist/types/shared-ts/src/utils/walletCapabilityBindings.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/walletSessionFailure.d.ts +13 -0
- package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +48 -0
- package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +56 -0
- package/dist/types/shared-ts/src/wallet-recovery/index.d.ts +10 -0
- package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeAttempt.d.ts +59 -0
- package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeIssuance.d.ts +37 -0
- package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeLocator.d.ts +22 -0
- package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +79 -0
- package/dist/types/shared-ts/src/wallet-recovery/recoveryCodes.d.ts +11 -0
- package/dist/types/shared-ts/src/wallet-recovery/recoveryEnvelopes.d.ts +42 -0
- package/dist/types/shared-ts/src/wallet-recovery/recoveryKekContext.d.ts +37 -0
- package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +58 -0
- package/dist/types/shared-ts/src/wallet-recovery/walletRecovery.typecheck.d.ts +2 -0
- package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.d.ts +110 -0
- package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.d.ts +29 -0
- package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.d.ts +115 -0
- package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryRotation.d.ts +18 -0
- package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryTarget.d.ts +12 -0
- package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryTarget.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/authorization/capabilityPolicy.d.ts +45 -0
- package/dist/types/wallet-server/src/authorization/capabilityPolicy.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/authorization/domain.d.ts +454 -0
- package/dist/types/wallet-server/src/authorization/domain.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/authorization/factorEvidence.d.ts +165 -0
- package/dist/types/wallet-server/src/authorization/factorEvidence.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/authorization/service.d.ts +227 -0
- package/dist/types/wallet-server/src/authorization/vaultProxyUse.d.ts +75 -0
- package/dist/types/wallet-server/src/cloud-host.d.ts +94 -0
- package/dist/types/wallet-server/src/core/AuthService.d.ts +3 -0
- package/dist/types/wallet-server/src/core/EmailOtpRecords.d.ts +33 -0
- package/dist/types/wallet-server/src/core/EmailOtpStores.d.ts +336 -0
- package/dist/types/wallet-server/src/core/IdentityStore.d.ts +57 -0
- package/dist/types/wallet-server/src/core/NearPublicKeyStore.d.ts +58 -0
- package/dist/types/wallet-server/src/core/RegistrationCeremonyStore.d.ts +551 -0
- package/dist/types/wallet-server/src/core/SessionService.d.ts +70 -0
- package/dist/types/wallet-server/src/core/ThresholdService/config.d.ts +23 -0
- package/dist/types/wallet-server/src/core/ThresholdService/ecdsaClientRootProof.d.ts +12 -0
- package/dist/types/wallet-server/src/core/ThresholdService/evmCryptoWasm.d.ts +32 -0
- package/dist/types/wallet-server/src/core/ThresholdService/index.d.ts +4 -0
- package/dist/types/wallet-server/src/core/ThresholdService/kv.d.ts +52 -0
- package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.d.ts +45 -0
- package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillLiveSession.d.ts +93 -0
- package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.d.ts +138 -0
- package/dist/types/wallet-server/src/core/ThresholdService/routerAb/internalServiceHttp.d.ts +30 -0
- package/dist/types/wallet-server/src/core/ThresholdService/routerAbEcdsaSigningWorkerWasm.d.ts +17 -0
- package/dist/types/wallet-server/src/core/ThresholdService/routerAbNormalSigningPolicy.d.ts +21 -0
- package/dist/types/wallet-server/src/core/ThresholdService/secureRandomId.d.ts +2 -0
- package/dist/types/wallet-server/src/core/ThresholdService/stores/CloudflareDurableObjectStore.d.ts +128 -0
- package/dist/types/wallet-server/src/core/ThresholdService/stores/EcdsaSigningStore.d.ts +76 -0
- package/dist/types/wallet-server/src/core/ThresholdService/stores/KeyStore.d.ts +39 -0
- package/dist/types/wallet-server/src/core/ThresholdService/stores/SessionStore.d.ts +102 -0
- package/dist/types/wallet-server/src/core/ThresholdService/stores/StoreConfig.d.ts +3 -0
- package/dist/types/wallet-server/src/core/ThresholdService/stores/ThresholdStoreConfig.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/core/ThresholdService/stores/WalletSessionStore.d.ts +98 -0
- package/dist/types/wallet-server/src/core/ThresholdService/thresholdEd25519AuthorityScope.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/core/ThresholdService/validation.d.ts +193 -0
- package/dist/types/wallet-server/src/core/WalletAuthMethodStore.d.ts +12 -0
- package/dist/types/wallet-server/src/core/WalletStore.d.ts +143 -0
- package/dist/types/wallet-server/src/core/WalletStore.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/core/WebAuthnAuthenticatorStore.d.ts +62 -0
- package/dist/types/wallet-server/src/core/WebAuthnCredentialBindingStore.d.ts +116 -0
- package/dist/types/wallet-server/src/core/WebAuthnCredentialBindingStore.typecheck.d.ts +13 -0
- package/dist/types/wallet-server/src/core/WebAuthnLoginChallengeStore.d.ts +50 -0
- package/dist/types/wallet-server/src/core/WebAuthnSyncChallengeStore.d.ts +50 -0
- package/dist/types/wallet-server/src/core/authService/AuthService.d.ts +493 -0
- package/dist/types/wallet-server/src/core/authService/bytes.d.ts +4 -0
- package/dist/types/wallet-server/src/core/authService/configValues.d.ts +7 -0
- package/dist/types/wallet-server/src/core/authService/emailOtpChallengeOperations.d.ts +108 -0
- package/dist/types/wallet-server/src/core/authService/emailOtpChallengeProof.d.ts +177 -0
- package/dist/types/wallet-server/src/core/authService/emailOtpChallengeVerification.d.ts +46 -0
- package/dist/types/wallet-server/src/core/authService/emailOtpChallenges.d.ts +110 -0
- package/dist/types/wallet-server/src/core/authService/emailOtpConfig.d.ts +34 -0
- package/dist/types/wallet-server/src/core/authService/emailOtpDelivery.d.ts +65 -0
- package/dist/types/wallet-server/src/core/authService/emailOtpEnrollment.d.ts +79 -0
- package/dist/types/wallet-server/src/core/authService/emailOtpGrant.d.ts +42 -0
- package/dist/types/wallet-server/src/core/authService/emailOtpRegistrationEnrollment.d.ts +116 -0
- package/dist/types/wallet-server/src/core/authService/emailOtpSeal.d.ts +35 -0
- package/dist/types/wallet-server/src/core/authService/emailOtpUnlock.d.ts +70 -0
- package/dist/types/wallet-server/src/core/authService/githubOAuth.d.ts +35 -0
- package/dist/types/wallet-server/src/core/authService/googleEmailOtpErrors.d.ts +2 -0
- package/dist/types/wallet-server/src/core/authService/googleEmailOtpOperations.d.ts +126 -0
- package/dist/types/wallet-server/src/core/authService/googleEmailOtpRegistration.d.ts +172 -0
- package/dist/types/wallet-server/src/core/authService/identity.d.ts +25 -0
- package/dist/types/wallet-server/src/core/authService/identityOperations.d.ts +19 -0
- package/dist/types/wallet-server/src/core/authService/nearAccountOperations.d.ts +55 -0
- package/dist/types/wallet-server/src/core/authService/nearPrivateKeySigning.d.ts +16 -0
- package/dist/types/wallet-server/src/core/authService/nearPublicKeyMetadata.d.ts +43 -0
- package/dist/types/wallet-server/src/core/authService/nearTransactions.d.ts +49 -0
- package/dist/types/wallet-server/src/core/authService/oidcVerification.d.ts +65 -0
- package/dist/types/wallet-server/src/core/authService/portableCrypto.d.ts +3 -0
- package/dist/types/wallet-server/src/core/authService/rateLimits.d.ts +30 -0
- package/dist/types/wallet-server/src/core/authService/record.d.ts +2 -0
- package/dist/types/wallet-server/src/core/authService/registrationThresholdHelpers.d.ts +37 -0
- package/dist/types/wallet-server/src/core/authService/runtime.d.ts +20 -0
- package/dist/types/wallet-server/src/core/authService/signerWasmUrls.d.ts +3 -0
- package/dist/types/wallet-server/src/core/authService/storeRegistry.d.ts +58 -0
- package/dist/types/wallet-server/src/core/authService/thresholdEcdsaKeyInventory.d.ts +72 -0
- package/dist/types/wallet-server/src/core/authService/thresholdRuntimePolicy.d.ts +4 -0
- package/dist/types/wallet-server/src/core/authService/thresholdStoreSummary.d.ts +3 -0
- package/dist/types/wallet-server/src/core/authService/walletRegistrationPlanning.d.ts +19 -0
- package/dist/types/wallet-server/src/core/authService/wasm.d.ts +12 -0
- package/dist/types/wallet-server/src/core/authService/webauthn.d.ts +207 -0
- package/dist/types/wallet-server/src/core/authService/webauthnAuthority.d.ts +5 -0
- package/dist/types/wallet-server/src/core/authService/webauthnOidcHelpers.d.ts +52 -0
- package/dist/types/wallet-server/src/core/authService/webauthnWalletBinding.d.ts +48 -0
- package/dist/types/wallet-server/src/core/config.d.ts +13 -0
- package/dist/types/wallet-server/src/core/d1IdentityStore.d.ts +44 -0
- package/dist/types/wallet-server/src/core/d1WalletAuthMethodStore.d.ts +214 -0
- package/dist/types/wallet-server/src/core/d1WalletStore.d.ts +108 -0
- package/dist/types/wallet-server/src/core/defaultConfigsServer.d.ts +5 -0
- package/dist/types/wallet-server/src/core/deviceLinking/index.d.ts +5 -0
- package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceEd25519ExportRoot.d.ts +36 -0
- package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceEmailOtpGrant.d.ts +87 -0
- package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceManagement.d.ts +137 -0
- package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSession.d.ts +462 -0
- package/dist/types/wallet-server/src/core/deviceLinking/requestProof.d.ts +55 -0
- package/dist/types/wallet-server/src/core/errors.d.ts +10 -0
- package/dist/types/wallet-server/src/core/hostedAccountIds.d.ts +31 -0
- package/dist/types/wallet-server/src/core/keyMaterialBrands.d.ts +28 -0
- package/dist/types/wallet-server/src/core/keyMaterialBrands.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/core/logger.d.ts +21 -0
- package/dist/types/wallet-server/src/core/nearKeys.d.ts +3 -0
- package/dist/types/wallet-server/src/core/nearRelayerAccountProvisioning.d.ts +78 -0
- package/dist/types/wallet-server/src/core/nearSignerWasmRuntime.d.ts +3 -0
- package/dist/types/wallet-server/src/core/registrationContracts.d.ts +747 -0
- package/dist/types/wallet-server/src/core/registrationRequests.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbEcdsaPresignRuntime.d.ts +53 -0
- package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbNormalSigningRuntime.d.ts +71 -0
- package/dist/types/wallet-server/src/core/routerAbSigning/createCloudflareDurableObjectRouterAbSigningRuntimes.d.ts +28 -0
- package/dist/types/wallet-server/src/core/routerAbSigning/createRouterAbSigningRuntimes.d.ts +16 -0
- package/dist/types/wallet-server/src/core/rpcClients/near/NearClient.d.ts +134 -0
- package/dist/types/wallet-server/src/core/sessionValidation.d.ts +9 -0
- package/dist/types/wallet-server/src/core/signingLanes/LaneAggregateRevocationApplicationService.d.ts +35 -0
- package/dist/types/wallet-server/src/core/signingLanes/LaneEffectJournalStore.d.ts +63 -0
- package/dist/types/wallet-server/src/core/signingLanes/LaneEnrollmentActivation.d.ts +13 -0
- package/dist/types/wallet-server/src/core/signingLanes/LaneEnrollmentRevocation.d.ts +24 -0
- package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleApplicationService.d.ts +141 -0
- package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleStore.d.ts +229 -0
- package/dist/types/wallet-server/src/core/signingLanes/SigningLaneStore.d.ts +15 -0
- package/dist/types/wallet-server/src/core/signingLanes/WalletExecutionLaneProjection.d.ts +59 -0
- package/dist/types/wallet-server/src/core/signingLanes/WalletKeyStore.d.ts +13 -0
- package/dist/types/wallet-server/src/core/signingLanes/ecdsaServerRetirement.d.ts +58 -0
- package/dist/types/wallet-server/src/core/signingLanes/ed25519ServerRetirement.d.ts +30 -0
- package/dist/types/wallet-server/src/core/signingLanes/index.d.ts +11 -0
- package/dist/types/wallet-server/src/core/signingLanes/signingWorkerLaneMaterialIdentity.d.ts +21 -0
- package/dist/types/wallet-server/src/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.d.ts +155 -0
- package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.d.ts +442 -0
- package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.typecheck.d.ts +58 -0
- package/dist/types/wallet-server/src/core/thresholdEcdsaChainTarget.d.ts +15 -0
- package/dist/types/wallet-server/src/core/types.d.ts +757 -0
- package/dist/types/wallet-server/src/core/utils.d.ts +3 -0
- package/dist/types/wallet-server/src/delegateAction/index.d.ts +88 -0
- package/dist/types/wallet-server/src/hosted-wallet-gateway-worker.d.ts +10 -0
- package/dist/types/wallet-server/src/hosted-wallet-gateway.d.ts +126 -0
- package/dist/types/wallet-server/src/index.d.ts +34 -0
- package/dist/types/wallet-server/src/local-hosted-wallet-gateway-worker.d.ts +13 -0
- package/dist/types/wallet-server/src/router/auth/authRequestValidation.d.ts +97 -0
- package/dist/types/wallet-server/src/router/auth/commonRouterUtils.d.ts +142 -0
- package/dist/types/wallet-server/src/router/auth/routerApiCredentialAuth.d.ts +26 -0
- package/dist/types/wallet-server/src/router/auth/routerApiKeyAuth.d.ts +16 -0
- package/dist/types/wallet-server/src/router/auth/walletSessionFailure.d.ts +14 -0
- package/dist/types/wallet-server/src/router/auth/webAuthnCredentialCodecs.d.ts +20 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthBoundary.d.ts +28 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthConfig.d.ts +192 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthService.d.ts +13 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/d1AuthorizationStore.d.ts +174 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/d1VaultProxyStore.d.ts +13 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/walletSessionAuthorityProjection.d.ts +24 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.d.ts +241 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEd25519ExportRootStore.d.ts +23 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.d.ts +32 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.d.ts +118 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceManagementService.d.ts +22 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.d.ts +80 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.d.ts +29 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRouteService.d.ts +17 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.d.ts +37 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionService.d.ts +12 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.d.ts +149 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSourceContributionPreparationPlanner.d.ts +38 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetAuthenticatorStore.d.ts +19 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.d.ts +220 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.d.ts +88 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkBuilder.d.ts +54 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkSourceReader.d.ts +23 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/index.d.ts +15 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.d.ts +33 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.d.ts +6 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoWalletSigner.d.ts +27 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.d.ts +80 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.d.ts +48 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.d.ts +64 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.d.ts +126 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpDeliveryRuntime.d.ts +22 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.d.ts +68 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.d.ts +15 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.d.ts +37 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.d.ts +186 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.d.ts +45 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.d.ts +124 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.d.ts +24 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.d.ts +51 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.d.ts +69 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.d.ts +57 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/identity/d1IdentityRecords.d.ts +38 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/identity/d1IdentityService.d.ts +31 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1NearPublicKeyStore.d.ts +30 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/oidc/d1OidcBoundary.d.ts +60 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/oidc/d1OidcVerificationService.d.ts +39 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyEnvelopeStore.d.ts +335 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.d.ts +448 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.d.ts +256 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpAttemptStore.d.ts +32 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpRecords.d.ts +116 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpService.d.ts +180 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1EvmFamilyEcdsaRegistrationBranch.d.ts +24 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.d.ts +86 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.d.ts +121 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.d.ts +84 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationIntentService.d.ts +31 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.d.ts +49 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationService.d.ts +369 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetup.d.ts +106 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.d.ts +104 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.d.ts +70 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.d.ts +26 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1EcdsaLanePrivateBindingResolver.d.ts +4 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneAggregateRevocationApplicationService.d.ts +4 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.d.ts +25 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEnrollmentGateway.d.ts +20 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLifecycleApplicationService.d.ts +13 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.d.ts +51 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLockStore.d.ts +28 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneProtocolCommitter.d.ts +5 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneRecords.d.ts +107 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/index.d.ts +10 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.d.ts +118 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.d.ts +114 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodBoundary.d.ts +90 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodService.d.ts +359 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorityStore.d.ts +143 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.d.ts +42 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnRecords.d.ts +135 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnStore.d.ts +89 -0
- package/dist/types/wallet-server/src/router/cloudflare/durableObjects/thresholdStore.d.ts +19 -0
- package/dist/types/wallet-server/src/router/cloudflare/durableObjects/versionedJsonRecordStore.d.ts +32 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/cloudflare.types.d.ts +30 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/cloudflareSignerWasm.d.ts +2 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/createCloudflareRouter.d.ts +5 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/createSelfHostedCloudflareSigningWorker.d.ts +23 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/ed25519SessionAdapter.d.ts +16 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/environment.d.ts +5 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/routerAbPrewarm.d.ts +9 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/routerAbServiceBindings.d.ts +11 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/sessionAdapterRuntime.d.ts +28 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/staticWalletConsoleBinding.d.ts +27 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/tenantRootCreationGrant.d.ts +24 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOps.d.ts +143 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOpsClient.d.ts +20 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleTenantRootLineage.d.ts +7 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletControlOps.d.ts +21 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletGateway.d.ts +30 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRuntimeOps.d.ts +64 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRuntimeOpsHandler.d.ts +3 -0
- package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.d.ts +217 -0
- package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.d.ts +73 -0
- package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.d.ts +100 -0
- package/dist/types/wallet-server/src/router/cloudflare/signingLanes/index.d.ts +4 -0
- package/dist/types/wallet-server/src/router/cloudflare/signingLanes/linkedDeviceEd25519CeremonyBinding.d.ts +6 -0
- package/dist/types/wallet-server/src/router/cloudflare-adaptor.d.ts +75 -0
- package/dist/types/wallet-server/src/router/domains/ecdsa/routerAbEcdsaStrictRegistration.d.ts +199 -0
- package/dist/types/wallet-server/src/router/domains/ecdsa/thresholdEcdsaRequestValidation.d.ts +32 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.d.ts +172 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.d.ts +156 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.d.ts +59 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPersistence.d.ts +47 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRunner.d.ts +29 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.d.ts +20 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.d.ts +271 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.d.ts +12 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.d.ts +509 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryActivation.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.d.ts +14 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryWalletSessionAuthorization.d.ts +20 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.d.ts +56 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.d.ts +200 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.d.ts +70 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.d.ts +73 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationRequestScopedCloudflare.d.ts +9 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.d.ts +131 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationTwoPhaseRunner.d.ts +62 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.d.ts +17 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/routerAbEd25519YaoWalletSession.d.ts +178 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/routerAbEd25519YaoWalletSession.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/thresholdEd25519RequestValidation.d.ts +19 -0
- package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpExportPolicy.d.ts +32 -0
- package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpRequestValidation.d.ts +13 -0
- package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpRouteHandlers.d.ts +35 -0
- package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpSessionRouteHelpers.d.ts +134 -0
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/envelopeRevocationAdmission.d.ts +31 -0
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.d.ts +85 -0
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrievalRoute.d.ts +42 -0
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/registrationCustodyOutcome.d.ts +38 -0
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/verifiedCustodyFactor.d.ts +35 -0
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationAdmission.d.ts +56 -0
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationCommit.d.ts +65 -0
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryAttempt.d.ts +59 -0
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryFinalization.d.ts +81 -0
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryKeyManifest.d.ts +184 -0
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryRotation.d.ts +31 -0
- package/dist/types/wallet-server/src/router/domains/signingOperations/ed25519AuthorizedOperationReceipt.d.ts +32 -0
- package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.d.ts +48 -0
- package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbPrivateSigningWorker.d.ts +909 -0
- package/dist/types/wallet-server/src/router/domains/signingOperations/walletExecutionAdmission.d.ts +104 -0
- package/dist/types/wallet-server/src/router/domains/syncAccount/syncAccountRequestValidation.d.ts +30 -0
- package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootCustodyLineage.d.ts +14 -0
- package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootEcdsaWalletSessionComposition.d.ts +35 -0
- package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootEd25519WalletSessionComposition.d.ts +35 -0
- package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootIdentityResolution.d.ts +56 -0
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationInputs.d.ts +78 -0
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationRoutes.d.ts +91 -0
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationSetupPayload.d.ts +105 -0
- package/dist/types/wallet-server/src/router/domains/walletUnlock/walletUnlockRequestedCapabilitiesValidation.d.ts +39 -0
- package/dist/types/wallet-server/src/router/domains/walletUnlock/walletUnlockRouteHandlers.d.ts +172 -0
- package/dist/types/wallet-server/src/router/express-adaptor.d.ts +22 -0
- package/dist/types/wallet-server/src/router/framework/apiCredentialPorts.d.ts +82 -0
- package/dist/types/wallet-server/src/router/framework/applyRouteMetering.d.ts +23 -0
- package/dist/types/wallet-server/src/router/framework/authServicePort.d.ts +1392 -0
- package/dist/types/wallet-server/src/router/framework/enforceRoutePolicy.d.ts +48 -0
- package/dist/types/wallet-server/src/router/framework/http.d.ts +12 -0
- package/dist/types/wallet-server/src/router/framework/logger.d.ts +5 -0
- package/dist/types/wallet-server/src/router/framework/modules.d.ts +17 -0
- package/dist/types/wallet-server/src/router/framework/ror/index.d.ts +7 -0
- package/dist/types/wallet-server/src/router/framework/ror/normalize.d.ts +14 -0
- package/dist/types/wallet-server/src/router/framework/ror/options.d.ts +9 -0
- package/dist/types/wallet-server/src/router/framework/ror/provider.d.ts +17 -0
- package/dist/types/wallet-server/src/router/framework/ror/staticProvider.d.ts +11 -0
- package/dist/types/wallet-server/src/router/framework/routeAuthPolicy.d.ts +34 -0
- package/dist/types/wallet-server/src/router/framework/routeDefinitions.d.ts +27 -0
- package/dist/types/wallet-server/src/router/framework/routeDefinitions.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/router/framework/routeExecutionContext.d.ts +29 -0
- package/dist/types/wallet-server/src/router/framework/routeExtensions.d.ts +27 -0
- package/dist/types/wallet-server/src/router/framework/routeMeteringPolicy.d.ts +17 -0
- package/dist/types/wallet-server/src/router/framework/routeRequestValidation.d.ts +5 -0
- package/dist/types/wallet-server/src/router/framework/routeResponses.d.ts +17 -0
- package/dist/types/wallet-server/src/router/framework/routerApi.d.ts +221 -0
- package/dist/types/wallet-server/src/router/framework/routerApiRouteSurface.d.ts +14 -0
- package/dist/types/wallet-server/src/router/framework/routerApiWebhooks.d.ts +12 -0
- package/dist/types/wallet-server/src/router/framework/runtimeSnapshotConsumer.d.ts +28 -0
- package/dist/types/wallet-server/src/router/framework/versionedJsonRecordStore.d.ts +20 -0
- package/dist/types/wallet-server/src/router/ror-adaptor.d.ts +3 -0
- package/dist/types/wallet-server/src/router/transport/fetch/createFetchRouter.d.ts +8 -0
- package/dist/types/wallet-server/src/router/transport/fetch/fetchRouter.types.d.ts +23 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/auth.d.ts +3 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinking.d.ts +202 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.d.ts +92 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceManagement.d.ts +29 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/health.d.ts +4 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/nearPublicKeys.d.ts +3 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/normalSigningRouterProxy.d.ts +33 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/passkeyCustody.d.ts +66 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/sessions.d.ts +31 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/syncAccount.d.ts +3 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/syncAccountBootstrap.d.ts +128 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEcdsa.d.ts +87 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEd25519.d.ts +47 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/walletExecutionLanePreflight.d.ts +4 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/walletRegistration.d.ts +3 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/webauthnAuthenticators.d.ts +3 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/wellKnown.d.ts +3 -0
- package/dist/types/wallet-server/src/storage/d1Sql.d.ts +14 -0
- package/dist/types/wallet-server/src/storage/tenantRoute.d.ts +136 -0
- package/dist/types/wallet-server/src/storage/tenantRoute.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/tenant-root.d.ts +5 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/crypto/cipher.d.ts +45 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/crypto/shamir3PassWasm.d.ts +16 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/guards/backends.d.ts +23 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/guards/index.d.ts +46 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/idempotency.d.ts +3 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/idempotencyBackends.d.ts +24 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/idempotencyRecords.d.ts +22 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/index.d.ts +23 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/observability/audit.d.ts +9 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/options.d.ts +9 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/routesOptions.d.ts +20 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/service.d.ts +3 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/signingSessionSeal.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/signingSessionSeal.types.d.ts +148 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/transport/express.d.ts +12 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/transport/fetch.d.ts +13 -0
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/transport/shared.d.ts +24 -0
- package/dist/types/wallet-server/src/threshold/statusCodes.d.ts +10 -0
- package/dist/types/wallet-server/src/wasm/signer.d.ts +8 -0
- package/migrations/d1-signer/0001_signer_d1_initial.sql +2486 -0
- package/migrations/d1-signer/0002_signer_post_103_canonical_upgrade.sql +1576 -0
- package/migrations/d1-signer/0003_r107_wallet_authorization.sql +299 -0
- package/migrations/d1-signer/0004_remove_legacy_email_recovery.sql +14 -0
- package/migrations/d1-signer/0005_r103p8_linked_owner_auth_bindings.sql +92 -0
- package/migrations/d1-signer/0006_r103p8_linked_device_custody_transfers.sql +77 -0
- package/migrations/d1-signer/0007_r103p8_wallet_session_auth_method_provenance.sql +18 -0
- package/migrations/d1-signer/0008_r103p8_linked_device_session_cas_guard.sql +35 -0
- package/migrations/d1-signer/0009_linked_device_email_otp.sql +405 -0
- package/migrations/d1-signer/0010_linked_device_session_target_factor.sql +78 -0
- package/migrations/d1-signer/0011_linked_device_ed25519_export_root.sql +9 -0
- package/migrations/d1-signer/0012_versioned_json_cas_guard.sql +3 -0
- package/migrations/d1-signer/0013_linked_device_export_authorization.sql +133 -0
- package/migrations/d1-signer/0014_wallet_recovery_code_locators.sql +19 -0
- package/migrations/d1-signer/0015_r103e_authority_baseline.sql +259 -0
- package/migrations/d1-signer/0016_r103e_wallet_session_authorizations_v2.sql +133 -0
- package/migrations/d1-signer/0017_r103e_link_session_state.sql +83 -0
- package/migrations/d1-signer/0018_r103e_linked_device_authority_installations.sql +34 -0
- package/migrations/d1-signer/0019_r103e_email_otp_device_methods.sql +3 -0
- package/migrations/d1-signer/0020_r103e_wallet_session_operation_credentials.sql +12 -0
- package/migrations/d1-signer/0021_linked_device_source_contribution_transcripts.sql +64 -0
- package/migrations/d1-signer/0022_r109c_multi_auth_email_cardinality.sql +118 -0
- package/migrations/d1-signer/0023_r109d_first_email_linked_device.sql +111 -0
- package/migrations/d1-signer/0024_r103f_v2_authorized_operation_claim.sql +99 -0
- package/migrations/d1-signer/0025_r109d_email_enrollment_wallet_cardinality.sql +57 -0
- package/migrations/d1-signer/0026_r115_wallet_recovery_authority_provenance.sql +253 -0
- package/migrations/d1-signer/0027_r115_email_otp_recovery_bootstrap.sql +90 -0
- package/migrations/d1-signer/0028_r103f_phase1_additive_schema_bridge.sql +1119 -0
- package/migrations/d1-signer/0029_r103f_phase0_registration_replay_tokens.sql +135 -0
- package/migrations/d1-signer/0030_r103f_wallet_session_client_capability.sql +17 -0
- package/migrations/d1-signer/0031_r103f_delete_registration_replay_tokens.sql +4 -0
- package/migrations/d1-signer/0032_r103f_exact_authorized_operation_enforcement.sql +149 -0
- package/migrations/d1-signer/0033_r103f_linked_delivery_recipient.sql +6 -0
- package/migrations/d1-signer/0034_r103f_exact_wallet_session_cutover.sql +743 -0
- package/migrations/d1-signer/0035_r103f_linked_delivery_acknowledgement_cleanup_window.sql +413 -0
- package/package.json +132 -0
- package/scripts/d1-local-migrate-signer.mjs +148 -0
- package/src/README.md +75 -0
- package/wrangler.local-hosted-wallet-gateway.toml +37 -0
|
@@ -0,0 +1,1460 @@
|
|
|
1
|
+
import { normalizeOptionalTrimmedString } from "../shared-ts/src/utils/normalize.js";
|
|
2
|
+
import { isPlainObject } from "../shared-ts/src/utils/validation.js";
|
|
3
|
+
import { d1ChangedRows, formatD1ExecStatement, resolveD1DatabaseFromConfig } from "../storage/d1Sql.js";
|
|
4
|
+
import "./defaultConfigsServer.js";
|
|
5
|
+
import { parseCurrentEmailOtpAuthStateRecord, parseCurrentEmailOtpAuthStateRow, parseCurrentEmailOtpChallengeRecord, parseCurrentEmailOtpChallengeRow, parseCurrentEmailOtpGrantRecord, parseCurrentEmailOtpGrantRow, parseCurrentEmailOtpUnlockChallengeRecord, parseCurrentEmailOtpUnlockChallengeRow, parseCurrentEmailOtpWalletEnrollmentRecord, parseCurrentEmailOtpWalletEnrollmentRow, parseCurrentGoogleEmailOtpRegistrationAttemptRecord, parseCurrentGoogleEmailOtpRegistrationAttemptRow } from "./EmailOtpRecords.js";
|
|
6
|
+
//#region src/core/EmailOtpStores.ts
|
|
7
|
+
function runtimePolicyScopeKey(scope) {
|
|
8
|
+
if (!scope) return "";
|
|
9
|
+
return `${scope.orgId}\n${scope.projectId}\n${scope.envId}\n${scope.signingRootVersion}`;
|
|
10
|
+
}
|
|
11
|
+
function registrationAttemptMatchesStartedScope(record, input) {
|
|
12
|
+
return record.providerSubject === input.providerSubject && record.email === input.email && record.ownerProofBindingDigest === input.ownerProofBindingDigest && record.runtimePolicyScope?.orgId === input.orgId && runtimePolicyScopeKey(record.runtimePolicyScope) === runtimePolicyScopeKey(input.runtimePolicyScope) && (record.state === "started" || record.state === "key_finalized") && record.expiresAtMs > input.nowMs;
|
|
13
|
+
}
|
|
14
|
+
function registrationAttemptMatchesReplacementScope(record, input) {
|
|
15
|
+
return record.providerSubject === input.providerSubject && record.email === input.email && record.ownerProofBindingDigest !== input.ownerProofBindingDigest && record.runtimePolicyScope?.orgId === input.orgId && runtimePolicyScopeKey(record.runtimePolicyScope) === runtimePolicyScopeKey(input.runtimePolicyScope) && (record.state === "started" || record.state === "key_finalized") && record.expiresAtMs > input.nowMs;
|
|
16
|
+
}
|
|
17
|
+
const EMAIL_OTP_STORE_D1_SCHEMA_SQL = Object.freeze([
|
|
18
|
+
`
|
|
19
|
+
CREATE TABLE IF NOT EXISTS email_otp_challenges (
|
|
20
|
+
namespace TEXT NOT NULL,
|
|
21
|
+
org_id TEXT NOT NULL,
|
|
22
|
+
project_id TEXT NOT NULL,
|
|
23
|
+
env_id TEXT NOT NULL,
|
|
24
|
+
challenge_id TEXT NOT NULL,
|
|
25
|
+
challenge_subject_id TEXT NOT NULL,
|
|
26
|
+
wallet_id TEXT NOT NULL,
|
|
27
|
+
record_org_id TEXT NOT NULL,
|
|
28
|
+
otp_channel TEXT NOT NULL,
|
|
29
|
+
owner_proof_binding_digest TEXT NOT NULL,
|
|
30
|
+
action TEXT NOT NULL,
|
|
31
|
+
operation TEXT NOT NULL,
|
|
32
|
+
otp_code TEXT NOT NULL,
|
|
33
|
+
record_json TEXT NOT NULL,
|
|
34
|
+
created_at_ms INTEGER NOT NULL,
|
|
35
|
+
expires_at_ms INTEGER NOT NULL,
|
|
36
|
+
PRIMARY KEY (namespace, org_id, project_id, env_id, challenge_id),
|
|
37
|
+
CHECK (length(challenge_id) > 0),
|
|
38
|
+
CHECK (length(challenge_subject_id) > 0),
|
|
39
|
+
CHECK (length(wallet_id) > 0),
|
|
40
|
+
CHECK (otp_channel = 'email_otp'),
|
|
41
|
+
CHECK (length(owner_proof_binding_digest) > 0),
|
|
42
|
+
CHECK (length(action) > 0),
|
|
43
|
+
CHECK (length(operation) > 0),
|
|
44
|
+
CHECK (length(otp_code) > 0),
|
|
45
|
+
CHECK (json_valid(record_json)),
|
|
46
|
+
CHECK (created_at_ms > 0),
|
|
47
|
+
CHECK (expires_at_ms > created_at_ms)
|
|
48
|
+
)
|
|
49
|
+
`,
|
|
50
|
+
`
|
|
51
|
+
CREATE INDEX IF NOT EXISTS email_otp_challenges_context_idx
|
|
52
|
+
ON email_otp_challenges (
|
|
53
|
+
namespace,
|
|
54
|
+
org_id,
|
|
55
|
+
project_id,
|
|
56
|
+
env_id,
|
|
57
|
+
challenge_subject_id,
|
|
58
|
+
wallet_id,
|
|
59
|
+
record_org_id,
|
|
60
|
+
otp_channel,
|
|
61
|
+
owner_proof_binding_digest,
|
|
62
|
+
action,
|
|
63
|
+
operation,
|
|
64
|
+
expires_at_ms
|
|
65
|
+
)
|
|
66
|
+
`,
|
|
67
|
+
`
|
|
68
|
+
CREATE INDEX IF NOT EXISTS email_otp_challenges_expires_idx
|
|
69
|
+
ON email_otp_challenges (
|
|
70
|
+
namespace,
|
|
71
|
+
org_id,
|
|
72
|
+
project_id,
|
|
73
|
+
env_id,
|
|
74
|
+
expires_at_ms
|
|
75
|
+
)
|
|
76
|
+
`,
|
|
77
|
+
`
|
|
78
|
+
CREATE TABLE IF NOT EXISTS email_otp_grants (
|
|
79
|
+
namespace TEXT NOT NULL,
|
|
80
|
+
org_id TEXT NOT NULL,
|
|
81
|
+
project_id TEXT NOT NULL,
|
|
82
|
+
env_id TEXT NOT NULL,
|
|
83
|
+
grant_token TEXT NOT NULL,
|
|
84
|
+
user_id TEXT NOT NULL,
|
|
85
|
+
wallet_id TEXT NOT NULL,
|
|
86
|
+
record_org_id TEXT NOT NULL,
|
|
87
|
+
challenge_id TEXT NOT NULL,
|
|
88
|
+
action TEXT NOT NULL,
|
|
89
|
+
record_json TEXT NOT NULL,
|
|
90
|
+
issued_at_ms INTEGER NOT NULL,
|
|
91
|
+
expires_at_ms INTEGER NOT NULL,
|
|
92
|
+
PRIMARY KEY (namespace, org_id, project_id, env_id, grant_token),
|
|
93
|
+
CHECK (length(grant_token) > 0),
|
|
94
|
+
CHECK (length(user_id) > 0),
|
|
95
|
+
CHECK (length(wallet_id) > 0),
|
|
96
|
+
CHECK (length(challenge_id) > 0),
|
|
97
|
+
CHECK (length(action) > 0),
|
|
98
|
+
CHECK (json_valid(record_json)),
|
|
99
|
+
CHECK (issued_at_ms > 0),
|
|
100
|
+
CHECK (expires_at_ms > issued_at_ms)
|
|
101
|
+
)
|
|
102
|
+
`,
|
|
103
|
+
`
|
|
104
|
+
CREATE INDEX IF NOT EXISTS email_otp_grants_expires_idx
|
|
105
|
+
ON email_otp_grants (
|
|
106
|
+
namespace,
|
|
107
|
+
org_id,
|
|
108
|
+
project_id,
|
|
109
|
+
env_id,
|
|
110
|
+
expires_at_ms
|
|
111
|
+
)
|
|
112
|
+
`,
|
|
113
|
+
`
|
|
114
|
+
CREATE TABLE IF NOT EXISTS email_otp_wallet_enrollments (
|
|
115
|
+
namespace TEXT NOT NULL,
|
|
116
|
+
org_id TEXT NOT NULL,
|
|
117
|
+
project_id TEXT NOT NULL,
|
|
118
|
+
env_id TEXT NOT NULL,
|
|
119
|
+
wallet_id TEXT NOT NULL,
|
|
120
|
+
provider_user_id TEXT NOT NULL,
|
|
121
|
+
record_org_id TEXT NOT NULL,
|
|
122
|
+
verified_email TEXT NOT NULL,
|
|
123
|
+
record_json TEXT NOT NULL,
|
|
124
|
+
created_at_ms INTEGER NOT NULL,
|
|
125
|
+
updated_at_ms INTEGER NOT NULL,
|
|
126
|
+
PRIMARY KEY (namespace, org_id, project_id, env_id, wallet_id),
|
|
127
|
+
CHECK (length(wallet_id) > 0),
|
|
128
|
+
CHECK (length(provider_user_id) > 0),
|
|
129
|
+
CHECK (length(record_org_id) > 0),
|
|
130
|
+
CHECK (length(verified_email) > 0),
|
|
131
|
+
CHECK (json_valid(record_json)),
|
|
132
|
+
CHECK (created_at_ms > 0),
|
|
133
|
+
CHECK (updated_at_ms > 0)
|
|
134
|
+
)
|
|
135
|
+
`,
|
|
136
|
+
`
|
|
137
|
+
CREATE INDEX IF NOT EXISTS email_otp_wallet_enrollments_provider_idx
|
|
138
|
+
ON email_otp_wallet_enrollments (
|
|
139
|
+
namespace,
|
|
140
|
+
org_id,
|
|
141
|
+
project_id,
|
|
142
|
+
env_id,
|
|
143
|
+
record_org_id,
|
|
144
|
+
provider_user_id,
|
|
145
|
+
updated_at_ms
|
|
146
|
+
)
|
|
147
|
+
`,
|
|
148
|
+
`
|
|
149
|
+
CREATE TABLE IF NOT EXISTS email_otp_auth_states (
|
|
150
|
+
namespace TEXT NOT NULL,
|
|
151
|
+
org_id TEXT NOT NULL,
|
|
152
|
+
project_id TEXT NOT NULL,
|
|
153
|
+
env_id TEXT NOT NULL,
|
|
154
|
+
wallet_id TEXT NOT NULL,
|
|
155
|
+
provider_user_id TEXT NOT NULL,
|
|
156
|
+
record_org_id TEXT NOT NULL,
|
|
157
|
+
record_json TEXT NOT NULL,
|
|
158
|
+
created_at_ms INTEGER NOT NULL,
|
|
159
|
+
updated_at_ms INTEGER NOT NULL,
|
|
160
|
+
PRIMARY KEY (namespace, org_id, project_id, env_id, wallet_id),
|
|
161
|
+
CHECK (length(wallet_id) > 0),
|
|
162
|
+
CHECK (length(provider_user_id) > 0),
|
|
163
|
+
CHECK (length(record_org_id) > 0),
|
|
164
|
+
CHECK (json_valid(record_json)),
|
|
165
|
+
CHECK (created_at_ms > 0),
|
|
166
|
+
CHECK (updated_at_ms > 0)
|
|
167
|
+
)
|
|
168
|
+
`,
|
|
169
|
+
`
|
|
170
|
+
CREATE TABLE IF NOT EXISTS email_otp_unlock_challenges (
|
|
171
|
+
namespace TEXT NOT NULL,
|
|
172
|
+
org_id TEXT NOT NULL,
|
|
173
|
+
project_id TEXT NOT NULL,
|
|
174
|
+
env_id TEXT NOT NULL,
|
|
175
|
+
challenge_id TEXT NOT NULL,
|
|
176
|
+
wallet_id TEXT NOT NULL,
|
|
177
|
+
user_id TEXT NOT NULL,
|
|
178
|
+
record_org_id TEXT NOT NULL,
|
|
179
|
+
record_json TEXT NOT NULL,
|
|
180
|
+
created_at_ms INTEGER NOT NULL,
|
|
181
|
+
expires_at_ms INTEGER NOT NULL,
|
|
182
|
+
PRIMARY KEY (namespace, org_id, project_id, env_id, challenge_id),
|
|
183
|
+
CHECK (length(challenge_id) > 0),
|
|
184
|
+
CHECK (length(wallet_id) > 0),
|
|
185
|
+
CHECK (length(user_id) > 0),
|
|
186
|
+
CHECK (json_valid(record_json)),
|
|
187
|
+
CHECK (created_at_ms > 0),
|
|
188
|
+
CHECK (expires_at_ms > created_at_ms)
|
|
189
|
+
)
|
|
190
|
+
`,
|
|
191
|
+
`
|
|
192
|
+
CREATE INDEX IF NOT EXISTS email_otp_unlock_challenges_expires_idx
|
|
193
|
+
ON email_otp_unlock_challenges (
|
|
194
|
+
namespace,
|
|
195
|
+
org_id,
|
|
196
|
+
project_id,
|
|
197
|
+
env_id,
|
|
198
|
+
expires_at_ms
|
|
199
|
+
)
|
|
200
|
+
`,
|
|
201
|
+
`
|
|
202
|
+
CREATE TABLE IF NOT EXISTS email_otp_registration_attempts (
|
|
203
|
+
namespace TEXT NOT NULL,
|
|
204
|
+
org_id TEXT NOT NULL,
|
|
205
|
+
project_id TEXT NOT NULL,
|
|
206
|
+
env_id TEXT NOT NULL,
|
|
207
|
+
attempt_id TEXT NOT NULL,
|
|
208
|
+
provider_subject TEXT NOT NULL,
|
|
209
|
+
email TEXT NOT NULL,
|
|
210
|
+
wallet_id TEXT NOT NULL,
|
|
211
|
+
state TEXT NOT NULL,
|
|
212
|
+
owner_proof_binding_digest TEXT NOT NULL,
|
|
213
|
+
runtime_org_id TEXT NOT NULL,
|
|
214
|
+
runtime_policy_key TEXT NOT NULL,
|
|
215
|
+
offer_wallet_ids_json TEXT NOT NULL,
|
|
216
|
+
record_json TEXT NOT NULL,
|
|
217
|
+
created_at_ms INTEGER NOT NULL,
|
|
218
|
+
updated_at_ms INTEGER NOT NULL,
|
|
219
|
+
expires_at_ms INTEGER NOT NULL,
|
|
220
|
+
PRIMARY KEY (namespace, org_id, project_id, env_id, attempt_id),
|
|
221
|
+
CHECK (length(attempt_id) > 0),
|
|
222
|
+
CHECK (length(provider_subject) > 0),
|
|
223
|
+
CHECK (length(email) > 0),
|
|
224
|
+
CHECK (length(wallet_id) > 0),
|
|
225
|
+
CHECK (state IN ('started', 'key_finalized', 'active', 'abandoned', 'failed', 'expired')),
|
|
226
|
+
CHECK (length(owner_proof_binding_digest) > 0),
|
|
227
|
+
CHECK (json_valid(offer_wallet_ids_json)),
|
|
228
|
+
CHECK (json_valid(record_json)),
|
|
229
|
+
CHECK (created_at_ms > 0),
|
|
230
|
+
CHECK (updated_at_ms > 0),
|
|
231
|
+
CHECK (expires_at_ms > 0)
|
|
232
|
+
)
|
|
233
|
+
`,
|
|
234
|
+
`
|
|
235
|
+
CREATE INDEX IF NOT EXISTS email_otp_registration_attempts_subject_idx
|
|
236
|
+
ON email_otp_registration_attempts (
|
|
237
|
+
namespace,
|
|
238
|
+
org_id,
|
|
239
|
+
project_id,
|
|
240
|
+
env_id,
|
|
241
|
+
provider_subject,
|
|
242
|
+
email,
|
|
243
|
+
state,
|
|
244
|
+
expires_at_ms,
|
|
245
|
+
owner_proof_binding_digest,
|
|
246
|
+
runtime_org_id,
|
|
247
|
+
runtime_policy_key,
|
|
248
|
+
updated_at_ms
|
|
249
|
+
)
|
|
250
|
+
`,
|
|
251
|
+
`
|
|
252
|
+
CREATE INDEX IF NOT EXISTS email_otp_registration_attempts_wallet_idx
|
|
253
|
+
ON email_otp_registration_attempts (
|
|
254
|
+
namespace,
|
|
255
|
+
org_id,
|
|
256
|
+
project_id,
|
|
257
|
+
env_id,
|
|
258
|
+
wallet_id,
|
|
259
|
+
state,
|
|
260
|
+
expires_at_ms
|
|
261
|
+
)
|
|
262
|
+
`
|
|
263
|
+
]);
|
|
264
|
+
async function ensureEmailOtpStoreD1Schema(options) {
|
|
265
|
+
for (const statement of EMAIL_OTP_STORE_D1_SCHEMA_SQL) await options.database.exec(formatD1ExecStatement(statement));
|
|
266
|
+
}
|
|
267
|
+
function toPrefixWithColon(prefix, defaultPrefix) {
|
|
268
|
+
const p = normalizeOptionalTrimmedString(prefix);
|
|
269
|
+
if (!p) return defaultPrefix;
|
|
270
|
+
return p.endsWith(":") ? p : `${p}:`;
|
|
271
|
+
}
|
|
272
|
+
function resolveEmailOtpStoreNamespace(config) {
|
|
273
|
+
const explicit = normalizeOptionalTrimmedString(config.EMAIL_OTP_PREFIX) || normalizeOptionalTrimmedString(config.EMAIL_OTP_STORE_PREFIX);
|
|
274
|
+
if (explicit) return toPrefixWithColon(explicit, "");
|
|
275
|
+
return `${toPrefixWithColon(normalizeOptionalTrimmedString(config.THRESHOLD_PREFIX) || "w3a", `w3a:`)}email-otp:`;
|
|
276
|
+
}
|
|
277
|
+
function getStoreConfig(input) {
|
|
278
|
+
return isPlainObject(input?.config) ? input.config : {};
|
|
279
|
+
}
|
|
280
|
+
function requireD1ScopeString(input, field) {
|
|
281
|
+
const normalized = normalizeOptionalTrimmedString(input);
|
|
282
|
+
if (!normalized) throw new Error(`${field} is required for D1 Email OTP store`);
|
|
283
|
+
return normalized;
|
|
284
|
+
}
|
|
285
|
+
function normalizeD1EmailOtpStoreOptions(input) {
|
|
286
|
+
return {
|
|
287
|
+
database: input.database,
|
|
288
|
+
namespace: requireD1ScopeString(input.namespace, "namespace"),
|
|
289
|
+
orgId: requireD1ScopeString(input.orgId, "orgId"),
|
|
290
|
+
projectId: requireD1ScopeString(input.projectId, "projectId"),
|
|
291
|
+
envId: requireD1ScopeString(input.envId, "envId"),
|
|
292
|
+
ensureSchema: input.ensureSchema !== false
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
function d1ScopeFromConfig(input) {
|
|
296
|
+
return {
|
|
297
|
+
namespace: requireD1ScopeString(input.namespace, "namespace"),
|
|
298
|
+
orgId: requireD1ScopeString(input.config.orgId || input.config.ORG_ID, "orgId"),
|
|
299
|
+
projectId: requireD1ScopeString(input.config.projectId || input.config.PROJECT_ID, "projectId"),
|
|
300
|
+
envId: requireD1ScopeString(input.config.envId || input.config.ENV_ID, "envId")
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
function bindD1EmailOtpScope(database, scope, statement, values = []) {
|
|
304
|
+
return database.prepare(statement).bind(scope.namespace, scope.orgId, scope.projectId, scope.envId, ...values);
|
|
305
|
+
}
|
|
306
|
+
function assertD1EmailOtpOrgScope(input) {
|
|
307
|
+
if (!input.recordOrgId) return;
|
|
308
|
+
if (input.recordOrgId !== input.scope.orgId) throw new Error(`${input.label} orgId must match D1 Email OTP store orgId`);
|
|
309
|
+
}
|
|
310
|
+
function resolveD1EmailOtpStoreOptions(input, storeLabel) {
|
|
311
|
+
const config = getStoreConfig(input);
|
|
312
|
+
if (normalizeOptionalTrimmedString(config.kind) !== "d1") return null;
|
|
313
|
+
const database = resolveD1DatabaseFromConfig(config);
|
|
314
|
+
if (!database) throw new Error(`[email-otp] D1 ${storeLabel} store selected but no D1 database was provided`);
|
|
315
|
+
return {
|
|
316
|
+
database,
|
|
317
|
+
...d1ScopeFromConfig({
|
|
318
|
+
config,
|
|
319
|
+
namespace: resolveEmailOtpStoreNamespace(config)
|
|
320
|
+
})
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
function assertEmailOtpStoreKindKnown(input, storeLabel) {
|
|
324
|
+
const kind = normalizeOptionalTrimmedString(getStoreConfig(input).kind);
|
|
325
|
+
if (!kind || kind === "in-memory") return;
|
|
326
|
+
throw new Error(`[email-otp] Unknown ${storeLabel} store kind: ${kind}`);
|
|
327
|
+
}
|
|
328
|
+
function cloneRecord(value) {
|
|
329
|
+
return JSON.parse(JSON.stringify(value));
|
|
330
|
+
}
|
|
331
|
+
function parseJsonRecord(raw) {
|
|
332
|
+
if (typeof raw !== "string") return raw;
|
|
333
|
+
try {
|
|
334
|
+
return JSON.parse(raw);
|
|
335
|
+
} catch {
|
|
336
|
+
return raw;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
function challengeContextMatches(record, input) {
|
|
340
|
+
return record.expiresAtMs > input.nowMs && record.challengeSubjectId === input.challengeSubjectId && record.walletId === input.walletId && String(record.orgId || "") === String(input.orgId || "") && record.otpChannel === input.otpChannel && record.ownerProofBindingDigest === input.ownerProofBindingDigest && record.action === input.action && record.operation === input.operation;
|
|
341
|
+
}
|
|
342
|
+
var InMemoryEmailOtpChallengeStore = class {
|
|
343
|
+
constructor() {
|
|
344
|
+
this.map = /* @__PURE__ */ new Map();
|
|
345
|
+
}
|
|
346
|
+
async put(record) {
|
|
347
|
+
const parsed = parseCurrentEmailOtpChallengeRecord(record);
|
|
348
|
+
if (!parsed) throw new Error("Invalid Email OTP challenge record");
|
|
349
|
+
this.map.set(parsed.challengeId, cloneRecord(parsed));
|
|
350
|
+
}
|
|
351
|
+
async get(challengeId) {
|
|
352
|
+
const id = normalizeOptionalTrimmedString(challengeId);
|
|
353
|
+
if (!id) return null;
|
|
354
|
+
const record = this.map.get(id);
|
|
355
|
+
return record ? cloneRecord(record) : null;
|
|
356
|
+
}
|
|
357
|
+
async deleteExpired(nowMs) {
|
|
358
|
+
const deleted = [];
|
|
359
|
+
for (const [challengeId, record] of this.map.entries()) {
|
|
360
|
+
if (record.expiresAtMs > nowMs) continue;
|
|
361
|
+
this.map.delete(challengeId);
|
|
362
|
+
deleted.push(cloneRecord(record));
|
|
363
|
+
}
|
|
364
|
+
return deleted;
|
|
365
|
+
}
|
|
366
|
+
async countActiveByContext(input) {
|
|
367
|
+
let count = 0;
|
|
368
|
+
for (const record of this.map.values()) {
|
|
369
|
+
if (!challengeContextMatches(record, input)) continue;
|
|
370
|
+
count += 1;
|
|
371
|
+
}
|
|
372
|
+
return count;
|
|
373
|
+
}
|
|
374
|
+
async findLatestActiveByContext(input) {
|
|
375
|
+
let latest = null;
|
|
376
|
+
for (const record of this.map.values()) {
|
|
377
|
+
if (!challengeContextMatches(record, input)) continue;
|
|
378
|
+
if (!latest || record.expiresAtMs > latest.expiresAtMs) latest = record;
|
|
379
|
+
}
|
|
380
|
+
return latest ? cloneRecord(latest) : null;
|
|
381
|
+
}
|
|
382
|
+
async deleteOldestActiveByContext(input) {
|
|
383
|
+
let oldest = null;
|
|
384
|
+
for (const record of this.map.values()) {
|
|
385
|
+
if (!challengeContextMatches(record, input)) continue;
|
|
386
|
+
if (!oldest || record.createdAtMs < oldest.createdAtMs) oldest = record;
|
|
387
|
+
}
|
|
388
|
+
if (!oldest) return null;
|
|
389
|
+
this.map.delete(oldest.challengeId);
|
|
390
|
+
return cloneRecord(oldest);
|
|
391
|
+
}
|
|
392
|
+
async findActiveByContext(input) {
|
|
393
|
+
for (const record of this.map.values()) {
|
|
394
|
+
if (!challengeContextMatches(record, input)) continue;
|
|
395
|
+
if (record.otpCode !== input.otpCode) continue;
|
|
396
|
+
return cloneRecord(record);
|
|
397
|
+
}
|
|
398
|
+
return null;
|
|
399
|
+
}
|
|
400
|
+
async del(challengeId) {
|
|
401
|
+
const id = normalizeOptionalTrimmedString(challengeId);
|
|
402
|
+
if (!id) return;
|
|
403
|
+
this.map.delete(id);
|
|
404
|
+
}
|
|
405
|
+
};
|
|
406
|
+
var InMemoryEmailOtpGrantStore = class {
|
|
407
|
+
constructor() {
|
|
408
|
+
this.map = /* @__PURE__ */ new Map();
|
|
409
|
+
}
|
|
410
|
+
async put(record) {
|
|
411
|
+
const parsed = parseCurrentEmailOtpGrantRecord(record);
|
|
412
|
+
if (!parsed) throw new Error("Invalid Email OTP grant record");
|
|
413
|
+
this.map.set(parsed.grantToken, cloneRecord(parsed));
|
|
414
|
+
}
|
|
415
|
+
async get(grantToken) {
|
|
416
|
+
const token = normalizeOptionalTrimmedString(grantToken);
|
|
417
|
+
if (!token) return null;
|
|
418
|
+
const record = this.map.get(token);
|
|
419
|
+
return record ? cloneRecord(record) : null;
|
|
420
|
+
}
|
|
421
|
+
async consume(grantToken) {
|
|
422
|
+
const token = normalizeOptionalTrimmedString(grantToken);
|
|
423
|
+
if (!token) return null;
|
|
424
|
+
const record = this.map.get(token);
|
|
425
|
+
this.map.delete(token);
|
|
426
|
+
return record ? cloneRecord(record) : null;
|
|
427
|
+
}
|
|
428
|
+
async del(grantToken) {
|
|
429
|
+
const token = normalizeOptionalTrimmedString(grantToken);
|
|
430
|
+
if (!token) return;
|
|
431
|
+
this.map.delete(token);
|
|
432
|
+
}
|
|
433
|
+
};
|
|
434
|
+
var InMemoryEmailOtpWalletEnrollmentStore = class {
|
|
435
|
+
constructor() {
|
|
436
|
+
this.map = /* @__PURE__ */ new Map();
|
|
437
|
+
}
|
|
438
|
+
async get(walletId) {
|
|
439
|
+
const key = normalizeOptionalTrimmedString(walletId);
|
|
440
|
+
if (!key) return null;
|
|
441
|
+
const record = this.map.get(key);
|
|
442
|
+
return record ? cloneRecord(record) : null;
|
|
443
|
+
}
|
|
444
|
+
async getByProviderUserId(input) {
|
|
445
|
+
const providerUserId = normalizeOptionalTrimmedString(input.providerUserId);
|
|
446
|
+
const orgId = normalizeOptionalTrimmedString(input.orgId);
|
|
447
|
+
if (!providerUserId || !orgId) return null;
|
|
448
|
+
const record = Array.from(this.map.values()).find((candidate) => candidate.providerUserId === providerUserId && candidate.orgId === orgId) || null;
|
|
449
|
+
return record ? cloneRecord(record) : null;
|
|
450
|
+
}
|
|
451
|
+
async put(record) {
|
|
452
|
+
const parsed = parseCurrentEmailOtpWalletEnrollmentRecord(record);
|
|
453
|
+
if (!parsed) throw new Error("Invalid Email OTP wallet enrollment record");
|
|
454
|
+
if (Array.from(this.map.values()).find((existing) => existing.walletId !== parsed.walletId && existing.orgId === parsed.orgId && existing.providerUserId === parsed.providerUserId)) throw new Error("Email OTP wallet enrollment already exists for this provider user in org");
|
|
455
|
+
this.map.set(parsed.walletId, cloneRecord(parsed));
|
|
456
|
+
}
|
|
457
|
+
async del(walletId) {
|
|
458
|
+
const key = normalizeOptionalTrimmedString(walletId);
|
|
459
|
+
if (!key) return;
|
|
460
|
+
this.map.delete(key);
|
|
461
|
+
}
|
|
462
|
+
};
|
|
463
|
+
var InMemoryEmailOtpAuthStateStore = class {
|
|
464
|
+
constructor() {
|
|
465
|
+
this.map = /* @__PURE__ */ new Map();
|
|
466
|
+
}
|
|
467
|
+
async get(walletId) {
|
|
468
|
+
const key = normalizeOptionalTrimmedString(walletId);
|
|
469
|
+
if (!key) return null;
|
|
470
|
+
const record = this.map.get(key);
|
|
471
|
+
return record ? cloneRecord(record) : null;
|
|
472
|
+
}
|
|
473
|
+
async put(record) {
|
|
474
|
+
const parsed = parseCurrentEmailOtpAuthStateRecord(record);
|
|
475
|
+
if (!parsed) throw new Error("Invalid Email OTP auth state record");
|
|
476
|
+
this.map.set(parsed.walletId, cloneRecord(parsed));
|
|
477
|
+
}
|
|
478
|
+
async del(walletId) {
|
|
479
|
+
const key = normalizeOptionalTrimmedString(walletId);
|
|
480
|
+
if (!key) return;
|
|
481
|
+
this.map.delete(key);
|
|
482
|
+
}
|
|
483
|
+
};
|
|
484
|
+
var InMemoryEmailOtpUnlockChallengeStore = class {
|
|
485
|
+
constructor() {
|
|
486
|
+
this.map = /* @__PURE__ */ new Map();
|
|
487
|
+
}
|
|
488
|
+
async put(record) {
|
|
489
|
+
const parsed = parseCurrentEmailOtpUnlockChallengeRecord(record);
|
|
490
|
+
if (!parsed) throw new Error("Invalid Email OTP unlock challenge record");
|
|
491
|
+
this.map.set(parsed.challengeId, cloneRecord(parsed));
|
|
492
|
+
}
|
|
493
|
+
async consume(challengeId) {
|
|
494
|
+
const id = normalizeOptionalTrimmedString(challengeId);
|
|
495
|
+
if (!id) return null;
|
|
496
|
+
const record = this.map.get(id);
|
|
497
|
+
this.map.delete(id);
|
|
498
|
+
return record ? cloneRecord(record) : null;
|
|
499
|
+
}
|
|
500
|
+
async del(challengeId) {
|
|
501
|
+
const id = normalizeOptionalTrimmedString(challengeId);
|
|
502
|
+
if (!id) return;
|
|
503
|
+
this.map.delete(id);
|
|
504
|
+
}
|
|
505
|
+
};
|
|
506
|
+
var InMemoryEmailOtpRegistrationAttemptStore = class {
|
|
507
|
+
constructor() {
|
|
508
|
+
this.map = /* @__PURE__ */ new Map();
|
|
509
|
+
}
|
|
510
|
+
async put(record) {
|
|
511
|
+
const parsed = parseCurrentGoogleEmailOtpRegistrationAttemptRecord(record);
|
|
512
|
+
if (!parsed) throw new Error("Invalid Google Email OTP registration attempt record");
|
|
513
|
+
this.map.set(parsed.attemptId, cloneRecord(parsed));
|
|
514
|
+
}
|
|
515
|
+
async get(attemptId) {
|
|
516
|
+
const id = normalizeOptionalTrimmedString(attemptId);
|
|
517
|
+
if (!id) return null;
|
|
518
|
+
const record = this.map.get(id);
|
|
519
|
+
return record ? cloneRecord(record) : null;
|
|
520
|
+
}
|
|
521
|
+
async findStartedBySubjectEmail(input) {
|
|
522
|
+
for (const record of this.map.values()) if (registrationAttemptMatchesStartedScope(record, input)) return cloneRecord(record);
|
|
523
|
+
return null;
|
|
524
|
+
}
|
|
525
|
+
async abandonStartedBySubjectEmailExceptBinding(input) {
|
|
526
|
+
let abandoned = 0;
|
|
527
|
+
for (const record of this.map.values()) {
|
|
528
|
+
if (!registrationAttemptMatchesReplacementScope(record, input)) continue;
|
|
529
|
+
this.map.set(record.attemptId, {
|
|
530
|
+
...cloneRecord(record),
|
|
531
|
+
state: "abandoned",
|
|
532
|
+
failureCode: input.failureCode,
|
|
533
|
+
updatedAtMs: input.nowMs
|
|
534
|
+
});
|
|
535
|
+
abandoned += 1;
|
|
536
|
+
}
|
|
537
|
+
return abandoned;
|
|
538
|
+
}
|
|
539
|
+
async hasLiveStartedWalletAttempt(input) {
|
|
540
|
+
for (const record of this.map.values()) if ((record.state === "started" || record.state === "key_finalized") && record.expiresAtMs > input.nowMs && (record.walletId === input.walletId || record.offerCandidates.some((candidate) => candidate.walletId === input.walletId))) return true;
|
|
541
|
+
return false;
|
|
542
|
+
}
|
|
543
|
+
async deleteExpired(nowMs) {
|
|
544
|
+
let deleted = 0;
|
|
545
|
+
for (const [attemptId, record] of this.map.entries()) if (record.expiresAtMs <= nowMs || record.state === "expired") {
|
|
546
|
+
this.map.delete(attemptId);
|
|
547
|
+
deleted += 1;
|
|
548
|
+
}
|
|
549
|
+
return deleted;
|
|
550
|
+
}
|
|
551
|
+
};
|
|
552
|
+
var D1EmailOtpStoreBase = class {
|
|
553
|
+
constructor(input) {
|
|
554
|
+
this.schemaReady = false;
|
|
555
|
+
const normalized = normalizeD1EmailOtpStoreOptions(input);
|
|
556
|
+
this.database = normalized.database;
|
|
557
|
+
this.scope = {
|
|
558
|
+
namespace: normalized.namespace,
|
|
559
|
+
orgId: normalized.orgId,
|
|
560
|
+
projectId: normalized.projectId,
|
|
561
|
+
envId: normalized.envId
|
|
562
|
+
};
|
|
563
|
+
this.ensureSchemaOnUse = normalized.ensureSchema;
|
|
564
|
+
}
|
|
565
|
+
async ensureSchema() {
|
|
566
|
+
if (!this.ensureSchemaOnUse || this.schemaReady) return;
|
|
567
|
+
await ensureEmailOtpStoreD1Schema({ database: this.database });
|
|
568
|
+
this.schemaReady = true;
|
|
569
|
+
}
|
|
570
|
+
bindScope(statement, values = []) {
|
|
571
|
+
return bindD1EmailOtpScope(this.database, this.scope, statement, values);
|
|
572
|
+
}
|
|
573
|
+
};
|
|
574
|
+
var D1EmailOtpChallengeStore = class extends D1EmailOtpStoreBase {
|
|
575
|
+
constructor(..._args) {
|
|
576
|
+
super(..._args);
|
|
577
|
+
this.adapterKind = "d1";
|
|
578
|
+
}
|
|
579
|
+
async put(record) {
|
|
580
|
+
await this.ensureSchema();
|
|
581
|
+
const parsed = parseCurrentEmailOtpChallengeRecord(record);
|
|
582
|
+
if (!parsed) throw new Error("Invalid Email OTP challenge record");
|
|
583
|
+
assertD1EmailOtpOrgScope({
|
|
584
|
+
recordOrgId: parsed.orgId,
|
|
585
|
+
scope: this.scope,
|
|
586
|
+
label: "Email OTP challenge"
|
|
587
|
+
});
|
|
588
|
+
await this.bindScope(`INSERT INTO email_otp_challenges (
|
|
589
|
+
namespace,
|
|
590
|
+
org_id,
|
|
591
|
+
project_id,
|
|
592
|
+
env_id,
|
|
593
|
+
challenge_id,
|
|
594
|
+
challenge_subject_id,
|
|
595
|
+
wallet_id,
|
|
596
|
+
record_org_id,
|
|
597
|
+
otp_channel,
|
|
598
|
+
owner_proof_binding_digest,
|
|
599
|
+
action,
|
|
600
|
+
operation,
|
|
601
|
+
otp_code,
|
|
602
|
+
record_json,
|
|
603
|
+
created_at_ms,
|
|
604
|
+
expires_at_ms
|
|
605
|
+
)
|
|
606
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
607
|
+
ON CONFLICT (namespace, org_id, project_id, env_id, challenge_id)
|
|
608
|
+
DO UPDATE SET
|
|
609
|
+
challenge_subject_id = EXCLUDED.challenge_subject_id,
|
|
610
|
+
wallet_id = EXCLUDED.wallet_id,
|
|
611
|
+
record_org_id = EXCLUDED.record_org_id,
|
|
612
|
+
otp_channel = EXCLUDED.otp_channel,
|
|
613
|
+
owner_proof_binding_digest = EXCLUDED.owner_proof_binding_digest,
|
|
614
|
+
action = EXCLUDED.action,
|
|
615
|
+
operation = EXCLUDED.operation,
|
|
616
|
+
otp_code = EXCLUDED.otp_code,
|
|
617
|
+
record_json = EXCLUDED.record_json,
|
|
618
|
+
created_at_ms = EXCLUDED.created_at_ms,
|
|
619
|
+
expires_at_ms = EXCLUDED.expires_at_ms`, [
|
|
620
|
+
parsed.challengeId,
|
|
621
|
+
parsed.challengeSubjectId,
|
|
622
|
+
parsed.walletId,
|
|
623
|
+
parsed.orgId || "",
|
|
624
|
+
parsed.otpChannel,
|
|
625
|
+
parsed.ownerProofBindingDigest,
|
|
626
|
+
parsed.action,
|
|
627
|
+
parsed.operation,
|
|
628
|
+
parsed.otpCode,
|
|
629
|
+
JSON.stringify(parsed),
|
|
630
|
+
parsed.createdAtMs,
|
|
631
|
+
parsed.expiresAtMs
|
|
632
|
+
]).run();
|
|
633
|
+
}
|
|
634
|
+
async get(challengeId) {
|
|
635
|
+
await this.ensureSchema();
|
|
636
|
+
const id = normalizeOptionalTrimmedString(challengeId);
|
|
637
|
+
if (!id) return null;
|
|
638
|
+
const row = await this.bindScope(`SELECT record_json, expires_at_ms, challenge_id
|
|
639
|
+
FROM email_otp_challenges
|
|
640
|
+
WHERE namespace = ?
|
|
641
|
+
AND org_id = ?
|
|
642
|
+
AND project_id = ?
|
|
643
|
+
AND env_id = ?
|
|
644
|
+
AND challenge_id = ?
|
|
645
|
+
LIMIT 1`, [id]).first();
|
|
646
|
+
const parsed = parseCurrentEmailOtpChallengeRow({
|
|
647
|
+
recordJson: parseJsonRecord(row?.record_json),
|
|
648
|
+
expiresAtMs: row?.expires_at_ms
|
|
649
|
+
});
|
|
650
|
+
if (!row) return null;
|
|
651
|
+
if (!parsed) {
|
|
652
|
+
await this.del(id);
|
|
653
|
+
return null;
|
|
654
|
+
}
|
|
655
|
+
return cloneRecord(parsed);
|
|
656
|
+
}
|
|
657
|
+
async deleteExpired(nowMs) {
|
|
658
|
+
await this.ensureSchema();
|
|
659
|
+
return ((await this.bindScope(`DELETE FROM email_otp_challenges
|
|
660
|
+
WHERE namespace = ?
|
|
661
|
+
AND org_id = ?
|
|
662
|
+
AND project_id = ?
|
|
663
|
+
AND env_id = ?
|
|
664
|
+
AND expires_at_ms <= ?
|
|
665
|
+
RETURNING record_json, expires_at_ms`, [nowMs]).all()).results || []).map((row) => parseCurrentEmailOtpChallengeRow({
|
|
666
|
+
recordJson: parseJsonRecord(row.record_json),
|
|
667
|
+
expiresAtMs: row.expires_at_ms
|
|
668
|
+
})).filter((record) => Boolean(record)).map((record) => cloneRecord(record));
|
|
669
|
+
}
|
|
670
|
+
async countActiveByContext(input) {
|
|
671
|
+
await this.ensureSchema();
|
|
672
|
+
const row = await this.bindScope(`SELECT COUNT(*) AS count
|
|
673
|
+
FROM email_otp_challenges
|
|
674
|
+
WHERE namespace = ?
|
|
675
|
+
AND org_id = ?
|
|
676
|
+
AND project_id = ?
|
|
677
|
+
AND env_id = ?
|
|
678
|
+
AND expires_at_ms > ?
|
|
679
|
+
AND challenge_subject_id = ?
|
|
680
|
+
AND wallet_id = ?
|
|
681
|
+
AND record_org_id = ?
|
|
682
|
+
AND otp_channel = ?
|
|
683
|
+
AND owner_proof_binding_digest = ?
|
|
684
|
+
AND action = ?
|
|
685
|
+
AND operation = ?`, [
|
|
686
|
+
input.nowMs,
|
|
687
|
+
input.challengeSubjectId,
|
|
688
|
+
input.walletId,
|
|
689
|
+
String(input.orgId || ""),
|
|
690
|
+
input.otpChannel,
|
|
691
|
+
input.ownerProofBindingDigest,
|
|
692
|
+
input.action,
|
|
693
|
+
input.operation
|
|
694
|
+
]).first();
|
|
695
|
+
return Number(row?.count || 0);
|
|
696
|
+
}
|
|
697
|
+
async findLatestActiveByContext(input) {
|
|
698
|
+
await this.ensureSchema();
|
|
699
|
+
const row = await this.bindScope(`SELECT record_json, expires_at_ms, challenge_id
|
|
700
|
+
FROM email_otp_challenges
|
|
701
|
+
WHERE namespace = ?
|
|
702
|
+
AND org_id = ?
|
|
703
|
+
AND project_id = ?
|
|
704
|
+
AND env_id = ?
|
|
705
|
+
AND expires_at_ms > ?
|
|
706
|
+
AND challenge_subject_id = ?
|
|
707
|
+
AND wallet_id = ?
|
|
708
|
+
AND record_org_id = ?
|
|
709
|
+
AND otp_channel = ?
|
|
710
|
+
AND owner_proof_binding_digest = ?
|
|
711
|
+
AND action = ?
|
|
712
|
+
AND operation = ?
|
|
713
|
+
ORDER BY expires_at_ms DESC, created_at_ms DESC
|
|
714
|
+
LIMIT 1`, [
|
|
715
|
+
input.nowMs,
|
|
716
|
+
input.challengeSubjectId,
|
|
717
|
+
input.walletId,
|
|
718
|
+
String(input.orgId || ""),
|
|
719
|
+
input.otpChannel,
|
|
720
|
+
input.ownerProofBindingDigest,
|
|
721
|
+
input.action,
|
|
722
|
+
input.operation
|
|
723
|
+
]).first();
|
|
724
|
+
const parsed = parseCurrentEmailOtpChallengeRow({
|
|
725
|
+
recordJson: parseJsonRecord(row?.record_json),
|
|
726
|
+
expiresAtMs: row?.expires_at_ms
|
|
727
|
+
});
|
|
728
|
+
if (parsed) return cloneRecord(parsed);
|
|
729
|
+
const malformedId = normalizeOptionalTrimmedString(row?.challenge_id);
|
|
730
|
+
if (malformedId) await this.del(malformedId);
|
|
731
|
+
return null;
|
|
732
|
+
}
|
|
733
|
+
async deleteOldestActiveByContext(input) {
|
|
734
|
+
await this.ensureSchema();
|
|
735
|
+
const row = await this.bindScope(`WITH oldest AS (
|
|
736
|
+
SELECT challenge_id
|
|
737
|
+
FROM email_otp_challenges
|
|
738
|
+
WHERE namespace = ?
|
|
739
|
+
AND org_id = ?
|
|
740
|
+
AND project_id = ?
|
|
741
|
+
AND env_id = ?
|
|
742
|
+
AND expires_at_ms > ?
|
|
743
|
+
AND challenge_subject_id = ?
|
|
744
|
+
AND wallet_id = ?
|
|
745
|
+
AND record_org_id = ?
|
|
746
|
+
AND otp_channel = ?
|
|
747
|
+
AND owner_proof_binding_digest = ?
|
|
748
|
+
AND action = ?
|
|
749
|
+
AND operation = ?
|
|
750
|
+
ORDER BY created_at_ms ASC, expires_at_ms ASC
|
|
751
|
+
LIMIT 1
|
|
752
|
+
)
|
|
753
|
+
DELETE FROM email_otp_challenges
|
|
754
|
+
WHERE namespace = ?
|
|
755
|
+
AND org_id = ?
|
|
756
|
+
AND project_id = ?
|
|
757
|
+
AND env_id = ?
|
|
758
|
+
AND challenge_id IN (SELECT challenge_id FROM oldest)
|
|
759
|
+
RETURNING record_json, expires_at_ms, challenge_id`, [
|
|
760
|
+
input.nowMs,
|
|
761
|
+
input.challengeSubjectId,
|
|
762
|
+
input.walletId,
|
|
763
|
+
String(input.orgId || ""),
|
|
764
|
+
input.otpChannel,
|
|
765
|
+
input.ownerProofBindingDigest,
|
|
766
|
+
input.action,
|
|
767
|
+
input.operation,
|
|
768
|
+
this.scope.namespace,
|
|
769
|
+
this.scope.orgId,
|
|
770
|
+
this.scope.projectId,
|
|
771
|
+
this.scope.envId
|
|
772
|
+
]).first();
|
|
773
|
+
const parsed = parseCurrentEmailOtpChallengeRow({
|
|
774
|
+
recordJson: parseJsonRecord(row?.record_json),
|
|
775
|
+
expiresAtMs: row?.expires_at_ms
|
|
776
|
+
});
|
|
777
|
+
if (parsed) return cloneRecord(parsed);
|
|
778
|
+
const malformedId = normalizeOptionalTrimmedString(row?.challenge_id);
|
|
779
|
+
if (malformedId) await this.del(malformedId);
|
|
780
|
+
return null;
|
|
781
|
+
}
|
|
782
|
+
async findActiveByContext(input) {
|
|
783
|
+
await this.ensureSchema();
|
|
784
|
+
const row = await this.bindScope(`SELECT record_json, expires_at_ms, challenge_id
|
|
785
|
+
FROM email_otp_challenges
|
|
786
|
+
WHERE namespace = ?
|
|
787
|
+
AND org_id = ?
|
|
788
|
+
AND project_id = ?
|
|
789
|
+
AND env_id = ?
|
|
790
|
+
AND expires_at_ms > ?
|
|
791
|
+
AND challenge_subject_id = ?
|
|
792
|
+
AND wallet_id = ?
|
|
793
|
+
AND record_org_id = ?
|
|
794
|
+
AND otp_channel = ?
|
|
795
|
+
AND owner_proof_binding_digest = ?
|
|
796
|
+
AND action = ?
|
|
797
|
+
AND operation = ?
|
|
798
|
+
AND otp_code = ?
|
|
799
|
+
ORDER BY expires_at_ms DESC
|
|
800
|
+
LIMIT 1`, [
|
|
801
|
+
input.nowMs,
|
|
802
|
+
input.challengeSubjectId,
|
|
803
|
+
input.walletId,
|
|
804
|
+
String(input.orgId || ""),
|
|
805
|
+
input.otpChannel,
|
|
806
|
+
input.ownerProofBindingDigest,
|
|
807
|
+
input.action,
|
|
808
|
+
input.operation,
|
|
809
|
+
input.otpCode
|
|
810
|
+
]).first();
|
|
811
|
+
const parsed = parseCurrentEmailOtpChallengeRow({
|
|
812
|
+
recordJson: parseJsonRecord(row?.record_json),
|
|
813
|
+
expiresAtMs: row?.expires_at_ms
|
|
814
|
+
});
|
|
815
|
+
if (parsed) return cloneRecord(parsed);
|
|
816
|
+
const malformedId = normalizeOptionalTrimmedString(row?.challenge_id);
|
|
817
|
+
if (malformedId) await this.del(malformedId);
|
|
818
|
+
return null;
|
|
819
|
+
}
|
|
820
|
+
async del(challengeId) {
|
|
821
|
+
await this.ensureSchema();
|
|
822
|
+
const id = normalizeOptionalTrimmedString(challengeId);
|
|
823
|
+
if (!id) return;
|
|
824
|
+
await this.bindScope(`DELETE FROM email_otp_challenges
|
|
825
|
+
WHERE namespace = ?
|
|
826
|
+
AND org_id = ?
|
|
827
|
+
AND project_id = ?
|
|
828
|
+
AND env_id = ?
|
|
829
|
+
AND challenge_id = ?`, [id]).run();
|
|
830
|
+
}
|
|
831
|
+
};
|
|
832
|
+
var D1EmailOtpGrantStore = class extends D1EmailOtpStoreBase {
|
|
833
|
+
constructor(..._args2) {
|
|
834
|
+
super(..._args2);
|
|
835
|
+
this.adapterKind = "d1";
|
|
836
|
+
}
|
|
837
|
+
async put(record) {
|
|
838
|
+
await this.ensureSchema();
|
|
839
|
+
const parsed = parseCurrentEmailOtpGrantRecord(record);
|
|
840
|
+
if (!parsed) throw new Error("Invalid Email OTP grant record");
|
|
841
|
+
assertD1EmailOtpOrgScope({
|
|
842
|
+
recordOrgId: parsed.orgId,
|
|
843
|
+
scope: this.scope,
|
|
844
|
+
label: "Email OTP grant"
|
|
845
|
+
});
|
|
846
|
+
await this.bindScope(`INSERT INTO email_otp_grants (
|
|
847
|
+
namespace,
|
|
848
|
+
org_id,
|
|
849
|
+
project_id,
|
|
850
|
+
env_id,
|
|
851
|
+
grant_token,
|
|
852
|
+
user_id,
|
|
853
|
+
wallet_id,
|
|
854
|
+
record_org_id,
|
|
855
|
+
challenge_id,
|
|
856
|
+
action,
|
|
857
|
+
record_json,
|
|
858
|
+
issued_at_ms,
|
|
859
|
+
expires_at_ms
|
|
860
|
+
)
|
|
861
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
862
|
+
ON CONFLICT (namespace, org_id, project_id, env_id, grant_token)
|
|
863
|
+
DO UPDATE SET
|
|
864
|
+
user_id = EXCLUDED.user_id,
|
|
865
|
+
wallet_id = EXCLUDED.wallet_id,
|
|
866
|
+
record_org_id = EXCLUDED.record_org_id,
|
|
867
|
+
challenge_id = EXCLUDED.challenge_id,
|
|
868
|
+
action = EXCLUDED.action,
|
|
869
|
+
record_json = EXCLUDED.record_json,
|
|
870
|
+
issued_at_ms = EXCLUDED.issued_at_ms,
|
|
871
|
+
expires_at_ms = EXCLUDED.expires_at_ms`, [
|
|
872
|
+
parsed.grantToken,
|
|
873
|
+
parsed.userId,
|
|
874
|
+
parsed.walletId,
|
|
875
|
+
parsed.orgId || "",
|
|
876
|
+
parsed.challengeId,
|
|
877
|
+
parsed.action,
|
|
878
|
+
JSON.stringify(parsed),
|
|
879
|
+
parsed.issuedAtMs,
|
|
880
|
+
parsed.expiresAtMs
|
|
881
|
+
]).run();
|
|
882
|
+
}
|
|
883
|
+
async get(grantToken) {
|
|
884
|
+
await this.ensureSchema();
|
|
885
|
+
const token = normalizeOptionalTrimmedString(grantToken);
|
|
886
|
+
if (!token) return null;
|
|
887
|
+
const row = await this.bindScope(`SELECT record_json, expires_at_ms
|
|
888
|
+
FROM email_otp_grants
|
|
889
|
+
WHERE namespace = ?
|
|
890
|
+
AND org_id = ?
|
|
891
|
+
AND project_id = ?
|
|
892
|
+
AND env_id = ?
|
|
893
|
+
AND grant_token = ?
|
|
894
|
+
LIMIT 1`, [token]).first();
|
|
895
|
+
const parsed = parseCurrentEmailOtpGrantRow({
|
|
896
|
+
recordJson: parseJsonRecord(row?.record_json),
|
|
897
|
+
expiresAtMs: row?.expires_at_ms
|
|
898
|
+
});
|
|
899
|
+
if (!row) return null;
|
|
900
|
+
if (!parsed) {
|
|
901
|
+
await this.del(token);
|
|
902
|
+
return null;
|
|
903
|
+
}
|
|
904
|
+
return cloneRecord(parsed);
|
|
905
|
+
}
|
|
906
|
+
async consume(grantToken) {
|
|
907
|
+
await this.ensureSchema();
|
|
908
|
+
const token = normalizeOptionalTrimmedString(grantToken);
|
|
909
|
+
if (!token) return null;
|
|
910
|
+
const row = await this.bindScope(`DELETE FROM email_otp_grants
|
|
911
|
+
WHERE namespace = ?
|
|
912
|
+
AND org_id = ?
|
|
913
|
+
AND project_id = ?
|
|
914
|
+
AND env_id = ?
|
|
915
|
+
AND grant_token = ?
|
|
916
|
+
RETURNING record_json, expires_at_ms`, [token]).first();
|
|
917
|
+
const parsed = parseCurrentEmailOtpGrantRow({
|
|
918
|
+
recordJson: parseJsonRecord(row?.record_json),
|
|
919
|
+
expiresAtMs: row?.expires_at_ms
|
|
920
|
+
});
|
|
921
|
+
return parsed ? cloneRecord(parsed) : null;
|
|
922
|
+
}
|
|
923
|
+
async del(grantToken) {
|
|
924
|
+
await this.ensureSchema();
|
|
925
|
+
const token = normalizeOptionalTrimmedString(grantToken);
|
|
926
|
+
if (!token) return;
|
|
927
|
+
await this.bindScope(`DELETE FROM email_otp_grants
|
|
928
|
+
WHERE namespace = ?
|
|
929
|
+
AND org_id = ?
|
|
930
|
+
AND project_id = ?
|
|
931
|
+
AND env_id = ?
|
|
932
|
+
AND grant_token = ?`, [token]).run();
|
|
933
|
+
}
|
|
934
|
+
};
|
|
935
|
+
var D1EmailOtpWalletEnrollmentStore = class extends D1EmailOtpStoreBase {
|
|
936
|
+
constructor(..._args3) {
|
|
937
|
+
super(..._args3);
|
|
938
|
+
this.adapterKind = "d1";
|
|
939
|
+
}
|
|
940
|
+
async get(walletId) {
|
|
941
|
+
await this.ensureSchema();
|
|
942
|
+
const key = normalizeOptionalTrimmedString(walletId);
|
|
943
|
+
if (!key) return null;
|
|
944
|
+
const row = await this.bindScope(`SELECT record_json, updated_at_ms, wallet_id
|
|
945
|
+
FROM email_otp_wallet_enrollments
|
|
946
|
+
WHERE namespace = ?
|
|
947
|
+
AND org_id = ?
|
|
948
|
+
AND project_id = ?
|
|
949
|
+
AND env_id = ?
|
|
950
|
+
AND wallet_id = ?
|
|
951
|
+
LIMIT 1`, [key]).first();
|
|
952
|
+
const parsed = parseCurrentEmailOtpWalletEnrollmentRow({
|
|
953
|
+
recordJson: parseJsonRecord(row?.record_json),
|
|
954
|
+
updatedAtMs: row?.updated_at_ms
|
|
955
|
+
});
|
|
956
|
+
if (!row) return null;
|
|
957
|
+
if (!parsed) {
|
|
958
|
+
await this.del(key);
|
|
959
|
+
return null;
|
|
960
|
+
}
|
|
961
|
+
return cloneRecord(parsed);
|
|
962
|
+
}
|
|
963
|
+
async getByProviderUserId(input) {
|
|
964
|
+
await this.ensureSchema();
|
|
965
|
+
const providerUserId = normalizeOptionalTrimmedString(input.providerUserId);
|
|
966
|
+
const orgId = normalizeOptionalTrimmedString(input.orgId);
|
|
967
|
+
if (!providerUserId || !orgId) return null;
|
|
968
|
+
const row = await this.bindScope(`SELECT record_json, updated_at_ms, wallet_id
|
|
969
|
+
FROM email_otp_wallet_enrollments
|
|
970
|
+
WHERE namespace = ?
|
|
971
|
+
AND org_id = ?
|
|
972
|
+
AND project_id = ?
|
|
973
|
+
AND env_id = ?
|
|
974
|
+
AND record_org_id = ?
|
|
975
|
+
AND provider_user_id = ?
|
|
976
|
+
ORDER BY updated_at_ms DESC
|
|
977
|
+
LIMIT 1`, [orgId, providerUserId]).first();
|
|
978
|
+
const parsed = parseCurrentEmailOtpWalletEnrollmentRow({
|
|
979
|
+
recordJson: parseJsonRecord(row?.record_json),
|
|
980
|
+
updatedAtMs: row?.updated_at_ms
|
|
981
|
+
});
|
|
982
|
+
if (parsed) return cloneRecord(parsed);
|
|
983
|
+
const malformedWalletId = normalizeOptionalTrimmedString(row?.wallet_id);
|
|
984
|
+
if (malformedWalletId) await this.del(malformedWalletId);
|
|
985
|
+
return null;
|
|
986
|
+
}
|
|
987
|
+
async put(record) {
|
|
988
|
+
await this.ensureSchema();
|
|
989
|
+
const parsed = parseCurrentEmailOtpWalletEnrollmentRecord(record);
|
|
990
|
+
if (!parsed) throw new Error("Invalid Email OTP wallet enrollment record");
|
|
991
|
+
assertD1EmailOtpOrgScope({
|
|
992
|
+
recordOrgId: parsed.orgId,
|
|
993
|
+
scope: this.scope,
|
|
994
|
+
label: "Email OTP wallet enrollment"
|
|
995
|
+
});
|
|
996
|
+
await this.bindScope(`INSERT INTO email_otp_wallet_enrollments (
|
|
997
|
+
namespace,
|
|
998
|
+
org_id,
|
|
999
|
+
project_id,
|
|
1000
|
+
env_id,
|
|
1001
|
+
wallet_id,
|
|
1002
|
+
provider_user_id,
|
|
1003
|
+
record_org_id,
|
|
1004
|
+
verified_email,
|
|
1005
|
+
record_json,
|
|
1006
|
+
created_at_ms,
|
|
1007
|
+
updated_at_ms
|
|
1008
|
+
)
|
|
1009
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
1010
|
+
ON CONFLICT (namespace, org_id, project_id, env_id, wallet_id)
|
|
1011
|
+
DO UPDATE SET
|
|
1012
|
+
provider_user_id = EXCLUDED.provider_user_id,
|
|
1013
|
+
record_org_id = EXCLUDED.record_org_id,
|
|
1014
|
+
verified_email = EXCLUDED.verified_email,
|
|
1015
|
+
record_json = EXCLUDED.record_json,
|
|
1016
|
+
created_at_ms = EXCLUDED.created_at_ms,
|
|
1017
|
+
updated_at_ms = EXCLUDED.updated_at_ms`, [
|
|
1018
|
+
parsed.walletId,
|
|
1019
|
+
parsed.providerUserId,
|
|
1020
|
+
parsed.orgId,
|
|
1021
|
+
parsed.verifiedEmail,
|
|
1022
|
+
JSON.stringify(parsed),
|
|
1023
|
+
parsed.createdAtMs,
|
|
1024
|
+
parsed.updatedAtMs
|
|
1025
|
+
]).run();
|
|
1026
|
+
}
|
|
1027
|
+
async del(walletId) {
|
|
1028
|
+
await this.ensureSchema();
|
|
1029
|
+
const key = normalizeOptionalTrimmedString(walletId);
|
|
1030
|
+
if (!key) return;
|
|
1031
|
+
await this.bindScope(`DELETE FROM email_otp_wallet_enrollments
|
|
1032
|
+
WHERE namespace = ?
|
|
1033
|
+
AND org_id = ?
|
|
1034
|
+
AND project_id = ?
|
|
1035
|
+
AND env_id = ?
|
|
1036
|
+
AND wallet_id = ?`, [key]).run();
|
|
1037
|
+
}
|
|
1038
|
+
};
|
|
1039
|
+
var D1EmailOtpAuthStateStore = class extends D1EmailOtpStoreBase {
|
|
1040
|
+
constructor(..._args4) {
|
|
1041
|
+
super(..._args4);
|
|
1042
|
+
this.adapterKind = "d1";
|
|
1043
|
+
}
|
|
1044
|
+
async get(walletId) {
|
|
1045
|
+
await this.ensureSchema();
|
|
1046
|
+
const key = normalizeOptionalTrimmedString(walletId);
|
|
1047
|
+
if (!key) return null;
|
|
1048
|
+
const row = await this.bindScope(`SELECT record_json, updated_at_ms
|
|
1049
|
+
FROM email_otp_auth_states
|
|
1050
|
+
WHERE namespace = ?
|
|
1051
|
+
AND org_id = ?
|
|
1052
|
+
AND project_id = ?
|
|
1053
|
+
AND env_id = ?
|
|
1054
|
+
AND wallet_id = ?
|
|
1055
|
+
LIMIT 1`, [key]).first();
|
|
1056
|
+
const parsed = parseCurrentEmailOtpAuthStateRow({
|
|
1057
|
+
recordJson: parseJsonRecord(row?.record_json),
|
|
1058
|
+
updatedAtMs: row?.updated_at_ms
|
|
1059
|
+
});
|
|
1060
|
+
if (!row) return null;
|
|
1061
|
+
if (!parsed) {
|
|
1062
|
+
await this.del(key);
|
|
1063
|
+
return null;
|
|
1064
|
+
}
|
|
1065
|
+
return cloneRecord(parsed);
|
|
1066
|
+
}
|
|
1067
|
+
async put(record) {
|
|
1068
|
+
await this.ensureSchema();
|
|
1069
|
+
const parsed = parseCurrentEmailOtpAuthStateRecord(record);
|
|
1070
|
+
if (!parsed) throw new Error("Invalid Email OTP auth state record");
|
|
1071
|
+
assertD1EmailOtpOrgScope({
|
|
1072
|
+
recordOrgId: parsed.orgId,
|
|
1073
|
+
scope: this.scope,
|
|
1074
|
+
label: "Email OTP auth state"
|
|
1075
|
+
});
|
|
1076
|
+
await this.bindScope(`INSERT INTO email_otp_auth_states (
|
|
1077
|
+
namespace,
|
|
1078
|
+
org_id,
|
|
1079
|
+
project_id,
|
|
1080
|
+
env_id,
|
|
1081
|
+
wallet_id,
|
|
1082
|
+
provider_user_id,
|
|
1083
|
+
record_org_id,
|
|
1084
|
+
record_json,
|
|
1085
|
+
created_at_ms,
|
|
1086
|
+
updated_at_ms
|
|
1087
|
+
)
|
|
1088
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
1089
|
+
ON CONFLICT (namespace, org_id, project_id, env_id, wallet_id)
|
|
1090
|
+
DO UPDATE SET
|
|
1091
|
+
provider_user_id = EXCLUDED.provider_user_id,
|
|
1092
|
+
record_org_id = EXCLUDED.record_org_id,
|
|
1093
|
+
record_json = EXCLUDED.record_json,
|
|
1094
|
+
created_at_ms = EXCLUDED.created_at_ms,
|
|
1095
|
+
updated_at_ms = EXCLUDED.updated_at_ms`, [
|
|
1096
|
+
parsed.walletId,
|
|
1097
|
+
parsed.providerUserId,
|
|
1098
|
+
parsed.orgId,
|
|
1099
|
+
JSON.stringify(parsed),
|
|
1100
|
+
parsed.createdAtMs,
|
|
1101
|
+
parsed.updatedAtMs
|
|
1102
|
+
]).run();
|
|
1103
|
+
}
|
|
1104
|
+
async del(walletId) {
|
|
1105
|
+
await this.ensureSchema();
|
|
1106
|
+
const key = normalizeOptionalTrimmedString(walletId);
|
|
1107
|
+
if (!key) return;
|
|
1108
|
+
await this.bindScope(`DELETE FROM email_otp_auth_states
|
|
1109
|
+
WHERE namespace = ?
|
|
1110
|
+
AND org_id = ?
|
|
1111
|
+
AND project_id = ?
|
|
1112
|
+
AND env_id = ?
|
|
1113
|
+
AND wallet_id = ?`, [key]).run();
|
|
1114
|
+
}
|
|
1115
|
+
};
|
|
1116
|
+
var D1EmailOtpUnlockChallengeStore = class extends D1EmailOtpStoreBase {
|
|
1117
|
+
constructor(..._args5) {
|
|
1118
|
+
super(..._args5);
|
|
1119
|
+
this.adapterKind = "d1";
|
|
1120
|
+
}
|
|
1121
|
+
async put(record) {
|
|
1122
|
+
await this.ensureSchema();
|
|
1123
|
+
const parsed = parseCurrentEmailOtpUnlockChallengeRecord(record);
|
|
1124
|
+
if (!parsed) throw new Error("Invalid Email OTP unlock challenge record");
|
|
1125
|
+
assertD1EmailOtpOrgScope({
|
|
1126
|
+
recordOrgId: parsed.orgId,
|
|
1127
|
+
scope: this.scope,
|
|
1128
|
+
label: "Email OTP unlock challenge"
|
|
1129
|
+
});
|
|
1130
|
+
await this.bindScope(`INSERT INTO email_otp_unlock_challenges (
|
|
1131
|
+
namespace,
|
|
1132
|
+
org_id,
|
|
1133
|
+
project_id,
|
|
1134
|
+
env_id,
|
|
1135
|
+
challenge_id,
|
|
1136
|
+
wallet_id,
|
|
1137
|
+
user_id,
|
|
1138
|
+
record_org_id,
|
|
1139
|
+
record_json,
|
|
1140
|
+
created_at_ms,
|
|
1141
|
+
expires_at_ms
|
|
1142
|
+
)
|
|
1143
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
1144
|
+
ON CONFLICT (namespace, org_id, project_id, env_id, challenge_id)
|
|
1145
|
+
DO UPDATE SET
|
|
1146
|
+
wallet_id = EXCLUDED.wallet_id,
|
|
1147
|
+
user_id = EXCLUDED.user_id,
|
|
1148
|
+
record_org_id = EXCLUDED.record_org_id,
|
|
1149
|
+
record_json = EXCLUDED.record_json,
|
|
1150
|
+
created_at_ms = EXCLUDED.created_at_ms,
|
|
1151
|
+
expires_at_ms = EXCLUDED.expires_at_ms`, [
|
|
1152
|
+
parsed.challengeId,
|
|
1153
|
+
parsed.walletId,
|
|
1154
|
+
parsed.userId,
|
|
1155
|
+
parsed.orgId || "",
|
|
1156
|
+
JSON.stringify(parsed),
|
|
1157
|
+
parsed.createdAtMs,
|
|
1158
|
+
parsed.expiresAtMs
|
|
1159
|
+
]).run();
|
|
1160
|
+
}
|
|
1161
|
+
async consume(challengeId) {
|
|
1162
|
+
await this.ensureSchema();
|
|
1163
|
+
const id = normalizeOptionalTrimmedString(challengeId);
|
|
1164
|
+
if (!id) return null;
|
|
1165
|
+
const row = await this.bindScope(`DELETE FROM email_otp_unlock_challenges
|
|
1166
|
+
WHERE namespace = ?
|
|
1167
|
+
AND org_id = ?
|
|
1168
|
+
AND project_id = ?
|
|
1169
|
+
AND env_id = ?
|
|
1170
|
+
AND challenge_id = ?
|
|
1171
|
+
RETURNING record_json, expires_at_ms`, [id]).first();
|
|
1172
|
+
const parsed = parseCurrentEmailOtpUnlockChallengeRow({
|
|
1173
|
+
recordJson: parseJsonRecord(row?.record_json),
|
|
1174
|
+
expiresAtMs: row?.expires_at_ms
|
|
1175
|
+
});
|
|
1176
|
+
return parsed ? cloneRecord(parsed) : null;
|
|
1177
|
+
}
|
|
1178
|
+
async del(challengeId) {
|
|
1179
|
+
await this.ensureSchema();
|
|
1180
|
+
const id = normalizeOptionalTrimmedString(challengeId);
|
|
1181
|
+
if (!id) return;
|
|
1182
|
+
await this.bindScope(`DELETE FROM email_otp_unlock_challenges
|
|
1183
|
+
WHERE namespace = ?
|
|
1184
|
+
AND org_id = ?
|
|
1185
|
+
AND project_id = ?
|
|
1186
|
+
AND env_id = ?
|
|
1187
|
+
AND challenge_id = ?`, [id]).run();
|
|
1188
|
+
}
|
|
1189
|
+
};
|
|
1190
|
+
var D1EmailOtpRegistrationAttemptStore = class extends D1EmailOtpStoreBase {
|
|
1191
|
+
constructor(..._args6) {
|
|
1192
|
+
super(..._args6);
|
|
1193
|
+
this.adapterKind = "d1";
|
|
1194
|
+
}
|
|
1195
|
+
async put(record) {
|
|
1196
|
+
await this.ensureSchema();
|
|
1197
|
+
const parsed = parseCurrentGoogleEmailOtpRegistrationAttemptRecord(record);
|
|
1198
|
+
if (!parsed) throw new Error("Invalid Google Email OTP registration attempt record");
|
|
1199
|
+
assertD1EmailOtpOrgScope({
|
|
1200
|
+
recordOrgId: parsed.runtimePolicyScope?.orgId,
|
|
1201
|
+
scope: this.scope,
|
|
1202
|
+
label: "Google Email OTP registration attempt"
|
|
1203
|
+
});
|
|
1204
|
+
await this.bindScope(`INSERT INTO email_otp_registration_attempts (
|
|
1205
|
+
namespace,
|
|
1206
|
+
org_id,
|
|
1207
|
+
project_id,
|
|
1208
|
+
env_id,
|
|
1209
|
+
attempt_id,
|
|
1210
|
+
provider_subject,
|
|
1211
|
+
email,
|
|
1212
|
+
wallet_id,
|
|
1213
|
+
state,
|
|
1214
|
+
owner_proof_binding_digest,
|
|
1215
|
+
runtime_org_id,
|
|
1216
|
+
runtime_policy_key,
|
|
1217
|
+
offer_wallet_ids_json,
|
|
1218
|
+
record_json,
|
|
1219
|
+
created_at_ms,
|
|
1220
|
+
updated_at_ms,
|
|
1221
|
+
expires_at_ms
|
|
1222
|
+
)
|
|
1223
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
1224
|
+
ON CONFLICT (namespace, org_id, project_id, env_id, attempt_id)
|
|
1225
|
+
DO UPDATE SET
|
|
1226
|
+
provider_subject = EXCLUDED.provider_subject,
|
|
1227
|
+
email = EXCLUDED.email,
|
|
1228
|
+
wallet_id = EXCLUDED.wallet_id,
|
|
1229
|
+
state = EXCLUDED.state,
|
|
1230
|
+
owner_proof_binding_digest = EXCLUDED.owner_proof_binding_digest,
|
|
1231
|
+
runtime_org_id = EXCLUDED.runtime_org_id,
|
|
1232
|
+
runtime_policy_key = EXCLUDED.runtime_policy_key,
|
|
1233
|
+
offer_wallet_ids_json = EXCLUDED.offer_wallet_ids_json,
|
|
1234
|
+
record_json = EXCLUDED.record_json,
|
|
1235
|
+
created_at_ms = EXCLUDED.created_at_ms,
|
|
1236
|
+
updated_at_ms = EXCLUDED.updated_at_ms,
|
|
1237
|
+
expires_at_ms = EXCLUDED.expires_at_ms`, [
|
|
1238
|
+
parsed.attemptId,
|
|
1239
|
+
parsed.providerSubject,
|
|
1240
|
+
parsed.email,
|
|
1241
|
+
parsed.walletId,
|
|
1242
|
+
parsed.state,
|
|
1243
|
+
parsed.ownerProofBindingDigest,
|
|
1244
|
+
parsed.runtimePolicyScope?.orgId || "",
|
|
1245
|
+
runtimePolicyScopeKey(parsed.runtimePolicyScope),
|
|
1246
|
+
JSON.stringify(parsed.offerCandidates.map((candidate) => candidate.walletId)),
|
|
1247
|
+
JSON.stringify(parsed),
|
|
1248
|
+
parsed.createdAtMs,
|
|
1249
|
+
parsed.updatedAtMs,
|
|
1250
|
+
parsed.expiresAtMs
|
|
1251
|
+
]).run();
|
|
1252
|
+
}
|
|
1253
|
+
async get(attemptId) {
|
|
1254
|
+
await this.ensureSchema();
|
|
1255
|
+
const id = normalizeOptionalTrimmedString(attemptId);
|
|
1256
|
+
if (!id) return null;
|
|
1257
|
+
const row = await this.bindScope(`SELECT record_json, expires_at_ms, updated_at_ms, attempt_id
|
|
1258
|
+
FROM email_otp_registration_attempts
|
|
1259
|
+
WHERE namespace = ?
|
|
1260
|
+
AND org_id = ?
|
|
1261
|
+
AND project_id = ?
|
|
1262
|
+
AND env_id = ?
|
|
1263
|
+
AND attempt_id = ?
|
|
1264
|
+
LIMIT 1`, [id]).first();
|
|
1265
|
+
const parsed = parseCurrentGoogleEmailOtpRegistrationAttemptRow({
|
|
1266
|
+
recordJson: parseJsonRecord(row?.record_json),
|
|
1267
|
+
expiresAtMs: row?.expires_at_ms,
|
|
1268
|
+
updatedAtMs: row?.updated_at_ms
|
|
1269
|
+
});
|
|
1270
|
+
if (!row) return null;
|
|
1271
|
+
if (!parsed) {
|
|
1272
|
+
await this.deleteAttempt(id);
|
|
1273
|
+
return null;
|
|
1274
|
+
}
|
|
1275
|
+
return cloneRecord(parsed);
|
|
1276
|
+
}
|
|
1277
|
+
async findStartedBySubjectEmail(input) {
|
|
1278
|
+
await this.ensureSchema();
|
|
1279
|
+
const row = await this.bindScope(`SELECT record_json, expires_at_ms, updated_at_ms, attempt_id
|
|
1280
|
+
FROM email_otp_registration_attempts
|
|
1281
|
+
WHERE namespace = ?
|
|
1282
|
+
AND org_id = ?
|
|
1283
|
+
AND project_id = ?
|
|
1284
|
+
AND env_id = ?
|
|
1285
|
+
AND provider_subject = ?
|
|
1286
|
+
AND email = ?
|
|
1287
|
+
AND state IN ('started', 'key_finalized')
|
|
1288
|
+
AND expires_at_ms > ?
|
|
1289
|
+
AND owner_proof_binding_digest = ?
|
|
1290
|
+
AND runtime_org_id = ?
|
|
1291
|
+
AND runtime_policy_key = ?
|
|
1292
|
+
ORDER BY updated_at_ms DESC
|
|
1293
|
+
LIMIT 1`, [
|
|
1294
|
+
input.providerSubject,
|
|
1295
|
+
input.email,
|
|
1296
|
+
input.nowMs,
|
|
1297
|
+
input.ownerProofBindingDigest,
|
|
1298
|
+
input.orgId,
|
|
1299
|
+
runtimePolicyScopeKey(input.runtimePolicyScope)
|
|
1300
|
+
]).first();
|
|
1301
|
+
const parsed = parseCurrentGoogleEmailOtpRegistrationAttemptRow({
|
|
1302
|
+
recordJson: parseJsonRecord(row?.record_json),
|
|
1303
|
+
expiresAtMs: row?.expires_at_ms,
|
|
1304
|
+
updatedAtMs: row?.updated_at_ms
|
|
1305
|
+
});
|
|
1306
|
+
if (parsed && registrationAttemptMatchesStartedScope(parsed, input)) return cloneRecord(parsed);
|
|
1307
|
+
const malformedAttemptId = normalizeOptionalTrimmedString(row?.attempt_id);
|
|
1308
|
+
if (row && !parsed && malformedAttemptId) await this.deleteAttempt(malformedAttemptId);
|
|
1309
|
+
return null;
|
|
1310
|
+
}
|
|
1311
|
+
async abandonStartedBySubjectEmailExceptBinding(input) {
|
|
1312
|
+
await this.ensureSchema();
|
|
1313
|
+
const result = await this.bindScope(`SELECT record_json, expires_at_ms, updated_at_ms, attempt_id
|
|
1314
|
+
FROM email_otp_registration_attempts
|
|
1315
|
+
WHERE namespace = ?
|
|
1316
|
+
AND org_id = ?
|
|
1317
|
+
AND project_id = ?
|
|
1318
|
+
AND env_id = ?
|
|
1319
|
+
AND provider_subject = ?
|
|
1320
|
+
AND email = ?
|
|
1321
|
+
AND state IN ('started', 'key_finalized')
|
|
1322
|
+
AND expires_at_ms > ?`, [
|
|
1323
|
+
input.providerSubject,
|
|
1324
|
+
input.email,
|
|
1325
|
+
input.nowMs
|
|
1326
|
+
]).all();
|
|
1327
|
+
let abandoned = 0;
|
|
1328
|
+
for (const row of result.results || []) {
|
|
1329
|
+
const parsed = parseCurrentGoogleEmailOtpRegistrationAttemptRow({
|
|
1330
|
+
recordJson: parseJsonRecord(row.record_json),
|
|
1331
|
+
expiresAtMs: row.expires_at_ms,
|
|
1332
|
+
updatedAtMs: row.updated_at_ms
|
|
1333
|
+
});
|
|
1334
|
+
if (!parsed) {
|
|
1335
|
+
const attemptId = normalizeOptionalTrimmedString(row.attempt_id);
|
|
1336
|
+
if (attemptId) await this.deleteAttempt(attemptId);
|
|
1337
|
+
continue;
|
|
1338
|
+
}
|
|
1339
|
+
if (!registrationAttemptMatchesReplacementScope(parsed, input)) continue;
|
|
1340
|
+
await this.put({
|
|
1341
|
+
...parsed,
|
|
1342
|
+
state: "abandoned",
|
|
1343
|
+
failureCode: input.failureCode,
|
|
1344
|
+
updatedAtMs: input.nowMs
|
|
1345
|
+
});
|
|
1346
|
+
abandoned += 1;
|
|
1347
|
+
}
|
|
1348
|
+
return abandoned;
|
|
1349
|
+
}
|
|
1350
|
+
async hasLiveStartedWalletAttempt(input) {
|
|
1351
|
+
await this.ensureSchema();
|
|
1352
|
+
const walletId = normalizeOptionalTrimmedString(input.walletId);
|
|
1353
|
+
if (!walletId) return false;
|
|
1354
|
+
const row = await this.bindScope(`SELECT 1 AS found
|
|
1355
|
+
FROM email_otp_registration_attempts
|
|
1356
|
+
WHERE namespace = ?
|
|
1357
|
+
AND org_id = ?
|
|
1358
|
+
AND project_id = ?
|
|
1359
|
+
AND env_id = ?
|
|
1360
|
+
AND state IN ('started', 'key_finalized')
|
|
1361
|
+
AND expires_at_ms > ?
|
|
1362
|
+
AND (
|
|
1363
|
+
wallet_id = ?
|
|
1364
|
+
OR EXISTS (
|
|
1365
|
+
SELECT 1
|
|
1366
|
+
FROM json_each(offer_wallet_ids_json)
|
|
1367
|
+
WHERE value = ?
|
|
1368
|
+
)
|
|
1369
|
+
)
|
|
1370
|
+
LIMIT 1`, [
|
|
1371
|
+
input.nowMs,
|
|
1372
|
+
walletId,
|
|
1373
|
+
walletId
|
|
1374
|
+
]).first();
|
|
1375
|
+
return Boolean(row);
|
|
1376
|
+
}
|
|
1377
|
+
async deleteExpired(nowMs) {
|
|
1378
|
+
await this.ensureSchema();
|
|
1379
|
+
return d1ChangedRows(await this.bindScope(`DELETE FROM email_otp_registration_attempts
|
|
1380
|
+
WHERE namespace = ?
|
|
1381
|
+
AND org_id = ?
|
|
1382
|
+
AND project_id = ?
|
|
1383
|
+
AND env_id = ?
|
|
1384
|
+
AND (expires_at_ms <= ? OR state = 'expired')`, [nowMs]).run());
|
|
1385
|
+
}
|
|
1386
|
+
async deleteAttempt(attemptId) {
|
|
1387
|
+
const id = normalizeOptionalTrimmedString(attemptId);
|
|
1388
|
+
if (!id) return;
|
|
1389
|
+
await this.bindScope(`DELETE FROM email_otp_registration_attempts
|
|
1390
|
+
WHERE namespace = ?
|
|
1391
|
+
AND org_id = ?
|
|
1392
|
+
AND project_id = ?
|
|
1393
|
+
AND env_id = ?
|
|
1394
|
+
AND attempt_id = ?`, [id]).run();
|
|
1395
|
+
}
|
|
1396
|
+
};
|
|
1397
|
+
function createEmailOtpChallengeStore(input) {
|
|
1398
|
+
const d1 = resolveD1EmailOtpStoreOptions(input, "challenge");
|
|
1399
|
+
if (d1) {
|
|
1400
|
+
input?.logger?.info("[email-otp] Using D1 challenge store");
|
|
1401
|
+
return new D1EmailOtpChallengeStore(d1);
|
|
1402
|
+
}
|
|
1403
|
+
assertEmailOtpStoreKindKnown(input, "challenge");
|
|
1404
|
+
input?.logger?.info("[email-otp] Using in-memory challenge store (non-persistent)");
|
|
1405
|
+
return new InMemoryEmailOtpChallengeStore();
|
|
1406
|
+
}
|
|
1407
|
+
function createEmailOtpGrantStore(input) {
|
|
1408
|
+
const d1 = resolveD1EmailOtpStoreOptions(input, "grant");
|
|
1409
|
+
if (d1) {
|
|
1410
|
+
input?.logger?.info("[email-otp] Using D1 grant store");
|
|
1411
|
+
return new D1EmailOtpGrantStore(d1);
|
|
1412
|
+
}
|
|
1413
|
+
assertEmailOtpStoreKindKnown(input, "grant");
|
|
1414
|
+
input?.logger?.info("[email-otp] Using in-memory grant store (non-persistent)");
|
|
1415
|
+
return new InMemoryEmailOtpGrantStore();
|
|
1416
|
+
}
|
|
1417
|
+
function createEmailOtpWalletEnrollmentStore(input) {
|
|
1418
|
+
const d1 = resolveD1EmailOtpStoreOptions(input, "wallet enrollment");
|
|
1419
|
+
if (d1) {
|
|
1420
|
+
input?.logger?.info("[email-otp] Using D1 wallet enrollment store");
|
|
1421
|
+
return new D1EmailOtpWalletEnrollmentStore(d1);
|
|
1422
|
+
}
|
|
1423
|
+
assertEmailOtpStoreKindKnown(input, "enrollment");
|
|
1424
|
+
input?.logger?.info("[email-otp] Using in-memory wallet enrollment store (non-persistent)");
|
|
1425
|
+
return new InMemoryEmailOtpWalletEnrollmentStore();
|
|
1426
|
+
}
|
|
1427
|
+
function createEmailOtpAuthStateStore(input) {
|
|
1428
|
+
const d1 = resolveD1EmailOtpStoreOptions(input, "auth state");
|
|
1429
|
+
if (d1) {
|
|
1430
|
+
input?.logger?.info("[email-otp] Using D1 auth state store");
|
|
1431
|
+
return new D1EmailOtpAuthStateStore(d1);
|
|
1432
|
+
}
|
|
1433
|
+
assertEmailOtpStoreKindKnown(input, "auth state");
|
|
1434
|
+
input?.logger?.info("[email-otp] Using in-memory auth state store (non-persistent)");
|
|
1435
|
+
return new InMemoryEmailOtpAuthStateStore();
|
|
1436
|
+
}
|
|
1437
|
+
function createEmailOtpUnlockChallengeStore(input) {
|
|
1438
|
+
const d1 = resolveD1EmailOtpStoreOptions(input, "unlock challenge");
|
|
1439
|
+
if (d1) {
|
|
1440
|
+
input?.logger?.info("[email-otp] Using D1 unlock challenge store");
|
|
1441
|
+
return new D1EmailOtpUnlockChallengeStore(d1);
|
|
1442
|
+
}
|
|
1443
|
+
assertEmailOtpStoreKindKnown(input, "unlock challenge");
|
|
1444
|
+
input?.logger?.info("[email-otp] Using in-memory unlock challenge store (non-persistent)");
|
|
1445
|
+
return new InMemoryEmailOtpUnlockChallengeStore();
|
|
1446
|
+
}
|
|
1447
|
+
function createEmailOtpRegistrationAttemptStore(input) {
|
|
1448
|
+
const d1 = resolveD1EmailOtpStoreOptions(input, "registration attempt");
|
|
1449
|
+
if (d1) {
|
|
1450
|
+
input?.logger?.info("[email-otp] Using D1 registration attempt store");
|
|
1451
|
+
return new D1EmailOtpRegistrationAttemptStore(d1);
|
|
1452
|
+
}
|
|
1453
|
+
assertEmailOtpStoreKindKnown(input, "registration attempt");
|
|
1454
|
+
input?.logger?.info("[email-otp] Using in-memory registration attempt store (non-persistent)");
|
|
1455
|
+
return new InMemoryEmailOtpRegistrationAttemptStore();
|
|
1456
|
+
}
|
|
1457
|
+
//#endregion
|
|
1458
|
+
export { D1EmailOtpAuthStateStore, D1EmailOtpChallengeStore, D1EmailOtpGrantStore, D1EmailOtpRegistrationAttemptStore, D1EmailOtpUnlockChallengeStore, D1EmailOtpWalletEnrollmentStore, EMAIL_OTP_STORE_D1_SCHEMA_SQL, createEmailOtpAuthStateStore, createEmailOtpChallengeStore, createEmailOtpGrantStore, createEmailOtpRegistrationAttemptStore, createEmailOtpUnlockChallengeStore, createEmailOtpWalletEnrollmentStore, ensureEmailOtpStoreD1Schema, resolveEmailOtpStoreNamespace };
|
|
1459
|
+
|
|
1460
|
+
//# sourceMappingURL=EmailOtpStores.js.map
|