@seams/wallet-server 0.7.3 → 0.9.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/THIRD_PARTY_NOTICES.md +7 -9
- package/artifact-manifest.json +241 -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 -119
- package/cloudflare-router-ab/scripts/start-local-role-workers.mjs +77 -20
- 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/lifecycleRouting.js +62 -0
- package/dist/esm/authorization/service.js +86 -35
- package/dist/esm/cloud-host.js +42 -39
- package/dist/esm/core/EmailOtpRecords.js +29 -222
- package/dist/esm/core/EmailOtpStores.js +0 -859
- package/dist/esm/core/IdentityStore.js +2 -339
- package/dist/esm/core/ThresholdService/config.js +1 -9
- package/dist/esm/core/ThresholdService/index.js +0 -4
- package/dist/esm/core/ThresholdService/kv.js +1 -66
- package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.js +3 -13
- 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/routerAbNormalSigningPolicy.js +1 -11
- package/dist/esm/core/ThresholdService/stores/WalletSessionStore.js +0 -541
- package/dist/esm/core/ThresholdService/validation.js +3 -347
- package/dist/esm/core/WalletAuthMethodStore.js +2 -123
- package/dist/esm/core/WalletStore.js +3 -209
- package/dist/esm/core/WebAuthnAuthenticatorStore.js +0 -202
- package/dist/esm/core/WebAuthnCredentialBindingStore.js +2 -182
- package/dist/esm/core/WebAuthnLoginChallengeStore.js +0 -52
- package/dist/esm/core/WebAuthnSyncChallengeStore.js +0 -54
- package/dist/esm/core/authService/emailOtpConfig.js +1 -195
- package/dist/esm/core/authService/emailOtpEnrollment.js +0 -110
- package/dist/esm/core/authService/emailOtpSeal.js +0 -63
- package/dist/esm/core/authService/nearPrivateKeySigning.js +1 -1
- package/dist/esm/core/authService/nearTransactions.js +3 -98
- package/dist/esm/core/authService/rateLimits.js +0 -84
- package/dist/esm/core/authService/webauthn.js +3 -299
- package/dist/esm/core/authService/webauthnOidcHelpers.js +1 -24
- package/dist/esm/core/authService/webauthnWalletBinding.js +0 -37
- package/dist/esm/core/config.js +1 -95
- package/dist/esm/core/d1EcdsaSignerRead.js +1 -1
- package/dist/esm/core/d1Ed25519SignerRead.js +55 -0
- package/dist/esm/core/d1IdentityStore.js +1 -2
- package/dist/esm/core/d1TenantStore.js +1 -24
- package/dist/esm/core/d1WalletAuthMethodStore.js +2 -5
- package/dist/esm/core/d1WalletStore.js +16 -13
- package/dist/esm/core/deviceLinking/linkedDeviceBootstrap.js +13 -0
- package/dist/esm/core/deviceLinking/linkedDeviceEmailOtpGrant.js +2 -2
- package/dist/esm/core/deviceLinking/linkedDeviceManagement.js +1 -1
- package/dist/esm/core/deviceLinking/linkedDeviceSession.js +20 -14
- package/dist/esm/core/deviceLinking/linkedDeviceSessionRecord.js +2 -2
- package/dist/esm/core/deviceLinking/requestProof.js +9 -6
- package/dist/esm/core/emailOtpD1Statements.js +108 -94
- package/dist/esm/core/keyMaterialBrands.js +2 -12
- package/dist/esm/core/nearKeys.js +0 -1
- package/dist/esm/core/nearRelayerAccountProvisioning.js +7 -10
- package/dist/esm/core/passkeyCredentialClaims.js +8 -0
- package/dist/esm/core/routerAbSigning/RouterAbEcdsaPresignRuntime.js +6 -6
- package/dist/esm/core/routerAbSigning/RouterAbNormalSigningRuntime.js +2 -30
- package/dist/esm/core/signingLanes/WalletExecutionLaneProjection.js +1 -1
- package/dist/esm/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.js +1 -0
- package/dist/esm/core/thresholdEcdsaChainTarget.js +1 -4
- package/dist/esm/hosted-wallet-gateway.js +158 -52
- package/dist/esm/index.js +6 -19
- package/dist/esm/localHostedWalletGatewayHandler.js +18 -3
- package/dist/esm/localIntendedYaoSigningFault.js +2 -30
- package/dist/esm/localRegistrationSetupAuthority.js +96 -0
- package/dist/esm/router/auth/authRequestValidation.js +8 -16
- 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 -2
- package/dist/esm/router/cloudflare/d1/auth/d1AuthorizationAssembly.js +88 -0
- 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 +24 -6
- package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthService.js +75 -320
- package/dist/esm/router/cloudflare/d1/auth/walletSessionCredentialReaders.js +17 -1
- package/dist/esm/router/cloudflare/d1/authorization/authorizedOperationStatements.js +57 -25
- package/dist/esm/router/cloudflare/d1/authorization/d1AuthorizationStore.js +265 -104
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.js +43 -17
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEd25519ExportRootStore.js +6 -1
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.js +12 -2
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.js +4 -4
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.js +2 -2
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.js +3 -9
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRouteService.js +2 -1
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.js +1 -1
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.js +89 -7
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.js +24 -15
- 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/d1Ed25519YaoCapabilityPersistence.js +9 -6
- 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 -9
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.js +0 -1
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.js +15 -9
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.js +3 -2
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.js +1 -1
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.js +1 -7
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.js +62 -36
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.js +27 -21
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.js +1 -1
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.js +2 -2
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.js +0 -1
- package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.js +44 -12
- package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.js +1 -49
- package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.js +20 -31
- package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleRegistrationCompletion.js +85 -0
- package/dist/esm/router/cloudflare/d1/identity/d1IdentityRecords.js +0 -1
- package/dist/esm/router/cloudflare/d1/identity/d1IdentityService.js +0 -48
- package/dist/esm/router/cloudflare/d1/near/d1SponsoredNearAccount.js +242 -0
- package/dist/esm/router/cloudflare/d1/oidc/d1OidcBoundary.js +1 -2
- package/dist/esm/router/cloudflare/d1/oidc/d1OidcVerificationService.js +2 -29
- package/dist/esm/router/cloudflare/d1/oidc/googleOidcToken.js +41 -0
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.js +5 -0
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.js +52 -7
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.js +83 -16
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.js +8 -14
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.js +60 -28
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationIntentService.js +0 -1
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationSessionTransaction.js +28 -0
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationSetupSupport.js +84 -0
- 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 +85 -38
- 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 +478 -708
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetup.js +13 -57
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetupExecution.js +169 -0
- package/dist/esm/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.js +79 -47
- package/dist/esm/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.js +11 -35
- package/dist/esm/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.js +110 -45
- 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 +68 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerService.js +22 -60
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodService.js +12 -48
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorityStore.js +56 -143
- 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 +26 -5
- package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnRecords.js +4 -70
- package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnStore.js +23 -7
- package/dist/esm/router/cloudflare/runtime/routerAbServiceBindings.js +32 -1
- package/dist/esm/router/cloudflare/runtime/staticWalletConsoleBinding.js +20 -7
- package/dist/esm/router/cloudflare/runtime/walletAuthorizationRelocationRoutes.js +488 -0
- package/dist/esm/router/cloudflare/runtime/walletConsoleOps.js +1 -0
- package/dist/esm/router/cloudflare/runtime/walletConsoleOpsClient.js +26 -1
- 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/runtime/walletRuntimeOps.js +16 -4
- package/dist/esm/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.js +30 -8
- package/dist/esm/router/cloudflare-adaptor.js +8 -9
- package/dist/esm/router/cloudflare.js +33043 -31559
- 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 +42 -13
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.js +64 -3
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.js +6 -6
- 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 +58 -28
- package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.js +13 -7
- package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.js +108 -78
- package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.js +27 -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/emailOtpRequestValidation.js +0 -1
- package/dist/esm/router/domains/emailOtp/emailOtpRouteHandlers.js +2 -2
- package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.js +3 -9
- 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 +18 -14
- 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 +6 -20
- package/dist/esm/router/domains/signingOperations/signingPrepareSession.js +33 -0
- package/dist/esm/router/domains/signingOperations/walletExecutionAdmission.js +2 -3
- package/dist/esm/router/domains/walletRegistration/registrationSessionSeal.js +121 -0
- package/dist/esm/router/domains/walletRegistration/walletRegistrationReservation.js +70 -0
- package/dist/esm/router/domains/walletRegistration/walletRegistrationRoutes.js +56 -168
- package/dist/esm/router/domains/walletRegistration/walletRegistrationSetupPayload.js +3 -4
- package/dist/esm/router/domains/walletUnlock/walletUnlockRouteHandlers.js +14 -0
- package/dist/esm/router/express.js +1453 -1488
- package/dist/esm/router/framework/http.js +4 -1
- package/dist/esm/router/framework/registrationSetupDispatch.js +14 -0
- package/dist/esm/router/framework/ror/normalize.js +0 -1
- package/dist/esm/router/framework/ror/options.js +0 -1
- package/dist/esm/router/framework/ror/provider.js +0 -1
- package/dist/esm/router/framework/ror/staticProvider.js +0 -1
- package/dist/esm/router/framework/routeDefinitions.js +1 -2
- package/dist/esm/router/framework/routerApiWebhooks.js +0 -1
- package/dist/esm/router/ror.js +0 -1
- package/dist/esm/router/transport/fetch/createFetchRouter.js +2 -4
- package/dist/esm/router/transport/fetch/routes/auth.js +3 -1
- package/dist/esm/router/transport/fetch/routes/deviceLinking.js +38 -149
- package/dist/esm/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.js +5 -4
- package/dist/esm/router/transport/fetch/routes/deviceLinkingResponses.js +130 -0
- package/dist/esm/router/transport/fetch/routes/ecdsaOperationStepUpFactor.js +171 -0
- 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 +4 -3
- package/dist/esm/router/transport/fetch/routes/sessions.js +3 -2
- package/dist/esm/router/transport/fetch/routes/syncAccount.js +7 -2
- package/dist/esm/router/transport/fetch/routes/thresholdEcdsa.js +86 -245
- 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 -3
- 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/authorization/walletSessionIssuance.js +0 -1
- package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +12 -2
- package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +0 -2
- package/dist/esm/shared-ts/src/device-linking/contracts.js +16 -1
- package/dist/esm/shared-ts/src/device-linking/digests.js +2 -9
- 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/actions.js +0 -1
- package/dist/esm/shared-ts/src/near/nearClient.js +1 -3
- package/dist/esm/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.js +1 -1
- package/dist/esm/shared-ts/src/signing-lanes/index.js +1 -6
- package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +3 -3
- package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +2 -81
- package/dist/esm/shared-ts/src/signing-lanes/participants.js +1 -219
- package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +0 -3
- package/dist/esm/shared-ts/src/tenant-root/tenantRootOperationRecord.js +1 -2
- package/dist/esm/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.js +0 -1
- package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +1 -22
- package/dist/esm/shared-ts/src/threshold/participants.js +0 -1
- package/dist/esm/shared-ts/src/threshold/signingRootScope.js +0 -1
- package/dist/esm/shared-ts/src/utils/addWalletAuthMethod.js +4 -13
- package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +1 -7
- package/dist/esm/shared-ts/src/utils/domainIds.js +1 -16
- package/dist/esm/shared-ts/src/utils/ecdsaCapabilityActivation.js +1 -11
- package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +0 -1
- 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/errors.js +1 -19
- package/dist/esm/shared-ts/src/utils/near.js +1 -1
- package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +1 -1
- package/dist/esm/shared-ts/src/utils/registrationIds.js +1 -5
- package/dist/esm/shared-ts/src/utils/registrationIntent.js +0 -1
- package/dist/esm/shared-ts/src/utils/registrationSetupOperation.js +8 -0
- package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +1 -1
- package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +1 -2
- package/dist/esm/shared-ts/src/utils/routerAbPublicKeyset.js +0 -27
- package/dist/esm/shared-ts/src/utils/validation.js +1 -5
- package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +0 -1
- package/dist/esm/shared-ts/src/utils/walletManagementProtocol.js +6 -0
- package/dist/esm/shared-ts/src/utils/wireSchema.js +2 -13
- package/dist/esm/shared-ts/src/wallet-recovery/backupAcknowledgement.js +6 -24
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +0 -1
- package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +5 -6
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +1 -1
- package/dist/esm/storage/d1Sql.js +1 -7
- package/dist/esm/threshold/session/signingSessionSeal/crypto/cipher.js +0 -1
- package/dist/esm/threshold/session/signingSessionSeal/guards/backends.js +1 -2
- package/dist/esm/threshold/session/signingSessionSeal/idempotencyBackends.js +0 -1
- package/dist/esm/threshold/session/signingSessionSeal/idempotencyRecords.js +0 -1
- package/dist/esm/threshold/session/signingSessionSeal/options.js +1 -2
- package/dist/esm/wasm/evm_crypto/pkg/evm_crypto_bg.wasm +0 -0
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +0 -611
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
- package/dist/esm/wasm/shamir3pass_runtime/pkg/shamir3pass_runtime_bg.wasm +0 -0
- package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +0 -4
- package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +2 -1
- package/dist/types/shared-ts/src/device-linking/contracts.d.ts +11 -0
- package/dist/types/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.d.ts +0 -2
- package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +0 -11
- package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +2 -7
- package/dist/types/shared-ts/src/signing-lanes/index.d.ts +0 -4
- package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +0 -1
- package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +0 -18
- package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +6 -35
- package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +6 -843
- package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +2 -1
- package/dist/types/shared-ts/src/threshold/keyMaterialBrands.d.ts +0 -10
- package/dist/types/shared-ts/src/threshold/participants.d.ts +1 -1
- package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +1 -133
- package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +4 -18
- package/dist/types/shared-ts/src/utils/domainIds.d.ts +0 -12
- package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +3 -1
- package/dist/types/shared-ts/src/utils/errors.d.ts +0 -4
- package/dist/types/shared-ts/src/utils/near.d.ts +0 -20
- package/dist/types/shared-ts/src/utils/normalize.d.ts +0 -2
- package/dist/types/shared-ts/src/utils/registrationSetupOperation.d.ts +3 -0
- package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +0 -9
- package/dist/types/shared-ts/src/utils/validation.d.ts +1 -3
- package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +0 -1
- package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +3 -0
- package/dist/types/shared-ts/src/utils/wireSchema.d.ts +0 -2
- package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +0 -1
- package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +1 -10
- package/dist/types/shared-ts/src/wallet-recovery/recoveryCodes.d.ts +1 -3
- package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +5 -21
- package/dist/types/wallet-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/lifecycleRouting.d.ts +32 -0
- package/dist/types/wallet-server/src/authorization/lifecycleRouting.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/authorization/recoveryRouting.d.ts +22 -0
- package/dist/types/wallet-server/src/authorization/recoveryRouting.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/authorization/service.d.ts +50 -5
- package/dist/types/wallet-server/src/authorization/sessionRouting.d.ts +22 -0
- package/dist/types/wallet-server/src/authorization/sessionRouting.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/cloud-host.d.ts +36 -10
- package/dist/types/wallet-server/src/core/EmailOtpRecords.d.ts +2 -22
- package/dist/types/wallet-server/src/core/EmailOtpStores.d.ts +20 -84
- package/dist/types/wallet-server/src/core/IdentityStore.d.ts +0 -10
- package/dist/types/wallet-server/src/core/RegistrationCeremonyStore.d.ts +0 -1
- package/dist/types/wallet-server/src/core/ThresholdService/config.d.ts +0 -2
- package/dist/types/wallet-server/src/core/ThresholdService/index.d.ts +1 -3
- package/dist/types/wallet-server/src/core/ThresholdService/kv.d.ts +0 -7
- package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.d.ts +1 -3
- 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/ThresholdService/routerAbNormalSigningPolicy.d.ts +0 -1
- package/dist/types/wallet-server/src/core/ThresholdService/stores/WalletSessionStore.d.ts +7 -19
- package/dist/types/wallet-server/src/core/ThresholdService/validation.d.ts +0 -34
- package/dist/types/wallet-server/src/core/WalletAuthMethodStore.d.ts +1 -5
- package/dist/types/wallet-server/src/core/WalletStore.d.ts +0 -3
- package/dist/types/wallet-server/src/core/WebAuthnAuthenticatorStore.d.ts +0 -20
- package/dist/types/wallet-server/src/core/WebAuthnCredentialBindingStore.d.ts +1 -27
- package/dist/types/wallet-server/src/core/WebAuthnLoginChallengeStore.d.ts +2 -16
- package/dist/types/wallet-server/src/core/WebAuthnSyncChallengeStore.d.ts +22 -14
- package/dist/types/wallet-server/src/core/authService/emailOtpConfig.d.ts +0 -24
- package/dist/types/wallet-server/src/core/authService/emailOtpEnrollment.d.ts +1 -70
- package/dist/types/wallet-server/src/core/authService/emailOtpSeal.d.ts +0 -13
- package/dist/types/wallet-server/src/core/authService/githubOAuth.d.ts +2 -1
- package/dist/types/wallet-server/src/core/authService/nearTransactions.d.ts +1 -39
- package/dist/types/wallet-server/src/core/authService/rateLimits.d.ts +0 -17
- package/dist/types/wallet-server/src/core/authService/webauthn.d.ts +0 -125
- package/dist/types/wallet-server/src/core/authService/webauthnOidcHelpers.d.ts +0 -3
- package/dist/types/wallet-server/src/core/authService/webauthnVerificationOutcomes.d.ts +1 -1
- package/dist/types/wallet-server/src/core/authService/webauthnWalletBinding.d.ts +0 -12
- package/dist/types/wallet-server/src/core/config.d.ts +0 -10
- package/dist/types/wallet-server/src/core/d1Ed25519SignerRead.d.ts +17 -0
- package/dist/types/wallet-server/src/core/d1IdentityStore.d.ts +0 -2
- package/dist/types/wallet-server/src/core/d1TenantStore.d.ts +0 -7
- package/dist/types/wallet-server/src/core/d1WalletAuthMethodStore.d.ts +0 -1
- package/dist/types/wallet-server/src/core/d1WalletStore.d.ts +6 -0
- package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceBootstrap.d.ts +19 -0
- package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSession.d.ts +8 -6
- package/dist/types/wallet-server/src/core/deviceLinking/requestProof.d.ts +2 -5
- package/dist/types/wallet-server/src/core/emailOtpD1Statements.d.ts +11 -7
- package/dist/types/wallet-server/src/core/keyMaterialBrands.d.ts +1 -5
- package/dist/types/wallet-server/src/core/nearRelayerAccountProvisioning.d.ts +0 -1
- package/dist/types/wallet-server/src/core/passkeyCredentialClaims.d.ts +9 -0
- package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbEcdsaPresignRuntime.d.ts +5 -3
- package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbNormalSigningRuntime.d.ts +0 -2
- package/dist/types/wallet-server/src/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.d.ts +1 -0
- package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.d.ts +15 -140
- package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.typecheck.d.ts +4 -52
- package/dist/types/wallet-server/src/core/thresholdEcdsaChainTarget.d.ts +0 -1
- package/dist/types/wallet-server/src/core/types.d.ts +0 -299
- package/dist/types/wallet-server/src/hosted-wallet-gateway.d.ts +18 -5
- package/dist/types/wallet-server/src/index.d.ts +8 -13
- package/dist/types/wallet-server/src/localIntendedYaoSigningFault.d.ts +1 -16
- package/dist/types/wallet-server/src/localRegistrationSetupAuthority.d.ts +13 -0
- 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 +23 -0
- 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 +28 -3
- 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 +33 -2
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.d.ts +5 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.d.ts +7 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.d.ts +1 -10
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRouteService.d.ts +4 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.d.ts +6 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.d.ts +1 -13
- 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/d1EmailOtpChallengeService.d.ts +2 -2
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.d.ts +2 -1
- 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/d1EmailOtpGrantStore.d.ts +0 -2
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.d.ts +6 -13
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.d.ts +21 -7
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.d.ts +29 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.d.ts +3 -16
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.d.ts +7 -2
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleRegistrationCompletion.d.ts +23 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/identity/d1IdentityService.d.ts +0 -12
- package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1SponsoredNearAccount.d.ts +24 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1SponsoredNearAccount.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/oidc/d1OidcVerificationService.d.ts +0 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/oidc/googleOidcToken.d.ts +4 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.d.ts +5 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.d.ts +26 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.d.ts +33 -8
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.d.ts +10 -11
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.d.ts +17 -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 +58 -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 +9 -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 +52 -90
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetup.d.ts +3 -30
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetupExecution.d.ts +16 -0
- 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/d1WalletAddSignerFinalizeRecord.d.ts +27 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.d.ts +4 -10
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodService.d.ts +5 -9
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorityStore.d.ts +8 -4
- 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/d1/webauthn/d1WebAuthnAuthService.d.ts +3 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnRecords.d.ts +0 -13
- package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnStore.d.ts +23 -10
- package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnStore.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/cloudflare.types.d.ts +0 -2
- 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 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOpsClient.d.ts +3 -1
- 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/runtime/walletRuntimeOps.d.ts +3 -0
- package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.d.ts +5 -0
- package/dist/types/wallet-server/src/router/cloudflare-adaptor.d.ts +0 -1
- 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 +42 -8
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.d.ts +33 -2
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.d.ts +2 -2
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.d.ts +14 -8
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.d.ts +2 -0
- 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/routerAbEd25519YaoRecoveryRequestScopedCloudflare.d.ts +2 -0
- 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/passkeyCustodyEnvelopeRetrieval.d.ts +0 -2
- 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 -8
- 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/routerAbPrivateSigningWorker.d.ts +0 -17
- package/dist/types/wallet-server/src/router/domains/signingOperations/signingPrepareSession.d.ts +23 -0
- package/dist/types/wallet-server/src/router/domains/signingOperations/walletExecutionAdmission.d.ts +1 -2
- 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 +8 -7
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationReservation.d.ts +125 -0
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationRoutes.d.ts +17 -15
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationSetupPayload.d.ts +2 -2
- package/dist/types/wallet-server/src/router/framework/apiCredentialPorts.d.ts +24 -0
- package/dist/types/wallet-server/src/router/framework/authServicePort.d.ts +35 -41
- package/dist/types/wallet-server/src/router/framework/googleLoginResolution.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/router/framework/registrationSetupDispatch.d.ts +13 -0
- package/dist/types/wallet-server/src/router/framework/routerApi.d.ts +3 -12
- package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinking.d.ts +1 -1
- package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinkingResponses.d.ts +17 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/ecdsaOperationStepUpFactor.d.ts +37 -0
- 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/d1Sql.d.ts +0 -1
- package/dist/types/wallet-server/src/storage/tenantRoute.d.ts +1 -1
- package/migrations/d1-signer/0040_namespace_home_challenges.sql +16 -0
- package/migrations/d1-signer/0041_step_up_admission_expiry.sql +28 -0
- package/migrations/d1-signer/0042_deployment_resource_challenges.sql +4 -0
- package/migrations/d1-signer/0043_google_registration_candidate_claim.sql +2 -0
- package/migrations/d1-signer/0044_linked_device_bootstrap_imports.sql +6 -0
- package/migrations/d1-signer/0045_wallet_owned_capability_receipts.sql +29 -0
- package/migrations/d1-signer/0046_wallet_owned_signing_abuse.sql +41 -0
- package/migrations/d1-signer/0047_remove_unused_near_public_keys.sql +2 -0
- package/migrations/d1-signer/0048_operation_owner_scope.sql +45 -0
- 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 +2 -3
- package/src/README.md +33 -3
- package/cloudflare-router-ab/scripts/local-key-material.mjs +0 -29
- package/dist/esm/core/AuthService.js +0 -2
- package/dist/esm/core/NearPublicKeyStore.js +0 -200
- package/dist/esm/core/ThresholdService/stores/CloudflareDurableObjectStore.js +0 -397
- package/dist/esm/core/ThresholdService/stores/KeyStore.js +0 -140
- package/dist/esm/core/ThresholdService/stores/SessionStore.js +0 -361
- package/dist/esm/core/ThresholdService/stores/StoreConfig.js +0 -13
- package/dist/esm/core/ThresholdService/stores/exportReplayGuard.js +0 -7
- package/dist/esm/core/authService/AuthService.js +0 -594
- package/dist/esm/core/authService/bytes.js +0 -19
- package/dist/esm/core/authService/configValues.js +0 -15
- package/dist/esm/core/authService/emailOtpChallengeOperations.js +0 -123
- package/dist/esm/core/authService/emailOtpChallengeProof.js +0 -183
- package/dist/esm/core/authService/emailOtpChallengeVerification.js +0 -264
- package/dist/esm/core/authService/emailOtpChallenges.js +0 -225
- package/dist/esm/core/authService/emailOtpDelivery.js +0 -134
- package/dist/esm/core/authService/emailOtpGrant.js +0 -43
- package/dist/esm/core/authService/emailOtpRegistrationEnrollment.js +0 -144
- package/dist/esm/core/authService/emailOtpUnlock.js +0 -174
- package/dist/esm/core/authService/googleEmailOtpOperations.js +0 -141
- package/dist/esm/core/authService/googleEmailOtpRegistration.js +0 -587
- package/dist/esm/core/authService/identity.js +0 -42
- package/dist/esm/core/authService/identityOperations.js +0 -32
- package/dist/esm/core/authService/nearAccountOperations.js +0 -229
- package/dist/esm/core/authService/nearPublicKeyMetadata.js +0 -108
- package/dist/esm/core/authService/oidcVerification.js +0 -249
- package/dist/esm/core/authService/registrationThresholdHelpers.js +0 -30
- package/dist/esm/core/authService/runtime.js +0 -45
- package/dist/esm/core/authService/storeRegistry.js +0 -102
- package/dist/esm/core/authService/thresholdStoreSummary.js +0 -32
- package/dist/esm/core/authService/webauthnAuthority.js +0 -17
- package/dist/esm/core/defaultConfigsServer.js +0 -9
- package/dist/esm/core/hostedAccountIds.js +0 -225
- package/dist/esm/core/routerAbSigning/createRouterAbSigningRuntimes.js +0 -84
- package/dist/esm/core/signingLanes/LaneAggregateRevocationApplicationService.js +0 -86
- package/dist/esm/core/signingLanes/LaneEnrollmentActivation.js +0 -324
- package/dist/esm/core/signingLanes/LaneEnrollmentRevocation.js +0 -173
- package/dist/esm/core/signingLanes/LaneLifecycleApplicationService.js +0 -198
- package/dist/esm/core/signingLanes/ecdsaServerRetirement.js +0 -73
- package/dist/esm/core/signingLanes/ed25519ServerRetirement.js +0 -68
- package/dist/esm/core/storeBackends.js +0 -208
- package/dist/esm/core/utils.js +0 -14
- package/dist/esm/core/webAuthnStoreBackends.js +0 -198
- package/dist/esm/router/cloudflare/d1/near/d1NearPublicKeyStore.js +0 -49
- package/dist/esm/router/cloudflare/d1/signingLanes/d1EcdsaLanePrivateBindingResolver.js +0 -10
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneAggregateRevocationApplicationService.js +0 -22
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.js +0 -166
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEnrollmentGateway.js +0 -38
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleApplicationService.js +0 -20
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.js +0 -1459
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLockStore.js +0 -114
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneProtocolCommitter.js +0 -16
- package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneRecords.js +0 -171
- package/dist/esm/router/cloudflare/d1/signingLanes/index.js +0 -10
- package/dist/esm/router/cloudflare/durableObjects/thresholdStore.js +0 -397
- package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.js +0 -597
- package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.js +0 -273
- package/dist/esm/router/cloudflare/signingLanes/index.js +0 -4
- package/dist/esm/router/cloudflare/signingLanes/linkedDeviceEd25519CeremonyBinding.js +0 -32
- package/dist/esm/router/transport/fetch/routes/nearPublicKeys.js +0 -27
- package/dist/esm/shared-ts/src/signing-lanes/rotation.js +0 -8
- package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +0 -358
- package/dist/esm/shared-ts/src/signing-lanes/rotationLifecycle.js +0 -313
- package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +0 -532
- package/dist/esm/shared-ts/src/signing-lanes/rotationProtocolParsers.js +0 -323
- package/dist/esm/shared-ts/src/signing-lanes/rotationWireFields.js +0 -59
- package/dist/types/shared-ts/src/signing-lanes/participantDigest.typecheck.d.ts +0 -2
- package/dist/types/shared-ts/src/signing-lanes/rotation.typecheck.d.ts +0 -2
- package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +0 -13
- package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +0 -78
- package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +0 -27
- package/dist/types/shared-ts/src/signing-lanes/rotationProtocolParsers.d.ts +0 -6
- package/dist/types/shared-ts/src/signing-lanes/rotationWireFields.d.ts +0 -20
- package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeAttempt.d.ts +0 -59
- package/dist/types/wallet-server/src/core/AuthService.d.ts +0 -3
- package/dist/types/wallet-server/src/core/NearPublicKeyStore.d.ts +0 -48
- package/dist/types/wallet-server/src/core/ThresholdService/stores/CloudflareDurableObjectStore.d.ts +0 -21
- package/dist/types/wallet-server/src/core/ThresholdService/stores/KeyStore.d.ts +0 -40
- package/dist/types/wallet-server/src/core/ThresholdService/stores/SessionStore.d.ts +0 -98
- package/dist/types/wallet-server/src/core/ThresholdService/stores/StoreConfig.d.ts +0 -4
- package/dist/types/wallet-server/src/core/ThresholdService/stores/ThresholdStoreConfig.typecheck.d.ts +0 -2
- package/dist/types/wallet-server/src/core/ThresholdService/stores/exportReplayGuard.d.ts +0 -3
- package/dist/types/wallet-server/src/core/authService/AuthService.d.ts +0 -490
- package/dist/types/wallet-server/src/core/authService/bytes.d.ts +0 -3
- package/dist/types/wallet-server/src/core/authService/configValues.d.ts +0 -7
- package/dist/types/wallet-server/src/core/authService/emailOtpChallengeOperations.d.ts +0 -109
- package/dist/types/wallet-server/src/core/authService/emailOtpChallengeProof.d.ts +0 -169
- package/dist/types/wallet-server/src/core/authService/emailOtpChallengeVerification.d.ts +0 -47
- package/dist/types/wallet-server/src/core/authService/emailOtpChallenges.d.ts +0 -86
- package/dist/types/wallet-server/src/core/authService/emailOtpDelivery.d.ts +0 -66
- package/dist/types/wallet-server/src/core/authService/emailOtpGrant.d.ts +0 -43
- package/dist/types/wallet-server/src/core/authService/emailOtpRegistrationEnrollment.d.ts +0 -49
- package/dist/types/wallet-server/src/core/authService/emailOtpUnlock.d.ts +0 -64
- package/dist/types/wallet-server/src/core/authService/googleEmailOtpOperations.d.ts +0 -126
- package/dist/types/wallet-server/src/core/authService/googleEmailOtpRegistration.d.ts +0 -169
- package/dist/types/wallet-server/src/core/authService/identity.d.ts +0 -25
- package/dist/types/wallet-server/src/core/authService/identityOperations.d.ts +0 -19
- package/dist/types/wallet-server/src/core/authService/nearAccountOperations.d.ts +0 -55
- package/dist/types/wallet-server/src/core/authService/nearPublicKeyMetadata.d.ts +0 -44
- package/dist/types/wallet-server/src/core/authService/oidcVerification.d.ts +0 -66
- package/dist/types/wallet-server/src/core/authService/registrationThresholdHelpers.d.ts +0 -11
- package/dist/types/wallet-server/src/core/authService/runtime.d.ts +0 -20
- package/dist/types/wallet-server/src/core/authService/storeRegistry.d.ts +0 -53
- package/dist/types/wallet-server/src/core/authService/thresholdStoreSummary.d.ts +0 -3
- package/dist/types/wallet-server/src/core/authService/webauthnAuthority.d.ts +0 -5
- package/dist/types/wallet-server/src/core/defaultConfigsServer.d.ts +0 -5
- package/dist/types/wallet-server/src/core/hostedAccountIds.d.ts +0 -16
- package/dist/types/wallet-server/src/core/routerAbSigning/createRouterAbSigningRuntimes.d.ts +0 -16
- package/dist/types/wallet-server/src/core/signingLanes/LaneAggregateRevocationApplicationService.d.ts +0 -36
- package/dist/types/wallet-server/src/core/signingLanes/LaneEffectJournalStore.d.ts +0 -62
- package/dist/types/wallet-server/src/core/signingLanes/LaneEnrollmentActivation.d.ts +0 -13
- package/dist/types/wallet-server/src/core/signingLanes/LaneEnrollmentRevocation.d.ts +0 -24
- package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleApplicationService.d.ts +0 -141
- package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleStore.d.ts +0 -228
- package/dist/types/wallet-server/src/core/signingLanes/ecdsaServerRetirement.d.ts +0 -58
- package/dist/types/wallet-server/src/core/signingLanes/ed25519ServerRetirement.d.ts +0 -30
- package/dist/types/wallet-server/src/core/signingLanes/signingWorkerLaneMaterialIdentity.d.ts +0 -4
- package/dist/types/wallet-server/src/core/storeBackends.d.ts +0 -83
- package/dist/types/wallet-server/src/core/utils.d.ts +0 -3
- package/dist/types/wallet-server/src/core/webAuthnStoreBackends.d.ts +0 -96
- package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1NearPublicKeyStore.d.ts +0 -29
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1EcdsaLanePrivateBindingResolver.d.ts +0 -4
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneAggregateRevocationApplicationService.d.ts +0 -4
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.d.ts +0 -24
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEnrollmentGateway.d.ts +0 -20
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLifecycleApplicationService.d.ts +0 -13
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.d.ts +0 -51
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLockStore.d.ts +0 -28
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneProtocolCommitter.d.ts +0 -5
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneRecords.d.ts +0 -107
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/index.d.ts +0 -10
- package/dist/types/wallet-server/src/router/cloudflare/durableObjects/thresholdStore.d.ts +0 -18
- package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.d.ts +0 -217
- package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.d.ts +0 -73
- package/dist/types/wallet-server/src/router/cloudflare/signingLanes/index.d.ts +0 -4
- package/dist/types/wallet-server/src/router/cloudflare/signingLanes/linkedDeviceEd25519CeremonyBinding.d.ts +0 -6
- package/dist/types/wallet-server/src/router/transport/fetch/routes/nearPublicKeys.d.ts +0 -3
- /package/dist/esm/{core/signingLanes/LaneEffectJournalStore.js → authorization/ed25519WalletSessionAdmission.js} +0 -0
- /package/dist/esm/{core/signingLanes/LaneLifecycleStore.js → authorization/recoveryRouting.js} +0 -0
- /package/dist/esm/{core/signingLanes/signingWorkerLaneMaterialIdentity.js → authorization/sessionRouting.js} +0 -0
|
@@ -0,0 +1,406 @@
|
|
|
1
|
+
-- A temporary wallet-local fence protects the final capacity check.
|
|
2
|
+
CREATE TABLE wallet_relocation_write_blocks (
|
|
3
|
+
namespace TEXT NOT NULL, org_id TEXT NOT NULL, project_id TEXT NOT NULL, env_id TEXT NOT NULL,
|
|
4
|
+
wallet_id TEXT NOT NULL, move_id TEXT NOT NULL, request_digest_hex TEXT NOT NULL,
|
|
5
|
+
source_generation INTEGER NOT NULL,
|
|
6
|
+
state TEXT NOT NULL CHECK (state IN ('draining', 'checked', 'released', 'frozen')),
|
|
7
|
+
started_at_ms INTEGER NOT NULL,
|
|
8
|
+
PRIMARY KEY (namespace, org_id, project_id, env_id, wallet_id, move_id)
|
|
9
|
+
);
|
|
10
|
+
CREATE UNIQUE INDEX wallet_relocation_write_block_active ON wallet_relocation_write_blocks
|
|
11
|
+
(namespace, org_id, project_id, env_id, wallet_id) WHERE state IN ('draining', 'checked');
|
|
12
|
+
|
|
13
|
+
DROP TRIGGER wallet_relocation_authorization_fences_retired;
|
|
14
|
+
CREATE TRIGGER wallet_relocation_authorization_fences_retired
|
|
15
|
+
BEFORE INSERT ON wallet_relocation_authorization_fences
|
|
16
|
+
WHEN (EXISTS (
|
|
17
|
+
SELECT 1 FROM wallet_relocation_authorization_fences AS existing
|
|
18
|
+
WHERE existing.namespace = NEW.namespace AND existing.org_id = NEW.org_id
|
|
19
|
+
AND existing.project_id = NEW.project_id AND existing.env_id = NEW.env_id
|
|
20
|
+
AND existing.wallet_id = NEW.wallet_id
|
|
21
|
+
) OR NOT EXISTS (
|
|
22
|
+
SELECT 1 FROM wallet_relocation_session_fences AS retired
|
|
23
|
+
WHERE retired.namespace = NEW.namespace AND retired.org_id = NEW.org_id
|
|
24
|
+
AND retired.project_id = NEW.project_id AND retired.env_id = NEW.env_id
|
|
25
|
+
AND retired.wallet_id = NEW.wallet_id AND retired.move_id = NEW.move_id
|
|
26
|
+
AND retired.request_digest_hex = NEW.request_digest_hex
|
|
27
|
+
AND retired.source_generation = NEW.source_generation
|
|
28
|
+
AND retired.retired_at_ms <= NEW.frozen_at_ms
|
|
29
|
+
) OR EXISTS (
|
|
30
|
+
SELECT 1 FROM wallet_session_authorizations_v2 AS session
|
|
31
|
+
WHERE session.namespace = NEW.namespace AND session.org_id = NEW.org_id
|
|
32
|
+
AND session.project_id = NEW.project_id AND session.env_id = NEW.env_id
|
|
33
|
+
AND session.wallet_id = NEW.wallet_id AND session.retired_at_ms IS NULL
|
|
34
|
+
) OR EXISTS (
|
|
35
|
+
SELECT 1 FROM wallet_session_hosted_credentials_v2 AS credential
|
|
36
|
+
WHERE credential.namespace = NEW.namespace AND credential.org_id = NEW.org_id
|
|
37
|
+
AND credential.project_id = NEW.project_id AND credential.env_id = NEW.env_id
|
|
38
|
+
AND credential.wallet_id = NEW.wallet_id AND credential.lifecycle_kind = 'active'
|
|
39
|
+
)) AND NOT EXISTS (
|
|
40
|
+
SELECT 1 FROM wallet_relocation_write_blocks AS block
|
|
41
|
+
JOIN wallet_execution_generations AS execution USING (namespace, org_id, project_id, env_id, wallet_id)
|
|
42
|
+
WHERE block.namespace = NEW.namespace AND block.org_id = NEW.org_id
|
|
43
|
+
AND block.project_id = NEW.project_id AND block.env_id = NEW.env_id
|
|
44
|
+
AND block.wallet_id = NEW.wallet_id AND block.move_id = NEW.move_id
|
|
45
|
+
AND block.request_digest_hex = NEW.request_digest_hex AND block.source_generation = NEW.source_generation
|
|
46
|
+
AND block.state = 'draining' AND execution.state = 'active' AND execution.generation = block.source_generation
|
|
47
|
+
AND NOT EXISTS (SELECT 1 FROM wallet_pending_operations AS pending
|
|
48
|
+
WHERE pending.namespace = block.namespace AND pending.org_id = block.org_id
|
|
49
|
+
AND pending.project_id = block.project_id AND pending.env_id = block.env_id AND pending.wallet_id = block.wallet_id)
|
|
50
|
+
AND NOT EXISTS (SELECT 1 FROM wallet_ceremony_activity AS pending
|
|
51
|
+
WHERE pending.namespace = block.namespace AND pending.org_id = block.org_id
|
|
52
|
+
AND pending.project_id = block.project_id AND pending.env_id = block.env_id
|
|
53
|
+
AND pending.wallet_id = block.wallet_id AND pending.settled = 0)
|
|
54
|
+
)
|
|
55
|
+
BEGIN
|
|
56
|
+
SELECT RAISE(ABORT, 'wallet_authorization_freeze_requires_retirement');
|
|
57
|
+
END;
|
|
58
|
+
|
|
59
|
+
DROP TRIGGER wallet_relocation_authorization_fences_retain;
|
|
60
|
+
CREATE TRIGGER wallet_relocation_authorization_fences_retain
|
|
61
|
+
BEFORE DELETE ON wallet_relocation_authorization_fences
|
|
62
|
+
WHEN (NOT EXISTS (
|
|
63
|
+
SELECT 1 FROM wallet_relocation_authorization_returns AS returned
|
|
64
|
+
WHERE returned.namespace = OLD.namespace AND returned.org_id = OLD.org_id
|
|
65
|
+
AND returned.project_id = OLD.project_id AND returned.env_id = OLD.env_id
|
|
66
|
+
AND returned.wallet_id = OLD.wallet_id AND OLD.source_generation = returned.retired_generation
|
|
67
|
+
AND OLD.move_id = returned.previous_move_id
|
|
68
|
+
AND OLD.request_digest_hex = returned.previous_request_digest_hex
|
|
69
|
+
)) AND NOT EXISTS (
|
|
70
|
+
SELECT 1 FROM wallet_relocation_write_blocks AS block
|
|
71
|
+
WHERE block.namespace = OLD.namespace AND block.org_id = OLD.org_id
|
|
72
|
+
AND block.project_id = OLD.project_id AND block.env_id = OLD.env_id AND block.wallet_id = OLD.wallet_id
|
|
73
|
+
AND block.move_id = OLD.move_id AND block.request_digest_hex = OLD.request_digest_hex
|
|
74
|
+
AND block.source_generation = OLD.source_generation AND block.state IN ('released', 'checked')
|
|
75
|
+
AND NOT EXISTS (SELECT 1 FROM wallet_relocation_session_fences AS retired
|
|
76
|
+
WHERE retired.namespace = block.namespace AND retired.org_id = block.org_id
|
|
77
|
+
AND retired.project_id = block.project_id AND retired.env_id = block.env_id AND retired.wallet_id = block.wallet_id)
|
|
78
|
+
)
|
|
79
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_fence_retained'); END;
|
|
80
|
+
|
|
81
|
+
CREATE TRIGGER wallet_ceremony_activity_relocation_write_block BEFORE INSERT ON wallet_ceremony_activity
|
|
82
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_write_blocks block
|
|
83
|
+
WHERE block.namespace = NEW.namespace AND block.org_id = NEW.org_id
|
|
84
|
+
AND block.project_id = NEW.project_id AND block.env_id = NEW.env_id AND block.wallet_id = NEW.wallet_id
|
|
85
|
+
AND block.state IN ('draining', 'checked')) AND NEW.settled = 0 AND NOT EXISTS (SELECT 1 FROM wallet_ceremony_activity existing WHERE existing.namespace = NEW.namespace AND existing.org_id = NEW.org_id AND existing.project_id = NEW.project_id AND existing.env_id = NEW.env_id AND existing.record_key = NEW.record_key AND existing.wallet_id = NEW.wallet_id AND existing.settled = 0)
|
|
86
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
87
|
+
|
|
88
|
+
CREATE TRIGGER wallet_operations_write_block
|
|
89
|
+
BEFORE INSERT ON authorized_operations
|
|
90
|
+
WHEN EXISTS (
|
|
91
|
+
SELECT 1 FROM (SELECT * FROM wallet_relocation_write_blocks WHERE state IN ('draining', 'checked')) AS fence
|
|
92
|
+
JOIN (SELECT owner.namespace, owner.org_id, owner.project_id, owner.env_id, owner.wallet_id
|
|
93
|
+
FROM wallet_operation_authorizations AS owner
|
|
94
|
+
WHERE owner.namespace = NEW.namespace AND owner.tenant_id = NEW.tenant_id
|
|
95
|
+
AND owner.source_kind = NEW.authorization_source_kind
|
|
96
|
+
AND owner.source_id = CASE NEW.authorization_source_kind
|
|
97
|
+
WHEN 'authorization_grant' THEN NEW.authorization_id ELSE NEW.evidence_set_digest END
|
|
98
|
+
AND (NEW.authorization_source_kind = 'verified_step_up' OR
|
|
99
|
+
(NEW.authorization_grant_kind = 'wallet_session_authorization'
|
|
100
|
+
AND owner.org_id = NEW.owner_scope_org_id AND owner.project_id = NEW.owner_scope_project_id
|
|
101
|
+
AND owner.env_id = NEW.owner_scope_env_id))) AS selected ON selected.namespace = fence.namespace
|
|
102
|
+
AND selected.org_id = fence.org_id AND selected.project_id = fence.project_id AND selected.env_id = fence.env_id
|
|
103
|
+
AND selected.wallet_id = fence.wallet_id
|
|
104
|
+
)
|
|
105
|
+
BEGIN
|
|
106
|
+
SELECT RAISE(ABORT, 'authorization_evidence_claim_rejected')
|
|
107
|
+
WHERE NEW.authorization_source_kind = 'verified_step_up';
|
|
108
|
+
SELECT RAISE(ABORT, 'authorization_wallet_session_rejected')
|
|
109
|
+
WHERE NEW.authorization_source_kind IS NOT 'verified_step_up';
|
|
110
|
+
END;
|
|
111
|
+
|
|
112
|
+
CREATE TRIGGER linked_device_sessions_capacity_insert BEFORE INSERT ON linked_device_sessions
|
|
113
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
114
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
115
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = NEW.namespace AND fence.org_id = NEW.org_id
|
|
116
|
+
AND fence.project_id = NEW.project_id AND fence.env_id = NEW.env_id
|
|
117
|
+
AND fence.wallet_id = json_extract(NEW.record_json, '$.claimTranscript.value.walletId'))
|
|
118
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
119
|
+
|
|
120
|
+
CREATE TRIGGER linked_device_sessions_capacity_update BEFORE UPDATE ON linked_device_sessions
|
|
121
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
122
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
123
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
124
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
125
|
+
AND fence.wallet_id = json_extract(OLD.record_json, '$.claimTranscript.value.walletId'))
|
|
126
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
127
|
+
|
|
128
|
+
CREATE TRIGGER linked_device_sessions_capacity_delete BEFORE DELETE ON linked_device_sessions
|
|
129
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
130
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
131
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
132
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
133
|
+
AND fence.wallet_id = json_extract(OLD.record_json, '$.claimTranscript.value.walletId'))
|
|
134
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
135
|
+
|
|
136
|
+
CREATE TRIGGER linked_device_authority_allocations_capacity_insert BEFORE INSERT ON linked_device_authority_allocations
|
|
137
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
138
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
139
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = NEW.namespace AND fence.org_id = NEW.org_id
|
|
140
|
+
AND fence.project_id = NEW.project_id AND fence.env_id = NEW.env_id
|
|
141
|
+
AND fence.wallet_id = NEW.wallet_id)
|
|
142
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
143
|
+
|
|
144
|
+
CREATE TRIGGER linked_device_authority_allocations_capacity_update BEFORE UPDATE ON linked_device_authority_allocations
|
|
145
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
146
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
147
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
148
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
149
|
+
AND fence.wallet_id = OLD.wallet_id)
|
|
150
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
151
|
+
|
|
152
|
+
CREATE TRIGGER linked_device_authority_allocations_capacity_delete BEFORE DELETE ON linked_device_authority_allocations
|
|
153
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
154
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
155
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
156
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
157
|
+
AND fence.wallet_id = OLD.wallet_id)
|
|
158
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
159
|
+
|
|
160
|
+
CREATE TRIGGER linked_device_authority_installations_capacity_insert BEFORE INSERT ON linked_device_authority_installations
|
|
161
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
162
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
163
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = NEW.namespace AND fence.org_id = NEW.org_id
|
|
164
|
+
AND fence.project_id = NEW.project_id AND fence.env_id = NEW.env_id
|
|
165
|
+
AND fence.wallet_id = NEW.wallet_id)
|
|
166
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
167
|
+
|
|
168
|
+
CREATE TRIGGER linked_device_authority_installations_capacity_update BEFORE UPDATE ON linked_device_authority_installations
|
|
169
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
170
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
171
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
172
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
173
|
+
AND fence.wallet_id = OLD.wallet_id)
|
|
174
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
175
|
+
|
|
176
|
+
CREATE TRIGGER linked_device_authority_installations_capacity_delete BEFORE DELETE ON linked_device_authority_installations
|
|
177
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
178
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
179
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
180
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
181
|
+
AND fence.wallet_id = OLD.wallet_id)
|
|
182
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
183
|
+
|
|
184
|
+
CREATE TRIGGER linked_device_target_credentials_capacity_insert BEFORE INSERT ON linked_device_target_credentials
|
|
185
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
186
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
187
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = NEW.namespace AND fence.org_id = NEW.org_id
|
|
188
|
+
AND fence.project_id = NEW.project_id AND fence.env_id = NEW.env_id
|
|
189
|
+
AND fence.wallet_id = NEW.wallet_id)
|
|
190
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
191
|
+
|
|
192
|
+
CREATE TRIGGER linked_device_target_credentials_capacity_update BEFORE UPDATE ON linked_device_target_credentials
|
|
193
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
194
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
195
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
196
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
197
|
+
AND fence.wallet_id = OLD.wallet_id)
|
|
198
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
199
|
+
|
|
200
|
+
CREATE TRIGGER linked_device_target_credentials_capacity_delete BEFORE DELETE ON linked_device_target_credentials
|
|
201
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
202
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
203
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
204
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
205
|
+
AND fence.wallet_id = OLD.wallet_id)
|
|
206
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
207
|
+
|
|
208
|
+
CREATE TRIGGER linked_device_target_commit_reservations_capacity_insert BEFORE INSERT ON linked_device_target_commit_reservations
|
|
209
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
210
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
211
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = NEW.namespace AND fence.org_id = NEW.org_id
|
|
212
|
+
AND fence.project_id = NEW.project_id AND fence.env_id = NEW.env_id
|
|
213
|
+
AND fence.wallet_id = (SELECT json_extract(parent.record_json, '$.claimTranscript.value.walletId') FROM linked_device_sessions AS parent WHERE parent.namespace = NEW.namespace AND parent.org_id = NEW.org_id AND parent.project_id = NEW.project_id AND parent.env_id = NEW.env_id AND parent.link_session_id = NEW.link_session_id))
|
|
214
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
215
|
+
|
|
216
|
+
CREATE TRIGGER linked_device_target_commit_reservations_capacity_update BEFORE UPDATE ON linked_device_target_commit_reservations
|
|
217
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
218
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
219
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
220
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
221
|
+
AND fence.wallet_id = (SELECT json_extract(parent.record_json, '$.claimTranscript.value.walletId') FROM linked_device_sessions AS parent WHERE parent.namespace = OLD.namespace AND parent.org_id = OLD.org_id AND parent.project_id = OLD.project_id AND parent.env_id = OLD.env_id AND parent.link_session_id = OLD.link_session_id))
|
|
222
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
223
|
+
|
|
224
|
+
CREATE TRIGGER linked_device_target_commit_reservations_capacity_delete BEFORE DELETE ON linked_device_target_commit_reservations
|
|
225
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
226
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
227
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
228
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
229
|
+
AND fence.wallet_id = (SELECT json_extract(parent.record_json, '$.claimTranscript.value.walletId') FROM linked_device_sessions AS parent WHERE parent.namespace = OLD.namespace AND parent.org_id = OLD.org_id AND parent.project_id = OLD.project_id AND parent.env_id = OLD.env_id AND parent.link_session_id = OLD.link_session_id))
|
|
230
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
231
|
+
|
|
232
|
+
CREATE TRIGGER linked_device_session_transcripts_capacity_insert BEFORE INSERT ON linked_device_session_transcripts
|
|
233
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
234
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
235
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = NEW.namespace AND fence.org_id = NEW.org_id
|
|
236
|
+
AND fence.project_id = NEW.project_id AND fence.env_id = NEW.env_id
|
|
237
|
+
AND fence.wallet_id = (SELECT json_extract(parent.record_json, '$.claimTranscript.value.walletId') FROM linked_device_sessions AS parent WHERE parent.namespace = NEW.namespace AND parent.org_id = NEW.org_id AND parent.project_id = NEW.project_id AND parent.env_id = NEW.env_id AND parent.link_session_id = NEW.link_session_id))
|
|
238
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
239
|
+
|
|
240
|
+
CREATE TRIGGER linked_device_session_transcripts_capacity_update BEFORE UPDATE ON linked_device_session_transcripts
|
|
241
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
242
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
243
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
244
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
245
|
+
AND fence.wallet_id = (SELECT json_extract(parent.record_json, '$.claimTranscript.value.walletId') FROM linked_device_sessions AS parent WHERE parent.namespace = OLD.namespace AND parent.org_id = OLD.org_id AND parent.project_id = OLD.project_id AND parent.env_id = OLD.env_id AND parent.link_session_id = OLD.link_session_id))
|
|
246
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
247
|
+
|
|
248
|
+
CREATE TRIGGER linked_device_session_transcripts_capacity_delete BEFORE DELETE ON linked_device_session_transcripts
|
|
249
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
250
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
251
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
252
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
253
|
+
AND fence.wallet_id = (SELECT json_extract(parent.record_json, '$.claimTranscript.value.walletId') FROM linked_device_sessions AS parent WHERE parent.namespace = OLD.namespace AND parent.org_id = OLD.org_id AND parent.project_id = OLD.project_id AND parent.env_id = OLD.env_id AND parent.link_session_id = OLD.link_session_id))
|
|
254
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
255
|
+
|
|
256
|
+
CREATE TRIGGER linked_device_ed25519_export_root_transfers_capacity_insert BEFORE INSERT ON linked_device_ed25519_export_root_transfers
|
|
257
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
258
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
259
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = NEW.namespace AND fence.org_id = NEW.org_id
|
|
260
|
+
AND fence.project_id = NEW.project_id AND fence.env_id = NEW.env_id
|
|
261
|
+
AND fence.wallet_id = NEW.wallet_id)
|
|
262
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
263
|
+
|
|
264
|
+
CREATE TRIGGER linked_device_ed25519_export_root_transfers_capacity_update BEFORE UPDATE ON linked_device_ed25519_export_root_transfers
|
|
265
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
266
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
267
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
268
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
269
|
+
AND fence.wallet_id = OLD.wallet_id)
|
|
270
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
271
|
+
|
|
272
|
+
CREATE TRIGGER linked_device_ed25519_export_root_transfers_capacity_delete BEFORE DELETE ON linked_device_ed25519_export_root_transfers
|
|
273
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
274
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
275
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
276
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
277
|
+
AND fence.wallet_id = OLD.wallet_id)
|
|
278
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
279
|
+
|
|
280
|
+
CREATE TRIGGER linked_device_email_otp_grants_capacity_insert BEFORE INSERT ON linked_device_email_otp_grants
|
|
281
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
282
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
283
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = NEW.namespace AND fence.org_id = NEW.org_id
|
|
284
|
+
AND fence.project_id = NEW.project_id AND fence.env_id = NEW.env_id
|
|
285
|
+
AND fence.wallet_id = NEW.wallet_id)
|
|
286
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
287
|
+
|
|
288
|
+
CREATE TRIGGER linked_device_email_otp_grants_capacity_update BEFORE UPDATE ON linked_device_email_otp_grants
|
|
289
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
290
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
291
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
292
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
293
|
+
AND fence.wallet_id = OLD.wallet_id)
|
|
294
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
295
|
+
|
|
296
|
+
CREATE TRIGGER linked_device_email_otp_grants_capacity_delete BEFORE DELETE ON linked_device_email_otp_grants
|
|
297
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
298
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
299
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
300
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
301
|
+
AND fence.wallet_id = OLD.wallet_id)
|
|
302
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
303
|
+
|
|
304
|
+
CREATE TRIGGER linked_device_request_proof_nonces_capacity_insert BEFORE INSERT ON linked_device_request_proof_nonces
|
|
305
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
306
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
307
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = NEW.namespace AND fence.org_id = NEW.org_id
|
|
308
|
+
AND fence.project_id = NEW.project_id AND fence.env_id = NEW.env_id
|
|
309
|
+
AND fence.wallet_id = (SELECT json_extract(parent.record_json, '$.claimTranscript.value.walletId') FROM linked_device_sessions AS parent WHERE parent.namespace = NEW.namespace AND parent.org_id = NEW.org_id AND parent.project_id = NEW.project_id AND parent.env_id = NEW.env_id AND parent.link_session_id = NEW.link_session_id))
|
|
310
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
311
|
+
|
|
312
|
+
CREATE TRIGGER linked_device_request_proof_nonces_capacity_update BEFORE UPDATE ON linked_device_request_proof_nonces
|
|
313
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
314
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
315
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
316
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
317
|
+
AND fence.wallet_id = (SELECT json_extract(parent.record_json, '$.claimTranscript.value.walletId') FROM linked_device_sessions AS parent WHERE parent.namespace = OLD.namespace AND parent.org_id = OLD.org_id AND parent.project_id = OLD.project_id AND parent.env_id = OLD.env_id AND parent.link_session_id = OLD.link_session_id))
|
|
318
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
319
|
+
|
|
320
|
+
CREATE TRIGGER linked_device_request_proof_nonces_capacity_delete BEFORE DELETE ON linked_device_request_proof_nonces
|
|
321
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
322
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
323
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
324
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
325
|
+
AND fence.wallet_id = (SELECT json_extract(parent.record_json, '$.claimTranscript.value.walletId') FROM linked_device_sessions AS parent WHERE parent.namespace = OLD.namespace AND parent.org_id = OLD.org_id AND parent.project_id = OLD.project_id AND parent.env_id = OLD.env_id AND parent.link_session_id = OLD.link_session_id))
|
|
326
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
327
|
+
|
|
328
|
+
CREATE TRIGGER linked_device_bootstrap_imports_capacity_insert BEFORE INSERT ON linked_device_bootstrap_imports
|
|
329
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
330
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
331
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = NEW.namespace AND fence.org_id = NEW.org_id
|
|
332
|
+
AND fence.project_id = NEW.project_id AND fence.env_id = NEW.env_id
|
|
333
|
+
AND fence.wallet_id = (SELECT json_extract(parent.record_json, '$.claimTranscript.value.walletId') FROM linked_device_sessions AS parent WHERE parent.namespace = NEW.namespace AND parent.org_id = NEW.org_id AND parent.project_id = NEW.project_id AND parent.env_id = NEW.env_id AND parent.link_session_id = NEW.link_session_id))
|
|
334
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
335
|
+
|
|
336
|
+
CREATE TRIGGER linked_device_bootstrap_imports_capacity_update BEFORE UPDATE ON linked_device_bootstrap_imports
|
|
337
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
338
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
339
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
340
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
341
|
+
AND fence.wallet_id = (SELECT json_extract(parent.record_json, '$.claimTranscript.value.walletId') FROM linked_device_sessions AS parent WHERE parent.namespace = OLD.namespace AND parent.org_id = OLD.org_id AND parent.project_id = OLD.project_id AND parent.env_id = OLD.env_id AND parent.link_session_id = OLD.link_session_id))
|
|
342
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
343
|
+
|
|
344
|
+
CREATE TRIGGER linked_device_bootstrap_imports_capacity_delete BEFORE DELETE ON linked_device_bootstrap_imports
|
|
345
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
346
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
347
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
348
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
349
|
+
AND fence.wallet_id = (SELECT json_extract(parent.record_json, '$.claimTranscript.value.walletId') FROM linked_device_sessions AS parent WHERE parent.namespace = OLD.namespace AND parent.org_id = OLD.org_id AND parent.project_id = OLD.project_id AND parent.env_id = OLD.env_id AND parent.link_session_id = OLD.link_session_id))
|
|
350
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
351
|
+
|
|
352
|
+
CREATE TRIGGER linked_device_wallet_session_credential_deliveries_v1_capacity_insert BEFORE INSERT ON linked_device_wallet_session_credential_deliveries_v1
|
|
353
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
354
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
355
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = NEW.namespace AND fence.org_id = NEW.org_id
|
|
356
|
+
AND fence.project_id = NEW.project_id AND fence.env_id = NEW.env_id
|
|
357
|
+
AND fence.wallet_id = NEW.wallet_id)
|
|
358
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
359
|
+
|
|
360
|
+
CREATE TRIGGER linked_device_wallet_session_credential_deliveries_v1_capacity_update BEFORE UPDATE ON linked_device_wallet_session_credential_deliveries_v1
|
|
361
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
362
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
363
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
364
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
365
|
+
AND fence.wallet_id = OLD.wallet_id)
|
|
366
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
367
|
+
|
|
368
|
+
CREATE TRIGGER linked_device_wallet_session_credential_deliveries_v1_capacity_delete BEFORE DELETE ON linked_device_wallet_session_credential_deliveries_v1
|
|
369
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
370
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
371
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace AND fence.org_id = OLD.org_id
|
|
372
|
+
AND fence.project_id = OLD.project_id AND fence.env_id = OLD.env_id
|
|
373
|
+
AND fence.wallet_id = OLD.wallet_id)
|
|
374
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
375
|
+
|
|
376
|
+
CREATE TRIGGER wallet_relocation_approvals_capacity_insert BEFORE INSERT ON wallet_relocation_approvals
|
|
377
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
378
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
379
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = NEW.namespace
|
|
380
|
+
AND fence.org_id = NEW.org_id AND fence.project_id = NEW.project_id
|
|
381
|
+
AND fence.env_id = NEW.env_id AND fence.wallet_id = NEW.wallet_id)
|
|
382
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
383
|
+
|
|
384
|
+
CREATE TRIGGER wallet_relocation_approvals_capacity_update BEFORE UPDATE ON wallet_relocation_approvals
|
|
385
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
386
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
387
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace
|
|
388
|
+
AND fence.org_id = OLD.org_id AND fence.project_id = OLD.project_id
|
|
389
|
+
AND fence.env_id = OLD.env_id AND fence.wallet_id = OLD.wallet_id)
|
|
390
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
391
|
+
|
|
392
|
+
CREATE TRIGGER wallet_relocation_approvals_capacity_delete BEFORE DELETE ON wallet_relocation_approvals
|
|
393
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
394
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
395
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = OLD.namespace
|
|
396
|
+
AND fence.org_id = OLD.org_id AND fence.project_id = OLD.project_id
|
|
397
|
+
AND fence.env_id = OLD.env_id AND fence.wallet_id = OLD.wallet_id)
|
|
398
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
399
|
+
|
|
400
|
+
CREATE TRIGGER verified_wallet_operation_evidence_sets_capacity_insert BEFORE INSERT ON verified_wallet_operation_evidence_sets
|
|
401
|
+
WHEN EXISTS (SELECT 1 FROM wallet_relocation_authorization_fences AS fence
|
|
402
|
+
JOIN wallet_relocation_write_blocks AS block USING (namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
403
|
+
WHERE block.state IN ('draining', 'checked') AND fence.namespace = NEW.namespace
|
|
404
|
+
AND fence.org_id = NEW.org_id AND fence.project_id = NEW.project_id
|
|
405
|
+
AND fence.env_id = NEW.env_id AND fence.wallet_id = NEW.wallet_id)
|
|
406
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_relocation_write_blocked'); END;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
CREATE TABLE wallet_object_addresses (
|
|
2
|
+
namespace TEXT NOT NULL,
|
|
3
|
+
org_id TEXT NOT NULL,
|
|
4
|
+
project_id TEXT NOT NULL,
|
|
5
|
+
env_id TEXT NOT NULL,
|
|
6
|
+
wallet_id TEXT NOT NULL,
|
|
7
|
+
ownership_generation INTEGER NOT NULL
|
|
8
|
+
CHECK (ownership_generation > 0 AND ownership_generation <= 9007199254740991),
|
|
9
|
+
router TEXT NOT NULL CHECK (length(router) = 64 AND router NOT GLOB '*[^a-f0-9]*'),
|
|
10
|
+
deriver_a TEXT NOT NULL CHECK (length(deriver_a) = 64 AND deriver_a NOT GLOB '*[^a-f0-9]*'),
|
|
11
|
+
deriver_b TEXT NOT NULL CHECK (length(deriver_b) = 64 AND deriver_b NOT GLOB '*[^a-f0-9]*'),
|
|
12
|
+
signing_worker TEXT NOT NULL CHECK (length(signing_worker) = 64 AND signing_worker NOT GLOB '*[^a-f0-9]*'),
|
|
13
|
+
PRIMARY KEY (namespace, org_id, project_id, env_id, wallet_id, ownership_generation)
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
-- A retry must use the winning allocation. Changing or deleting it would allow
|
|
17
|
+
-- two sets of custody objects to execute for the same ownership generation.
|
|
18
|
+
CREATE TRIGGER wallet_object_addresses_immutable
|
|
19
|
+
BEFORE UPDATE ON wallet_object_addresses
|
|
20
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_object_addresses_immutable'); END;
|
|
21
|
+
|
|
22
|
+
CREATE TRIGGER wallet_object_addresses_retained
|
|
23
|
+
BEFORE DELETE ON wallet_object_addresses
|
|
24
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_object_addresses_retained'); END;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seams/wallet-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Seams server TypeScript SDK for NEAR and EVM-family wallets",
|
|
6
6
|
"main": "./dist/esm/index.js",
|
|
@@ -121,8 +121,7 @@
|
|
|
121
121
|
"dependencies": {
|
|
122
122
|
"@simplewebauthn/server": "^13.2.2",
|
|
123
123
|
"bs58": "^6.0.0",
|
|
124
|
-
"express": "^4.21.2"
|
|
125
|
-
"tslib": "^2.8.1"
|
|
124
|
+
"express": "^4.21.2"
|
|
126
125
|
},
|
|
127
126
|
"devDependencies": {
|
|
128
127
|
"@near-js/types": "^2.4.0",
|
package/src/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Server Package
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
The Router API implements wallet registration, built-in owner verification,
|
|
4
|
+
opaque Wallet Sessions, signing admission, and recovery. Wallet application
|
|
5
|
+
authentication is intentionally outside this package.
|
|
6
6
|
|
|
7
7
|
## Authorization model
|
|
8
8
|
|
|
@@ -22,6 +22,14 @@ application authentication is intentionally outside this package.
|
|
|
22
22
|
|
|
23
23
|
## Primary wallet routes
|
|
24
24
|
|
|
25
|
+
Wallet-management routes (registration, signer setup/inventory, auth-method
|
|
26
|
+
management and implicit NEAR funding) require `X-Seams-Wallet-Protocol: 3`.
|
|
27
|
+
Missing or unsupported values return HTTP 409, `wallet_protocol_mismatch`, with
|
|
28
|
+
reload/upgrade instructions before parsing the body or invoking route services.
|
|
29
|
+
The current Wallet SDK sends this header automatically. Direct HTTP clients,
|
|
30
|
+
including deployment registration canaries, must send it explicitly. The header
|
|
31
|
+
declares the wire contract and does not replace authentication.
|
|
32
|
+
|
|
25
33
|
- `POST /wallets/register/setup`
|
|
26
34
|
- `POST /wallets/register/respond`
|
|
27
35
|
- `POST /wallets/register/activate`
|
|
@@ -40,6 +48,28 @@ The hosted-wallet exchange routes deliver one opaque Wallet Session token
|
|
|
40
48
|
through a short-lived, origin-bound, single-use capability. They do not create
|
|
41
49
|
an application session, and the outer application never receives the token.
|
|
42
50
|
|
|
51
|
+
## Initial Cloudflare wallet placement
|
|
52
|
+
|
|
53
|
+
The regional host must admit each request to the wallet's fixed home before calling
|
|
54
|
+
custody services. Wrap the existing `MPC_ROUTER` and `SIGNING_WORKER` bindings with
|
|
55
|
+
`WalletHomeCustodyBinding` from `@seams/wallet-server/cloud-host`. Pass the admitted
|
|
56
|
+
`US`, `WEUR`, `APAC`, or `OC` home. Never use an incoming client header as this value.
|
|
57
|
+
This applies to custom hosts that call the exported hosted Gateway Worker as well.
|
|
58
|
+
|
|
59
|
+
The binding overwrites `x-seams-wallet-home-region`. The Router accepts this header
|
|
60
|
+
only after checking the existing private Gateway credential. Missing or invalid
|
|
61
|
+
values fail before wallet-object access. Gateway and custody versions must deploy
|
|
62
|
+
together. No additional environment variable or service credential is required.
|
|
63
|
+
|
|
64
|
+
The Router carries the home through Yao setup, status lookups, retries, deferred
|
|
65
|
+
execution, and signing-worker delivery. Initial object lookups request `enam`,
|
|
66
|
+
`weur`, `apac`, or `oc`, respectively. Wallet identity and ownership generation
|
|
67
|
+
remain unchanged. The local fixture explicitly uses `US`.
|
|
68
|
+
|
|
69
|
+
Cloudflare location hints are advisory and apply to initial placement. They do not
|
|
70
|
+
move existing objects or guarantee D1, Workers, and objects share one data centre.
|
|
71
|
+
Use fresh wallets when measuring this change.
|
|
72
|
+
|
|
43
73
|
## PRF Session Seal Module
|
|
44
74
|
|
|
45
75
|
`signingSessionSeal` is optional and preserves sealed signing refresh material.
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { createPrivateKey, createPublicKey } from 'node:crypto';
|
|
2
|
-
|
|
3
|
-
const ED25519_PKCS8_SEED_PREFIX = Buffer.from('302e020100300506032b657004220420', 'hex');
|
|
4
|
-
|
|
5
|
-
export function localPeerSigningKeyBase64Url(value) {
|
|
6
|
-
return Buffer.from(localPeerSigningSeedHex(value), 'hex').toString('base64url');
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export function localPeerVerifyingKeyHex(value) {
|
|
10
|
-
const seed = Buffer.from(localPeerSigningSeedHex(value), 'hex');
|
|
11
|
-
const privateKey = createPrivateKey({
|
|
12
|
-
key: Buffer.concat([ED25519_PKCS8_SEED_PREFIX, seed]),
|
|
13
|
-
format: 'der',
|
|
14
|
-
type: 'pkcs8',
|
|
15
|
-
});
|
|
16
|
-
const publicKey = createPublicKey(privateKey).export({ format: 'der', type: 'spki' });
|
|
17
|
-
return Buffer.from(publicKey).subarray(-32).toString('hex');
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function localPeerSigningSeedHex(value) {
|
|
21
|
-
if (!/^[A-Za-z0-9_-]{43}$/.test(value)) {
|
|
22
|
-
throw new Error('Router A/B local peer signing key must be 32-byte base64url');
|
|
23
|
-
}
|
|
24
|
-
const seed = Buffer.from(value, 'base64url');
|
|
25
|
-
if (seed.length !== 32) {
|
|
26
|
-
throw new Error('Router A/B local peer signing key must decode to 32 bytes');
|
|
27
|
-
}
|
|
28
|
-
return seed.toString('hex');
|
|
29
|
-
}
|