@seams/wallet-server 0.6.2 → 0.7.3

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 (790) hide show
  1. package/THIRD_PARTY_NOTICES.md +1 -105
  2. package/artifact-manifest.json +147 -32
  3. package/cloudflare-router-ab/build/deriver-a/build-stamp.json +1 -0
  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 -0
  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 -0
  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 -0
  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 -0
  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/migrations/deriver-a/0012_tenant_root_creation_tombstones.sql +20 -0
  22. package/cloudflare-router-ab/migrations/deriver-a/0013_tenant_root_root_use_admissions.sql +32 -0
  23. package/cloudflare-router-ab/migrations/deriver-a/0014_tenant_root_refresh_supersessions.sql +24 -0
  24. package/cloudflare-router-ab/migrations/deriver-a/0015_tenant_root_root_use_attempts.sql +56 -0
  25. package/cloudflare-router-ab/migrations/deriver-a/0016_tenant_root_root_use_admission_settlement.sql +5 -0
  26. package/cloudflare-router-ab/migrations/deriver-a/0017_tenant_root_root_use_admission_claims.sql +64 -0
  27. package/cloudflare-router-ab/migrations/deriver-a/0018_tenant_root_recovery_retention_keys.sql +12 -0
  28. package/cloudflare-router-ab/migrations/deriver-b/0012_tenant_root_creation_tombstones.sql +20 -0
  29. package/cloudflare-router-ab/migrations/deriver-b/0013_tenant_root_root_use_admissions.sql +32 -0
  30. package/cloudflare-router-ab/migrations/deriver-b/0014_tenant_root_refresh_supersessions.sql +24 -0
  31. package/cloudflare-router-ab/migrations/deriver-b/0015_tenant_root_root_use_attempts.sql +56 -0
  32. package/cloudflare-router-ab/migrations/deriver-b/0016_tenant_root_root_use_admission_settlement.sql +5 -0
  33. package/cloudflare-router-ab/migrations/deriver-b/0017_tenant_root_root_use_admission_claims.sql +64 -0
  34. package/cloudflare-router-ab/migrations/deriver-b/0018_tenant_root_recovery_retention_keys.sql +12 -0
  35. package/cloudflare-router-ab/scripts/bootstrap-local-tenant-root.mjs +81 -16
  36. package/cloudflare-router-ab/scripts/prepare-local-runtime-config.mjs +102 -9
  37. package/cloudflare-router-ab/scripts/start-local-role-workers.mjs +4 -1
  38. package/cloudflare-router-ab/wrangler.deriver-a.toml +24 -0
  39. package/cloudflare-router-ab/wrangler.router.toml +13 -0
  40. package/dist/esm/authorization/capabilityPolicy.js +1 -1
  41. package/dist/esm/authorization/domain.js +2 -2
  42. package/dist/esm/authorization/factorEvidence.js +6 -100
  43. package/dist/esm/authorization/service.js +42 -2
  44. package/dist/esm/authorization/vaultProxyUse.js +5 -10
  45. package/dist/esm/cloud-host.js +17 -12
  46. package/dist/esm/core/EmailOtpRecords.js +19 -1
  47. package/dist/esm/core/EmailOtpStores.js +323 -924
  48. package/dist/esm/core/IdentityStore.js +67 -345
  49. package/dist/esm/core/NearPublicKeyStore.js +21 -63
  50. package/dist/esm/core/RegistrationCeremonyStore.js +3 -1793
  51. package/dist/esm/core/SessionService.js +7 -30
  52. package/dist/esm/core/ThresholdService/config.js +1 -82
  53. package/dist/esm/core/ThresholdService/kv.js +3 -3
  54. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.js +37 -5
  55. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.js +4 -74
  56. package/dist/esm/core/ThresholdService/routerAbNormalSigningPolicy.js +3 -10
  57. package/dist/esm/core/ThresholdService/stores/CloudflareDurableObjectStore.js +15 -51
  58. package/dist/esm/core/ThresholdService/stores/KeyStore.js +3 -3
  59. package/dist/esm/core/ThresholdService/stores/SessionStore.js +5 -81
  60. package/dist/esm/core/ThresholdService/stores/WalletSessionStore.js +191 -372
  61. package/dist/esm/core/ThresholdService/stores/exportReplayGuard.js +7 -0
  62. package/dist/esm/core/ThresholdService/validation.js +18 -230
  63. package/dist/esm/core/WalletAuthMethodStore.js +22 -79
  64. package/dist/esm/core/WalletStore.js +62 -191
  65. package/dist/esm/core/WebAuthnAuthenticatorStore.js +57 -340
  66. package/dist/esm/core/WebAuthnCredentialBindingStore.js +90 -369
  67. package/dist/esm/core/WebAuthnLoginChallengeStore.js +17 -397
  68. package/dist/esm/core/WebAuthnSyncChallengeStore.js +17 -397
  69. package/dist/esm/core/authService/AuthService.js +2 -19
  70. package/dist/esm/core/authService/bytes.js +1 -4
  71. package/dist/esm/core/authService/emailOtpChallengeOperations.js +2 -5
  72. package/dist/esm/core/authService/emailOtpChallengeProof.js +10 -41
  73. package/dist/esm/core/authService/emailOtpChallengeVerification.js +19 -90
  74. package/dist/esm/core/authService/emailOtpChallenges.js +11 -46
  75. package/dist/esm/core/authService/emailOtpConfig.js +1 -32
  76. package/dist/esm/core/authService/emailOtpDelivery.js +10 -45
  77. package/dist/esm/core/authService/emailOtpEnrollment.js +9 -40
  78. package/dist/esm/core/authService/emailOtpGrant.js +9 -40
  79. package/dist/esm/core/authService/emailOtpRegistrationEnrollment.js +15 -193
  80. package/dist/esm/core/authService/emailOtpSeal.js +5 -20
  81. package/dist/esm/core/authService/emailOtpUnlock.js +20 -110
  82. package/dist/esm/core/authService/googleEmailOtpRegistration.js +29 -116
  83. package/dist/esm/core/authService/identity.js +5 -20
  84. package/dist/esm/core/authService/nearPrivateKeySigning.js +7 -15
  85. package/dist/esm/core/authService/nearPublicKeyMetadata.js +6 -25
  86. package/dist/esm/core/authService/nearTransactions.js +2 -1
  87. package/dist/esm/core/authService/oidcVerification.js +25 -38
  88. package/dist/esm/core/authService/rateLimits.js +3 -36
  89. package/dist/esm/core/authService/registrationThresholdHelpers.js +2 -103
  90. package/dist/esm/core/authService/storeRegistry.js +2 -13
  91. package/dist/esm/core/authService/thresholdEcdsaKeyInventory.js +6 -6
  92. package/dist/esm/core/authService/webauthn.js +52 -241
  93. package/dist/esm/core/authService/webauthnOidcHelpers.js +1 -6
  94. package/dist/esm/core/authService/webauthnVerificationOutcomes.js +41 -0
  95. package/dist/esm/core/authService/webauthnWalletBinding.js +2 -122
  96. package/dist/esm/core/d1EcdsaSignerRead.js +76 -0
  97. package/dist/esm/core/d1IdentityStore.js +46 -139
  98. package/dist/esm/core/d1TenantStore.js +82 -0
  99. package/dist/esm/core/d1WalletAuthMethodStore.js +92 -143
  100. package/dist/esm/core/d1WalletStore.js +28 -36
  101. package/dist/esm/core/deviceLinking/linkedDeviceEmailOtpGrant.js +10 -12
  102. package/dist/esm/core/deviceLinking/linkedDeviceManagement.js +25 -3
  103. package/dist/esm/core/deviceLinking/linkedDeviceSession.js +6 -895
  104. package/dist/esm/core/deviceLinking/linkedDeviceSessionApproval.js +100 -0
  105. package/dist/esm/core/deviceLinking/linkedDeviceSessionRecord.js +662 -0
  106. package/dist/esm/core/deviceLinking/requestProof.js +13 -4
  107. package/dist/esm/core/ecdsaMaterialReadSnapshot.js +85 -0
  108. package/dist/esm/core/emailOtpD1Statements.js +383 -0
  109. package/dist/esm/core/hostedAccountIds.js +2 -2
  110. package/dist/esm/core/keyMaterialBrands.js +2 -48
  111. package/dist/esm/core/nearRelayerAccountProvisioning.js +27 -155
  112. package/dist/esm/core/nearSignerWasmRuntime.js +1 -4
  113. package/dist/esm/core/rpcClients/near/NearClient.js +15 -218
  114. package/dist/esm/core/signingLanes/LaneEnrollmentActivation.js +1 -1
  115. package/dist/esm/core/signingLanes/LaneLifecycleApplicationService.js +2 -4
  116. package/dist/esm/core/signingLanes/LaneLifecycleStore.js +0 -24
  117. package/dist/esm/core/signingLanes/WalletExecutionLaneProjection.js +8 -11
  118. package/dist/esm/core/signingLanes/ecdsaServerRetirement.js +3 -8
  119. package/dist/esm/core/signingLanes/ed25519ServerRetirement.js +1 -4
  120. package/dist/esm/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.js +2 -5
  121. package/dist/esm/core/storeBackends.js +208 -0
  122. package/dist/esm/core/thresholdEcdsaChainTarget.js +2 -10
  123. package/dist/esm/core/webAuthnD1Statements.js +92 -0
  124. package/dist/esm/core/webAuthnStoreBackends.js +198 -0
  125. package/dist/esm/hosted-wallet-gateway.js +34 -17
  126. package/dist/esm/index.js +2 -2
  127. package/dist/esm/local-hosted-wallet-gateway-worker.js +2 -23
  128. package/dist/esm/localHostedWalletGatewayHandler.js +312 -0
  129. package/dist/esm/localIntendedEcdsaFinalizeFault.js +85 -0
  130. package/dist/esm/localIntendedLinkExecuteFault.js +140 -0
  131. package/dist/esm/localIntendedMaterialAdmissionFault.js +176 -0
  132. package/dist/esm/localIntendedPresignCancellation.js +44 -0
  133. package/dist/esm/localIntendedRevokeFault.js +106 -0
  134. package/dist/esm/localIntendedSessionAdmissionFault.js +139 -0
  135. package/dist/esm/localIntendedYaoExportFault.js +117 -0
  136. package/dist/esm/localIntendedYaoFault.js +13 -16
  137. package/dist/esm/localIntendedYaoFinalizeFault.js +99 -0
  138. package/dist/esm/localIntendedYaoRecoveryFault.js +102 -0
  139. package/dist/esm/localIntendedYaoSigningFault.js +127 -0
  140. package/dist/esm/router/auth/authRequestValidation.js +1 -1
  141. package/dist/esm/router/auth/commonRouterUtils.js +34 -12
  142. package/dist/esm/router/auth/walletSessionFailure.js +3 -19
  143. package/dist/esm/router/auth/webAuthnCredentialCodecs.js +4 -15
  144. package/dist/esm/router/cloudflare/d1/auth/d1AuthorizedOperationRouteService.js +24 -0
  145. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthBoundary.js +2 -6
  146. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthService.js +87 -89
  147. package/dist/esm/router/cloudflare/d1/auth/walletSessionCredentialReaders.js +76 -0
  148. package/dist/esm/router/cloudflare/d1/authorization/authorizedOperationStatements.js +215 -0
  149. package/dist/esm/router/cloudflare/d1/authorization/d1AuthorizationStore.js +423 -308
  150. package/dist/esm/router/cloudflare/d1/authorization/d1VaultProxyStore.js +8 -12
  151. package/dist/esm/router/cloudflare/d1/authorization/persistedWalletSessionAuthorization.js +14 -0
  152. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.js +107 -66
  153. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.js +3 -6
  154. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.js +1 -19
  155. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceManagementService.js +4 -3
  156. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.js +52 -9
  157. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.js +3 -6
  158. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRevocation.js +100 -0
  159. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.js +7 -10
  160. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.js +33 -124
  161. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSourceContributionPreparationPlanner.js +2 -2
  162. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.js +10 -18
  163. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkBuilder.js +6 -6
  164. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkSourceReader.js +3 -1
  165. package/dist/esm/router/cloudflare/d1/deviceLinking/index.js +4 -4
  166. package/dist/esm/router/cloudflare/d1/deviceLinking/installedEcdsaAuthority.js +69 -0
  167. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.js +39 -68
  168. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoLifecycleDecisionStore.js +69 -0
  169. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.js +2 -2
  170. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.js +12 -55
  171. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.js +17 -80
  172. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.js +26 -71
  173. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.js +20 -3
  174. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpDeliveryRuntime.js +6 -25
  175. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.js +7 -94
  176. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.js +5 -47
  177. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.js +38 -170
  178. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.js +24 -87
  179. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.js +9 -32
  180. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.js +5 -20
  181. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.js +15 -134
  182. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.js +54 -260
  183. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.js +24 -111
  184. package/dist/esm/router/cloudflare/d1/identity/d1IdentityRecords.js +1 -28
  185. package/dist/esm/router/cloudflare/d1/identity/d1IdentityService.js +9 -40
  186. package/dist/esm/router/cloudflare/d1/near/d1NearPublicKeyStore.js +5 -18
  187. package/dist/esm/router/cloudflare/d1/oidc/d1OidcBoundary.js +18 -91
  188. package/dist/esm/router/cloudflare/d1/oidc/d1OidcVerificationService.js +6 -30
  189. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyEnvelopeStore.js +1 -1
  190. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.js +7 -18
  191. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.js +25 -80
  192. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpRecords.js +24 -15
  193. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpService.js +23 -253
  194. package/dist/esm/router/cloudflare/d1/registration/d1EvmFamilyEcdsaRegistrationBranch.js +5 -20
  195. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.js +20 -39
  196. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.js +31 -73
  197. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.js +4 -1
  198. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationIntentService.js +10 -31
  199. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.js +6 -30
  200. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationService.js +286 -220
  201. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetup.js +5 -3
  202. package/dist/esm/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.js +2 -2
  203. package/dist/esm/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.js +4 -7
  204. package/dist/esm/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.js +139 -27
  205. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.js +0 -1
  206. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.js +1 -1
  207. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneRecords.js +2 -1
  208. package/dist/esm/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.js +2 -60
  209. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerService.js +158 -19
  210. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodBoundary.js +19 -49
  211. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodRevocationReplayStore.js +100 -0
  212. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodService.js +132 -33
  213. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorityStore.js +83 -4
  214. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.js +45 -217
  215. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnRecords.js +10 -13
  216. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnStore.js +22 -116
  217. package/dist/esm/router/cloudflare/durableObjects/thresholdStore.js +59 -66
  218. package/dist/esm/router/cloudflare/runtime/createSelfHostedCloudflareSigningWorker.js +1 -2
  219. package/dist/esm/router/cloudflare/runtime/routerAbPrewarm.js +2 -2
  220. package/dist/esm/router/cloudflare/runtime/staticWalletConsoleBinding.js +5 -20
  221. package/dist/esm/router/cloudflare/runtime/tenantRootCreationGrant.js +2 -9
  222. package/dist/esm/router/cloudflare/runtime/walletConsoleTenantRootLineage.js +11 -2
  223. package/dist/esm/router/cloudflare/runtime/walletControlOps.js +2 -1
  224. package/dist/esm/router/cloudflare/runtime/walletGateway.js +1 -1
  225. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.js +7 -7
  226. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.js +4 -3
  227. package/dist/esm/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.js +48 -21
  228. package/dist/esm/router/cloudflare.js +13343 -14372
  229. package/dist/esm/router/domains/ecdsa/routerAbEcdsaStrictRegistration.js +16 -5
  230. package/dist/esm/router/domains/ecdsa/thresholdEcdsaRequestValidation.js +2 -8
  231. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoLifecycleDecision.js +33 -0
  232. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.js +17 -9
  233. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.js +29 -431
  234. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.js +7 -2
  235. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPersistence.js +5 -8
  236. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRunner.js +2 -1
  237. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.js +70 -2
  238. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.js +134 -169
  239. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.js +77 -162
  240. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.js +205 -51
  241. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.js +29 -11
  242. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryWalletSessionAuthorization.js +3 -6
  243. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.js +182 -55
  244. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.js +2 -1
  245. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.js +63 -247
  246. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.js +9 -27
  247. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationRequestScopedCloudflare.js +87 -132
  248. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.js +39 -55
  249. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationTwoPhaseRunner.js +5 -4
  250. package/dist/esm/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.js +45 -0
  251. package/dist/esm/router/domains/ed25519Yao/session/thresholdEd25519RequestValidation.js +1 -1
  252. package/dist/esm/router/domains/emailOtp/emailOtpExportPolicy.js +1 -42
  253. package/dist/esm/router/domains/emailOtp/emailOtpRequestValidation.js +1 -6
  254. package/dist/esm/router/domains/emailOtp/emailOtpRouteHandlers.js +15 -62
  255. package/dist/esm/router/domains/emailOtp/emailOtpSessionRouteHelpers.js +1 -142
  256. package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrievalRoute.js +1 -1
  257. package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationCommit.js +2 -2
  258. package/dist/esm/router/domains/passkeyCustody/walletRecoveryFinalization.js +23 -45
  259. package/dist/esm/router/domains/passkeyCustody/walletRecoveryKeyManifest.js +5 -5
  260. package/dist/esm/router/domains/signingOperations/ed25519AuthorizedOperationReceipt.js +1 -1
  261. package/dist/esm/router/domains/signingOperations/routerAbEcdsaDerivationNormalSigningRoute.js +836 -0
  262. package/dist/esm/router/domains/signingOperations/routerAbEd25519NormalSigningRoute.js +698 -0
  263. package/dist/esm/router/domains/signingOperations/routerAbNormalSigningAdmission.js +210 -0
  264. package/dist/esm/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.js +16 -15
  265. package/dist/esm/router/domains/signingOperations/routerAbOperationStepUp.js +314 -0
  266. package/dist/esm/router/domains/signingOperations/routerAbPrivateSigningWorker.js +62 -2159
  267. package/dist/esm/router/domains/signingOperations/walletExecutionAdmission.js +1 -4
  268. package/dist/esm/router/domains/tenantRoot/tenantRootIdentityResolution.js +8 -14
  269. package/dist/esm/router/domains/walletRegistration/walletRegistrationRoutes.js +18 -22
  270. package/dist/esm/router/domains/walletRegistration/walletRegistrationSetupPayload.js +3 -4
  271. package/dist/esm/router/domains/walletUnlock/walletUnlockRequestedCapabilitiesValidation.js +2 -2
  272. package/dist/esm/router/domains/walletUnlock/walletUnlockRouteHandlers.js +127 -339
  273. package/dist/esm/router/express.js +7172 -7997
  274. package/dist/esm/router/framework/http.js +5 -4
  275. package/dist/esm/router/framework/ror/normalize.js +1 -1
  276. package/dist/esm/router/framework/routerApiRouteSurface.js +1 -1
  277. package/dist/esm/router/framework/runtimeSnapshotConsumer.js +8 -35
  278. package/dist/esm/router/node/nodeHostedWalletGateway.js +64 -0
  279. package/dist/esm/router/node/nodeHostedWalletGatewayCheck.js +163 -0
  280. package/dist/esm/router/node/nodeHostedWalletGatewayMain.js +120 -0
  281. package/dist/esm/router/node/nodeHttp.js +79 -0
  282. package/dist/esm/router/node/nodeSqlite.js +43 -0
  283. package/dist/esm/router/node/signerSqlMigrations.js +48 -0
  284. package/dist/esm/router/transport/fetch/createFetchRouter.js +4 -7
  285. package/dist/esm/router/transport/fetch/routes/auth.js +9 -41
  286. package/dist/esm/router/transport/fetch/routes/deviceLinking.js +16 -18
  287. package/dist/esm/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.js +8 -27
  288. package/dist/esm/router/transport/fetch/routes/deviceManagement.js +15 -24
  289. package/dist/esm/router/transport/fetch/routes/nearPublicKeys.js +4 -16
  290. package/dist/esm/router/transport/fetch/routes/normalSigningRouterProxy.js +3 -16
  291. package/dist/esm/router/transport/fetch/routes/passkeyCustody.js +144 -461
  292. package/dist/esm/router/transport/fetch/routes/sessions.js +5 -4
  293. package/dist/esm/router/transport/fetch/routes/syncAccount.js +12 -42
  294. package/dist/esm/router/transport/fetch/routes/syncAccountBootstrap.js +2 -2
  295. package/dist/esm/router/transport/fetch/routes/thresholdEcdsa.js +96 -102
  296. package/dist/esm/router/transport/fetch/routes/thresholdEd25519.js +52 -27
  297. package/dist/esm/router/transport/fetch/routes/walletExecutionLanePreflight.js +4 -1
  298. package/dist/esm/router/transport/fetch/routes/webauthnAuthenticators.js +4 -16
  299. package/dist/esm/shared-ts/src/authorization/capabilityKinds.js +1 -1
  300. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +1 -1
  301. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +1 -2
  302. package/dist/esm/shared-ts/src/authorization/walletAuthority.js +99 -227
  303. package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +4 -6
  304. package/dist/esm/shared-ts/src/authorization/walletSignerActivationEquality.js +12 -0
  305. package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +74 -0
  306. package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +50 -0
  307. package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +10 -14
  308. package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +3 -5
  309. package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +55 -0
  310. package/dist/esm/shared-ts/src/device-linking/digests.js +10 -65
  311. package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +14 -16
  312. package/dist/esm/shared-ts/src/device-linking/index.js +4 -1
  313. package/dist/esm/shared-ts/src/device-linking/parsers.js +510 -1063
  314. package/dist/esm/shared-ts/src/device-linking/requestProof.js +5 -14
  315. package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +10 -16
  316. package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +9 -9
  317. package/dist/esm/shared-ts/src/device-linking/wireFields.js +59 -0
  318. package/dist/esm/shared-ts/src/near/nearClient.js +252 -0
  319. package/dist/esm/shared-ts/src/passkey-custody/credentialActivity.js +3 -1
  320. package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +7 -5
  321. package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +6 -4
  322. package/dist/esm/shared-ts/src/passkey-custody/primitives.js +9 -39
  323. package/dist/esm/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.js +1 -5
  324. package/dist/esm/shared-ts/src/signing-lanes/index.js +3 -3
  325. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +8 -19
  326. package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +5 -14
  327. package/dist/esm/shared-ts/src/signing-lanes/participants.js +2 -5
  328. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +7 -5
  329. package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +6 -45
  330. package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +423 -1511
  331. package/dist/esm/shared-ts/src/signing-lanes/rotationProtocolParsers.js +323 -0
  332. package/dist/esm/shared-ts/src/signing-lanes/rotationWireFields.js +59 -0
  333. package/dist/esm/shared-ts/src/tenant-root/tenantRootIdentifier.js +12 -0
  334. package/dist/esm/shared-ts/src/tenant-root/tenantRootIdentity.js +2 -9
  335. package/dist/esm/shared-ts/src/tenant-root/tenantRootOperationRecord.js +2 -5
  336. package/dist/esm/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.js +1 -2
  337. package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +49 -0
  338. package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +3 -4
  339. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +8 -1
  340. package/dist/esm/shared-ts/src/utils/digestEncoding.js +63 -0
  341. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +2 -4
  342. package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +0 -1
  343. package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +5 -3
  344. package/dist/esm/shared-ts/src/utils/exactKeys.js +17 -0
  345. package/dist/esm/shared-ts/src/utils/exactRecord.js +44 -0
  346. package/dist/esm/shared-ts/src/utils/failure.js +20 -0
  347. package/dist/esm/shared-ts/src/utils/registrationAuthMethodInput.js +127 -0
  348. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +2 -2
  349. package/dist/esm/shared-ts/src/utils/registrationIds.js +280 -0
  350. package/dist/esm/shared-ts/src/utils/registrationIntent.js +7 -1182
  351. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +426 -0
  352. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +11 -136
  353. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +3 -163
  354. package/dist/esm/shared-ts/src/utils/routerAbEd25519YaoDigests.js +160 -0
  355. package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -4
  356. package/dist/esm/shared-ts/src/utils/routerAbPublicKeyset.js +7 -15
  357. package/dist/esm/shared-ts/src/utils/thresholdEcdsaChainTarget.js +9 -0
  358. package/dist/esm/shared-ts/src/utils/validation.js +37 -6
  359. package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +362 -0
  360. package/dist/esm/shared-ts/src/utils/wireSchema.js +77 -0
  361. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +1 -1
  362. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +1 -1
  363. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +8 -15
  364. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +4 -8
  365. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -1
  366. package/dist/esm/storage/d1Sql.js +10 -1
  367. package/dist/esm/storage/syncSqlite.js +79 -0
  368. package/dist/esm/threshold/session/signingSessionSeal/crypto/cipher.js +11 -33
  369. package/dist/esm/threshold/session/signingSessionSeal/crypto/shamir3PassWasm.js +1 -1
  370. package/dist/esm/threshold/session/signingSessionSeal/idempotencyBackends.js +3 -3
  371. package/dist/esm/threshold/session/signingSessionSeal/idempotencyRecords.js +3 -10
  372. package/dist/esm/threshold/session/signingSessionSeal/options.js +1 -1
  373. package/dist/esm/threshold/session/signingSessionSeal/service.js +8 -35
  374. package/dist/esm/threshold/session/signingSessionSeal/transport/express.js +18 -94
  375. package/dist/esm/threshold/session/signingSessionSeal/transport/fetch.js +6 -30
  376. package/dist/esm/threshold/session/signingSessionSeal/transport/shared.js +23 -75
  377. package/dist/esm/threshold/statusCodes.js +1 -1
  378. package/dist/esm/wasm/evm_crypto/pkg/evm_crypto_bg.wasm +0 -0
  379. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +3 -3
  380. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  381. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +8 -26
  382. package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +2 -9
  383. package/dist/types/shared-ts/src/authorization/operationFingerprint.d.ts +1 -3
  384. package/dist/types/shared-ts/src/authorization/walletAuthority.d.ts +25 -12
  385. package/dist/types/shared-ts/src/authorization/walletSessionIssuance.d.ts +8 -0
  386. package/dist/types/shared-ts/src/authorization/walletSignerActivationEquality.d.ts +4 -0
  387. package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +3 -2
  388. package/dist/types/shared-ts/src/device-linking/authorityActivation.d.ts +5 -0
  389. package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +4 -8
  390. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +13 -74
  391. package/dist/types/shared-ts/src/device-linking/contracts.typecheck.d.ts +2 -1
  392. package/dist/types/shared-ts/src/device-linking/deviceManagement.d.ts +7 -0
  393. package/dist/types/shared-ts/src/device-linking/digests.d.ts +0 -5
  394. package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +3 -2
  395. package/dist/types/shared-ts/src/device-linking/index.d.ts +2 -0
  396. package/dist/types/shared-ts/src/device-linking/parsers.d.ts +4 -41
  397. package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +0 -1
  398. package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +5 -2
  399. package/dist/types/shared-ts/src/device-linking/walletSessionCredentialDelivery.d.ts +2 -1
  400. package/dist/types/shared-ts/src/device-linking/wireFields.d.ts +26 -0
  401. package/dist/types/shared-ts/src/near/actions.d.ts +4 -4
  402. package/dist/types/shared-ts/src/near/delegate.d.ts +3 -2
  403. package/dist/types/shared-ts/src/near/nearClient.d.ts +145 -0
  404. package/dist/types/shared-ts/src/passkey-custody/ceremonyCommitPayload.d.ts +0 -22
  405. package/dist/types/shared-ts/src/passkey-custody/credentialActivity.d.ts +2 -4
  406. package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +14 -30
  407. package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +8 -24
  408. package/dist/types/shared-ts/src/passkey-custody/index.d.ts +0 -2
  409. package/dist/types/shared-ts/src/passkey-custody/primitives.d.ts +9 -14
  410. package/dist/types/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.d.ts +0 -15
  411. package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +11 -50
  412. package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +1 -10
  413. package/dist/types/shared-ts/src/signing-lanes/index.d.ts +1 -2
  414. package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +1 -2
  415. package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +5 -27
  416. package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +0 -11
  417. package/dist/types/shared-ts/src/signing-lanes/recordParsers.d.ts +6 -53
  418. package/dist/types/shared-ts/src/signing-lanes/records.d.ts +1 -2
  419. package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +18 -42
  420. package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +1 -20
  421. package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +4 -25
  422. package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +1 -41
  423. package/dist/types/shared-ts/src/signing-lanes/rotationProtocolParsers.d.ts +6 -0
  424. package/dist/types/shared-ts/src/signing-lanes/rotationWireFields.d.ts +20 -0
  425. package/dist/types/shared-ts/src/tenant-root/tenantRootIdentifier.d.ts +3 -0
  426. package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +2 -1
  427. package/dist/types/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.d.ts +8 -35
  428. package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +8 -35
  429. package/dist/types/shared-ts/src/threshold/keyMaterialBrands.d.ts +25 -0
  430. package/dist/types/shared-ts/src/threshold/participants.d.ts +3 -9
  431. package/dist/types/shared-ts/src/threshold/secp256k1.d.ts +0 -37
  432. package/dist/types/shared-ts/src/threshold/sessionPolicy.d.ts +24 -0
  433. package/dist/types/shared-ts/src/threshold/signingRootScope.d.ts +3 -5
  434. package/dist/types/shared-ts/src/utils/addAuthMethodRegistration.d.ts +3 -4
  435. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +7 -108
  436. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +16 -3
  437. package/dist/types/shared-ts/src/utils/canonicalPrimitives.d.ts +2 -0
  438. package/dist/types/shared-ts/src/utils/digestEncoding.d.ts +9 -0
  439. package/dist/types/shared-ts/src/utils/domainIds.d.ts +1 -2
  440. package/dist/types/shared-ts/src/utils/ecdsaKeyFactsInventory.d.ts +3 -13
  441. package/dist/types/shared-ts/src/utils/eip1559TxWasmJson.d.ts +16 -0
  442. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +7 -5
  443. package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +0 -2
  444. package/dist/types/shared-ts/src/utils/errors.d.ts +0 -7
  445. package/dist/types/shared-ts/src/utils/exactKeys.d.ts +11 -0
  446. package/dist/types/shared-ts/src/utils/exactRecord.d.ts +12 -0
  447. package/dist/types/shared-ts/src/utils/failure.d.ts +12 -0
  448. package/dist/types/shared-ts/src/utils/index.d.ts +5 -2
  449. package/dist/types/shared-ts/src/utils/jsonRpc.d.ts +6 -6
  450. package/dist/types/shared-ts/src/utils/near.d.ts +2 -1
  451. package/dist/types/shared-ts/src/utils/nearRpcResults.d.ts +8 -7
  452. package/dist/types/shared-ts/src/utils/normalize.d.ts +0 -4
  453. package/dist/types/shared-ts/src/utils/registrationAuthMethodInput.d.ts +179 -0
  454. package/dist/types/shared-ts/src/utils/registrationContracts.d.ts +76 -0
  455. package/dist/types/shared-ts/src/utils/registrationEstablishedSession.d.ts +1 -2
  456. package/dist/types/shared-ts/src/utils/registrationIds.d.ts +56 -0
  457. package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +9 -514
  458. package/dist/types/shared-ts/src/utils/registrationSignerPlan.d.ts +130 -0
  459. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +24 -93
  460. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +15 -99
  461. package/dist/types/shared-ts/src/utils/routerAbEd25519YaoDigests.d.ts +38 -0
  462. package/dist/types/shared-ts/src/utils/routerAbNormalSigningIdentity.d.ts +30 -8
  463. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +10 -15
  464. package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +2 -1
  465. package/dist/types/shared-ts/src/utils/routerApiKeyAuth.d.ts +2 -0
  466. package/dist/types/shared-ts/src/utils/secureRandomId.d.ts +0 -2
  467. package/dist/types/shared-ts/src/utils/signerDomain.d.ts +3 -35
  468. package/dist/types/shared-ts/src/utils/signerSlot.d.ts +0 -4
  469. package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +10 -17
  470. package/dist/types/shared-ts/src/utils/thresholdEcdsaChainTarget.d.ts +25 -0
  471. package/dist/types/shared-ts/src/utils/validation.d.ts +10 -10
  472. package/dist/types/shared-ts/src/utils/variant.d.ts +29 -0
  473. package/dist/types/shared-ts/src/utils/variant.typecheck.d.ts +22 -0
  474. package/dist/types/shared-ts/src/utils/walletAddSignerActivation.d.ts +2 -2
  475. package/dist/types/shared-ts/src/utils/walletAuthAuthority.d.ts +1 -58
  476. package/dist/types/shared-ts/src/utils/walletAuthMethodRecord.d.ts +101 -0
  477. package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +3 -7
  478. package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +5 -4
  479. package/dist/types/shared-ts/src/utils/wireSchema.d.ts +60 -0
  480. package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +2 -1
  481. package/dist/types/shared-ts/src/wallet-recovery/index.d.ts +0 -1
  482. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeLocator.d.ts +0 -16
  483. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +2 -11
  484. package/dist/types/shared-ts/src/wallet-recovery/recoveryEnvelopes.d.ts +3 -16
  485. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.d.ts +6 -18
  486. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.d.ts +0 -2
  487. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.d.ts +1 -3
  488. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryPreparation.d.ts +15 -0
  489. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryTarget.d.ts +3 -4
  490. package/dist/types/wallet-server/src/authorization/capabilityPolicy.d.ts +0 -1
  491. package/dist/types/wallet-server/src/authorization/domain.d.ts +36 -5
  492. package/dist/types/wallet-server/src/authorization/ecdsaWalletSessionAdmission.d.ts +61 -0
  493. package/dist/types/wallet-server/src/authorization/ecdsaWalletSessionAdmission.typecheck.d.ts +2 -0
  494. package/dist/types/wallet-server/src/authorization/factorEvidence.d.ts +6 -7
  495. package/dist/types/wallet-server/src/authorization/service.d.ts +71 -3
  496. package/dist/types/wallet-server/src/cloud-host.d.ts +6 -2
  497. package/dist/types/wallet-server/src/core/EmailOtpRecords.d.ts +10 -1
  498. package/dist/types/wallet-server/src/core/EmailOtpStores.d.ts +16 -116
  499. package/dist/types/wallet-server/src/core/IdentityStore.d.ts +2 -7
  500. package/dist/types/wallet-server/src/core/NearPublicKeyStore.d.ts +6 -16
  501. package/dist/types/wallet-server/src/core/RegistrationCeremonyStore.d.ts +29 -90
  502. package/dist/types/wallet-server/src/core/ThresholdService/config.d.ts +0 -12
  503. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.d.ts +10 -3
  504. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.d.ts +17 -48
  505. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/internalServiceHttp.d.ts +2 -1
  506. package/dist/types/wallet-server/src/core/ThresholdService/stores/CloudflareDurableObjectStore.d.ts +4 -71
  507. package/dist/types/wallet-server/src/core/ThresholdService/stores/KeyStore.d.ts +2 -1
  508. package/dist/types/wallet-server/src/core/ThresholdService/stores/SessionStore.d.ts +2 -6
  509. package/dist/types/wallet-server/src/core/ThresholdService/stores/StoreConfig.d.ts +2 -1
  510. package/dist/types/wallet-server/src/core/ThresholdService/stores/WalletSessionStore.d.ts +2 -4
  511. package/dist/types/wallet-server/src/core/ThresholdService/stores/exportReplayGuard.d.ts +3 -0
  512. package/dist/types/wallet-server/src/core/ThresholdService/validation.d.ts +11 -137
  513. package/dist/types/wallet-server/src/core/WalletAuthMethodStore.d.ts +2 -7
  514. package/dist/types/wallet-server/src/core/WalletStore.d.ts +3 -8
  515. package/dist/types/wallet-server/src/core/WebAuthnAuthenticatorStore.d.ts +15 -22
  516. package/dist/types/wallet-server/src/core/WebAuthnCredentialBindingStore.d.ts +14 -36
  517. package/dist/types/wallet-server/src/core/WebAuthnLoginChallengeStore.d.ts +9 -34
  518. package/dist/types/wallet-server/src/core/WebAuthnSyncChallengeStore.d.ts +9 -34
  519. package/dist/types/wallet-server/src/core/authService/AuthService.d.ts +0 -3
  520. package/dist/types/wallet-server/src/core/authService/bytes.d.ts +0 -1
  521. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeOperations.d.ts +6 -5
  522. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeProof.d.ts +9 -17
  523. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeVerification.d.ts +3 -2
  524. package/dist/types/wallet-server/src/core/authService/emailOtpChallenges.d.ts +8 -32
  525. package/dist/types/wallet-server/src/core/authService/emailOtpConfig.d.ts +3 -10
  526. package/dist/types/wallet-server/src/core/authService/emailOtpDelivery.d.ts +4 -3
  527. package/dist/types/wallet-server/src/core/authService/emailOtpGrant.d.ts +4 -3
  528. package/dist/types/wallet-server/src/core/authService/emailOtpRegistrationEnrollment.d.ts +3 -70
  529. package/dist/types/wallet-server/src/core/authService/emailOtpSeal.d.ts +2 -1
  530. package/dist/types/wallet-server/src/core/authService/emailOtpUnlock.d.ts +6 -12
  531. package/dist/types/wallet-server/src/core/authService/googleEmailOtpRegistration.d.ts +5 -8
  532. package/dist/types/wallet-server/src/core/authService/nearPrivateKeySigning.d.ts +3 -2
  533. package/dist/types/wallet-server/src/core/authService/nearPublicKeyMetadata.d.ts +2 -1
  534. package/dist/types/wallet-server/src/core/authService/nearTransactions.d.ts +2 -1
  535. package/dist/types/wallet-server/src/core/authService/oidcVerification.d.ts +4 -3
  536. package/dist/types/wallet-server/src/core/authService/rateLimits.d.ts +0 -3
  537. package/dist/types/wallet-server/src/core/authService/registrationThresholdHelpers.d.ts +0 -26
  538. package/dist/types/wallet-server/src/core/authService/storeRegistry.d.ts +0 -5
  539. package/dist/types/wallet-server/src/core/authService/thresholdEcdsaKeyInventory.d.ts +0 -23
  540. package/dist/types/wallet-server/src/core/authService/webauthn.d.ts +8 -16
  541. package/dist/types/wallet-server/src/core/authService/webauthnOidcHelpers.d.ts +7 -7
  542. package/dist/types/wallet-server/src/core/authService/webauthnVerificationOutcomes.d.ts +43 -0
  543. package/dist/types/wallet-server/src/core/authService/webauthnWalletBinding.d.ts +1 -28
  544. package/dist/types/wallet-server/src/core/d1EcdsaSignerRead.d.ts +39 -0
  545. package/dist/types/wallet-server/src/core/d1IdentityStore.d.ts +6 -16
  546. package/dist/types/wallet-server/src/core/d1TenantStore.d.ts +51 -0
  547. package/dist/types/wallet-server/src/core/d1WalletAuthMethodStore.d.ts +11 -29
  548. package/dist/types/wallet-server/src/core/d1WalletStore.d.ts +16 -1
  549. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceEd25519ExportRoot.d.ts +2 -1
  550. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceEmailOtpGrant.d.ts +2 -1
  551. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceManagement.d.ts +44 -26
  552. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSession.d.ts +19 -217
  553. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSessionApproval.d.ts +8 -0
  554. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSessionRecord.d.ts +258 -0
  555. package/dist/types/wallet-server/src/core/deviceLinking/requestProof.d.ts +2 -2
  556. package/dist/types/wallet-server/src/core/ecdsaMaterialReadSnapshot.d.ts +19 -0
  557. package/dist/types/wallet-server/src/core/emailOtpD1Statements.d.ts +54 -0
  558. package/dist/types/wallet-server/src/core/hostedAccountIds.d.ts +0 -15
  559. package/dist/types/wallet-server/src/core/keyMaterialBrands.d.ts +4 -24
  560. package/dist/types/wallet-server/src/core/nearRelayerAccountProvisioning.d.ts +2 -3
  561. package/dist/types/wallet-server/src/core/nearSignerWasmRuntime.d.ts +0 -1
  562. package/dist/types/wallet-server/src/core/registrationContracts.d.ts +37 -108
  563. package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbNormalSigningRuntime.d.ts +8 -9
  564. package/dist/types/wallet-server/src/core/rpcClients/near/NearClient.d.ts +10 -107
  565. package/dist/types/wallet-server/src/core/signingLanes/LaneAggregateRevocationApplicationService.d.ts +4 -3
  566. package/dist/types/wallet-server/src/core/signingLanes/LaneEffectJournalStore.d.ts +2 -3
  567. package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleStore.d.ts +2 -3
  568. package/dist/types/wallet-server/src/core/signingLanes/WalletExecutionLaneProjection.d.ts +5 -20
  569. package/dist/types/wallet-server/src/core/signingLanes/ecdsaServerRetirement.d.ts +4 -4
  570. package/dist/types/wallet-server/src/core/signingLanes/ed25519ServerRetirement.d.ts +3 -3
  571. package/dist/types/wallet-server/src/core/signingLanes/signingWorkerLaneMaterialIdentity.d.ts +2 -19
  572. package/dist/types/wallet-server/src/core/storeBackends.d.ts +83 -0
  573. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.d.ts +13 -59
  574. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.typecheck.d.ts +51 -3
  575. package/dist/types/wallet-server/src/core/thresholdEcdsaChainTarget.d.ts +3 -12
  576. package/dist/types/wallet-server/src/core/types.d.ts +5 -30
  577. package/dist/types/wallet-server/src/core/webAuthnD1Statements.d.ts +29 -0
  578. package/dist/types/wallet-server/src/core/webAuthnStoreBackends.d.ts +96 -0
  579. package/dist/types/wallet-server/src/hosted-wallet-gateway.d.ts +11 -7
  580. package/dist/types/wallet-server/src/index.d.ts +1 -1
  581. package/dist/types/wallet-server/src/local-hosted-wallet-gateway-worker.d.ts +1 -4
  582. package/dist/types/wallet-server/src/localHostedWalletGatewayHandler.d.ts +12 -0
  583. package/dist/types/wallet-server/src/localIntendedEcdsaFinalizeFault.d.ts +33 -0
  584. package/dist/types/wallet-server/src/localIntendedLinkExecuteFault.d.ts +47 -0
  585. package/dist/types/wallet-server/src/localIntendedMaterialAdmissionFault.d.ts +38 -0
  586. package/dist/types/wallet-server/src/localIntendedPresignCancellation.d.ts +4 -0
  587. package/dist/types/wallet-server/src/localIntendedRevokeFault.d.ts +40 -0
  588. package/dist/types/wallet-server/src/localIntendedSessionAdmissionFault.d.ts +41 -0
  589. package/dist/types/wallet-server/src/localIntendedYaoExportFault.d.ts +41 -0
  590. package/dist/types/wallet-server/src/localIntendedYaoFault.d.ts +7 -1
  591. package/dist/types/wallet-server/src/localIntendedYaoFinalizeFault.d.ts +37 -0
  592. package/dist/types/wallet-server/src/localIntendedYaoRecoveryFault.d.ts +45 -0
  593. package/dist/types/wallet-server/src/localIntendedYaoSigningFault.d.ts +51 -0
  594. package/dist/types/wallet-server/src/router/auth/authRequestValidation.d.ts +13 -29
  595. package/dist/types/wallet-server/src/router/auth/commonRouterUtils.d.ts +20 -11
  596. package/dist/types/wallet-server/src/router/auth/walletSessionFailure.d.ts +1 -4
  597. package/dist/types/wallet-server/src/router/auth/webAuthnCredentialCodecs.d.ts +3 -2
  598. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1AuthorizedOperationRouteService.d.ts +12 -0
  599. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthBoundary.d.ts +3 -3
  600. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthConfig.d.ts +2 -2
  601. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthService.d.ts +1 -1
  602. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/walletSessionCredentialReaders.d.ts +9 -0
  603. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/authorizedOperationStatements.d.ts +34 -0
  604. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/d1AuthorizationStore.d.ts +54 -21
  605. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/persistedWalletSessionAuthorization.d.ts +3 -0
  606. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/walletSessionAuthorityProjection.d.ts +2 -1
  607. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.d.ts +74 -6
  608. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.d.ts +2 -3
  609. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.d.ts +8 -21
  610. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.d.ts +14 -1
  611. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRevocation.d.ts +49 -0
  612. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.d.ts +1 -1
  613. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.d.ts +6 -8
  614. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSourceContributionPreparationPlanner.d.ts +1 -1
  615. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.d.ts +7 -10
  616. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.d.ts +8 -4
  617. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkBuilder.d.ts +3 -5
  618. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/installedEcdsaAuthority.d.ts +7 -0
  619. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.d.ts +1 -2
  620. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoLifecycleDecisionStore.d.ts +33 -0
  621. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.d.ts +1 -1
  622. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.d.ts +13 -3
  623. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.d.ts +24 -5
  624. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.d.ts +4 -11
  625. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.d.ts +1 -3
  626. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.d.ts +4 -12
  627. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.d.ts +13 -12
  628. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.d.ts +0 -2
  629. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.d.ts +5 -4
  630. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.d.ts +4 -14
  631. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.d.ts +1 -3
  632. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.d.ts +3 -21
  633. package/dist/types/wallet-server/src/router/cloudflare/d1/identity/d1IdentityRecords.d.ts +0 -23
  634. package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1NearPublicKeyStore.d.ts +1 -2
  635. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyEnvelopeStore.d.ts +11 -19
  636. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.d.ts +5 -54
  637. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.d.ts +7 -19
  638. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpRecords.d.ts +4 -3
  639. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpService.d.ts +8 -12
  640. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.d.ts +7 -14
  641. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.d.ts +10 -22
  642. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.d.ts +6 -2
  643. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.d.ts +10 -6
  644. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationService.d.ts +21 -26
  645. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetup.d.ts +5 -3
  646. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.d.ts +4 -3
  647. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.d.ts +5 -5
  648. package/dist/types/wallet-server/src/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.d.ts +17 -6
  649. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.d.ts +0 -1
  650. package/dist/types/wallet-server/src/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.d.ts +0 -16
  651. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.d.ts +29 -14
  652. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodBoundary.d.ts +15 -12
  653. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodRevocationReplayStore.d.ts +71 -0
  654. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodService.d.ts +34 -24
  655. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorityStore.d.ts +44 -26
  656. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnRecords.d.ts +13 -46
  657. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnStore.d.ts +8 -19
  658. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOps.d.ts +8 -34
  659. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleTenantRootLineage.d.ts +2 -1
  660. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletGateway.d.ts +1 -0
  661. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.d.ts +15 -2
  662. package/dist/types/wallet-server/src/router/cloudflare-adaptor.d.ts +2 -2
  663. package/dist/types/wallet-server/src/router/domains/ecdsa/routerAbEcdsaStrictRegistration.d.ts +9 -7
  664. package/dist/types/wallet-server/src/router/domains/ecdsa/thresholdEcdsaRequestValidation.d.ts +6 -18
  665. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoLifecycleDecision.d.ts +46 -0
  666. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.d.ts +5 -3
  667. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.d.ts +20 -79
  668. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.d.ts +2 -0
  669. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRunner.d.ts +1 -1
  670. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.d.ts +4 -3
  671. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.d.ts +62 -42
  672. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.d.ts +108 -32
  673. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryActivation.typecheck.d.ts +5 -0
  674. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.d.ts +36 -5
  675. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.d.ts +5 -4
  676. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.d.ts +41 -50
  677. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.d.ts +2 -2
  678. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationRequestScopedCloudflare.d.ts +3 -3
  679. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.d.ts +6 -5
  680. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationTwoPhaseRunner.d.ts +14 -4
  681. package/dist/types/wallet-server/src/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.d.ts +12 -1
  682. package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/routerAbEd25519YaoWalletSession.d.ts +11 -52
  683. package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/thresholdEd25519RequestValidation.d.ts +3 -4
  684. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpExportPolicy.d.ts +2 -27
  685. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpRequestValidation.d.ts +1 -2
  686. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpRouteHandlers.d.ts +2 -1
  687. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpSessionRouteHelpers.d.ts +2 -102
  688. package/dist/types/wallet-server/src/router/domains/passkeyCustody/envelopeRevocationAdmission.d.ts +2 -1
  689. package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.d.ts +3 -2
  690. package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrievalRoute.d.ts +1 -9
  691. package/dist/types/wallet-server/src/router/domains/passkeyCustody/registrationCustodyOutcome.d.ts +2 -1
  692. package/dist/types/wallet-server/src/router/domains/passkeyCustody/verifiedCustodyFactor.d.ts +2 -1
  693. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationAdmission.d.ts +2 -1
  694. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationCommit.d.ts +2 -28
  695. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryFinalization.d.ts +43 -1
  696. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryKeyManifest.d.ts +7 -19
  697. package/dist/types/wallet-server/src/router/domains/signingOperations/ed25519AuthorizedOperationReceipt.d.ts +0 -3
  698. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbEcdsaDerivationNormalSigningRoute.d.ts +164 -0
  699. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbEd25519NormalSigningRoute.d.ts +110 -0
  700. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmission.d.ts +373 -0
  701. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.d.ts +11 -10
  702. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.typecheck.d.ts +2 -0
  703. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbOperationStepUp.d.ts +164 -0
  704. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbPrivateSigningWorker.d.ts +22 -717
  705. package/dist/types/wallet-server/src/router/domains/signingOperations/walletExecutionAdmission.d.ts +5 -12
  706. package/dist/types/wallet-server/src/router/domains/syncAccount/syncAccountRequestValidation.d.ts +6 -10
  707. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootCustodyLineage.d.ts +6 -1
  708. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootIdentityResolution.d.ts +4 -7
  709. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationInputs.d.ts +2 -1
  710. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationRoutes.d.ts +8 -8
  711. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationSetupPayload.d.ts +4 -4
  712. package/dist/types/wallet-server/src/router/domains/walletUnlock/walletUnlockRequestedCapabilitiesValidation.d.ts +4 -4
  713. package/dist/types/wallet-server/src/router/domains/walletUnlock/walletUnlockRouteHandlers.d.ts +4 -62
  714. package/dist/types/wallet-server/src/router/express-adaptor.d.ts +2 -2
  715. package/dist/types/wallet-server/src/router/framework/apiCredentialPorts.d.ts +3 -1
  716. package/dist/types/wallet-server/src/router/framework/authServicePort.d.ts +89 -65
  717. package/dist/types/wallet-server/src/router/framework/http.d.ts +1 -1
  718. package/dist/types/wallet-server/src/router/framework/ror/normalize.d.ts +1 -9
  719. package/dist/types/wallet-server/src/router/framework/routeMeteringPolicy.d.ts +3 -2
  720. package/dist/types/wallet-server/src/router/framework/routerApi.d.ts +1 -1
  721. package/dist/types/wallet-server/src/router/framework/routerApiRouteSurface.d.ts +3 -3
  722. package/dist/types/wallet-server/src/router/node/nodeHostedWalletGateway.d.ts +34 -0
  723. package/dist/types/wallet-server/src/router/node/nodeHostedWalletGatewayCheck.d.ts +21 -0
  724. package/dist/types/wallet-server/src/router/node/nodeHostedWalletGatewayMain.d.ts +2 -0
  725. package/dist/types/wallet-server/src/router/node/nodeHttp.d.ts +13 -0
  726. package/dist/types/wallet-server/src/router/node/nodeSqlite.d.ts +22 -0
  727. package/dist/types/wallet-server/src/router/node/signerSqlMigrations.d.ts +20 -0
  728. package/dist/types/wallet-server/src/router/transport/fetch/createFetchRouter.d.ts +1 -3
  729. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinking.d.ts +5 -6
  730. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.d.ts +5 -8
  731. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceManagement.d.ts +14 -16
  732. package/dist/types/wallet-server/src/router/transport/fetch/routes/normalSigningRouterProxy.d.ts +0 -12
  733. package/dist/types/wallet-server/src/router/transport/fetch/routes/passkeyCustody.d.ts +1 -1
  734. package/dist/types/wallet-server/src/router/transport/fetch/routes/sessions.d.ts +2 -1
  735. package/dist/types/wallet-server/src/router/transport/fetch/routes/syncAccountBootstrap.d.ts +9 -17
  736. package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEcdsa.d.ts +3 -58
  737. package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEd25519.d.ts +0 -44
  738. package/dist/types/wallet-server/src/storage/d1Sql.d.ts +7 -0
  739. package/dist/types/wallet-server/src/storage/syncSqlite.d.ts +28 -0
  740. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/crypto/shamir3PassWasm.d.ts +0 -1
  741. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/idempotencyRecords.d.ts +5 -7
  742. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/signingSessionSeal.types.d.ts +6 -8
  743. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/transport/shared.d.ts +1 -0
  744. package/dist/types/wallet-server/src/threshold/statusCodes.d.ts +4 -4
  745. package/migrations/d1-signer/0036_r150_yao_lifecycle_decisions.sql +22 -0
  746. package/migrations/d1-signer/0037_r150_wallet_auth_method_revocation_replays.sql +26 -0
  747. package/migrations/d1-signer/0038_r150_registration_ceremony_cas_guard_seed.sql +8 -0
  748. package/migrations/d1-signer/0039_r150_revocation_replay_answer_kind.sql +9 -0
  749. package/package.json +1 -1
  750. package/dist/esm/core/ThresholdService/ecdsaClientRootProof.js +0 -27
  751. package/dist/esm/core/ThresholdService/routerAbEcdsaSigningWorkerWasm.js +0 -115
  752. package/dist/esm/core/ThresholdService/secureRandomId.js +0 -9
  753. package/dist/esm/core/authService/record.js +0 -8
  754. package/dist/esm/core/authService/thresholdRuntimePolicy.js +0 -19
  755. package/dist/esm/core/authService/walletRegistrationPlanning.js +0 -49
  756. package/dist/esm/core/deviceLinking/index.js +0 -5
  757. package/dist/esm/core/errors.js +0 -54
  758. package/dist/esm/core/routerAbSigning/createCloudflareDurableObjectRouterAbSigningRuntimes.js +0 -39
  759. package/dist/esm/core/signingLanes/WalletKeyStore.js +0 -0
  760. package/dist/esm/core/signingLanes/index.js +0 -8
  761. package/dist/esm/router/domains/tenantRoot/tenantRootEcdsaWalletSessionComposition.js +0 -55
  762. package/dist/esm/router/domains/tenantRoot/tenantRootEd25519WalletSessionComposition.js +0 -56
  763. package/dist/esm/shared-ts/src/signing-lanes/linkedEcdsaScope.js +0 -1
  764. package/dist/esm/wasm/router_ab_ecdsa_signing_worker/pkg/router_ab_ecdsa_signing_worker.js +0 -414
  765. package/dist/esm/wasm/router_ab_ecdsa_signing_worker/pkg/router_ab_ecdsa_signing_worker_bg.wasm +0 -0
  766. package/dist/types/shared-ts/src/passkey-custody/credentialObservations.d.ts +0 -74
  767. package/dist/types/shared-ts/src/passkey-custody/kekContext.d.ts +0 -34
  768. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.d.ts +0 -62
  769. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.typecheck.d.ts +0 -2
  770. package/dist/types/shared-ts/src/signing-lanes/validation.d.ts +0 -11
  771. package/dist/types/shared-ts/src/utils/bigint.d.ts +0 -3
  772. package/dist/types/shared-ts/src/utils/paillier.d.ts +0 -37
  773. package/dist/types/shared-ts/src/utils/recoveryDomain.d.ts +0 -12
  774. package/dist/types/shared-ts/src/utils/signerDomain.typecheck.d.ts +0 -2
  775. package/dist/types/shared-ts/src/wallet-recovery/recoveryKekContext.d.ts +0 -37
  776. package/dist/types/wallet-server/src/core/ThresholdService/ecdsaClientRootProof.d.ts +0 -12
  777. package/dist/types/wallet-server/src/core/ThresholdService/routerAbEcdsaSigningWorkerWasm.d.ts +0 -17
  778. package/dist/types/wallet-server/src/core/ThresholdService/secureRandomId.d.ts +0 -2
  779. package/dist/types/wallet-server/src/core/authService/record.d.ts +0 -2
  780. package/dist/types/wallet-server/src/core/authService/thresholdRuntimePolicy.d.ts +0 -4
  781. package/dist/types/wallet-server/src/core/authService/walletRegistrationPlanning.d.ts +0 -19
  782. package/dist/types/wallet-server/src/core/deviceLinking/index.d.ts +0 -5
  783. package/dist/types/wallet-server/src/core/errors.d.ts +0 -10
  784. package/dist/types/wallet-server/src/core/routerAbSigning/createCloudflareDurableObjectRouterAbSigningRuntimes.d.ts +0 -28
  785. package/dist/types/wallet-server/src/core/signingLanes/SigningLaneStore.d.ts +0 -15
  786. package/dist/types/wallet-server/src/core/signingLanes/WalletKeyStore.d.ts +0 -13
  787. package/dist/types/wallet-server/src/core/signingLanes/index.d.ts +0 -11
  788. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootEcdsaWalletSessionComposition.d.ts +0 -35
  789. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootEd25519WalletSessionComposition.d.ts +0 -35
  790. /package/dist/esm/{core/signingLanes/SigningLaneStore.js → authorization/ecdsaWalletSessionAdmission.js} +0 -0
@@ -1,3 +1,4 @@
1
+ import { failure } from "../shared-ts/src/utils/failure.js";
1
2
  //#region src/core/SessionService.ts
2
3
  function normalizeParsedCorsOrigin(url) {
3
4
  const host = url.hostname.toLowerCase();
@@ -153,36 +154,16 @@ var SessionService = class {
153
154
  async refresh(headers) {
154
155
  try {
155
156
  const token = this.extractTokenFromHeaders(headers);
156
- if (!token) return {
157
- ok: false,
158
- code: "unauthorized",
159
- message: "No session token"
160
- };
157
+ if (!token) return failure("unauthorized", "No session token");
161
158
  const v = await this.verifyJwt(token);
162
159
  if (!v.valid) {
163
- if (v.reason === "expired") return {
164
- ok: false,
165
- code: "wallet_session_expired",
166
- message: "Wallet Session expired"
167
- };
168
- return {
169
- ok: false,
170
- code: "unauthorized",
171
- message: "Invalid token"
172
- };
160
+ if (v.reason === "expired") return failure("wallet_session_expired", "Wallet Session expired");
161
+ return failure("unauthorized", "Invalid token");
173
162
  }
174
163
  const payload = v.payload || {};
175
- if (!this.isWithinRefreshWindow(payload)) return {
176
- ok: false,
177
- code: "not_eligible",
178
- message: "Not within refresh window"
179
- };
164
+ if (!this.isWithinRefreshWindow(payload)) return failure("not_eligible", "Not within refresh window");
180
165
  const sub = String(payload.sub || "");
181
- if (!sub) return {
182
- ok: false,
183
- code: "invalid_claims",
184
- message: "Missing sub claim"
185
- };
166
+ if (!sub) return failure("invalid_claims", "Missing sub claim");
186
167
  const extra = {};
187
168
  for (const [k, v] of Object.entries(payload || {})) {
188
169
  if (k === "sub" || k === "exp" || k === "iat" || k === "nbf" || k === "jti" || k === "iss" || k === "aud") continue;
@@ -193,11 +174,7 @@ var SessionService = class {
193
174
  jwt: await this.signJwt(sub, extra)
194
175
  };
195
176
  } catch (e) {
196
- return {
197
- ok: false,
198
- code: "internal",
199
- message: e?.message || "Refresh failed"
200
- };
177
+ return failure("internal", e?.message || "Refresh failed");
201
178
  }
202
179
  }
203
180
  nowSeconds() {
@@ -1,5 +1,3 @@
1
- import { base64UrlDecode } from "../../shared-ts/src/utils/base64.js";
2
- import "../../shared-ts/src/utils/encoders.js";
3
1
  import { normalizeOptionalTrimmedString } from "../../shared-ts/src/utils/normalize.js";
4
2
  import "../../shared-ts/src/utils/validation.js";
5
3
  import { THRESHOLD_ED25519_2P_PARTICIPANT_IDS, normalizeThresholdEd25519ParticipantId, normalizeThresholdEd25519ParticipantIds } from "../../shared-ts/src/threshold/participants.js";
@@ -10,85 +8,6 @@ function coerceThresholdNodeRole(input) {
10
8
  if (role === "coordinator") return "coordinator";
11
9
  return "coordinator";
12
10
  }
13
- function parseThresholdRelayerCosigners(input) {
14
- const asJson = (raw) => {
15
- try {
16
- return JSON.parse(raw);
17
- } catch {
18
- return null;
19
- }
20
- };
21
- const raw = typeof input === "string" ? asJson(input) : input;
22
- if (!Array.isArray(raw) || raw.length === 0) return null;
23
- const out = [];
24
- const seen = /* @__PURE__ */ new Set();
25
- for (const item of raw) {
26
- if (!item || typeof item !== "object" || Array.isArray(item)) return null;
27
- const rec = item;
28
- const cosignerId = normalizeThresholdEd25519ParticipantId(rec.cosignerId);
29
- const relayerUrl = normalizeOptionalTrimmedString(rec.relayerUrl)?.replace(/\/+$/, "");
30
- if (!cosignerId || !relayerUrl) return null;
31
- const key = `${cosignerId}:${relayerUrl}`;
32
- if (seen.has(key)) continue;
33
- seen.add(key);
34
- out.push({
35
- cosignerId,
36
- relayerUrl
37
- });
38
- }
39
- out.sort((a, b) => a.cosignerId - b.cosignerId || a.relayerUrl.localeCompare(b.relayerUrl));
40
- return out.length ? out : null;
41
- }
42
- function parseThresholdCoordinatorPeers(input) {
43
- const asJson = (raw) => {
44
- try {
45
- return JSON.parse(raw);
46
- } catch {
47
- return null;
48
- }
49
- };
50
- const raw = typeof input === "string" ? asJson(input) : input;
51
- if (!Array.isArray(raw) || raw.length === 0) return null;
52
- const out = [];
53
- const seen = /* @__PURE__ */ new Set();
54
- for (const item of raw) {
55
- if (!item || typeof item !== "object" || Array.isArray(item)) return null;
56
- const rec = item;
57
- const instanceId = normalizeOptionalTrimmedString(rec.instanceId);
58
- const relayerUrl = normalizeOptionalTrimmedString(rec.relayerUrl)?.replace(/\/+$/, "");
59
- if (!instanceId || !relayerUrl) return null;
60
- const key = `${instanceId}:${relayerUrl}`;
61
- if (seen.has(key)) continue;
62
- seen.add(key);
63
- out.push({
64
- instanceId,
65
- relayerUrl
66
- });
67
- }
68
- out.sort((a, b) => a.instanceId.localeCompare(b.instanceId) || a.relayerUrl.localeCompare(b.relayerUrl));
69
- return out.length ? out : null;
70
- }
71
- function parseThresholdRelayerCosignerThreshold(input) {
72
- const raw = normalizeOptionalTrimmedString(input);
73
- if (!raw) return null;
74
- const n = Number(raw);
75
- if (!Number.isFinite(n)) return null;
76
- const t = Math.floor(n);
77
- if (t < 1) return null;
78
- return t;
79
- }
80
- function parseThresholdCoordinatorSharedSecretBytes(input) {
81
- const coordinatorSharedSecretB64u = normalizeOptionalTrimmedString(input);
82
- if (!coordinatorSharedSecretB64u) return null;
83
- let decoded;
84
- try {
85
- decoded = base64UrlDecode(coordinatorSharedSecretB64u);
86
- } catch {
87
- throw new Error("THRESHOLD_COORDINATOR_SHARED_SECRET_B64U must be valid base64url");
88
- }
89
- if (decoded.length !== 32) throw new Error(`THRESHOLD_COORDINATOR_SHARED_SECRET_B64U must decode to 32 bytes, got ${decoded.length}`);
90
- return decoded;
91
- }
92
11
  function parseThresholdEd25519ParticipantIds2p(input) {
93
12
  const clientIdRaw = input.THRESHOLD_ED25519_CLIENT_PARTICIPANT_ID;
94
13
  const relayerIdRaw = input.THRESHOLD_ED25519_RELAYER_PARTICIPANT_ID;
@@ -106,6 +25,6 @@ function parseThresholdEd25519ParticipantIds2p(input) {
106
25
  };
107
26
  }
108
27
  //#endregion
109
- export { coerceThresholdNodeRole, parseThresholdCoordinatorPeers, parseThresholdCoordinatorSharedSecretBytes, parseThresholdEd25519ParticipantIds2p, parseThresholdRelayerCosignerThreshold, parseThresholdRelayerCosigners };
28
+ export { coerceThresholdNodeRole, parseThresholdEd25519ParticipantIds2p };
110
29
 
111
30
  //# sourceMappingURL=config.js.map
@@ -1,4 +1,4 @@
1
- import { isObject } from "./validation.js";
1
+ import { isPlainObject } from "../../shared-ts/src/utils/validation.js";
2
2
  //#region src/core/ThresholdService/kv.ts
3
3
  function tryParseJson(raw) {
4
4
  try {
@@ -8,7 +8,7 @@ function tryParseJson(raw) {
8
8
  }
9
9
  }
10
10
  function readResult(json) {
11
- if (!isObject(json) || !("result" in json)) return null;
11
+ if (!isPlainObject(json) || !("result" in json)) return null;
12
12
  const v = json.result;
13
13
  return v === void 0 || v === null ? null : v;
14
14
  }
@@ -113,7 +113,7 @@ var UpstashRedisRestClient = class {
113
113
  ...argList
114
114
  ].map((part) => encodeURIComponent(String(part)));
115
115
  const json = await this.call(`/${segments.join("/")}`, "POST");
116
- if (isObject(json) && typeof json.error === "string") throw new Error(`Upstash EVAL error: ${json.error}`);
116
+ if (isPlainObject(json) && typeof json.error === "string") throw new Error(`Upstash EVAL error: ${json.error}`);
117
117
  return readResult(json);
118
118
  }
119
119
  };
@@ -1,17 +1,37 @@
1
1
  import { normalizeOptionalTrimmedString } from "../../../shared-ts/src/utils/normalize.js";
2
2
  import "../../../shared-ts/src/utils/validation.js";
3
3
  import { signingRootScopeFromRuntimePolicyScope } from "../../../shared-ts/src/threshold/signingRootScope.js";
4
- import { parseRouterAbEcdsaDerivationNormalSigningScopeV1, sameRouterAbEcdsaDerivationNormalSigningScopeV1 } from "../../../shared-ts/src/utils/routerAbEcdsaDerivation.js";
4
+ import { ROUTER_AB_ECDSA_PRESIGN_CEREMONY_MAX_LIFETIME_MS, parseRouterAbEcdsaDerivationNormalSigningScopeV1, sameRouterAbEcdsaDerivationNormalSigningScopeV1 } from "../../../shared-ts/src/utils/routerAbEcdsaDerivation.js";
5
5
  import { normalizeThresholdEd25519ParticipantIds } from "../../../shared-ts/src/threshold/participants.js";
6
+ import { parseEcdsaKeyHandle } from "../../../shared-ts/src/threshold/keyMaterialBrands.js";
6
7
  import { WALLET_SESSION_FAILURE_CODES } from "../../../shared-ts/src/utils/walletSessionFailure.js";
7
8
  import { startRouterAbEcdsaPresignSession, stepRouterAbEcdsaPresignSession } from "./ecdsaDerivationPresignBridge.js";
8
- import { parseEcdsaKeyHandle } from "../../keyMaterialBrands.js";
9
9
  //#region src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.ts
10
10
  const PRESIGN_SESSION_ID_PREFIX = "ecdsa-presign-v2";
11
- const MAX_PRESIGN_CEREMONY_LIFETIME_MS = 5 * 6e4;
12
11
  const MAX_DURABLE_PRESIGNATURE_LIFETIME_MS = 2160 * 60 * 6e4;
12
+ function ownerWalletScopeMatchesBinding(binding) {
13
+ const owner = binding.ownerWalletScope;
14
+ const policy = binding.runtimePolicyScope;
15
+ return owner.orgId === policy.orgId && owner.projectId === policy.projectId && owner.walletId === binding.walletId && owner.projectEnvironmentId.length > 0;
16
+ }
17
+ function presignAuthorityForBinding(binding) {
18
+ const scope = binding.ownerWalletScope;
19
+ const walletScope = {
20
+ org_id: scope.orgId,
21
+ project_id: scope.projectId,
22
+ project_environment_id: scope.projectEnvironmentId,
23
+ wallet_id: scope.walletId
24
+ };
25
+ return binding.authorization.kind === "operation_step_up" ? {
26
+ kind: "operation_step_up",
27
+ wallet_scope: walletScope
28
+ } : {
29
+ kind: "owner_wallet_session",
30
+ wallet_scope: walletScope
31
+ };
32
+ }
13
33
  function resolveRouterAbEcdsaPresignDeadlines(input) {
14
- const ceremonyExpiresAtMs = Math.min(input.requestedCeremonyExpiresAtMs, input.thresholdExpiresAtMs, input.nowMs + MAX_PRESIGN_CEREMONY_LIFETIME_MS);
34
+ const ceremonyExpiresAtMs = Math.min(input.requestedCeremonyExpiresAtMs, input.thresholdExpiresAtMs, input.nowMs + ROUTER_AB_ECDSA_PRESIGN_CEREMONY_MAX_LIFETIME_MS);
15
35
  const maximumAuthorizedMaterialExpiry = input.authorization.kind === "operation_step_up" ? input.authorization.materialExpiresAtMs : Number.MAX_SAFE_INTEGER;
16
36
  return {
17
37
  ceremonyExpiresAtMs,
@@ -202,6 +222,11 @@ var RouterAbEcdsaDerivationPoolFillHandlers = class {
202
222
  }
203
223
  async startStrictPresignSession(input) {
204
224
  const transport = this.signingWorkerTransport;
225
+ if (!ownerWalletScopeMatchesBinding(input.binding)) return {
226
+ ok: false,
227
+ code: WALLET_SESSION_FAILURE_CODES.scopeMismatch,
228
+ message: "Presign owner Wallet Session scope does not match active material"
229
+ };
205
230
  const scope = input.poolFill.scope;
206
231
  const trustedScope = input.binding.routerAbEcdsaDerivationNormalSigning.scope;
207
232
  if (!sameRouterAbEcdsaDerivationNormalSigningScopeV1(scope, trustedScope)) return {
@@ -241,12 +266,13 @@ var RouterAbEcdsaDerivationPoolFillHandlers = class {
241
266
  if (ceremonyExpiresAtMs !== input.poolFill.ceremonyExpiresAtMs || materialExpiresAtMs !== input.poolFill.materialExpiresAtMs) return {
242
267
  ok: false,
243
268
  code: "invalid_pool_fill_expiry",
244
- message: "Presign initialization deadlines exceed live authorization"
269
+ message: `Presign initialization deadlines exceed live authorization (requested ceremony ${input.poolFill.ceremonyExpiresAtMs} material ${input.poolFill.materialExpiresAtMs}; authorized ceremony ${ceremonyExpiresAtMs} material ${materialExpiresAtMs})`
245
270
  };
246
271
  const presignSessionId = input.presignSessionId;
247
272
  const started = await startRouterAbEcdsaPresignSession({
248
273
  signingWorkerBaseUrl: transport.signingWorkerBaseUrl,
249
274
  scope,
275
+ authority: presignAuthorityForBinding(input.binding),
250
276
  presignSessionId,
251
277
  firstMessageB64u: input.firstMessageB64u,
252
278
  ceremonyExpiresAtMs,
@@ -276,10 +302,16 @@ var RouterAbEcdsaDerivationPoolFillHandlers = class {
276
302
  }
277
303
  async stepStrictPresignSession(input) {
278
304
  const transport = this.signingWorkerTransport;
305
+ if (!ownerWalletScopeMatchesBinding(input.binding)) return {
306
+ ok: false,
307
+ code: WALLET_SESSION_FAILURE_CODES.scopeMismatch,
308
+ message: "Presign owner Wallet Session scope does not match active material"
309
+ };
279
310
  const scope = input.binding.routerAbEcdsaDerivationNormalSigning.scope;
280
311
  const stepped = await stepRouterAbEcdsaPresignSession({
281
312
  signingWorkerBaseUrl: transport.signingWorkerBaseUrl,
282
313
  scope,
314
+ authority: presignAuthorityForBinding(input.binding),
283
315
  presignSessionId: input.presignSessionId,
284
316
  requestedStage: input.requestedStage,
285
317
  outgoingMessagesB64u: input.outgoingMessagesB64u,
@@ -1,24 +1,11 @@
1
- import { buildCloudflareSigningWorkerEcdsaDerivationPresignaturePoolPutRequestV1, parseCloudflareSigningWorkerEcdsaDerivationPresignaturePoolPutReceiptForRequestV1, parseCloudflareSigningWorkerEcdsaDerivationPresignaturePoolPutRequestV1, parseRouterAbEcdsaDerivationNormalSigningScopeV1, parseRouterAbEcdsaSigningWorkerProtocolExportShareEnvelopeV1 } from "../../../shared-ts/src/utils/routerAbEcdsaDerivation.js";
1
+ import { parseRouterAbEcdsaDerivationNormalSigningScopeV1, parseRouterAbEcdsaSigningWorkerProtocolExportShareEnvelopeV1 } from "../../../shared-ts/src/utils/routerAbEcdsaDerivation.js";
2
2
  import { ROUTER_AB_INTERNAL_SERVICE_AUTH_HEADER_V1, postRouterAbInternalServiceJson } from "./internalServiceHttp.js";
3
3
  //#region src/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.ts
4
- const CLOUDFLARE_SIGNING_WORKER_ECDSA_DERIVATION_PRESIGNATURE_POOL_PUT_PATH = "/router-ab/signing-worker/ecdsa-derivation/presignature-pool/put";
5
4
  const CLOUDFLARE_SIGNING_WORKER_ECDSA_PRESIGN_SESSION_INIT_PATH = "/router-ab/signing-worker/ecdsa-derivation/presignature-session/init";
6
5
  const CLOUDFLARE_SIGNING_WORKER_ECDSA_PRESIGN_SESSION_STEP_PATH = "/router-ab/signing-worker/ecdsa-derivation/presignature-session/step";
7
6
  const CLOUDFLARE_SIGNING_WORKER_ECDSA_LINKED_PRESIGN_SESSION_INIT_PATH = "/router-ab/signing-worker/ecdsa-derivation/linked-device/presignature-session/init";
8
7
  const CLOUDFLARE_SIGNING_WORKER_ECDSA_LINKED_PRESIGN_SESSION_STEP_PATH = "/router-ab/signing-worker/ecdsa-derivation/linked-device/presignature-session/step";
9
8
  const CLOUDFLARE_SIGNING_WORKER_ECDSA_LINKED_EXPORT_SHARE_PATH = "/router-ab/signing-worker/ecdsa-derivation/linked-device/export-share";
10
- function buildRouterAbEcdsaDerivationPresignaturePoolPutRequest(input) {
11
- return parseCloudflareSigningWorkerEcdsaDerivationPresignaturePoolPutRequestV1(buildCloudflareSigningWorkerEcdsaDerivationPresignaturePoolPutRequestV1({
12
- scope: parseRouterAbEcdsaDerivationNormalSigningScopeV1(input.scope),
13
- presignature: input.presignature,
14
- expiresAtMs: input.materialExpiresAtMs
15
- }));
16
- }
17
- function privatePoolFillUrl(signingWorkerBaseUrl) {
18
- const base = signingWorkerBaseUrl.trim().replace(/\/+$/, "");
19
- if (!base) throw new Error("signingWorkerBaseUrl is required");
20
- return `${base}${CLOUDFLARE_SIGNING_WORKER_ECDSA_DERIVATION_PRESIGNATURE_POOL_PUT_PATH}`;
21
- }
22
9
  function errorMessage(error) {
23
10
  return String(error && typeof error === "object" && "message" in error ? error.message : error || "");
24
11
  }
@@ -153,6 +140,7 @@ async function startRouterAbEcdsaPresignSession(input) {
153
140
  path: CLOUDFLARE_SIGNING_WORKER_ECDSA_PRESIGN_SESSION_INIT_PATH,
154
141
  body: {
155
142
  scope: parseRouterAbEcdsaDerivationNormalSigningScopeV1(input.scope),
143
+ authority: input.authority,
156
144
  presign_session_id: input.presignSessionId,
157
145
  first_message_b64u: input.firstMessageB64u,
158
146
  ceremony_expires_at_ms: input.ceremonyExpiresAtMs,
@@ -169,6 +157,7 @@ async function stepRouterAbEcdsaPresignSession(input) {
169
157
  path: CLOUDFLARE_SIGNING_WORKER_ECDSA_PRESIGN_SESSION_STEP_PATH,
170
158
  body: {
171
159
  scope: parseRouterAbEcdsaDerivationNormalSigningScopeV1(input.scope),
160
+ authority: input.authority,
172
161
  presign_session_id: input.presignSessionId,
173
162
  requested_stage: input.requestedStage,
174
163
  outgoing_messages_b64u: input.outgoingMessagesB64u,
@@ -215,66 +204,7 @@ async function stepRouterAbLinkedDeviceEcdsaPresignSession(input) {
215
204
  fetchImpl: input.fetchImpl
216
205
  });
217
206
  }
218
- async function putRouterAbEcdsaDerivationPresignaturePoolFill(input) {
219
- const request = parseCloudflareSigningWorkerEcdsaDerivationPresignaturePoolPutRequestV1(input.request);
220
- const url = privatePoolFillUrl(input.signingWorkerBaseUrl);
221
- const response = await postRouterAbInternalServiceJson({
222
- url,
223
- body: request,
224
- authSecret: input.auth.secret,
225
- fetchImpl: input.fetchImpl
226
- });
227
- if (!response.ok && response.code === "network_error") return {
228
- ok: false,
229
- code: "network_error",
230
- message: `pool-fill request to ${url} failed: ${response.message}`
231
- };
232
- if (!response.ok && response.code === "http_error") return {
233
- ok: false,
234
- code: "http_error",
235
- message: response.bodyText || `pool-fill request failed with HTTP ${response.status}`,
236
- status: response.status,
237
- bodyText: response.bodyText
238
- };
239
- if (!response.ok) return {
240
- ok: false,
241
- code: "invalid_response",
242
- message: "pool-fill response body is not valid JSON",
243
- status: response.status,
244
- bodyText: response.bodyText
245
- };
246
- let receipt;
247
- try {
248
- receipt = parseCloudflareSigningWorkerEcdsaDerivationPresignaturePoolPutReceiptForRequestV1(request, response.json);
249
- } catch (error) {
250
- return {
251
- ok: false,
252
- code: "invalid_response",
253
- message: errorMessage(error),
254
- status: response.status,
255
- bodyText: response.bodyText
256
- };
257
- }
258
- if (!receipt.stored) return {
259
- ok: false,
260
- code: "already_exists",
261
- message: "Router A/B ECDSA derivation presignature already exists in the SigningWorker pool",
262
- status: response.status,
263
- receipt: {
264
- ...receipt,
265
- stored: false
266
- }
267
- };
268
- return {
269
- ok: true,
270
- status: response.status,
271
- receipt: {
272
- ...receipt,
273
- stored: true
274
- }
275
- };
276
- }
277
207
  //#endregion
278
- export { CLOUDFLARE_SIGNING_WORKER_ECDSA_DERIVATION_PRESIGNATURE_POOL_PUT_PATH, CLOUDFLARE_SIGNING_WORKER_ECDSA_LINKED_EXPORT_SHARE_PATH, CLOUDFLARE_SIGNING_WORKER_ECDSA_LINKED_PRESIGN_SESSION_INIT_PATH, CLOUDFLARE_SIGNING_WORKER_ECDSA_LINKED_PRESIGN_SESSION_STEP_PATH, CLOUDFLARE_SIGNING_WORKER_ECDSA_PRESIGN_SESSION_INIT_PATH, CLOUDFLARE_SIGNING_WORKER_ECDSA_PRESIGN_SESSION_STEP_PATH, ROUTER_AB_INTERNAL_SERVICE_AUTH_HEADER_V1, buildRouterAbEcdsaDerivationPresignaturePoolPutRequest, exportRouterAbLinkedDeviceEcdsaShare, putRouterAbEcdsaDerivationPresignaturePoolFill, startRouterAbEcdsaPresignSession, startRouterAbLinkedDeviceEcdsaPresignSession, stepRouterAbEcdsaPresignSession, stepRouterAbLinkedDeviceEcdsaPresignSession };
208
+ export { ROUTER_AB_INTERNAL_SERVICE_AUTH_HEADER_V1, exportRouterAbLinkedDeviceEcdsaShare, startRouterAbEcdsaPresignSession, startRouterAbLinkedDeviceEcdsaPresignSession, stepRouterAbEcdsaPresignSession, stepRouterAbLinkedDeviceEcdsaPresignSession };
279
209
 
280
210
  //# sourceMappingURL=ecdsaDerivationPresignBridge.js.map
@@ -1,5 +1,6 @@
1
1
  import { normalizeOptionalTrimmedString } from "../../shared-ts/src/utils/normalize.js";
2
2
  import "../../shared-ts/src/utils/validation.js";
3
+ import { failure } from "../../shared-ts/src/utils/failure.js";
3
4
  //#region src/core/ThresholdService/routerAbNormalSigningPolicy.ts
4
5
  function parseRouterAbNormalSigningServerPolicy(config) {
5
6
  const signingWorkerId = normalizeOptionalTrimmedString(config.ROUTER_AB_NORMAL_SIGNING_WORKER_ID);
@@ -10,16 +11,8 @@ function parseRouterAbNormalSigningServerPolicy(config) {
10
11
  };
11
12
  }
12
13
  function validateRouterAbNormalSigningServerPolicy(args) {
13
- if (!args.requested) return {
14
- ok: false,
15
- code: "unauthorized",
16
- message: "sessionPolicy.routerAbNormalSigning is required for Router A/B normal signing"
17
- };
18
- if (args.requested.signingWorkerId !== args.policy.signingWorkerId) return {
19
- ok: false,
20
- code: "unauthorized",
21
- message: "sessionPolicy.routerAbNormalSigning.signingWorkerId is not allowed for this threshold server"
22
- };
14
+ if (!args.requested) return failure("unauthorized", "sessionPolicy.routerAbNormalSigning is required for Router A/B normal signing");
15
+ if (args.requested.signingWorkerId !== args.policy.signingWorkerId) return failure("unauthorized", "sessionPolicy.routerAbNormalSigning.signingWorkerId is not allowed for this threshold server");
23
16
  return {
24
17
  ok: true,
25
18
  value: null
@@ -1,39 +1,12 @@
1
1
  import { normalizeOptionalTrimmedString } from "../../../shared-ts/src/utils/normalize.js";
2
- import "../../../shared-ts/src/utils/validation.js";
2
+ import { isPlainObject } from "../../../shared-ts/src/utils/validation.js";
3
3
  import "../../defaultConfigsServer.js";
4
- import { canonicalThresholdEd25519RelayerKeyId, isObject, parseEcdsaWalletSessionRecord, parseEd25519WalletSessionRecord, parseThresholdEcdsaMpcSessionRecord, parseThresholdEd25519CoordinatorSigningSessionRecord, parseThresholdEd25519KeyRecord, parseThresholdEd25519MpcSessionRecord, parseThresholdEd25519SigningSessionRecord, toThresholdEcdsaPrefixFromBase, toThresholdEcdsaSessionPrefix, toThresholdEcdsaWalletSessionPrefix, toThresholdEd25519KeyPrefix, toThresholdEd25519PrefixFromBase, toThresholdEd25519SessionPrefix, toThresholdEd25519WalletSessionPrefix } from "../validation.js";
4
+ import { canonicalThresholdEd25519RelayerKeyId, parseEcdsaWalletSessionRecord, parseEd25519WalletSessionRecord, parseThresholdEcdsaMpcSessionRecord, parseThresholdEd25519CoordinatorSigningSessionRecord, parseThresholdEd25519KeyRecord, parseThresholdEd25519MpcSessionRecord, parseThresholdEd25519SigningSessionRecord, toThresholdEcdsaPrefixFromBase, toThresholdEcdsaSessionPrefix, toThresholdEcdsaWalletSessionPrefix, toThresholdEd25519KeyPrefix, toThresholdEd25519PrefixFromBase, toThresholdEd25519SessionPrefix, toThresholdEd25519WalletSessionPrefix } from "../validation.js";
5
+ import { durableObjectName, durableObjectStub, requestDurableObjectJson, resolveDurableObjectNamespace } from "../../storeBackends.js";
5
6
  //#region src/core/ThresholdService/stores/CloudflareDurableObjectStore.ts
6
- function isDurableObjectNamespaceLike(v) {
7
- return Boolean(v) && typeof v === "object" && !Array.isArray(v) && typeof v.idFromName === "function" && typeof v.get === "function";
8
- }
9
- function resolveDoNamespaceFromConfig(config) {
10
- const direct = config.namespace;
11
- if (isDurableObjectNamespaceLike(direct)) return direct;
12
- const alt = config.durableObjectNamespace;
13
- if (isDurableObjectNamespaceLike(alt)) return alt;
14
- const envStyle = config.THRESHOLD_DO_NAMESPACE;
15
- if (isDurableObjectNamespaceLike(envStyle)) return envStyle;
16
- return null;
17
- }
18
- function resolveDoStub(input) {
19
- const id = input.namespace.idFromName(input.objectName);
20
- return input.namespace.get(id);
21
- }
22
7
  async function callDo(stub, req) {
23
- const resp = await stub.fetch("https://threshold-store.invalid/", {
24
- method: "POST",
25
- headers: { "content-type": "application/json" },
26
- body: JSON.stringify(req)
27
- });
28
- const text = await resp.text();
29
- if (!resp.ok) throw new Error(`Threshold DO store HTTP ${resp.status}: ${text}`);
30
- let json;
31
- try {
32
- json = text ? JSON.parse(text) : null;
33
- } catch {
34
- throw new Error(`Threshold DO store returned non-JSON response: ${text.slice(0, 200)}`);
35
- }
36
- if (!isObject(json)) throw new Error("Threshold DO store returned invalid JSON shape");
8
+ const json = await requestDurableObjectJson(stub, req, "Threshold");
9
+ if (!isPlainObject(json)) throw new Error("Threshold DO store returned invalid JSON shape");
37
10
  if (json.ok === true) return json;
38
11
  const code = normalizeOptionalTrimmedString(json.code);
39
12
  const message = normalizeOptionalTrimmedString(json.message);
@@ -65,10 +38,7 @@ function computeSessionPrefixEcdsa(config) {
65
38
  }
66
39
  var CloudflareDurableObjectWalletSessionStore = class {
67
40
  constructor(input) {
68
- this.stub = resolveDoStub({
69
- namespace: input.namespace,
70
- objectName: input.objectName
71
- });
41
+ this.stub = durableObjectStub(input.namespace, input.objectName);
72
42
  this.keyPrefix = input.keyPrefix;
73
43
  this.parseRecord = input.parseRecord;
74
44
  }
@@ -101,7 +71,7 @@ var CloudflareDurableObjectWalletSessionStore = class {
101
71
  });
102
72
  if (!resp.ok) return null;
103
73
  const raw = resp.value;
104
- const entry = isObject(raw) ? raw : null;
74
+ const entry = isPlainObject(raw) ? raw : null;
105
75
  const record = entry ? this.parseRecord(entry.record) : null;
106
76
  const expiresAtMs = entry ? entry.expiresAtMs : null;
107
77
  if (!record || typeof expiresAtMs !== "number" || !Number.isFinite(expiresAtMs)) return null;
@@ -215,10 +185,7 @@ var CloudflareDurableObjectWalletSessionStore = class {
215
185
  };
216
186
  var CloudflareDurableObjectThresholdEd25519SessionStore = class {
217
187
  constructor(input) {
218
- this.stub = resolveDoStub({
219
- namespace: input.namespace,
220
- objectName: input.objectName
221
- });
188
+ this.stub = durableObjectStub(input.namespace, input.objectName);
222
189
  this.keyPrefix = input.keyPrefix;
223
190
  this.coordinatorPrefix = `${this.keyPrefix}coord:`;
224
191
  this.parseMpcSessionRecord = input.parseMpcSessionRecord || parseThresholdEd25519MpcSessionRecord;
@@ -333,10 +300,7 @@ var CloudflareDurableObjectThresholdEd25519SessionStore = class {
333
300
  };
334
301
  var CloudflareDurableObjectThresholdEd25519KeyStore = class {
335
302
  constructor(input) {
336
- this.stub = resolveDoStub({
337
- namespace: input.namespace,
338
- objectName: input.objectName
339
- });
303
+ this.stub = durableObjectStub(input.namespace, input.objectName);
340
304
  this.keyPrefix = input.keyPrefix;
341
305
  }
342
306
  key(relayerKeyId) {
@@ -373,11 +337,11 @@ var CloudflareDurableObjectThresholdEd25519KeyStore = class {
373
337
  }
374
338
  };
375
339
  function createCloudflareDurableObjectThresholdEd25519Stores(input) {
376
- const config = isObject(input.config) ? input.config : {};
340
+ const config = isPlainObject(input.config) ? input.config : {};
377
341
  if (normalizeOptionalTrimmedString(config.kind) !== "cloudflare-do") return null;
378
- const namespace = resolveDoNamespaceFromConfig(config);
342
+ const namespace = resolveDurableObjectNamespace(config);
379
343
  if (!namespace) throw new Error("cloudflare-do threshold store selected but no Durable Object namespace was provided (expected config.namespace)");
380
- const objectName = normalizeOptionalTrimmedString(config.objectName) || normalizeOptionalTrimmedString(config.name) || "threshold-store";
344
+ const objectName = durableObjectName(config);
381
345
  const walletSessionPrefix = computeWalletSessionPrefix(config);
382
346
  const sessionPrefix = computeSessionPrefix(config);
383
347
  const keyPrefix = computeKeyPrefix(config);
@@ -402,9 +366,9 @@ function createCloudflareDurableObjectThresholdEd25519Stores(input) {
402
366
  };
403
367
  }
404
368
  function createCloudflareDurableObjectThresholdEcdsaStores(input) {
405
- const config = isObject(input.config) ? input.config : {};
369
+ const config = isPlainObject(input.config) ? input.config : {};
406
370
  if (normalizeOptionalTrimmedString(config.kind) !== "cloudflare-do") return null;
407
- const namespace = resolveDoNamespaceFromConfig(config);
371
+ const namespace = resolveDurableObjectNamespace(config);
408
372
  if (!namespace) throw new Error("cloudflare-do threshold store selected but no Durable Object namespace was provided (expected config.namespace)");
409
373
  const configuredObjectName = normalizeOptionalTrimmedString(config.objectName) || normalizeOptionalTrimmedString(config.name);
410
374
  const ecdsaObjectName = configuredObjectName || "threshold-ecdsa-store";
@@ -428,6 +392,6 @@ function createCloudflareDurableObjectThresholdEcdsaStores(input) {
428
392
  };
429
393
  }
430
394
  //#endregion
431
- export { CloudflareDurableObjectThresholdEd25519KeyStore, CloudflareDurableObjectThresholdEd25519SessionStore, CloudflareDurableObjectWalletSessionStore, createCloudflareDurableObjectThresholdEcdsaStores, createCloudflareDurableObjectThresholdEd25519Stores };
395
+ export { createCloudflareDurableObjectThresholdEcdsaStores, createCloudflareDurableObjectThresholdEd25519Stores };
432
396
 
433
397
  //# sourceMappingURL=CloudflareDurableObjectStore.js.map
@@ -1,6 +1,6 @@
1
1
  import { normalizeOptionalTrimmedString } from "../../../shared-ts/src/utils/normalize.js";
2
- import "../../../shared-ts/src/utils/validation.js";
3
- import { canonicalThresholdEd25519RelayerKeyId, isObject, parseThresholdEd25519KeyRecord, toThresholdEd25519KeyPrefix, toThresholdEd25519PrefixFromBase } from "../validation.js";
2
+ import { isPlainObject } from "../../../shared-ts/src/utils/validation.js";
3
+ import { canonicalThresholdEd25519RelayerKeyId, parseThresholdEd25519KeyRecord, toThresholdEd25519KeyPrefix, toThresholdEd25519PrefixFromBase } from "../validation.js";
4
4
  import { RedisTcpClient, UpstashRedisRestClient, redisDel, redisGetJson, redisSetJson } from "../kv.js";
5
5
  import { createCloudflareDurableObjectThresholdEd25519Stores } from "./CloudflareDurableObjectStore.js";
6
6
  import { readNonDurableObjectThresholdStoreKind } from "./StoreConfig.js";
@@ -88,7 +88,7 @@ function createThresholdEd25519KeyStore(input) {
88
88
  logger: input.logger
89
89
  });
90
90
  if (doStores) return doStores.keyStore;
91
- const config = isObject(input.config) ? input.config : {};
91
+ const config = isPlainObject(input.config) ? input.config : {};
92
92
  const basePrefix = normalizeOptionalTrimmedString(config.THRESHOLD_PREFIX);
93
93
  const envPrefix = normalizeOptionalTrimmedString(config.THRESHOLD_ED25519_KEYSTORE_PREFIX) || toThresholdEd25519PrefixFromBase(basePrefix, "key") || "";
94
94
  const kind = readNonDurableObjectThresholdStoreKind(config, "threshold-ed25519");
@@ -1,8 +1,8 @@
1
1
  import { normalizeOptionalTrimmedString } from "../../../shared-ts/src/utils/normalize.js";
2
- import "../../../shared-ts/src/utils/validation.js";
3
- import { isObject, parseThresholdEcdsaMpcSessionRecord, parseThresholdEd25519CoordinatorSigningSessionRecord, parseThresholdEd25519MpcSessionRecord, parseThresholdEd25519SigningSessionRecord, toThresholdEcdsaPrefixFromBase, toThresholdEcdsaSessionPrefix, toThresholdEd25519PrefixFromBase, toThresholdEd25519SessionPrefix } from "../validation.js";
2
+ import { isPlainObject } from "../../../shared-ts/src/utils/validation.js";
3
+ import { parseThresholdEd25519CoordinatorSigningSessionRecord, parseThresholdEd25519MpcSessionRecord, parseThresholdEd25519SigningSessionRecord, toThresholdEd25519PrefixFromBase, toThresholdEd25519SessionPrefix } from "../validation.js";
4
4
  import { RedisTcpClient, UpstashRedisRestClient, redisEval, redisGetRaw, redisGetdelJson, redisSetJson } from "../kv.js";
5
- import { createCloudflareDurableObjectThresholdEcdsaStores, createCloudflareDurableObjectThresholdEd25519Stores } from "./CloudflareDurableObjectStore.js";
5
+ import { createCloudflareDurableObjectThresholdEd25519Stores } from "./CloudflareDurableObjectStore.js";
6
6
  import { readNonDurableObjectThresholdStoreKind } from "./StoreConfig.js";
7
7
  //#region src/core/ThresholdService/stores/SessionStore.ts
8
8
  function parseRawJson(raw) {
@@ -301,7 +301,7 @@ function createThresholdEd25519SessionStore(input) {
301
301
  logger: input.logger
302
302
  });
303
303
  if (doStores) return doStores.sessionStore;
304
- const config = isObject(input.config) ? input.config : {};
304
+ const config = isPlainObject(input.config) ? input.config : {};
305
305
  const allowInMemory = normalizeOptionalTrimmedString(config.THRESHOLD_ALLOW_IN_MEMORY_STORES) === "1";
306
306
  const requirePersistent = !input.isNode && !allowInMemory;
307
307
  const basePrefix = normalizeOptionalTrimmedString(config.THRESHOLD_PREFIX);
@@ -355,83 +355,7 @@ function createThresholdEd25519SessionStore(input) {
355
355
  input.logger.info("[threshold-ed25519] Using in-memory session store for threshold signing sessions (non-persistent)");
356
356
  return new InMemoryThresholdEd25519SessionStore({ keyPrefix: envPrefix || void 0 });
357
357
  }
358
- function createThresholdEcdsaSessionStore(input) {
359
- const doStores = createCloudflareDurableObjectThresholdEcdsaStores({
360
- config: input.config,
361
- logger: input.logger
362
- });
363
- if (doStores) return doStores.sessionStore;
364
- const config = isObject(input.config) ? input.config : {};
365
- const allowInMemory = normalizeOptionalTrimmedString(config.THRESHOLD_ALLOW_IN_MEMORY_STORES) === "1";
366
- const requirePersistent = !input.isNode && !allowInMemory;
367
- const basePrefix = normalizeOptionalTrimmedString(config.THRESHOLD_PREFIX);
368
- const envPrefix = toThresholdEcdsaSessionPrefix(normalizeOptionalTrimmedString(config.THRESHOLD_ECDSA_SESSION_PREFIX) || toThresholdEcdsaPrefixFromBase(basePrefix, "sess"));
369
- const kind = readNonDurableObjectThresholdStoreKind(config, "threshold-ecdsa");
370
- if (kind === "in-memory") {
371
- if (requirePersistent) throw new Error("[threshold-ecdsa] In-memory session store is not supported in this runtime; configure Upstash/Redis or Durable Objects");
372
- return new InMemoryThresholdEd25519SessionStore({
373
- keyPrefix: envPrefix,
374
- parseMpcSessionRecord: parseThresholdEcdsaMpcSessionRecord
375
- });
376
- }
377
- if (kind === "upstash-redis-rest") return new UpstashRedisRestThresholdEd25519SessionStore({
378
- url: normalizeOptionalTrimmedString(config.url) || normalizeOptionalTrimmedString(config.UPSTASH_REDIS_REST_URL),
379
- token: normalizeOptionalTrimmedString(config.token) || normalizeOptionalTrimmedString(config.UPSTASH_REDIS_REST_TOKEN),
380
- keyPrefix: normalizeOptionalTrimmedString(config.keyPrefix) || envPrefix,
381
- parseMpcSessionRecord: parseThresholdEcdsaMpcSessionRecord
382
- });
383
- if (kind === "redis-tcp") {
384
- if (!input.isNode) {
385
- if (requirePersistent) throw new Error("[threshold-ecdsa] redis-tcp session store is not supported in this runtime; configure Upstash/Redis REST or Durable Objects");
386
- input.logger.warn("[threshold-ecdsa] redis-tcp session store is not supported in this runtime; falling back to in-memory");
387
- return new InMemoryThresholdEd25519SessionStore({
388
- keyPrefix: envPrefix,
389
- parseMpcSessionRecord: parseThresholdEcdsaMpcSessionRecord
390
- });
391
- }
392
- return new RedisTcpThresholdEd25519SessionStore({
393
- redisUrl: normalizeOptionalTrimmedString(config.redisUrl) || normalizeOptionalTrimmedString(config.REDIS_URL),
394
- keyPrefix: normalizeOptionalTrimmedString(config.keyPrefix) || envPrefix,
395
- parseMpcSessionRecord: parseThresholdEcdsaMpcSessionRecord
396
- });
397
- }
398
- const upstashUrl = normalizeOptionalTrimmedString(config.UPSTASH_REDIS_REST_URL);
399
- const upstashToken = normalizeOptionalTrimmedString(config.UPSTASH_REDIS_REST_TOKEN);
400
- if (upstashUrl || upstashToken) {
401
- if (!upstashUrl || !upstashToken) throw new Error("Upstash session store enabled but UPSTASH_REDIS_REST_URL / UPSTASH_REDIS_REST_TOKEN are not both set");
402
- input.logger.info("[threshold-ecdsa] Using Upstash REST session store for signing session persistence");
403
- return new UpstashRedisRestThresholdEd25519SessionStore({
404
- url: upstashUrl,
405
- token: upstashToken,
406
- keyPrefix: envPrefix,
407
- parseMpcSessionRecord: parseThresholdEcdsaMpcSessionRecord
408
- });
409
- }
410
- const redisUrl = normalizeOptionalTrimmedString(config.REDIS_URL);
411
- if (redisUrl) {
412
- if (!input.isNode) {
413
- if (requirePersistent) throw new Error("[threshold-ecdsa] REDIS_URL is set but TCP Redis is not supported in this runtime; use Upstash/Redis REST or Durable Objects");
414
- input.logger.warn("[threshold-ecdsa] REDIS_URL is set but TCP Redis is not supported in this runtime; falling back to in-memory");
415
- return new InMemoryThresholdEd25519SessionStore({
416
- keyPrefix: envPrefix,
417
- parseMpcSessionRecord: parseThresholdEcdsaMpcSessionRecord
418
- });
419
- }
420
- input.logger.info("[threshold-ecdsa] Using redis-tcp session store for signing session persistence");
421
- return new RedisTcpThresholdEd25519SessionStore({
422
- redisUrl,
423
- keyPrefix: envPrefix,
424
- parseMpcSessionRecord: parseThresholdEcdsaMpcSessionRecord
425
- });
426
- }
427
- if (requirePersistent) throw new Error("[threshold-ecdsa] Threshold signing sessions require persistent storage in this runtime; configure UPSTASH_REDIS_REST_URL/UPSTASH_REDIS_REST_TOKEN or Durable Objects");
428
- input.logger.info("[threshold-ecdsa] Using in-memory session store for threshold signing sessions (non-persistent)");
429
- return new InMemoryThresholdEd25519SessionStore({
430
- keyPrefix: envPrefix,
431
- parseMpcSessionRecord: parseThresholdEcdsaMpcSessionRecord
432
- });
433
- }
434
358
  //#endregion
435
- export { createThresholdEcdsaSessionStore, createThresholdEd25519SessionStore };
359
+ export { createThresholdEd25519SessionStore };
436
360
 
437
361
  //# sourceMappingURL=SessionStore.js.map