@seams/wallet-server 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD_PARTY_NOTICES.md +7 -1
- package/artifact-manifest.json +196 -41
- package/cloudflare-router-ab/build/deriver-a/build-stamp.json +1 -1
- package/cloudflare-router-ab/build/deriver-a/index.js +2 -2
- package/cloudflare-router-ab/build/deriver-a/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/deriver-b/build-stamp.json +1 -1
- package/cloudflare-router-ab/build/deriver-b/index.js +2 -2
- package/cloudflare-router-ab/build/deriver-b/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/local-tools/darwin-arm64/router_ab_local_init +0 -0
- package/cloudflare-router-ab/build/local-tools/darwin-x64/router_ab_local_init +0 -0
- package/cloudflare-router-ab/build/local-tools/linux-x64/router_ab_local_init +0 -0
- package/cloudflare-router-ab/build/router/build-stamp.json +1 -1
- package/cloudflare-router-ab/build/router/index.js +2 -2
- package/cloudflare-router-ab/build/router/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/signing-worker/build-stamp.json +1 -1
- package/cloudflare-router-ab/build/signing-worker/index.js +2 -2
- package/cloudflare-router-ab/build/signing-worker/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/tenant-root-control-plane/build-stamp.json +1 -1
- package/cloudflare-router-ab/build/tenant-root-control-plane/index.js +2 -2
- package/cloudflare-router-ab/build/tenant-root-control-plane/index_bg.wasm +0 -0
- package/cloudflare-router-ab/migrations/deriver-a/0019_wallet_object_addresses.sql +10 -0
- package/cloudflare-router-ab/migrations/deriver-b/0019_wallet_object_addresses.sql +10 -0
- package/cloudflare-router-ab/scripts/prepare-local-runtime-config.mjs +3 -117
- package/cloudflare-router-ab/wrangler.deriver-a.toml +0 -8
- package/cloudflare-router-ab/wrangler.deriver-b.toml +24 -8
- package/cloudflare-router-ab/wrangler.router.toml +0 -2
- package/cloudflare-router-ab/wrangler.signing-worker.toml +29 -0
- package/dist/esm/authorization/domain.js +3 -2
- package/dist/esm/authorization/ed25519WalletSessionAdmission.js +0 -0
- package/dist/esm/authorization/service.js +64 -36
- package/dist/esm/cloud-host.js +24 -19
- package/dist/esm/core/EmailOtpRecords.js +29 -6
- package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.js +2 -0
- package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.js +10 -0
- package/dist/esm/core/ThresholdService/routerAb/internalServiceHttp.js +1 -0
- package/dist/esm/core/ThresholdService/validation.js +2 -2
- package/dist/esm/core/authService/nearPrivateKeySigning.js +1 -1
- package/dist/esm/core/authService/webauthn.js +1 -1
- package/dist/esm/core/d1Ed25519SignerRead.js +55 -0
- package/dist/esm/core/d1WalletStore.js +14 -11
- package/dist/esm/core/deviceLinking/linkedDeviceEmailOtpGrant.js +2 -2
- package/dist/esm/core/deviceLinking/linkedDeviceManagement.js +1 -1
- package/dist/esm/core/deviceLinking/linkedDeviceSessionRecord.js +2 -2
- package/dist/esm/core/emailOtpD1Statements.js +1 -0
- package/dist/esm/core/nearRelayerAccountProvisioning.js +1 -1
- package/dist/esm/core/routerAbSigning/RouterAbEcdsaPresignRuntime.js +4 -0
- package/dist/esm/core/signingLanes/WalletExecutionLaneProjection.js +1 -1
- package/dist/esm/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.js +1 -0
- package/dist/esm/hosted-wallet-gateway.js +93 -10
- package/dist/esm/localHostedWalletGatewayHandler.js +12 -9
- package/dist/esm/localIntendedYaoSigningFault.js +2 -30
- package/dist/esm/localRegistrationSetupAuthority.js +8 -1
- package/dist/esm/router/auth/commonRouterUtils.js +17 -10
- package/dist/esm/router/auth/routerApiCredentialAuth.js +26 -7
- package/dist/esm/router/auth/walletRegistrationContext.js +49 -0
- package/dist/esm/router/auth/webAuthnCredentialCodecs.js +1 -1
- package/dist/esm/router/cloudflare/d1/auth/d1AuthorizationAssembly.js +4 -3
- package/dist/esm/router/cloudflare/d1/auth/d1AuthorizedOperationRouteService.js +2 -0
- package/dist/esm/router/cloudflare/d1/auth/d1EmailOtpRouteService.js +25 -0
- package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthConfig.js +14 -6
- package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthService.js +44 -40
- package/dist/esm/router/cloudflare/d1/auth/walletSessionCredentialReaders.js +17 -1
- package/dist/esm/router/cloudflare/d1/authorization/authorizedOperationStatements.js +35 -5
- package/dist/esm/router/cloudflare/d1/authorization/d1AuthorizationStore.js +258 -99
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.js +31 -4
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.js +1 -1
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.js +1 -1
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.js +1 -1
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.js +1 -1
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.js +1 -1
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkBuilder.js +1 -1
- package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoLifecycleDecisionStore.js +11 -2
- package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.js +100 -10
- package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoStateWriteFence.js +92 -0
- package/dist/esm/router/cloudflare/d1/ed25519Yao/d1WalletCeremonyActivity.js +77 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.js +14 -8
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.js +14 -8
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.js +3 -1
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.js +58 -38
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.js +27 -20
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.js +1 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.js +1 -0
- package/dist/esm/router/cloudflare/d1/oidc/d1OidcBoundary.js +1 -1
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.js +18 -7
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.js +75 -14
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.js +1 -1
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.js +49 -29
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationSessionTransaction.js +28 -0
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationSetupSupport.js +11 -1
- package/dist/esm/router/cloudflare/d1/registration/d1WalletExecutionAuthority.js +168 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletOperationStore.js +53 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.js +83 -42
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationInitialSession.js +33 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationPreparation.js +16 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationRead.js +58 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationService.js +439 -500
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetup.js +1 -1
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetupExecution.js +104 -90
- package/dist/esm/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.js +78 -44
- package/dist/esm/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.js +11 -35
- package/dist/esm/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.js +98 -39
- package/dist/esm/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.js +12 -9
- package/dist/esm/router/cloudflare/d1/wallet/authorizationSnapshotLayout.js +168 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerFinalizeRecord.js +1 -1
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerService.js +15 -6
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodService.js +3 -40
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorityStore.js +54 -1
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorizationCleanup.js +157 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorizationFreeze.js +56 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorizationHistory.js +238 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorizationIntake.js +287 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorizationSnapshot.js +295 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationApprovals.js +140 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationChallenges.js +170 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationEmailOtp.js +60 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationOwner.js +33 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationOwnerRequest.js +74 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationPasskey.js +77 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationReadAccess.js +37 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationSessions.js +97 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationWriteBlock.js +133 -0
- package/dist/esm/router/cloudflare/d1/walletObjectAddresses.js +47 -0
- package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.js +1 -1
- package/dist/esm/router/cloudflare/runtime/routerAbServiceBindings.js +32 -1
- package/dist/esm/router/cloudflare/runtime/staticWalletConsoleBinding.js +20 -8
- package/dist/esm/router/cloudflare/runtime/walletAuthorizationRelocationRoutes.js +488 -0
- package/dist/esm/router/cloudflare/runtime/walletConsoleOps.js +1 -1
- package/dist/esm/router/cloudflare/runtime/walletConsoleOpsClient.js +26 -6
- package/dist/esm/router/cloudflare/runtime/walletControlOps.js +3 -0
- package/dist/esm/router/cloudflare/runtime/walletGateway.js +1 -1
- package/dist/esm/router/cloudflare/runtime/walletObjectAddresses.js +105 -0
- package/dist/esm/router/cloudflare/runtime/walletPlacementRoutes.js +339 -0
- package/dist/esm/router/cloudflare/runtime/walletRelocationDeriver.js +244 -0
- package/dist/esm/router/cloudflare/runtime/walletRelocationEcdsa.js +212 -0
- package/dist/esm/router/cloudflare/runtime/walletRelocationEd25519.js +172 -0
- package/dist/esm/router/cloudflare/runtime/walletRelocationOps.js +183 -0
- package/dist/esm/router/cloudflare/runtime/walletRelocationPresign.js +185 -0
- package/dist/esm/router/cloudflare/runtime/walletRelocationSource.js +221 -0
- package/dist/esm/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.js +30 -8
- package/dist/esm/router/cloudflare-adaptor.js +8 -8
- package/dist/esm/router/cloudflare.js +34115 -32240
- package/dist/esm/router/domains/ecdsa/routerAbEcdsaStrictRegistration.js +35 -9
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoCapabilityCommit.js +42 -0
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.js +32 -6
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.js +61 -1
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPersistence.js +70 -3
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.js +59 -87
- package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.js +52 -22
- package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.js +10 -7
- package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.js +108 -78
- package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.js +19 -5
- package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryWalletSessionAuthorization.js +71 -22
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.js +37 -25
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.js +3 -3
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.js +2 -1
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.js +24 -3
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationRequestScopedCloudflare.js +4 -3
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.js +20 -7
- package/dist/esm/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.js +7 -1
- package/dist/esm/router/domains/emailOtp/emailOtpRouteHandlers.js +2 -2
- package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.js +1 -1
- package/dist/esm/router/domains/passkeyCustody/registrationCustodyOutcome.js +34 -18
- package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationAdmission.js +2 -2
- package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationCommit.js +16 -6
- package/dist/esm/router/domains/signingOperations/authorizedOperationWire.js +73 -0
- package/dist/esm/router/domains/signingOperations/ecdsaSigningResponse.js +31 -0
- package/dist/esm/router/domains/signingOperations/ed25519AuthorizedOperationReceipt.js +1 -1
- package/dist/esm/router/domains/signingOperations/routerAbEcdsaDerivationNormalSigningRoute.js +2 -1
- package/dist/esm/router/domains/signingOperations/routerAbEd25519NormalSigningRoute.js +31 -121
- package/dist/esm/router/domains/signingOperations/routerAbNormalSigningAdmission.js +2 -93
- package/dist/esm/router/domains/signingOperations/routerAbPrivateSigningWorker.js +1 -1
- package/dist/esm/router/domains/signingOperations/signingPrepareSession.js +33 -0
- package/dist/esm/router/domains/walletRegistration/registrationSessionSeal.js +121 -0
- package/dist/esm/router/domains/walletRegistration/walletRegistrationReservation.js +4 -4
- package/dist/esm/router/domains/walletRegistration/walletRegistrationRoutes.js +46 -157
- package/dist/esm/router/domains/walletRegistration/walletRegistrationSetupPayload.js +1 -1
- package/dist/esm/router/express.js +764 -894
- package/dist/esm/router/framework/http.js +2 -1
- package/dist/esm/router/transport/fetch/createFetchRouter.js +2 -2
- package/dist/esm/router/transport/fetch/routes/auth.js +1 -1
- package/dist/esm/router/transport/fetch/routes/deviceLinking.js +3 -3
- package/dist/esm/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.js +2 -2
- package/dist/esm/router/transport/fetch/routes/ed25519AuthorizedOperationRevalidation.js +65 -0
- package/dist/esm/router/transport/fetch/routes/normalSigningRouterProxy.js +13 -3
- package/dist/esm/router/transport/fetch/routes/passkeyCustody.js +3 -3
- package/dist/esm/router/transport/fetch/routes/sessions.js +3 -2
- package/dist/esm/router/transport/fetch/routes/thresholdEcdsa.js +67 -130
- package/dist/esm/router/transport/fetch/routes/thresholdEd25519.js +76 -212
- package/dist/esm/router/transport/fetch/routes/walletExecutionLanePreflight.js +18 -41
- package/dist/esm/router/transport/fetch/routes/walletRegistration.js +6 -5
- package/dist/esm/router/transport/fetch/routes/webauthnAuthenticators.js +1 -1
- package/dist/esm/shared-ts/src/authorization/index.js +1 -1
- package/dist/esm/shared-ts/src/authorization/walletAuthority.js +2 -2
- package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +12 -2
- package/dist/esm/shared-ts/src/device-linking/digests.js +1 -1
- package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +1 -1
- package/dist/esm/shared-ts/src/device-linking/index.js +1 -1
- package/dist/esm/shared-ts/src/device-linking/parsers.js +1 -1
- package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +1 -1
- package/dist/esm/shared-ts/src/device-linking/wireFields.js +1 -1
- package/dist/esm/shared-ts/src/near/nearClient.js +1 -1
- package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +2 -2
- package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +6 -1
- package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +4 -2
- package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +1 -1
- package/dist/esm/shared-ts/src/utils/routerAbPublicKeyset.js +0 -27
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +1 -1
- package/dist/esm/threshold/session/signingSessionSeal/options.js +1 -1
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
- package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +2 -1
- package/dist/types/shared-ts/src/device-linking/contracts.d.ts +10 -0
- package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +2 -1
- package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +3 -1
- package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +0 -9
- package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +1 -1
- package/dist/types/wallet-server/src/authorization/domain.d.ts +17 -1
- package/dist/types/wallet-server/src/authorization/ecdsaWalletSessionAdmission.d.ts +1 -0
- package/dist/types/wallet-server/src/authorization/ed25519WalletSessionAdmission.d.ts +35 -0
- package/dist/types/wallet-server/src/authorization/ed25519WalletSessionAdmission.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/authorization/service.d.ts +43 -5
- package/dist/types/wallet-server/src/authorization/sessionRouting.d.ts +2 -0
- package/dist/types/wallet-server/src/cloud-host.d.ts +7 -3
- package/dist/types/wallet-server/src/core/EmailOtpRecords.d.ts +2 -1
- package/dist/types/wallet-server/src/core/EmailOtpStores.d.ts +19 -5
- package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.d.ts +1 -0
- package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.d.ts +6 -0
- package/dist/types/wallet-server/src/core/ThresholdService/routerAb/internalServiceHttp.d.ts +1 -0
- package/dist/types/wallet-server/src/core/d1Ed25519SignerRead.d.ts +17 -0
- package/dist/types/wallet-server/src/core/d1WalletStore.d.ts +6 -0
- package/dist/types/wallet-server/src/core/emailOtpD1Statements.d.ts +1 -0
- package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbEcdsaPresignRuntime.d.ts +5 -1
- package/dist/types/wallet-server/src/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.d.ts +1 -0
- package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.d.ts +14 -48
- package/dist/types/wallet-server/src/hosted-wallet-gateway.d.ts +4 -3
- package/dist/types/wallet-server/src/localIntendedYaoSigningFault.d.ts +1 -16
- package/dist/types/wallet-server/src/localRegistrationSetupAuthority.d.ts +1 -1
- package/dist/types/wallet-server/src/router/auth/commonRouterUtils.d.ts +7 -1
- package/dist/types/wallet-server/src/router/auth/routerApiCredentialAuth.d.ts +11 -3
- package/dist/types/wallet-server/src/router/auth/walletRegistrationContext.d.ts +8 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1AuthorizationAssembly.d.ts +1 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1EmailOtpRouteService.d.ts +16 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthConfig.d.ts +7 -4
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthService.d.ts +4 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/walletSessionCredentialReaders.d.ts +7 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/d1AuthorizationStore.d.ts +32 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.d.ts +2 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoLifecycleDecisionStore.d.ts +3 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.d.ts +1 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoStateWriteFence.d.ts +8 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1WalletCeremonyActivity.d.ts +15 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.d.ts +6 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.d.ts +1 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.d.ts +4 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpCounters.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.d.ts +6 -29
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.d.ts +21 -7
- package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.d.ts +17 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.d.ts +32 -7
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.d.ts +16 -7
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationSessionTransaction.d.ts +13 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationSetupSupport.d.ts +7 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletExecutionAuthority.d.ts +41 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletOperationStore.d.ts +28 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.d.ts +6 -9
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationInitialSession.d.ts +17 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationPreparation.d.ts +12 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationRead.d.ts +43 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationService.d.ts +24 -45
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetupExecution.d.ts +9 -4
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.d.ts +42 -14
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.d.ts +5 -4
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.d.ts +24 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.d.ts +10 -4
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/authorizationSnapshotLayout.d.ts +21 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.d.ts +3 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodService.d.ts +3 -7
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorityStore.d.ts +8 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationCleanup.d.ts +20 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationFreeze.d.ts +12 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationHistory.d.ts +20 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationIntake.d.ts +29 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationSnapshot.d.ts +31 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationApprovals.d.ts +49 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationChallenges.d.ts +47 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationEmailOtp.d.ts +25 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationOwner.d.ts +88 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationOwnerRequest.d.ts +37 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationPasskey.d.ts +12 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationReadAccess.d.ts +18 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationSessions.d.ts +23 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationWriteBlock.d.ts +16 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/walletObjectAddresses.d.ts +14 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/routerAbServiceBindings.d.ts +13 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletAuthorizationRelocationRoutes.d.ts +21 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOps.d.ts +1 -1
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOpsClient.d.ts +3 -3
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletControlOps.d.ts +2 -1
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletGateway.d.ts +3 -1
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletObjectAddresses.d.ts +45 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletPlacementRoutes.d.ts +30 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationDeriver.d.ts +11 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationEcdsa.d.ts +7 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationEd25519.d.ts +7 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationOps.d.ts +11 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationPresign.d.ts +7 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationSource.d.ts +26 -0
- package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.d.ts +5 -0
- package/dist/types/wallet-server/src/router/domains/ecdsa/routerAbEcdsaStrictRegistration.d.ts +3 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoCapabilityCommit.d.ts +7 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.d.ts +41 -7
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.d.ts +33 -2
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.d.ts +12 -6
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.d.ts +17 -9
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryWalletSessionAuthorization.d.ts +2 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.d.ts +13 -14
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.d.ts +7 -3
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.d.ts +1 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.d.ts +6 -1
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.d.ts +11 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.d.ts +12 -3
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/registrationCustodyOutcome.d.ts +10 -6
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationAdmission.d.ts +10 -3
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationCommit.d.ts +12 -5
- package/dist/types/wallet-server/src/router/domains/signingOperations/authorizedOperationWire.d.ts +97 -0
- package/dist/types/wallet-server/src/router/domains/signingOperations/ecdsaSigningResponse.d.ts +13 -0
- package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmission.d.ts +9 -206
- package/dist/types/wallet-server/src/router/domains/signingOperations/signingPrepareSession.d.ts +23 -0
- package/dist/types/wallet-server/src/router/domains/walletRegistration/registrationSessionSeal.d.ts +36 -0
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationInputs.d.ts +7 -7
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationReservation.d.ts +80 -6
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationRoutes.d.ts +15 -5
- package/dist/types/wallet-server/src/router/framework/apiCredentialPorts.d.ts +24 -0
- package/dist/types/wallet-server/src/router/framework/authServicePort.d.ts +21 -7
- package/dist/types/wallet-server/src/router/framework/routerApi.d.ts +3 -12
- package/dist/types/wallet-server/src/router/transport/fetch/routes/ed25519AuthorizedOperationRevalidation.d.ts +37 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEcdsa.d.ts +1 -17
- package/dist/types/wallet-server/src/storage/tenantRoute.d.ts +1 -1
- package/migrations/d1-signer/0049_wallet_relocation_challenges.sql +16 -0
- package/migrations/d1-signer/0050_wallet_relocation_approvals.sql +14 -0
- package/migrations/d1-signer/0051_wallet_relocation_email_otp.sql +92 -0
- package/migrations/d1-signer/0052_wallet_relocation_session_fences.sql +91 -0
- package/migrations/d1-signer/0053_wallet_hosted_history_import.sql +164 -0
- package/migrations/d1-signer/0054_wallet_authorization_freeze.sql +318 -0
- package/migrations/d1-signer/0055_wallet_authorization_snapshot.sql +120 -0
- package/migrations/d1-signer/0056_wallet_authorization_history_import.sql +424 -0
- package/migrations/d1-signer/0057_wallet_authorization_intake.sql +44 -0
- package/migrations/d1-signer/0058_wallet_ceremony_activity.sql +59 -0
- package/migrations/d1-signer/0059_wallet_authorization_activation.sql +45 -0
- package/migrations/d1-signer/0060_wallet_authorization_cleanup.sql +153 -0
- package/migrations/d1-signer/0061_wallet_session_operation_settlement.sql +28 -0
- package/migrations/d1-signer/0062_wallet_step_up_operation_settlement.sql +204 -0
- package/migrations/d1-signer/0063_wallet_operation_history_transfer.sql +466 -0
- package/migrations/d1-signer/0064_wallet_execution_generations.sql +93 -0
- package/migrations/d1-signer/0065_wallet_operation_execution_generation.sql +37 -0
- package/migrations/d1-signer/0066_regional_deployment_admission.sql +59 -0
- package/migrations/d1-signer/0067_registration_completion_decision.sql +12 -0
- package/migrations/d1-signer/0068_registration_cancellation_write_fence.sql +24 -0
- package/migrations/d1-signer/0069_cancelled_registration_session_fence.sql +11 -0
- package/migrations/d1-signer/0070_wallet_passkey_relocation.sql +369 -0
- package/migrations/d1-signer/0071_regional_wallet_otp_counters.sql +98 -0
- package/migrations/d1-signer/0072_linked_device_relocation_history.sql +899 -0
- package/migrations/d1-signer/0073_wallet_recovery_relocation.sql +86 -0
- package/migrations/d1-signer/0074_email_otp_relocation.sql +158 -0
- package/migrations/d1-signer/0075_wallet_authorization_return.sql +107 -0
- package/migrations/d1-signer/0076_wallet_relocation_write_block.sql +406 -0
- package/migrations/d1-signer/0077_wallet_object_addresses.sql +24 -0
- package/package.json +1 -1
- package/src/README.md +23 -1
- package/cloudflare-router-ab/scripts/local-key-material.mjs +0 -29
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type { WalletSessionHome } from '../../../../../../shared-ts/src/device-linking/contracts';
|
|
1
2
|
import type { SponsoredNamedNearAccountInput } from '../near/d1SponsoredNearAccount';
|
|
2
|
-
import { type
|
|
3
|
+
import { type TenantId } from '../../../../../../shared-ts/src/authorization/capabilityKinds';
|
|
3
4
|
import { type RuntimePolicyScope } from '../../../../../../shared-ts/src/threshold/signingRootScope';
|
|
4
5
|
import type { DigestB64u } from '../../../../../../shared-ts/src/utils/canonicalPrimitives';
|
|
5
6
|
import { type MpcMaterialActivationRef, type WalletAuthMethodId, type WalletAuthorityId } from '../../../../../../shared-ts/src/utils/domainIds';
|
|
@@ -13,6 +14,7 @@ import { type ThresholdEcdsaKeyInventoryDiagnostics, type ThresholdEcdsaKeyInven
|
|
|
13
14
|
import type { EcdsaMaterialActivationReadInput } from '../../../../core/d1EcdsaSignerRead';
|
|
14
15
|
import type { D1WalletStore } from '../../../../core/d1WalletStore';
|
|
15
16
|
import type { EcdsaMaterialReadSnapshot } from '../../../../core/ecdsaMaterialReadSnapshot';
|
|
17
|
+
import type { Ed25519SignerRead } from '../../../../core/d1Ed25519SignerRead';
|
|
16
18
|
import { type StoredWalletRegistrationEvmFamilyEcdsaPendingActivationBranch } from '../../../../core/RegistrationCeremonyStore';
|
|
17
19
|
import { WalletRegistrationEcdsaActivationResponse } from '../../../../core/registrationContracts';
|
|
18
20
|
import type { WalletRegistrationActivateResponseV2, WalletRegistrationNearAdmissionResponseV2, WalletRegistrationNearProvisioningResponseV2, WalletRegistrationRespondResponseV2, WalletRegistrationSessionCommitReceiptV2, WalletRegistrationSetupResponseV2 } from '../../../../core/threeRouteRegistrationContracts';
|
|
@@ -26,7 +28,9 @@ import type { RouterAbEd25519YaoBudgetRefreshRequestV1, RouterAbEd25519YaoBudget
|
|
|
26
28
|
import type { TenantRootCustodyLineageResolverV1 } from '../../../domains/tenantRoot/tenantRootCustodyLineage';
|
|
27
29
|
import { type TenantRootIdentityV1 } from '../../../domains/tenantRoot/tenantRootIdentityResolution';
|
|
28
30
|
import type { WalletRegistrationActivateInput, WalletRegistrationNearAdmissionInput, WalletRegistrationNearProvisioningInput, WalletRegistrationRespondInput, WalletRegistrationSetupInput } from '../../../domains/walletRegistration/walletRegistrationInputs';
|
|
29
|
-
import type {
|
|
31
|
+
import type { WalletExecutionAuthority, RegistrationWalletStarter, WalletRegistrationHomeAuthority } from '../../../domains/walletRegistration/walletRegistrationReservation';
|
|
32
|
+
import type { D1WalletRegistrationRead } from './d1WalletRegistrationRead';
|
|
33
|
+
import { type D1WalletRegistrationOperationPreparedV1 } from './d1WalletRegistrationPreparation';
|
|
30
34
|
import type { InstalledEcdsaCustodySnapshotV1, InstalledLinkedDeviceEcdsaAuthorityProjectionV1, InstalledLinkedDeviceEd25519AuthorityProjectionV1 } from '../deviceLinking/d1LinkedDeviceAuthorityInstallService';
|
|
31
35
|
import type { CloudflareD1Ed25519YaoLifecycleDecisionStoreV1 } from '../ed25519Yao/d1Ed25519YaoLifecycleDecisionStore';
|
|
32
36
|
import { CloudflareD1EmailOtpRegistrationEnrollmentFinalizer } from '../emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer';
|
|
@@ -35,6 +39,7 @@ import type { CloudflareD1VersionedJsonRecordReadManyEntryV1 } from '../versione
|
|
|
35
39
|
import { CloudflareD1WalletAuthMethodService } from '../wallet/d1WalletAuthMethodService';
|
|
36
40
|
import { CloudflareD1RegistrationCeremonyIntentStore } from './d1RegistrationCeremonyStore';
|
|
37
41
|
import type { D1WalletRegistrationCommitStore } from './d1WalletRegistrationCommitStore';
|
|
42
|
+
import { type RegistrationSessionTransactionStore } from './d1WalletRegistrationInitialSession';
|
|
38
43
|
type ActivateWalletRegistrationEcdsaInput = {
|
|
39
44
|
readonly registrationCeremonyId: string;
|
|
40
45
|
readonly ecdsa: {
|
|
@@ -65,12 +70,6 @@ type D1LinkedDeviceEd25519AuthorityReaderV1 = {
|
|
|
65
70
|
readonly materialActivation: MpcMaterialActivationRef;
|
|
66
71
|
}): Promise<InstalledEcdsaCustodySnapshotV1 | null>;
|
|
67
72
|
};
|
|
68
|
-
export type D1WalletRegistrationOperationPreparedV1 = {
|
|
69
|
-
readonly kind: 'd1_wallet_registration_operation_prepared_v1';
|
|
70
|
-
readonly walletAuthorityId: WalletAuthorityId;
|
|
71
|
-
readonly deviceId: DeviceId;
|
|
72
|
-
readonly walletAuthMethodId: WalletAuthMethodId;
|
|
73
|
-
};
|
|
74
73
|
/** The activate operation row stores one credential-free commit receipt. */
|
|
75
74
|
export type D1WalletRegistrationActivateSideEffectRecord = RouterAbEd25519YaoRegistrationSideEffectRecordV2<WalletRegistrationSessionCommitReceiptV2, D1WalletRegistrationOperationPreparedV1>;
|
|
76
75
|
export type D1WalletRegistrationActivateSideEffectStore = RouterAbEd25519YaoRegistrationSideEffectStoreV2<WalletRegistrationSessionCommitReceiptV2, D1WalletRegistrationOperationPreparedV1> & {
|
|
@@ -78,7 +77,6 @@ export type D1WalletRegistrationActivateSideEffectStore = RouterAbEd25519YaoRegi
|
|
|
78
77
|
readonly limit?: number;
|
|
79
78
|
}): Promise<readonly CloudflareD1VersionedJsonRecordReadManyEntryV1<D1WalletRegistrationActivateSideEffectRecord>[]>;
|
|
80
79
|
};
|
|
81
|
-
export type D1WalletRegistrationNearProvisioningSideEffectStore = RouterAbEd25519YaoRegistrationSideEffectStoreV2<WalletRegistrationSessionCommitReceiptV2, D1WalletRegistrationOperationPreparedV1>;
|
|
82
80
|
export type D1WalletRegistrationNearProvisioningSideEffectRecord = RouterAbEd25519YaoRegistrationSideEffectRecordV2<WalletRegistrationSessionCommitReceiptV2, D1WalletRegistrationOperationPreparedV1>;
|
|
83
81
|
type RegistrationCeremonyStoreProvider = () => CloudflareD1RegistrationCeremonyIntentStore;
|
|
84
82
|
type WalletStoreProvider = () => D1WalletStore;
|
|
@@ -118,8 +116,10 @@ type EcdsaPostRegistrationProofInput = {
|
|
|
118
116
|
readonly response: RouterAbEcdsaDerivationActivationRefreshForwardedResponseV1;
|
|
119
117
|
};
|
|
120
118
|
export declare class CloudflareD1WalletRegistrationService {
|
|
119
|
+
private readonly executionAuthority;
|
|
121
120
|
private readonly registrationAuthority;
|
|
122
121
|
private readonly authorizationService;
|
|
122
|
+
private readonly registrationSessionStore;
|
|
123
123
|
private readonly authorizationTenantId;
|
|
124
124
|
private readonly createSponsoredNamedNearAccount;
|
|
125
125
|
private readonly emailOtpRegistrationEnrollmentFinalizer;
|
|
@@ -130,17 +130,23 @@ export declare class CloudflareD1WalletRegistrationService {
|
|
|
130
130
|
private readonly getWalletStore;
|
|
131
131
|
/** The single Gateway operation row for activate-with-finalize. */
|
|
132
132
|
private readonly activateSideEffects;
|
|
133
|
-
/**
|
|
134
|
-
private readonly
|
|
133
|
+
/** Registration admission and state loaded in one database snapshot. */
|
|
134
|
+
private readonly registrationRead;
|
|
135
135
|
private readonly walletRegistrationCommitStore;
|
|
136
136
|
/** Where a ceremony's sealed custody seed and its recovery set land. */
|
|
137
137
|
private readonly walletCustodyCommitStore;
|
|
138
138
|
private readonly walletAuthMethods;
|
|
139
139
|
private readonly getLinkedDeviceEd25519AuthorityReader;
|
|
140
140
|
private readonly yaoLifecycleDecisions;
|
|
141
|
+
private readonly home;
|
|
142
|
+
private readonly startRegistrationWallets;
|
|
141
143
|
constructor(input: {
|
|
142
|
-
readonly
|
|
144
|
+
readonly home: WalletSessionHome;
|
|
145
|
+
readonly executionAuthority: WalletExecutionAuthority;
|
|
146
|
+
readonly registrationAuthority: WalletRegistrationHomeAuthority | null;
|
|
147
|
+
readonly startRegistrationWallets: RegistrationWalletStarter | null;
|
|
143
148
|
readonly authorizationService: AuthorizationService;
|
|
149
|
+
readonly registrationSessionStore: RegistrationSessionTransactionStore;
|
|
144
150
|
readonly authorizationTenantId: TenantId;
|
|
145
151
|
readonly createSponsoredNamedNearAccount: SponsoredNamedNearAccountCreator;
|
|
146
152
|
readonly emailOtpRegistrationEnrollmentFinalizer: CloudflareD1EmailOtpRegistrationEnrollmentFinalizer;
|
|
@@ -150,7 +156,7 @@ export declare class CloudflareD1WalletRegistrationService {
|
|
|
150
156
|
readonly tenantRootCustodyLineage: TenantRootCustodyLineageResolverV1;
|
|
151
157
|
readonly getWalletStore: WalletStoreProvider;
|
|
152
158
|
readonly activateSideEffects: D1WalletRegistrationActivateSideEffectStore;
|
|
153
|
-
readonly
|
|
159
|
+
readonly registrationRead: D1WalletRegistrationRead;
|
|
154
160
|
readonly walletRegistrationCommitStore: D1WalletRegistrationCommitStore;
|
|
155
161
|
readonly walletCustodyCommitStore: CloudflareD1WalletCustodyCommitStore;
|
|
156
162
|
readonly walletAuthMethods: CloudflareD1WalletAuthMethodService;
|
|
@@ -160,6 +166,7 @@ export declare class CloudflareD1WalletRegistrationService {
|
|
|
160
166
|
resolveEd25519MaterialActivation(input: {
|
|
161
167
|
readonly walletId: string;
|
|
162
168
|
readonly materialActivation: RouterAbMpcMaterialActivationRefWire;
|
|
169
|
+
readonly signerRead?: Ed25519SignerRead;
|
|
163
170
|
}): Promise<{
|
|
164
171
|
readonly ok: true;
|
|
165
172
|
readonly materialActivation: RouterAbMpcMaterialActivationRefWire;
|
|
@@ -206,6 +213,7 @@ export declare class CloudflareD1WalletRegistrationService {
|
|
|
206
213
|
readonly materialActivation: RouterAbMpcMaterialActivationRefWire;
|
|
207
214
|
}): Promise<{
|
|
208
215
|
readonly ok: true;
|
|
216
|
+
readonly ownershipGeneration: number;
|
|
209
217
|
readonly identityDigestB64u: string;
|
|
210
218
|
readonly custodyLineageB64u: string;
|
|
211
219
|
readonly projectEnvironmentId: string;
|
|
@@ -253,12 +261,6 @@ export declare class CloudflareD1WalletRegistrationService {
|
|
|
253
261
|
setupWalletRegistration(input: WalletRegistrationSetupInput): Promise<WalletRegistrationSetupResponseV2>;
|
|
254
262
|
authorizeWalletRegistrationNearAdmission(input: WalletRegistrationNearAdmissionInput): Promise<WalletRegistrationNearAdmissionResponseV2>;
|
|
255
263
|
respondWalletRegistration(input: WalletRegistrationRespondInput, traceContext?: RouterAbTraceContextV1, timingSink?: Array<readonly [string, number]>): Promise<WalletRegistrationRespondResponseV2>;
|
|
256
|
-
/**
|
|
257
|
-
* The Ed25519 commit core, extracted so deferred provisioning reaches it
|
|
258
|
-
* without going through the standalone finalize wrapper. The operation row
|
|
259
|
-
* owns idempotency here, so the commit keeps no replay cache of its own.
|
|
260
|
-
*/
|
|
261
|
-
private readRegistrationOwnerProofContext;
|
|
262
264
|
/** For callers that must read the context before finalize tombstones it. */
|
|
263
265
|
private registrationOwnerProofWithContext;
|
|
264
266
|
authorizeNearRegistrationContinuation(input: {
|
|
@@ -267,37 +269,14 @@ export declare class CloudflareD1WalletRegistrationService {
|
|
|
267
269
|
}): Promise<VerifiedNearRegistrationContinuationV1 | null>;
|
|
268
270
|
private readNearRegistrationContinuationContext;
|
|
269
271
|
private readCommittedRegistrationInstallation;
|
|
272
|
+
/** Carries the preparation's ceremony into this request's execution. */
|
|
270
273
|
private prepareNearProvisioningOperation;
|
|
271
274
|
private commitDeferredEd25519Signer;
|
|
272
275
|
private replayWalletRegistrationActivateCommit;
|
|
273
276
|
private replayWalletRegistrationNearProvisioningCommit;
|
|
274
|
-
/**
|
|
275
|
-
* Deferred NEAR provisioning. Verifies the signed setup, then reuses the
|
|
276
|
-
* existing deferred Ed25519 commit — the same path lazy-Yao 4+5 built — so
|
|
277
|
-
* signer installation and the implicit-account projection keep one
|
|
278
|
-
* implementation across both plans.
|
|
279
|
-
*
|
|
280
|
-
* A retryable failure leaves the pending wallet intact: the wallet must not
|
|
281
|
-
* be destroyed because its signer ceremony needs another attempt.
|
|
282
|
-
*/
|
|
277
|
+
/** Verifies registration or continuation authority without destroying retryable state. */
|
|
283
278
|
private verifyNearProvisioningAuthority;
|
|
284
|
-
completeWalletRegistrationNearProvisioning(input: WalletRegistrationNearProvisioningInput, timingSink?: Array<readonly [string, number]>): Promise<WalletRegistrationNearProvisioningResponseV2>;
|
|
285
|
-
/**
|
|
286
|
-
* Persists the Ed25519-only wallet in `near_pending`: wallet, profile, and
|
|
287
|
-
* authentication state, and no signer record — the signer does not exist
|
|
288
|
-
* until deferred Yao produces it.
|
|
289
|
-
*
|
|
290
|
-
* The terminal response carries no signer, resolved account, or key
|
|
291
|
-
* identity, because none of those are known yet. Reporting them would be
|
|
292
|
-
* fabricating readiness.
|
|
293
|
-
*/
|
|
294
|
-
private commitEd25519PendingWallet;
|
|
295
|
-
/**
|
|
296
|
-
* Ed25519-only respond. The wallet's sole signer is Yao, and that is
|
|
297
|
-
* deliberately not a reason to block: the admission is returned as deferred
|
|
298
|
-
* work exactly as on a mixed plan, and the wallet lives in `near_pending`
|
|
299
|
-
* until the computation completes.
|
|
300
|
-
*/
|
|
279
|
+
completeWalletRegistrationNearProvisioning(input: WalletRegistrationNearProvisioningInput, timingSink?: Array<readonly [string, number]>, waitUntil?: (promise: Promise<unknown>) => void): Promise<WalletRegistrationNearProvisioningResponseV2>;
|
|
301
280
|
/**
|
|
302
281
|
* Respond replay stays authority-bound.
|
|
303
282
|
*
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
+
import type { WalletSessionHome } from '../../../../../../shared-ts/src/device-linking/contracts';
|
|
1
2
|
import type { WalletRegistrationSetupResponseV2 } from '../../../../core/threeRouteRegistrationContracts';
|
|
2
3
|
import { type RouterAbEcdsaStrictRegistrationPort } from '../../../domains/ecdsa/routerAbEcdsaStrictRegistration';
|
|
3
4
|
import type { WalletRegistrationSetupInput } from '../../../domains/walletRegistration/walletRegistrationInputs';
|
|
4
|
-
import type { WalletRegistrationReservationAuthority } from '../../../domains/walletRegistration/walletRegistrationReservation';
|
|
5
|
+
import type { RegistrationWalletStarter, WalletRegistrationReservationAuthority } from '../../../domains/walletRegistration/walletRegistrationReservation';
|
|
5
6
|
import { CloudflareD1RegistrationCeremonyIntentStore } from './d1RegistrationCeremonyStore';
|
|
6
|
-
|
|
7
|
-
readonly
|
|
7
|
+
type WalletRegistrationSetupDependencies = {
|
|
8
|
+
readonly home: WalletSessionHome;
|
|
9
|
+
readonly reservation: Pick<WalletRegistrationReservationAuthority, 'reserve'> | null;
|
|
8
10
|
readonly store: CloudflareD1RegistrationCeremonyIntentStore;
|
|
9
11
|
readonly ecdsaStrictRegistration: RouterAbEcdsaStrictRegistrationPort;
|
|
10
|
-
|
|
12
|
+
readonly startRegistrationWallets: RegistrationWalletStarter | null;
|
|
13
|
+
};
|
|
14
|
+
export declare function executeD1WalletRegistrationSetup(input: WalletRegistrationSetupInput, dependencies: WalletRegistrationSetupDependencies): Promise<WalletRegistrationSetupResponseV2>;
|
|
15
|
+
export {};
|
|
11
16
|
//# sourceMappingURL=d1WalletRegistrationSetupExecution.d.ts.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import type { RegistrationActivationWrite, WalletRegistrationHomeAuthority } from '../../../domains/walletRegistration/walletRegistrationReservation';
|
|
1
2
|
import type { WalletRegistrationEd25519YaoPublicResult } from '../../../../core/registrationContracts';
|
|
2
3
|
import type { WalletRegistrationFinalizeAuthMethod } from '../../../../../../shared-ts/src/utils/registrationContracts';
|
|
3
4
|
import { type VerifiedOwnerProof } from '../../../../authorization/factorEvidence';
|
|
4
|
-
import type { AuthorizationService } from '../../../../authorization/service';
|
|
5
|
-
import type { LiveWalletSessionAuthorizationProjectionV2 } from '../../../../authorization/domain';
|
|
5
|
+
import type { AuthorizationGrantPort, AuthorizationService } from '../../../../authorization/service';
|
|
6
|
+
import type { DirectV2IssueResult, LiveWalletSessionAuthorizationProjectionV2 } from '../../../../authorization/domain';
|
|
6
7
|
import type { EcdsaDerivationServerBootstrapResponse } from '../../../../core/types';
|
|
7
8
|
import type { WalletRegistrationSessionCommitReceiptV2 } from '../../../../core/threeRouteRegistrationContracts';
|
|
8
|
-
import type { StoredRegistrationAuthority } from '../../../../core/RegistrationCeremonyStore';
|
|
9
9
|
import { type PrincipalId, type TenantId } from '../../../../../../shared-ts/src/authorization/capabilityKinds';
|
|
10
10
|
import type { ActiveWalletAuthorityV1 } from '../../../../../../shared-ts/src/authorization/walletAuthority';
|
|
11
11
|
import { type WalletAuthMethodId } from '../../../../../../shared-ts/src/utils/domainIds';
|
|
@@ -13,18 +13,40 @@ import { type WalletAuthAuthority } from '../../../../../../shared-ts/src/utils/
|
|
|
13
13
|
import { type DigestB64u } from '../../../../../../shared-ts/src/utils/canonicalPrimitives';
|
|
14
14
|
import type { RuntimePolicyScope } from '../../../../../../shared-ts/src/threshold/signingRootScope';
|
|
15
15
|
import type { RegistrationEstablishedSessionProjectionTokensV2, RegistrationEstablishedSessionProjectionV2, RegistrationEstablishedSessionResultV2, RegistrationEstablishedSessionV2 } from '../../../../../../shared-ts/src/utils/registrationEstablishedSession';
|
|
16
|
-
type RegistrationEstablishedSessionIssuerAuthorizationService = Pick<AuthorizationService, '
|
|
17
|
-
type RegistrationEstablishedSessionIssuerWalletAuthMethodReader = {
|
|
18
|
-
readonly readActiveRegistrationAuthority: (authority: StoredRegistrationAuthority) => Promise<{
|
|
19
|
-
readonly authority: ActiveWalletAuthorityV1;
|
|
20
|
-
readonly walletAuthMethodId: WalletAuthMethodId;
|
|
21
|
-
} | null>;
|
|
22
|
-
};
|
|
16
|
+
type RegistrationEstablishedSessionIssuerAuthorizationService = Pick<AuthorizationService, 'commitDirectWalletSessionAuthorizationV2' | 'readWalletSessionAuthorizationV2ByMint' | 'readWalletSessionAuthorizationV2ByAuthorizationId' | 'refreshWalletSessionAuthorizationV2AuthorityProjection'>;
|
|
23
17
|
type RegistrationEstablishedSessionIssuanceDependencies = {
|
|
24
18
|
readonly authorizationService: RegistrationEstablishedSessionIssuerAuthorizationService;
|
|
25
19
|
readonly authorizationTenantId: TenantId;
|
|
26
|
-
readonly
|
|
20
|
+
readonly foundingAuthority: ActiveWalletAuthorityV1;
|
|
21
|
+
readonly homeCompletion: Pick<WalletRegistrationHomeAuthority, 'publishEstablished'>;
|
|
22
|
+
};
|
|
23
|
+
export type RegistrationInitialSessionCommit = {
|
|
24
|
+
readonly kind: 'uncommitted';
|
|
25
|
+
readonly value?: never;
|
|
26
|
+
} | {
|
|
27
|
+
readonly kind: 'committed';
|
|
28
|
+
readonly value: Awaited<ReturnType<AuthorizationService['commitDirectWalletSessionAuthorizationV2']>>;
|
|
27
29
|
};
|
|
30
|
+
type InitialEd25519RegistrationSessionInput = {
|
|
31
|
+
readonly authorizationService: RegistrationEstablishedSessionIssuerAuthorizationService;
|
|
32
|
+
readonly authorizationTenantId: TenantId;
|
|
33
|
+
readonly foundingAuthority: ActiveWalletAuthorityV1;
|
|
34
|
+
readonly registrationCeremonyId: string;
|
|
35
|
+
readonly authority: WalletAuthAuthority;
|
|
36
|
+
readonly walletAuthMethodId: WalletAuthMethodId;
|
|
37
|
+
readonly expiresAtMs: number;
|
|
38
|
+
readonly remainingUses: number;
|
|
39
|
+
readonly proof: Extract<VerifiedOwnerProof, {
|
|
40
|
+
readonly purpose: 'wallet_session';
|
|
41
|
+
}>;
|
|
42
|
+
};
|
|
43
|
+
export declare function commitInitialEd25519RegistrationSession(input: InitialEd25519RegistrationSessionInput, commitSession?: AuthorizationGrantPort['commitDirectReplayableWalletSessionAuthorizationV2']): Promise<{
|
|
44
|
+
readonly result: DirectV2IssueResult;
|
|
45
|
+
readonly publication: import("../../../../cloud-host").WalletSessionLocatorPublication & {
|
|
46
|
+
readonly kind: "credential";
|
|
47
|
+
};
|
|
48
|
+
readonly registration: import("../../../..").DirectV2CommitResult["registration"];
|
|
49
|
+
}>;
|
|
28
50
|
export declare function walletSessionPrincipalId(authority: WalletAuthAuthority): PrincipalId;
|
|
29
51
|
export declare function buildRegistrationOwnerProof(input: {
|
|
30
52
|
readonly registrationCeremonyId: string;
|
|
@@ -36,7 +58,7 @@ export declare function buildRegistrationOwnerProof(input: {
|
|
|
36
58
|
}): Promise<Extract<VerifiedOwnerProof, {
|
|
37
59
|
readonly purpose: 'wallet_session';
|
|
38
60
|
}>>;
|
|
39
|
-
export type RegistrationEstablishedSessionIssuanceResultV2 = {
|
|
61
|
+
export type RegistrationEstablishedSessionIssuanceResultV2 = ({
|
|
40
62
|
readonly kind: 'issued';
|
|
41
63
|
readonly session: RegistrationEstablishedSessionV2;
|
|
42
64
|
readonly issuedAtMs: number;
|
|
@@ -45,6 +67,12 @@ export type RegistrationEstablishedSessionIssuanceResultV2 = {
|
|
|
45
67
|
readonly session: RegistrationEstablishedSessionProjectionV2;
|
|
46
68
|
readonly next: 'unlock_exact_method';
|
|
47
69
|
readonly issuedAtMs: number;
|
|
70
|
+
}) & {
|
|
71
|
+
/**
|
|
72
|
+
* The home's activation, which the caller commits with the record that
|
|
73
|
+
* completes its operation. None when the home is already active.
|
|
74
|
+
*/
|
|
75
|
+
readonly activation: RegistrationActivationWrite | null;
|
|
48
76
|
};
|
|
49
77
|
export type Ed25519RegistrationSessionPredecessor = {
|
|
50
78
|
readonly kind: 'ed25519_only';
|
|
@@ -73,7 +101,6 @@ export declare function assertDirectWalletSessionOwnerProof(input: {
|
|
|
73
101
|
export declare function issueDirectRegistrationEstablishedEcdsaSession(input: RegistrationEstablishedSessionIssuanceDependencies & {
|
|
74
102
|
readonly registrationCeremonyId: string;
|
|
75
103
|
readonly authority: WalletAuthAuthority;
|
|
76
|
-
readonly registrationAuthority: StoredRegistrationAuthority;
|
|
77
104
|
readonly walletAuthMethodId: WalletAuthMethodId;
|
|
78
105
|
readonly expiresAtMs: number;
|
|
79
106
|
readonly remainingUses: number;
|
|
@@ -87,16 +114,17 @@ export declare function issueDirectRegistrationEstablishedEcdsaSession(input: Re
|
|
|
87
114
|
export declare function issueDirectRegistrationEstablishedEd25519Session(input: RegistrationEstablishedSessionIssuanceDependencies & {
|
|
88
115
|
readonly registrationCeremonyId: string;
|
|
89
116
|
readonly authority: WalletAuthAuthority;
|
|
90
|
-
readonly registrationAuthority: StoredRegistrationAuthority;
|
|
91
117
|
readonly walletAuthMethodId: WalletAuthMethodId;
|
|
92
118
|
readonly expiresAtMs: number;
|
|
93
119
|
readonly remainingUses: number;
|
|
94
120
|
readonly publicResult: WalletRegistrationEd25519YaoPublicResult;
|
|
95
121
|
readonly predecessor: Ed25519RegistrationSessionPredecessor;
|
|
122
|
+
readonly initialSession: RegistrationInitialSessionCommit;
|
|
96
123
|
readonly keyManifestDigestB64u: DigestB64u;
|
|
97
124
|
readonly proof: Extract<VerifiedOwnerProof, {
|
|
98
125
|
readonly purpose: 'wallet_session';
|
|
99
126
|
}>;
|
|
127
|
+
readonly onSessionCommitted?: (session: RegistrationEstablishedSessionProjectionV2) => Promise<void>;
|
|
100
128
|
}): Promise<RegistrationEstablishedSessionIssuanceResultV2>;
|
|
101
129
|
export declare function projectCurrentNearRegistrationSession(authorization: LiveWalletSessionAuthorizationProjectionV2, tokens: Extract<RegistrationEstablishedSessionProjectionTokensV2, {
|
|
102
130
|
readonly kind: 'near_ed25519_and_evm_family_ecdsa';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { WalletRegistrationFinalizeResponse, WalletRegistrationFinalizeSuccess } from '../../../../core/registrationContracts';
|
|
2
2
|
import type { WalletRegistrationFinalizeAuthMethod } from '../../../../../../shared-ts/src/utils/registrationContracts';
|
|
3
|
+
import type { RegistrationActivationWrite } from '../../../domains/walletRegistration/walletRegistrationReservation';
|
|
3
4
|
import type { WalletRegistrationActivateResponseV2, WalletRegistrationCommittedInstallationProjectionV1, WalletRegistrationSessionCommitReceiptV2 } from '../../../../core/threeRouteRegistrationContracts';
|
|
4
5
|
import type { RegistrationEstablishedSessionResultV2 } from '../../../../../../shared-ts/src/utils/registrationEstablishedSession';
|
|
5
6
|
import { type WalletSessionMintId } from '../../../../../../shared-ts/src/authorization/capabilityKinds';
|
|
@@ -14,23 +15,23 @@ export type RegistrationCommitExecution<T> = {
|
|
|
14
15
|
} | {
|
|
15
16
|
readonly kind: 'replayed';
|
|
16
17
|
readonly response: T;
|
|
17
|
-
} | {
|
|
18
|
-
readonly kind: 'near_pending';
|
|
19
|
-
readonly response: T;
|
|
20
|
-
readonly expectedOrigin: string;
|
|
21
18
|
} | {
|
|
22
19
|
readonly kind: 'session_issued';
|
|
23
20
|
readonly response: T;
|
|
24
21
|
readonly issuedAtMs: number;
|
|
25
22
|
readonly expectedOrigin: string;
|
|
23
|
+
readonly activation: RegistrationActivationWrite | null;
|
|
26
24
|
readonly installationProjection?: never;
|
|
27
25
|
} | {
|
|
28
26
|
readonly kind: 'session_issued_with_installation_projection';
|
|
29
27
|
readonly response: T;
|
|
30
28
|
readonly issuedAtMs: number;
|
|
31
29
|
readonly expectedOrigin: string;
|
|
30
|
+
readonly activation: RegistrationActivationWrite | null;
|
|
32
31
|
readonly installationProjection: WalletRegistrationCommittedInstallationProjectionV1;
|
|
33
32
|
};
|
|
33
|
+
/** The home activation that a commit left for the record that completes its operation. */
|
|
34
|
+
export declare function registrationCommitActivation<T>(execution: RegistrationCommitExecution<T>): RegistrationActivationWrite | null;
|
|
34
35
|
export declare function unissuedRegistrationCommit<T>(response: T): RegistrationCommitExecution<T>;
|
|
35
36
|
export declare function replayedRegistrationCommit<T>(response: T): RegistrationCommitExecution<T>;
|
|
36
37
|
export declare function projectWalletRegistrationSessionCommitReceiptV2(input: {
|
|
@@ -33,5 +33,28 @@ export declare class D1EcdsaAdmissionPolicyRead {
|
|
|
33
33
|
readonly curve: 'ecdsa';
|
|
34
34
|
}): RouterAbNormalSigningPolicyDecision | null;
|
|
35
35
|
}
|
|
36
|
-
|
|
36
|
+
/** Policy rows read with an Ed25519 Wallet Session, for the scopes of its signer. */
|
|
37
|
+
export declare class D1Ed25519AdmissionPolicyRead {
|
|
38
|
+
#private;
|
|
39
|
+
private readonly database;
|
|
40
|
+
private readonly namespace;
|
|
41
|
+
private readonly walletId;
|
|
42
|
+
private readonly authorityId;
|
|
43
|
+
private constructor();
|
|
44
|
+
static fromRows(database: D1DatabaseLike, namespace: string, walletId: string, authorityId: string, rows: unknown): D1Ed25519AdmissionPolicyRead;
|
|
45
|
+
/**
|
|
46
|
+
* Null sends the caller to the database: another store, or a scope this read
|
|
47
|
+
* did not select. Linked-device material has no signer row to select from.
|
|
48
|
+
*/
|
|
49
|
+
resolve(database: D1DatabaseLike, namespace: string, input: Ed25519WalletAuthorityAdmissionInput): RouterAbNormalSigningPolicyDecision | null;
|
|
50
|
+
}
|
|
51
|
+
type Ed25519WalletAuthorityAdmissionInput = Extract<RouterAbNormalSigningAdmissionInput, {
|
|
52
|
+
readonly curve: 'ed25519';
|
|
53
|
+
readonly authorityKind: 'wallet_authority_v1';
|
|
54
|
+
}>;
|
|
55
|
+
/** Binds the material activation id. */
|
|
56
|
+
export declare const ECDSA_CREDENTIAL_POLICY_PROJECTION: string;
|
|
57
|
+
/** Binds the signer scope (namespace, organization, project, environment) and the activation id. */
|
|
58
|
+
export declare const ED25519_CREDENTIAL_POLICY_PROJECTION: string;
|
|
59
|
+
export {};
|
|
37
60
|
//# sourceMappingURL=d1RouterAbNormalSigningAdmissionStore.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { D1DatabaseLike, D1PreparedStatementLike } from '../../../../storage/tenantRoute';
|
|
1
|
+
import type { D1DatabaseLike, D1PreparedStatementLike, D1ResultLike } from '../../../../storage/tenantRoute';
|
|
2
2
|
import type { VersionedJsonObject, VersionedJsonRecordPutResult, VersionedJsonRecordReadResult } from '../../../framework/versionedJsonRecordStore';
|
|
3
3
|
export type CloudflareD1VersionedJsonRecordScopeV1 = {
|
|
4
4
|
readonly namespace: string;
|
|
@@ -32,6 +32,10 @@ export type CloudflareD1VersionedJsonRecordBatchPutResultV1 = {
|
|
|
32
32
|
readonly kind: 'version_mismatch';
|
|
33
33
|
readonly key: string;
|
|
34
34
|
};
|
|
35
|
+
type StoredRecord = {
|
|
36
|
+
readonly version?: unknown;
|
|
37
|
+
readonly record_json?: unknown;
|
|
38
|
+
};
|
|
35
39
|
export declare class CloudflareD1VersionedJsonRecordStoreError extends Error {
|
|
36
40
|
readonly code: 'invalid_record' | 'invalid_response' | 'request_failed';
|
|
37
41
|
constructor(code: 'invalid_record' | 'invalid_response' | 'request_failed', message: string);
|
|
@@ -66,7 +70,8 @@ export declare class CloudflareD1VersionedJsonRecordStore<T> {
|
|
|
66
70
|
readonly limit?: number;
|
|
67
71
|
}): Promise<readonly CloudflareD1VersionedJsonRecordReadManyEntryV1<T>[]>;
|
|
68
72
|
readMany(keys: readonly string[]): Promise<readonly CloudflareD1VersionedJsonRecordReadManyEntryV1<T>[]>;
|
|
69
|
-
|
|
73
|
+
prepareRead(key: string): D1PreparedStatementLike;
|
|
74
|
+
parseReadResult(result: D1ResultLike<StoredRecord> | undefined): VersionedJsonRecordReadResult<T>;
|
|
70
75
|
put(key: string, value: T, expectedVersion: string | null): Promise<VersionedJsonRecordPutResult>;
|
|
71
76
|
/**
|
|
72
77
|
* Applies multiple records in one D1 transaction. The guard statement turns
|
|
@@ -80,7 +85,7 @@ export declare class CloudflareD1VersionedJsonRecordStore<T> {
|
|
|
80
85
|
* commit spans this JSON store and a normalized table (for example, a
|
|
81
86
|
* recovery envelope plus its WebAuthn authenticator and binding).
|
|
82
87
|
*/
|
|
83
|
-
putManyWithAdditionalStatements(mutations: readonly CloudflareD1VersionedJsonRecordMutationV1<T>[], additionalStatements: readonly D1PreparedStatementLike[]): Promise<CloudflareD1VersionedJsonRecordBatchPutResultV1>;
|
|
88
|
+
putManyWithAdditionalStatements(mutations: readonly CloudflareD1VersionedJsonRecordMutationV1<T>[], additionalStatements: readonly D1PreparedStatementLike[], executeBatch?: (statements: readonly D1PreparedStatementLike[]) => Promise<readonly D1ResultLike[]>): Promise<CloudflareD1VersionedJsonRecordBatchPutResultV1>;
|
|
84
89
|
/**
|
|
85
90
|
* The same mutation + CAS-guard statements `putManyWithAdditionalStatements`
|
|
86
91
|
* would run, returned instead of executed, so a caller whose transaction is
|
|
@@ -96,7 +101,8 @@ export declare class CloudflareD1VersionedJsonRecordStore<T> {
|
|
|
96
101
|
private findBatchConflict;
|
|
97
102
|
private insert;
|
|
98
103
|
private update;
|
|
99
|
-
|
|
104
|
+
storageKey(key: string): string;
|
|
100
105
|
}
|
|
101
106
|
export declare function createCloudflareD1VersionedJsonRecordStore<T>(options: CloudflareD1VersionedJsonRecordStoreOptions<T>): CloudflareD1VersionedJsonRecordStore<T>;
|
|
107
|
+
export {};
|
|
102
108
|
//# sourceMappingURL=d1VersionedJsonRecordStore.d.ts.map
|
package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/authorizationSnapshotLayout.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { D1DatabaseLike } from '../../../../storage/tenantRoute';
|
|
2
|
+
declare const TABLES: readonly ["wallet_email_otp_rate_limits", "email_otp_wallet_enrollments", "email_otp_auth_states", "wallets", "wallet_signers", "wallet_recovery_code_locators", "wallet_authorities", "wallet_auth_methods", "wallet_relocation_approvals", "webauthn_credential_bindings", "webauthn_authenticators", "router_ab_yao_versioned_json_records", "authorization_wallet_session_quotas", "wallet_session_authorizations_v2", "wallet_session_hosted_credentials_v2", "wallet_session_hosted_exchange_codes_v2", "verified_wallet_operation_evidence_sets", "authorized_operations", "authorized_operation_audit_events", "linked_device_sessions", "linked_device_authority_allocations", "linked_device_authority_installations", "linked_device_target_credentials", "linked_device_target_commit_reservations", "linked_device_session_transcripts", "linked_device_ed25519_export_root_transfers", "linked_device_email_otp_grants", "linked_device_request_proof_nonces", "linked_device_bootstrap_imports", "linked_device_wallet_session_credential_deliveries_v1"];
|
|
3
|
+
type Table = (typeof TABLES)[number];
|
|
4
|
+
export declare class AuthorizationSnapshotLayout {
|
|
5
|
+
#private;
|
|
6
|
+
readonly table: Table;
|
|
7
|
+
readonly columns: readonly string[];
|
|
8
|
+
readonly keyColumns: readonly string[];
|
|
9
|
+
private constructor();
|
|
10
|
+
static read(database: D1DatabaseLike): Promise<readonly AuthorizationSnapshotLayout[]>;
|
|
11
|
+
static parse(raw: unknown): readonly AuthorizationSnapshotLayout[];
|
|
12
|
+
expressions(): {
|
|
13
|
+
readonly key: string;
|
|
14
|
+
readonly record: string;
|
|
15
|
+
readonly ownership: string;
|
|
16
|
+
};
|
|
17
|
+
snapshotSelection(): string;
|
|
18
|
+
static ownership(table: Table): string;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=authorizationSnapshotLayout.d.ts.map
|
package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { WalletExecutionAuthority } from '../../../domains/walletRegistration/walletRegistrationReservation';
|
|
1
2
|
import { type D1WalletAddSignerFinalizeSideEffectStore } from './d1WalletAddSignerFinalizeRecord';
|
|
2
3
|
import type { WalletAddSignerStartSuccess } from '../../../../core/registrationContracts';
|
|
3
4
|
import type { CloudflareD1Ed25519YaoLifecycleDecisionStoreV1 } from '../ed25519Yao/d1Ed25519YaoLifecycleDecisionStore';
|
|
@@ -59,6 +60,7 @@ export type D1WalletAddSignerStartSideEffectStore = RouterAbEd25519YaoRegistrati
|
|
|
59
60
|
export type D1WalletAddSignerStartSideEffectRecord = RouterAbEd25519YaoRegistrationSideEffectRecordV1<D1WalletAddSignerStartTerminalV1, D1WalletAddSignerStartPreparedV1>;
|
|
60
61
|
export declare function parseD1WalletAddSignerStartSideEffectRecord(raw: unknown): D1WalletAddSignerStartSideEffectRecord | null;
|
|
61
62
|
export declare class CloudflareD1WalletAddSignerService {
|
|
63
|
+
private readonly executionAuthority;
|
|
62
64
|
private readonly getRegistrationCeremonyIntentStore;
|
|
63
65
|
private readonly getEd25519YaoProductRegistration;
|
|
64
66
|
private readonly ecdsaStrictRegistration;
|
|
@@ -70,6 +72,7 @@ export declare class CloudflareD1WalletAddSignerService {
|
|
|
70
72
|
private readonly finalizeSideEffects;
|
|
71
73
|
private readonly yaoLifecycleDecisions;
|
|
72
74
|
constructor(input: {
|
|
75
|
+
readonly executionAuthority: WalletExecutionAuthority;
|
|
73
76
|
readonly getRegistrationCeremonyIntentStore: RegistrationCeremonyStoreProvider;
|
|
74
77
|
readonly getEd25519YaoProductRegistration: Ed25519YaoProductRegistrationProvider;
|
|
75
78
|
readonly ecdsaStrictRegistration: RouterAbEcdsaStrictRegistrationPort;
|
package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodService.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type WebAuthnCredentialIdB64u, type WebAuthnRpId, type WalletAuthMethodId, type WalletAuthorityId } from '../../../../../../shared-ts/src/utils/domainIds';
|
|
2
2
|
import { type AddAuthMethodIntentGrant, type AddAuthMethodIntentV1, type AddSignerIntentV1, type RegistrationIntentV1, type WalletId } from '../../../../../../shared-ts/src/utils/registrationIntent';
|
|
3
|
-
import { type ActivePasskeyWalletAuthMethodRecordV2, type ActiveWalletAuthMethodRecordV2
|
|
3
|
+
import { type ActivePasskeyWalletAuthMethodRecordV2, type ActiveWalletAuthMethodRecordV2 } from '../../../../../../shared-ts/src/utils/walletAuthMethodRecord';
|
|
4
4
|
import { type RegistrationAuthority } from '../../../../../../shared-ts/src/utils/registrationAuthMethodInput';
|
|
5
5
|
import { type EmailOtpWalletAuthAuthority, type PasskeyWalletAuthAuthority, type WalletAuthAuthorityRef } from '../../../../../../shared-ts/src/utils/walletAuthAuthority';
|
|
6
6
|
import type { D1PreparedStatementLike } from '../../../../storage/tenantRoute';
|
|
@@ -332,15 +332,11 @@ export declare class CloudflareD1WalletAuthMethodService {
|
|
|
332
332
|
* Ed25519 leg arrives, so that leg must address the same rows.
|
|
333
333
|
*/
|
|
334
334
|
readActiveRegistrationIdentity(authority: RegistrationAuthority): Promise<{
|
|
335
|
-
readonly walletAuthorityId:
|
|
336
|
-
readonly walletAuthMethodId:
|
|
335
|
+
readonly walletAuthorityId: WalletAuthorityId;
|
|
336
|
+
readonly walletAuthMethodId: WalletAuthMethodId;
|
|
337
337
|
readonly authority: ActiveWalletAuthorityV1;
|
|
338
338
|
readonly authMethod: ActiveWalletAuthMethodRecordV2;
|
|
339
339
|
} | null>;
|
|
340
|
-
readActiveRegistrationAuthority(authority: RegistrationAuthority): Promise<{
|
|
341
|
-
readonly authority: ActiveWalletAuthorityV1;
|
|
342
|
-
readonly walletAuthMethodId: WalletAuthMethodId;
|
|
343
|
-
} | null>;
|
|
344
340
|
/**
|
|
345
341
|
* Verifies a revocation's source proof: bound to this operation, and from a
|
|
346
342
|
* different active method on an active full-owner authority. An Email OTP
|
package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorityStore.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { type ActiveWalletAuthorityV1, type PendingWalletAuthorityV1, type Walle
|
|
|
2
2
|
import { type DeviceId } from '../../../../../../shared-ts/src/authorization/capabilityKinds';
|
|
3
3
|
import { type WalletAuthorityId, type WalletAuthMethodId, type WalletId } from '../../../../../../shared-ts/src/utils/domainIds';
|
|
4
4
|
import { type ActiveWalletAuthMethodRecordV2, type RevokedWalletAuthMethodRecordV2, type WalletAuthMethodRecordV2 } from '../../../../../../shared-ts/src/utils/walletAuthMethodRecord';
|
|
5
|
+
import type { RegistrationAuthority } from '../../../../../../shared-ts/src/utils/registrationAuthMethodInput';
|
|
5
6
|
import type { D1DatabaseLike, D1PreparedStatementLike } from '../../../../storage/tenantRoute';
|
|
6
7
|
import { type WalletSignerRecord } from '../../../../core/d1WalletStore';
|
|
7
8
|
export type D1WalletAuthorityStoreScope = {
|
|
@@ -123,6 +124,13 @@ export declare class D1WalletAuthorityStore {
|
|
|
123
124
|
readonly promotionAtMs: number;
|
|
124
125
|
}): Promise<void>;
|
|
125
126
|
readById(authorityId: WalletAuthorityId): Promise<WalletAuthorityV1 | null>;
|
|
127
|
+
/** Reads the method and its authority from one database snapshot. */
|
|
128
|
+
readActiveRegistrationIdentity(expected: RegistrationAuthority): Promise<{
|
|
129
|
+
readonly walletAuthorityId: WalletAuthorityId;
|
|
130
|
+
readonly walletAuthMethodId: WalletAuthMethodId;
|
|
131
|
+
readonly authority: ActiveWalletAuthorityV1;
|
|
132
|
+
readonly authMethod: ActiveWalletAuthMethodRecordV2;
|
|
133
|
+
} | null>;
|
|
126
134
|
readByWalletAndDevice(input: {
|
|
127
135
|
readonly walletId: WalletId;
|
|
128
136
|
readonly deviceId: DeviceId;
|
package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationCleanup.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type D1TenantScope } from '../../../../core/d1TenantStore';
|
|
2
|
+
import type { D1DatabaseLike } from '../../../../storage/tenantRoute';
|
|
3
|
+
import { WalletRelocationSessionSource } from './d1WalletRelocationSessions';
|
|
4
|
+
type CleanupProgress = {
|
|
5
|
+
readonly state: 'cleaning';
|
|
6
|
+
readonly completedAtMs?: never;
|
|
7
|
+
} | {
|
|
8
|
+
readonly state: 'cleaned';
|
|
9
|
+
readonly completedAtMs: number;
|
|
10
|
+
};
|
|
11
|
+
export declare class D1WalletAuthorizationCleanup {
|
|
12
|
+
private readonly database;
|
|
13
|
+
private readonly scope;
|
|
14
|
+
constructor(database: D1DatabaseLike, scope: D1TenantScope);
|
|
15
|
+
advance(source: WalletRelocationSessionSource, rawManifest: unknown, commandDigest: string, nowMs: number): Promise<CleanupProgress>;
|
|
16
|
+
private manifest;
|
|
17
|
+
private read;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=d1WalletAuthorizationCleanup.d.ts.map
|
package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationFreeze.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type D1TenantScope } from '../../../../core/d1TenantStore';
|
|
2
|
+
import type { D1DatabaseLike, D1PreparedStatementLike } from '../../../../storage/tenantRoute';
|
|
3
|
+
import { WalletRelocationSessionSource } from './d1WalletRelocationSessions';
|
|
4
|
+
export declare class D1WalletAuthorizationFreeze {
|
|
5
|
+
private readonly database;
|
|
6
|
+
private readonly scope;
|
|
7
|
+
constructor(database: D1DatabaseLike, scope: D1TenantScope);
|
|
8
|
+
freeze(source: WalletRelocationSessionSource, nowMs: number): Promise<number>;
|
|
9
|
+
freezeStatements(source: WalletRelocationSessionSource, nowMs: number): readonly D1PreparedStatementLike[];
|
|
10
|
+
private read;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=d1WalletAuthorizationFreeze.d.ts.map
|
package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationHistory.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type D1TenantScope } from '../../../../core/d1TenantStore';
|
|
2
|
+
import type { D1DatabaseLike, D1PreparedStatementLike } from '../../../../storage/tenantRoute';
|
|
3
|
+
import { AuthorizationSnapshotLayout } from './authorizationSnapshotLayout';
|
|
4
|
+
import { WalletRelocationSessionSource } from './d1WalletRelocationSessions';
|
|
5
|
+
export declare class D1WalletAuthorizationHistory {
|
|
6
|
+
private readonly database;
|
|
7
|
+
private readonly scope;
|
|
8
|
+
constructor(database: D1DatabaseLike, scope: D1TenantScope);
|
|
9
|
+
prepare(source: WalletRelocationSessionSource): Promise<void>;
|
|
10
|
+
restoreSnapshot(source: WalletRelocationSessionSource, records: readonly {
|
|
11
|
+
readonly table: AuthorizationSnapshotLayout;
|
|
12
|
+
readonly recordKey: string;
|
|
13
|
+
readonly recordJson: string;
|
|
14
|
+
}[], completion: readonly D1PreparedStatementLike[]): Promise<void>;
|
|
15
|
+
private restoreStatements;
|
|
16
|
+
private closeStatements;
|
|
17
|
+
private readImport;
|
|
18
|
+
private validateRow;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=d1WalletAuthorizationHistory.d.ts.map
|
package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationIntake.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type D1TenantScope } from '../../../../core/d1TenantStore';
|
|
2
|
+
import type { D1DatabaseLike } from '../../../../storage/tenantRoute';
|
|
3
|
+
import { WalletRelocationSessionSource } from './d1WalletRelocationSessions';
|
|
4
|
+
type IntakeProgress = {
|
|
5
|
+
readonly state: 'receiving';
|
|
6
|
+
readonly nextIndex: number;
|
|
7
|
+
readonly chunkCount: number;
|
|
8
|
+
readonly digestHex?: never;
|
|
9
|
+
} | {
|
|
10
|
+
readonly state: 'verified';
|
|
11
|
+
readonly digestHex: string;
|
|
12
|
+
readonly nextIndex?: never;
|
|
13
|
+
readonly chunkCount?: never;
|
|
14
|
+
};
|
|
15
|
+
export declare class D1WalletAuthorizationIntake {
|
|
16
|
+
private readonly database;
|
|
17
|
+
private readonly scope;
|
|
18
|
+
constructor(database: D1DatabaseLike, scope: D1TenantScope);
|
|
19
|
+
prepare(source: WalletRelocationSessionSource, rawManifest: unknown): Promise<IntakeProgress>;
|
|
20
|
+
acceptSnapshot(source: WalletRelocationSessionSource, raw: unknown): Promise<string>;
|
|
21
|
+
activate(source: WalletRelocationSessionSource, rawManifest: unknown, commandDigest: string, nowMs: number): Promise<{
|
|
22
|
+
readonly digestHex: string;
|
|
23
|
+
readonly activatedAtMs: number;
|
|
24
|
+
}>;
|
|
25
|
+
private readActivation;
|
|
26
|
+
private read;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=d1WalletAuthorizationIntake.d.ts.map
|