@seams/wallet-server 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD_PARTY_NOTICES.md +7 -1
- package/artifact-manifest.json +196 -41
- package/cloudflare-router-ab/build/deriver-a/build-stamp.json +1 -1
- package/cloudflare-router-ab/build/deriver-a/index.js +2 -2
- package/cloudflare-router-ab/build/deriver-a/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/deriver-b/build-stamp.json +1 -1
- package/cloudflare-router-ab/build/deriver-b/index.js +2 -2
- package/cloudflare-router-ab/build/deriver-b/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/local-tools/darwin-arm64/router_ab_local_init +0 -0
- package/cloudflare-router-ab/build/local-tools/darwin-x64/router_ab_local_init +0 -0
- package/cloudflare-router-ab/build/local-tools/linux-x64/router_ab_local_init +0 -0
- package/cloudflare-router-ab/build/router/build-stamp.json +1 -1
- package/cloudflare-router-ab/build/router/index.js +2 -2
- package/cloudflare-router-ab/build/router/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/signing-worker/build-stamp.json +1 -1
- package/cloudflare-router-ab/build/signing-worker/index.js +2 -2
- package/cloudflare-router-ab/build/signing-worker/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/tenant-root-control-plane/build-stamp.json +1 -1
- package/cloudflare-router-ab/build/tenant-root-control-plane/index.js +2 -2
- package/cloudflare-router-ab/build/tenant-root-control-plane/index_bg.wasm +0 -0
- package/cloudflare-router-ab/migrations/deriver-a/0019_wallet_object_addresses.sql +10 -0
- package/cloudflare-router-ab/migrations/deriver-b/0019_wallet_object_addresses.sql +10 -0
- package/cloudflare-router-ab/scripts/prepare-local-runtime-config.mjs +3 -117
- package/cloudflare-router-ab/wrangler.deriver-a.toml +0 -8
- package/cloudflare-router-ab/wrangler.deriver-b.toml +24 -8
- package/cloudflare-router-ab/wrangler.router.toml +0 -2
- package/cloudflare-router-ab/wrangler.signing-worker.toml +29 -0
- package/dist/esm/authorization/domain.js +3 -2
- package/dist/esm/authorization/ed25519WalletSessionAdmission.js +0 -0
- package/dist/esm/authorization/service.js +64 -36
- package/dist/esm/cloud-host.js +24 -19
- package/dist/esm/core/EmailOtpRecords.js +29 -6
- package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.js +2 -0
- package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.js +10 -0
- package/dist/esm/core/ThresholdService/routerAb/internalServiceHttp.js +1 -0
- package/dist/esm/core/ThresholdService/validation.js +2 -2
- package/dist/esm/core/authService/nearPrivateKeySigning.js +1 -1
- package/dist/esm/core/authService/webauthn.js +1 -1
- package/dist/esm/core/d1Ed25519SignerRead.js +55 -0
- package/dist/esm/core/d1WalletStore.js +14 -11
- package/dist/esm/core/deviceLinking/linkedDeviceEmailOtpGrant.js +2 -2
- package/dist/esm/core/deviceLinking/linkedDeviceManagement.js +1 -1
- package/dist/esm/core/deviceLinking/linkedDeviceSessionRecord.js +2 -2
- package/dist/esm/core/emailOtpD1Statements.js +1 -0
- package/dist/esm/core/nearRelayerAccountProvisioning.js +1 -1
- package/dist/esm/core/routerAbSigning/RouterAbEcdsaPresignRuntime.js +4 -0
- package/dist/esm/core/signingLanes/WalletExecutionLaneProjection.js +1 -1
- package/dist/esm/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.js +1 -0
- package/dist/esm/hosted-wallet-gateway.js +93 -10
- package/dist/esm/localHostedWalletGatewayHandler.js +12 -9
- package/dist/esm/localIntendedYaoSigningFault.js +2 -30
- package/dist/esm/localRegistrationSetupAuthority.js +8 -1
- package/dist/esm/router/auth/commonRouterUtils.js +17 -10
- package/dist/esm/router/auth/routerApiCredentialAuth.js +26 -7
- package/dist/esm/router/auth/walletRegistrationContext.js +49 -0
- package/dist/esm/router/auth/webAuthnCredentialCodecs.js +1 -1
- package/dist/esm/router/cloudflare/d1/auth/d1AuthorizationAssembly.js +4 -3
- package/dist/esm/router/cloudflare/d1/auth/d1AuthorizedOperationRouteService.js +2 -0
- package/dist/esm/router/cloudflare/d1/auth/d1EmailOtpRouteService.js +25 -0
- package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthConfig.js +14 -6
- package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthService.js +44 -40
- package/dist/esm/router/cloudflare/d1/auth/walletSessionCredentialReaders.js +17 -1
- package/dist/esm/router/cloudflare/d1/authorization/authorizedOperationStatements.js +35 -5
- package/dist/esm/router/cloudflare/d1/authorization/d1AuthorizationStore.js +258 -99
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.js +31 -4
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.js +1 -1
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.js +1 -1
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.js +1 -1
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.js +1 -1
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.js +1 -1
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkBuilder.js +1 -1
- package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoLifecycleDecisionStore.js +11 -2
- package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.js +100 -10
- package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoStateWriteFence.js +92 -0
- package/dist/esm/router/cloudflare/d1/ed25519Yao/d1WalletCeremonyActivity.js +77 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.js +14 -8
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.js +14 -8
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.js +3 -1
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.js +58 -38
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.js +27 -20
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.js +1 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.js +1 -0
- package/dist/esm/router/cloudflare/d1/oidc/d1OidcBoundary.js +1 -1
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.js +18 -7
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.js +75 -14
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.js +1 -1
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.js +49 -29
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationSessionTransaction.js +28 -0
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationSetupSupport.js +11 -1
- package/dist/esm/router/cloudflare/d1/registration/d1WalletExecutionAuthority.js +168 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletOperationStore.js +53 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.js +83 -42
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationInitialSession.js +33 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationPreparation.js +16 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationRead.js +58 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationService.js +439 -500
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetup.js +1 -1
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetupExecution.js +104 -90
- package/dist/esm/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.js +78 -44
- package/dist/esm/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.js +11 -35
- package/dist/esm/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.js +98 -39
- package/dist/esm/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.js +12 -9
- package/dist/esm/router/cloudflare/d1/wallet/authorizationSnapshotLayout.js +168 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerFinalizeRecord.js +1 -1
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerService.js +15 -6
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodService.js +3 -40
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorityStore.js +54 -1
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorizationCleanup.js +157 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorizationFreeze.js +56 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorizationHistory.js +238 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorizationIntake.js +287 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorizationSnapshot.js +295 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationApprovals.js +140 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationChallenges.js +170 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationEmailOtp.js +60 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationOwner.js +33 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationOwnerRequest.js +74 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationPasskey.js +77 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationReadAccess.js +37 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationSessions.js +97 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationWriteBlock.js +133 -0
- package/dist/esm/router/cloudflare/d1/walletObjectAddresses.js +47 -0
- package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.js +1 -1
- package/dist/esm/router/cloudflare/runtime/routerAbServiceBindings.js +32 -1
- package/dist/esm/router/cloudflare/runtime/staticWalletConsoleBinding.js +20 -8
- package/dist/esm/router/cloudflare/runtime/walletAuthorizationRelocationRoutes.js +488 -0
- package/dist/esm/router/cloudflare/runtime/walletConsoleOps.js +1 -1
- package/dist/esm/router/cloudflare/runtime/walletConsoleOpsClient.js +26 -6
- package/dist/esm/router/cloudflare/runtime/walletControlOps.js +3 -0
- package/dist/esm/router/cloudflare/runtime/walletGateway.js +1 -1
- package/dist/esm/router/cloudflare/runtime/walletObjectAddresses.js +105 -0
- package/dist/esm/router/cloudflare/runtime/walletPlacementRoutes.js +339 -0
- package/dist/esm/router/cloudflare/runtime/walletRelocationDeriver.js +244 -0
- package/dist/esm/router/cloudflare/runtime/walletRelocationEcdsa.js +212 -0
- package/dist/esm/router/cloudflare/runtime/walletRelocationEd25519.js +172 -0
- package/dist/esm/router/cloudflare/runtime/walletRelocationOps.js +183 -0
- package/dist/esm/router/cloudflare/runtime/walletRelocationPresign.js +185 -0
- package/dist/esm/router/cloudflare/runtime/walletRelocationSource.js +221 -0
- package/dist/esm/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.js +30 -8
- package/dist/esm/router/cloudflare-adaptor.js +8 -8
- package/dist/esm/router/cloudflare.js +34115 -32240
- package/dist/esm/router/domains/ecdsa/routerAbEcdsaStrictRegistration.js +35 -9
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoCapabilityCommit.js +42 -0
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.js +32 -6
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.js +61 -1
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPersistence.js +70 -3
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.js +59 -87
- package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.js +52 -22
- package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.js +10 -7
- package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.js +108 -78
- package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.js +19 -5
- package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryWalletSessionAuthorization.js +71 -22
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.js +37 -25
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.js +3 -3
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.js +2 -1
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.js +24 -3
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationRequestScopedCloudflare.js +4 -3
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.js +20 -7
- package/dist/esm/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.js +7 -1
- package/dist/esm/router/domains/emailOtp/emailOtpRouteHandlers.js +2 -2
- package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.js +1 -1
- package/dist/esm/router/domains/passkeyCustody/registrationCustodyOutcome.js +34 -18
- package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationAdmission.js +2 -2
- package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationCommit.js +16 -6
- package/dist/esm/router/domains/signingOperations/authorizedOperationWire.js +73 -0
- package/dist/esm/router/domains/signingOperations/ecdsaSigningResponse.js +31 -0
- package/dist/esm/router/domains/signingOperations/ed25519AuthorizedOperationReceipt.js +1 -1
- package/dist/esm/router/domains/signingOperations/routerAbEcdsaDerivationNormalSigningRoute.js +2 -1
- package/dist/esm/router/domains/signingOperations/routerAbEd25519NormalSigningRoute.js +31 -121
- package/dist/esm/router/domains/signingOperations/routerAbNormalSigningAdmission.js +2 -93
- package/dist/esm/router/domains/signingOperations/routerAbPrivateSigningWorker.js +1 -1
- package/dist/esm/router/domains/signingOperations/signingPrepareSession.js +33 -0
- package/dist/esm/router/domains/walletRegistration/registrationSessionSeal.js +121 -0
- package/dist/esm/router/domains/walletRegistration/walletRegistrationReservation.js +4 -4
- package/dist/esm/router/domains/walletRegistration/walletRegistrationRoutes.js +46 -157
- package/dist/esm/router/domains/walletRegistration/walletRegistrationSetupPayload.js +1 -1
- package/dist/esm/router/express.js +764 -894
- package/dist/esm/router/framework/http.js +2 -1
- package/dist/esm/router/transport/fetch/createFetchRouter.js +2 -2
- package/dist/esm/router/transport/fetch/routes/auth.js +1 -1
- package/dist/esm/router/transport/fetch/routes/deviceLinking.js +3 -3
- package/dist/esm/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.js +2 -2
- package/dist/esm/router/transport/fetch/routes/ed25519AuthorizedOperationRevalidation.js +65 -0
- package/dist/esm/router/transport/fetch/routes/normalSigningRouterProxy.js +13 -3
- package/dist/esm/router/transport/fetch/routes/passkeyCustody.js +3 -3
- package/dist/esm/router/transport/fetch/routes/sessions.js +3 -2
- package/dist/esm/router/transport/fetch/routes/thresholdEcdsa.js +67 -130
- package/dist/esm/router/transport/fetch/routes/thresholdEd25519.js +76 -212
- package/dist/esm/router/transport/fetch/routes/walletExecutionLanePreflight.js +18 -41
- package/dist/esm/router/transport/fetch/routes/walletRegistration.js +6 -5
- package/dist/esm/router/transport/fetch/routes/webauthnAuthenticators.js +1 -1
- package/dist/esm/shared-ts/src/authorization/index.js +1 -1
- package/dist/esm/shared-ts/src/authorization/walletAuthority.js +2 -2
- package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +12 -2
- package/dist/esm/shared-ts/src/device-linking/digests.js +1 -1
- package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +1 -1
- package/dist/esm/shared-ts/src/device-linking/index.js +1 -1
- package/dist/esm/shared-ts/src/device-linking/parsers.js +1 -1
- package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +1 -1
- package/dist/esm/shared-ts/src/device-linking/wireFields.js +1 -1
- package/dist/esm/shared-ts/src/near/nearClient.js +1 -1
- package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +2 -2
- package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +6 -1
- package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +4 -2
- package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +1 -1
- package/dist/esm/shared-ts/src/utils/routerAbPublicKeyset.js +0 -27
- package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +1 -1
- package/dist/esm/threshold/session/signingSessionSeal/options.js +1 -1
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
- package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +2 -1
- package/dist/types/shared-ts/src/device-linking/contracts.d.ts +10 -0
- package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +2 -1
- package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +3 -1
- package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +0 -9
- package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +1 -1
- package/dist/types/wallet-server/src/authorization/domain.d.ts +17 -1
- package/dist/types/wallet-server/src/authorization/ecdsaWalletSessionAdmission.d.ts +1 -0
- package/dist/types/wallet-server/src/authorization/ed25519WalletSessionAdmission.d.ts +35 -0
- package/dist/types/wallet-server/src/authorization/ed25519WalletSessionAdmission.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/authorization/service.d.ts +43 -5
- package/dist/types/wallet-server/src/authorization/sessionRouting.d.ts +2 -0
- package/dist/types/wallet-server/src/cloud-host.d.ts +7 -3
- package/dist/types/wallet-server/src/core/EmailOtpRecords.d.ts +2 -1
- package/dist/types/wallet-server/src/core/EmailOtpStores.d.ts +19 -5
- package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.d.ts +1 -0
- package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.d.ts +6 -0
- package/dist/types/wallet-server/src/core/ThresholdService/routerAb/internalServiceHttp.d.ts +1 -0
- package/dist/types/wallet-server/src/core/d1Ed25519SignerRead.d.ts +17 -0
- package/dist/types/wallet-server/src/core/d1WalletStore.d.ts +6 -0
- package/dist/types/wallet-server/src/core/emailOtpD1Statements.d.ts +1 -0
- package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbEcdsaPresignRuntime.d.ts +5 -1
- package/dist/types/wallet-server/src/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.d.ts +1 -0
- package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.d.ts +14 -48
- package/dist/types/wallet-server/src/hosted-wallet-gateway.d.ts +4 -3
- package/dist/types/wallet-server/src/localIntendedYaoSigningFault.d.ts +1 -16
- package/dist/types/wallet-server/src/localRegistrationSetupAuthority.d.ts +1 -1
- package/dist/types/wallet-server/src/router/auth/commonRouterUtils.d.ts +7 -1
- package/dist/types/wallet-server/src/router/auth/routerApiCredentialAuth.d.ts +11 -3
- package/dist/types/wallet-server/src/router/auth/walletRegistrationContext.d.ts +8 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1AuthorizationAssembly.d.ts +1 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1EmailOtpRouteService.d.ts +16 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthConfig.d.ts +7 -4
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthService.d.ts +4 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/walletSessionCredentialReaders.d.ts +7 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/d1AuthorizationStore.d.ts +32 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.d.ts +2 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoLifecycleDecisionStore.d.ts +3 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.d.ts +1 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoStateWriteFence.d.ts +8 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1WalletCeremonyActivity.d.ts +15 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.d.ts +6 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.d.ts +1 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.d.ts +4 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpCounters.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.d.ts +6 -29
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.d.ts +21 -7
- package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.d.ts +17 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.d.ts +32 -7
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.d.ts +16 -7
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationSessionTransaction.d.ts +13 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationSetupSupport.d.ts +7 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletExecutionAuthority.d.ts +41 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletOperationStore.d.ts +28 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.d.ts +6 -9
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationInitialSession.d.ts +17 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationPreparation.d.ts +12 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationRead.d.ts +43 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationService.d.ts +24 -45
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetupExecution.d.ts +9 -4
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.d.ts +42 -14
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.d.ts +5 -4
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.d.ts +24 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.d.ts +10 -4
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/authorizationSnapshotLayout.d.ts +21 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.d.ts +3 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodService.d.ts +3 -7
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorityStore.d.ts +8 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationCleanup.d.ts +20 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationFreeze.d.ts +12 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationHistory.d.ts +20 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationIntake.d.ts +29 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationSnapshot.d.ts +31 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationApprovals.d.ts +49 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationChallenges.d.ts +47 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationEmailOtp.d.ts +25 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationOwner.d.ts +88 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationOwnerRequest.d.ts +37 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationPasskey.d.ts +12 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationReadAccess.d.ts +18 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationSessions.d.ts +23 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationWriteBlock.d.ts +16 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/walletObjectAddresses.d.ts +14 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/routerAbServiceBindings.d.ts +13 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletAuthorizationRelocationRoutes.d.ts +21 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOps.d.ts +1 -1
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOpsClient.d.ts +3 -3
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletControlOps.d.ts +2 -1
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletGateway.d.ts +3 -1
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletObjectAddresses.d.ts +45 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletPlacementRoutes.d.ts +30 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationDeriver.d.ts +11 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationEcdsa.d.ts +7 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationEd25519.d.ts +7 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationOps.d.ts +11 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationPresign.d.ts +7 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationSource.d.ts +26 -0
- package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.d.ts +5 -0
- package/dist/types/wallet-server/src/router/domains/ecdsa/routerAbEcdsaStrictRegistration.d.ts +3 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoCapabilityCommit.d.ts +7 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.d.ts +41 -7
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.d.ts +33 -2
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.d.ts +12 -6
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.d.ts +17 -9
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryWalletSessionAuthorization.d.ts +2 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.d.ts +13 -14
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.d.ts +7 -3
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.d.ts +1 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.d.ts +6 -1
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.d.ts +11 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.d.ts +12 -3
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/registrationCustodyOutcome.d.ts +10 -6
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationAdmission.d.ts +10 -3
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationCommit.d.ts +12 -5
- package/dist/types/wallet-server/src/router/domains/signingOperations/authorizedOperationWire.d.ts +97 -0
- package/dist/types/wallet-server/src/router/domains/signingOperations/ecdsaSigningResponse.d.ts +13 -0
- package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmission.d.ts +9 -206
- package/dist/types/wallet-server/src/router/domains/signingOperations/signingPrepareSession.d.ts +23 -0
- package/dist/types/wallet-server/src/router/domains/walletRegistration/registrationSessionSeal.d.ts +36 -0
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationInputs.d.ts +7 -7
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationReservation.d.ts +80 -6
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationRoutes.d.ts +15 -5
- package/dist/types/wallet-server/src/router/framework/apiCredentialPorts.d.ts +24 -0
- package/dist/types/wallet-server/src/router/framework/authServicePort.d.ts +21 -7
- package/dist/types/wallet-server/src/router/framework/routerApi.d.ts +3 -12
- package/dist/types/wallet-server/src/router/transport/fetch/routes/ed25519AuthorizedOperationRevalidation.d.ts +37 -0
- package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEcdsa.d.ts +1 -17
- package/dist/types/wallet-server/src/storage/tenantRoute.d.ts +1 -1
- package/migrations/d1-signer/0049_wallet_relocation_challenges.sql +16 -0
- package/migrations/d1-signer/0050_wallet_relocation_approvals.sql +14 -0
- package/migrations/d1-signer/0051_wallet_relocation_email_otp.sql +92 -0
- package/migrations/d1-signer/0052_wallet_relocation_session_fences.sql +91 -0
- package/migrations/d1-signer/0053_wallet_hosted_history_import.sql +164 -0
- package/migrations/d1-signer/0054_wallet_authorization_freeze.sql +318 -0
- package/migrations/d1-signer/0055_wallet_authorization_snapshot.sql +120 -0
- package/migrations/d1-signer/0056_wallet_authorization_history_import.sql +424 -0
- package/migrations/d1-signer/0057_wallet_authorization_intake.sql +44 -0
- package/migrations/d1-signer/0058_wallet_ceremony_activity.sql +59 -0
- package/migrations/d1-signer/0059_wallet_authorization_activation.sql +45 -0
- package/migrations/d1-signer/0060_wallet_authorization_cleanup.sql +153 -0
- package/migrations/d1-signer/0061_wallet_session_operation_settlement.sql +28 -0
- package/migrations/d1-signer/0062_wallet_step_up_operation_settlement.sql +204 -0
- package/migrations/d1-signer/0063_wallet_operation_history_transfer.sql +466 -0
- package/migrations/d1-signer/0064_wallet_execution_generations.sql +93 -0
- package/migrations/d1-signer/0065_wallet_operation_execution_generation.sql +37 -0
- package/migrations/d1-signer/0066_regional_deployment_admission.sql +59 -0
- package/migrations/d1-signer/0067_registration_completion_decision.sql +12 -0
- package/migrations/d1-signer/0068_registration_cancellation_write_fence.sql +24 -0
- package/migrations/d1-signer/0069_cancelled_registration_session_fence.sql +11 -0
- package/migrations/d1-signer/0070_wallet_passkey_relocation.sql +369 -0
- package/migrations/d1-signer/0071_regional_wallet_otp_counters.sql +98 -0
- package/migrations/d1-signer/0072_linked_device_relocation_history.sql +899 -0
- package/migrations/d1-signer/0073_wallet_recovery_relocation.sql +86 -0
- package/migrations/d1-signer/0074_email_otp_relocation.sql +158 -0
- package/migrations/d1-signer/0075_wallet_authorization_return.sql +107 -0
- package/migrations/d1-signer/0076_wallet_relocation_write_block.sql +406 -0
- package/migrations/d1-signer/0077_wallet_object_addresses.sql +24 -0
- package/package.json +1 -1
- package/src/README.md +23 -1
- package/cloudflare-router-ab/scripts/local-key-material.mjs +0 -29
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type RouterAbEd25519YaoRegistrationAdmissionRequestV1 } from '../../../../../../shared-ts/src/utils/routerAbEd25519Yao';
|
|
2
2
|
import { type AddSignerIntentGrant, type AddSignerIntentV1, type RegistrationIntentGrant, type RegistrationIntentV1 } from '../../../../../../shared-ts/src/utils/registrationIntent';
|
|
3
|
-
import type { RouterAbEd25519YaoRegistrationAuthorizationAdapter, RouterAbEd25519YaoRegistrationAuthorizationInput, RouterAbEd25519YaoRegistrationAuthorizationResult } from './routerAbEd25519YaoRegistration';
|
|
3
|
+
import type { RouterAbEd25519YaoRegistrationAuthorizationAdapter, RouterAbEd25519YaoRegistrationAuthorizationInput, RouterAbEd25519YaoRegistrationAuthorizationFailure, RouterAbEd25519YaoRegistrationAuthorizationResult } from './routerAbEd25519YaoRegistration';
|
|
4
4
|
type AvailableIntentAuthority = {
|
|
5
|
+
readonly ownershipGeneration: number;
|
|
5
6
|
readonly kind: 'available';
|
|
6
7
|
readonly purpose: RouterAbEd25519YaoActivationIntentPurposeV1;
|
|
7
8
|
readonly credentialDigestSha256: Uint8Array;
|
|
@@ -10,6 +11,7 @@ type AvailableIntentAuthority = {
|
|
|
10
11
|
readonly expiresAtMs: number;
|
|
11
12
|
};
|
|
12
13
|
type AdmittedIntentAuthority = {
|
|
14
|
+
readonly ownershipGeneration: number;
|
|
13
15
|
readonly kind: 'admitted';
|
|
14
16
|
readonly purpose: RouterAbEd25519YaoActivationIntentPurposeV1;
|
|
15
17
|
readonly credentialDigestSha256: Uint8Array;
|
|
@@ -20,6 +22,7 @@ type AdmittedIntentAuthority = {
|
|
|
20
22
|
type IntentAuthority = AvailableIntentAuthority | AdmittedIntentAuthority;
|
|
21
23
|
type RouterAbEd25519YaoActivationIntentPurposeV1 = 'wallet_registration' | 'wallet_add_signer';
|
|
22
24
|
export type RouterAbEd25519YaoVerifiedRegistrationIntentV1 = {
|
|
25
|
+
readonly ownershipGeneration: number;
|
|
23
26
|
readonly kind: 'verified_registration_intent';
|
|
24
27
|
readonly registrationIntentGrant: RegistrationIntentGrant;
|
|
25
28
|
readonly intent: RegistrationIntentV1;
|
|
@@ -27,6 +30,7 @@ export type RouterAbEd25519YaoVerifiedRegistrationIntentV1 = {
|
|
|
27
30
|
readonly expiresAtMs: number;
|
|
28
31
|
};
|
|
29
32
|
type RouterAbEd25519YaoVerifiedAddSignerIntentV1 = {
|
|
33
|
+
readonly ownershipGeneration: number;
|
|
30
34
|
readonly kind: 'verified_add_signer_intent';
|
|
31
35
|
readonly addSignerIntentGrant: AddSignerIntentGrant;
|
|
32
36
|
readonly intent: AddSignerIntentV1 & {
|
|
@@ -72,6 +76,7 @@ export declare class InMemoryRouterAbEd25519YaoRegistrationIntentAuthorizationAd
|
|
|
72
76
|
constructor(state?: InMemoryRouterAbEd25519YaoRegistrationIntentAuthorizationStateV1);
|
|
73
77
|
bindVerifiedIntent(verified: RouterAbEd25519YaoVerifiedActivationIntentV1): Promise<RouterAbEd25519YaoRegistrationIntentBindingResult>;
|
|
74
78
|
bindVerifiedContinuation(verified: VerifiedNearRegistrationContinuationV1): Promise<RouterAbEd25519YaoRegistrationIntentBindingResult>;
|
|
79
|
+
bindAndAuthorizeAdmission(input: RouterAbEd25519YaoVerifiedActivationIntentV1): Promise<RouterAbEd25519YaoRegistrationIntentBindingResult | RouterAbEd25519YaoRegistrationAuthorizationFailure>;
|
|
75
80
|
authorize(input: RouterAbEd25519YaoRegistrationAuthorizationInput): Promise<RouterAbEd25519YaoRegistrationAuthorizationResult>;
|
|
76
81
|
private authorizeAdmission;
|
|
77
82
|
private authorizeExecution;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { VersionedJsonRecordPutResult, VersionedJsonRecordReadResult } from '../../../framework/versionedJsonRecordStore';
|
|
2
|
+
import type { RouterAbEd25519YaoPreparedWriteV1 } from '../capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore';
|
|
2
3
|
export type RouterAbEd25519YaoRegistrationSideEffectOperationV1 = 'finalize' | 'registration_activate' | 'near_provisioning' | 'registration_start' | 'add_signer_start' | 'add_signer_finalize';
|
|
3
4
|
type RouterAbEd25519YaoRetryableSideEffectFailureV1 = {
|
|
4
5
|
readonly ok: false;
|
|
@@ -54,6 +55,8 @@ export type RouterAbEd25519YaoRegistrationSideEffectRecordV2<C, P> = RouterAbEd2
|
|
|
54
55
|
export interface RouterAbEd25519YaoRegistrationSideEffectStoreV2<C, P> {
|
|
55
56
|
read(key: string): Promise<VersionedJsonRecordReadResult<RouterAbEd25519YaoRegistrationSideEffectRecordV2<C, P>>>;
|
|
56
57
|
put(key: string, value: RouterAbEd25519YaoRegistrationSideEffectRecordV2<C, P>, expectedVersion: string | null): Promise<VersionedJsonRecordPutResult>;
|
|
58
|
+
/** As `put`, with another store's write that commits in the same batch or not at all. */
|
|
59
|
+
putWithCompanion(key: string, value: RouterAbEd25519YaoRegistrationSideEffectRecordV2<C, P>, expectedVersion: string | null, companionWrite: RouterAbEd25519YaoPreparedWriteV1): Promise<VersionedJsonRecordPutResult>;
|
|
57
60
|
}
|
|
58
61
|
export declare function parseRouterAbEd25519YaoRegistrationSideEffectRecordV2<C, P>(raw: unknown, input: {
|
|
59
62
|
readonly operation: RouterAbEd25519YaoRegistrationSideEffectOperationV1;
|
|
@@ -111,6 +114,8 @@ type RouterAbEd25519YaoRegistrationSideEffectRunInputV2<T, C, P> = {
|
|
|
111
114
|
readonly kind: 'prepared_resumable';
|
|
112
115
|
readonly operation: RouterAbEd25519YaoRegistrationSideEffectOperationV1;
|
|
113
116
|
readonly key: string;
|
|
117
|
+
/** Read for this request. CAS reconciliation always reads the store again. */
|
|
118
|
+
readonly initialRecord: VersionedJsonRecordReadResult<RouterAbEd25519YaoRegistrationSideEffectRecordV2<C, P>>;
|
|
114
119
|
readonly requestFingerprint: string;
|
|
115
120
|
readonly resumeAfterMs: number;
|
|
116
121
|
readonly nowMs: () => number;
|
|
@@ -118,6 +123,12 @@ type RouterAbEd25519YaoRegistrationSideEffectRunInputV2<T, C, P> = {
|
|
|
118
123
|
readonly derivePreparedArtifactFingerprint: (prepared: P) => Promise<string>;
|
|
119
124
|
readonly execute: (prepared: P, attempt: RouterAbEd25519YaoRegistrationSideEffectAttemptV1) => Promise<T>;
|
|
120
125
|
readonly projectReceipt: (response: T) => Promise<C> | C;
|
|
126
|
+
/**
|
|
127
|
+
* Another store's write that the execution left for its completion, or
|
|
128
|
+
* none. It commits with the completion record: a completed operation
|
|
129
|
+
* implies that write, and a lost completion leaves it undone.
|
|
130
|
+
*/
|
|
131
|
+
readonly completionWrite: (response: T) => RouterAbEd25519YaoPreparedWriteV1 | null;
|
|
121
132
|
readonly replay: (receipt: C) => Promise<T>;
|
|
122
133
|
};
|
|
123
134
|
type RouterAbEd25519YaoRegistrationSideEffectRunResultV2<T, P> = RouterAbEd25519YaoRegistrationSideEffectRunResultV1<T, P>;
|
|
@@ -11,10 +11,19 @@ export type RouterAbEd25519YaoTenantRootWireV1 = {
|
|
|
11
11
|
};
|
|
12
12
|
export declare function parseRouterAbEd25519YaoTenantRootWireV1(input: unknown): RouterAbEd25519YaoTenantRootWireV1 | null;
|
|
13
13
|
export declare function routerAbEd25519YaoTenantRootWireV1(root: RouterAbEd25519YaoResolvedTenantRootV1): Promise<RouterAbEd25519YaoTenantRootWireV1>;
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Identifies the signing root that a registration is created under. Its
|
|
16
|
+
* tenant root depends on these two values alone, so it can be read before the
|
|
17
|
+
* admission request exists.
|
|
18
|
+
*/
|
|
19
|
+
export type RouterAbEd25519YaoRegistrationSigningRootIdV1 = {
|
|
20
|
+
readonly signing_root_id: string;
|
|
21
|
+
readonly root_share_epoch: string;
|
|
22
|
+
};
|
|
23
|
+
export declare function routerAbEd25519YaoRegistrationSigningRootIdV1(admissionRequest: RouterAbEd25519YaoRegistrationAdmissionRequestV1): RouterAbEd25519YaoRegistrationSigningRootIdV1;
|
|
24
|
+
export type RouterAbEd25519YaoTenantRootResolutionInputV1 = ({
|
|
15
25
|
readonly operation: 'registration';
|
|
16
|
-
|
|
17
|
-
} | {
|
|
26
|
+
} & RouterAbEd25519YaoRegistrationSigningRootIdV1) | {
|
|
18
27
|
readonly operation: 'recovery';
|
|
19
28
|
readonly admissionRequest: RouterAbEd25519YaoRecoveryAdmissionRequestV1;
|
|
20
29
|
} | {
|
package/dist/types/wallet-server/src/router/domains/passkeyCustody/registrationCustodyOutcome.d.ts
CHANGED
|
@@ -5,12 +5,13 @@ import type { WalletCustodyCeremonyCommitPayload } from './walletCustodyRegistra
|
|
|
5
5
|
import { type VerifiedEmailOtpEnrollmentFacts } from './verifiedCustodyFactor';
|
|
6
6
|
import type { CloudflareD1WalletCustodyCommitStore } from '../../cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore';
|
|
7
7
|
/**
|
|
8
|
-
* The whole custody side-effect of one registration leg, in
|
|
9
|
-
* the factor from the authority the leg verified
|
|
10
|
-
*
|
|
8
|
+
* The whole custody side-effect of one registration leg, in two steps: resolve
|
|
9
|
+
* the factor from the authority the leg verified and admit the payload against
|
|
10
|
+
* the wallet the leg registers, which claims the recovery-code routes; then
|
|
11
|
+
* store the records once that wallet is committed.
|
|
11
12
|
*
|
|
12
13
|
* **Activation never fails because of custody.** The wallet's registration is
|
|
13
|
-
* already committed by the time
|
|
14
|
+
* already committed by the time the records are stored, and the seed exists only in the
|
|
14
15
|
* client's worker — so the client is the one party that can retry, re-enter as
|
|
15
16
|
* a join, or abandon the run. Failing activation here would leave the server
|
|
16
17
|
* registered, the response an error, and the client with no instruction; the
|
|
@@ -25,7 +26,10 @@ import type { CloudflareD1WalletCustodyCommitStore } from '../../cloudflare/d1/p
|
|
|
25
26
|
* payload it answers.
|
|
26
27
|
*/
|
|
27
28
|
type RegistrationCustodyOutcome = WalletCustodyRegistrationOutcome;
|
|
28
|
-
|
|
29
|
+
/** Stores the admitted custody records. It reports every failure and never throws. */
|
|
30
|
+
export type RegistrationCustodyCommit = () => Promise<RegistrationCustodyOutcome>;
|
|
31
|
+
/** Admits the custody payload and claims its routes. It never throws either. */
|
|
32
|
+
export declare function reserveRegistrationCustody(input: {
|
|
29
33
|
/** Absent when the client did not run a custody ceremony for this leg. */
|
|
30
34
|
readonly payload?: WalletCustodyCeremonyCommitPayload;
|
|
31
35
|
readonly verifiedWalletId: WalletId;
|
|
@@ -34,6 +38,6 @@ export declare function commitRegistrationCustody(input: {
|
|
|
34
38
|
readonly verifiedEmailOtpEnrollment?: VerifiedEmailOtpEnrollmentFacts;
|
|
35
39
|
readonly nowMs: number;
|
|
36
40
|
readonly store: CloudflareD1WalletCustodyCommitStore;
|
|
37
|
-
}): Promise<
|
|
41
|
+
}): Promise<RegistrationCustodyCommit>;
|
|
38
42
|
export {};
|
|
39
43
|
//# sourceMappingURL=registrationCustodyOutcome.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { WalletId } from '../../../../../shared-ts/src/utils/domainIds';
|
|
2
2
|
import type { WalletCustodyEnvelopeFactor } from '../../../../../shared-ts/src/passkey-custody';
|
|
3
|
-
import { type WalletCustodyCeremonyCommitPayload, type WalletCustodyRegistrationCommitOutcome } from './walletCustodyRegistrationCommit';
|
|
3
|
+
import { type WalletCustodyCeremonyCommitPayload, type WalletCustodyRegistrationCommitOutcome, type WalletCustodyRegistrationReserved } from './walletCustodyRegistrationCommit';
|
|
4
4
|
import type { CloudflareD1WalletCustodyCommitStore } from '../../cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore';
|
|
5
5
|
/**
|
|
6
6
|
* Admits one ceremony's custody commit against a registration this server has
|
|
@@ -12,7 +12,7 @@ import type { CloudflareD1WalletCustodyCommitStore } from '../../cloudflare/d1/p
|
|
|
12
12
|
* leg's own auth proof. A separate endpoint would be a second, weaker way in.
|
|
13
13
|
*
|
|
14
14
|
* This module is where that decision is enforced, and it is deliberately the
|
|
15
|
-
* only path to `
|
|
15
|
+
* only path to `reserveWalletCustodyRegistration` from a route. Two checks, both
|
|
16
16
|
* cheap and both load-bearing:
|
|
17
17
|
*
|
|
18
18
|
* 1. **The payload names the wallet the registration named.** A ceremony
|
|
@@ -52,6 +52,13 @@ type WalletCustodyRegistrationAdmissionInput = {
|
|
|
52
52
|
readonly nowMs: number;
|
|
53
53
|
readonly store: CloudflareD1WalletCustodyCommitStore;
|
|
54
54
|
};
|
|
55
|
-
|
|
55
|
+
/**
|
|
56
|
+
* An admitted commit with its recovery-code routes claimed, or the outcome
|
|
57
|
+
* that ends the admission with nothing claimed or written.
|
|
58
|
+
*/
|
|
59
|
+
export type WalletCustodyRegistrationAdmission = WalletCustodyRegistrationReserved | Extract<WalletCustodyRegistrationAdmissionOutcome, {
|
|
60
|
+
kind: 'rejected' | 'no_custody_records';
|
|
61
|
+
}>;
|
|
62
|
+
export declare function admitWalletCustodyRegistrationCommit(input: WalletCustodyRegistrationAdmissionInput): Promise<WalletCustodyRegistrationAdmission>;
|
|
56
63
|
export {};
|
|
57
64
|
//# sourceMappingURL=walletCustodyRegistrationAdmission.d.ts.map
|
|
@@ -19,18 +19,25 @@ export type WalletCustodyRegistrationCommitOutcome = ({
|
|
|
19
19
|
readonly kind: 'rejected';
|
|
20
20
|
readonly reason: string;
|
|
21
21
|
};
|
|
22
|
+
/** The write that a reservation left for after the registration's wallet commit. */
|
|
23
|
+
export type WalletCustodyRegistrationReserved = {
|
|
24
|
+
readonly kind: 'reserved';
|
|
25
|
+
readonly commit: () => Promise<WalletCustodyRegistrationCommitOutcome>;
|
|
26
|
+
};
|
|
22
27
|
/**
|
|
23
|
-
* Builds and
|
|
28
|
+
* Builds the records and claims their recovery-code routes.
|
|
24
29
|
*
|
|
25
30
|
* A payload this server cannot parse becomes `rejected` rather than an
|
|
26
31
|
* exception, so a malformed ceremony result is a request outcome and not a
|
|
27
|
-
* route crash. Nothing is written in that case: the records are
|
|
28
|
-
* the store is touched.
|
|
32
|
+
* route crash. Nothing is claimed or written in that case: the records are
|
|
33
|
+
* built before the store is touched.
|
|
29
34
|
*/
|
|
30
|
-
export declare function
|
|
35
|
+
export declare function reserveWalletCustodyRegistration(input: {
|
|
31
36
|
readonly payload: WalletCustodyCeremonyCommitPayload;
|
|
32
37
|
readonly factor: unknown;
|
|
33
38
|
readonly nowMs: number;
|
|
34
39
|
readonly store: CloudflareD1WalletCustodyCommitStore;
|
|
35
|
-
}): Promise<WalletCustodyRegistrationCommitOutcome
|
|
40
|
+
}): Promise<WalletCustodyRegistrationReserved | Extract<WalletCustodyRegistrationCommitOutcome, {
|
|
41
|
+
kind: 'rejected';
|
|
42
|
+
}>>;
|
|
36
43
|
//# sourceMappingURL=walletCustodyRegistrationCommit.d.ts.map
|
package/dist/types/wallet-server/src/router/domains/signingOperations/authorizedOperationWire.d.ts
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { Ed25519ReusableAuthorizedOperationReceipt } from './ed25519AuthorizedOperationReceipt';
|
|
2
|
+
import type { AuthorizedOperation } from '../../../authorization/domain';
|
|
3
|
+
export type AuthorizedOperationBindingWire = {
|
|
4
|
+
readonly kind: 'reusable_wallet_session';
|
|
5
|
+
readonly authorization_id: string;
|
|
6
|
+
readonly wallet_session_id: string;
|
|
7
|
+
readonly quota_id: string;
|
|
8
|
+
} | {
|
|
9
|
+
readonly kind: 'gateway_owner_wallet_session';
|
|
10
|
+
readonly ownership_generation: number;
|
|
11
|
+
readonly subject_id: string;
|
|
12
|
+
readonly account_id: string;
|
|
13
|
+
readonly authorization_id: string;
|
|
14
|
+
readonly wallet_session_id: string;
|
|
15
|
+
readonly quota_id: string;
|
|
16
|
+
readonly threshold_session_id: string;
|
|
17
|
+
readonly org_id: string;
|
|
18
|
+
readonly project_id: string;
|
|
19
|
+
readonly environment: string;
|
|
20
|
+
readonly project_environment_id: string;
|
|
21
|
+
readonly signing_worker_id: string;
|
|
22
|
+
readonly expires_at_ms: number;
|
|
23
|
+
} | {
|
|
24
|
+
readonly kind: 'operation_step_up';
|
|
25
|
+
readonly ownership_generation: number;
|
|
26
|
+
readonly authorization_session_id: string;
|
|
27
|
+
readonly org_id: string;
|
|
28
|
+
readonly project_id: string;
|
|
29
|
+
readonly environment: string;
|
|
30
|
+
readonly project_environment_id: string;
|
|
31
|
+
readonly subject_id: string;
|
|
32
|
+
readonly account_id: string;
|
|
33
|
+
};
|
|
34
|
+
export type AuthorizedOperationWireInput = {
|
|
35
|
+
readonly operation: AuthorizedOperation;
|
|
36
|
+
readonly binding: {
|
|
37
|
+
readonly kind: 'reusable_wallet_session';
|
|
38
|
+
readonly walletSessionId: string;
|
|
39
|
+
readonly quotaId: string;
|
|
40
|
+
};
|
|
41
|
+
} | {
|
|
42
|
+
readonly operation: AuthorizedOperation;
|
|
43
|
+
readonly binding: {
|
|
44
|
+
readonly kind: 'gateway_owner_wallet_session';
|
|
45
|
+
readonly ownershipGeneration: number;
|
|
46
|
+
readonly subjectId: string;
|
|
47
|
+
readonly accountId: string;
|
|
48
|
+
readonly authorizationId: string;
|
|
49
|
+
readonly walletSessionId: string;
|
|
50
|
+
readonly quotaId: string;
|
|
51
|
+
readonly thresholdSessionId: string;
|
|
52
|
+
readonly orgId: string;
|
|
53
|
+
readonly projectId: string;
|
|
54
|
+
readonly environment: string;
|
|
55
|
+
readonly projectEnvironmentId: string;
|
|
56
|
+
readonly signingWorkerId: string;
|
|
57
|
+
readonly expiresAtMs: number;
|
|
58
|
+
};
|
|
59
|
+
} | {
|
|
60
|
+
readonly operation: AuthorizedOperation;
|
|
61
|
+
readonly binding: OperationStepUpBinding;
|
|
62
|
+
};
|
|
63
|
+
export type OperationStepUpBinding = {
|
|
64
|
+
readonly kind: 'operation_step_up';
|
|
65
|
+
readonly ownershipGeneration: number;
|
|
66
|
+
readonly authorizationSessionId: string;
|
|
67
|
+
readonly orgId: string;
|
|
68
|
+
readonly projectId: string;
|
|
69
|
+
readonly environment: string;
|
|
70
|
+
readonly projectEnvironmentId: string;
|
|
71
|
+
readonly subjectId: string;
|
|
72
|
+
readonly accountId: string;
|
|
73
|
+
};
|
|
74
|
+
type AuthorizedOperationFields = {
|
|
75
|
+
readonly authorized_operation_id: string;
|
|
76
|
+
readonly operation_id: string;
|
|
77
|
+
readonly lane_digest_b64u: string;
|
|
78
|
+
readonly intent_digest_b64u: string;
|
|
79
|
+
readonly display_digest_b64u: string;
|
|
80
|
+
readonly operation_fingerprint_digest: string;
|
|
81
|
+
} & ({
|
|
82
|
+
readonly capability_kind: 'evm_ecdsa_mpc_signing';
|
|
83
|
+
readonly operation_kind: 'evm.sign_transaction';
|
|
84
|
+
} | Pick<Ed25519ReusableAuthorizedOperationReceipt, 'capability_kind' | 'operation_kind'>);
|
|
85
|
+
type AuthorizedOperationWire<T extends AuthorizedOperationFields> = {
|
|
86
|
+
readonly binding: AuthorizedOperationBindingWire;
|
|
87
|
+
readonly authorized_operation: (T & {
|
|
88
|
+
readonly kind: 'reusable_wallet_session_authorized_operation_v1';
|
|
89
|
+
}) | (T & {
|
|
90
|
+
readonly kind: 'verified_step_up_authorized_operation_v1';
|
|
91
|
+
readonly authorization_session_id: string;
|
|
92
|
+
readonly evidence_set_digest: string;
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
export declare function buildAuthorizedOperationWire<T extends AuthorizedOperationFields>(input: AuthorizedOperationWireInput, commonAuthorizedOperation: T): AuthorizedOperationWire<T>;
|
|
96
|
+
export {};
|
|
97
|
+
//# sourceMappingURL=authorizedOperationWire.d.ts.map
|
package/dist/types/wallet-server/src/router/domains/signingOperations/ecdsaSigningResponse.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AuthorizedOperation } from '../../../authorization/domain';
|
|
2
|
+
import type { RouterApiAuthorizedOperationService } from '../../framework/authServicePort';
|
|
3
|
+
export declare function finishRouterAbEcdsaSigningResponse(input: {
|
|
4
|
+
readonly upstream: Response;
|
|
5
|
+
readonly operation: AuthorizedOperation;
|
|
6
|
+
readonly authorizedOperations: RouterApiAuthorizedOperationService;
|
|
7
|
+
readonly timing: {
|
|
8
|
+
proxy: number | null;
|
|
9
|
+
complete: number | null;
|
|
10
|
+
};
|
|
11
|
+
readonly proxyStartedAt: number;
|
|
12
|
+
}): Promise<Response>;
|
|
13
|
+
//# sourceMappingURL=ecdsaSigningResponse.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { D1EcdsaAdmissionPolicyRead } from '../../cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore';
|
|
1
|
+
import type { D1EcdsaAdmissionPolicyRead, D1Ed25519AdmissionPolicyRead } from '../../cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore';
|
|
2
2
|
import type { RouterAbNormalSigningAuthorizationIdentity } from '../../../core/routerAbSigning/RouterAbNormalSigningRuntime';
|
|
3
3
|
import type { RouterAbNormalSigningRuntime } from '../../../core/routerAbSigning/RouterAbNormalSigningRuntime';
|
|
4
4
|
import type { ThresholdEd25519AuthorityScope } from '../../../core/types';
|
|
@@ -8,205 +8,6 @@ import type { AuthorizationParseResult } from '../../../../../shared-ts/src/auth
|
|
|
8
8
|
import type { AuthorizedOperation, AuthorizedOperationReplayResponse, OwnerOperationStepUpReason } from '../../../authorization/domain';
|
|
9
9
|
import type { RouterAbMpcMaterialActivationRefWire } from '../../../../../shared-ts/src/utils/routerAbNormalSigningIdentity';
|
|
10
10
|
import { type MpcMaterialActivationId } from '../../../../../shared-ts/src/utils/domainIds';
|
|
11
|
-
type RouterAbAcceptedAuthorizedOperationBindingV1 = {
|
|
12
|
-
readonly kind: 'reusable_wallet_session';
|
|
13
|
-
readonly walletSessionId: string;
|
|
14
|
-
readonly quotaId: string;
|
|
15
|
-
} | {
|
|
16
|
-
readonly kind: 'gateway_owner_wallet_session';
|
|
17
|
-
readonly subjectId: string;
|
|
18
|
-
readonly accountId: string;
|
|
19
|
-
readonly authorizationId: string;
|
|
20
|
-
readonly walletSessionId: string;
|
|
21
|
-
readonly quotaId: string;
|
|
22
|
-
readonly thresholdSessionId: string;
|
|
23
|
-
readonly orgId: string;
|
|
24
|
-
readonly projectId: string;
|
|
25
|
-
readonly environment: string;
|
|
26
|
-
readonly signingWorkerId: string;
|
|
27
|
-
readonly expiresAtMs: number;
|
|
28
|
-
} | {
|
|
29
|
-
readonly kind: 'operation_step_up';
|
|
30
|
-
readonly authorizationSessionId: string;
|
|
31
|
-
readonly orgId: string;
|
|
32
|
-
readonly projectId: string;
|
|
33
|
-
readonly environment: string;
|
|
34
|
-
readonly subjectId: string;
|
|
35
|
-
};
|
|
36
|
-
export declare function buildRouterAbEd25519AcceptedAuthorizedOperationV1(input: {
|
|
37
|
-
readonly operation: AuthorizedOperation;
|
|
38
|
-
readonly binding: RouterAbAcceptedAuthorizedOperationBindingV1;
|
|
39
|
-
}): {
|
|
40
|
-
binding: {
|
|
41
|
-
kind: "reusable_wallet_session";
|
|
42
|
-
authorization_id: import("../../../../../shared-ts/src/authorization/capabilityKinds").WalletSessionAuthorizationId;
|
|
43
|
-
wallet_session_id: string;
|
|
44
|
-
quota_id: string;
|
|
45
|
-
subject_id?: undefined;
|
|
46
|
-
account_id?: undefined;
|
|
47
|
-
threshold_session_id?: undefined;
|
|
48
|
-
org_id?: undefined;
|
|
49
|
-
project_id?: undefined;
|
|
50
|
-
environment?: undefined;
|
|
51
|
-
signing_worker_id?: undefined;
|
|
52
|
-
expires_at_ms?: undefined;
|
|
53
|
-
authorization_session_id?: undefined;
|
|
54
|
-
};
|
|
55
|
-
authorized_operation: {
|
|
56
|
-
authorized_operation_id: import("../../../../../shared-ts/src/authorization/capabilityKinds").AuthorizedOperationId;
|
|
57
|
-
operation_id: import("../../../../../shared-ts/src/authorization/capabilityKinds").CapabilityOperationId;
|
|
58
|
-
capability_kind: "near_ed25519_mpc_signing" | "evm_ecdsa_mpc_signing";
|
|
59
|
-
operation_kind: "near.sign_transaction" | "near.sign_delegate_action" | "near.sign_nep413_message" | "evm.sign_transaction";
|
|
60
|
-
lane_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
61
|
-
intent_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
62
|
-
display_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
63
|
-
operation_fingerprint_digest: import("../../../../../shared-ts/src/authorization").CapabilityOperationFingerprintDigest;
|
|
64
|
-
kind: "reusable_wallet_session_authorized_operation_v1";
|
|
65
|
-
};
|
|
66
|
-
} | {
|
|
67
|
-
binding: {
|
|
68
|
-
kind: "gateway_owner_wallet_session";
|
|
69
|
-
subject_id: string;
|
|
70
|
-
account_id: string;
|
|
71
|
-
authorization_id: string;
|
|
72
|
-
wallet_session_id: string;
|
|
73
|
-
quota_id: string;
|
|
74
|
-
threshold_session_id: string;
|
|
75
|
-
org_id: string;
|
|
76
|
-
project_id: string;
|
|
77
|
-
environment: string;
|
|
78
|
-
signing_worker_id: string;
|
|
79
|
-
expires_at_ms: number;
|
|
80
|
-
authorization_session_id?: undefined;
|
|
81
|
-
};
|
|
82
|
-
authorized_operation: {
|
|
83
|
-
authorized_operation_id: import("../../../../../shared-ts/src/authorization/capabilityKinds").AuthorizedOperationId;
|
|
84
|
-
operation_id: import("../../../../../shared-ts/src/authorization/capabilityKinds").CapabilityOperationId;
|
|
85
|
-
capability_kind: "near_ed25519_mpc_signing" | "evm_ecdsa_mpc_signing";
|
|
86
|
-
operation_kind: "near.sign_transaction" | "near.sign_delegate_action" | "near.sign_nep413_message" | "evm.sign_transaction";
|
|
87
|
-
lane_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
88
|
-
intent_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
89
|
-
display_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
90
|
-
operation_fingerprint_digest: import("../../../../../shared-ts/src/authorization").CapabilityOperationFingerprintDigest;
|
|
91
|
-
kind: "reusable_wallet_session_authorized_operation_v1";
|
|
92
|
-
};
|
|
93
|
-
} | {
|
|
94
|
-
binding: {
|
|
95
|
-
kind: "operation_step_up";
|
|
96
|
-
authorization_session_id: string;
|
|
97
|
-
org_id: string;
|
|
98
|
-
project_id: string;
|
|
99
|
-
environment: string;
|
|
100
|
-
subject_id: string;
|
|
101
|
-
authorization_id?: undefined;
|
|
102
|
-
wallet_session_id?: undefined;
|
|
103
|
-
quota_id?: undefined;
|
|
104
|
-
account_id?: undefined;
|
|
105
|
-
threshold_session_id?: undefined;
|
|
106
|
-
signing_worker_id?: undefined;
|
|
107
|
-
expires_at_ms?: undefined;
|
|
108
|
-
};
|
|
109
|
-
authorized_operation: {
|
|
110
|
-
authorized_operation_id: import("../../../../../shared-ts/src/authorization/capabilityKinds").AuthorizedOperationId;
|
|
111
|
-
operation_id: import("../../../../../shared-ts/src/authorization/capabilityKinds").CapabilityOperationId;
|
|
112
|
-
capability_kind: "near_ed25519_mpc_signing" | "evm_ecdsa_mpc_signing";
|
|
113
|
-
operation_kind: "near.sign_transaction" | "near.sign_delegate_action" | "near.sign_nep413_message" | "evm.sign_transaction";
|
|
114
|
-
lane_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
115
|
-
intent_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
116
|
-
display_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
117
|
-
operation_fingerprint_digest: import("../../../../../shared-ts/src/authorization").CapabilityOperationFingerprintDigest;
|
|
118
|
-
kind: "verified_step_up_authorized_operation_v1";
|
|
119
|
-
authorization_session_id: string;
|
|
120
|
-
evidence_set_digest: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
121
|
-
};
|
|
122
|
-
};
|
|
123
|
-
export declare function buildRouterAbEcdsaAcceptedAuthorizedOperationV1(input: {
|
|
124
|
-
readonly operation: AuthorizedOperation;
|
|
125
|
-
readonly binding: RouterAbAcceptedAuthorizedOperationBindingV1;
|
|
126
|
-
}): {
|
|
127
|
-
binding: {
|
|
128
|
-
kind: "reusable_wallet_session";
|
|
129
|
-
authorization_id: import("../../../../../shared-ts/src/authorization/capabilityKinds").WalletSessionAuthorizationId;
|
|
130
|
-
wallet_session_id: string;
|
|
131
|
-
quota_id: string;
|
|
132
|
-
subject_id?: undefined;
|
|
133
|
-
account_id?: undefined;
|
|
134
|
-
threshold_session_id?: undefined;
|
|
135
|
-
org_id?: undefined;
|
|
136
|
-
project_id?: undefined;
|
|
137
|
-
environment?: undefined;
|
|
138
|
-
signing_worker_id?: undefined;
|
|
139
|
-
expires_at_ms?: undefined;
|
|
140
|
-
authorization_session_id?: undefined;
|
|
141
|
-
};
|
|
142
|
-
authorized_operation: {
|
|
143
|
-
authorized_operation_id: import("../../../../../shared-ts/src/authorization/capabilityKinds").AuthorizedOperationId;
|
|
144
|
-
operation_id: import("../../../../../shared-ts/src/authorization/capabilityKinds").CapabilityOperationId;
|
|
145
|
-
capability_kind: "near_ed25519_mpc_signing" | "evm_ecdsa_mpc_signing";
|
|
146
|
-
operation_kind: "near.sign_transaction" | "near.sign_delegate_action" | "near.sign_nep413_message" | "evm.sign_transaction";
|
|
147
|
-
lane_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
148
|
-
intent_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
149
|
-
display_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
150
|
-
operation_fingerprint_digest: import("../../../../../shared-ts/src/authorization").CapabilityOperationFingerprintDigest;
|
|
151
|
-
kind: "reusable_wallet_session_authorized_operation_v1";
|
|
152
|
-
};
|
|
153
|
-
} | {
|
|
154
|
-
binding: {
|
|
155
|
-
kind: "gateway_owner_wallet_session";
|
|
156
|
-
subject_id: string;
|
|
157
|
-
account_id: string;
|
|
158
|
-
authorization_id: string;
|
|
159
|
-
wallet_session_id: string;
|
|
160
|
-
quota_id: string;
|
|
161
|
-
threshold_session_id: string;
|
|
162
|
-
org_id: string;
|
|
163
|
-
project_id: string;
|
|
164
|
-
environment: string;
|
|
165
|
-
signing_worker_id: string;
|
|
166
|
-
expires_at_ms: number;
|
|
167
|
-
authorization_session_id?: undefined;
|
|
168
|
-
};
|
|
169
|
-
authorized_operation: {
|
|
170
|
-
authorized_operation_id: import("../../../../../shared-ts/src/authorization/capabilityKinds").AuthorizedOperationId;
|
|
171
|
-
operation_id: import("../../../../../shared-ts/src/authorization/capabilityKinds").CapabilityOperationId;
|
|
172
|
-
capability_kind: "near_ed25519_mpc_signing" | "evm_ecdsa_mpc_signing";
|
|
173
|
-
operation_kind: "near.sign_transaction" | "near.sign_delegate_action" | "near.sign_nep413_message" | "evm.sign_transaction";
|
|
174
|
-
lane_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
175
|
-
intent_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
176
|
-
display_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
177
|
-
operation_fingerprint_digest: import("../../../../../shared-ts/src/authorization").CapabilityOperationFingerprintDigest;
|
|
178
|
-
kind: "reusable_wallet_session_authorized_operation_v1";
|
|
179
|
-
};
|
|
180
|
-
} | {
|
|
181
|
-
binding: {
|
|
182
|
-
kind: "operation_step_up";
|
|
183
|
-
authorization_session_id: string;
|
|
184
|
-
org_id: string;
|
|
185
|
-
project_id: string;
|
|
186
|
-
environment: string;
|
|
187
|
-
subject_id: string;
|
|
188
|
-
authorization_id?: undefined;
|
|
189
|
-
wallet_session_id?: undefined;
|
|
190
|
-
quota_id?: undefined;
|
|
191
|
-
account_id?: undefined;
|
|
192
|
-
threshold_session_id?: undefined;
|
|
193
|
-
signing_worker_id?: undefined;
|
|
194
|
-
expires_at_ms?: undefined;
|
|
195
|
-
};
|
|
196
|
-
authorized_operation: {
|
|
197
|
-
authorized_operation_id: import("../../../../../shared-ts/src/authorization/capabilityKinds").AuthorizedOperationId;
|
|
198
|
-
operation_id: import("../../../../../shared-ts/src/authorization/capabilityKinds").CapabilityOperationId;
|
|
199
|
-
capability_kind: "near_ed25519_mpc_signing" | "evm_ecdsa_mpc_signing";
|
|
200
|
-
operation_kind: "near.sign_transaction" | "near.sign_delegate_action" | "near.sign_nep413_message" | "evm.sign_transaction";
|
|
201
|
-
lane_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
202
|
-
intent_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
203
|
-
display_digest_b64u: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
204
|
-
operation_fingerprint_digest: import("../../../../../shared-ts/src/authorization").CapabilityOperationFingerprintDigest;
|
|
205
|
-
kind: "verified_step_up_authorized_operation_v1";
|
|
206
|
-
authorization_session_id: string;
|
|
207
|
-
evidence_set_digest: import("../../../../../shared-ts/src/utils").DigestB64u;
|
|
208
|
-
};
|
|
209
|
-
};
|
|
210
11
|
export type RouterAbSigningWorkerJsonResult = {
|
|
211
12
|
ok: true;
|
|
212
13
|
body: unknown;
|
|
@@ -278,16 +79,18 @@ export type RouterAbNormalSigningAdmissionFailure = {
|
|
|
278
79
|
export type RouterAbNormalSigningAdmissionResult = {
|
|
279
80
|
ok: true;
|
|
280
81
|
} | RouterAbNormalSigningAdmissionFailure;
|
|
281
|
-
|
|
82
|
+
/** Where a policy decision comes from: the store, or rows the credential read already holds. */
|
|
83
|
+
type RouterAbNormalSigningPolicyReadSource<PolicyRead> = {
|
|
282
84
|
readonly kind: 'database';
|
|
283
85
|
readonly policyRead?: never;
|
|
284
86
|
} | {
|
|
285
87
|
readonly kind: 'credential_snapshot';
|
|
286
|
-
readonly policyRead:
|
|
88
|
+
readonly policyRead: PolicyRead;
|
|
287
89
|
};
|
|
90
|
+
export type RouterAbEd25519PolicyReadSource = RouterAbNormalSigningPolicyReadSource<D1Ed25519AdmissionPolicyRead>;
|
|
288
91
|
export type RouterAbNormalSigningAdmissionInput = {
|
|
289
92
|
curve: 'ed25519';
|
|
290
|
-
readonly policyReadSource
|
|
93
|
+
readonly policyReadSource: RouterAbEd25519PolicyReadSource;
|
|
291
94
|
authorityKind: 'wallet_authority_v1';
|
|
292
95
|
authorityId: string;
|
|
293
96
|
authorityScope?: never;
|
|
@@ -317,7 +120,7 @@ export type RouterAbNormalSigningAdmissionInput = {
|
|
|
317
120
|
runtimePolicyScope: RuntimePolicyScope;
|
|
318
121
|
} | {
|
|
319
122
|
curve: 'ecdsa';
|
|
320
|
-
readonly policyReadSource: RouterAbNormalSigningPolicyReadSource
|
|
123
|
+
readonly policyReadSource: RouterAbNormalSigningPolicyReadSource<D1EcdsaAdmissionPolicyRead>;
|
|
321
124
|
phase: 'prepare' | 'finalize';
|
|
322
125
|
walletId: string;
|
|
323
126
|
materialActivationId: MpcMaterialActivationId;
|
|
@@ -334,7 +137,7 @@ export interface RouterAbNormalSigningAdmissionAdapter {
|
|
|
334
137
|
export type RouterAbNormalSigningAdmissionEvaluationInput = {
|
|
335
138
|
adapter: RouterAbNormalSigningAdmissionAdapter | null | undefined;
|
|
336
139
|
curve: 'ed25519';
|
|
337
|
-
readonly policyReadSource
|
|
140
|
+
readonly policyReadSource: RouterAbEd25519PolicyReadSource;
|
|
338
141
|
authorizationKind: 'wallet_session_operation_credential_v1';
|
|
339
142
|
phase: 'prepare' | 'finalize';
|
|
340
143
|
walletId: string;
|
|
@@ -349,7 +152,7 @@ export type RouterAbNormalSigningAdmissionEvaluationInput = {
|
|
|
349
152
|
} | {
|
|
350
153
|
adapter: RouterAbNormalSigningAdmissionAdapter | null | undefined;
|
|
351
154
|
curve: 'ecdsa';
|
|
352
|
-
readonly policyReadSource: RouterAbNormalSigningPolicyReadSource
|
|
155
|
+
readonly policyReadSource: RouterAbNormalSigningPolicyReadSource<D1EcdsaAdmissionPolicyRead>;
|
|
353
156
|
authorizationKind: 'wallet_session_operation_credential_v1';
|
|
354
157
|
phase: 'prepare' | 'finalize';
|
|
355
158
|
walletId: string;
|
package/dist/types/wallet-server/src/router/domains/signingOperations/signingPrepareSession.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Variant } from '../../../../../shared-ts/src/utils/variant';
|
|
2
|
+
import type { RouterAbEd25519NormalSigningAuthorizationResult } from './routerAbEd25519NormalSigningRoute';
|
|
3
|
+
import type { RouterAbEcdsaNormalSigningAuthorizationResult } from './routerAbEcdsaDerivationNormalSigningRoute';
|
|
4
|
+
/** The session snapshot validated for this admission, before its quota claim. */
|
|
5
|
+
export declare function signingPrepareSessionResponse(signing: unknown, authorization: Variant<RouterAbEcdsaNormalSigningAuthorizationResult | RouterAbEd25519NormalSigningAuthorizationResult, 'ok', true>): {
|
|
6
|
+
kind: "operation_step_up";
|
|
7
|
+
signing: unknown;
|
|
8
|
+
session_status?: undefined;
|
|
9
|
+
} | {
|
|
10
|
+
kind: "reusable_wallet_session";
|
|
11
|
+
signing: unknown;
|
|
12
|
+
session_status: {
|
|
13
|
+
ok: boolean;
|
|
14
|
+
status: string;
|
|
15
|
+
walletSessionId: import("../../../../../shared-ts/src/authorization").WalletSessionId;
|
|
16
|
+
quotaId: import("../../../../../shared-ts/src/authorization").MpcWalletSigningQuotaId;
|
|
17
|
+
remainingUses: number;
|
|
18
|
+
expiresAtMs: number;
|
|
19
|
+
quotaLifecycle: string;
|
|
20
|
+
authorization: import("../../../../../shared-ts/src/device-linking").ActiveWalletSessionV1;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=signingPrepareSession.d.ts.map
|
package/dist/types/wallet-server/src/router/domains/walletRegistration/registrationSessionSeal.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { RegistrationEstablishedSessionProjectionV2 } from '../../../../../shared-ts/src/utils/registrationEstablishedSession';
|
|
2
|
+
import type { SigningSessionSealServerSealRequest, SigningSessionSealService } from '../../../threshold/session/signingSessionSeal/signingSessionSeal.types';
|
|
3
|
+
type SealSession = Pick<RegistrationEstablishedSessionProjectionV2, 'walletId' | 'walletSessionId' | 'expiresAtMs' | 'remainingUses' | 'tokens'>;
|
|
4
|
+
type SealFailure = {
|
|
5
|
+
readonly ok: false;
|
|
6
|
+
readonly code: string;
|
|
7
|
+
readonly message: string;
|
|
8
|
+
};
|
|
9
|
+
type SealResult = {
|
|
10
|
+
readonly ok: true;
|
|
11
|
+
readonly value: {
|
|
12
|
+
readonly ciphertext: string;
|
|
13
|
+
readonly keyVersion: string;
|
|
14
|
+
readonly expiresAtMs: number;
|
|
15
|
+
readonly remainingUses: number;
|
|
16
|
+
};
|
|
17
|
+
} | SealFailure;
|
|
18
|
+
/** Holds one request's computation until registration can publish its response. */
|
|
19
|
+
declare class RegistrationPreparedSessionSeal {
|
|
20
|
+
private readonly request;
|
|
21
|
+
private readonly service;
|
|
22
|
+
private prepared;
|
|
23
|
+
constructor(request: SigningSessionSealServerSealRequest, service: SigningSessionSealService | null);
|
|
24
|
+
prepare(session: RegistrationEstablishedSessionProjectionV2): Promise<void>;
|
|
25
|
+
finish(session: SealSession): Promise<SealResult>;
|
|
26
|
+
}
|
|
27
|
+
export declare function parseRegistrationPreparedSessionSeal(raw: unknown, service: SigningSessionSealService | null): {
|
|
28
|
+
readonly ok: true;
|
|
29
|
+
readonly value: RegistrationPreparedSessionSeal | null;
|
|
30
|
+
} | {
|
|
31
|
+
readonly ok: false;
|
|
32
|
+
readonly code: 'invalid_body';
|
|
33
|
+
readonly message: string;
|
|
34
|
+
};
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=registrationSessionSeal.d.ts.map
|