@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,424 @@
|
|
|
1
|
+
-- Standalone history imports cannot be upgraded into a different receipt protocol.
|
|
2
|
+
-- Preserve them by refusing the upgrade if any exist.
|
|
3
|
+
CREATE TABLE wallet_authorization_import_upgrade_guard (count INTEGER NOT NULL CHECK (count = 0));
|
|
4
|
+
INSERT INTO wallet_authorization_import_upgrade_guard
|
|
5
|
+
SELECT (SELECT COUNT(*) FROM wallet_relocation_hosted_imports)
|
|
6
|
+
+ (SELECT COUNT(*) FROM wallet_relocation_hosted_import_context)
|
|
7
|
+
+ (SELECT COUNT(*) FROM wallet_relocation_hosted_import_receipts);
|
|
8
|
+
DROP TABLE wallet_authorization_import_upgrade_guard;
|
|
9
|
+
DROP TRIGGER wallet_session_authorizations_v2_import_insert_guard;
|
|
10
|
+
DROP TRIGGER wallet_session_authorizations_v2_import_update_guard;
|
|
11
|
+
DROP TRIGGER wallet_session_hosted_credentials_v2_insert_lifecycle_guard;
|
|
12
|
+
DROP TRIGGER wallet_session_hosted_credentials_v2_parent_guard;
|
|
13
|
+
DROP TRIGGER wallet_session_hosted_exchange_codes_v2_insert_lifecycle_guard;
|
|
14
|
+
DROP TRIGGER wallet_session_hosted_exchange_codes_v2_parent_guard;
|
|
15
|
+
DROP TABLE wallet_relocation_hosted_import_receipts;
|
|
16
|
+
DROP TABLE wallet_relocation_hosted_import_context;
|
|
17
|
+
DROP TABLE wallet_relocation_hosted_imports;
|
|
18
|
+
|
|
19
|
+
CREATE TABLE wallet_relocation_authorization_imports (
|
|
20
|
+
namespace TEXT NOT NULL, org_id TEXT NOT NULL, project_id TEXT NOT NULL, env_id TEXT NOT NULL,
|
|
21
|
+
wallet_id TEXT NOT NULL, move_id TEXT NOT NULL, request_digest_hex TEXT NOT NULL,
|
|
22
|
+
source_generation INTEGER NOT NULL CHECK (source_generation > 0 AND source_generation < 9007199254740991),
|
|
23
|
+
state TEXT NOT NULL CHECK (state IN ('importing', 'closed', 'activated')),
|
|
24
|
+
PRIMARY KEY (namespace, org_id, project_id, env_id, wallet_id)
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
CREATE TABLE wallet_relocation_authorization_import_context (
|
|
28
|
+
namespace TEXT NOT NULL, org_id TEXT NOT NULL, project_id TEXT NOT NULL, env_id TEXT NOT NULL,
|
|
29
|
+
wallet_id TEXT NOT NULL, move_id TEXT NOT NULL, request_digest_hex TEXT NOT NULL, source_generation INTEGER NOT NULL,
|
|
30
|
+
table_name TEXT NOT NULL,
|
|
31
|
+
record_key TEXT NOT NULL CHECK (json_valid(record_key)),
|
|
32
|
+
record_digest TEXT NOT NULL CHECK (length(record_digest) = 64 AND record_digest NOT GLOB '*[^a-f0-9]*'),
|
|
33
|
+
PRIMARY KEY (namespace, org_id, project_id, env_id, wallet_id)
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
CREATE TABLE wallet_relocation_authorization_import_receipts (
|
|
37
|
+
namespace TEXT NOT NULL, org_id TEXT NOT NULL, project_id TEXT NOT NULL, env_id TEXT NOT NULL,
|
|
38
|
+
wallet_id TEXT NOT NULL, move_id TEXT NOT NULL, request_digest_hex TEXT NOT NULL, source_generation INTEGER NOT NULL,
|
|
39
|
+
table_name TEXT NOT NULL,
|
|
40
|
+
record_key TEXT NOT NULL CHECK (json_valid(record_key)),
|
|
41
|
+
record_digest TEXT NOT NULL CHECK (length(record_digest) = 64 AND record_digest NOT GLOB '*[^a-f0-9]*'),
|
|
42
|
+
PRIMARY KEY (namespace, org_id, project_id, env_id, wallet_id, move_id, table_name, record_key)
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
CREATE TRIGGER wallet_relocation_authorization_import_identity_guard
|
|
46
|
+
BEFORE UPDATE ON wallet_relocation_authorization_imports
|
|
47
|
+
WHEN NEW.namespace IS NOT OLD.namespace OR NEW.org_id IS NOT OLD.org_id
|
|
48
|
+
OR NEW.project_id IS NOT OLD.project_id OR NEW.env_id IS NOT OLD.env_id
|
|
49
|
+
OR NEW.wallet_id IS NOT OLD.wallet_id OR NEW.move_id IS NOT OLD.move_id
|
|
50
|
+
OR NEW.request_digest_hex IS NOT OLD.request_digest_hex OR NEW.source_generation IS NOT OLD.source_generation
|
|
51
|
+
OR (OLD.state = 'closed' AND NEW.state = 'importing')
|
|
52
|
+
OR (OLD.state = 'activated' AND NEW.state != 'activated')
|
|
53
|
+
OR (OLD.state = 'importing' AND NEW.state = 'activated')
|
|
54
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_history_import_transition_rejected'); END;
|
|
55
|
+
|
|
56
|
+
CREATE TRIGGER wallet_relocation_authorization_import_retain
|
|
57
|
+
BEFORE DELETE ON wallet_relocation_authorization_imports
|
|
58
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_history_import_retained'); END;
|
|
59
|
+
|
|
60
|
+
CREATE TRIGGER wallet_relocation_authorization_receipt_immutable
|
|
61
|
+
BEFORE UPDATE ON wallet_relocation_authorization_import_receipts
|
|
62
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_history_receipt_immutable'); END;
|
|
63
|
+
|
|
64
|
+
CREATE TRIGGER wallet_relocation_authorization_receipt_retain
|
|
65
|
+
BEFORE DELETE ON wallet_relocation_authorization_import_receipts
|
|
66
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_history_receipt_retained'); END;
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
CREATE TRIGGER wallet_session_hosted_credentials_v2_insert_lifecycle_guard
|
|
70
|
+
BEFORE INSERT ON wallet_session_hosted_credentials_v2
|
|
71
|
+
WHEN (NEW.lifecycle_kind != 'active' OR NEW.retired_at_ms IS NOT NULL) AND NOT (NEW.lifecycle_kind = 'retired' AND NEW.retired_at_ms IS NOT NULL AND EXISTS (SELECT 1 FROM wallet_relocation_authorization_import_context AS context
|
|
72
|
+
JOIN wallet_relocation_authorization_imports AS destination
|
|
73
|
+
ON destination.namespace = context.namespace AND destination.org_id = context.org_id
|
|
74
|
+
AND destination.project_id = context.project_id AND destination.env_id = context.env_id
|
|
75
|
+
AND destination.wallet_id = context.wallet_id AND destination.move_id = context.move_id
|
|
76
|
+
AND destination.request_digest_hex = context.request_digest_hex
|
|
77
|
+
AND destination.source_generation = context.source_generation AND destination.state = 'importing'
|
|
78
|
+
WHERE context.namespace = NEW.namespace AND context.org_id = NEW.org_id
|
|
79
|
+
AND context.project_id = NEW.project_id AND context.env_id = NEW.env_id
|
|
80
|
+
AND context.wallet_id = NEW.wallet_id AND context.table_name = 'wallet_session_hosted_credentials_v2'
|
|
81
|
+
AND context.record_key = json_array(NEW.env_id, NEW.hosted_credential_id, NEW.namespace, NEW.org_id, NEW.project_id, NEW.tenant_id)))
|
|
82
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_session_hosted_credential_initial_state_rejected'); END;
|
|
83
|
+
|
|
84
|
+
CREATE TRIGGER wallet_session_hosted_credentials_v2_parent_guard
|
|
85
|
+
BEFORE INSERT ON wallet_session_hosted_credentials_v2
|
|
86
|
+
WHEN NOT EXISTS (
|
|
87
|
+
SELECT 1 FROM wallet_session_authorizations_v2 AS session
|
|
88
|
+
WHERE session.namespace = NEW.namespace AND session.org_id = NEW.org_id
|
|
89
|
+
AND session.project_id = NEW.project_id AND session.env_id = NEW.env_id
|
|
90
|
+
AND session.tenant_id = NEW.tenant_id AND session.authorization_id = NEW.authorization_id
|
|
91
|
+
AND session.wallet_session_id = NEW.wallet_session_id AND session.quota_id = NEW.quota_id
|
|
92
|
+
AND session.principal_id = NEW.principal_id AND session.wallet_id = NEW.wallet_id
|
|
93
|
+
AND session.authority_id = NEW.authority_id AND session.wallet_auth_method_id = NEW.wallet_auth_method_id
|
|
94
|
+
AND session.operation_credential_hash IS NOT NULL AND session.expires_at_ms >= NEW.expires_at_ms
|
|
95
|
+
AND (session.retired_at_ms IS NULL OR (NEW.lifecycle_kind = 'retired' AND NEW.retired_at_ms IS NOT NULL AND EXISTS (SELECT 1 FROM wallet_relocation_authorization_import_context AS context
|
|
96
|
+
JOIN wallet_relocation_authorization_imports AS destination
|
|
97
|
+
ON destination.namespace = context.namespace AND destination.org_id = context.org_id
|
|
98
|
+
AND destination.project_id = context.project_id AND destination.env_id = context.env_id
|
|
99
|
+
AND destination.wallet_id = context.wallet_id AND destination.move_id = context.move_id
|
|
100
|
+
AND destination.request_digest_hex = context.request_digest_hex
|
|
101
|
+
AND destination.source_generation = context.source_generation AND destination.state = 'importing'
|
|
102
|
+
WHERE context.namespace = NEW.namespace AND context.org_id = NEW.org_id
|
|
103
|
+
AND context.project_id = NEW.project_id AND context.env_id = NEW.env_id
|
|
104
|
+
AND context.wallet_id = NEW.wallet_id AND context.table_name = 'wallet_session_hosted_credentials_v2'
|
|
105
|
+
AND context.record_key = json_array(NEW.env_id, NEW.hosted_credential_id, NEW.namespace, NEW.org_id, NEW.project_id, NEW.tenant_id))))
|
|
106
|
+
)
|
|
107
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_session_hosted_credential_parent_rejected'); END;
|
|
108
|
+
|
|
109
|
+
CREATE TRIGGER wallet_session_hosted_exchange_codes_v2_insert_lifecycle_guard
|
|
110
|
+
BEFORE INSERT ON wallet_session_hosted_exchange_codes_v2
|
|
111
|
+
WHEN (NEW.lifecycle_kind != 'issued' OR NEW.hosted_credential_id IS NOT NULL OR NEW.consumed_at_ms IS NOT NULL) AND NOT ((NEW.lifecycle_kind = 'issued' OR (NEW.lifecycle_kind = 'consumed' AND EXISTS (
|
|
112
|
+
SELECT 1 FROM wallet_session_hosted_credentials_v2 AS child
|
|
113
|
+
WHERE child.namespace = NEW.namespace AND child.org_id = NEW.org_id
|
|
114
|
+
AND child.project_id = NEW.project_id AND child.env_id = NEW.env_id
|
|
115
|
+
AND child.tenant_id = NEW.tenant_id AND child.hosted_credential_id = NEW.hosted_credential_id
|
|
116
|
+
AND child.wallet_id = NEW.wallet_id AND child.lifecycle_kind = 'retired'))) AND EXISTS (SELECT 1 FROM wallet_relocation_authorization_import_context AS context
|
|
117
|
+
JOIN wallet_relocation_authorization_imports AS destination
|
|
118
|
+
ON destination.namespace = context.namespace AND destination.org_id = context.org_id
|
|
119
|
+
AND destination.project_id = context.project_id AND destination.env_id = context.env_id
|
|
120
|
+
AND destination.wallet_id = context.wallet_id AND destination.move_id = context.move_id
|
|
121
|
+
AND destination.request_digest_hex = context.request_digest_hex
|
|
122
|
+
AND destination.source_generation = context.source_generation AND destination.state = 'importing'
|
|
123
|
+
WHERE context.namespace = NEW.namespace AND context.org_id = NEW.org_id
|
|
124
|
+
AND context.project_id = NEW.project_id AND context.env_id = NEW.env_id
|
|
125
|
+
AND context.wallet_id = NEW.wallet_id AND context.table_name = 'wallet_session_hosted_exchange_codes_v2'
|
|
126
|
+
AND context.record_key = json_array(NEW.env_id, NEW.exchange_code_id, NEW.namespace, NEW.org_id, NEW.project_id, NEW.tenant_id)))
|
|
127
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_session_hosted_exchange_initial_state_rejected'); END;
|
|
128
|
+
|
|
129
|
+
CREATE TRIGGER wallet_session_hosted_exchange_codes_v2_parent_guard
|
|
130
|
+
BEFORE INSERT ON wallet_session_hosted_exchange_codes_v2
|
|
131
|
+
WHEN NOT EXISTS (
|
|
132
|
+
SELECT 1 FROM wallet_session_authorizations_v2 AS session
|
|
133
|
+
WHERE session.namespace = NEW.namespace AND session.org_id = NEW.org_id
|
|
134
|
+
AND session.project_id = NEW.project_id AND session.env_id = NEW.env_id
|
|
135
|
+
AND session.tenant_id = NEW.tenant_id AND session.authorization_id = NEW.authorization_id
|
|
136
|
+
AND session.wallet_session_id = NEW.wallet_session_id AND session.quota_id = NEW.quota_id
|
|
137
|
+
AND session.principal_id = NEW.principal_id AND session.wallet_id = NEW.wallet_id
|
|
138
|
+
AND session.authority_id = NEW.authority_id AND session.wallet_auth_method_id = NEW.wallet_auth_method_id
|
|
139
|
+
AND session.operation_credential_hash IS NOT NULL AND session.expires_at_ms >= NEW.expires_at_ms
|
|
140
|
+
AND (session.retired_at_ms IS NULL OR ((NEW.lifecycle_kind = 'issued' OR (NEW.lifecycle_kind = 'consumed' AND EXISTS (
|
|
141
|
+
SELECT 1 FROM wallet_session_hosted_credentials_v2 AS child
|
|
142
|
+
WHERE child.namespace = NEW.namespace AND child.org_id = NEW.org_id
|
|
143
|
+
AND child.project_id = NEW.project_id AND child.env_id = NEW.env_id
|
|
144
|
+
AND child.tenant_id = NEW.tenant_id AND child.hosted_credential_id = NEW.hosted_credential_id
|
|
145
|
+
AND child.wallet_id = NEW.wallet_id AND child.lifecycle_kind = 'retired'))) AND EXISTS (SELECT 1 FROM wallet_relocation_authorization_import_context AS context
|
|
146
|
+
JOIN wallet_relocation_authorization_imports AS destination
|
|
147
|
+
ON destination.namespace = context.namespace AND destination.org_id = context.org_id
|
|
148
|
+
AND destination.project_id = context.project_id AND destination.env_id = context.env_id
|
|
149
|
+
AND destination.wallet_id = context.wallet_id AND destination.move_id = context.move_id
|
|
150
|
+
AND destination.request_digest_hex = context.request_digest_hex
|
|
151
|
+
AND destination.source_generation = context.source_generation AND destination.state = 'importing'
|
|
152
|
+
WHERE context.namespace = NEW.namespace AND context.org_id = NEW.org_id
|
|
153
|
+
AND context.project_id = NEW.project_id AND context.env_id = NEW.env_id
|
|
154
|
+
AND context.wallet_id = NEW.wallet_id AND context.table_name = 'wallet_session_hosted_exchange_codes_v2'
|
|
155
|
+
AND context.record_key = json_array(NEW.env_id, NEW.exchange_code_id, NEW.namespace, NEW.org_id, NEW.project_id, NEW.tenant_id))))
|
|
156
|
+
)
|
|
157
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_session_hosted_exchange_parent_rejected'); END;
|
|
158
|
+
|
|
159
|
+
CREATE TRIGGER wallet_authorities_inactive_import_insert
|
|
160
|
+
BEFORE INSERT ON wallet_authorities
|
|
161
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
162
|
+
WHERE destination.namespace = NEW.namespace AND destination.org_id = NEW.org_id
|
|
163
|
+
AND destination.project_id = NEW.project_id AND destination.env_id = NEW.env_id
|
|
164
|
+
AND destination.wallet_id = NEW.wallet_id AND destination.state != 'activated') AND NOT EXISTS (
|
|
165
|
+
SELECT 1 FROM wallet_relocation_authorization_import_context AS context
|
|
166
|
+
JOIN wallet_relocation_authorization_imports AS destination
|
|
167
|
+
ON destination.namespace = context.namespace AND destination.org_id = context.org_id
|
|
168
|
+
AND destination.project_id = context.project_id AND destination.env_id = context.env_id
|
|
169
|
+
AND destination.wallet_id = context.wallet_id AND destination.move_id = context.move_id
|
|
170
|
+
AND destination.request_digest_hex = context.request_digest_hex
|
|
171
|
+
AND destination.source_generation = context.source_generation AND destination.state = 'importing'
|
|
172
|
+
WHERE context.namespace = NEW.namespace AND context.wallet_id = NEW.wallet_id
|
|
173
|
+
AND context.table_name = 'wallet_authorities'
|
|
174
|
+
AND context.record_key = json_array(NEW.authority_id, NEW.env_id, NEW.namespace, NEW.org_id, NEW.project_id)
|
|
175
|
+
))
|
|
176
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
177
|
+
|
|
178
|
+
CREATE TRIGGER wallet_authorities_inactive_import_update
|
|
179
|
+
BEFORE UPDATE ON wallet_authorities
|
|
180
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
181
|
+
WHERE destination.namespace = OLD.namespace AND destination.org_id = OLD.org_id
|
|
182
|
+
AND destination.project_id = OLD.project_id AND destination.env_id = OLD.env_id
|
|
183
|
+
AND destination.wallet_id = OLD.wallet_id AND destination.state != 'activated')) OR (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
184
|
+
WHERE destination.namespace = NEW.namespace AND destination.org_id = NEW.org_id
|
|
185
|
+
AND destination.project_id = NEW.project_id AND destination.env_id = NEW.env_id
|
|
186
|
+
AND destination.wallet_id = NEW.wallet_id AND destination.state != 'activated'))
|
|
187
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
188
|
+
|
|
189
|
+
CREATE TRIGGER wallet_authorities_inactive_import_delete
|
|
190
|
+
BEFORE DELETE ON wallet_authorities
|
|
191
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
192
|
+
WHERE destination.namespace = OLD.namespace AND destination.org_id = OLD.org_id
|
|
193
|
+
AND destination.project_id = OLD.project_id AND destination.env_id = OLD.env_id
|
|
194
|
+
AND destination.wallet_id = OLD.wallet_id AND destination.state != 'activated'))
|
|
195
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
196
|
+
|
|
197
|
+
CREATE TRIGGER wallet_auth_methods_inactive_import_insert
|
|
198
|
+
BEFORE INSERT ON wallet_auth_methods
|
|
199
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
200
|
+
WHERE destination.namespace = NEW.namespace AND destination.org_id = NEW.org_id
|
|
201
|
+
AND destination.project_id = NEW.project_id AND destination.env_id = NEW.env_id
|
|
202
|
+
AND destination.wallet_id = NEW.wallet_id AND destination.state != 'activated') AND NOT EXISTS (
|
|
203
|
+
SELECT 1 FROM wallet_relocation_authorization_import_context AS context
|
|
204
|
+
JOIN wallet_relocation_authorization_imports AS destination
|
|
205
|
+
ON destination.namespace = context.namespace AND destination.org_id = context.org_id
|
|
206
|
+
AND destination.project_id = context.project_id AND destination.env_id = context.env_id
|
|
207
|
+
AND destination.wallet_id = context.wallet_id AND destination.move_id = context.move_id
|
|
208
|
+
AND destination.request_digest_hex = context.request_digest_hex
|
|
209
|
+
AND destination.source_generation = context.source_generation AND destination.state = 'importing'
|
|
210
|
+
WHERE context.namespace = NEW.namespace AND context.wallet_id = NEW.wallet_id
|
|
211
|
+
AND context.table_name = 'wallet_auth_methods'
|
|
212
|
+
AND context.record_key = json_array(NEW.env_id, NEW.namespace, NEW.org_id, NEW.project_id, NEW.wallet_auth_method_id)
|
|
213
|
+
))
|
|
214
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
215
|
+
|
|
216
|
+
CREATE TRIGGER wallet_auth_methods_inactive_import_update
|
|
217
|
+
BEFORE UPDATE ON wallet_auth_methods
|
|
218
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
219
|
+
WHERE destination.namespace = OLD.namespace AND destination.org_id = OLD.org_id
|
|
220
|
+
AND destination.project_id = OLD.project_id AND destination.env_id = OLD.env_id
|
|
221
|
+
AND destination.wallet_id = OLD.wallet_id AND destination.state != 'activated')) OR (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
222
|
+
WHERE destination.namespace = NEW.namespace AND destination.org_id = NEW.org_id
|
|
223
|
+
AND destination.project_id = NEW.project_id AND destination.env_id = NEW.env_id
|
|
224
|
+
AND destination.wallet_id = NEW.wallet_id AND destination.state != 'activated'))
|
|
225
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
226
|
+
|
|
227
|
+
CREATE TRIGGER wallet_auth_methods_inactive_import_delete
|
|
228
|
+
BEFORE DELETE ON wallet_auth_methods
|
|
229
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
230
|
+
WHERE destination.namespace = OLD.namespace AND destination.org_id = OLD.org_id
|
|
231
|
+
AND destination.project_id = OLD.project_id AND destination.env_id = OLD.env_id
|
|
232
|
+
AND destination.wallet_id = OLD.wallet_id AND destination.state != 'activated'))
|
|
233
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
234
|
+
|
|
235
|
+
CREATE TRIGGER authorization_wallet_session_quotas_inactive_import_insert
|
|
236
|
+
BEFORE INSERT ON authorization_wallet_session_quotas
|
|
237
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
238
|
+
WHERE destination.namespace = NEW.namespace AND (
|
|
239
|
+
EXISTS (SELECT 1 FROM wallet_relocation_authorization_import_receipts AS receipt
|
|
240
|
+
WHERE receipt.namespace = destination.namespace AND receipt.org_id = destination.org_id
|
|
241
|
+
AND receipt.project_id = destination.project_id AND receipt.env_id = destination.env_id
|
|
242
|
+
AND receipt.wallet_id = destination.wallet_id AND receipt.table_name = 'authorization_wallet_session_quotas'
|
|
243
|
+
AND receipt.record_key = json_array(NEW.namespace, NEW.quota_id, NEW.tenant_id))
|
|
244
|
+
OR EXISTS (SELECT 1 FROM wallet_session_authorizations_v2 AS session
|
|
245
|
+
WHERE session.namespace = destination.namespace AND session.org_id = destination.org_id
|
|
246
|
+
AND session.project_id = destination.project_id AND session.env_id = destination.env_id
|
|
247
|
+
AND session.wallet_id = destination.wallet_id AND session.namespace = NEW.namespace
|
|
248
|
+
AND session.tenant_id = NEW.tenant_id AND session.quota_id = NEW.quota_id
|
|
249
|
+
AND session.wallet_session_id = NEW.wallet_session_id)
|
|
250
|
+
) AND destination.state != 'activated') AND NOT EXISTS (
|
|
251
|
+
SELECT 1 FROM wallet_relocation_authorization_import_context AS context
|
|
252
|
+
JOIN wallet_relocation_authorization_imports AS destination
|
|
253
|
+
ON destination.namespace = context.namespace AND destination.org_id = context.org_id
|
|
254
|
+
AND destination.project_id = context.project_id AND destination.env_id = context.env_id
|
|
255
|
+
AND destination.wallet_id = context.wallet_id AND destination.move_id = context.move_id
|
|
256
|
+
AND destination.request_digest_hex = context.request_digest_hex
|
|
257
|
+
AND destination.source_generation = context.source_generation AND destination.state = 'importing'
|
|
258
|
+
WHERE context.namespace = NEW.namespace AND context.table_name = 'authorization_wallet_session_quotas'
|
|
259
|
+
AND context.record_key = json_array(NEW.namespace, NEW.quota_id, NEW.tenant_id)
|
|
260
|
+
))
|
|
261
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
262
|
+
|
|
263
|
+
CREATE TRIGGER authorization_wallet_session_quotas_inactive_import_update
|
|
264
|
+
BEFORE UPDATE ON authorization_wallet_session_quotas
|
|
265
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
266
|
+
WHERE destination.namespace = OLD.namespace AND (
|
|
267
|
+
EXISTS (SELECT 1 FROM wallet_relocation_authorization_import_receipts AS receipt
|
|
268
|
+
WHERE receipt.namespace = destination.namespace AND receipt.org_id = destination.org_id
|
|
269
|
+
AND receipt.project_id = destination.project_id AND receipt.env_id = destination.env_id
|
|
270
|
+
AND receipt.wallet_id = destination.wallet_id AND receipt.table_name = 'authorization_wallet_session_quotas'
|
|
271
|
+
AND receipt.record_key = json_array(OLD.namespace, OLD.quota_id, OLD.tenant_id))
|
|
272
|
+
OR EXISTS (SELECT 1 FROM wallet_session_authorizations_v2 AS session
|
|
273
|
+
WHERE session.namespace = destination.namespace AND session.org_id = destination.org_id
|
|
274
|
+
AND session.project_id = destination.project_id AND session.env_id = destination.env_id
|
|
275
|
+
AND session.wallet_id = destination.wallet_id AND session.namespace = OLD.namespace
|
|
276
|
+
AND session.tenant_id = OLD.tenant_id AND session.quota_id = OLD.quota_id
|
|
277
|
+
AND session.wallet_session_id = OLD.wallet_session_id)
|
|
278
|
+
) AND destination.state != 'activated')) OR (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
279
|
+
WHERE destination.namespace = NEW.namespace AND (
|
|
280
|
+
EXISTS (SELECT 1 FROM wallet_relocation_authorization_import_receipts AS receipt
|
|
281
|
+
WHERE receipt.namespace = destination.namespace AND receipt.org_id = destination.org_id
|
|
282
|
+
AND receipt.project_id = destination.project_id AND receipt.env_id = destination.env_id
|
|
283
|
+
AND receipt.wallet_id = destination.wallet_id AND receipt.table_name = 'authorization_wallet_session_quotas'
|
|
284
|
+
AND receipt.record_key = json_array(NEW.namespace, NEW.quota_id, NEW.tenant_id))
|
|
285
|
+
OR EXISTS (SELECT 1 FROM wallet_session_authorizations_v2 AS session
|
|
286
|
+
WHERE session.namespace = destination.namespace AND session.org_id = destination.org_id
|
|
287
|
+
AND session.project_id = destination.project_id AND session.env_id = destination.env_id
|
|
288
|
+
AND session.wallet_id = destination.wallet_id AND session.namespace = NEW.namespace
|
|
289
|
+
AND session.tenant_id = NEW.tenant_id AND session.quota_id = NEW.quota_id
|
|
290
|
+
AND session.wallet_session_id = NEW.wallet_session_id)
|
|
291
|
+
) AND destination.state != 'activated'))
|
|
292
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
293
|
+
|
|
294
|
+
CREATE TRIGGER authorization_wallet_session_quotas_inactive_import_delete
|
|
295
|
+
BEFORE DELETE ON authorization_wallet_session_quotas
|
|
296
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
297
|
+
WHERE destination.namespace = OLD.namespace AND (
|
|
298
|
+
EXISTS (SELECT 1 FROM wallet_relocation_authorization_import_receipts AS receipt
|
|
299
|
+
WHERE receipt.namespace = destination.namespace AND receipt.org_id = destination.org_id
|
|
300
|
+
AND receipt.project_id = destination.project_id AND receipt.env_id = destination.env_id
|
|
301
|
+
AND receipt.wallet_id = destination.wallet_id AND receipt.table_name = 'authorization_wallet_session_quotas'
|
|
302
|
+
AND receipt.record_key = json_array(OLD.namespace, OLD.quota_id, OLD.tenant_id))
|
|
303
|
+
OR EXISTS (SELECT 1 FROM wallet_session_authorizations_v2 AS session
|
|
304
|
+
WHERE session.namespace = destination.namespace AND session.org_id = destination.org_id
|
|
305
|
+
AND session.project_id = destination.project_id AND session.env_id = destination.env_id
|
|
306
|
+
AND session.wallet_id = destination.wallet_id AND session.namespace = OLD.namespace
|
|
307
|
+
AND session.tenant_id = OLD.tenant_id AND session.quota_id = OLD.quota_id
|
|
308
|
+
AND session.wallet_session_id = OLD.wallet_session_id)
|
|
309
|
+
) AND destination.state != 'activated'))
|
|
310
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
311
|
+
|
|
312
|
+
CREATE TRIGGER wallet_session_authorizations_v2_inactive_import_insert
|
|
313
|
+
BEFORE INSERT ON wallet_session_authorizations_v2
|
|
314
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
315
|
+
WHERE destination.namespace = NEW.namespace AND destination.org_id = NEW.org_id
|
|
316
|
+
AND destination.project_id = NEW.project_id AND destination.env_id = NEW.env_id
|
|
317
|
+
AND destination.wallet_id = NEW.wallet_id AND destination.state != 'activated') AND NOT EXISTS (
|
|
318
|
+
SELECT 1 FROM wallet_relocation_authorization_import_context AS context
|
|
319
|
+
JOIN wallet_relocation_authorization_imports AS destination
|
|
320
|
+
ON destination.namespace = context.namespace AND destination.org_id = context.org_id
|
|
321
|
+
AND destination.project_id = context.project_id AND destination.env_id = context.env_id
|
|
322
|
+
AND destination.wallet_id = context.wallet_id AND destination.move_id = context.move_id
|
|
323
|
+
AND destination.request_digest_hex = context.request_digest_hex
|
|
324
|
+
AND destination.source_generation = context.source_generation AND destination.state = 'importing'
|
|
325
|
+
WHERE context.namespace = NEW.namespace AND context.wallet_id = NEW.wallet_id
|
|
326
|
+
AND context.table_name = 'wallet_session_authorizations_v2'
|
|
327
|
+
AND context.record_key = json_array(NEW.authorization_id, NEW.env_id, NEW.namespace, NEW.org_id, NEW.project_id, NEW.tenant_id)
|
|
328
|
+
))
|
|
329
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
330
|
+
|
|
331
|
+
CREATE TRIGGER wallet_session_authorizations_v2_inactive_import_update
|
|
332
|
+
BEFORE UPDATE ON wallet_session_authorizations_v2
|
|
333
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
334
|
+
WHERE destination.namespace = OLD.namespace AND destination.org_id = OLD.org_id
|
|
335
|
+
AND destination.project_id = OLD.project_id AND destination.env_id = OLD.env_id
|
|
336
|
+
AND destination.wallet_id = OLD.wallet_id AND destination.state != 'activated')) OR (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
337
|
+
WHERE destination.namespace = NEW.namespace AND destination.org_id = NEW.org_id
|
|
338
|
+
AND destination.project_id = NEW.project_id AND destination.env_id = NEW.env_id
|
|
339
|
+
AND destination.wallet_id = NEW.wallet_id AND destination.state != 'activated'))
|
|
340
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
341
|
+
|
|
342
|
+
CREATE TRIGGER wallet_session_authorizations_v2_inactive_import_delete
|
|
343
|
+
BEFORE DELETE ON wallet_session_authorizations_v2
|
|
344
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
345
|
+
WHERE destination.namespace = OLD.namespace AND destination.org_id = OLD.org_id
|
|
346
|
+
AND destination.project_id = OLD.project_id AND destination.env_id = OLD.env_id
|
|
347
|
+
AND destination.wallet_id = OLD.wallet_id AND destination.state != 'activated'))
|
|
348
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
349
|
+
|
|
350
|
+
CREATE TRIGGER wallet_session_hosted_credentials_v2_inactive_import_insert
|
|
351
|
+
BEFORE INSERT ON wallet_session_hosted_credentials_v2
|
|
352
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
353
|
+
WHERE destination.namespace = NEW.namespace AND destination.org_id = NEW.org_id
|
|
354
|
+
AND destination.project_id = NEW.project_id AND destination.env_id = NEW.env_id
|
|
355
|
+
AND destination.wallet_id = NEW.wallet_id AND destination.state != 'activated') AND NOT EXISTS (
|
|
356
|
+
SELECT 1 FROM wallet_relocation_authorization_import_context AS context
|
|
357
|
+
JOIN wallet_relocation_authorization_imports AS destination
|
|
358
|
+
ON destination.namespace = context.namespace AND destination.org_id = context.org_id
|
|
359
|
+
AND destination.project_id = context.project_id AND destination.env_id = context.env_id
|
|
360
|
+
AND destination.wallet_id = context.wallet_id AND destination.move_id = context.move_id
|
|
361
|
+
AND destination.request_digest_hex = context.request_digest_hex
|
|
362
|
+
AND destination.source_generation = context.source_generation AND destination.state = 'importing'
|
|
363
|
+
WHERE context.namespace = NEW.namespace AND context.wallet_id = NEW.wallet_id
|
|
364
|
+
AND context.table_name = 'wallet_session_hosted_credentials_v2'
|
|
365
|
+
AND context.record_key = json_array(NEW.env_id, NEW.hosted_credential_id, NEW.namespace, NEW.org_id, NEW.project_id, NEW.tenant_id)
|
|
366
|
+
))
|
|
367
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
368
|
+
|
|
369
|
+
CREATE TRIGGER wallet_session_hosted_credentials_v2_inactive_import_update
|
|
370
|
+
BEFORE UPDATE ON wallet_session_hosted_credentials_v2
|
|
371
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
372
|
+
WHERE destination.namespace = OLD.namespace AND destination.org_id = OLD.org_id
|
|
373
|
+
AND destination.project_id = OLD.project_id AND destination.env_id = OLD.env_id
|
|
374
|
+
AND destination.wallet_id = OLD.wallet_id AND destination.state != 'activated')) OR (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
375
|
+
WHERE destination.namespace = NEW.namespace AND destination.org_id = NEW.org_id
|
|
376
|
+
AND destination.project_id = NEW.project_id AND destination.env_id = NEW.env_id
|
|
377
|
+
AND destination.wallet_id = NEW.wallet_id AND destination.state != 'activated'))
|
|
378
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
379
|
+
|
|
380
|
+
CREATE TRIGGER wallet_session_hosted_credentials_v2_inactive_import_delete
|
|
381
|
+
BEFORE DELETE ON wallet_session_hosted_credentials_v2
|
|
382
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
383
|
+
WHERE destination.namespace = OLD.namespace AND destination.org_id = OLD.org_id
|
|
384
|
+
AND destination.project_id = OLD.project_id AND destination.env_id = OLD.env_id
|
|
385
|
+
AND destination.wallet_id = OLD.wallet_id AND destination.state != 'activated'))
|
|
386
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
387
|
+
|
|
388
|
+
CREATE TRIGGER wallet_session_hosted_exchange_codes_v2_inactive_import_insert
|
|
389
|
+
BEFORE INSERT ON wallet_session_hosted_exchange_codes_v2
|
|
390
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
391
|
+
WHERE destination.namespace = NEW.namespace AND destination.org_id = NEW.org_id
|
|
392
|
+
AND destination.project_id = NEW.project_id AND destination.env_id = NEW.env_id
|
|
393
|
+
AND destination.wallet_id = NEW.wallet_id AND destination.state != 'activated') AND NOT EXISTS (
|
|
394
|
+
SELECT 1 FROM wallet_relocation_authorization_import_context AS context
|
|
395
|
+
JOIN wallet_relocation_authorization_imports AS destination
|
|
396
|
+
ON destination.namespace = context.namespace AND destination.org_id = context.org_id
|
|
397
|
+
AND destination.project_id = context.project_id AND destination.env_id = context.env_id
|
|
398
|
+
AND destination.wallet_id = context.wallet_id AND destination.move_id = context.move_id
|
|
399
|
+
AND destination.request_digest_hex = context.request_digest_hex
|
|
400
|
+
AND destination.source_generation = context.source_generation AND destination.state = 'importing'
|
|
401
|
+
WHERE context.namespace = NEW.namespace AND context.wallet_id = NEW.wallet_id
|
|
402
|
+
AND context.table_name = 'wallet_session_hosted_exchange_codes_v2'
|
|
403
|
+
AND context.record_key = json_array(NEW.env_id, NEW.exchange_code_id, NEW.namespace, NEW.org_id, NEW.project_id, NEW.tenant_id)
|
|
404
|
+
))
|
|
405
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
406
|
+
|
|
407
|
+
CREATE TRIGGER wallet_session_hosted_exchange_codes_v2_inactive_import_update
|
|
408
|
+
BEFORE UPDATE ON wallet_session_hosted_exchange_codes_v2
|
|
409
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
410
|
+
WHERE destination.namespace = OLD.namespace AND destination.org_id = OLD.org_id
|
|
411
|
+
AND destination.project_id = OLD.project_id AND destination.env_id = OLD.env_id
|
|
412
|
+
AND destination.wallet_id = OLD.wallet_id AND destination.state != 'activated')) OR (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
413
|
+
WHERE destination.namespace = NEW.namespace AND destination.org_id = NEW.org_id
|
|
414
|
+
AND destination.project_id = NEW.project_id AND destination.env_id = NEW.env_id
|
|
415
|
+
AND destination.wallet_id = NEW.wallet_id AND destination.state != 'activated'))
|
|
416
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
417
|
+
|
|
418
|
+
CREATE TRIGGER wallet_session_hosted_exchange_codes_v2_inactive_import_delete
|
|
419
|
+
BEFORE DELETE ON wallet_session_hosted_exchange_codes_v2
|
|
420
|
+
WHEN (EXISTS (SELECT 1 FROM wallet_relocation_authorization_imports AS destination
|
|
421
|
+
WHERE destination.namespace = OLD.namespace AND destination.org_id = OLD.org_id
|
|
422
|
+
AND destination.project_id = OLD.project_id AND destination.env_id = OLD.env_id
|
|
423
|
+
AND destination.wallet_id = OLD.wallet_id AND destination.state != 'activated'))
|
|
424
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_destination_inactive'); END;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
CREATE TABLE wallet_relocation_authorization_intakes (
|
|
2
|
+
namespace TEXT NOT NULL, org_id TEXT NOT NULL, project_id TEXT NOT NULL, env_id TEXT NOT NULL,
|
|
3
|
+
wallet_id TEXT NOT NULL, move_id TEXT NOT NULL, request_digest_hex TEXT NOT NULL,
|
|
4
|
+
source_generation INTEGER NOT NULL, manifest_json TEXT NOT NULL CHECK(json_valid(manifest_json)),
|
|
5
|
+
next_index INTEGER NOT NULL DEFAULT 0 CHECK(next_index >= 0),
|
|
6
|
+
record_count INTEGER NOT NULL DEFAULT 0 CHECK(record_count >= 0),
|
|
7
|
+
digest_hex TEXT NOT NULL,
|
|
8
|
+
state TEXT NOT NULL DEFAULT 'receiving' CHECK(state IN ('receiving', 'verified')),
|
|
9
|
+
PRIMARY KEY(namespace, org_id, project_id, env_id, wallet_id)
|
|
10
|
+
);
|
|
11
|
+
CREATE TABLE wallet_relocation_authorization_intake_chunks (
|
|
12
|
+
namespace TEXT NOT NULL, org_id TEXT NOT NULL, project_id TEXT NOT NULL, env_id TEXT NOT NULL,
|
|
13
|
+
wallet_id TEXT NOT NULL, chunk_index INTEGER NOT NULL CHECK(chunk_index >= 0),
|
|
14
|
+
chunk_json TEXT NOT NULL CHECK(json_valid(chunk_json) AND length(CAST(chunk_json AS BLOB)) <= 131072),
|
|
15
|
+
digest_hex TEXT NOT NULL,
|
|
16
|
+
PRIMARY KEY(namespace, org_id, project_id, env_id, wallet_id, chunk_index)
|
|
17
|
+
);
|
|
18
|
+
CREATE TRIGGER wallet_authorization_intake_identity_immutable
|
|
19
|
+
BEFORE UPDATE ON wallet_relocation_authorization_intakes
|
|
20
|
+
WHEN NEW.namespace IS NOT OLD.namespace OR NEW.org_id IS NOT OLD.org_id
|
|
21
|
+
OR NEW.project_id IS NOT OLD.project_id OR NEW.env_id IS NOT OLD.env_id
|
|
22
|
+
OR NEW.wallet_id IS NOT OLD.wallet_id OR NEW.move_id IS NOT OLD.move_id
|
|
23
|
+
OR NEW.request_digest_hex IS NOT OLD.request_digest_hex OR NEW.source_generation IS NOT OLD.source_generation
|
|
24
|
+
OR NEW.manifest_json IS NOT OLD.manifest_json OR OLD.state = 'verified'
|
|
25
|
+
OR NEW.next_index < OLD.next_index OR NEW.next_index > OLD.next_index + 1
|
|
26
|
+
OR NEW.record_count < OLD.record_count OR NEW.record_count > OLD.record_count + 1
|
|
27
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_intake_immutable'); END;
|
|
28
|
+
CREATE TRIGGER wallet_authorization_intake_retained
|
|
29
|
+
BEFORE DELETE ON wallet_relocation_authorization_intakes
|
|
30
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_intake_retained'); END;
|
|
31
|
+
CREATE TRIGGER wallet_authorization_intake_chunk_immutable
|
|
32
|
+
BEFORE UPDATE ON wallet_relocation_authorization_intake_chunks
|
|
33
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_intake_chunk_immutable'); END;
|
|
34
|
+
CREATE TRIGGER wallet_authorization_intake_chunk_retained
|
|
35
|
+
BEFORE DELETE ON wallet_relocation_authorization_intake_chunks
|
|
36
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_intake_chunk_retained'); END;
|
|
37
|
+
CREATE TRIGGER wallet_authorization_intake_chunk_admission
|
|
38
|
+
BEFORE INSERT ON wallet_relocation_authorization_intake_chunks
|
|
39
|
+
WHEN NOT EXISTS (SELECT 1 FROM wallet_relocation_authorization_intakes AS intake
|
|
40
|
+
WHERE intake.namespace = NEW.namespace AND intake.org_id = NEW.org_id
|
|
41
|
+
AND intake.project_id = NEW.project_id AND intake.env_id = NEW.env_id
|
|
42
|
+
AND intake.wallet_id = NEW.wallet_id AND intake.state = 'receiving'
|
|
43
|
+
AND intake.next_index = NEW.chunk_index)
|
|
44
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_intake_chunk_out_of_order'); END;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
-- Ceremony state and its wallet activity projection commit in one transaction.
|
|
2
|
+
CREATE TABLE wallet_ceremony_activity (
|
|
3
|
+
namespace TEXT NOT NULL,
|
|
4
|
+
org_id TEXT NOT NULL,
|
|
5
|
+
project_id TEXT NOT NULL,
|
|
6
|
+
env_id TEXT NOT NULL,
|
|
7
|
+
record_key TEXT NOT NULL,
|
|
8
|
+
wallet_id TEXT NOT NULL,
|
|
9
|
+
settled INTEGER NOT NULL CHECK (settled IN (0, 1)),
|
|
10
|
+
PRIMARY KEY (namespace, org_id, project_id, env_id, record_key),
|
|
11
|
+
FOREIGN KEY (namespace, org_id, project_id, env_id, record_key)
|
|
12
|
+
REFERENCES router_ab_yao_versioned_json_records (namespace, org_id, project_id, env_id, record_key)
|
|
13
|
+
ON DELETE CASCADE
|
|
14
|
+
);
|
|
15
|
+
CREATE INDEX wallet_ceremony_activity_by_wallet
|
|
16
|
+
ON wallet_ceremony_activity (namespace, org_id, project_id, env_id, wallet_id, settled);
|
|
17
|
+
|
|
18
|
+
CREATE TRIGGER wallet_ceremony_activity_owner_immutable
|
|
19
|
+
BEFORE UPDATE ON wallet_ceremony_activity
|
|
20
|
+
WHEN NEW.wallet_id IS NOT OLD.wallet_id
|
|
21
|
+
BEGIN
|
|
22
|
+
SELECT RAISE(ABORT, 'wallet_ceremony_owner_changed');
|
|
23
|
+
END;
|
|
24
|
+
|
|
25
|
+
CREATE TRIGGER wallet_ceremony_activity_retired_insert
|
|
26
|
+
BEFORE INSERT ON wallet_ceremony_activity
|
|
27
|
+
WHEN NEW.settled = 0 AND EXISTS (
|
|
28
|
+
SELECT 1 FROM wallet_relocation_session_fences AS fence
|
|
29
|
+
WHERE fence.namespace = NEW.namespace AND fence.org_id = NEW.org_id
|
|
30
|
+
AND fence.project_id = NEW.project_id AND fence.env_id = NEW.env_id
|
|
31
|
+
AND fence.wallet_id = NEW.wallet_id
|
|
32
|
+
)
|
|
33
|
+
BEGIN
|
|
34
|
+
SELECT RAISE(ABORT, 'wallet_ceremony_admission_closed');
|
|
35
|
+
END;
|
|
36
|
+
|
|
37
|
+
CREATE TRIGGER wallet_ceremony_activity_retired_update
|
|
38
|
+
BEFORE UPDATE ON wallet_ceremony_activity
|
|
39
|
+
WHEN NEW.settled = 0 AND EXISTS (
|
|
40
|
+
SELECT 1 FROM wallet_relocation_session_fences AS fence
|
|
41
|
+
WHERE fence.namespace = NEW.namespace AND fence.org_id = NEW.org_id
|
|
42
|
+
AND fence.project_id = NEW.project_id AND fence.env_id = NEW.env_id
|
|
43
|
+
AND fence.wallet_id = NEW.wallet_id
|
|
44
|
+
)
|
|
45
|
+
BEGIN
|
|
46
|
+
SELECT RAISE(ABORT, 'wallet_ceremony_admission_closed');
|
|
47
|
+
END;
|
|
48
|
+
|
|
49
|
+
CREATE TRIGGER wallet_relocation_sessions_require_settled_ceremonies
|
|
50
|
+
BEFORE INSERT ON wallet_relocation_session_fences
|
|
51
|
+
WHEN EXISTS (
|
|
52
|
+
SELECT 1 FROM wallet_ceremony_activity AS activity
|
|
53
|
+
WHERE activity.namespace = NEW.namespace AND activity.org_id = NEW.org_id
|
|
54
|
+
AND activity.project_id = NEW.project_id AND activity.env_id = NEW.env_id
|
|
55
|
+
AND activity.wallet_id = NEW.wallet_id AND activity.settled = 0
|
|
56
|
+
)
|
|
57
|
+
BEGIN
|
|
58
|
+
SELECT RAISE(ABORT, 'wallet_ceremonies_unsettled');
|
|
59
|
+
END;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
CREATE TABLE wallet_relocation_authorization_activations (
|
|
2
|
+
namespace TEXT NOT NULL, org_id TEXT NOT NULL, project_id TEXT NOT NULL, env_id TEXT NOT NULL,
|
|
3
|
+
wallet_id TEXT NOT NULL, move_id TEXT NOT NULL, request_digest_hex TEXT NOT NULL,
|
|
4
|
+
source_generation INTEGER NOT NULL,
|
|
5
|
+
command_digest TEXT NOT NULL CHECK(length(command_digest) = 64 AND command_digest NOT GLOB '*[^a-f0-9]*'),
|
|
6
|
+
manifest_json TEXT NOT NULL CHECK(json_valid(manifest_json)),
|
|
7
|
+
activated_at_ms INTEGER NOT NULL CHECK(activated_at_ms > 0),
|
|
8
|
+
PRIMARY KEY(namespace, org_id, project_id, env_id, wallet_id, move_id)
|
|
9
|
+
);
|
|
10
|
+
|
|
11
|
+
CREATE TRIGGER wallet_authorization_activation_verified
|
|
12
|
+
BEFORE INSERT ON wallet_relocation_authorization_activations
|
|
13
|
+
WHEN NOT EXISTS (
|
|
14
|
+
SELECT 1 FROM wallet_relocation_authorization_intakes AS intake
|
|
15
|
+
JOIN wallet_relocation_authorization_imports AS imported
|
|
16
|
+
USING(namespace, org_id, project_id, env_id, wallet_id, move_id, request_digest_hex, source_generation)
|
|
17
|
+
WHERE intake.namespace = NEW.namespace AND intake.org_id = NEW.org_id
|
|
18
|
+
AND intake.project_id = NEW.project_id AND intake.env_id = NEW.env_id
|
|
19
|
+
AND intake.wallet_id = NEW.wallet_id AND intake.move_id = NEW.move_id
|
|
20
|
+
AND intake.request_digest_hex = NEW.request_digest_hex AND intake.source_generation = NEW.source_generation
|
|
21
|
+
AND intake.state = 'verified' AND imported.state = 'closed' AND intake.manifest_json = NEW.manifest_json
|
|
22
|
+
) OR EXISTS (
|
|
23
|
+
SELECT 1 FROM wallet_relocation_session_fences AS fence
|
|
24
|
+
WHERE fence.namespace = NEW.namespace AND fence.org_id = NEW.org_id
|
|
25
|
+
AND fence.project_id = NEW.project_id AND fence.env_id = NEW.env_id AND fence.wallet_id = NEW.wallet_id
|
|
26
|
+
)
|
|
27
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_activation_requires_verified_destination'); END;
|
|
28
|
+
|
|
29
|
+
CREATE TRIGGER wallet_authorization_activation_immutable
|
|
30
|
+
BEFORE UPDATE ON wallet_relocation_authorization_activations
|
|
31
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_activation_immutable'); END;
|
|
32
|
+
CREATE TRIGGER wallet_authorization_activation_retained
|
|
33
|
+
BEFORE DELETE ON wallet_relocation_authorization_activations
|
|
34
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_activation_retained'); END;
|
|
35
|
+
|
|
36
|
+
CREATE TRIGGER wallet_authorization_import_activation_receipt
|
|
37
|
+
BEFORE UPDATE ON wallet_relocation_authorization_imports
|
|
38
|
+
WHEN NEW.state = 'activated' AND OLD.state != 'activated' AND NOT EXISTS (
|
|
39
|
+
SELECT 1 FROM wallet_relocation_authorization_activations AS receipt
|
|
40
|
+
WHERE receipt.namespace = NEW.namespace AND receipt.org_id = NEW.org_id
|
|
41
|
+
AND receipt.project_id = NEW.project_id AND receipt.env_id = NEW.env_id
|
|
42
|
+
AND receipt.wallet_id = NEW.wallet_id AND receipt.move_id = NEW.move_id
|
|
43
|
+
AND receipt.request_digest_hex = NEW.request_digest_hex AND receipt.source_generation = NEW.source_generation
|
|
44
|
+
)
|
|
45
|
+
BEGIN SELECT RAISE(ABORT, 'wallet_authorization_activation_receipt_required'); END;
|