@seams/wallet-server 0.7.1 → 0.8.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 +1 -113
- package/artifact-manifest.json +78 -33
- 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/scripts/prepare-local-runtime-config.mjs +0 -2
- package/cloudflare-router-ab/scripts/start-local-role-workers.mjs +77 -20
- package/dist/esm/authorization/lifecycleRouting.js +62 -0
- package/dist/esm/authorization/service.js +43 -12
- package/dist/esm/authorization/vaultProxyUse.js +2 -6
- package/dist/esm/cloud-host.js +23 -25
- package/dist/esm/core/EmailOtpRecords.js +1 -217
- package/dist/esm/core/EmailOtpStores.js +0 -859
- package/dist/esm/core/IdentityStore.js +2 -426
- package/dist/esm/core/SessionService.js +7 -30
- 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 +1 -13
- package/dist/esm/core/ThresholdService/routerAbNormalSigningPolicy.js +4 -21
- package/dist/esm/core/ThresholdService/stores/WalletSessionStore.js +0 -617
- package/dist/esm/core/ThresholdService/validation.js +2 -346
- package/dist/esm/core/WalletAuthMethodStore.js +2 -123
- package/dist/esm/core/WalletStore.js +6 -214
- 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 -141
- package/dist/esm/core/authService/emailOtpSeal.js +0 -78
- package/dist/esm/core/authService/nearTransactions.js +3 -98
- package/dist/esm/core/authService/rateLimits.js +0 -87
- package/dist/esm/core/authService/thresholdEcdsaKeyInventory.js +2 -1
- package/dist/esm/core/authService/webauthn.js +14 -464
- package/dist/esm/core/authService/webauthnOidcHelpers.js +1 -24
- package/dist/esm/core/authService/webauthnVerificationOutcomes.js +5 -24
- package/dist/esm/core/authService/webauthnWalletBinding.js +0 -37
- package/dist/esm/core/config.js +1 -95
- package/dist/esm/core/d1EcdsaSignerRead.js +76 -0
- package/dist/esm/core/d1IdentityStore.js +17 -77
- package/dist/esm/core/d1TenantStore.js +1 -24
- package/dist/esm/core/d1WalletAuthMethodStore.js +2 -5
- package/dist/esm/core/d1WalletStore.js +15 -25
- package/dist/esm/core/deviceLinking/linkedDeviceBootstrap.js +13 -0
- package/dist/esm/core/deviceLinking/linkedDeviceEmailOtpGrant.js +1 -5
- package/dist/esm/core/deviceLinking/linkedDeviceSession.js +20 -14
- package/dist/esm/core/deviceLinking/linkedDeviceSessionApproval.js +1 -3
- package/dist/esm/core/deviceLinking/linkedDeviceSessionRecord.js +2 -8
- package/dist/esm/core/deviceLinking/requestProof.js +22 -10
- package/dist/esm/core/ecdsaMaterialReadSnapshot.js +85 -0
- package/dist/esm/core/emailOtpD1Statements.js +107 -94
- package/dist/esm/core/keyMaterialBrands.js +2 -12
- package/dist/esm/core/nearKeys.js +0 -1
- package/dist/esm/core/nearRelayerAccountProvisioning.js +8 -14
- package/dist/esm/core/passkeyCredentialClaims.js +8 -0
- package/dist/esm/core/routerAbSigning/RouterAbEcdsaPresignRuntime.js +2 -6
- package/dist/esm/core/routerAbSigning/RouterAbNormalSigningRuntime.js +2 -30
- package/dist/esm/core/signingLanes/WalletExecutionLaneProjection.js +3 -6
- package/dist/esm/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.js +2 -5
- package/dist/esm/core/thresholdEcdsaChainTarget.js +2 -7
- package/dist/esm/hosted-wallet-gateway.js +68 -45
- package/dist/esm/index.js +6 -19
- package/dist/esm/localHostedWalletGatewayHandler.js +25 -0
- package/dist/esm/localIntendedMaterialAdmissionFault.js +176 -0
- package/dist/esm/localIntendedPresignCancellation.js +44 -0
- package/dist/esm/localRegistrationSetupAuthority.js +89 -0
- package/dist/esm/router/auth/authRequestValidation.js +8 -16
- package/dist/esm/router/auth/commonRouterUtils.js +24 -10
- package/dist/esm/router/auth/walletSessionFailure.js +2 -5
- package/dist/esm/router/auth/webAuthnCredentialCodecs.js +4 -16
- package/dist/esm/router/cloudflare/d1/auth/d1AuthorizationAssembly.js +87 -0
- package/dist/esm/router/cloudflare/d1/auth/d1AuthorizedOperationRouteService.js +1 -0
- package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthBoundary.js +2 -6
- package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthConfig.js +12 -2
- package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthService.js +37 -308
- package/dist/esm/router/cloudflare/d1/auth/walletSessionCredentialReaders.js +76 -0
- package/dist/esm/router/cloudflare/d1/authorization/authorizedOperationStatements.js +52 -43
- package/dist/esm/router/cloudflare/d1/authorization/d1AuthorizationStore.js +217 -50
- package/dist/esm/router/cloudflare/d1/authorization/d1VaultProxyStore.js +8 -12
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.js +62 -21
- 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 +1 -1
- 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/d1LinkedDeviceSessionStore.js +89 -7
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.js +24 -15
- package/dist/esm/router/cloudflare/d1/deviceLinking/index.js +3 -3
- package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.js +9 -6
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.js +12 -56
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.js +17 -81
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.js +1 -1
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.js +0 -1
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpDeliveryRuntime.js +6 -25
- 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 +19 -13
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.js +12 -48
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.js +24 -86
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.js +9 -32
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.js +5 -21
- 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 +37 -136
- 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 +9 -88
- package/dist/esm/router/cloudflare/d1/near/d1SponsoredNearAccount.js +242 -0
- package/dist/esm/router/cloudflare/d1/oidc/d1OidcBoundary.js +18 -92
- package/dist/esm/router/cloudflare/d1/oidc/d1OidcVerificationService.js +4 -55
- package/dist/esm/router/cloudflare/d1/oidc/googleOidcToken.js +41 -0
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.js +9 -15
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.js +36 -7
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpRecords.js +9 -13
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpService.js +11 -50
- package/dist/esm/router/cloudflare/d1/registration/d1EvmFamilyEcdsaRegistrationBranch.js +5 -20
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.js +13 -10
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.js +9 -14
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.js +25 -13
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationIntentService.js +7 -31
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationSetupSupport.js +74 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.js +7 -1
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationService.js +101 -260
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetup.js +12 -56
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetupExecution.js +155 -0
- package/dist/esm/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.js +1 -3
- package/dist/esm/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.js +1 -4
- package/dist/esm/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.js +131 -31
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerFinalizeRecord.js +68 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerService.js +7 -54
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodService.js +9 -8
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorityStore.js +2 -142
- package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.js +55 -171
- package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnRecords.js +10 -79
- package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnStore.js +23 -7
- package/dist/esm/router/cloudflare/runtime/routerAbPrewarm.js +2 -2
- package/dist/esm/router/cloudflare/runtime/staticWalletConsoleBinding.js +6 -20
- package/dist/esm/router/cloudflare/runtime/tenantRootCreationGrant.js +2 -9
- package/dist/esm/router/cloudflare/runtime/walletConsoleOps.js +1 -0
- package/dist/esm/router/cloudflare/runtime/walletConsoleOpsClient.js +5 -0
- package/dist/esm/router/cloudflare/runtime/walletControlOps.js +2 -1
- package/dist/esm/router/cloudflare/runtime/walletGateway.js +1 -1
- package/dist/esm/router/cloudflare/runtime/walletRuntimeOps.js +16 -4
- package/dist/esm/router/cloudflare-adaptor.js +1 -2
- package/dist/esm/router/cloudflare.js +3390 -3437
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.js +11 -8
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.js +3 -2
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.js +6 -6
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPersistence.js +5 -8
- package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.js +6 -6
- package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.js +3 -0
- package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.js +8 -0
- package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryWalletSessionAuthorization.js +3 -6
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.js +6 -25
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.js +39 -55
- package/dist/esm/router/domains/emailOtp/emailOtpRequestValidation.js +0 -1
- package/dist/esm/router/domains/emailOtp/emailOtpRouteHandlers.js +15 -62
- package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.js +2 -8
- package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationCommit.js +2 -8
- package/dist/esm/router/domains/signingOperations/routerAbEcdsaDerivationNormalSigningRoute.js +83 -74
- package/dist/esm/router/domains/signingOperations/routerAbNormalSigningAdmission.js +1 -0
- package/dist/esm/router/domains/signingOperations/routerAbOperationStepUp.js +1 -0
- package/dist/esm/router/domains/signingOperations/routerAbPrivateSigningWorker.js +5 -19
- package/dist/esm/router/domains/signingOperations/walletExecutionAdmission.js +3 -7
- package/dist/esm/router/domains/tenantRoot/tenantRootIdentityResolution.js +7 -13
- package/dist/esm/router/domains/walletRegistration/walletRegistrationReservation.js +70 -0
- package/dist/esm/router/domains/walletRegistration/walletRegistrationRoutes.js +10 -11
- package/dist/esm/router/domains/walletRegistration/walletRegistrationSetupPayload.js +2 -3
- package/dist/esm/router/domains/walletUnlock/walletUnlockRouteHandlers.js +55 -200
- package/dist/esm/router/express.js +858 -1145
- package/dist/esm/router/framework/http.js +7 -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/framework/runtimeSnapshotConsumer.js +8 -35
- package/dist/esm/router/ror.js +0 -1
- package/dist/esm/router/transport/fetch/createFetchRouter.js +3 -8
- package/dist/esm/router/transport/fetch/routes/auth.js +11 -41
- package/dist/esm/router/transport/fetch/routes/deviceLinking.js +36 -147
- package/dist/esm/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.js +7 -23
- 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/passkeyCustody.js +1 -0
- package/dist/esm/router/transport/fetch/routes/sessions.js +1 -0
- package/dist/esm/router/transport/fetch/routes/syncAccount.js +15 -38
- package/dist/esm/router/transport/fetch/routes/thresholdEcdsa.js +46 -194
- package/dist/esm/router/transport/fetch/routes/walletExecutionLanePreflight.js +4 -1
- package/dist/esm/router/transport/fetch/routes/walletRegistration.js +3 -1
- package/dist/esm/router/transport/fetch/routes/webauthnAuthenticators.js +4 -16
- package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +0 -1
- package/dist/esm/shared-ts/src/authorization/walletSignerActivationEquality.js +12 -0
- package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +0 -2
- package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +2 -5
- package/dist/esm/shared-ts/src/device-linking/contracts.js +16 -1
- package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +1 -5
- package/dist/esm/shared-ts/src/device-linking/digests.js +1 -8
- package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +12 -16
- package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +5 -8
- package/dist/esm/shared-ts/src/near/actions.js +0 -1
- package/dist/esm/shared-ts/src/near/nearClient.js +0 -2
- package/dist/esm/shared-ts/src/passkey-custody/primitives.js +5 -1
- 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 +5 -9
- 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/tenantRootIdentifier.js +12 -0
- package/dist/esm/shared-ts/src/tenant-root/tenantRootIdentity.js +2 -9
- package/dist/esm/shared-ts/src/tenant-root/tenantRootOperationRecord.js +2 -6
- 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 +2 -5
- package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +0 -1
- package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +3 -1
- package/dist/esm/shared-ts/src/utils/errors.js +1 -19
- package/dist/esm/shared-ts/src/utils/exactKeys.js +17 -0
- package/dist/esm/shared-ts/src/utils/failure.js +20 -0
- 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 +3 -13
- package/dist/esm/shared-ts/src/utils/registrationSetupOperation.js +8 -0
- package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +3 -6
- package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +1 -2
- package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +1 -1
- package/dist/esm/shared-ts/src/utils/thresholdEcdsaChainTarget.js +9 -0
- 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/walletRecoveryCommittedProjection.js +1 -4
- package/dist/esm/storage/d1Sql.js +1 -7
- package/dist/esm/threshold/session/signingSessionSeal/crypto/cipher.js +10 -33
- package/dist/esm/threshold/session/signingSessionSeal/guards/backends.js +1 -2
- package/dist/esm/threshold/session/signingSessionSeal/idempotencyBackends.js +3 -4
- package/dist/esm/threshold/session/signingSessionSeal/idempotencyRecords.js +3 -10
- package/dist/esm/threshold/session/signingSessionSeal/options.js +0 -1
- package/dist/esm/threshold/session/signingSessionSeal/service.js +8 -35
- package/dist/esm/threshold/session/signingSessionSeal/transport/express.js +18 -94
- package/dist/esm/threshold/session/signingSessionSeal/transport/fetch.js +6 -30
- package/dist/esm/threshold/session/signingSessionSeal/transport/shared.js +5 -20
- 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/authorization/delegatedAuthority.d.ts +2 -1
- package/dist/types/shared-ts/src/authorization/walletSessionIssuance.d.ts +9 -2
- package/dist/types/shared-ts/src/authorization/walletSignerActivationEquality.d.ts +4 -0
- package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +3 -4
- package/dist/types/shared-ts/src/device-linking/contracts.d.ts +6 -63
- package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +2 -0
- package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +5 -12
- package/dist/types/shared-ts/src/passkey-custody/primitives.d.ts +9 -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 +11 -12
- package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +3 -17
- 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 -845
- package/dist/types/shared-ts/src/tenant-root/tenantRootIdentifier.d.ts +3 -0
- package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +2 -1
- package/dist/types/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.d.ts +6 -0
- 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/threshold/signingRootScope.d.ts +1 -0
- 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/ecdsaKeyFactsInventory.d.ts +2 -11
- package/dist/types/shared-ts/src/utils/eip1559TxWasmJson.d.ts +16 -0
- package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/errors.d.ts +0 -4
- package/dist/types/shared-ts/src/utils/exactKeys.d.ts +11 -0
- package/dist/types/shared-ts/src/utils/failure.d.ts +12 -0
- package/dist/types/shared-ts/src/utils/jsonRpc.d.ts +3 -4
- package/dist/types/shared-ts/src/utils/near.d.ts +0 -20
- package/dist/types/shared-ts/src/utils/nearRpcResults.d.ts +1 -0
- package/dist/types/shared-ts/src/utils/normalize.d.ts +0 -2
- package/dist/types/shared-ts/src/utils/registrationAuthMethodInput.d.ts +3 -8
- package/dist/types/shared-ts/src/utils/registrationSetupOperation.d.ts +3 -0
- package/dist/types/shared-ts/src/utils/registrationSignerPlan.d.ts +7 -19
- package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +3 -1
- package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +1 -0
- package/dist/types/shared-ts/src/utils/routerAbEd25519YaoDigests.d.ts +3 -4
- package/dist/types/shared-ts/src/utils/routerAbNormalSigningIdentity.d.ts +30 -8
- package/dist/types/shared-ts/src/utils/routerApiKeyAuth.d.ts +2 -0
- package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +10 -11
- package/dist/types/shared-ts/src/utils/thresholdEcdsaChainTarget.d.ts +25 -0
- package/dist/types/shared-ts/src/utils/validation.d.ts +1 -3
- package/dist/types/shared-ts/src/utils/variant.d.ts +18 -0
- package/dist/types/shared-ts/src/utils/walletAuthMethodRecord.d.ts +3 -6
- 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/webauthnDeviceInfo.d.ts +4 -2
- 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/recoveryEnvelopes.d.ts +3 -16
- package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +5 -21
- package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryPreparation.d.ts +15 -0
- package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryTarget.d.ts +3 -4
- package/dist/types/wallet-server/src/authorization/domain.d.ts +13 -2
- package/dist/types/wallet-server/src/authorization/ecdsaWalletSessionAdmission.d.ts +27 -3
- 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 +27 -1
- package/dist/types/wallet-server/src/authorization/sessionRouting.d.ts +20 -0
- package/dist/types/wallet-server/src/authorization/sessionRouting.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/cloud-host.d.ts +31 -9
- package/dist/types/wallet-server/src/core/EmailOtpRecords.d.ts +1 -22
- package/dist/types/wallet-server/src/core/EmailOtpStores.d.ts +1 -79
- 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 +0 -3
- 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 +6 -18
- package/dist/types/wallet-server/src/core/ThresholdService/validation.d.ts +0 -127
- 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 +8 -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 +1 -14
- 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/d1EcdsaSignerRead.d.ts +39 -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 +10 -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/linkedDeviceSessionRecord.d.ts +3 -4
- package/dist/types/wallet-server/src/core/deviceLinking/requestProof.d.ts +2 -5
- package/dist/types/wallet-server/src/core/ecdsaMaterialReadSnapshot.d.ts +19 -0
- package/dist/types/wallet-server/src/core/emailOtpD1Statements.d.ts +10 -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 +0 -2
- package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbNormalSigningRuntime.d.ts +3 -7
- package/dist/types/wallet-server/src/core/rpcClients/near/NearClient.d.ts +1 -2
- package/dist/types/wallet-server/src/core/signingLanes/WalletExecutionLaneProjection.d.ts +2 -11
- package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.d.ts +1 -92
- package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.typecheck.d.ts +4 -52
- package/dist/types/wallet-server/src/core/thresholdEcdsaChainTarget.d.ts +3 -12
- package/dist/types/wallet-server/src/core/types.d.ts +2 -305
- package/dist/types/wallet-server/src/hosted-wallet-gateway.d.ts +15 -3
- package/dist/types/wallet-server/src/index.d.ts +8 -13
- package/dist/types/wallet-server/src/localIntendedMaterialAdmissionFault.d.ts +38 -0
- package/dist/types/wallet-server/src/localIntendedPresignCancellation.d.ts +4 -0
- package/dist/types/wallet-server/src/localRegistrationSetupAuthority.d.ts +13 -0
- package/dist/types/wallet-server/src/router/auth/authRequestValidation.d.ts +4 -9
- package/dist/types/wallet-server/src/router/auth/commonRouterUtils.d.ts +15 -1
- 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/d1RouterApiAuthBoundary.d.ts +0 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthConfig.d.ts +25 -3
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthService.d.ts +1 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/auth/walletSessionCredentialReaders.d.ts +9 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/authorizedOperationStatements.d.ts +4 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/d1AuthorizationStore.d.ts +11 -2
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.d.ts +22 -3
- 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 +8 -6
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.d.ts +5 -8
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.d.ts +1 -13
- 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 +1 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.d.ts +2 -8
- 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 +20 -11
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.d.ts +5 -5
- package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.d.ts +4 -14
- 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 +9 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.d.ts +3 -7
- 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 +3 -2
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationSetupSupport.d.ts +51 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.d.ts +3 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationService.d.ts +35 -50
- 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 +11 -0
- package/dist/types/wallet-server/src/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.d.ts +14 -1
- 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 +1 -10
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodService.d.ts +2 -2
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorityStore.d.ts +0 -4
- 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 +8 -50
- 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/walletConsoleOps.d.ts +9 -34
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOpsClient.d.ts +2 -0
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletGateway.d.ts +1 -1
- package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRuntimeOps.d.ts +3 -0
- package/dist/types/wallet-server/src/router/cloudflare-adaptor.d.ts +0 -1
- package/dist/types/wallet-server/src/router/domains/ecdsa/thresholdEcdsaRequestValidation.d.ts +3 -15
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.d.ts +1 -1
- 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 +2 -2
- 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/routerAbEd25519YaoRecoveryRequestScopedCloudflare.d.ts +2 -0
- package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/routerAbEd25519YaoWalletSession.d.ts +9 -50
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.d.ts +0 -2
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationCommit.d.ts +0 -3
- package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryKeyManifest.d.ts +1 -13
- package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbEcdsaDerivationNormalSigningRoute.d.ts +8 -9
- package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmission.d.ts +13 -0
- package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbOperationStepUp.d.ts +3 -4
- package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbPrivateSigningWorker.d.ts +7 -33
- package/dist/types/wallet-server/src/router/domains/signingOperations/walletExecutionAdmission.d.ts +1 -2
- package/dist/types/wallet-server/src/router/domains/syncAccount/syncAccountRequestValidation.d.ts +2 -7
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationInputs.d.ts +1 -0
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationReservation.d.ts +51 -0
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationRoutes.d.ts +2 -10
- 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 +3 -1
- package/dist/types/wallet-server/src/router/framework/authServicePort.d.ts +39 -38
- package/dist/types/wallet-server/src/router/framework/googleLoginResolution.typecheck.d.ts +2 -0
- package/dist/types/wallet-server/src/router/framework/http.d.ts +1 -0
- package/dist/types/wallet-server/src/router/framework/registrationSetupDispatch.d.ts +13 -0
- package/dist/types/wallet-server/src/router/framework/ror/normalize.d.ts +1 -9
- 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/deviceLinkingOwnerAuthorization.d.ts +3 -6
- 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/syncAccountBootstrap.d.ts +3 -5
- package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEcdsa.d.ts +0 -1
- package/dist/types/wallet-server/src/storage/d1Sql.d.ts +0 -1
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/idempotencyRecords.d.ts +1 -2
- package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/signingSessionSeal.types.d.ts +6 -8
- 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/package.json +2 -3
- package/src/README.md +11 -3
- 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/authService/AuthService.js +0 -594
- package/dist/esm/core/authService/bytes.js +0 -22
- package/dist/esm/core/authService/configValues.js +0 -15
- package/dist/esm/core/authService/emailOtpChallengeOperations.js +0 -126
- package/dist/esm/core/authService/emailOtpChallengeProof.js +0 -214
- package/dist/esm/core/authService/emailOtpChallengeVerification.js +0 -335
- package/dist/esm/core/authService/emailOtpChallenges.js +0 -260
- package/dist/esm/core/authService/emailOtpDelivery.js +0 -169
- package/dist/esm/core/authService/emailOtpGrant.js +0 -74
- package/dist/esm/core/authService/emailOtpRegistrationEnrollment.js +0 -175
- package/dist/esm/core/authService/emailOtpUnlock.js +0 -264
- package/dist/esm/core/authService/googleEmailOtpOperations.js +0 -141
- package/dist/esm/core/authService/googleEmailOtpRegistration.js +0 -674
- package/dist/esm/core/authService/identity.js +0 -57
- 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 -127
- package/dist/esm/core/authService/oidcVerification.js +0 -261
- 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/signingLanes/signingWorkerLaneMaterialIdentity.js +0 -0
- 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 -56
- 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 -404
- package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.js +0 -596
- 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 -39
- 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/esm/wasm/router_ab_ecdsa_signing_worker/pkg/router_ab_ecdsa_signing_worker_bg.wasm +0 -0
- 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/authService/AuthService.d.ts +0 -490
- package/dist/types/wallet-server/src/core/authService/bytes.d.ts +0 -4
- 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 -94
- 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 -71
- 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 -21
- 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/recoveryRouting.js} +0 -0
- /package/dist/esm/{core/signingLanes/LaneLifecycleStore.js → authorization/sessionRouting.js} +0 -0
|
@@ -6,6 +6,7 @@ import { ROUTER_AB_ED25519_YAO_EMAIL_OTP_RECOVERY_BOOTSTRAP_KIND_V1 } from "../.
|
|
|
6
6
|
import { walletAuthAuthorityRef } from "../../../shared-ts/src/utils/walletAuthAuthority.js";
|
|
7
7
|
import { parseSessionOrigin, parseVerifiedOwnerProofId, projectActiveWalletSession } from "../../../authorization/domain.js";
|
|
8
8
|
import { buildVerifiedWalletSessionEmailOtpFactorResult, buildVerifiedWalletSessionPasskeyFactorResult } from "../../../authorization/factorEvidence.js";
|
|
9
|
+
import { failure } from "../../../shared-ts/src/utils/failure.js";
|
|
9
10
|
import { emailOtpFailureWebhookEventDescriptors, emailOtpLoggedInWebhookEventDescriptor } from "../emailOtp/emailOtpSessionRouteHelpers.js";
|
|
10
11
|
import { EMAIL_OTP_CHANNEL } from "../../../shared-ts/src/utils/emailOtpDomain.js";
|
|
11
12
|
import { thresholdEd25519StatusCode } from "../../../threshold/statusCodes.js";
|
|
@@ -58,11 +59,7 @@ async function refreshEmailOtpWalletUnlockSessionState(input) {
|
|
|
58
59
|
ok: false,
|
|
59
60
|
response: {
|
|
60
61
|
status: 500,
|
|
61
|
-
body:
|
|
62
|
-
ok: false,
|
|
63
|
-
code: "internal",
|
|
64
|
-
message: error instanceof Error ? error.message : "Email OTP authority refresh resolution failed"
|
|
65
|
-
}
|
|
62
|
+
body: failure("internal", error instanceof Error ? error.message : "Email OTP authority refresh resolution failed")
|
|
66
63
|
}
|
|
67
64
|
};
|
|
68
65
|
}
|
|
@@ -70,11 +67,7 @@ async function refreshEmailOtpWalletUnlockSessionState(input) {
|
|
|
70
67
|
ok: false,
|
|
71
68
|
response: {
|
|
72
69
|
status: authorityResolution.code === "internal" ? 500 : 403,
|
|
73
|
-
body:
|
|
74
|
-
ok: false,
|
|
75
|
-
code: authorityResolution.code,
|
|
76
|
-
message: authorityResolution.message
|
|
77
|
-
}
|
|
70
|
+
body: failure(authorityResolution.code, authorityResolution.message)
|
|
78
71
|
}
|
|
79
72
|
};
|
|
80
73
|
try {
|
|
@@ -91,11 +84,7 @@ async function refreshEmailOtpWalletUnlockSessionState(input) {
|
|
|
91
84
|
ok: false,
|
|
92
85
|
response: {
|
|
93
86
|
status: 500,
|
|
94
|
-
body:
|
|
95
|
-
ok: false,
|
|
96
|
-
code: "internal",
|
|
97
|
-
message: error instanceof Error ? error.message : "Email OTP Wallet Session authority projection refresh failed"
|
|
98
|
-
}
|
|
87
|
+
body: failure("internal", error instanceof Error ? error.message : "Email OTP Wallet Session authority projection refresh failed")
|
|
99
88
|
}
|
|
100
89
|
};
|
|
101
90
|
}
|
|
@@ -106,11 +95,7 @@ function walletUnlockCustodyUnavailableResponse(lookup, factor) {
|
|
|
106
95
|
ok: false,
|
|
107
96
|
response: {
|
|
108
97
|
status: lookup.kind === "manifest_unavailable" ? 503 : lookup.kind === "conflict" ? 409 : lookup.kind === "missing" ? 404 : 409,
|
|
109
|
-
body: {
|
|
110
|
-
ok: false,
|
|
111
|
-
code: lookup.kind === "manifest_unavailable" ? "custody_manifest_unavailable" : "custody_envelope_unavailable",
|
|
112
|
-
message: `${factor} wallet custody is unavailable`
|
|
113
|
-
}
|
|
98
|
+
body: failure(lookup.kind === "manifest_unavailable" ? "custody_manifest_unavailable" : "custody_envelope_unavailable", `${factor} wallet custody is unavailable`)
|
|
114
99
|
}
|
|
115
100
|
};
|
|
116
101
|
}
|
|
@@ -125,11 +110,7 @@ function projectEmailOtpCustody(verifiedUnlock, lookup) {
|
|
|
125
110
|
ok: false,
|
|
126
111
|
response: {
|
|
127
112
|
status: 500,
|
|
128
|
-
body:
|
|
129
|
-
ok: false,
|
|
130
|
-
code: "custody_binding_mismatch",
|
|
131
|
-
message: "Email OTP wallet custody binding is invalid"
|
|
132
|
-
}
|
|
113
|
+
body: failure("custody_binding_mismatch", "Email OTP wallet custody binding is invalid")
|
|
133
114
|
}
|
|
134
115
|
};
|
|
135
116
|
return {
|
|
@@ -159,11 +140,7 @@ function projectPasskeyCustody(verifiedUnlock, resolution) {
|
|
|
159
140
|
ok: false,
|
|
160
141
|
response: {
|
|
161
142
|
status: 500,
|
|
162
|
-
body:
|
|
163
|
-
ok: false,
|
|
164
|
-
code: "custody_binding_mismatch",
|
|
165
|
-
message: "Passkey wallet custody binding is invalid"
|
|
166
|
-
}
|
|
143
|
+
body: failure("custody_binding_mismatch", "Passkey wallet custody binding is invalid")
|
|
167
144
|
}
|
|
168
145
|
};
|
|
169
146
|
let ed25519 = { kind: "absent" };
|
|
@@ -175,11 +152,7 @@ function projectPasskeyCustody(verifiedUnlock, resolution) {
|
|
|
175
152
|
ok: false,
|
|
176
153
|
response: {
|
|
177
154
|
status: 500,
|
|
178
|
-
body:
|
|
179
|
-
ok: false,
|
|
180
|
-
code: "custody_binding_mismatch",
|
|
181
|
-
message: "Passkey Ed25519 custody binding is invalid"
|
|
182
|
-
}
|
|
155
|
+
body: failure("custody_binding_mismatch", "Passkey Ed25519 custody binding is invalid")
|
|
183
156
|
}
|
|
184
157
|
};
|
|
185
158
|
ed25519 = {
|
|
@@ -210,11 +183,7 @@ async function provisionFirstEcdsaWalletSession(input) {
|
|
|
210
183
|
ok: false,
|
|
211
184
|
response: {
|
|
212
185
|
status: 403,
|
|
213
|
-
body:
|
|
214
|
-
ok: false,
|
|
215
|
-
code: "scope_mismatch",
|
|
216
|
-
message: "Wallet unlock proof does not match the requested ECDSA wallet"
|
|
217
|
-
}
|
|
186
|
+
body: failure("scope_mismatch", "Wallet unlock proof does not match the requested ECDSA wallet")
|
|
218
187
|
}
|
|
219
188
|
};
|
|
220
189
|
const provisioned = await input.context.provisionWalletSession(input.authorization);
|
|
@@ -222,11 +191,7 @@ async function provisionFirstEcdsaWalletSession(input) {
|
|
|
222
191
|
ok: false,
|
|
223
192
|
response: {
|
|
224
193
|
status: provisioned.status,
|
|
225
|
-
body:
|
|
226
|
-
ok: false,
|
|
227
|
-
code: provisioned.code,
|
|
228
|
-
message: provisioned.message
|
|
229
|
-
}
|
|
194
|
+
body: failure(provisioned.code, provisioned.message)
|
|
230
195
|
}
|
|
231
196
|
};
|
|
232
197
|
return {
|
|
@@ -254,11 +219,7 @@ function walletUnlockScopeMismatchResponse() {
|
|
|
254
219
|
ok: false,
|
|
255
220
|
response: {
|
|
256
221
|
status: 403,
|
|
257
|
-
body:
|
|
258
|
-
ok: false,
|
|
259
|
-
code: "scope_mismatch",
|
|
260
|
-
message: "Email OTP unlock proof does not match the requested Ed25519 wallet"
|
|
261
|
-
}
|
|
222
|
+
body: failure("scope_mismatch", "Email OTP unlock proof does not match the requested Ed25519 wallet")
|
|
262
223
|
}
|
|
263
224
|
};
|
|
264
225
|
}
|
|
@@ -322,11 +283,7 @@ function planWalletUnlockAuthorityEcdsaSession(input) {
|
|
|
322
283
|
function walletUnlockDeviceLinkEcdsaSessionRejection() {
|
|
323
284
|
return {
|
|
324
285
|
status: 400,
|
|
325
|
-
body:
|
|
326
|
-
ok: false,
|
|
327
|
-
code: "invalid_body",
|
|
328
|
-
message: "ecdsaSessionPolicy is not supported for device-linked wallet unlock"
|
|
329
|
-
}
|
|
286
|
+
body: failure("invalid_body", "ecdsaSessionPolicy is not supported for device-linked wallet unlock")
|
|
330
287
|
};
|
|
331
288
|
}
|
|
332
289
|
function planWalletUnlockPasskeySession(input) {
|
|
@@ -369,11 +326,7 @@ async function provisionPasskeyEd25519YaoSession(input) {
|
|
|
369
326
|
ok: false,
|
|
370
327
|
response: {
|
|
371
328
|
status: 409,
|
|
372
|
-
body:
|
|
373
|
-
ok: false,
|
|
374
|
-
code: "capability_unavailable",
|
|
375
|
-
message: "Requested Ed25519 Wallet Session is unavailable"
|
|
376
|
-
}
|
|
329
|
+
body: failure("capability_unavailable", "Requested Ed25519 Wallet Session is unavailable")
|
|
377
330
|
}
|
|
378
331
|
};
|
|
379
332
|
const provisioned = await input.context.provisionWalletSession({
|
|
@@ -427,11 +380,7 @@ function walletUnlockEcdsaOperationCredential(input) {
|
|
|
427
380
|
function walletUnlockEcdsaCredentialUnavailableResponse() {
|
|
428
381
|
return {
|
|
429
382
|
status: 409,
|
|
430
|
-
body:
|
|
431
|
-
ok: false,
|
|
432
|
-
code: "capability_unavailable",
|
|
433
|
-
message: "ECDSA activation requires the exact Wallet Session operation credential"
|
|
434
|
-
}
|
|
383
|
+
body: failure("capability_unavailable", "ECDSA activation requires the exact Wallet Session operation credential")
|
|
435
384
|
};
|
|
436
385
|
}
|
|
437
386
|
/** The unlock response's Wallet Session, when the unlock holds one. */
|
|
@@ -467,11 +416,7 @@ function parseWalletUnlockRouteBody(body) {
|
|
|
467
416
|
ok: false,
|
|
468
417
|
response: {
|
|
469
418
|
status: 400,
|
|
470
|
-
body:
|
|
471
|
-
ok: false,
|
|
472
|
-
code: "invalid_body",
|
|
473
|
-
message: "Request body is required"
|
|
474
|
-
}
|
|
419
|
+
body: failure("invalid_body", "Request body is required")
|
|
475
420
|
}
|
|
476
421
|
};
|
|
477
422
|
const record = body;
|
|
@@ -480,11 +425,7 @@ function parseWalletUnlockRouteBody(body) {
|
|
|
480
425
|
ok: false,
|
|
481
426
|
response: {
|
|
482
427
|
status: 400,
|
|
483
|
-
body:
|
|
484
|
-
ok: false,
|
|
485
|
-
code: "invalid_body",
|
|
486
|
-
message: "unlockBackend is required"
|
|
487
|
-
}
|
|
428
|
+
body: failure("invalid_body", "unlockBackend is required")
|
|
488
429
|
}
|
|
489
430
|
};
|
|
490
431
|
return {
|
|
@@ -501,11 +442,7 @@ async function handleWalletUnlockChallengeRoute(input) {
|
|
|
501
442
|
const walletAuthMethodId = parseRequiredWalletAuthMethodId(body.walletAuthMethodId);
|
|
502
443
|
if (!walletAuthMethodId.ok) return {
|
|
503
444
|
status: 400,
|
|
504
|
-
body:
|
|
505
|
-
ok: false,
|
|
506
|
-
code: "invalid_body",
|
|
507
|
-
message: walletAuthMethodId.message
|
|
508
|
-
}
|
|
445
|
+
body: failure("invalid_body", walletAuthMethodId.message)
|
|
509
446
|
};
|
|
510
447
|
}
|
|
511
448
|
const result = unlockBackend === "passkey" ? await input.service.createWebAuthnLoginOptions({
|
|
@@ -517,6 +454,20 @@ async function handleWalletUnlockChallengeRoute(input) {
|
|
|
517
454
|
orgId: body.orgId,
|
|
518
455
|
ttlMs: body.ttlMs
|
|
519
456
|
});
|
|
457
|
+
if (!result.ok && result.code === "wallet_home_unavailable") return {
|
|
458
|
+
status: 503,
|
|
459
|
+
body: {
|
|
460
|
+
...result,
|
|
461
|
+
unlockBackend
|
|
462
|
+
}
|
|
463
|
+
};
|
|
464
|
+
if (!result.ok && result.code === "wallet_home_conflict") return {
|
|
465
|
+
status: 409,
|
|
466
|
+
body: {
|
|
467
|
+
...result,
|
|
468
|
+
unlockBackend
|
|
469
|
+
}
|
|
470
|
+
};
|
|
520
471
|
return {
|
|
521
472
|
status: result.ok ? 200 : result.code === "internal" ? 500 : 400,
|
|
522
473
|
body: {
|
|
@@ -688,20 +639,12 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
688
639
|
const challengeId = String(body.challengeId || "").trim();
|
|
689
640
|
if (!challengeId) return {
|
|
690
641
|
status: 400,
|
|
691
|
-
body:
|
|
692
|
-
ok: false,
|
|
693
|
-
code: "invalid_body",
|
|
694
|
-
message: "challengeId is required"
|
|
695
|
-
}
|
|
642
|
+
body: failure("invalid_body", "challengeId is required")
|
|
696
643
|
};
|
|
697
644
|
if (unlockBackend === "passkey") {
|
|
698
645
|
if (input.capabilityContext.kind !== "passkey_unlock") return {
|
|
699
646
|
status: 400,
|
|
700
|
-
body:
|
|
701
|
-
ok: false,
|
|
702
|
-
code: "invalid_body",
|
|
703
|
-
message: "Passkey unlock context is invalid"
|
|
704
|
-
}
|
|
647
|
+
body: failure("invalid_body", "Passkey unlock context is invalid")
|
|
705
648
|
};
|
|
706
649
|
let ed25519SessionRequest;
|
|
707
650
|
try {
|
|
@@ -709,11 +652,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
709
652
|
} catch (error) {
|
|
710
653
|
return {
|
|
711
654
|
status: 400,
|
|
712
|
-
body:
|
|
713
|
-
ok: false,
|
|
714
|
-
code: "invalid_body",
|
|
715
|
-
message: error instanceof Error ? error.message : "Ed25519 session request is invalid"
|
|
716
|
-
}
|
|
655
|
+
body: failure("invalid_body", error instanceof Error ? error.message : "Ed25519 session request is invalid")
|
|
717
656
|
};
|
|
718
657
|
}
|
|
719
658
|
const result = await verifyPasskeyWalletUnlock({
|
|
@@ -732,11 +671,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
732
671
|
const userId = String(result.userId || "").trim();
|
|
733
672
|
if (!userId) return {
|
|
734
673
|
status: 500,
|
|
735
|
-
body:
|
|
736
|
-
ok: false,
|
|
737
|
-
code: "internal",
|
|
738
|
-
message: "Verified passkey user is missing"
|
|
739
|
-
}
|
|
674
|
+
body: failure("internal", "Verified passkey user is missing")
|
|
740
675
|
};
|
|
741
676
|
const walletId = parseWalletId(userId);
|
|
742
677
|
const walletAuthMethodId = parseWalletAuthMethodId(result.walletAuthMethodId);
|
|
@@ -745,11 +680,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
745
680
|
const credentialIdB64u = parseWebAuthnCredentialIdB64u(result.credentialIdB64u);
|
|
746
681
|
if (!walletId.ok || !walletAuthMethodId.ok || !walletAuthorityId.ok || !rpId.ok || !credentialIdB64u.ok) return {
|
|
747
682
|
status: 500,
|
|
748
|
-
body:
|
|
749
|
-
ok: false,
|
|
750
|
-
code: "internal",
|
|
751
|
-
message: "Verified passkey identity is invalid"
|
|
752
|
-
}
|
|
683
|
+
body: failure("internal", "Verified passkey identity is invalid")
|
|
753
684
|
};
|
|
754
685
|
let authorization;
|
|
755
686
|
try {
|
|
@@ -767,11 +698,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
767
698
|
} catch (error) {
|
|
768
699
|
return {
|
|
769
700
|
status: 403,
|
|
770
|
-
body:
|
|
771
|
-
ok: false,
|
|
772
|
-
code: "owner_proof_rejected",
|
|
773
|
-
message: error instanceof Error ? error.message : "Passkey owner proof is invalid"
|
|
774
|
-
}
|
|
701
|
+
body: failure("owner_proof_rejected", error instanceof Error ? error.message : "Passkey owner proof is invalid")
|
|
775
702
|
};
|
|
776
703
|
}
|
|
777
704
|
const resolvePasskeyAuthority = () => input.service.resolveActivePasskeyAuthorityForUnlock({
|
|
@@ -789,11 +716,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
789
716
|
} catch (error) {
|
|
790
717
|
return {
|
|
791
718
|
status: 500,
|
|
792
|
-
body:
|
|
793
|
-
ok: false,
|
|
794
|
-
code: "internal",
|
|
795
|
-
message: error instanceof Error ? error.message : "Passkey authority resolution failed"
|
|
796
|
-
}
|
|
719
|
+
body: failure("internal", error instanceof Error ? error.message : "Passkey authority resolution failed")
|
|
797
720
|
};
|
|
798
721
|
}
|
|
799
722
|
if (authorityResolution.kind === "active_authority") {
|
|
@@ -810,11 +733,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
810
733
|
switch (sessionPlan.kind) {
|
|
811
734
|
case "rejected": return {
|
|
812
735
|
status: walletUnlockIssuanceRejectionStatus(sessionPlan.authorityResolution),
|
|
813
|
-
body:
|
|
814
|
-
ok: false,
|
|
815
|
-
code: sessionPlan.authorityResolution.code,
|
|
816
|
-
message: sessionPlan.authorityResolution.message
|
|
817
|
-
}
|
|
736
|
+
body: failure(sessionPlan.authorityResolution.code, sessionPlan.authorityResolution.message)
|
|
818
737
|
};
|
|
819
738
|
case "wallet_registration":
|
|
820
739
|
passkeyCustodyRequired = true;
|
|
@@ -836,11 +755,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
836
755
|
} catch (error) {
|
|
837
756
|
return {
|
|
838
757
|
status: 500,
|
|
839
|
-
body:
|
|
840
|
-
ok: false,
|
|
841
|
-
code: "internal",
|
|
842
|
-
message: error instanceof Error ? error.message : "Passkey Wallet Session issuance failed"
|
|
843
|
-
}
|
|
758
|
+
body: failure("internal", error instanceof Error ? error.message : "Passkey Wallet Session issuance failed")
|
|
844
759
|
};
|
|
845
760
|
}
|
|
846
761
|
switch (sessionResolution.kind) {
|
|
@@ -861,11 +776,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
861
776
|
break;
|
|
862
777
|
case "rejected": return {
|
|
863
778
|
status: walletUnlockIssuanceRejectionStatus(sessionResolution),
|
|
864
|
-
body:
|
|
865
|
-
ok: false,
|
|
866
|
-
code: sessionResolution.code,
|
|
867
|
-
message: sessionResolution.message
|
|
868
|
-
}
|
|
779
|
+
body: failure(sessionResolution.code, sessionResolution.message)
|
|
869
780
|
};
|
|
870
781
|
}
|
|
871
782
|
break;
|
|
@@ -884,11 +795,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
884
795
|
} catch (error) {
|
|
885
796
|
return {
|
|
886
797
|
status: 503,
|
|
887
|
-
body:
|
|
888
|
-
ok: false,
|
|
889
|
-
code: "custody_unavailable",
|
|
890
|
-
message: error instanceof Error ? error.message : "Passkey wallet custody is unavailable"
|
|
891
|
-
}
|
|
798
|
+
body: failure("custody_unavailable", error instanceof Error ? error.message : "Passkey wallet custody is unavailable")
|
|
892
799
|
};
|
|
893
800
|
}
|
|
894
801
|
const ed25519Session = await provisionPasskeyEd25519YaoSession({
|
|
@@ -930,20 +837,12 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
930
837
|
} catch (error) {
|
|
931
838
|
return {
|
|
932
839
|
status: 500,
|
|
933
|
-
body:
|
|
934
|
-
ok: false,
|
|
935
|
-
code: "internal",
|
|
936
|
-
message: error instanceof Error ? error.message : "Passkey authority refresh resolution failed"
|
|
937
|
-
}
|
|
840
|
+
body: failure("internal", error instanceof Error ? error.message : "Passkey authority refresh resolution failed")
|
|
938
841
|
};
|
|
939
842
|
}
|
|
940
843
|
if (refreshedAuthority.kind === "rejected") return {
|
|
941
844
|
status: walletUnlockIssuanceRejectionStatus(refreshedAuthority),
|
|
942
|
-
body:
|
|
943
|
-
ok: false,
|
|
944
|
-
code: refreshedAuthority.code,
|
|
945
|
-
message: refreshedAuthority.message
|
|
946
|
-
}
|
|
845
|
+
body: failure(refreshedAuthority.code, refreshedAuthority.message)
|
|
947
846
|
};
|
|
948
847
|
try {
|
|
949
848
|
walletSessionState = await refreshWalletUnlockSessionState({
|
|
@@ -954,11 +853,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
954
853
|
} catch (error) {
|
|
955
854
|
return {
|
|
956
855
|
status: 500,
|
|
957
|
-
body:
|
|
958
|
-
ok: false,
|
|
959
|
-
code: "internal",
|
|
960
|
-
message: error instanceof Error ? error.message : "Passkey Wallet Session authority projection refresh failed"
|
|
961
|
-
}
|
|
856
|
+
body: failure("internal", error instanceof Error ? error.message : "Passkey Wallet Session authority projection refresh failed")
|
|
962
857
|
};
|
|
963
858
|
}
|
|
964
859
|
}
|
|
@@ -987,20 +882,12 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
987
882
|
}
|
|
988
883
|
if (input.capabilityContext.kind === "passkey_unlock") return {
|
|
989
884
|
status: 400,
|
|
990
|
-
body:
|
|
991
|
-
ok: false,
|
|
992
|
-
code: "invalid_body",
|
|
993
|
-
message: "Email OTP unlock context is invalid"
|
|
994
|
-
}
|
|
885
|
+
body: failure("invalid_body", "Email OTP unlock context is invalid")
|
|
995
886
|
};
|
|
996
887
|
const requestedWalletAuthMethodId = parseRequiredWalletAuthMethodId(body.walletAuthMethodId);
|
|
997
888
|
if (!requestedWalletAuthMethodId.ok) return {
|
|
998
889
|
status: 400,
|
|
999
|
-
body:
|
|
1000
|
-
ok: false,
|
|
1001
|
-
code: "invalid_body",
|
|
1002
|
-
message: requestedWalletAuthMethodId.message
|
|
1003
|
-
}
|
|
890
|
+
body: failure("invalid_body", requestedWalletAuthMethodId.message)
|
|
1004
891
|
};
|
|
1005
892
|
const result = await input.service.verifyEmailOtpUnlockProof({
|
|
1006
893
|
walletId: body.walletId,
|
|
@@ -1027,11 +914,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
1027
914
|
const walletId = parseWalletId(result.walletId);
|
|
1028
915
|
if (!walletId.ok) return {
|
|
1029
916
|
status: 500,
|
|
1030
|
-
body:
|
|
1031
|
-
ok: false,
|
|
1032
|
-
code: "internal",
|
|
1033
|
-
message: "Verified Email OTP wallet identity is invalid"
|
|
1034
|
-
}
|
|
917
|
+
body: failure("internal", "Verified Email OTP wallet identity is invalid")
|
|
1035
918
|
};
|
|
1036
919
|
let authorityResolution;
|
|
1037
920
|
try {
|
|
@@ -1044,20 +927,12 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
1044
927
|
} catch (error) {
|
|
1045
928
|
return {
|
|
1046
929
|
status: 500,
|
|
1047
|
-
body:
|
|
1048
|
-
ok: false,
|
|
1049
|
-
code: "internal",
|
|
1050
|
-
message: error instanceof Error ? error.message : "Email OTP authority resolution failed"
|
|
1051
|
-
}
|
|
930
|
+
body: failure("internal", error instanceof Error ? error.message : "Email OTP authority resolution failed")
|
|
1052
931
|
};
|
|
1053
932
|
}
|
|
1054
933
|
if (authorityResolution.kind === "rejected") return {
|
|
1055
934
|
status: authorityResolution.code === "internal" ? 500 : 403,
|
|
1056
|
-
body:
|
|
1057
|
-
ok: false,
|
|
1058
|
-
code: authorityResolution.code,
|
|
1059
|
-
message: authorityResolution.message
|
|
1060
|
-
}
|
|
935
|
+
body: failure(authorityResolution.code, authorityResolution.message)
|
|
1061
936
|
};
|
|
1062
937
|
const exactEmailOtpAuthority = authorityResolution;
|
|
1063
938
|
if (planWalletUnlockAuthorityEcdsaSession({
|
|
@@ -1091,11 +966,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
1091
966
|
} catch (error) {
|
|
1092
967
|
return {
|
|
1093
968
|
status: 403,
|
|
1094
|
-
body:
|
|
1095
|
-
ok: false,
|
|
1096
|
-
code: "owner_proof_rejected",
|
|
1097
|
-
message: error instanceof Error ? error.message : "Email OTP owner proof is invalid"
|
|
1098
|
-
}
|
|
969
|
+
body: failure("owner_proof_rejected", error instanceof Error ? error.message : "Email OTP owner proof is invalid")
|
|
1099
970
|
};
|
|
1100
971
|
}
|
|
1101
972
|
let walletSessionState = { kind: "absent" };
|
|
@@ -1103,11 +974,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
1103
974
|
const walletId = parseWalletId(result.walletId);
|
|
1104
975
|
if (!walletId.ok) return {
|
|
1105
976
|
status: 500,
|
|
1106
|
-
body:
|
|
1107
|
-
ok: false,
|
|
1108
|
-
code: "internal",
|
|
1109
|
-
message: "Verified Email OTP wallet identity is invalid"
|
|
1110
|
-
}
|
|
977
|
+
body: failure("internal", "Verified Email OTP wallet identity is invalid")
|
|
1111
978
|
};
|
|
1112
979
|
let sessionResolution;
|
|
1113
980
|
try {
|
|
@@ -1122,11 +989,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
1122
989
|
} catch (error) {
|
|
1123
990
|
return {
|
|
1124
991
|
status: 500,
|
|
1125
|
-
body:
|
|
1126
|
-
ok: false,
|
|
1127
|
-
code: "internal",
|
|
1128
|
-
message: error instanceof Error ? error.message : "Email OTP Wallet Session issuance failed"
|
|
1129
|
-
}
|
|
992
|
+
body: failure("internal", error instanceof Error ? error.message : "Email OTP Wallet Session issuance failed")
|
|
1130
993
|
};
|
|
1131
994
|
}
|
|
1132
995
|
switch (sessionResolution.kind) {
|
|
@@ -1144,11 +1007,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
1144
1007
|
case "wallet_registration": break;
|
|
1145
1008
|
case "rejected": return {
|
|
1146
1009
|
status: walletUnlockIssuanceRejectionStatus(sessionResolution),
|
|
1147
|
-
body:
|
|
1148
|
-
ok: false,
|
|
1149
|
-
code: sessionResolution.code,
|
|
1150
|
-
message: sessionResolution.message
|
|
1151
|
-
}
|
|
1010
|
+
body: failure(sessionResolution.code, sessionResolution.message)
|
|
1152
1011
|
};
|
|
1153
1012
|
}
|
|
1154
1013
|
}
|
|
@@ -1198,11 +1057,7 @@ async function handleWalletUnlockVerifyRoute(input) {
|
|
|
1198
1057
|
});
|
|
1199
1058
|
if (!isWalletUnlockEd25519YaoRequestedContext(input.capabilityContext)) return {
|
|
1200
1059
|
status: 400,
|
|
1201
|
-
body:
|
|
1202
|
-
ok: false,
|
|
1203
|
-
code: "invalid_body",
|
|
1204
|
-
message: "Email OTP capability context is invalid"
|
|
1205
|
-
}
|
|
1060
|
+
body: failure("invalid_body", "Email OTP capability context is invalid")
|
|
1206
1061
|
};
|
|
1207
1062
|
const capabilityResult = await provisionEmailOtpEd25519YaoCapability({
|
|
1208
1063
|
context: input.capabilityContext,
|