@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
|
@@ -7,10 +7,6 @@ import { fileURLToPath } from 'node:url';
|
|
|
7
7
|
const require = createRequire(import.meta.url);
|
|
8
8
|
const runtimeRoot = fileURLToPath(new URL('../', import.meta.url));
|
|
9
9
|
const walletServerRoot = path.dirname(require.resolve('@seams/wallet-server/package.json'));
|
|
10
|
-
export { localPeerVerifyingKeyHex } from './local-key-material.mjs';
|
|
11
|
-
|
|
12
|
-
import { localPeerSigningKeyBase64Url, localPeerVerifyingKeyHex } from './local-key-material.mjs';
|
|
13
|
-
|
|
14
10
|
const localPortOffset = Number(process.env.SEAMS_LOCAL_PORT_OFFSET || 0);
|
|
15
11
|
const STRICT_WORKER_ROLES = Object.freeze([
|
|
16
12
|
{ role: 'router', port: 4102 + localPortOffset },
|
|
@@ -63,8 +59,6 @@ export function prepareLocalHostedWalletGatewayConfig(input) {
|
|
|
63
59
|
const outputConfigPath = path.join(outputRoot, 'wrangler.local-hosted-wallet-gateway.toml');
|
|
64
60
|
const secretPath = path.join(outputRoot, '.dev.vars.wallet-gateway');
|
|
65
61
|
const routerEnv = readEnvMap(path.join(localEnvRoot, '.env.router-ab.router.local'));
|
|
66
|
-
const deriverAEnv = readEnvMap(path.join(localEnvRoot, '.env.router-ab.deriver-a.local'));
|
|
67
|
-
const deriverBEnv = readEnvMap(path.join(localEnvRoot, '.env.router-ab.deriver-b.local'));
|
|
68
62
|
const signingWorkerEnv = readEnvMap(
|
|
69
63
|
path.join(localEnvRoot, '.env.router-ab.signing-worker.local'),
|
|
70
64
|
);
|
|
@@ -102,7 +96,6 @@ export function prepareLocalHostedWalletGatewayConfig(input) {
|
|
|
102
96
|
const gatewayToSigningWorkerPresignAuthSecret =
|
|
103
97
|
readOrCreateLocalGatewayToSigningWorkerPresignAuthSecret(localEnvRoot);
|
|
104
98
|
const secretValues = {
|
|
105
|
-
ACCOUNT_ID_DERIVATION_SECRET: localSecret(internalAuthSecret, 'account-id-derivation'),
|
|
106
99
|
GOOGLE_OIDC_CLIENT_ID: optionalText(input.googleOidcClientId),
|
|
107
100
|
HOSTED_WALLET_ORIGINS: appOrigins.join(','),
|
|
108
101
|
LINKED_DEVICE_TARGET_DESCRIPTOR_HMAC_SECRET: localSecret(
|
|
@@ -123,13 +116,7 @@ export function prepareLocalHostedWalletGatewayConfig(input) {
|
|
|
123
116
|
ROUTER_AB_GATEWAY_TO_ROUTER_AUTH_SECRET: gatewayToRouterAuthSecret,
|
|
124
117
|
ROUTER_AB_GATEWAY_TO_SIGNING_WORKER_PRESIGN_AUTH_SECRET:
|
|
125
118
|
gatewayToSigningWorkerPresignAuthSecret,
|
|
126
|
-
|
|
127
|
-
ROUTER_AB_PUBLIC_KEYSET_JSON: localPublicKeysetJson({
|
|
128
|
-
routerEnv,
|
|
129
|
-
deriverAEnv,
|
|
130
|
-
deriverBEnv,
|
|
131
|
-
signingWorkerEnv,
|
|
132
|
-
}),
|
|
119
|
+
ROUTER_AB_PUBLIC_KEYSET_JSON: localPublicKeysetJson({ routerEnv, signingWorkerEnv }),
|
|
133
120
|
SEAMS_STAGING_ENV_ID: deployment.deployment.environmentId,
|
|
134
121
|
SEAMS_STAGING_ORG_ID: deployment.deployment.orgId,
|
|
135
122
|
SEAMS_STAGING_PROJECT_ID: deployment.deployment.projectId,
|
|
@@ -208,20 +195,6 @@ function localPublicKeysetJson(input) {
|
|
|
208
195
|
},
|
|
209
196
|
},
|
|
210
197
|
},
|
|
211
|
-
signer_peer_verifying_keys: {
|
|
212
|
-
deriver_a: {
|
|
213
|
-
role: 'signer_a',
|
|
214
|
-
verifying_key_hex: localPeerVerifyingKeyHex(
|
|
215
|
-
requiredEnv(input.deriverAEnv, 'DERIVER_A_PEER_SIGNING_KEY'),
|
|
216
|
-
),
|
|
217
|
-
},
|
|
218
|
-
deriver_b: {
|
|
219
|
-
role: 'signer_b',
|
|
220
|
-
verifying_key_hex: localPeerVerifyingKeyHex(
|
|
221
|
-
requiredEnv(input.deriverBEnv, 'DERIVER_B_PEER_SIGNING_KEY'),
|
|
222
|
-
),
|
|
223
|
-
},
|
|
224
|
-
},
|
|
225
198
|
signing_worker_server_output_hpke: {
|
|
226
199
|
key_epoch: requiredEnv(input.signingWorkerEnv, 'SIGNING_WORKER_KEY_EPOCH'),
|
|
227
200
|
public_key: requiredEnv(
|
|
@@ -390,39 +363,6 @@ export function prepareRouterAbStrictLocalRuntimeConfigs(input) {
|
|
|
390
363
|
.join('/');
|
|
391
364
|
let config = stripBuildSection(readFileSync(sourcePath, 'utf8'));
|
|
392
365
|
config = replaceTomlAssignment(config, 'main', mainPath);
|
|
393
|
-
if (role === 'deriver-b' && process.env.ROUTER_AB_WALLET_DO_HARNESS === 'enabled') {
|
|
394
|
-
config = config.replace(
|
|
395
|
-
'[[services]]',
|
|
396
|
-
`[[durable_objects.bindings]]
|
|
397
|
-
name = "DERIVER_B_WALLET_DO"
|
|
398
|
-
class_name = "RouterAbDeriverBWalletDurableObject"
|
|
399
|
-
|
|
400
|
-
[[migrations]]
|
|
401
|
-
tag = "r150-deriver-b-wallet-sqlite-v1"
|
|
402
|
-
new_sqlite_classes = ["RouterAbDeriverBWalletDurableObject"]
|
|
403
|
-
|
|
404
|
-
[[services]]`,
|
|
405
|
-
);
|
|
406
|
-
}
|
|
407
|
-
if (role === 'signing-worker' && process.env.ROUTER_AB_WALLET_DO_HARNESS === 'enabled') {
|
|
408
|
-
const presignBinding = ' { name = "SIGNING_WORKER_PRESIGN_SESSION_DO", class_name = "RouterAbSigningWorkerPresignSessionDurableObject" },';
|
|
409
|
-
if (!config.includes(presignBinding)) {
|
|
410
|
-
throw new Error('SigningWorker presign object binding is missing');
|
|
411
|
-
}
|
|
412
|
-
config = config.replace(
|
|
413
|
-
presignBinding,
|
|
414
|
-
`${presignBinding}
|
|
415
|
-
{ name = "SIGNING_WORKER_WALLET_DO", class_name = "RouterAbSigningWorkerWalletDurableObject" },`,
|
|
416
|
-
);
|
|
417
|
-
config = config.replace(
|
|
418
|
-
'[vars]',
|
|
419
|
-
`[[migrations]]
|
|
420
|
-
tag = "r150-signing-worker-wallet-sqlite-v1"
|
|
421
|
-
new_sqlite_classes = ["RouterAbSigningWorkerWalletDurableObject"]
|
|
422
|
-
|
|
423
|
-
[vars]`,
|
|
424
|
-
);
|
|
425
|
-
}
|
|
426
366
|
config = applyRoleVars(config, role, {
|
|
427
367
|
sdkRouterUrl,
|
|
428
368
|
routerEnv,
|
|
@@ -554,18 +494,6 @@ function applyRoleVars(source, role, env) {
|
|
|
554
494
|
'DERIVER_B_ENVELOPE_HPKE_PUBLIC_KEY',
|
|
555
495
|
requiredEnv(env.routerEnv, 'DERIVER_B_ED25519_YAO_INPUT_PUBLIC_KEY'),
|
|
556
496
|
);
|
|
557
|
-
config = setTomlSectionAssignment(
|
|
558
|
-
config,
|
|
559
|
-
'vars',
|
|
560
|
-
'DERIVER_A_PEER_VERIFYING_KEY_HEX',
|
|
561
|
-
localPeerVerifyingKeyHex(requiredEnv(env.deriverAEnv, 'DERIVER_A_PEER_SIGNING_KEY')),
|
|
562
|
-
);
|
|
563
|
-
config = setTomlSectionAssignment(
|
|
564
|
-
config,
|
|
565
|
-
'vars',
|
|
566
|
-
'DERIVER_B_PEER_VERIFYING_KEY_HEX',
|
|
567
|
-
localPeerVerifyingKeyHex(requiredEnv(env.deriverBEnv, 'DERIVER_B_PEER_SIGNING_KEY')),
|
|
568
|
-
);
|
|
569
497
|
return setTenantRootDeriverVars(
|
|
570
498
|
setPrivateD1Vars(config, 'DERIVER_ROLE_PRIVATE_D1', env.privateD1Keys.deriverA),
|
|
571
499
|
'A',
|
|
@@ -584,18 +512,6 @@ function applyRoleVars(source, role, env) {
|
|
|
584
512
|
'DERIVER_A_ENVELOPE_HPKE_PUBLIC_KEY',
|
|
585
513
|
requiredEnv(env.routerEnv, 'DERIVER_A_ED25519_YAO_INPUT_PUBLIC_KEY'),
|
|
586
514
|
);
|
|
587
|
-
config = setTomlSectionAssignment(
|
|
588
|
-
config,
|
|
589
|
-
'vars',
|
|
590
|
-
'DERIVER_A_PEER_VERIFYING_KEY_HEX',
|
|
591
|
-
localPeerVerifyingKeyHex(requiredEnv(env.deriverAEnv, 'DERIVER_A_PEER_SIGNING_KEY')),
|
|
592
|
-
);
|
|
593
|
-
config = setTomlSectionAssignment(
|
|
594
|
-
config,
|
|
595
|
-
'vars',
|
|
596
|
-
'DERIVER_B_PEER_VERIFYING_KEY_HEX',
|
|
597
|
-
localPeerVerifyingKeyHex(requiredEnv(env.deriverBEnv, 'DERIVER_B_PEER_SIGNING_KEY')),
|
|
598
|
-
);
|
|
599
515
|
return setTenantRootDeriverVars(
|
|
600
516
|
setPrivateD1Vars(config, 'DERIVER_ROLE_PRIVATE_D1', env.privateD1Keys.deriverB),
|
|
601
517
|
'B',
|
|
@@ -646,18 +562,6 @@ function applyRoleVars(source, role, env) {
|
|
|
646
562
|
'DERIVER_B_CUSTODY_AUTHORITY_VERIFYING_KEY_HEX',
|
|
647
563
|
env.tenantRootKeys.deriverBCustodyAuthorityVerifyingKeyHex,
|
|
648
564
|
);
|
|
649
|
-
config = setTomlSectionAssignment(
|
|
650
|
-
config,
|
|
651
|
-
'vars',
|
|
652
|
-
'DERIVER_A_PEER_VERIFYING_KEY_HEX',
|
|
653
|
-
localPeerVerifyingKeyHex(requiredEnv(env.deriverAEnv, 'DERIVER_A_PEER_SIGNING_KEY')),
|
|
654
|
-
);
|
|
655
|
-
config = setTomlSectionAssignment(
|
|
656
|
-
config,
|
|
657
|
-
'vars',
|
|
658
|
-
'DERIVER_B_PEER_VERIFYING_KEY_HEX',
|
|
659
|
-
localPeerVerifyingKeyHex(requiredEnv(env.deriverBEnv, 'DERIVER_B_PEER_SIGNING_KEY')),
|
|
660
|
-
);
|
|
661
565
|
return setTenantRootPublicKeys(config, env);
|
|
662
566
|
default:
|
|
663
567
|
throw new Error(`unsupported strict local worker role ${role}`);
|
|
@@ -768,18 +672,6 @@ function replaceTopologyPublicVars(source, env) {
|
|
|
768
672
|
'DERIVER_B_ENVELOPE_HPKE_PUBLIC_KEY',
|
|
769
673
|
requiredEnv(env.routerEnv, 'DERIVER_B_ED25519_YAO_INPUT_PUBLIC_KEY'),
|
|
770
674
|
);
|
|
771
|
-
config = setTomlSectionAssignment(
|
|
772
|
-
config,
|
|
773
|
-
'vars',
|
|
774
|
-
'DERIVER_A_PEER_VERIFYING_KEY_HEX',
|
|
775
|
-
localPeerVerifyingKeyHex(requiredEnv(env.deriverAEnv, 'DERIVER_A_PEER_SIGNING_KEY')),
|
|
776
|
-
);
|
|
777
|
-
config = setTomlSectionAssignment(
|
|
778
|
-
config,
|
|
779
|
-
'vars',
|
|
780
|
-
'DERIVER_B_PEER_VERIFYING_KEY_HEX',
|
|
781
|
-
localPeerVerifyingKeyHex(requiredEnv(env.deriverBEnv, 'DERIVER_B_PEER_SIGNING_KEY')),
|
|
782
|
-
);
|
|
783
675
|
return setTomlSectionAssignment(
|
|
784
676
|
config,
|
|
785
677
|
'vars',
|
|
@@ -809,9 +701,6 @@ function strictRoleSecretFile(role, env) {
|
|
|
809
701
|
'hpke-x25519-private-v1:',
|
|
810
702
|
'Deriver A envelope HPKE private key',
|
|
811
703
|
)}`,
|
|
812
|
-
`DERIVER_A_PEER_SIGNING_KEY=${localPeerSigningKeyBase64Url(
|
|
813
|
-
requiredEnv(env.deriverAEnv, 'DERIVER_A_PEER_SIGNING_KEY'),
|
|
814
|
-
)}`,
|
|
815
704
|
`DERIVER_A_ROLE_PRIVATE_D1_KEK=hpke-x25519-role-private-d1-private-v1:${env.privateD1Keys.deriverA.privateKeyHex}`,
|
|
816
705
|
`DERIVER_A_TENANT_ROOT_CREATION_SIGNING_KEY=${env.tenantRootKeys.deriverA.creationSigningSeedB64u}`,
|
|
817
706
|
`DERIVER_A_TENANT_ROOT_ONLINE_HPKE_PRIVATE_KEY=hpke-x25519-private-v1:${env.tenantRootKeys.deriverA.onlineKey.privateKeyHex}`,
|
|
@@ -831,9 +720,6 @@ function strictRoleSecretFile(role, env) {
|
|
|
831
720
|
'hpke-x25519-private-v1:',
|
|
832
721
|
'Deriver B envelope HPKE private key',
|
|
833
722
|
)}`,
|
|
834
|
-
`DERIVER_B_PEER_SIGNING_KEY=${localPeerSigningKeyBase64Url(
|
|
835
|
-
requiredEnv(env.deriverBEnv, 'DERIVER_B_PEER_SIGNING_KEY'),
|
|
836
|
-
)}`,
|
|
837
723
|
`DERIVER_B_ROLE_PRIVATE_D1_KEK=hpke-x25519-role-private-d1-private-v1:${env.privateD1Keys.deriverB.privateKeyHex}`,
|
|
838
724
|
`DERIVER_B_TENANT_ROOT_CREATION_SIGNING_KEY=${env.tenantRootKeys.deriverB.creationSigningSeedB64u}`,
|
|
839
725
|
`DERIVER_B_TENANT_ROOT_ONLINE_HPKE_PRIVATE_KEY=hpke-x25519-private-v1:${env.tenantRootKeys.deriverB.onlineKey.privateKeyHex}`,
|
|
@@ -968,12 +854,10 @@ export function resolveLocalTenantRootKeyMaterial(input) {
|
|
|
968
854
|
);
|
|
969
855
|
const deriverA = localTenantRootDeriverKeyMaterial(
|
|
970
856
|
'A',
|
|
971
|
-
requiredEnv(deriverAEnv, 'DERIVER_A_PEER_SIGNING_KEY'),
|
|
972
857
|
requiredEnv(deriverAEnv, 'DERIVER_A_ENVELOPE_HPKE_PRIVATE_KEY'),
|
|
973
858
|
);
|
|
974
859
|
const deriverB = localTenantRootDeriverKeyMaterial(
|
|
975
860
|
'B',
|
|
976
|
-
requiredEnv(deriverBEnv, 'DERIVER_B_PEER_SIGNING_KEY'),
|
|
977
861
|
requiredEnv(deriverBEnv, 'DERIVER_B_ENVELOPE_HPKE_PRIVATE_KEY'),
|
|
978
862
|
);
|
|
979
863
|
return Object.freeze({
|
|
@@ -1015,9 +899,9 @@ export function resolveLocalTenantRootKeyMaterial(input) {
|
|
|
1015
899
|
});
|
|
1016
900
|
}
|
|
1017
901
|
|
|
1018
|
-
function localTenantRootDeriverKeyMaterial(suffix,
|
|
902
|
+
function localTenantRootDeriverKeyMaterial(suffix, hpkeSeedHex) {
|
|
1019
903
|
const lower = suffix.toLowerCase();
|
|
1020
|
-
const creation = deriveLocalEd25519KeyPair(
|
|
904
|
+
const creation = deriveLocalEd25519KeyPair(hpkeSeedHex, `tenant-root/${lower}/creation-signing`);
|
|
1021
905
|
return Object.freeze({
|
|
1022
906
|
creationSigningKeyId: `local-deriver-${lower}-tenant-root-creation-v1`,
|
|
1023
907
|
creationSigningSeedB64u: creation.signingSeedB64u,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { generateKeyPairSync } from 'node:crypto';
|
|
3
3
|
import { spawn, spawnSync } from 'node:child_process';
|
|
4
|
-
import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
4
|
+
import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
|
|
5
5
|
import http from 'node:http';
|
|
6
6
|
import path from 'node:path';
|
|
7
7
|
import { tmpdir } from 'node:os';
|
|
@@ -11,9 +11,8 @@ import { prepareRouterAbStrictLocalRuntimeConfigs } from './prepare-local-runtim
|
|
|
11
11
|
|
|
12
12
|
const repoRoot = process.cwd();
|
|
13
13
|
const runtimeRoot = fileURLToPath(new URL('../', import.meta.url));
|
|
14
|
-
const workerBuildDirectory =
|
|
15
|
-
? 'build/dev'
|
|
16
|
-
: 'build';
|
|
14
|
+
const workerBuildDirectory =
|
|
15
|
+
process.env.ROUTER_AB_WORKER_BUILD_PROFILE === 'dev' ? 'build/dev' : 'build';
|
|
17
16
|
const options = parseArguments(process.argv.slice(2));
|
|
18
17
|
const localRoot = path.resolve(
|
|
19
18
|
options.root || path.join(tmpdir(), `${path.basename(repoRoot)}-wallet-router-ab`),
|
|
@@ -29,6 +28,10 @@ const workerEnv = {
|
|
|
29
28
|
WRANGLER_REGISTRY_PATH: path.join(localRoot, '.local', 'worker-registry'),
|
|
30
29
|
};
|
|
31
30
|
const children = [];
|
|
31
|
+
const workerRoles = new Map();
|
|
32
|
+
const retiringChildren = new Set();
|
|
33
|
+
let generation = 0;
|
|
34
|
+
let restarting = false;
|
|
32
35
|
let stopping = false;
|
|
33
36
|
|
|
34
37
|
await main().catch(handleFatalError);
|
|
@@ -49,7 +52,8 @@ async function main() {
|
|
|
49
52
|
applyPrivateD1Migrations(runtime);
|
|
50
53
|
startWorkers(runtime);
|
|
51
54
|
await waitForWorkers(runtime);
|
|
52
|
-
|
|
55
|
+
writeReadyReceipt();
|
|
56
|
+
process.on('SIGUSR2', requestRestart.bind(undefined, runtime));
|
|
53
57
|
if (process.stdout.isTTY) {
|
|
54
58
|
console.log('Local Wallet role Workers ready.');
|
|
55
59
|
} else {
|
|
@@ -94,11 +98,7 @@ function initializeLocalIdentity() {
|
|
|
94
98
|
runRequired(
|
|
95
99
|
'Router A/B local identity initialization',
|
|
96
100
|
process.execPath,
|
|
97
|
-
[
|
|
98
|
-
fileURLToPath(new URL('./initialize-local-wallet.mjs', import.meta.url)),
|
|
99
|
-
'--root',
|
|
100
|
-
localRoot,
|
|
101
|
-
],
|
|
101
|
+
[fileURLToPath(new URL('./initialize-local-wallet.mjs', import.meta.url)), '--root', localRoot],
|
|
102
102
|
repoRoot,
|
|
103
103
|
);
|
|
104
104
|
}
|
|
@@ -228,7 +228,8 @@ function startWorker(config) {
|
|
|
228
228
|
},
|
|
229
229
|
);
|
|
230
230
|
children.push(child);
|
|
231
|
-
|
|
231
|
+
workerRoles.set(child, config.role);
|
|
232
|
+
child.once('exit', handleChildExit.bind(undefined, config.role, child));
|
|
232
233
|
child.once('error', handleChildError.bind(undefined, config.role));
|
|
233
234
|
}
|
|
234
235
|
|
|
@@ -243,6 +244,59 @@ function describeWorker(config) {
|
|
|
243
244
|
return { role: config.role, url: config.url };
|
|
244
245
|
}
|
|
245
246
|
|
|
247
|
+
function writeReadyReceipt() {
|
|
248
|
+
generation += 1;
|
|
249
|
+
const temporary = `${workersReadyPath}.tmp`;
|
|
250
|
+
writeFileSync(
|
|
251
|
+
temporary,
|
|
252
|
+
JSON.stringify({
|
|
253
|
+
root: localRoot,
|
|
254
|
+
supervisorPid: process.pid,
|
|
255
|
+
generation,
|
|
256
|
+
workers: children.map(describeRunningWorker),
|
|
257
|
+
}) + '\n',
|
|
258
|
+
);
|
|
259
|
+
renameSync(temporary, workersReadyPath);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
function describeRunningWorker(child) {
|
|
263
|
+
return { role: workerRoles.get(child), pid: child.pid };
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
function requestRestart(runtime) {
|
|
267
|
+
if (stopping || restarting) return;
|
|
268
|
+
restarting = true;
|
|
269
|
+
restartWorkers(runtime).catch(handleFatalError);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
async function restartWorkers(runtime) {
|
|
273
|
+
const previous = [...children];
|
|
274
|
+
for (const child of previous) {
|
|
275
|
+
retiringChildren.add(child);
|
|
276
|
+
stopChild(child);
|
|
277
|
+
}
|
|
278
|
+
await delay(2_000);
|
|
279
|
+
for (const child of previous) forceStopChild(child);
|
|
280
|
+
const deadline = Date.now() + 5_000;
|
|
281
|
+
while (previous.some(isRunningChild)) {
|
|
282
|
+
if (Date.now() >= deadline) throw new Error('Role Workers did not stop for restart');
|
|
283
|
+
await delay(50);
|
|
284
|
+
}
|
|
285
|
+
if (stopping) return;
|
|
286
|
+
children.splice(0, previous.length);
|
|
287
|
+
for (const child of previous) workerRoles.delete(child);
|
|
288
|
+
startWorkers(runtime);
|
|
289
|
+
await waitForWorkers(runtime);
|
|
290
|
+
if (stopping) return;
|
|
291
|
+
writeReadyReceipt();
|
|
292
|
+
restarting = false;
|
|
293
|
+
console.log(`Local Wallet role Workers restarted (generation ${generation}).`);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
function isRunningChild(child) {
|
|
297
|
+
return child.exitCode === null && child.signalCode === null;
|
|
298
|
+
}
|
|
299
|
+
|
|
246
300
|
async function waitForHttp(url, timeoutMs, requireOk) {
|
|
247
301
|
const deadline = Date.now() + timeoutMs;
|
|
248
302
|
while (Date.now() < deadline) {
|
|
@@ -301,7 +355,8 @@ function handleSigterm() {
|
|
|
301
355
|
shutdown(143);
|
|
302
356
|
}
|
|
303
357
|
|
|
304
|
-
function handleChildExit(role, code, signal) {
|
|
358
|
+
function handleChildExit(role, child, code, signal) {
|
|
359
|
+
if (retiringChildren.delete(child)) return;
|
|
305
360
|
if (stopping) return;
|
|
306
361
|
console.error(`${role} stopped (${signal || String(code ?? 'unknown')})`);
|
|
307
362
|
shutdown(typeof code === 'number' && code > 0 ? code : 1);
|
|
@@ -339,13 +394,15 @@ function stopChild(child) {
|
|
|
339
394
|
}
|
|
340
395
|
|
|
341
396
|
function forceStopChildren(exitCode) {
|
|
342
|
-
for (const child of children)
|
|
343
|
-
// Detached workers can outlive the package-manager process that launched them.
|
|
344
|
-
if (!child.pid) continue;
|
|
345
|
-
try {
|
|
346
|
-
if (process.platform !== 'win32' && child.pid) process.kill(-child.pid, 'SIGKILL');
|
|
347
|
-
else child.kill('SIGKILL');
|
|
348
|
-
} catch {}
|
|
349
|
-
}
|
|
397
|
+
for (const child of children) forceStopChild(child);
|
|
350
398
|
process.exit(exitCode);
|
|
351
399
|
}
|
|
400
|
+
|
|
401
|
+
function forceStopChild(child) {
|
|
402
|
+
// Detached workers can outlive the package-manager process that launched them.
|
|
403
|
+
if (!child.pid) return;
|
|
404
|
+
try {
|
|
405
|
+
if (process.platform !== 'win32') process.kill(-child.pid, 'SIGKILL');
|
|
406
|
+
else child.kill('SIGKILL');
|
|
407
|
+
} catch {}
|
|
408
|
+
}
|
|
@@ -43,8 +43,6 @@ DERIVER_ROLE_PRIVATE_D1_ROLE = "deriver_a"
|
|
|
43
43
|
DERIVER_A_ENVELOPE_HPKE_PRIVATE_KEY_BINDING = "DERIVER_A_ENVELOPE_HPKE_PRIVATE_KEY"
|
|
44
44
|
DERIVER_A_ENVELOPE_HPKE_KEY_EPOCH = "epoch-1"
|
|
45
45
|
DERIVER_B_ENVELOPE_HPKE_KEY_EPOCH = "epoch-1"
|
|
46
|
-
DERIVER_A_PEER_SIGNING_KEY_BINDING = "DERIVER_A_PEER_SIGNING_KEY"
|
|
47
|
-
DERIVER_A_PEER_SIGNING_KEY_EPOCH = "epoch-1"
|
|
48
46
|
DERIVER_B_PEER_BINDING = "DERIVER_B"
|
|
49
47
|
|
|
50
48
|
[env.staging]
|
|
@@ -87,10 +85,6 @@ DERIVER_A_ENVELOPE_HPKE_PRIVATE_KEY_BINDING = "DERIVER_A_ENVELOPE_HPKE_PRIVATE_K
|
|
|
87
85
|
DERIVER_A_ENVELOPE_HPKE_KEY_EPOCH = "epoch-1"
|
|
88
86
|
DERIVER_A_ENVELOPE_HPKE_PUBLIC_KEY = "x25519:2693d0896a85398a7bef705c714590bbd99e0c91be62323d33c421d5be597257"
|
|
89
87
|
DERIVER_B_ENVELOPE_HPKE_KEY_EPOCH = "epoch-1"
|
|
90
|
-
DERIVER_A_PEER_SIGNING_KEY_BINDING = "DERIVER_A_PEER_SIGNING_KEY"
|
|
91
|
-
DERIVER_A_PEER_SIGNING_KEY_EPOCH = "epoch-1"
|
|
92
|
-
DERIVER_A_PEER_VERIFYING_KEY_HEX = "d6d21d388a92e6eb9d85d9fcdbcba81c383d7102717b7160fab5e2b501555907"
|
|
93
|
-
DERIVER_B_PEER_VERIFYING_KEY_HEX = "1a369e342f555305e278312f3b704465e11fadbbab09134ed897402ed65c2d4a"
|
|
94
88
|
DERIVER_B_PEER_BINDING = "DERIVER_B"
|
|
95
89
|
|
|
96
90
|
[env.production-testnet]
|
|
@@ -132,8 +126,6 @@ DERIVER_ROLE_PRIVATE_D1_ROLE = "deriver_a"
|
|
|
132
126
|
DERIVER_A_ENVELOPE_HPKE_PRIVATE_KEY_BINDING = "DERIVER_A_ENVELOPE_HPKE_PRIVATE_KEY"
|
|
133
127
|
DERIVER_A_ENVELOPE_HPKE_KEY_EPOCH = "epoch-1"
|
|
134
128
|
DERIVER_B_ENVELOPE_HPKE_KEY_EPOCH = "epoch-1"
|
|
135
|
-
DERIVER_A_PEER_SIGNING_KEY_BINDING = "DERIVER_A_PEER_SIGNING_KEY"
|
|
136
|
-
DERIVER_A_PEER_SIGNING_KEY_EPOCH = "epoch-1"
|
|
137
129
|
DERIVER_B_PEER_BINDING = "DERIVER_B"
|
|
138
130
|
|
|
139
131
|
[observability]
|
|
@@ -24,6 +24,14 @@ name = "ROUTER_TENANT_ROOT_CREATION_DO"
|
|
|
24
24
|
class_name = "RouterAbTenantRootCreationDurableObject"
|
|
25
25
|
script_name = "router-ab-mpc-router"
|
|
26
26
|
|
|
27
|
+
[[durable_objects.bindings]]
|
|
28
|
+
name = "DERIVER_B_WALLET_DO"
|
|
29
|
+
class_name = "RouterAbDeriverBWalletDurableObject"
|
|
30
|
+
|
|
31
|
+
[[migrations]]
|
|
32
|
+
tag = "r150-deriver-b-wallet-sqlite-v1"
|
|
33
|
+
new_sqlite_classes = ["RouterAbDeriverBWalletDurableObject"]
|
|
34
|
+
|
|
27
35
|
[[services]]
|
|
28
36
|
binding = "DERIVER_A"
|
|
29
37
|
service = "router-ab-deriver-a"
|
|
@@ -35,8 +43,6 @@ DERIVER_ROLE_PRIVATE_D1_ROLE = "deriver_b"
|
|
|
35
43
|
DERIVER_B_ENVELOPE_HPKE_PRIVATE_KEY_BINDING = "DERIVER_B_ENVELOPE_HPKE_PRIVATE_KEY"
|
|
36
44
|
DERIVER_B_ENVELOPE_HPKE_KEY_EPOCH = "epoch-1"
|
|
37
45
|
DERIVER_A_ENVELOPE_HPKE_KEY_EPOCH = "epoch-1"
|
|
38
|
-
DERIVER_B_PEER_SIGNING_KEY_BINDING = "DERIVER_B_PEER_SIGNING_KEY"
|
|
39
|
-
DERIVER_B_PEER_SIGNING_KEY_EPOCH = "epoch-1"
|
|
40
46
|
DERIVER_A_PEER_BINDING = "DERIVER_A"
|
|
41
47
|
|
|
42
48
|
[env.staging]
|
|
@@ -59,6 +65,14 @@ name = "ROUTER_TENANT_ROOT_CREATION_DO"
|
|
|
59
65
|
class_name = "RouterAbTenantRootCreationDurableObject"
|
|
60
66
|
script_name = "router-ab-mpc-router-staging"
|
|
61
67
|
|
|
68
|
+
[[env.staging.durable_objects.bindings]]
|
|
69
|
+
name = "DERIVER_B_WALLET_DO"
|
|
70
|
+
class_name = "RouterAbDeriverBWalletDurableObject"
|
|
71
|
+
|
|
72
|
+
[[env.staging.migrations]]
|
|
73
|
+
tag = "r150-deriver-b-wallet-sqlite-v1"
|
|
74
|
+
new_sqlite_classes = ["RouterAbDeriverBWalletDurableObject"]
|
|
75
|
+
|
|
62
76
|
[[env.staging.services]]
|
|
63
77
|
binding = "DERIVER_A"
|
|
64
78
|
service = "router-ab-deriver-a-staging"
|
|
@@ -71,10 +85,6 @@ DERIVER_B_ENVELOPE_HPKE_PRIVATE_KEY_BINDING = "DERIVER_B_ENVELOPE_HPKE_PRIVATE_K
|
|
|
71
85
|
DERIVER_B_ENVELOPE_HPKE_KEY_EPOCH = "epoch-1"
|
|
72
86
|
DERIVER_B_ENVELOPE_HPKE_PUBLIC_KEY = "x25519:5e2819f555ecfcc996761ca4558551172f06052fb9f80123a88f4e0094c3b13a"
|
|
73
87
|
DERIVER_A_ENVELOPE_HPKE_KEY_EPOCH = "epoch-1"
|
|
74
|
-
DERIVER_B_PEER_SIGNING_KEY_BINDING = "DERIVER_B_PEER_SIGNING_KEY"
|
|
75
|
-
DERIVER_B_PEER_SIGNING_KEY_EPOCH = "epoch-1"
|
|
76
|
-
DERIVER_A_PEER_VERIFYING_KEY_HEX = "d6d21d388a92e6eb9d85d9fcdbcba81c383d7102717b7160fab5e2b501555907"
|
|
77
|
-
DERIVER_B_PEER_VERIFYING_KEY_HEX = "1a369e342f555305e278312f3b704465e11fadbbab09134ed897402ed65c2d4a"
|
|
78
88
|
DERIVER_A_PEER_BINDING = "DERIVER_A"
|
|
79
89
|
|
|
80
90
|
[env.production-testnet]
|
|
@@ -97,6 +107,14 @@ name = "ROUTER_TENANT_ROOT_CREATION_DO"
|
|
|
97
107
|
class_name = "RouterAbTenantRootCreationDurableObject"
|
|
98
108
|
script_name = "router-ab-mpc-router-testnet"
|
|
99
109
|
|
|
110
|
+
[[env.production-testnet.durable_objects.bindings]]
|
|
111
|
+
name = "DERIVER_B_WALLET_DO"
|
|
112
|
+
class_name = "RouterAbDeriverBWalletDurableObject"
|
|
113
|
+
|
|
114
|
+
[[env.production-testnet.migrations]]
|
|
115
|
+
tag = "r150-deriver-b-wallet-sqlite-v1"
|
|
116
|
+
new_sqlite_classes = ["RouterAbDeriverBWalletDurableObject"]
|
|
117
|
+
|
|
100
118
|
[[env.production-testnet.services]]
|
|
101
119
|
binding = "DERIVER_A"
|
|
102
120
|
service = "router-ab-deriver-a-testnet"
|
|
@@ -108,8 +126,6 @@ DERIVER_ROLE_PRIVATE_D1_ROLE = "deriver_b"
|
|
|
108
126
|
DERIVER_B_ENVELOPE_HPKE_PRIVATE_KEY_BINDING = "DERIVER_B_ENVELOPE_HPKE_PRIVATE_KEY"
|
|
109
127
|
DERIVER_B_ENVELOPE_HPKE_KEY_EPOCH = "epoch-1"
|
|
110
128
|
DERIVER_A_ENVELOPE_HPKE_KEY_EPOCH = "epoch-1"
|
|
111
|
-
DERIVER_B_PEER_SIGNING_KEY_BINDING = "DERIVER_B_PEER_SIGNING_KEY"
|
|
112
|
-
DERIVER_B_PEER_SIGNING_KEY_EPOCH = "epoch-1"
|
|
113
129
|
DERIVER_A_PEER_BINDING = "DERIVER_A"
|
|
114
130
|
|
|
115
131
|
[observability]
|
|
@@ -82,8 +82,6 @@ DERIVER_A_ENVELOPE_HPKE_KEY_EPOCH = "epoch-1"
|
|
|
82
82
|
DERIVER_A_ENVELOPE_HPKE_PUBLIC_KEY = "x25519:2693d0896a85398a7bef705c714590bbd99e0c91be62323d33c421d5be597257"
|
|
83
83
|
DERIVER_B_ENVELOPE_HPKE_KEY_EPOCH = "epoch-1"
|
|
84
84
|
DERIVER_B_ENVELOPE_HPKE_PUBLIC_KEY = "x25519:5e2819f555ecfcc996761ca4558551172f06052fb9f80123a88f4e0094c3b13a"
|
|
85
|
-
DERIVER_A_PEER_VERIFYING_KEY_HEX = "d6d21d388a92e6eb9d85d9fcdbcba81c383d7102717b7160fab5e2b501555907"
|
|
86
|
-
DERIVER_B_PEER_VERIFYING_KEY_HEX = "1a369e342f555305e278312f3b704465e11fadbbab09134ed897402ed65c2d4a"
|
|
87
85
|
SIGNING_WORKER_SERVER_OUTPUT_HPKE_KEY_EPOCH = "epoch-1"
|
|
88
86
|
SIGNING_WORKER_SERVER_OUTPUT_HPKE_PUBLIC_KEY = "x25519:d0a06a6445d78bc87f449dfac2b427ad1857a0b00d91e20f152031ad49c18010"
|
|
89
87
|
DERIVER_A_PEER_BINDING = "DERIVER_A"
|
|
@@ -14,12 +14,17 @@ migrations_dir = "migrations/signing-worker"
|
|
|
14
14
|
[durable_objects]
|
|
15
15
|
bindings = [
|
|
16
16
|
{ name = "SIGNING_WORKER_PRESIGN_SESSION_DO", class_name = "RouterAbSigningWorkerPresignSessionDurableObject" },
|
|
17
|
+
{ name = "SIGNING_WORKER_WALLET_DO", class_name = "RouterAbSigningWorkerWalletDurableObject" },
|
|
17
18
|
]
|
|
18
19
|
|
|
19
20
|
[[migrations]]
|
|
20
21
|
tag = "router_ab_signing_worker_v4"
|
|
21
22
|
new_sqlite_classes = ["RouterAbSigningWorkerPresignSessionDurableObject"]
|
|
22
23
|
|
|
24
|
+
[[migrations]]
|
|
25
|
+
tag = "r150-signing-worker-wallet-sqlite-v1"
|
|
26
|
+
new_sqlite_classes = ["RouterAbSigningWorkerWalletDurableObject"]
|
|
27
|
+
|
|
23
28
|
[vars]
|
|
24
29
|
ROUTER_AB_INTERNAL_SERVICE_AUTH_SECRET_BINDING = "ROUTER_AB_INTERNAL_SERVICE_AUTH_SECRET"
|
|
25
30
|
SIGNING_WORKER_PRESIGN_SESSION_DO_BINDING = "SIGNING_WORKER_PRESIGN_SESSION_DO"
|
|
@@ -43,6 +48,18 @@ migrations_dir = "migrations/signing-worker"
|
|
|
43
48
|
name = "SIGNING_WORKER_PRESIGN_SESSION_DO"
|
|
44
49
|
class_name = "RouterAbSigningWorkerPresignSessionDurableObject"
|
|
45
50
|
|
|
51
|
+
[[env.staging.durable_objects.bindings]]
|
|
52
|
+
name = "SIGNING_WORKER_WALLET_DO"
|
|
53
|
+
class_name = "RouterAbSigningWorkerWalletDurableObject"
|
|
54
|
+
|
|
55
|
+
[[env.staging.migrations]]
|
|
56
|
+
tag = "router_ab_signing_worker_v4"
|
|
57
|
+
new_sqlite_classes = ["RouterAbSigningWorkerPresignSessionDurableObject"]
|
|
58
|
+
|
|
59
|
+
[[env.staging.migrations]]
|
|
60
|
+
tag = "r150-signing-worker-wallet-sqlite-v1"
|
|
61
|
+
new_sqlite_classes = ["RouterAbSigningWorkerWalletDurableObject"]
|
|
62
|
+
|
|
46
63
|
[env.staging.vars]
|
|
47
64
|
ROUTER_AB_INTERNAL_SERVICE_AUTH_SECRET_BINDING = "ROUTER_AB_INTERNAL_SERVICE_AUTH_SECRET"
|
|
48
65
|
SIGNING_WORKER_PRESIGN_SESSION_DO_BINDING = "SIGNING_WORKER_PRESIGN_SESSION_DO"
|
|
@@ -67,6 +84,18 @@ migrations_dir = "migrations/signing-worker"
|
|
|
67
84
|
name = "SIGNING_WORKER_PRESIGN_SESSION_DO"
|
|
68
85
|
class_name = "RouterAbSigningWorkerPresignSessionDurableObject"
|
|
69
86
|
|
|
87
|
+
[[env.production-testnet.durable_objects.bindings]]
|
|
88
|
+
name = "SIGNING_WORKER_WALLET_DO"
|
|
89
|
+
class_name = "RouterAbSigningWorkerWalletDurableObject"
|
|
90
|
+
|
|
91
|
+
[[env.production-testnet.migrations]]
|
|
92
|
+
tag = "router_ab_signing_worker_v4"
|
|
93
|
+
new_sqlite_classes = ["RouterAbSigningWorkerPresignSessionDurableObject"]
|
|
94
|
+
|
|
95
|
+
[[env.production-testnet.migrations]]
|
|
96
|
+
tag = "r150-signing-worker-wallet-sqlite-v1"
|
|
97
|
+
new_sqlite_classes = ["RouterAbSigningWorkerWalletDurableObject"]
|
|
98
|
+
|
|
70
99
|
[env.production-testnet.vars]
|
|
71
100
|
ROUTER_AB_INTERNAL_SERVICE_AUTH_SECRET_BINDING = "ROUTER_AB_INTERNAL_SERVICE_AUTH_SECRET"
|
|
72
101
|
SIGNING_WORKER_PRESIGN_SESSION_DO_BINDING = "SIGNING_WORKER_PRESIGN_SESSION_DO"
|
|
@@ -3,9 +3,9 @@ import { parseMpcWalletSigningQuotaId, parsePrincipalId, parseTenantId, parseWal
|
|
|
3
3
|
import { base64UrlEncode } from "../shared-ts/src/utils/base64.js";
|
|
4
4
|
import { alphabetizeStringify, sha256BytesUtf8 } from "../shared-ts/src/utils/digests.js";
|
|
5
5
|
import { parseDigestB64u } from "../shared-ts/src/utils/canonicalPrimitives.js";
|
|
6
|
+
import { parseActiveWalletSessionV1, parseWalletSessionHome } from "../shared-ts/src/device-linking/activeWalletSession.js";
|
|
6
7
|
import { computeCapabilityOperationFingerprintDigest } from "../shared-ts/src/authorization/operationFingerprint.js";
|
|
7
8
|
import "../shared-ts/src/utils/encoders.js";
|
|
8
|
-
import { parseActiveWalletSessionV1 } from "../shared-ts/src/device-linking/activeWalletSession.js";
|
|
9
9
|
import "../shared-ts/src/device-linking/index.js";
|
|
10
10
|
//#region src/authorization/domain.ts
|
|
11
11
|
function buildExactWalletSessionQuotaProjectionV1(fields) {
|
|
@@ -340,13 +340,14 @@ function parseHostedWalletSessionOperationCredentialV1(raw) {
|
|
|
340
340
|
if (!walletSessionId.ok) throw new Error(`walletSessionId is invalid: ${walletSessionId.error.message}`);
|
|
341
341
|
return {
|
|
342
342
|
kind: raw.kind,
|
|
343
|
+
home: parseWalletSessionHome(raw.home),
|
|
343
344
|
token,
|
|
344
345
|
walletSessionId: walletSessionId.value
|
|
345
346
|
};
|
|
346
347
|
}
|
|
347
348
|
function isHostedWalletSessionOperationCredentialRecordV1(value) {
|
|
348
349
|
if (value === null || typeof value !== "object" || Array.isArray(value)) return false;
|
|
349
|
-
return Object.keys(value).sort().join("|") === "kind|token|walletSessionId";
|
|
350
|
+
return Object.keys(value).sort().join("|") === "home|kind|token|walletSessionId";
|
|
350
351
|
}
|
|
351
352
|
function parsePrimaryWalletSessionOperationCredentialToken(value) {
|
|
352
353
|
if (typeof value !== "string" || !/^wst_[A-Za-z0-9_-]{43}$/.test(value)) throw new Error("primary Wallet Session credential is invalid");
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { parseLinkDeviceSessionId, parseWalletId } from "../shared-ts/src/utils/domainIds.js";
|
|
2
|
+
import { requireRecord } from "../shared-ts/src/utils/validation.js";
|
|
3
|
+
import { requireVisibleIdentifier } from "../shared-ts/src/utils/routerAbEd25519YaoDigests.js";
|
|
4
|
+
//#region src/authorization/lifecycleRouting.ts
|
|
5
|
+
var WalletLifecycleLocator = class WalletLifecycleLocator {
|
|
6
|
+
#validated = true;
|
|
7
|
+
constructor(kind, value) {
|
|
8
|
+
this.kind = kind;
|
|
9
|
+
this.value = value;
|
|
10
|
+
Object.freeze(this);
|
|
11
|
+
}
|
|
12
|
+
matches(other) {
|
|
13
|
+
return this.#validated && other.#validated && this.kind === other.kind && this.value === other.value;
|
|
14
|
+
}
|
|
15
|
+
static parse(raw) {
|
|
16
|
+
const record = requireRecord(raw, "lifecycle locator");
|
|
17
|
+
if (Object.keys(record).length !== 2 || record.kind !== "yao_recovery" && record.kind !== "yao_export" && record.kind !== "passkey_challenge" && record.kind !== "linked_device") throw new Error("Invalid lifecycle locator");
|
|
18
|
+
if (record.kind === "passkey_challenge" && (typeof record.value !== "string" || !/^[A-Za-z0-9_-]{22}$/u.test(record.value))) throw new Error("Invalid passkey challenge locator");
|
|
19
|
+
if (record.kind === "linked_device") {
|
|
20
|
+
const parsed = parseLinkDeviceSessionId(record.value);
|
|
21
|
+
if (!parsed.ok) throw new Error(parsed.error.message);
|
|
22
|
+
return new WalletLifecycleLocator("linked_device", parsed.value);
|
|
23
|
+
}
|
|
24
|
+
return new WalletLifecycleLocator(record.kind, requireVisibleIdentifier(record.value, "lifecycle ID"));
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
async function publishWalletLifecycleHome(publisher, kind, admission) {
|
|
28
|
+
if (!publisher) return { ok: true };
|
|
29
|
+
const wallet = parseWalletId(admission.application_binding.wallet_id);
|
|
30
|
+
if (!wallet.ok) return {
|
|
31
|
+
ok: false,
|
|
32
|
+
status: 409,
|
|
33
|
+
code: "wallet_home_conflict",
|
|
34
|
+
message: "Lifecycle wallet identity is invalid"
|
|
35
|
+
};
|
|
36
|
+
try {
|
|
37
|
+
if (!(await publisher.publishLifecycle({
|
|
38
|
+
walletId: wallet.value,
|
|
39
|
+
locator: WalletLifecycleLocator.parse({
|
|
40
|
+
kind,
|
|
41
|
+
value: admission.scope.lifecycle_id
|
|
42
|
+
})
|
|
43
|
+
})).ok) return {
|
|
44
|
+
ok: false,
|
|
45
|
+
status: 409,
|
|
46
|
+
code: "wallet_home_conflict",
|
|
47
|
+
message: "Lifecycle belongs to another wallet home"
|
|
48
|
+
};
|
|
49
|
+
return { ok: true };
|
|
50
|
+
} catch {
|
|
51
|
+
return {
|
|
52
|
+
ok: false,
|
|
53
|
+
status: 503,
|
|
54
|
+
code: "wallet_home_unavailable",
|
|
55
|
+
message: "Lifecycle home publication is unavailable"
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
export { WalletLifecycleLocator, publishWalletLifecycleHome };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=lifecycleRouting.js.map
|