@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
|
@@ -36,11 +36,17 @@ function resolveTraceContext(request) {
|
|
|
36
36
|
message: parsed.message
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
-
function recoveryAuthorizationBinding(
|
|
40
|
-
|
|
39
|
+
function recoveryAuthorizationBinding(admitted) {
|
|
40
|
+
const authorization = admitted.authorization;
|
|
41
|
+
if (authorization.kind === "wallet_recovery") return {
|
|
42
|
+
kind: "wallet_recovery",
|
|
43
|
+
walletId: authorization.walletId,
|
|
44
|
+
ownershipGeneration: admitted.ownershipGeneration
|
|
45
|
+
};
|
|
41
46
|
const session = authorization.kind === "wallet_session_v2" ? authorization.context.authorization.session : authorization.context.status.session;
|
|
42
47
|
return {
|
|
43
48
|
kind: "wallet_session_v2",
|
|
49
|
+
ownershipGeneration: admitted.ownershipGeneration,
|
|
44
50
|
tenantId: session.tenantId,
|
|
45
51
|
principalId: session.principalId,
|
|
46
52
|
walletId: session.walletId,
|
|
@@ -160,7 +166,7 @@ function equalBytes(left, right) {
|
|
|
160
166
|
return true;
|
|
161
167
|
}
|
|
162
168
|
function sameRecoveryAuthorizationBindingV1(left, right) {
|
|
163
|
-
if (left.kind !== right.kind) return false;
|
|
169
|
+
if (left.kind !== right.kind || left.ownershipGeneration !== right.ownershipGeneration) return false;
|
|
164
170
|
switch (left.kind) {
|
|
165
171
|
case "wallet_recovery": return right.kind === "wallet_recovery" && left.walletId === right.walletId;
|
|
166
172
|
case "wallet_session_v2": return right.kind === "wallet_session_v2" && left.tenantId === right.tenantId && left.principalId === right.principalId && left.walletId === right.walletId && left.authorityId === right.authorityId && left.walletAuthMethodId === right.walletAuthMethodId && left.mintId === right.mintId && left.authorizationId === right.authorizationId && left.walletSessionId === right.walletSessionId && left.quotaId === right.quotaId;
|
|
@@ -649,6 +655,77 @@ function activationReplayResult(state, fingerprint) {
|
|
|
649
655
|
default: return assertNever(state);
|
|
650
656
|
}
|
|
651
657
|
}
|
|
658
|
+
function resolveRouterAbEd25519YaoActiveCapability(capabilities, input) {
|
|
659
|
+
const walletId = String(input.walletId || "").trim();
|
|
660
|
+
const nearEd25519SigningKeyId = String(input.nearEd25519SigningKeyId || "").trim();
|
|
661
|
+
const signingWorkerId = String(input.signingWorkerId || "").trim();
|
|
662
|
+
const firstParticipantId = input.participantIds?.[0];
|
|
663
|
+
const secondParticipantId = input.participantIds?.[1];
|
|
664
|
+
if (input.kind !== "router_ab_ed25519_yao_active_capability_lookup_v1" || !walletId || !nearEd25519SigningKeyId || !signingWorkerId || !Number.isSafeInteger(input.signerSlot) || input.signerSlot < 1 || !Array.isArray(input.participantIds) || input.participantIds.length !== 2 || !Number.isSafeInteger(firstParticipantId) || !Number.isSafeInteger(secondParticipantId) || Number(firstParticipantId) < 1 || Number(secondParticipantId) < 1 || firstParticipantId === secondParticipantId) return {
|
|
665
|
+
ok: false,
|
|
666
|
+
code: "invalid_lookup",
|
|
667
|
+
message: "active Ed25519 Yao capability lookup is invalid"
|
|
668
|
+
};
|
|
669
|
+
let matched = null;
|
|
670
|
+
for (const state of capabilities.values()) {
|
|
671
|
+
if (state.kind !== "active") continue;
|
|
672
|
+
const identity = state.identity;
|
|
673
|
+
if (identity.applicationBinding.wallet_id !== walletId || identity.applicationBinding.near_ed25519_signing_key_id !== nearEd25519SigningKeyId || identity.applicationBinding.key_creation_signer_slot !== input.signerSlot || identity.activationBinding.lifecycle.selected_server_id !== signingWorkerId || identity.participantIds[0] !== firstParticipantId || identity.participantIds[1] !== secondParticipantId) continue;
|
|
674
|
+
if (matched) return {
|
|
675
|
+
ok: false,
|
|
676
|
+
code: "capability_conflict",
|
|
677
|
+
message: "multiple active Ed25519 Yao capabilities match the wallet identity"
|
|
678
|
+
};
|
|
679
|
+
matched = identity;
|
|
680
|
+
}
|
|
681
|
+
if (!matched) return {
|
|
682
|
+
ok: false,
|
|
683
|
+
code: "unknown_capability",
|
|
684
|
+
message: "active Ed25519 Yao capability was not found"
|
|
685
|
+
};
|
|
686
|
+
const lifecycle = matched.activationBinding.lifecycle;
|
|
687
|
+
return {
|
|
688
|
+
ok: true,
|
|
689
|
+
capability: {
|
|
690
|
+
kind: "router_ab_ed25519_yao_active_capability_v1",
|
|
691
|
+
materialActivation: matched.activationBinding.material_activation,
|
|
692
|
+
activeCapabilityBinding: [...matched.capabilityBinding],
|
|
693
|
+
registeredPublicKey: [...matched.registeredPublicKey],
|
|
694
|
+
nearAccountId: matched.nearAccountId,
|
|
695
|
+
applicationBinding: {
|
|
696
|
+
wallet_id: matched.applicationBinding.wallet_id,
|
|
697
|
+
near_ed25519_signing_key_id: matched.applicationBinding.near_ed25519_signing_key_id,
|
|
698
|
+
signing_root_id: matched.applicationBinding.signing_root_id,
|
|
699
|
+
key_creation_signer_slot: matched.applicationBinding.key_creation_signer_slot
|
|
700
|
+
},
|
|
701
|
+
runtimePolicyScope: {
|
|
702
|
+
orgId: matched.runtimePolicyScope.orgId,
|
|
703
|
+
projectId: matched.runtimePolicyScope.projectId,
|
|
704
|
+
envId: matched.runtimePolicyScope.envId,
|
|
705
|
+
signingRootVersion: matched.runtimePolicyScope.signingRootVersion
|
|
706
|
+
},
|
|
707
|
+
participantIds: [matched.participantIds[0], matched.participantIds[1]],
|
|
708
|
+
lifecycle: {
|
|
709
|
+
lifecycleId: lifecycle.lifecycle_id,
|
|
710
|
+
rootShareEpoch: lifecycle.root_share_epoch,
|
|
711
|
+
accountId: lifecycle.account_id,
|
|
712
|
+
thresholdSessionId: requireThresholdEd25519SessionId(lifecycle.session_id, "active capability threshold session identity"),
|
|
713
|
+
signerSetId: lifecycle.signer_set_id,
|
|
714
|
+
signingWorkerId: lifecycle.selected_server_id
|
|
715
|
+
},
|
|
716
|
+
stateEpoch: matched.stateEpoch,
|
|
717
|
+
registrationContinuity: matched.persisted.version === "wallet_ed25519_yao_registration_capability_v1" ? {
|
|
718
|
+
kind: "registration",
|
|
719
|
+
admissionRequest: matched.persisted.admissionRequest,
|
|
720
|
+
admissionReceipt: matched.persisted.admissionReceipt,
|
|
721
|
+
activationTranscript: [...matched.persisted.activationResult.public_receipt.transcript]
|
|
722
|
+
} : {
|
|
723
|
+
kind: "recovery",
|
|
724
|
+
activationTranscript: [...matched.persisted.activationResult.public_receipt.transcript]
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
};
|
|
728
|
+
}
|
|
652
729
|
var InMemoryRouterAbEd25519YaoRecoveryService = class {
|
|
653
730
|
constructor(backend, state = new InMemoryRouterAbEd25519YaoRecoveryStateV1(), capabilityPersistence = new EphemeralRouterAbEd25519YaoCapabilityPersistenceV1()) {
|
|
654
731
|
this.backend = backend;
|
|
@@ -711,75 +788,7 @@ var InMemoryRouterAbEd25519YaoRecoveryService = class {
|
|
|
711
788
|
return capabilityInstallResult("installed", identity);
|
|
712
789
|
}
|
|
713
790
|
resolveActiveCapability(input) {
|
|
714
|
-
|
|
715
|
-
const nearEd25519SigningKeyId = String(input.nearEd25519SigningKeyId || "").trim();
|
|
716
|
-
const signingWorkerId = String(input.signingWorkerId || "").trim();
|
|
717
|
-
const firstParticipantId = input.participantIds?.[0];
|
|
718
|
-
const secondParticipantId = input.participantIds?.[1];
|
|
719
|
-
if (input.kind !== "router_ab_ed25519_yao_active_capability_lookup_v1" || !walletId || !nearEd25519SigningKeyId || !signingWorkerId || !Number.isSafeInteger(input.signerSlot) || input.signerSlot < 1 || !Array.isArray(input.participantIds) || input.participantIds.length !== 2 || !Number.isSafeInteger(firstParticipantId) || !Number.isSafeInteger(secondParticipantId) || Number(firstParticipantId) < 1 || Number(secondParticipantId) < 1 || firstParticipantId === secondParticipantId) return {
|
|
720
|
-
ok: false,
|
|
721
|
-
code: "invalid_lookup",
|
|
722
|
-
message: "active Ed25519 Yao capability lookup is invalid"
|
|
723
|
-
};
|
|
724
|
-
let matched = null;
|
|
725
|
-
for (const state of this.capabilities.values()) {
|
|
726
|
-
if (state.kind !== "active") continue;
|
|
727
|
-
const identity = state.identity;
|
|
728
|
-
if (identity.applicationBinding.wallet_id !== walletId || identity.applicationBinding.near_ed25519_signing_key_id !== nearEd25519SigningKeyId || identity.applicationBinding.key_creation_signer_slot !== input.signerSlot || identity.activationBinding.lifecycle.selected_server_id !== signingWorkerId || identity.participantIds[0] !== firstParticipantId || identity.participantIds[1] !== secondParticipantId) continue;
|
|
729
|
-
if (matched) return {
|
|
730
|
-
ok: false,
|
|
731
|
-
code: "capability_conflict",
|
|
732
|
-
message: "multiple active Ed25519 Yao capabilities match the wallet identity"
|
|
733
|
-
};
|
|
734
|
-
matched = identity;
|
|
735
|
-
}
|
|
736
|
-
if (!matched) return {
|
|
737
|
-
ok: false,
|
|
738
|
-
code: "unknown_capability",
|
|
739
|
-
message: "active Ed25519 Yao capability was not found"
|
|
740
|
-
};
|
|
741
|
-
const lifecycle = matched.activationBinding.lifecycle;
|
|
742
|
-
return {
|
|
743
|
-
ok: true,
|
|
744
|
-
capability: {
|
|
745
|
-
kind: "router_ab_ed25519_yao_active_capability_v1",
|
|
746
|
-
materialActivation: matched.activationBinding.material_activation,
|
|
747
|
-
activeCapabilityBinding: [...matched.capabilityBinding],
|
|
748
|
-
registeredPublicKey: [...matched.registeredPublicKey],
|
|
749
|
-
nearAccountId: matched.nearAccountId,
|
|
750
|
-
applicationBinding: {
|
|
751
|
-
wallet_id: matched.applicationBinding.wallet_id,
|
|
752
|
-
near_ed25519_signing_key_id: matched.applicationBinding.near_ed25519_signing_key_id,
|
|
753
|
-
signing_root_id: matched.applicationBinding.signing_root_id,
|
|
754
|
-
key_creation_signer_slot: matched.applicationBinding.key_creation_signer_slot
|
|
755
|
-
},
|
|
756
|
-
runtimePolicyScope: {
|
|
757
|
-
orgId: matched.runtimePolicyScope.orgId,
|
|
758
|
-
projectId: matched.runtimePolicyScope.projectId,
|
|
759
|
-
envId: matched.runtimePolicyScope.envId,
|
|
760
|
-
signingRootVersion: matched.runtimePolicyScope.signingRootVersion
|
|
761
|
-
},
|
|
762
|
-
participantIds: [matched.participantIds[0], matched.participantIds[1]],
|
|
763
|
-
lifecycle: {
|
|
764
|
-
lifecycleId: lifecycle.lifecycle_id,
|
|
765
|
-
rootShareEpoch: lifecycle.root_share_epoch,
|
|
766
|
-
accountId: lifecycle.account_id,
|
|
767
|
-
thresholdSessionId: requireThresholdEd25519SessionId(lifecycle.session_id, "active capability threshold session identity"),
|
|
768
|
-
signerSetId: lifecycle.signer_set_id,
|
|
769
|
-
signingWorkerId: lifecycle.selected_server_id
|
|
770
|
-
},
|
|
771
|
-
stateEpoch: matched.stateEpoch,
|
|
772
|
-
registrationContinuity: matched.persisted.version === "wallet_ed25519_yao_registration_capability_v1" ? {
|
|
773
|
-
kind: "registration",
|
|
774
|
-
admissionRequest: matched.persisted.admissionRequest,
|
|
775
|
-
admissionReceipt: matched.persisted.admissionReceipt,
|
|
776
|
-
activationTranscript: [...matched.persisted.activationResult.public_receipt.transcript]
|
|
777
|
-
} : {
|
|
778
|
-
kind: "recovery",
|
|
779
|
-
activationTranscript: [...matched.persisted.activationResult.public_receipt.transcript]
|
|
780
|
-
}
|
|
781
|
-
}
|
|
782
|
-
};
|
|
791
|
+
return resolveRouterAbEd25519YaoActiveCapability(this.capabilities, input);
|
|
783
792
|
}
|
|
784
793
|
async admitRecovery(request, authorization, traceContext) {
|
|
785
794
|
const dispatchRoot = await this.backend.resolveRecoveryDispatchRoot(request);
|
|
@@ -998,7 +1007,7 @@ var InMemoryRouterAbEd25519YaoRecoveryService = class {
|
|
|
998
1007
|
try {
|
|
999
1008
|
outcome = {
|
|
1000
1009
|
kind: "backend_response",
|
|
1001
|
-
result: await this.backend.executeRecovery(request, preparation.claim
|
|
1010
|
+
result: await this.backend.executeRecovery(request, preparation.claim, traceContext)
|
|
1002
1011
|
};
|
|
1003
1012
|
} catch (error) {
|
|
1004
1013
|
return this.failUncertainExecution(preparation.claim, error);
|
|
@@ -1011,6 +1020,19 @@ var InMemoryRouterAbEd25519YaoRecoveryService = class {
|
|
|
1011
1020
|
}
|
|
1012
1021
|
}
|
|
1013
1022
|
}
|
|
1023
|
+
recoveryOwnershipGeneration(binding) {
|
|
1024
|
+
const state = this.stateForSession(binding.session_id);
|
|
1025
|
+
if (!state) return recoveryFailure({
|
|
1026
|
+
status: 404,
|
|
1027
|
+
code: "unknown_recovery",
|
|
1028
|
+
message: "Recovery admission was not found"
|
|
1029
|
+
});
|
|
1030
|
+
return {
|
|
1031
|
+
ok: true,
|
|
1032
|
+
status: 200,
|
|
1033
|
+
value: state.context.authorization.ownershipGeneration
|
|
1034
|
+
};
|
|
1035
|
+
}
|
|
1014
1036
|
prepareExecuteRecovery(request, authorization, nowMs) {
|
|
1015
1037
|
const parsed = parseRouterAbEd25519YaoRecoveryActivationExecuteRequestV1(request);
|
|
1016
1038
|
if (!parsed.ok) return {
|
|
@@ -1063,6 +1085,7 @@ var InMemoryRouterAbEd25519YaoRecoveryService = class {
|
|
|
1063
1085
|
kind: "claimed",
|
|
1064
1086
|
claim: {
|
|
1065
1087
|
kind: "router_ab_ed25519_yao_recovery_execute_claim_v1",
|
|
1088
|
+
ownershipGeneration: claimed.context.authorization.ownershipGeneration,
|
|
1066
1089
|
lifecycleId: executionRequest.binding.lifecycle.lifecycle_id,
|
|
1067
1090
|
recoveryKey: claimed.context.recoveryKey,
|
|
1068
1091
|
sessionId,
|
|
@@ -1174,7 +1197,7 @@ var InMemoryRouterAbEd25519YaoRecoveryService = class {
|
|
|
1174
1197
|
try {
|
|
1175
1198
|
outcome = {
|
|
1176
1199
|
kind: "backend_response",
|
|
1177
|
-
result: await this.backend.activateRecovery(request, preparation.claim.dispatchRoot, traceContext)
|
|
1200
|
+
result: await this.backend.activateRecovery(request, preparation.claim.dispatchRoot, preparation.claim.ownershipGeneration, traceContext)
|
|
1178
1201
|
};
|
|
1179
1202
|
} catch (error) {
|
|
1180
1203
|
return this.activationUncertainFailure(error);
|
|
@@ -1438,6 +1461,7 @@ var InMemoryRouterAbEd25519YaoRecoveryService = class {
|
|
|
1438
1461
|
activationClaim(state, authorityProjection, disposition) {
|
|
1439
1462
|
return {
|
|
1440
1463
|
kind: "router_ab_ed25519_yao_recovery_activation_claim_v1",
|
|
1464
|
+
ownershipGeneration: state.context.authorization.ownershipGeneration,
|
|
1441
1465
|
lifecycleId: state.context.admissionRequest.scope.lifecycle_id,
|
|
1442
1466
|
recoveryKey: state.context.recoveryKey,
|
|
1443
1467
|
sessionId: bytesToHex(state.admissionReceipt.binding.session_id),
|
|
@@ -1700,7 +1724,7 @@ var RouterAbEd25519YaoRecoveryRouteExtension = class {
|
|
|
1700
1724
|
body: parsed.value
|
|
1701
1725
|
});
|
|
1702
1726
|
if (!authorization.ok) return routeFailureResponse(authorization);
|
|
1703
|
-
const result = await this.service.admitRecovery(parsed.value, recoveryAuthorizationBinding(authorization
|
|
1727
|
+
const result = await this.service.admitRecovery(parsed.value, recoveryAuthorizationBinding(authorization), traceContext.value);
|
|
1704
1728
|
if (!result.ok) return routeFailureResponse(result);
|
|
1705
1729
|
return json(result.value, { status: result.status });
|
|
1706
1730
|
}
|
|
@@ -1717,13 +1741,16 @@ var RouterAbEd25519YaoRecoveryRouteExtension = class {
|
|
|
1717
1741
|
code: parsed.code,
|
|
1718
1742
|
message: parsed.message
|
|
1719
1743
|
}, { status: 400 });
|
|
1744
|
+
const ownership = this.service.recoveryOwnershipGeneration(parsed.value.binding);
|
|
1745
|
+
if (!ownership.ok) return routeFailureResponse(ownership);
|
|
1720
1746
|
const authorization = await this.authorization.authorize({
|
|
1721
1747
|
kind: "execute",
|
|
1748
|
+
ownershipGeneration: ownership.value,
|
|
1722
1749
|
request,
|
|
1723
1750
|
body: parsed.value
|
|
1724
1751
|
});
|
|
1725
1752
|
if (!authorization.ok) return routeFailureResponse(authorization);
|
|
1726
|
-
const result = await this.service.executeRecovery(parsed.value, recoveryAuthorizationBinding(authorization
|
|
1753
|
+
const result = await this.service.executeRecovery(parsed.value, recoveryAuthorizationBinding(authorization), traceContext.value);
|
|
1727
1754
|
if (!result.ok) return routeFailureResponse(result);
|
|
1728
1755
|
return json(result.value, { status: result.status });
|
|
1729
1756
|
}
|
|
@@ -1740,13 +1767,16 @@ var RouterAbEd25519YaoRecoveryRouteExtension = class {
|
|
|
1740
1767
|
code: parsed.code,
|
|
1741
1768
|
message: parsed.message
|
|
1742
1769
|
}, { status: 400 });
|
|
1770
|
+
const ownership = this.service.recoveryOwnershipGeneration(parsed.value.binding);
|
|
1771
|
+
if (!ownership.ok) return routeFailureResponse(ownership);
|
|
1743
1772
|
const authorization = await this.authorization.authorize({
|
|
1744
1773
|
kind: "activate",
|
|
1774
|
+
ownershipGeneration: ownership.value,
|
|
1745
1775
|
request,
|
|
1746
1776
|
body: parsed.value
|
|
1747
1777
|
});
|
|
1748
1778
|
if (!authorization.ok) return routeFailureResponse(authorization);
|
|
1749
|
-
const result = await this.service.activateRecovery(parsed.value, recoveryAuthorizationBinding(authorization
|
|
1779
|
+
const result = await this.service.activateRecovery(parsed.value, recoveryAuthorizationBinding(authorization), traceContext.value);
|
|
1750
1780
|
if (!result.ok) return routeFailureResponse(result);
|
|
1751
1781
|
return json(result.value, { status: result.status });
|
|
1752
1782
|
}
|
|
@@ -1758,6 +1788,6 @@ function createRouterAbEd25519YaoRecoveryModule(input) {
|
|
|
1758
1788
|
});
|
|
1759
1789
|
}
|
|
1760
1790
|
//#endregion
|
|
1761
|
-
export { InMemoryRouterAbEd25519YaoRecoveryService, InMemoryRouterAbEd25519YaoRecoveryStateV1, buildRouterAbEd25519YaoRegistrationCapabilityRecordV1, buildWarmRecoveryBootstrapResponse, createRouterAbEd25519YaoRecoveryModule, recoveryAuthorityProjection, recoveryAuthorizationBinding };
|
|
1791
|
+
export { InMemoryRouterAbEd25519YaoRecoveryService, InMemoryRouterAbEd25519YaoRecoveryStateV1, buildRouterAbEd25519YaoRegistrationCapabilityRecordV1, buildWarmRecoveryBootstrapResponse, createRouterAbEd25519YaoRecoveryModule, recoveryAuthorityProjection, recoveryAuthorizationBinding, resolveRouterAbEd25519YaoActiveCapability };
|
|
1762
1792
|
|
|
1763
1793
|
//# sourceMappingURL=routerAbEd25519YaoRecovery.js.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { parseRouterAbEd25519YaoRecoveryActivationExecuteRequestV1, parseRouterAbEd25519YaoRecoveryActivationRequestV1, parseRouterAbEd25519YaoRecoveryAdmissionRequestV1, parseRouterAbEd25519YaoRecoveryStatusRequestV1, parseRouterAbEd25519YaoWarmRecoveryBootstrapRequestV1 } from "../../../../shared-ts/src/utils/routerAbEd25519Yao.js";
|
|
2
|
+
import { publishWalletLifecycleHome } from "../../../../authorization/lifecycleRouting.js";
|
|
2
3
|
import { ROUTER_AB_TRACE_ID_HEADER_V1, createRouterAbTraceContextV1, parseRouterAbTraceContextV1 } from "../../../../shared-ts/src/utils/routerAbTraceContext.js";
|
|
3
4
|
import { json, readJson } from "../../../framework/http.js";
|
|
4
5
|
import { InMemoryRouterAbEd25519YaoRecoveryService, buildWarmRecoveryBootstrapResponse, recoveryAuthorizationBinding } from "./routerAbEd25519YaoRecovery.js";
|
|
@@ -19,7 +20,14 @@ var RecoveryAdmissionRequestRun = class {
|
|
|
19
20
|
kind: "rejected",
|
|
20
21
|
value: authorized
|
|
21
22
|
};
|
|
22
|
-
const prepared = this.service(state).prepareAdmitRecovery(this.request, recoveryAuthorizationBinding(authorized
|
|
23
|
+
const prepared = this.service(state).prepareAdmitRecovery(this.request, recoveryAuthorizationBinding(authorized), await this.context.input.backend.resolveRecoveryDispatchRoot(this.request), Date.now());
|
|
24
|
+
if (prepared.kind !== "failed") {
|
|
25
|
+
const published = await publishWalletLifecycleHome(this.context.input.lifecycleRouting ?? null, "yao_recovery", this.request);
|
|
26
|
+
if (!published.ok) return {
|
|
27
|
+
kind: "rejected",
|
|
28
|
+
value: published
|
|
29
|
+
};
|
|
30
|
+
}
|
|
23
31
|
switch (prepared.kind) {
|
|
24
32
|
case "claimed": return {
|
|
25
33
|
kind: "claimed",
|
|
@@ -77,8 +85,15 @@ var RecoveryExecutionRequestRun = class {
|
|
|
77
85
|
this.request = request;
|
|
78
86
|
}
|
|
79
87
|
async prepare(state) {
|
|
88
|
+
const service = this.service(state);
|
|
89
|
+
const ownership = service.recoveryOwnershipGeneration(this.request.binding);
|
|
90
|
+
if (!ownership.ok) return {
|
|
91
|
+
kind: "rejected",
|
|
92
|
+
value: ownership
|
|
93
|
+
};
|
|
80
94
|
const authorized = await this.context.input.authorization.authorize({
|
|
81
95
|
kind: "execute",
|
|
96
|
+
ownershipGeneration: ownership.value,
|
|
82
97
|
request: this.context.input.request,
|
|
83
98
|
body: this.request
|
|
84
99
|
});
|
|
@@ -86,7 +101,7 @@ var RecoveryExecutionRequestRun = class {
|
|
|
86
101
|
kind: "rejected",
|
|
87
102
|
value: authorized
|
|
88
103
|
};
|
|
89
|
-
const prepared =
|
|
104
|
+
const prepared = service.prepareExecuteRecovery(this.request, recoveryAuthorizationBinding(authorized), Date.now());
|
|
90
105
|
switch (prepared.kind) {
|
|
91
106
|
case "claimed": return {
|
|
92
107
|
kind: "claimed",
|
|
@@ -111,7 +126,7 @@ var RecoveryExecutionRequestRun = class {
|
|
|
111
126
|
try {
|
|
112
127
|
return {
|
|
113
128
|
kind: "response",
|
|
114
|
-
value: await this.context.input.backend.executeRecovery(this.request, claim
|
|
129
|
+
value: await this.context.input.backend.executeRecovery(this.request, claim, this.context.trace)
|
|
115
130
|
};
|
|
116
131
|
} catch (error) {
|
|
117
132
|
return {
|
|
@@ -144,8 +159,15 @@ var RecoveryActivationRequestRun = class {
|
|
|
144
159
|
this.request = request;
|
|
145
160
|
}
|
|
146
161
|
async prepare(state) {
|
|
162
|
+
const service = this.service(state);
|
|
163
|
+
const ownership = service.recoveryOwnershipGeneration(this.request.binding);
|
|
164
|
+
if (!ownership.ok) return {
|
|
165
|
+
kind: "rejected",
|
|
166
|
+
value: ownership
|
|
167
|
+
};
|
|
147
168
|
const authorized = await this.context.input.authorization.authorize({
|
|
148
169
|
kind: "activate",
|
|
170
|
+
ownershipGeneration: ownership.value,
|
|
149
171
|
request: this.context.input.request,
|
|
150
172
|
body: this.request
|
|
151
173
|
});
|
|
@@ -153,7 +175,7 @@ var RecoveryActivationRequestRun = class {
|
|
|
153
175
|
kind: "rejected",
|
|
154
176
|
value: authorized
|
|
155
177
|
};
|
|
156
|
-
const prepared =
|
|
178
|
+
const prepared = service.prepareActivateRecovery(this.request, recoveryAuthorizationBinding(authorized));
|
|
157
179
|
switch (prepared.kind) {
|
|
158
180
|
case "claimed": return {
|
|
159
181
|
kind: "claimed",
|
|
@@ -178,7 +200,7 @@ var RecoveryActivationRequestRun = class {
|
|
|
178
200
|
try {
|
|
179
201
|
return {
|
|
180
202
|
kind: "response",
|
|
181
|
-
value: await this.context.input.backend.activateRecovery(this.request, claim.dispatchRoot, this.context.trace)
|
|
203
|
+
value: await this.context.input.backend.activateRecovery(this.request, claim.dispatchRoot, claim.ownershipGeneration, this.context.trace)
|
|
182
204
|
};
|
|
183
205
|
} catch (error) {
|
|
184
206
|
return {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { parseWalletId } from "../../../../shared-ts/src/utils/domainIds.js";
|
|
1
2
|
import { NEAR_ED25519_MPC_OPERATION_KINDS } from "../../../../shared-ts/src/authorization/capabilityKinds.js";
|
|
2
3
|
import { base64UrlEncode } from "../../../../shared-ts/src/utils/base64.js";
|
|
3
4
|
import { routerAbMpcMaterialActivationRefToWire, sameRouterAbMpcMaterialActivationRef } from "../../../../shared-ts/src/utils/routerAbNormalSigningIdentity.js";
|
|
@@ -344,6 +345,32 @@ async function authorizeRecoveryContinuation(input) {
|
|
|
344
345
|
}
|
|
345
346
|
};
|
|
346
347
|
}
|
|
348
|
+
async function authorizeRecoveryCredential(input, services) {
|
|
349
|
+
switch (input.kind) {
|
|
350
|
+
case "bootstrap": return await authorizeV2WarmBootstrap({
|
|
351
|
+
request: input,
|
|
352
|
+
services
|
|
353
|
+
});
|
|
354
|
+
case "admit":
|
|
355
|
+
if (String(input.request.headers.get("x-seams-wallet-recovery-challenge-id") || "").trim()) return await authorizePreparedRecovery({
|
|
356
|
+
request: input,
|
|
357
|
+
services
|
|
358
|
+
});
|
|
359
|
+
if (extractBearerCredential(input.request.headers)) return await authorizeV2RecoveryAdmission({
|
|
360
|
+
request: input,
|
|
361
|
+
services
|
|
362
|
+
});
|
|
363
|
+
return await authorizePreparedRecovery({
|
|
364
|
+
request: input,
|
|
365
|
+
services
|
|
366
|
+
});
|
|
367
|
+
case "execute":
|
|
368
|
+
case "activate": return await authorizeRecoveryContinuation({
|
|
369
|
+
request: input,
|
|
370
|
+
services
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
}
|
|
347
374
|
var RouterAbEd25519YaoRecoveryWalletSessionAuthorizationAdapter = class {
|
|
348
375
|
constructor(resolveServices) {
|
|
349
376
|
this.resolveServices = resolveServices;
|
|
@@ -359,30 +386,52 @@ var RouterAbEd25519YaoRecoveryWalletSessionAuthorizationAdapter = class {
|
|
|
359
386
|
message: "wallet recovery admission is unavailable"
|
|
360
387
|
});
|
|
361
388
|
}
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
389
|
+
const credential = await authorizeRecoveryCredential(input, services);
|
|
390
|
+
if (!credential.ok) return credential;
|
|
391
|
+
const authorization = credential.authorization;
|
|
392
|
+
if (input.kind === "execute" || input.kind === "activate") return {
|
|
393
|
+
ok: true,
|
|
394
|
+
ownershipGeneration: input.ownershipGeneration,
|
|
395
|
+
authorization
|
|
396
|
+
};
|
|
397
|
+
let walletIdentity;
|
|
398
|
+
switch (authorization.kind) {
|
|
399
|
+
case "wallet_recovery":
|
|
400
|
+
walletIdentity = authorization.walletId;
|
|
401
|
+
break;
|
|
402
|
+
case "wallet_session_v2":
|
|
403
|
+
walletIdentity = authorization.context.authorization.session.walletId;
|
|
404
|
+
break;
|
|
405
|
+
case "wallet_session_v2_exhausted_candidate":
|
|
406
|
+
walletIdentity = authorization.context.status.session.walletId;
|
|
407
|
+
break;
|
|
408
|
+
}
|
|
409
|
+
const walletId = parseWalletId(walletIdentity);
|
|
410
|
+
if (!walletId.ok) return authorizationFailure({
|
|
411
|
+
status: 403,
|
|
412
|
+
code: "wallet_recovery_scope_mismatch",
|
|
413
|
+
message: "Recovery wallet identity is invalid"
|
|
414
|
+
});
|
|
415
|
+
let home;
|
|
416
|
+
try {
|
|
417
|
+
home = await services.admitEstablishedHome({ walletId: walletId.value });
|
|
418
|
+
} catch {
|
|
419
|
+
return authorizationFailure({
|
|
420
|
+
status: 503,
|
|
421
|
+
code: "wallet_home_unavailable",
|
|
422
|
+
message: "Recovery wallet home is unavailable"
|
|
384
423
|
});
|
|
385
424
|
}
|
|
425
|
+
if (!home.ok) return authorizationFailure({
|
|
426
|
+
status: 409,
|
|
427
|
+
code: home.code,
|
|
428
|
+
message: home.message
|
|
429
|
+
});
|
|
430
|
+
return {
|
|
431
|
+
ok: true,
|
|
432
|
+
ownershipGeneration: home.ownershipGeneration,
|
|
433
|
+
authorization
|
|
434
|
+
};
|
|
386
435
|
}
|
|
387
436
|
};
|
|
388
437
|
//#endregion
|
package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { requireRecord } from "../../../../shared-ts/src/utils/validation.js";
|
|
2
2
|
import { deriveRouterAbEd25519YaoStableContextBindingV1 } from "../../../../shared-ts/src/utils/routerAbEd25519YaoDigests.js";
|
|
3
3
|
import { parseRouterAbEd25519YaoActivationKeysetV1, parseRouterAbEd25519YaoActivationResultV1, parseRouterAbEd25519YaoExportResultV1 } from "../../../../shared-ts/src/utils/routerAbEd25519Yao.js";
|
|
4
|
+
import { walletObjectIdentity, walletObjectIdentityHeaders } from "../../../cloudflare/runtime/walletObjectAddresses.js";
|
|
4
5
|
import { createRouterAbTraceContextV1 } from "../../../../shared-ts/src/utils/routerAbTraceContext.js";
|
|
5
|
-
import { routerAbEd25519YaoTenantRootWireV1 } from "../routerAbEd25519YaoGatewayEnvelope.js";
|
|
6
|
+
import { routerAbEd25519YaoRegistrationSigningRootIdV1, routerAbEd25519YaoTenantRootWireV1 } from "../routerAbEd25519YaoGatewayEnvelope.js";
|
|
6
7
|
//#region src/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.ts
|
|
7
8
|
const INTERNAL_AUTH_HEADER = "x-router-ab-internal-service-auth";
|
|
8
9
|
const TRACE_ID_HEADER = "x-seams-trace-id";
|
|
@@ -216,6 +217,7 @@ function registrationRouterExecuteRequest(input, tenantRoot) {
|
|
|
216
217
|
participant_ids: input.admissionRequest.participant_ids,
|
|
217
218
|
target: {
|
|
218
219
|
operation: "registration",
|
|
220
|
+
ownership_generation: input.ownershipGeneration,
|
|
219
221
|
binding: input.request.binding,
|
|
220
222
|
deriver_a_input: input.request.deriver_a_input,
|
|
221
223
|
deriver_b_input: input.request.deriver_b_input
|
|
@@ -229,6 +231,7 @@ function recoveryRouterExecuteRequest(input, tenantRoot, attempt) {
|
|
|
229
231
|
participant_ids: input.admissionRequest.participant_ids,
|
|
230
232
|
target: {
|
|
231
233
|
operation: "recovery",
|
|
234
|
+
ownership_generation: input.ownershipGeneration,
|
|
232
235
|
binding: input.request.binding,
|
|
233
236
|
attempt,
|
|
234
237
|
deriver_a_input: input.request.deriver_a_input,
|
|
@@ -241,7 +244,7 @@ async function routerExecuteRequest(input, resolveTenantRoot) {
|
|
|
241
244
|
switch (input.operation) {
|
|
242
245
|
case "registration": return registrationRouterExecuteRequest(input, await routerAbEd25519YaoTenantRootWireV1(await resolveTenantRoot({
|
|
243
246
|
operation: "registration",
|
|
244
|
-
|
|
247
|
+
...routerAbEd25519YaoRegistrationSigningRootIdV1(input.admissionRequest)
|
|
245
248
|
})));
|
|
246
249
|
case "export": return {
|
|
247
250
|
tenant_root: await routerAbEd25519YaoTenantRootWireV1(await resolveTenantRoot({
|
|
@@ -252,6 +255,7 @@ async function routerExecuteRequest(input, resolveTenantRoot) {
|
|
|
252
255
|
participant_ids: input.admissionRequest.participant_ids,
|
|
253
256
|
target: {
|
|
254
257
|
operation: "export",
|
|
258
|
+
ownership_generation: input.ownershipGeneration,
|
|
255
259
|
binding: input.request.binding,
|
|
256
260
|
deriver_a_input: input.request.deriver_a_input,
|
|
257
261
|
deriver_b_input: input.request.deriver_b_input
|
|
@@ -458,11 +462,12 @@ var RouterAbEd25519YaoHttpRegistrationBackend = class {
|
|
|
458
462
|
}
|
|
459
463
|
};
|
|
460
464
|
}
|
|
461
|
-
async executeExport(request,
|
|
465
|
+
async executeExport(request, claim, traceContext) {
|
|
462
466
|
return await this.executeRouterRequest({
|
|
463
467
|
operation: "export",
|
|
464
468
|
request,
|
|
465
|
-
admissionRequest
|
|
469
|
+
admissionRequest: claim.admissionRequest,
|
|
470
|
+
ownershipGeneration: claim.ownershipGeneration
|
|
466
471
|
}, false, traceContext);
|
|
467
472
|
}
|
|
468
473
|
keyset() {
|
|
@@ -529,34 +534,37 @@ var RouterAbEd25519YaoHttpRegistrationBackend = class {
|
|
|
529
534
|
};
|
|
530
535
|
}
|
|
531
536
|
}
|
|
532
|
-
async execute(request, admissionRequest, traceContext) {
|
|
537
|
+
async execute(request, admissionRequest, ownershipGeneration, traceContext) {
|
|
533
538
|
return await this.executeRouterRequest({
|
|
534
539
|
operation: "registration",
|
|
535
540
|
request,
|
|
536
|
-
admissionRequest
|
|
541
|
+
admissionRequest,
|
|
542
|
+
ownershipGeneration
|
|
537
543
|
}, false, traceContext);
|
|
538
544
|
}
|
|
539
|
-
async resolveRegistrationDispatchRoot(
|
|
545
|
+
async resolveRegistrationDispatchRoot(signingRootId) {
|
|
540
546
|
return await routerAbEd25519YaoTenantRootWireV1(await this.config.resolveTenantRoot({
|
|
541
547
|
operation: "registration",
|
|
542
|
-
|
|
548
|
+
...signingRootId
|
|
543
549
|
}));
|
|
544
550
|
}
|
|
545
|
-
async executePinnedRegistration(request,
|
|
551
|
+
async executePinnedRegistration(request, authority, traceContext) {
|
|
546
552
|
const routerInput = {
|
|
547
553
|
operation: "registration",
|
|
548
554
|
request,
|
|
549
|
-
admissionRequest
|
|
555
|
+
admissionRequest: authority.admissionRequest,
|
|
556
|
+
ownershipGeneration: authority.ownershipGeneration
|
|
550
557
|
};
|
|
551
|
-
return await this.sendRouterRequest(routerInput, registrationRouterExecuteRequest(routerInput, dispatchRoot), traceContext.value, "exact", false);
|
|
558
|
+
return await this.sendRouterRequest(routerInput, registrationRouterExecuteRequest(routerInput, authority.dispatchRoot), traceContext.value, "exact", false);
|
|
552
559
|
}
|
|
553
560
|
async consumeRegistration(input) {
|
|
554
561
|
let response;
|
|
555
562
|
try {
|
|
556
|
-
response = await this.post(ROUTER_REGISTRATION_CONSUME_PATH, {
|
|
557
|
-
tenant_root: input.
|
|
558
|
-
|
|
559
|
-
|
|
563
|
+
response = await this.post(ROUTER_REGISTRATION_CONSUME_PATH, walletObjectIdentity(input.authority.admissionReceipt.binding.lifecycle.account_id, input.authority.ownershipGeneration, input.authority.dispatchRoot.identity), {
|
|
564
|
+
tenant_root: input.authority.dispatchRoot,
|
|
565
|
+
ownership_generation: input.authority.ownershipGeneration,
|
|
566
|
+
wallet_id: input.authority.admissionReceipt.binding.lifecycle.account_id,
|
|
567
|
+
lifecycle_id: input.authority.lifecycleId,
|
|
560
568
|
session_id: Array.from(input.sessionId),
|
|
561
569
|
consumer_binding: input.consumerBinding
|
|
562
570
|
}, createRouterAbTraceContextV1().value, "exact");
|
|
@@ -578,13 +586,14 @@ var RouterAbEd25519YaoHttpRegistrationBackend = class {
|
|
|
578
586
|
admissionRequest
|
|
579
587
|
}));
|
|
580
588
|
}
|
|
581
|
-
async executeRecovery(request,
|
|
589
|
+
async executeRecovery(request, claim, traceContext) {
|
|
582
590
|
const routerInput = {
|
|
583
591
|
operation: "recovery",
|
|
584
592
|
request,
|
|
585
|
-
admissionRequest
|
|
593
|
+
admissionRequest: claim.admissionRequest,
|
|
594
|
+
ownershipGeneration: claim.ownershipGeneration
|
|
586
595
|
};
|
|
587
|
-
return await this.sendRouterRequest(routerInput, recoveryRouterExecuteRequest(routerInput, dispatchRoot, attempt), (traceContext ?? createRouterAbTraceContextV1()).value, "replay", replay);
|
|
596
|
+
return await this.sendRouterRequest(routerInput, recoveryRouterExecuteRequest(routerInput, claim.dispatchRoot, claim.attempt), (traceContext ?? createRouterAbTraceContextV1()).value, "replay", claim.replay);
|
|
588
597
|
}
|
|
589
598
|
async executeRouterRequest(request, replay, traceContext) {
|
|
590
599
|
const traceId = (traceContext ?? createRouterAbTraceContextV1()).value;
|
|
@@ -604,7 +613,7 @@ var RouterAbEd25519YaoHttpRegistrationBackend = class {
|
|
|
604
613
|
const operation = request.operation;
|
|
605
614
|
const executeStartedAt = performance.now();
|
|
606
615
|
try {
|
|
607
|
-
const response = await this.post(ROUTER_EXECUTE_PATH, routerRequest, traceId, retryAfterTransportFailure, replay);
|
|
616
|
+
const response = await this.post(ROUTER_EXECUTE_PATH, walletObjectIdentity(request.admissionRequest.application_binding.wallet_id, request.ownershipGeneration, routerRequest.tenant_root.identity), routerRequest, traceId, retryAfterTransportFailure, replay);
|
|
608
617
|
this.lastRouterServerTiming = response.ok ? response.serverTiming : null;
|
|
609
618
|
const result = response.ok ? parseRouterExecuteResult(response.body, request.request) : response;
|
|
610
619
|
emitGatewaySpan(this.config.onSpan, "gateway.yao_execute", operation, traceId, executeStartedAt, result.ok ? "success" : "failure");
|
|
@@ -614,10 +623,11 @@ var RouterAbEd25519YaoHttpRegistrationBackend = class {
|
|
|
614
623
|
return unavailableFailure(error);
|
|
615
624
|
}
|
|
616
625
|
}
|
|
617
|
-
async activateRecovery(request, dispatchRoot, traceContext) {
|
|
618
|
-
const promoted = await this.post(ROUTER_RECOVERY_PROMOTE_PATH, {
|
|
626
|
+
async activateRecovery(request, dispatchRoot, ownershipGeneration, traceContext) {
|
|
627
|
+
const promoted = await this.post(ROUTER_RECOVERY_PROMOTE_PATH, walletObjectIdentity(request.binding.lifecycle.account_id, ownershipGeneration, dispatchRoot.identity), {
|
|
619
628
|
...request,
|
|
620
|
-
tenant_root: dispatchRoot
|
|
629
|
+
tenant_root: dispatchRoot,
|
|
630
|
+
ownership_generation: ownershipGeneration
|
|
621
631
|
}, (traceContext ?? createRouterAbTraceContextV1()).value);
|
|
622
632
|
if (!promoted.ok) return promoted;
|
|
623
633
|
if (!activeReceiptMatchesRecoveryActivation(parseActiveSigningWorkerReceipt(promoted.body, request.binding.session_id, request.public_receipt.transcript), request)) return internalFailure("recovery_promotion_mismatch", "Router promotion receipt does not match the verified recovery result");
|
|
@@ -626,10 +636,13 @@ var RouterAbEd25519YaoHttpRegistrationBackend = class {
|
|
|
626
636
|
body: request
|
|
627
637
|
};
|
|
628
638
|
}
|
|
629
|
-
async post(path, body, traceId, retryAfterTransportFailure = "none", replay = false) {
|
|
639
|
+
async post(path, identity, body, traceId, retryAfterTransportFailure = "none", replay = false) {
|
|
630
640
|
const init = {
|
|
631
641
|
method: "POST",
|
|
632
|
-
headers:
|
|
642
|
+
headers: {
|
|
643
|
+
...this.headers(traceId),
|
|
644
|
+
...walletObjectIdentityHeaders(identity)
|
|
645
|
+
},
|
|
633
646
|
body: JSON.stringify(body)
|
|
634
647
|
};
|
|
635
648
|
return await this.request(this.config.routerUrl, path, replay ? requestInitWithReplayHeader(init) : init, retryAfterTransportFailure);
|
|
@@ -669,7 +682,6 @@ function parseRouterServerTiming(value) {
|
|
|
669
682
|
const metrics = value.split(",").map((metric) => metric.trim());
|
|
670
683
|
const allowedNames = new Set([
|
|
671
684
|
"yao_router_prepare_pair",
|
|
672
|
-
"yao_router_verify_readiness",
|
|
673
685
|
"yao_router_role_execution",
|
|
674
686
|
"yao_router_signing_worker_delivery"
|
|
675
687
|
]);
|