@seams/wallet-server 0.7.3 → 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.
Files changed (516) hide show
  1. package/THIRD_PARTY_NOTICES.md +1 -9
  2. package/artifact-manifest.json +78 -33
  3. package/cloudflare-router-ab/build/deriver-a/build-stamp.json +1 -1
  4. package/cloudflare-router-ab/build/deriver-a/index.js +2 -2
  5. package/cloudflare-router-ab/build/deriver-a/index_bg.wasm +0 -0
  6. package/cloudflare-router-ab/build/deriver-b/build-stamp.json +1 -1
  7. package/cloudflare-router-ab/build/deriver-b/index.js +2 -2
  8. package/cloudflare-router-ab/build/deriver-b/index_bg.wasm +0 -0
  9. package/cloudflare-router-ab/build/local-tools/darwin-arm64/router_ab_local_init +0 -0
  10. package/cloudflare-router-ab/build/local-tools/darwin-x64/router_ab_local_init +0 -0
  11. package/cloudflare-router-ab/build/local-tools/linux-x64/router_ab_local_init +0 -0
  12. package/cloudflare-router-ab/build/router/build-stamp.json +1 -1
  13. package/cloudflare-router-ab/build/router/index.js +2 -2
  14. package/cloudflare-router-ab/build/router/index_bg.wasm +0 -0
  15. package/cloudflare-router-ab/build/signing-worker/build-stamp.json +1 -1
  16. package/cloudflare-router-ab/build/signing-worker/index.js +2 -2
  17. package/cloudflare-router-ab/build/signing-worker/index_bg.wasm +0 -0
  18. package/cloudflare-router-ab/build/tenant-root-control-plane/build-stamp.json +1 -1
  19. package/cloudflare-router-ab/build/tenant-root-control-plane/index.js +2 -2
  20. package/cloudflare-router-ab/build/tenant-root-control-plane/index_bg.wasm +0 -0
  21. package/cloudflare-router-ab/scripts/prepare-local-runtime-config.mjs +0 -2
  22. package/cloudflare-router-ab/scripts/start-local-role-workers.mjs +77 -20
  23. package/dist/esm/authorization/lifecycleRouting.js +62 -0
  24. package/dist/esm/authorization/service.js +35 -12
  25. package/dist/esm/cloud-host.js +20 -22
  26. package/dist/esm/core/EmailOtpRecords.js +1 -217
  27. package/dist/esm/core/EmailOtpStores.js +0 -859
  28. package/dist/esm/core/IdentityStore.js +2 -339
  29. package/dist/esm/core/ThresholdService/config.js +1 -9
  30. package/dist/esm/core/ThresholdService/index.js +0 -4
  31. package/dist/esm/core/ThresholdService/kv.js +1 -66
  32. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.js +1 -13
  33. package/dist/esm/core/ThresholdService/routerAbNormalSigningPolicy.js +1 -11
  34. package/dist/esm/core/ThresholdService/stores/WalletSessionStore.js +0 -541
  35. package/dist/esm/core/ThresholdService/validation.js +2 -346
  36. package/dist/esm/core/WalletAuthMethodStore.js +2 -123
  37. package/dist/esm/core/WalletStore.js +3 -209
  38. package/dist/esm/core/WebAuthnAuthenticatorStore.js +0 -202
  39. package/dist/esm/core/WebAuthnCredentialBindingStore.js +2 -182
  40. package/dist/esm/core/WebAuthnLoginChallengeStore.js +0 -52
  41. package/dist/esm/core/WebAuthnSyncChallengeStore.js +0 -54
  42. package/dist/esm/core/authService/emailOtpConfig.js +1 -195
  43. package/dist/esm/core/authService/emailOtpEnrollment.js +0 -110
  44. package/dist/esm/core/authService/emailOtpSeal.js +0 -63
  45. package/dist/esm/core/authService/nearTransactions.js +3 -98
  46. package/dist/esm/core/authService/rateLimits.js +0 -84
  47. package/dist/esm/core/authService/webauthn.js +2 -298
  48. package/dist/esm/core/authService/webauthnOidcHelpers.js +1 -24
  49. package/dist/esm/core/authService/webauthnWalletBinding.js +0 -37
  50. package/dist/esm/core/config.js +1 -95
  51. package/dist/esm/core/d1EcdsaSignerRead.js +1 -1
  52. package/dist/esm/core/d1IdentityStore.js +1 -2
  53. package/dist/esm/core/d1TenantStore.js +1 -24
  54. package/dist/esm/core/d1WalletAuthMethodStore.js +2 -5
  55. package/dist/esm/core/d1WalletStore.js +2 -2
  56. package/dist/esm/core/deviceLinking/linkedDeviceBootstrap.js +13 -0
  57. package/dist/esm/core/deviceLinking/linkedDeviceSession.js +20 -14
  58. package/dist/esm/core/deviceLinking/requestProof.js +9 -6
  59. package/dist/esm/core/emailOtpD1Statements.js +107 -94
  60. package/dist/esm/core/keyMaterialBrands.js +2 -12
  61. package/dist/esm/core/nearKeys.js +0 -1
  62. package/dist/esm/core/nearRelayerAccountProvisioning.js +6 -9
  63. package/dist/esm/core/passkeyCredentialClaims.js +8 -0
  64. package/dist/esm/core/routerAbSigning/RouterAbEcdsaPresignRuntime.js +2 -6
  65. package/dist/esm/core/routerAbSigning/RouterAbNormalSigningRuntime.js +2 -30
  66. package/dist/esm/core/thresholdEcdsaChainTarget.js +1 -4
  67. package/dist/esm/hosted-wallet-gateway.js +66 -43
  68. package/dist/esm/index.js +6 -19
  69. package/dist/esm/localHostedWalletGatewayHandler.js +12 -0
  70. package/dist/esm/localRegistrationSetupAuthority.js +89 -0
  71. package/dist/esm/router/auth/authRequestValidation.js +8 -16
  72. package/dist/esm/router/auth/webAuthnCredentialCodecs.js +0 -1
  73. package/dist/esm/router/cloudflare/d1/auth/d1AuthorizationAssembly.js +87 -0
  74. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthConfig.js +12 -2
  75. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthService.js +32 -281
  76. package/dist/esm/router/cloudflare/d1/authorization/authorizedOperationStatements.js +24 -22
  77. package/dist/esm/router/cloudflare/d1/authorization/d1AuthorizationStore.js +8 -6
  78. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.js +12 -13
  79. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEd25519ExportRootStore.js +6 -1
  80. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.js +12 -2
  81. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.js +4 -4
  82. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.js +1 -1
  83. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.js +3 -9
  84. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRouteService.js +2 -1
  85. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.js +89 -7
  86. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.js +23 -14
  87. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.js +9 -6
  88. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.js +0 -1
  89. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.js +0 -1
  90. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.js +1 -1
  91. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.js +0 -1
  92. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.js +1 -1
  93. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.js +1 -7
  94. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.js +19 -13
  95. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.js +0 -1
  96. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.js +0 -1
  97. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.js +2 -2
  98. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.js +0 -1
  99. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.js +44 -12
  100. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.js +1 -49
  101. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.js +19 -31
  102. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleRegistrationCompletion.js +85 -0
  103. package/dist/esm/router/cloudflare/d1/identity/d1IdentityRecords.js +0 -1
  104. package/dist/esm/router/cloudflare/d1/identity/d1IdentityService.js +0 -48
  105. package/dist/esm/router/cloudflare/d1/near/d1SponsoredNearAccount.js +242 -0
  106. package/dist/esm/router/cloudflare/d1/oidc/d1OidcBoundary.js +0 -1
  107. package/dist/esm/router/cloudflare/d1/oidc/d1OidcVerificationService.js +2 -29
  108. package/dist/esm/router/cloudflare/d1/oidc/googleOidcToken.js +41 -0
  109. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.js +5 -0
  110. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.js +34 -0
  111. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.js +9 -3
  112. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.js +7 -13
  113. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.js +25 -13
  114. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationIntentService.js +0 -1
  115. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationSetupSupport.js +74 -0
  116. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.js +7 -1
  117. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationService.js +69 -238
  118. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetup.js +12 -56
  119. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetupExecution.js +155 -0
  120. package/dist/esm/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.js +1 -3
  121. package/dist/esm/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.js +12 -6
  122. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerFinalizeRecord.js +68 -0
  123. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerService.js +7 -54
  124. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodService.js +9 -8
  125. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorityStore.js +2 -142
  126. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.js +25 -4
  127. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnRecords.js +4 -70
  128. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnStore.js +23 -7
  129. package/dist/esm/router/cloudflare/runtime/staticWalletConsoleBinding.js +1 -0
  130. package/dist/esm/router/cloudflare/runtime/walletConsoleOps.js +1 -0
  131. package/dist/esm/router/cloudflare/runtime/walletConsoleOpsClient.js +5 -0
  132. package/dist/esm/router/cloudflare/runtime/walletGateway.js +1 -1
  133. package/dist/esm/router/cloudflare/runtime/walletRuntimeOps.js +16 -4
  134. package/dist/esm/router/cloudflare-adaptor.js +1 -2
  135. package/dist/esm/router/cloudflare.js +1342 -1733
  136. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.js +11 -8
  137. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.js +3 -2
  138. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.js +6 -6
  139. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.js +6 -6
  140. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.js +3 -0
  141. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.js +8 -0
  142. package/dist/esm/router/domains/emailOtp/emailOtpRequestValidation.js +0 -1
  143. package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.js +2 -8
  144. package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationCommit.js +2 -8
  145. package/dist/esm/router/domains/signingOperations/routerAbPrivateSigningWorker.js +5 -19
  146. package/dist/esm/router/domains/signingOperations/walletExecutionAdmission.js +2 -3
  147. package/dist/esm/router/domains/walletRegistration/walletRegistrationReservation.js +70 -0
  148. package/dist/esm/router/domains/walletRegistration/walletRegistrationRoutes.js +10 -11
  149. package/dist/esm/router/domains/walletRegistration/walletRegistrationSetupPayload.js +2 -3
  150. package/dist/esm/router/domains/walletUnlock/walletUnlockRouteHandlers.js +14 -0
  151. package/dist/esm/router/express.js +574 -479
  152. package/dist/esm/router/framework/http.js +2 -0
  153. package/dist/esm/router/framework/registrationSetupDispatch.js +14 -0
  154. package/dist/esm/router/framework/ror/normalize.js +0 -1
  155. package/dist/esm/router/framework/ror/options.js +0 -1
  156. package/dist/esm/router/framework/ror/provider.js +0 -1
  157. package/dist/esm/router/framework/ror/staticProvider.js +0 -1
  158. package/dist/esm/router/framework/routeDefinitions.js +1 -2
  159. package/dist/esm/router/framework/routerApiWebhooks.js +0 -1
  160. package/dist/esm/router/ror.js +0 -1
  161. package/dist/esm/router/transport/fetch/createFetchRouter.js +0 -2
  162. package/dist/esm/router/transport/fetch/routes/auth.js +2 -0
  163. package/dist/esm/router/transport/fetch/routes/deviceLinking.js +36 -147
  164. package/dist/esm/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.js +3 -2
  165. package/dist/esm/router/transport/fetch/routes/deviceLinkingResponses.js +130 -0
  166. package/dist/esm/router/transport/fetch/routes/ecdsaOperationStepUpFactor.js +171 -0
  167. package/dist/esm/router/transport/fetch/routes/passkeyCustody.js +1 -0
  168. package/dist/esm/router/transport/fetch/routes/syncAccount.js +7 -2
  169. package/dist/esm/router/transport/fetch/routes/thresholdEcdsa.js +19 -115
  170. package/dist/esm/router/transport/fetch/routes/walletRegistration.js +3 -1
  171. package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +0 -1
  172. package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +0 -2
  173. package/dist/esm/shared-ts/src/device-linking/contracts.js +16 -1
  174. package/dist/esm/shared-ts/src/device-linking/digests.js +1 -8
  175. package/dist/esm/shared-ts/src/near/actions.js +0 -1
  176. package/dist/esm/shared-ts/src/near/nearClient.js +0 -2
  177. package/dist/esm/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.js +1 -1
  178. package/dist/esm/shared-ts/src/signing-lanes/index.js +1 -6
  179. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +1 -1
  180. package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +2 -81
  181. package/dist/esm/shared-ts/src/signing-lanes/participants.js +1 -219
  182. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +0 -3
  183. package/dist/esm/shared-ts/src/tenant-root/tenantRootOperationRecord.js +1 -2
  184. package/dist/esm/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.js +0 -1
  185. package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +1 -22
  186. package/dist/esm/shared-ts/src/threshold/participants.js +0 -1
  187. package/dist/esm/shared-ts/src/threshold/signingRootScope.js +0 -1
  188. package/dist/esm/shared-ts/src/utils/addWalletAuthMethod.js +4 -13
  189. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +1 -7
  190. package/dist/esm/shared-ts/src/utils/domainIds.js +1 -16
  191. package/dist/esm/shared-ts/src/utils/ecdsaCapabilityActivation.js +1 -11
  192. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +0 -1
  193. package/dist/esm/shared-ts/src/utils/errors.js +1 -19
  194. package/dist/esm/shared-ts/src/utils/near.js +1 -1
  195. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +1 -1
  196. package/dist/esm/shared-ts/src/utils/registrationIds.js +1 -5
  197. package/dist/esm/shared-ts/src/utils/registrationIntent.js +0 -1
  198. package/dist/esm/shared-ts/src/utils/registrationSetupOperation.js +8 -0
  199. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +1 -1
  200. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +0 -1
  201. package/dist/esm/shared-ts/src/utils/validation.js +1 -5
  202. package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +0 -1
  203. package/dist/esm/shared-ts/src/utils/walletManagementProtocol.js +6 -0
  204. package/dist/esm/shared-ts/src/utils/wireSchema.js +2 -13
  205. package/dist/esm/shared-ts/src/wallet-recovery/backupAcknowledgement.js +6 -24
  206. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +0 -1
  207. package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +5 -6
  208. package/dist/esm/storage/d1Sql.js +1 -7
  209. package/dist/esm/threshold/session/signingSessionSeal/crypto/cipher.js +0 -1
  210. package/dist/esm/threshold/session/signingSessionSeal/guards/backends.js +1 -2
  211. package/dist/esm/threshold/session/signingSessionSeal/idempotencyBackends.js +0 -1
  212. package/dist/esm/threshold/session/signingSessionSeal/idempotencyRecords.js +0 -1
  213. package/dist/esm/threshold/session/signingSessionSeal/options.js +0 -1
  214. package/dist/esm/wasm/evm_crypto/pkg/evm_crypto_bg.wasm +0 -0
  215. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +0 -611
  216. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  217. package/dist/esm/wasm/shamir3pass_runtime/pkg/shamir3pass_runtime_bg.wasm +0 -0
  218. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +0 -4
  219. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +1 -0
  220. package/dist/types/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.d.ts +0 -2
  221. package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +0 -11
  222. package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +2 -7
  223. package/dist/types/shared-ts/src/signing-lanes/index.d.ts +0 -4
  224. package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +0 -1
  225. package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +0 -18
  226. package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +6 -35
  227. package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +6 -843
  228. package/dist/types/shared-ts/src/threshold/keyMaterialBrands.d.ts +0 -10
  229. package/dist/types/shared-ts/src/threshold/participants.d.ts +1 -1
  230. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +1 -133
  231. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +4 -18
  232. package/dist/types/shared-ts/src/utils/domainIds.d.ts +0 -12
  233. package/dist/types/shared-ts/src/utils/errors.d.ts +0 -4
  234. package/dist/types/shared-ts/src/utils/near.d.ts +0 -20
  235. package/dist/types/shared-ts/src/utils/normalize.d.ts +0 -2
  236. package/dist/types/shared-ts/src/utils/registrationSetupOperation.d.ts +3 -0
  237. package/dist/types/shared-ts/src/utils/validation.d.ts +1 -3
  238. package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +0 -1
  239. package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +3 -0
  240. package/dist/types/shared-ts/src/utils/wireSchema.d.ts +0 -2
  241. package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +0 -1
  242. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +1 -10
  243. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodes.d.ts +1 -3
  244. package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +5 -21
  245. package/dist/types/wallet-server/src/authorization/lifecycleRouting.d.ts +32 -0
  246. package/dist/types/wallet-server/src/authorization/lifecycleRouting.typecheck.d.ts +2 -0
  247. package/dist/types/wallet-server/src/authorization/recoveryRouting.d.ts +22 -0
  248. package/dist/types/wallet-server/src/authorization/recoveryRouting.typecheck.d.ts +2 -0
  249. package/dist/types/wallet-server/src/authorization/service.d.ts +8 -1
  250. package/dist/types/wallet-server/src/authorization/sessionRouting.d.ts +20 -0
  251. package/dist/types/wallet-server/src/authorization/sessionRouting.typecheck.d.ts +2 -0
  252. package/dist/types/wallet-server/src/cloud-host.d.ts +31 -9
  253. package/dist/types/wallet-server/src/core/EmailOtpRecords.d.ts +1 -22
  254. package/dist/types/wallet-server/src/core/EmailOtpStores.d.ts +1 -79
  255. package/dist/types/wallet-server/src/core/IdentityStore.d.ts +0 -10
  256. package/dist/types/wallet-server/src/core/RegistrationCeremonyStore.d.ts +0 -1
  257. package/dist/types/wallet-server/src/core/ThresholdService/config.d.ts +0 -2
  258. package/dist/types/wallet-server/src/core/ThresholdService/index.d.ts +1 -3
  259. package/dist/types/wallet-server/src/core/ThresholdService/kv.d.ts +0 -7
  260. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.d.ts +0 -3
  261. package/dist/types/wallet-server/src/core/ThresholdService/routerAbNormalSigningPolicy.d.ts +0 -1
  262. package/dist/types/wallet-server/src/core/ThresholdService/stores/WalletSessionStore.d.ts +7 -19
  263. package/dist/types/wallet-server/src/core/ThresholdService/validation.d.ts +0 -34
  264. package/dist/types/wallet-server/src/core/WalletAuthMethodStore.d.ts +1 -5
  265. package/dist/types/wallet-server/src/core/WalletStore.d.ts +0 -3
  266. package/dist/types/wallet-server/src/core/WebAuthnAuthenticatorStore.d.ts +0 -20
  267. package/dist/types/wallet-server/src/core/WebAuthnCredentialBindingStore.d.ts +1 -27
  268. package/dist/types/wallet-server/src/core/WebAuthnLoginChallengeStore.d.ts +2 -16
  269. package/dist/types/wallet-server/src/core/WebAuthnSyncChallengeStore.d.ts +22 -14
  270. package/dist/types/wallet-server/src/core/authService/emailOtpConfig.d.ts +0 -24
  271. package/dist/types/wallet-server/src/core/authService/emailOtpEnrollment.d.ts +1 -70
  272. package/dist/types/wallet-server/src/core/authService/emailOtpSeal.d.ts +0 -13
  273. package/dist/types/wallet-server/src/core/authService/githubOAuth.d.ts +2 -1
  274. package/dist/types/wallet-server/src/core/authService/nearTransactions.d.ts +1 -39
  275. package/dist/types/wallet-server/src/core/authService/rateLimits.d.ts +0 -17
  276. package/dist/types/wallet-server/src/core/authService/webauthn.d.ts +0 -125
  277. package/dist/types/wallet-server/src/core/authService/webauthnOidcHelpers.d.ts +0 -3
  278. package/dist/types/wallet-server/src/core/authService/webauthnVerificationOutcomes.d.ts +1 -1
  279. package/dist/types/wallet-server/src/core/authService/webauthnWalletBinding.d.ts +0 -12
  280. package/dist/types/wallet-server/src/core/config.d.ts +0 -10
  281. package/dist/types/wallet-server/src/core/d1IdentityStore.d.ts +0 -2
  282. package/dist/types/wallet-server/src/core/d1TenantStore.d.ts +0 -7
  283. package/dist/types/wallet-server/src/core/d1WalletAuthMethodStore.d.ts +0 -1
  284. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceBootstrap.d.ts +19 -0
  285. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSession.d.ts +8 -6
  286. package/dist/types/wallet-server/src/core/deviceLinking/requestProof.d.ts +2 -5
  287. package/dist/types/wallet-server/src/core/emailOtpD1Statements.d.ts +10 -7
  288. package/dist/types/wallet-server/src/core/keyMaterialBrands.d.ts +1 -5
  289. package/dist/types/wallet-server/src/core/nearRelayerAccountProvisioning.d.ts +0 -1
  290. package/dist/types/wallet-server/src/core/passkeyCredentialClaims.d.ts +9 -0
  291. package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbEcdsaPresignRuntime.d.ts +0 -2
  292. package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbNormalSigningRuntime.d.ts +0 -2
  293. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.d.ts +1 -92
  294. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.typecheck.d.ts +4 -52
  295. package/dist/types/wallet-server/src/core/thresholdEcdsaChainTarget.d.ts +0 -1
  296. package/dist/types/wallet-server/src/core/types.d.ts +0 -299
  297. package/dist/types/wallet-server/src/hosted-wallet-gateway.d.ts +15 -3
  298. package/dist/types/wallet-server/src/index.d.ts +8 -13
  299. package/dist/types/wallet-server/src/localRegistrationSetupAuthority.d.ts +13 -0
  300. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1AuthorizationAssembly.d.ts +23 -0
  301. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthConfig.d.ts +25 -3
  302. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/d1AuthorizationStore.d.ts +1 -1
  303. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.d.ts +3 -1
  304. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.d.ts +7 -1
  305. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.d.ts +1 -10
  306. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRouteService.d.ts +4 -0
  307. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.d.ts +6 -0
  308. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.d.ts +1 -13
  309. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.d.ts +2 -2
  310. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.d.ts +1 -1
  311. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.d.ts +0 -2
  312. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.d.ts +18 -2
  313. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.d.ts +29 -1
  314. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.d.ts +3 -16
  315. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.d.ts +7 -2
  316. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleRegistrationCompletion.d.ts +23 -0
  317. package/dist/types/wallet-server/src/router/cloudflare/d1/identity/d1IdentityService.d.ts +0 -12
  318. package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1SponsoredNearAccount.d.ts +24 -0
  319. package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1SponsoredNearAccount.typecheck.d.ts +2 -0
  320. package/dist/types/wallet-server/src/router/cloudflare/d1/oidc/d1OidcVerificationService.d.ts +0 -1
  321. package/dist/types/wallet-server/src/router/cloudflare/d1/oidc/googleOidcToken.d.ts +4 -0
  322. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.d.ts +5 -0
  323. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.d.ts +9 -0
  324. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.d.ts +1 -1
  325. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.d.ts +10 -11
  326. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.d.ts +3 -2
  327. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationSetupSupport.d.ts +51 -0
  328. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.d.ts +3 -0
  329. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationService.d.ts +30 -47
  330. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetup.d.ts +3 -30
  331. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetupExecution.d.ts +11 -0
  332. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerFinalizeRecord.d.ts +27 -0
  333. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.d.ts +1 -10
  334. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodService.d.ts +2 -2
  335. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorityStore.d.ts +0 -4
  336. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.d.ts +3 -0
  337. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnRecords.d.ts +0 -13
  338. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnStore.d.ts +23 -10
  339. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnStore.typecheck.d.ts +2 -0
  340. package/dist/types/wallet-server/src/router/cloudflare/runtime/cloudflare.types.d.ts +0 -2
  341. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOps.d.ts +1 -0
  342. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOpsClient.d.ts +2 -0
  343. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletGateway.d.ts +1 -1
  344. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRuntimeOps.d.ts +3 -0
  345. package/dist/types/wallet-server/src/router/cloudflare-adaptor.d.ts +0 -1
  346. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.d.ts +1 -1
  347. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.d.ts +2 -2
  348. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.d.ts +2 -2
  349. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.typecheck.d.ts +2 -0
  350. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.d.ts +2 -0
  351. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.d.ts +2 -0
  352. package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.d.ts +0 -2
  353. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationCommit.d.ts +0 -3
  354. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbPrivateSigningWorker.d.ts +0 -17
  355. package/dist/types/wallet-server/src/router/domains/signingOperations/walletExecutionAdmission.d.ts +1 -2
  356. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationInputs.d.ts +1 -0
  357. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationReservation.d.ts +51 -0
  358. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationRoutes.d.ts +2 -10
  359. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationSetupPayload.d.ts +2 -2
  360. package/dist/types/wallet-server/src/router/framework/authServicePort.d.ts +14 -34
  361. package/dist/types/wallet-server/src/router/framework/googleLoginResolution.typecheck.d.ts +2 -0
  362. package/dist/types/wallet-server/src/router/framework/registrationSetupDispatch.d.ts +13 -0
  363. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinking.d.ts +1 -1
  364. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinkingResponses.d.ts +17 -0
  365. package/dist/types/wallet-server/src/router/transport/fetch/routes/ecdsaOperationStepUpFactor.d.ts +37 -0
  366. package/dist/types/wallet-server/src/storage/d1Sql.d.ts +0 -1
  367. package/migrations/d1-signer/0040_namespace_home_challenges.sql +16 -0
  368. package/migrations/d1-signer/0041_step_up_admission_expiry.sql +28 -0
  369. package/migrations/d1-signer/0042_deployment_resource_challenges.sql +4 -0
  370. package/migrations/d1-signer/0043_google_registration_candidate_claim.sql +2 -0
  371. package/migrations/d1-signer/0044_linked_device_bootstrap_imports.sql +6 -0
  372. package/migrations/d1-signer/0045_wallet_owned_capability_receipts.sql +29 -0
  373. package/migrations/d1-signer/0046_wallet_owned_signing_abuse.sql +41 -0
  374. package/migrations/d1-signer/0047_remove_unused_near_public_keys.sql +2 -0
  375. package/migrations/d1-signer/0048_operation_owner_scope.sql +45 -0
  376. package/package.json +2 -3
  377. package/src/README.md +11 -3
  378. package/dist/esm/core/AuthService.js +0 -2
  379. package/dist/esm/core/NearPublicKeyStore.js +0 -200
  380. package/dist/esm/core/ThresholdService/stores/CloudflareDurableObjectStore.js +0 -397
  381. package/dist/esm/core/ThresholdService/stores/KeyStore.js +0 -140
  382. package/dist/esm/core/ThresholdService/stores/SessionStore.js +0 -361
  383. package/dist/esm/core/ThresholdService/stores/StoreConfig.js +0 -13
  384. package/dist/esm/core/ThresholdService/stores/exportReplayGuard.js +0 -7
  385. package/dist/esm/core/authService/AuthService.js +0 -594
  386. package/dist/esm/core/authService/bytes.js +0 -19
  387. package/dist/esm/core/authService/configValues.js +0 -15
  388. package/dist/esm/core/authService/emailOtpChallengeOperations.js +0 -123
  389. package/dist/esm/core/authService/emailOtpChallengeProof.js +0 -183
  390. package/dist/esm/core/authService/emailOtpChallengeVerification.js +0 -264
  391. package/dist/esm/core/authService/emailOtpChallenges.js +0 -225
  392. package/dist/esm/core/authService/emailOtpDelivery.js +0 -134
  393. package/dist/esm/core/authService/emailOtpGrant.js +0 -43
  394. package/dist/esm/core/authService/emailOtpRegistrationEnrollment.js +0 -144
  395. package/dist/esm/core/authService/emailOtpUnlock.js +0 -174
  396. package/dist/esm/core/authService/googleEmailOtpOperations.js +0 -141
  397. package/dist/esm/core/authService/googleEmailOtpRegistration.js +0 -587
  398. package/dist/esm/core/authService/identity.js +0 -42
  399. package/dist/esm/core/authService/identityOperations.js +0 -32
  400. package/dist/esm/core/authService/nearAccountOperations.js +0 -229
  401. package/dist/esm/core/authService/nearPublicKeyMetadata.js +0 -108
  402. package/dist/esm/core/authService/oidcVerification.js +0 -249
  403. package/dist/esm/core/authService/registrationThresholdHelpers.js +0 -30
  404. package/dist/esm/core/authService/runtime.js +0 -45
  405. package/dist/esm/core/authService/storeRegistry.js +0 -102
  406. package/dist/esm/core/authService/thresholdStoreSummary.js +0 -32
  407. package/dist/esm/core/authService/webauthnAuthority.js +0 -17
  408. package/dist/esm/core/defaultConfigsServer.js +0 -9
  409. package/dist/esm/core/hostedAccountIds.js +0 -225
  410. package/dist/esm/core/routerAbSigning/createRouterAbSigningRuntimes.js +0 -84
  411. package/dist/esm/core/signingLanes/LaneAggregateRevocationApplicationService.js +0 -86
  412. package/dist/esm/core/signingLanes/LaneEnrollmentActivation.js +0 -324
  413. package/dist/esm/core/signingLanes/LaneEnrollmentRevocation.js +0 -173
  414. package/dist/esm/core/signingLanes/LaneLifecycleApplicationService.js +0 -198
  415. package/dist/esm/core/signingLanes/ecdsaServerRetirement.js +0 -73
  416. package/dist/esm/core/signingLanes/ed25519ServerRetirement.js +0 -68
  417. package/dist/esm/core/signingLanes/signingWorkerLaneMaterialIdentity.js +0 -0
  418. package/dist/esm/core/storeBackends.js +0 -208
  419. package/dist/esm/core/utils.js +0 -14
  420. package/dist/esm/core/webAuthnStoreBackends.js +0 -198
  421. package/dist/esm/router/cloudflare/d1/near/d1NearPublicKeyStore.js +0 -49
  422. package/dist/esm/router/cloudflare/d1/signingLanes/d1EcdsaLanePrivateBindingResolver.js +0 -10
  423. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneAggregateRevocationApplicationService.js +0 -22
  424. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.js +0 -166
  425. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEnrollmentGateway.js +0 -38
  426. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleApplicationService.js +0 -20
  427. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.js +0 -1459
  428. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLockStore.js +0 -114
  429. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneProtocolCommitter.js +0 -16
  430. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneRecords.js +0 -171
  431. package/dist/esm/router/cloudflare/d1/signingLanes/index.js +0 -10
  432. package/dist/esm/router/cloudflare/durableObjects/thresholdStore.js +0 -397
  433. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.js +0 -597
  434. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.js +0 -273
  435. package/dist/esm/router/cloudflare/signingLanes/index.js +0 -4
  436. package/dist/esm/router/cloudflare/signingLanes/linkedDeviceEd25519CeremonyBinding.js +0 -32
  437. package/dist/esm/router/transport/fetch/routes/nearPublicKeys.js +0 -27
  438. package/dist/esm/shared-ts/src/signing-lanes/rotation.js +0 -8
  439. package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +0 -358
  440. package/dist/esm/shared-ts/src/signing-lanes/rotationLifecycle.js +0 -313
  441. package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +0 -532
  442. package/dist/esm/shared-ts/src/signing-lanes/rotationProtocolParsers.js +0 -323
  443. package/dist/esm/shared-ts/src/signing-lanes/rotationWireFields.js +0 -59
  444. package/dist/types/shared-ts/src/signing-lanes/participantDigest.typecheck.d.ts +0 -2
  445. package/dist/types/shared-ts/src/signing-lanes/rotation.typecheck.d.ts +0 -2
  446. package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +0 -13
  447. package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +0 -78
  448. package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +0 -27
  449. package/dist/types/shared-ts/src/signing-lanes/rotationProtocolParsers.d.ts +0 -6
  450. package/dist/types/shared-ts/src/signing-lanes/rotationWireFields.d.ts +0 -20
  451. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeAttempt.d.ts +0 -59
  452. package/dist/types/wallet-server/src/core/AuthService.d.ts +0 -3
  453. package/dist/types/wallet-server/src/core/NearPublicKeyStore.d.ts +0 -48
  454. package/dist/types/wallet-server/src/core/ThresholdService/stores/CloudflareDurableObjectStore.d.ts +0 -21
  455. package/dist/types/wallet-server/src/core/ThresholdService/stores/KeyStore.d.ts +0 -40
  456. package/dist/types/wallet-server/src/core/ThresholdService/stores/SessionStore.d.ts +0 -98
  457. package/dist/types/wallet-server/src/core/ThresholdService/stores/StoreConfig.d.ts +0 -4
  458. package/dist/types/wallet-server/src/core/ThresholdService/stores/ThresholdStoreConfig.typecheck.d.ts +0 -2
  459. package/dist/types/wallet-server/src/core/ThresholdService/stores/exportReplayGuard.d.ts +0 -3
  460. package/dist/types/wallet-server/src/core/authService/AuthService.d.ts +0 -490
  461. package/dist/types/wallet-server/src/core/authService/bytes.d.ts +0 -3
  462. package/dist/types/wallet-server/src/core/authService/configValues.d.ts +0 -7
  463. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeOperations.d.ts +0 -109
  464. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeProof.d.ts +0 -169
  465. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeVerification.d.ts +0 -47
  466. package/dist/types/wallet-server/src/core/authService/emailOtpChallenges.d.ts +0 -86
  467. package/dist/types/wallet-server/src/core/authService/emailOtpDelivery.d.ts +0 -66
  468. package/dist/types/wallet-server/src/core/authService/emailOtpGrant.d.ts +0 -43
  469. package/dist/types/wallet-server/src/core/authService/emailOtpRegistrationEnrollment.d.ts +0 -49
  470. package/dist/types/wallet-server/src/core/authService/emailOtpUnlock.d.ts +0 -64
  471. package/dist/types/wallet-server/src/core/authService/googleEmailOtpOperations.d.ts +0 -126
  472. package/dist/types/wallet-server/src/core/authService/googleEmailOtpRegistration.d.ts +0 -169
  473. package/dist/types/wallet-server/src/core/authService/identity.d.ts +0 -25
  474. package/dist/types/wallet-server/src/core/authService/identityOperations.d.ts +0 -19
  475. package/dist/types/wallet-server/src/core/authService/nearAccountOperations.d.ts +0 -55
  476. package/dist/types/wallet-server/src/core/authService/nearPublicKeyMetadata.d.ts +0 -44
  477. package/dist/types/wallet-server/src/core/authService/oidcVerification.d.ts +0 -66
  478. package/dist/types/wallet-server/src/core/authService/registrationThresholdHelpers.d.ts +0 -11
  479. package/dist/types/wallet-server/src/core/authService/runtime.d.ts +0 -20
  480. package/dist/types/wallet-server/src/core/authService/storeRegistry.d.ts +0 -53
  481. package/dist/types/wallet-server/src/core/authService/thresholdStoreSummary.d.ts +0 -3
  482. package/dist/types/wallet-server/src/core/authService/webauthnAuthority.d.ts +0 -5
  483. package/dist/types/wallet-server/src/core/defaultConfigsServer.d.ts +0 -5
  484. package/dist/types/wallet-server/src/core/hostedAccountIds.d.ts +0 -16
  485. package/dist/types/wallet-server/src/core/routerAbSigning/createRouterAbSigningRuntimes.d.ts +0 -16
  486. package/dist/types/wallet-server/src/core/signingLanes/LaneAggregateRevocationApplicationService.d.ts +0 -36
  487. package/dist/types/wallet-server/src/core/signingLanes/LaneEffectJournalStore.d.ts +0 -62
  488. package/dist/types/wallet-server/src/core/signingLanes/LaneEnrollmentActivation.d.ts +0 -13
  489. package/dist/types/wallet-server/src/core/signingLanes/LaneEnrollmentRevocation.d.ts +0 -24
  490. package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleApplicationService.d.ts +0 -141
  491. package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleStore.d.ts +0 -228
  492. package/dist/types/wallet-server/src/core/signingLanes/ecdsaServerRetirement.d.ts +0 -58
  493. package/dist/types/wallet-server/src/core/signingLanes/ed25519ServerRetirement.d.ts +0 -30
  494. package/dist/types/wallet-server/src/core/signingLanes/signingWorkerLaneMaterialIdentity.d.ts +0 -4
  495. package/dist/types/wallet-server/src/core/storeBackends.d.ts +0 -83
  496. package/dist/types/wallet-server/src/core/utils.d.ts +0 -3
  497. package/dist/types/wallet-server/src/core/webAuthnStoreBackends.d.ts +0 -96
  498. package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1NearPublicKeyStore.d.ts +0 -29
  499. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1EcdsaLanePrivateBindingResolver.d.ts +0 -4
  500. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneAggregateRevocationApplicationService.d.ts +0 -4
  501. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.d.ts +0 -24
  502. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEnrollmentGateway.d.ts +0 -20
  503. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLifecycleApplicationService.d.ts +0 -13
  504. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.d.ts +0 -51
  505. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLockStore.d.ts +0 -28
  506. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneProtocolCommitter.d.ts +0 -5
  507. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneRecords.d.ts +0 -107
  508. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/index.d.ts +0 -10
  509. package/dist/types/wallet-server/src/router/cloudflare/durableObjects/thresholdStore.d.ts +0 -18
  510. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.d.ts +0 -217
  511. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.d.ts +0 -73
  512. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/index.d.ts +0 -4
  513. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/linkedDeviceEd25519CeremonyBinding.d.ts +0 -6
  514. package/dist/types/wallet-server/src/router/transport/fetch/routes/nearPublicKeys.d.ts +0 -3
  515. /package/dist/esm/{core/signingLanes/LaneEffectJournalStore.js → authorization/recoveryRouting.js} +0 -0
  516. /package/dist/esm/{core/signingLanes/LaneLifecycleStore.js → authorization/sessionRouting.js} +0 -0
@@ -2,6 +2,7 @@ import { parseLinkDeviceSessionId, parseWalletAuthorityId } from "../../shared-t
2
2
  import { parseLinkedDeviceOrdinaryMaterialSourceContributionPreparationTupleV1 } from "../../shared-ts/src/device-linking/sourceContribution.js";
3
3
  import { parseLinkedDeviceApprovalV1 } from "../../shared-ts/src/device-linking/parsers.js";
4
4
  import { computeLinkedDeviceApprovalDigestV1, computeLinkedDeviceSessionClaimDigestV1 } from "../../shared-ts/src/device-linking/digests.js";
5
+ import { linkedDeviceBootstrapFailure } from "./linkedDeviceBootstrap.js";
5
6
  import { activeStateV1, approvalTranscriptMatchesDigest, authorityPendingStateV1, awaitingSourceContributionDeadlineMsV1, awaitingSourceContributionStateV1, awaitingTargetDeadlineMsV1, awaitingTargetFactorStateV1, buildUnclaimedSessionRecordV1, claimTranscriptMatchesDigest, claimedStateV1, conflictResult, integrityResult, invalidStateResult, isPrecommitState, linkedDeviceEmailOtpChallengesEqualV1, linkedDevicePrecommitFailuresEqualV1, linkedDeviceQrPayloadsEqualV1, parseEmailOtpChallengeV1, parseId, parseQrLinkedDeviceSessionPayloadV1, provisioningStateV1, replaceSessionRecordV1, requireDigest, requireTimestamp, sessionExpiryMsV1, sourceContributionTranscriptMatchesDigest } from "./linkedDeviceSessionRecord.js";
6
7
  import { validateApprovalMatchesSession, validateLinkedDeviceRequestedAuthorityV1, validateSourceContributionApprovalMatchesSession, validateSourceContributionPreparationMatchesApproval } from "./linkedDeviceSessionApproval.js";
7
8
  //#region src/core/deviceLinking/linkedDeviceSession.ts
@@ -20,7 +21,7 @@ var LinkedDeviceSessionServiceV1 = class {
20
21
  };
21
22
  return await this.store.createUnclaimedSessionV1(buildUnclaimedSessionRecordV1(payload, nowMs));
22
23
  } catch (error) {
23
- return invalidInputResult(error);
24
+ return sessionFailureResult(error);
24
25
  }
25
26
  }
26
27
  async claimSessionV1(input) {
@@ -68,7 +69,7 @@ var LinkedDeviceSessionServiceV1 = class {
68
69
  nowMs
69
70
  });
70
71
  } catch (error) {
71
- return invalidInputResult(error);
72
+ return sessionFailureResult(error);
72
73
  }
73
74
  }
74
75
  async recordOwnerApprovalV1(input) {
@@ -120,7 +121,7 @@ var LinkedDeviceSessionServiceV1 = class {
120
121
  nowMs
121
122
  });
122
123
  } catch (error) {
123
- return invalidInputResult(error);
124
+ return sessionFailureResult(error);
124
125
  }
125
126
  }
126
127
  async recordTargetCredentialV1(input) {
@@ -150,7 +151,7 @@ var LinkedDeviceSessionServiceV1 = class {
150
151
  nowMs
151
152
  });
152
153
  } catch (error) {
153
- return invalidInputResult(error);
154
+ return sessionFailureResult(error);
154
155
  }
155
156
  }
156
157
  async recordSourceContributionV1(input) {
@@ -204,7 +205,7 @@ var LinkedDeviceSessionServiceV1 = class {
204
205
  nowMs
205
206
  });
206
207
  } catch (error) {
207
- return invalidInputResult(error);
208
+ return sessionFailureResult(error);
208
209
  }
209
210
  }
210
211
  async recordEmailOtpChallengeStateV1(input) {
@@ -233,7 +234,7 @@ var LinkedDeviceSessionServiceV1 = class {
233
234
  nowMs
234
235
  });
235
236
  } catch (error) {
236
- return invalidInputResult(error);
237
+ return sessionFailureResult(error);
237
238
  }
238
239
  }
239
240
  async markAuthorityPendingLocalInstallV1(input) {
@@ -261,7 +262,7 @@ var LinkedDeviceSessionServiceV1 = class {
261
262
  nowMs
262
263
  });
263
264
  } catch (error) {
264
- return invalidInputResult(error);
265
+ return sessionFailureResult(error);
265
266
  }
266
267
  }
267
268
  async activateSessionV1(input) {
@@ -294,7 +295,7 @@ var LinkedDeviceSessionServiceV1 = class {
294
295
  nowMs
295
296
  });
296
297
  } catch (error) {
297
- return invalidInputResult(error);
298
+ return sessionFailureResult(error);
298
299
  }
299
300
  }
300
301
  async failBeforeCommitV1(input) {
@@ -322,7 +323,7 @@ var LinkedDeviceSessionServiceV1 = class {
322
323
  nowMs
323
324
  });
324
325
  } catch (error) {
325
- return invalidInputResult(error);
326
+ return sessionFailureResult(error);
326
327
  }
327
328
  }
328
329
  async cancelSessionV1(input) {
@@ -349,7 +350,7 @@ var LinkedDeviceSessionServiceV1 = class {
349
350
  nowMs
350
351
  });
351
352
  } catch (error) {
352
- return invalidInputResult(error);
353
+ return sessionFailureResult(error);
353
354
  }
354
355
  }
355
356
  async expireSessionV1(input) {
@@ -380,7 +381,7 @@ var LinkedDeviceSessionServiceV1 = class {
380
381
  nowMs
381
382
  });
382
383
  } catch (error) {
383
- return invalidInputResult(error);
384
+ return sessionFailureResult(error);
384
385
  }
385
386
  }
386
387
  async deleteActiveSessionV1(input) {
@@ -404,7 +405,7 @@ var LinkedDeviceSessionServiceV1 = class {
404
405
  nowMs
405
406
  });
406
407
  } catch (error) {
407
- return invalidInputResult(error);
408
+ return sessionFailureResult(error);
408
409
  }
409
410
  }
410
411
  async getSessionV1(input) {
@@ -417,7 +418,7 @@ var LinkedDeviceSessionServiceV1 = class {
417
418
  expectedRevision: existing.revision,
418
419
  nowMs: normalized.nowMs
419
420
  });
420
- return "record" in expired ? expired.record : existing;
421
+ return "record" in expired && expired.record !== void 0 ? expired.record : existing;
421
422
  }
422
423
  async listSessionsForWalletV1(input) {
423
424
  const page = await this.store.listSessionsForWalletV1({
@@ -511,7 +512,12 @@ function normalizeSessionReadInput(input) {
511
512
  nowMs: requireTimestamp(input.nowMs, "nowMs")
512
513
  };
513
514
  }
514
- function invalidInputResult(error) {
515
+ function sessionFailureResult(error) {
516
+ const failure = linkedDeviceBootstrapFailure(error);
517
+ if (failure) return {
518
+ outcome: failure,
519
+ message: "Linked-device bootstrap authority is unavailable or conflicting"
520
+ };
515
521
  return {
516
522
  outcome: "invalid_input",
517
523
  message: error instanceof Error ? error.message : String(error || "invalid linked-device input")
@@ -23,22 +23,25 @@ var LinkedDeviceRequestProofVerifierV1 = class {
23
23
  code: "invalid",
24
24
  message: "device request proof signature is invalid"
25
25
  };
26
- if ((await this.nonceStore.consumeRequestProofNonceV1({
26
+ const consumed = await this.nonceStore.consumeRequestProofNonceV1({
27
27
  linkSessionId: input.proof.linkSessionId,
28
28
  requestNonceB64u: input.proof.requestNonceB64u,
29
29
  proofDigestB64u,
30
30
  issuedAtMs: input.proof.issuedAtMs,
31
31
  expiresAtMs: input.proof.expiresAtMs,
32
32
  consumedAtMs: input.nowMs
33
- })).outcome === "already_used") return {
33
+ });
34
+ if (consumed.outcome === "unavailable") return {
35
+ kind: "denied",
36
+ code: "unavailable",
37
+ message: "Device request proof authority is unavailable"
38
+ };
39
+ if (consumed.outcome === "already_used") return {
34
40
  kind: "denied",
35
41
  code: "replayed",
36
42
  message: "device request proof was already used"
37
43
  };
38
- return {
39
- kind: "authorized",
40
- proofDigestB64u
41
- };
44
+ return { kind: "authorized" };
42
45
  } catch (error) {
43
46
  const message = errorMessage(error);
44
47
  return {
@@ -39,20 +39,6 @@ function challengeValues(record) {
39
39
  /** Statements on `email_otp_challenges`. */
40
40
  const emailOtpChallengeRows = {
41
41
  insert: (prepare, record) => prepare(INSERT_CHALLENGE_SQL, challengeValues(record)),
42
- upsert: (prepare, record) => prepare(`${INSERT_CHALLENGE_SQL}
43
- ON CONFLICT (namespace, org_id, project_id, env_id, challenge_id)
44
- DO UPDATE SET
45
- challenge_subject_id = EXCLUDED.challenge_subject_id,
46
- wallet_id = EXCLUDED.wallet_id,
47
- record_org_id = EXCLUDED.record_org_id,
48
- otp_channel = EXCLUDED.otp_channel,
49
- owner_proof_binding_digest = EXCLUDED.owner_proof_binding_digest,
50
- action = EXCLUDED.action,
51
- operation = EXCLUDED.operation,
52
- otp_code = EXCLUDED.otp_code,
53
- record_json = EXCLUDED.record_json,
54
- created_at_ms = EXCLUDED.created_at_ms,
55
- expires_at_ms = EXCLUDED.expires_at_ms`, challengeValues(record)),
56
42
  delete: (prepare, challengeId) => prepare(`DELETE FROM email_otp_challenges
57
43
  WHERE namespace = ?
58
44
  AND org_id = ?
@@ -92,38 +78,13 @@ function grantValues(record) {
92
78
  /** Statements on `email_otp_grants`. */
93
79
  const emailOtpGrantRows = {
94
80
  insert: (prepare, record) => prepare(INSERT_GRANT_SQL, grantValues(record)),
95
- upsert: (prepare, record) => prepare(`${INSERT_GRANT_SQL}
96
- ON CONFLICT (namespace, org_id, project_id, env_id, grant_token)
97
- DO UPDATE SET
98
- user_id = EXCLUDED.user_id,
99
- wallet_id = EXCLUDED.wallet_id,
100
- record_org_id = EXCLUDED.record_org_id,
101
- challenge_id = EXCLUDED.challenge_id,
102
- action = EXCLUDED.action,
103
- record_json = EXCLUDED.record_json,
104
- issued_at_ms = EXCLUDED.issued_at_ms,
105
- expires_at_ms = EXCLUDED.expires_at_ms`, grantValues(record)),
106
- select: (prepare, grantToken) => prepare(`SELECT record_json, expires_at_ms
107
- FROM email_otp_grants
108
- WHERE namespace = ?
109
- AND org_id = ?
110
- AND project_id = ?
111
- AND env_id = ?
112
- AND grant_token = ?
113
- LIMIT 1`, [grantToken]),
114
81
  consume: (prepare, grantToken) => prepare(`DELETE FROM email_otp_grants
115
82
  WHERE namespace = ?
116
83
  AND org_id = ?
117
84
  AND project_id = ?
118
85
  AND env_id = ?
119
86
  AND grant_token = ?
120
- RETURNING record_json, expires_at_ms`, [grantToken]),
121
- delete: (prepare, grantToken) => prepare(`DELETE FROM email_otp_grants
122
- WHERE namespace = ?
123
- AND org_id = ?
124
- AND project_id = ?
125
- AND env_id = ?
126
- AND grant_token = ?`, [grantToken])
87
+ RETURNING record_json, expires_at_ms`, [grantToken])
127
88
  };
128
89
  const INSERT_WALLET_ENROLLMENT_SQL = `INSERT INTO email_otp_wallet_enrollments (
129
90
  namespace,
@@ -235,15 +196,6 @@ function unlockChallengeValues(record) {
235
196
  /** Statements on `email_otp_unlock_challenges`. */
236
197
  const emailOtpUnlockChallengeRows = {
237
198
  insert: (prepare, record) => prepare(INSERT_UNLOCK_CHALLENGE_SQL, unlockChallengeValues(record)),
238
- upsert: (prepare, record) => prepare(`${INSERT_UNLOCK_CHALLENGE_SQL}
239
- ON CONFLICT (namespace, org_id, project_id, env_id, challenge_id)
240
- DO UPDATE SET
241
- wallet_id = EXCLUDED.wallet_id,
242
- user_id = EXCLUDED.user_id,
243
- record_org_id = EXCLUDED.record_org_id,
244
- record_json = EXCLUDED.record_json,
245
- created_at_ms = EXCLUDED.created_at_ms,
246
- expires_at_ms = EXCLUDED.expires_at_ms`, unlockChallengeValues(record)),
247
199
  consume: (prepare, challengeId) => prepare(`DELETE FROM email_otp_unlock_challenges
248
200
  WHERE namespace = ?
249
201
  AND org_id = ?
@@ -269,53 +221,95 @@ const PENDING_ATTEMPTS_SQL = `SELECT record_json, expires_at_ms, updated_at_ms,
269
221
  AND expires_at_ms > ?`;
270
222
  /** Statements on `email_otp_registration_attempts`. */
271
223
  const emailOtpRegistrationAttemptRows = {
272
- upsert: (prepare, record) => prepare(`INSERT INTO email_otp_registration_attempts (
273
- namespace,
274
- org_id,
275
- project_id,
276
- env_id,
277
- attempt_id,
278
- provider_subject,
279
- email,
280
- wallet_id,
281
- state,
282
- owner_proof_binding_digest,
283
- runtime_org_id,
284
- runtime_policy_key,
285
- offer_wallet_ids_json,
286
- record_json,
287
- created_at_ms,
288
- updated_at_ms,
289
- expires_at_ms
224
+ insertPendingIfAbsent: (prepare, record) => prepare(`WITH candidate (
225
+ namespace, org_id, project_id, env_id, attempt_id, provider_subject, email,
226
+ wallet_id, state, owner_proof_binding_digest, runtime_org_id, runtime_policy_key,
227
+ offer_wallet_ids_json, record_json, created_at_ms, updated_at_ms, expires_at_ms
228
+ ) AS (VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?))
229
+ INSERT INTO email_otp_registration_attempts (
230
+ namespace, org_id, project_id, env_id, attempt_id, provider_subject, email,
231
+ wallet_id, state, owner_proof_binding_digest, runtime_org_id, runtime_policy_key,
232
+ offer_wallet_ids_json, record_json, created_at_ms, updated_at_ms, expires_at_ms
290
233
  )
291
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
292
- ON CONFLICT (namespace, org_id, project_id, env_id, attempt_id)
293
- DO UPDATE SET
294
- provider_subject = EXCLUDED.provider_subject,
295
- email = EXCLUDED.email,
296
- wallet_id = EXCLUDED.wallet_id,
297
- state = EXCLUDED.state,
298
- owner_proof_binding_digest = EXCLUDED.owner_proof_binding_digest,
299
- runtime_org_id = EXCLUDED.runtime_org_id,
300
- runtime_policy_key = EXCLUDED.runtime_policy_key,
301
- offer_wallet_ids_json = EXCLUDED.offer_wallet_ids_json,
302
- record_json = EXCLUDED.record_json,
303
- created_at_ms = EXCLUDED.created_at_ms,
304
- updated_at_ms = EXCLUDED.updated_at_ms,
305
- expires_at_ms = EXCLUDED.expires_at_ms`, [
306
- record.attemptId,
307
- record.providerSubject,
308
- record.email,
234
+ SELECT * FROM candidate
235
+ WHERE NOT EXISTS (
236
+ SELECT 1 FROM email_otp_registration_attempts existing
237
+ WHERE existing.namespace = candidate.namespace
238
+ AND existing.org_id = candidate.org_id
239
+ AND existing.project_id = candidate.project_id
240
+ AND existing.env_id = candidate.env_id
241
+ AND existing.provider_subject = candidate.provider_subject
242
+ AND existing.email = candidate.email
243
+ AND existing.owner_proof_binding_digest = candidate.owner_proof_binding_digest
244
+ AND existing.runtime_org_id = candidate.runtime_org_id
245
+ AND existing.runtime_policy_key = candidate.runtime_policy_key
246
+ AND existing.state IN ('started', 'key_finalized')
247
+ AND (existing.expires_at_ms > candidate.created_at_ms OR existing.selection_digest IS NOT NULL)
248
+ )`, registrationAttemptValues(record)),
249
+ claimCandidate: (prepare, input) => prepare(`WITH scope AS (SELECT ? AS namespace, ? AS org_id, ? AS project_id, ? AS env_id)
250
+ UPDATE email_otp_registration_attempts
251
+ SET wallet_id = ?, selection_digest = ?,
252
+ record_json = json_set(record_json,
253
+ '$.walletId', ?, '$.selectedCandidateId', ?,
254
+ '$.collisionCounter', (
255
+ SELECT json_extract(value, '$.collisionCounter')
256
+ FROM json_each(record_json, '$.offerCandidates')
257
+ WHERE json_extract(value, '$.candidateId') = ?
258
+ ), '$.updatedAtMs', MAX(updated_at_ms, ?)),
259
+ updated_at_ms = MAX(updated_at_ms, ?)
260
+ WHERE namespace = (SELECT namespace FROM scope)
261
+ AND org_id = (SELECT org_id FROM scope)
262
+ AND project_id = (SELECT project_id FROM scope)
263
+ AND env_id = (SELECT env_id FROM scope)
264
+ AND attempt_id = ? AND state IN ('started', 'key_finalized') AND expires_at_ms > ?
265
+ AND EXISTS (
266
+ SELECT 1 FROM json_each(record_json, '$.offerCandidates')
267
+ WHERE json_extract(value, '$.candidateId') = ? AND json_extract(value, '$.walletId') = ?
268
+ )
269
+ AND (selection_digest IS NULL OR (
270
+ selection_digest = ? AND wallet_id = ? AND json_extract(record_json, '$.selectedCandidateId') = ?
271
+ ))`, [
272
+ input.walletId,
273
+ input.intentDigest,
274
+ input.walletId,
275
+ input.candidateId,
276
+ input.candidateId,
277
+ input.nowMs,
278
+ input.nowMs,
279
+ input.attemptId,
280
+ input.nowMs,
281
+ input.candidateId,
282
+ input.walletId,
283
+ input.intentDigest,
284
+ input.walletId,
285
+ input.candidateId
286
+ ]),
287
+ updatePending: (prepare, record) => prepare(`WITH scope AS (SELECT ? AS namespace, ? AS org_id, ? AS project_id, ? AS env_id)
288
+ UPDATE email_otp_registration_attempts
289
+ SET wallet_id = ?, state = ?, record_json = ?, updated_at_ms = ?
290
+ WHERE namespace = (SELECT namespace FROM scope)
291
+ AND org_id = (SELECT org_id FROM scope)
292
+ AND project_id = (SELECT project_id FROM scope)
293
+ AND env_id = (SELECT env_id FROM scope)
294
+ AND attempt_id = ?
295
+ AND state IN ('started', 'key_finalized')
296
+ AND wallet_id = ?
297
+ AND json_extract(record_json, '$.selectedCandidateId') = ?
298
+ AND NOT (state = 'key_finalized' AND ? = 'started')
299
+ AND (? NOT IN ('abandoned', 'expired') OR selection_digest IS NULL)
300
+ AND ? <> 'active'
301
+ AND updated_at_ms <= ?`, [
309
302
  record.walletId,
310
303
  record.state,
311
- record.ownerProofBindingDigest,
312
- record.runtimePolicyScope?.orgId || "",
313
- runtimePolicyScopeKey(record.runtimePolicyScope),
314
- offerWalletIdsJson(record.offerCandidates),
315
304
  JSON.stringify(record),
316
- record.createdAtMs,
317
305
  record.updatedAtMs,
318
- record.expiresAtMs
306
+ record.attemptId,
307
+ record.walletId,
308
+ record.selectedCandidateId,
309
+ record.state,
310
+ record.state,
311
+ record.state,
312
+ record.updatedAtMs
319
313
  ]),
320
314
  select: (prepare, attemptId) => prepare(`SELECT record_json, expires_at_ms, updated_at_ms, attempt_id
321
315
  FROM email_otp_registration_attempts
@@ -348,6 +342,7 @@ const emailOtpRegistrationAttemptRows = {
348
342
  AND org_id = ?
349
343
  AND project_id = ?
350
344
  AND env_id = ?
345
+ AND state <> 'active' AND selection_digest IS NULL
351
346
  AND (expires_at_ms <= ? OR state = 'expired')`, [nowMs]),
352
347
  selectLiveForWallet: (prepare, walletId, nowMs) => prepare(`SELECT 1 AS found
353
348
  FROM email_otp_registration_attempts
@@ -356,7 +351,7 @@ const emailOtpRegistrationAttemptRows = {
356
351
  AND project_id = ?
357
352
  AND env_id = ?
358
353
  AND state IN ('started', 'key_finalized')
359
- AND expires_at_ms > ?
354
+ AND (expires_at_ms > ? OR selection_digest IS NOT NULL)
360
355
  AND (
361
356
  wallet_id = ?
362
357
  OR EXISTS (
@@ -370,13 +365,31 @@ const emailOtpRegistrationAttemptRows = {
370
365
  walletId,
371
366
  walletId
372
367
  ]),
373
- delete: (prepare, attemptId) => prepare(`DELETE FROM email_otp_registration_attempts
368
+ deleteUnclaimed: (prepare, attemptId) => prepare(`DELETE FROM email_otp_registration_attempts
374
369
  WHERE namespace = ?
375
370
  AND org_id = ?
376
371
  AND project_id = ?
377
372
  AND env_id = ?
378
- AND attempt_id = ?`, [attemptId])
373
+ AND attempt_id = ?
374
+ AND selection_digest IS NULL`, [attemptId])
379
375
  };
376
+ function registrationAttemptValues(record) {
377
+ return [
378
+ record.attemptId,
379
+ record.providerSubject,
380
+ record.email,
381
+ record.walletId,
382
+ record.state,
383
+ record.ownerProofBindingDigest,
384
+ record.runtimePolicyScope?.orgId || "",
385
+ runtimePolicyScopeKey(record.runtimePolicyScope),
386
+ offerWalletIdsJson(record.offerCandidates),
387
+ JSON.stringify(record),
388
+ record.createdAtMs,
389
+ record.updatedAtMs,
390
+ record.expiresAtMs
391
+ ];
392
+ }
380
393
  //#endregion
381
394
  export { emailOtpAuthStateRows, emailOtpChallengeRows, emailOtpGrantRows, emailOtpRegistrationAttemptRows, emailOtpUnlockChallengeRows, emailOtpWalletEnrollmentRows };
382
395
 
@@ -1,12 +1,2 @@
1
- import { formatEcdsaClientVerifyingShareB64uForWire, formatEcdsaDerivationKeyVersionForWire, formatEcdsaKeyHandleForWire, formatEcdsaRelayerKeyIdForWire, formatEcdsaThresholdKeyIdForWire, formatEd25519RelayerKeyIdForWire, formatSigningSessionSealKeyVersionForWire, parseEcdsaClientVerifyingShareB64u, parseEcdsaDerivationKeyVersion, parseEcdsaKeyHandle, parseEcdsaRelayerKeyId, parseEd25519RelayerKeyId, parseNonEmptyBrand, parseSigningSessionSealKeyVersion } from "../shared-ts/src/threshold/keyMaterialBrands.js";
2
- //#region src/core/keyMaterialBrands.ts
3
- function parseEcdsaThresholdKeyId(value) {
4
- return parseNonEmptyBrand(value, "ECDSA threshold key id");
5
- }
6
- function formatEd25519ClientVerifyingShareB64uForWire(value) {
7
- return value;
8
- }
9
- //#endregion
10
- export { formatEcdsaClientVerifyingShareB64uForWire, formatEcdsaDerivationKeyVersionForWire, formatEcdsaKeyHandleForWire, formatEcdsaRelayerKeyIdForWire, formatEcdsaThresholdKeyIdForWire, formatEd25519ClientVerifyingShareB64uForWire, formatEd25519RelayerKeyIdForWire, formatSigningSessionSealKeyVersionForWire, parseEcdsaClientVerifyingShareB64u, parseEcdsaDerivationKeyVersion, parseEcdsaKeyHandle, parseEcdsaRelayerKeyId, parseEcdsaThresholdKeyId, parseEd25519RelayerKeyId, parseSigningSessionSealKeyVersion };
11
-
12
- //# sourceMappingURL=keyMaterialBrands.js.map
1
+ import { formatEcdsaKeyHandleForWire, formatSigningSessionSealKeyVersionForWire, parseEcdsaClientVerifyingShareB64u, parseEcdsaKeyHandle, parseEcdsaRelayerKeyId, parseSigningSessionSealKeyVersion } from "../shared-ts/src/threshold/keyMaterialBrands.js";
2
+ export { formatEcdsaKeyHandleForWire, formatSigningSessionSealKeyVersionForWire, parseEcdsaClientVerifyingShareB64u, parseEcdsaKeyHandle, parseEcdsaRelayerKeyId, parseSigningSessionSealKeyVersion };
@@ -1,5 +1,4 @@
1
1
  import { ensureEd25519Prefix } from "../shared-ts/src/utils/near.js";
2
- import "../shared-ts/src/utils/validation.js";
3
2
  import bs58 from "bs58";
4
3
  //#region src/core/nearKeys.ts
5
4
  function stripEd25519Prefix(value) {
@@ -2,17 +2,17 @@ import { base64UrlDecode, base64UrlEncode } from "../shared-ts/src/utils/base64.
2
2
  import { sha256Bytes } from "../shared-ts/src/utils/digests.js";
3
3
  import { base58Encode } from "../shared-ts/src/utils/base58.js";
4
4
  import "../shared-ts/src/utils/encoders.js";
5
- import { deriveImplicitNearAccountIdFromEd25519PublicKey, parseImplicitNearAccountId, parseNamedNearAccountId } from "../shared-ts/src/utils/near.js";
6
5
  import { coerceNonEmptyString, requireRecordOrArray } from "../shared-ts/src/utils/validation.js";
7
6
  import { failure } from "../shared-ts/src/utils/failure.js";
8
7
  import { ActionType, validateActionArgsWasm } from "../shared-ts/src/near/actions.js";
8
+ import { deriveImplicitNearAccountIdFromEd25519PublicKey, parseImplicitNearAccountId, parseNamedNearAccountId } from "../shared-ts/src/utils/near.js";
9
9
  import { errorMessage } from "../shared-ts/src/utils/errors.js";
10
+ import { threshold_ed25519_build_near_tx_unsigned_borsh, threshold_ed25519_decode_signed_near_tx_borsh, threshold_ed25519_finalize_near_tx_from_signature } from "../wasm/near_signer/pkg/wasm_signer_worker.js";
10
11
  import { toPublicKeyStringFromSecretKey } from "./nearKeys.js";
11
- import { SignedTransaction } from "../shared-ts/src/near/nearClient.js";
12
- import { MinimalNearClient, NearRpcError } from "./rpcClients/near/NearClient.js";
13
12
  import { requireFinalizeNearTxFromSignatureOutput, requireSingleUnsignedNearTxBorshOutput, signNearDigestWithSecretKey } from "./authService/nearPrivateKeySigning.js";
14
- import { threshold_ed25519_build_near_tx_unsigned_borsh, threshold_ed25519_decode_signed_near_tx_borsh, threshold_ed25519_finalize_near_tx_from_signature } from "../wasm/near_signer/pkg/wasm_signer_worker.js";
15
13
  import { ensureNearSignerWasm } from "./nearSignerWasmRuntime.js";
14
+ import { SignedTransaction } from "../shared-ts/src/near/nearClient.js";
15
+ import { MinimalNearClient, NearRpcError } from "./rpcClients/near/NearClient.js";
16
16
  //#region src/core/nearRelayerAccountProvisioning.ts
17
17
  /**
18
18
  * A plain funding transfer only has to be executed before the client can read
@@ -73,8 +73,7 @@ function requireDecodedSponsoredNearAccountCreation(value, signedTransactionBors
73
73
  permission: "FullAccess"
74
74
  }
75
75
  } }
76
- ],
77
- signedTransactionBorshB64u
76
+ ]
78
77
  };
79
78
  }
80
79
  function parsePositiveYocto(value, label) {
@@ -310,11 +309,9 @@ async function prepareSponsoredNearAccountCreationWithRelayer(input) {
310
309
  }
311
310
  };
312
311
  } catch (error) {
313
- const message = errorMessage(error) || "Failed to prepare NEAR account creation";
314
312
  return {
315
313
  ok: false,
316
- error: message,
317
- message
314
+ message: errorMessage(error) || "Failed to prepare NEAR account creation"
318
315
  };
319
316
  }
320
317
  }
@@ -0,0 +1,8 @@
1
+ //#region src/core/passkeyCredentialClaims.ts
2
+ async function reservePasskeyCredential(claims, input) {
3
+ if (claims && !await claims.claim(input)) throw new Error("Passkey credential belongs to another wallet or home");
4
+ }
5
+ //#endregion
6
+ export { reservePasskeyCredential };
7
+
8
+ //# sourceMappingURL=passkeyCredentialClaims.js.map
@@ -1,12 +1,9 @@
1
- import { coerceThresholdNodeRole, parseThresholdEd25519ParticipantIds2p } from "../ThresholdService/config.js";
1
+ import { parseThresholdEd25519ParticipantIds2p } from "../ThresholdService/config.js";
2
2
  import { exportRouterAbLinkedDeviceEcdsaShare, startRouterAbLinkedDeviceEcdsaPresignSession, stepRouterAbLinkedDeviceEcdsaPresignSession } from "../ThresholdService/routerAb/ecdsaDerivationPresignBridge.js";
3
3
  import { RouterAbEcdsaDerivationPoolFillHandlers } from "../ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.js";
4
4
  //#region src/core/routerAbSigning/RouterAbEcdsaPresignRuntime.ts
5
5
  function parseRouterAbEcdsaPresignRuntimeConfig(input) {
6
- return {
7
- nodeRole: coerceThresholdNodeRole(input.THRESHOLD_NODE_ROLE),
8
- participantIds: parseThresholdEd25519ParticipantIds2p(input)
9
- };
6
+ return { participantIds: parseThresholdEd25519ParticipantIds2p(input) };
10
7
  }
11
8
  function routerAbEcdsaPresignGlobalFetch(input, init) {
12
9
  return globalThis.fetch(input, init);
@@ -24,7 +21,6 @@ var RouterAbEcdsaPresignRuntime = class {
24
21
  constructor(input) {
25
22
  this.signingWorkerTransport = resolveSigningWorkerTransport(input.signingWorkerTransport);
26
23
  this.handlers = new RouterAbEcdsaDerivationPoolFillHandlers({
27
- nodeRole: input.config.nodeRole,
28
24
  participantIds2p: input.config.participantIds.participantIds2p,
29
25
  ensureReady: input.ensureReady,
30
26
  signingWorkerTransport: this.signingWorkerTransport
@@ -1,35 +1,7 @@
1
1
  import { normalizeOptionalTrimmedString } from "../../shared-ts/src/utils/normalize.js";
2
- import "../../shared-ts/src/utils/validation.js";
3
2
  import { MAX_WALLET_SESSION_REMAINING_USES, MAX_WALLET_SESSION_TTL_MS } from "../../shared-ts/src/threshold/sessionPolicy.js";
4
- import { parseRouterAbNormalSigningServerPolicy, validateRouterAbNormalSigningServerPolicy } from "../ThresholdService/routerAbNormalSigningPolicy.js";
3
+ import { validateRouterAbNormalSigningServerPolicy } from "../ThresholdService/routerAbNormalSigningPolicy.js";
5
4
  //#region src/core/routerAbSigning/RouterAbNormalSigningRuntime.ts
6
- function requireRouterAbConfiguredSigningWorkerPrivateTransport(transport) {
7
- if (transport.kind !== "configured") throw new Error("InvalidLocalServiceConfig: ROUTER_AB_SIGNING_WORKER_URL and ROUTER_AB_INTERNAL_SERVICE_AUTH_SECRET are required for Router A/B ECDSA presign");
8
- return transport;
9
- }
10
- function parseSigningWorkerTransport(config) {
11
- const signingWorkerBaseUrl = normalizeOptionalTrimmedString(config.ROUTER_AB_SIGNING_WORKER_URL);
12
- const secret = normalizeOptionalTrimmedString(config.ROUTER_AB_INTERNAL_SERVICE_AUTH_SECRET);
13
- const fetchImpl = typeof config.routerAbSigningWorkerFetch === "function" ? config.routerAbSigningWorkerFetch : void 0;
14
- if (!signingWorkerBaseUrl && !secret) return { kind: "unconfigured" };
15
- if (!signingWorkerBaseUrl) throw new Error("ROUTER_AB_SIGNING_WORKER_URL is required when Router A/B internal service auth is configured");
16
- if (!secret) throw new Error("ROUTER_AB_INTERNAL_SERVICE_AUTH_SECRET is required when Router A/B SigningWorker URL is configured");
17
- return {
18
- kind: "configured",
19
- signingWorkerBaseUrl,
20
- auth: {
21
- kind: "internal_service_auth_secret",
22
- secret
23
- },
24
- ...fetchImpl ? { fetchImpl } : {}
25
- };
26
- }
27
- function parseRouterAbNormalSigningRuntimeConfig(config) {
28
- return {
29
- policy: parseRouterAbNormalSigningServerPolicy(config),
30
- signingWorkerTransport: parseSigningWorkerTransport(config)
31
- };
32
- }
33
5
  var RouterAbNormalSigningRuntime = class {
34
6
  constructor(input) {
35
7
  this.walletSessionStore = input.walletSessionStore;
@@ -96,6 +68,6 @@ var RouterAbNormalSigningRuntime = class {
96
68
  }
97
69
  };
98
70
  //#endregion
99
- export { RouterAbNormalSigningRuntime, parseRouterAbNormalSigningRuntimeConfig, requireRouterAbConfiguredSigningWorkerPrivateTransport };
71
+ export { RouterAbNormalSigningRuntime };
100
72
 
101
73
  //# sourceMappingURL=RouterAbNormalSigningRuntime.js.map
@@ -32,10 +32,7 @@ function thresholdEcdsaChainTargetFromValue(value) {
32
32
  }
33
33
  return null;
34
34
  }
35
- function thresholdEcdsaChainTargetsEqual(left, right) {
36
- return thresholdEcdsaChainTargetKey(left) === thresholdEcdsaChainTargetKey(right);
37
- }
38
35
  //#endregion
39
- export { thresholdEcdsaChainTargetFromValue, thresholdEcdsaChainTargetKey, thresholdEcdsaChainTargetsEqual };
36
+ export { thresholdEcdsaChainTargetFromValue, thresholdEcdsaChainTargetKey };
40
37
 
41
38
  //# sourceMappingURL=thresholdEcdsaChainTarget.js.map