@seams/wallet-server 0.7.3 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/THIRD_PARTY_NOTICES.md +1 -9
  2. package/artifact-manifest.json +78 -33
  3. package/cloudflare-router-ab/build/deriver-a/build-stamp.json +1 -1
  4. package/cloudflare-router-ab/build/deriver-a/index.js +2 -2
  5. package/cloudflare-router-ab/build/deriver-a/index_bg.wasm +0 -0
  6. package/cloudflare-router-ab/build/deriver-b/build-stamp.json +1 -1
  7. package/cloudflare-router-ab/build/deriver-b/index.js +2 -2
  8. package/cloudflare-router-ab/build/deriver-b/index_bg.wasm +0 -0
  9. package/cloudflare-router-ab/build/local-tools/darwin-arm64/router_ab_local_init +0 -0
  10. package/cloudflare-router-ab/build/local-tools/darwin-x64/router_ab_local_init +0 -0
  11. package/cloudflare-router-ab/build/local-tools/linux-x64/router_ab_local_init +0 -0
  12. package/cloudflare-router-ab/build/router/build-stamp.json +1 -1
  13. package/cloudflare-router-ab/build/router/index.js +2 -2
  14. package/cloudflare-router-ab/build/router/index_bg.wasm +0 -0
  15. package/cloudflare-router-ab/build/signing-worker/build-stamp.json +1 -1
  16. package/cloudflare-router-ab/build/signing-worker/index.js +2 -2
  17. package/cloudflare-router-ab/build/signing-worker/index_bg.wasm +0 -0
  18. package/cloudflare-router-ab/build/tenant-root-control-plane/build-stamp.json +1 -1
  19. package/cloudflare-router-ab/build/tenant-root-control-plane/index.js +2 -2
  20. package/cloudflare-router-ab/build/tenant-root-control-plane/index_bg.wasm +0 -0
  21. package/cloudflare-router-ab/scripts/prepare-local-runtime-config.mjs +0 -2
  22. package/cloudflare-router-ab/scripts/start-local-role-workers.mjs +77 -20
  23. package/dist/esm/authorization/lifecycleRouting.js +62 -0
  24. package/dist/esm/authorization/service.js +35 -12
  25. package/dist/esm/cloud-host.js +20 -22
  26. package/dist/esm/core/EmailOtpRecords.js +1 -217
  27. package/dist/esm/core/EmailOtpStores.js +0 -859
  28. package/dist/esm/core/IdentityStore.js +2 -339
  29. package/dist/esm/core/ThresholdService/config.js +1 -9
  30. package/dist/esm/core/ThresholdService/index.js +0 -4
  31. package/dist/esm/core/ThresholdService/kv.js +1 -66
  32. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.js +1 -13
  33. package/dist/esm/core/ThresholdService/routerAbNormalSigningPolicy.js +1 -11
  34. package/dist/esm/core/ThresholdService/stores/WalletSessionStore.js +0 -541
  35. package/dist/esm/core/ThresholdService/validation.js +2 -346
  36. package/dist/esm/core/WalletAuthMethodStore.js +2 -123
  37. package/dist/esm/core/WalletStore.js +3 -209
  38. package/dist/esm/core/WebAuthnAuthenticatorStore.js +0 -202
  39. package/dist/esm/core/WebAuthnCredentialBindingStore.js +2 -182
  40. package/dist/esm/core/WebAuthnLoginChallengeStore.js +0 -52
  41. package/dist/esm/core/WebAuthnSyncChallengeStore.js +0 -54
  42. package/dist/esm/core/authService/emailOtpConfig.js +1 -195
  43. package/dist/esm/core/authService/emailOtpEnrollment.js +0 -110
  44. package/dist/esm/core/authService/emailOtpSeal.js +0 -63
  45. package/dist/esm/core/authService/nearTransactions.js +3 -98
  46. package/dist/esm/core/authService/rateLimits.js +0 -84
  47. package/dist/esm/core/authService/webauthn.js +2 -298
  48. package/dist/esm/core/authService/webauthnOidcHelpers.js +1 -24
  49. package/dist/esm/core/authService/webauthnWalletBinding.js +0 -37
  50. package/dist/esm/core/config.js +1 -95
  51. package/dist/esm/core/d1EcdsaSignerRead.js +1 -1
  52. package/dist/esm/core/d1IdentityStore.js +1 -2
  53. package/dist/esm/core/d1TenantStore.js +1 -24
  54. package/dist/esm/core/d1WalletAuthMethodStore.js +2 -5
  55. package/dist/esm/core/d1WalletStore.js +2 -2
  56. package/dist/esm/core/deviceLinking/linkedDeviceBootstrap.js +13 -0
  57. package/dist/esm/core/deviceLinking/linkedDeviceSession.js +20 -14
  58. package/dist/esm/core/deviceLinking/requestProof.js +9 -6
  59. package/dist/esm/core/emailOtpD1Statements.js +107 -94
  60. package/dist/esm/core/keyMaterialBrands.js +2 -12
  61. package/dist/esm/core/nearKeys.js +0 -1
  62. package/dist/esm/core/nearRelayerAccountProvisioning.js +6 -9
  63. package/dist/esm/core/passkeyCredentialClaims.js +8 -0
  64. package/dist/esm/core/routerAbSigning/RouterAbEcdsaPresignRuntime.js +2 -6
  65. package/dist/esm/core/routerAbSigning/RouterAbNormalSigningRuntime.js +2 -30
  66. package/dist/esm/core/thresholdEcdsaChainTarget.js +1 -4
  67. package/dist/esm/hosted-wallet-gateway.js +66 -43
  68. package/dist/esm/index.js +6 -19
  69. package/dist/esm/localHostedWalletGatewayHandler.js +12 -0
  70. package/dist/esm/localRegistrationSetupAuthority.js +89 -0
  71. package/dist/esm/router/auth/authRequestValidation.js +8 -16
  72. package/dist/esm/router/auth/webAuthnCredentialCodecs.js +0 -1
  73. package/dist/esm/router/cloudflare/d1/auth/d1AuthorizationAssembly.js +87 -0
  74. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthConfig.js +12 -2
  75. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthService.js +32 -281
  76. package/dist/esm/router/cloudflare/d1/authorization/authorizedOperationStatements.js +24 -22
  77. package/dist/esm/router/cloudflare/d1/authorization/d1AuthorizationStore.js +8 -6
  78. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.js +12 -13
  79. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEd25519ExportRootStore.js +6 -1
  80. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.js +12 -2
  81. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.js +4 -4
  82. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.js +1 -1
  83. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.js +3 -9
  84. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRouteService.js +2 -1
  85. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.js +89 -7
  86. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.js +23 -14
  87. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.js +9 -6
  88. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.js +0 -1
  89. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.js +0 -1
  90. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.js +1 -1
  91. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.js +0 -1
  92. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.js +1 -1
  93. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.js +1 -7
  94. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.js +19 -13
  95. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.js +0 -1
  96. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.js +0 -1
  97. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.js +2 -2
  98. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.js +0 -1
  99. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.js +44 -12
  100. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.js +1 -49
  101. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.js +19 -31
  102. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleRegistrationCompletion.js +85 -0
  103. package/dist/esm/router/cloudflare/d1/identity/d1IdentityRecords.js +0 -1
  104. package/dist/esm/router/cloudflare/d1/identity/d1IdentityService.js +0 -48
  105. package/dist/esm/router/cloudflare/d1/near/d1SponsoredNearAccount.js +242 -0
  106. package/dist/esm/router/cloudflare/d1/oidc/d1OidcBoundary.js +0 -1
  107. package/dist/esm/router/cloudflare/d1/oidc/d1OidcVerificationService.js +2 -29
  108. package/dist/esm/router/cloudflare/d1/oidc/googleOidcToken.js +41 -0
  109. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.js +5 -0
  110. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.js +34 -0
  111. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.js +9 -3
  112. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.js +7 -13
  113. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.js +25 -13
  114. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationIntentService.js +0 -1
  115. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationSetupSupport.js +74 -0
  116. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.js +7 -1
  117. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationService.js +69 -238
  118. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetup.js +12 -56
  119. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetupExecution.js +155 -0
  120. package/dist/esm/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.js +1 -3
  121. package/dist/esm/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.js +12 -6
  122. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerFinalizeRecord.js +68 -0
  123. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerService.js +7 -54
  124. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodService.js +9 -8
  125. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorityStore.js +2 -142
  126. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.js +25 -4
  127. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnRecords.js +4 -70
  128. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnStore.js +23 -7
  129. package/dist/esm/router/cloudflare/runtime/staticWalletConsoleBinding.js +1 -0
  130. package/dist/esm/router/cloudflare/runtime/walletConsoleOps.js +1 -0
  131. package/dist/esm/router/cloudflare/runtime/walletConsoleOpsClient.js +5 -0
  132. package/dist/esm/router/cloudflare/runtime/walletGateway.js +1 -1
  133. package/dist/esm/router/cloudflare/runtime/walletRuntimeOps.js +16 -4
  134. package/dist/esm/router/cloudflare-adaptor.js +1 -2
  135. package/dist/esm/router/cloudflare.js +1342 -1733
  136. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.js +11 -8
  137. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.js +3 -2
  138. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.js +6 -6
  139. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.js +6 -6
  140. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.js +3 -0
  141. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.js +8 -0
  142. package/dist/esm/router/domains/emailOtp/emailOtpRequestValidation.js +0 -1
  143. package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.js +2 -8
  144. package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationCommit.js +2 -8
  145. package/dist/esm/router/domains/signingOperations/routerAbPrivateSigningWorker.js +5 -19
  146. package/dist/esm/router/domains/signingOperations/walletExecutionAdmission.js +2 -3
  147. package/dist/esm/router/domains/walletRegistration/walletRegistrationReservation.js +70 -0
  148. package/dist/esm/router/domains/walletRegistration/walletRegistrationRoutes.js +10 -11
  149. package/dist/esm/router/domains/walletRegistration/walletRegistrationSetupPayload.js +2 -3
  150. package/dist/esm/router/domains/walletUnlock/walletUnlockRouteHandlers.js +14 -0
  151. package/dist/esm/router/express.js +574 -479
  152. package/dist/esm/router/framework/http.js +2 -0
  153. package/dist/esm/router/framework/registrationSetupDispatch.js +14 -0
  154. package/dist/esm/router/framework/ror/normalize.js +0 -1
  155. package/dist/esm/router/framework/ror/options.js +0 -1
  156. package/dist/esm/router/framework/ror/provider.js +0 -1
  157. package/dist/esm/router/framework/ror/staticProvider.js +0 -1
  158. package/dist/esm/router/framework/routeDefinitions.js +1 -2
  159. package/dist/esm/router/framework/routerApiWebhooks.js +0 -1
  160. package/dist/esm/router/ror.js +0 -1
  161. package/dist/esm/router/transport/fetch/createFetchRouter.js +0 -2
  162. package/dist/esm/router/transport/fetch/routes/auth.js +2 -0
  163. package/dist/esm/router/transport/fetch/routes/deviceLinking.js +36 -147
  164. package/dist/esm/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.js +3 -2
  165. package/dist/esm/router/transport/fetch/routes/deviceLinkingResponses.js +130 -0
  166. package/dist/esm/router/transport/fetch/routes/ecdsaOperationStepUpFactor.js +171 -0
  167. package/dist/esm/router/transport/fetch/routes/passkeyCustody.js +1 -0
  168. package/dist/esm/router/transport/fetch/routes/syncAccount.js +7 -2
  169. package/dist/esm/router/transport/fetch/routes/thresholdEcdsa.js +19 -115
  170. package/dist/esm/router/transport/fetch/routes/walletRegistration.js +3 -1
  171. package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +0 -1
  172. package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +0 -2
  173. package/dist/esm/shared-ts/src/device-linking/contracts.js +16 -1
  174. package/dist/esm/shared-ts/src/device-linking/digests.js +1 -8
  175. package/dist/esm/shared-ts/src/near/actions.js +0 -1
  176. package/dist/esm/shared-ts/src/near/nearClient.js +0 -2
  177. package/dist/esm/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.js +1 -1
  178. package/dist/esm/shared-ts/src/signing-lanes/index.js +1 -6
  179. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +1 -1
  180. package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +2 -81
  181. package/dist/esm/shared-ts/src/signing-lanes/participants.js +1 -219
  182. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +0 -3
  183. package/dist/esm/shared-ts/src/tenant-root/tenantRootOperationRecord.js +1 -2
  184. package/dist/esm/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.js +0 -1
  185. package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +1 -22
  186. package/dist/esm/shared-ts/src/threshold/participants.js +0 -1
  187. package/dist/esm/shared-ts/src/threshold/signingRootScope.js +0 -1
  188. package/dist/esm/shared-ts/src/utils/addWalletAuthMethod.js +4 -13
  189. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +1 -7
  190. package/dist/esm/shared-ts/src/utils/domainIds.js +1 -16
  191. package/dist/esm/shared-ts/src/utils/ecdsaCapabilityActivation.js +1 -11
  192. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +0 -1
  193. package/dist/esm/shared-ts/src/utils/errors.js +1 -19
  194. package/dist/esm/shared-ts/src/utils/near.js +1 -1
  195. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +1 -1
  196. package/dist/esm/shared-ts/src/utils/registrationIds.js +1 -5
  197. package/dist/esm/shared-ts/src/utils/registrationIntent.js +0 -1
  198. package/dist/esm/shared-ts/src/utils/registrationSetupOperation.js +8 -0
  199. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +1 -1
  200. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +0 -1
  201. package/dist/esm/shared-ts/src/utils/validation.js +1 -5
  202. package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +0 -1
  203. package/dist/esm/shared-ts/src/utils/walletManagementProtocol.js +6 -0
  204. package/dist/esm/shared-ts/src/utils/wireSchema.js +2 -13
  205. package/dist/esm/shared-ts/src/wallet-recovery/backupAcknowledgement.js +6 -24
  206. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +0 -1
  207. package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +5 -6
  208. package/dist/esm/storage/d1Sql.js +1 -7
  209. package/dist/esm/threshold/session/signingSessionSeal/crypto/cipher.js +0 -1
  210. package/dist/esm/threshold/session/signingSessionSeal/guards/backends.js +1 -2
  211. package/dist/esm/threshold/session/signingSessionSeal/idempotencyBackends.js +0 -1
  212. package/dist/esm/threshold/session/signingSessionSeal/idempotencyRecords.js +0 -1
  213. package/dist/esm/threshold/session/signingSessionSeal/options.js +0 -1
  214. package/dist/esm/wasm/evm_crypto/pkg/evm_crypto_bg.wasm +0 -0
  215. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +0 -611
  216. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  217. package/dist/esm/wasm/shamir3pass_runtime/pkg/shamir3pass_runtime_bg.wasm +0 -0
  218. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +0 -4
  219. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +1 -0
  220. package/dist/types/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.d.ts +0 -2
  221. package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +0 -11
  222. package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +2 -7
  223. package/dist/types/shared-ts/src/signing-lanes/index.d.ts +0 -4
  224. package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +0 -1
  225. package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +0 -18
  226. package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +6 -35
  227. package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +6 -843
  228. package/dist/types/shared-ts/src/threshold/keyMaterialBrands.d.ts +0 -10
  229. package/dist/types/shared-ts/src/threshold/participants.d.ts +1 -1
  230. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +1 -133
  231. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +4 -18
  232. package/dist/types/shared-ts/src/utils/domainIds.d.ts +0 -12
  233. package/dist/types/shared-ts/src/utils/errors.d.ts +0 -4
  234. package/dist/types/shared-ts/src/utils/near.d.ts +0 -20
  235. package/dist/types/shared-ts/src/utils/normalize.d.ts +0 -2
  236. package/dist/types/shared-ts/src/utils/registrationSetupOperation.d.ts +3 -0
  237. package/dist/types/shared-ts/src/utils/validation.d.ts +1 -3
  238. package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +0 -1
  239. package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +3 -0
  240. package/dist/types/shared-ts/src/utils/wireSchema.d.ts +0 -2
  241. package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +0 -1
  242. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +1 -10
  243. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodes.d.ts +1 -3
  244. package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +5 -21
  245. package/dist/types/wallet-server/src/authorization/lifecycleRouting.d.ts +32 -0
  246. package/dist/types/wallet-server/src/authorization/lifecycleRouting.typecheck.d.ts +2 -0
  247. package/dist/types/wallet-server/src/authorization/recoveryRouting.d.ts +22 -0
  248. package/dist/types/wallet-server/src/authorization/recoveryRouting.typecheck.d.ts +2 -0
  249. package/dist/types/wallet-server/src/authorization/service.d.ts +8 -1
  250. package/dist/types/wallet-server/src/authorization/sessionRouting.d.ts +20 -0
  251. package/dist/types/wallet-server/src/authorization/sessionRouting.typecheck.d.ts +2 -0
  252. package/dist/types/wallet-server/src/cloud-host.d.ts +31 -9
  253. package/dist/types/wallet-server/src/core/EmailOtpRecords.d.ts +1 -22
  254. package/dist/types/wallet-server/src/core/EmailOtpStores.d.ts +1 -79
  255. package/dist/types/wallet-server/src/core/IdentityStore.d.ts +0 -10
  256. package/dist/types/wallet-server/src/core/RegistrationCeremonyStore.d.ts +0 -1
  257. package/dist/types/wallet-server/src/core/ThresholdService/config.d.ts +0 -2
  258. package/dist/types/wallet-server/src/core/ThresholdService/index.d.ts +1 -3
  259. package/dist/types/wallet-server/src/core/ThresholdService/kv.d.ts +0 -7
  260. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.d.ts +0 -3
  261. package/dist/types/wallet-server/src/core/ThresholdService/routerAbNormalSigningPolicy.d.ts +0 -1
  262. package/dist/types/wallet-server/src/core/ThresholdService/stores/WalletSessionStore.d.ts +7 -19
  263. package/dist/types/wallet-server/src/core/ThresholdService/validation.d.ts +0 -34
  264. package/dist/types/wallet-server/src/core/WalletAuthMethodStore.d.ts +1 -5
  265. package/dist/types/wallet-server/src/core/WalletStore.d.ts +0 -3
  266. package/dist/types/wallet-server/src/core/WebAuthnAuthenticatorStore.d.ts +0 -20
  267. package/dist/types/wallet-server/src/core/WebAuthnCredentialBindingStore.d.ts +1 -27
  268. package/dist/types/wallet-server/src/core/WebAuthnLoginChallengeStore.d.ts +2 -16
  269. package/dist/types/wallet-server/src/core/WebAuthnSyncChallengeStore.d.ts +22 -14
  270. package/dist/types/wallet-server/src/core/authService/emailOtpConfig.d.ts +0 -24
  271. package/dist/types/wallet-server/src/core/authService/emailOtpEnrollment.d.ts +1 -70
  272. package/dist/types/wallet-server/src/core/authService/emailOtpSeal.d.ts +0 -13
  273. package/dist/types/wallet-server/src/core/authService/githubOAuth.d.ts +2 -1
  274. package/dist/types/wallet-server/src/core/authService/nearTransactions.d.ts +1 -39
  275. package/dist/types/wallet-server/src/core/authService/rateLimits.d.ts +0 -17
  276. package/dist/types/wallet-server/src/core/authService/webauthn.d.ts +0 -125
  277. package/dist/types/wallet-server/src/core/authService/webauthnOidcHelpers.d.ts +0 -3
  278. package/dist/types/wallet-server/src/core/authService/webauthnVerificationOutcomes.d.ts +1 -1
  279. package/dist/types/wallet-server/src/core/authService/webauthnWalletBinding.d.ts +0 -12
  280. package/dist/types/wallet-server/src/core/config.d.ts +0 -10
  281. package/dist/types/wallet-server/src/core/d1IdentityStore.d.ts +0 -2
  282. package/dist/types/wallet-server/src/core/d1TenantStore.d.ts +0 -7
  283. package/dist/types/wallet-server/src/core/d1WalletAuthMethodStore.d.ts +0 -1
  284. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceBootstrap.d.ts +19 -0
  285. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSession.d.ts +8 -6
  286. package/dist/types/wallet-server/src/core/deviceLinking/requestProof.d.ts +2 -5
  287. package/dist/types/wallet-server/src/core/emailOtpD1Statements.d.ts +10 -7
  288. package/dist/types/wallet-server/src/core/keyMaterialBrands.d.ts +1 -5
  289. package/dist/types/wallet-server/src/core/nearRelayerAccountProvisioning.d.ts +0 -1
  290. package/dist/types/wallet-server/src/core/passkeyCredentialClaims.d.ts +9 -0
  291. package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbEcdsaPresignRuntime.d.ts +0 -2
  292. package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbNormalSigningRuntime.d.ts +0 -2
  293. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.d.ts +1 -92
  294. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.typecheck.d.ts +4 -52
  295. package/dist/types/wallet-server/src/core/thresholdEcdsaChainTarget.d.ts +0 -1
  296. package/dist/types/wallet-server/src/core/types.d.ts +0 -299
  297. package/dist/types/wallet-server/src/hosted-wallet-gateway.d.ts +15 -3
  298. package/dist/types/wallet-server/src/index.d.ts +8 -13
  299. package/dist/types/wallet-server/src/localRegistrationSetupAuthority.d.ts +13 -0
  300. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1AuthorizationAssembly.d.ts +23 -0
  301. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthConfig.d.ts +25 -3
  302. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/d1AuthorizationStore.d.ts +1 -1
  303. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.d.ts +3 -1
  304. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.d.ts +7 -1
  305. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.d.ts +1 -10
  306. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRouteService.d.ts +4 -0
  307. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.d.ts +6 -0
  308. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.d.ts +1 -13
  309. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.d.ts +2 -2
  310. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.d.ts +1 -1
  311. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.d.ts +0 -2
  312. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.d.ts +18 -2
  313. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.d.ts +29 -1
  314. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.d.ts +3 -16
  315. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.d.ts +7 -2
  316. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleRegistrationCompletion.d.ts +23 -0
  317. package/dist/types/wallet-server/src/router/cloudflare/d1/identity/d1IdentityService.d.ts +0 -12
  318. package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1SponsoredNearAccount.d.ts +24 -0
  319. package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1SponsoredNearAccount.typecheck.d.ts +2 -0
  320. package/dist/types/wallet-server/src/router/cloudflare/d1/oidc/d1OidcVerificationService.d.ts +0 -1
  321. package/dist/types/wallet-server/src/router/cloudflare/d1/oidc/googleOidcToken.d.ts +4 -0
  322. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.d.ts +5 -0
  323. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.d.ts +9 -0
  324. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.d.ts +1 -1
  325. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.d.ts +10 -11
  326. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.d.ts +3 -2
  327. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationSetupSupport.d.ts +51 -0
  328. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.d.ts +3 -0
  329. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationService.d.ts +30 -47
  330. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetup.d.ts +3 -30
  331. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetupExecution.d.ts +11 -0
  332. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerFinalizeRecord.d.ts +27 -0
  333. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.d.ts +1 -10
  334. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodService.d.ts +2 -2
  335. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorityStore.d.ts +0 -4
  336. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.d.ts +3 -0
  337. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnRecords.d.ts +0 -13
  338. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnStore.d.ts +23 -10
  339. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnStore.typecheck.d.ts +2 -0
  340. package/dist/types/wallet-server/src/router/cloudflare/runtime/cloudflare.types.d.ts +0 -2
  341. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOps.d.ts +1 -0
  342. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOpsClient.d.ts +2 -0
  343. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletGateway.d.ts +1 -1
  344. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRuntimeOps.d.ts +3 -0
  345. package/dist/types/wallet-server/src/router/cloudflare-adaptor.d.ts +0 -1
  346. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.d.ts +1 -1
  347. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.d.ts +2 -2
  348. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.d.ts +2 -2
  349. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.typecheck.d.ts +2 -0
  350. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.d.ts +2 -0
  351. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.d.ts +2 -0
  352. package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.d.ts +0 -2
  353. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationCommit.d.ts +0 -3
  354. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbPrivateSigningWorker.d.ts +0 -17
  355. package/dist/types/wallet-server/src/router/domains/signingOperations/walletExecutionAdmission.d.ts +1 -2
  356. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationInputs.d.ts +1 -0
  357. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationReservation.d.ts +51 -0
  358. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationRoutes.d.ts +2 -10
  359. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationSetupPayload.d.ts +2 -2
  360. package/dist/types/wallet-server/src/router/framework/authServicePort.d.ts +14 -34
  361. package/dist/types/wallet-server/src/router/framework/googleLoginResolution.typecheck.d.ts +2 -0
  362. package/dist/types/wallet-server/src/router/framework/registrationSetupDispatch.d.ts +13 -0
  363. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinking.d.ts +1 -1
  364. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinkingResponses.d.ts +17 -0
  365. package/dist/types/wallet-server/src/router/transport/fetch/routes/ecdsaOperationStepUpFactor.d.ts +37 -0
  366. package/dist/types/wallet-server/src/storage/d1Sql.d.ts +0 -1
  367. package/migrations/d1-signer/0040_namespace_home_challenges.sql +16 -0
  368. package/migrations/d1-signer/0041_step_up_admission_expiry.sql +28 -0
  369. package/migrations/d1-signer/0042_deployment_resource_challenges.sql +4 -0
  370. package/migrations/d1-signer/0043_google_registration_candidate_claim.sql +2 -0
  371. package/migrations/d1-signer/0044_linked_device_bootstrap_imports.sql +6 -0
  372. package/migrations/d1-signer/0045_wallet_owned_capability_receipts.sql +29 -0
  373. package/migrations/d1-signer/0046_wallet_owned_signing_abuse.sql +41 -0
  374. package/migrations/d1-signer/0047_remove_unused_near_public_keys.sql +2 -0
  375. package/migrations/d1-signer/0048_operation_owner_scope.sql +45 -0
  376. package/package.json +2 -3
  377. package/src/README.md +11 -3
  378. package/dist/esm/core/AuthService.js +0 -2
  379. package/dist/esm/core/NearPublicKeyStore.js +0 -200
  380. package/dist/esm/core/ThresholdService/stores/CloudflareDurableObjectStore.js +0 -397
  381. package/dist/esm/core/ThresholdService/stores/KeyStore.js +0 -140
  382. package/dist/esm/core/ThresholdService/stores/SessionStore.js +0 -361
  383. package/dist/esm/core/ThresholdService/stores/StoreConfig.js +0 -13
  384. package/dist/esm/core/ThresholdService/stores/exportReplayGuard.js +0 -7
  385. package/dist/esm/core/authService/AuthService.js +0 -594
  386. package/dist/esm/core/authService/bytes.js +0 -19
  387. package/dist/esm/core/authService/configValues.js +0 -15
  388. package/dist/esm/core/authService/emailOtpChallengeOperations.js +0 -123
  389. package/dist/esm/core/authService/emailOtpChallengeProof.js +0 -183
  390. package/dist/esm/core/authService/emailOtpChallengeVerification.js +0 -264
  391. package/dist/esm/core/authService/emailOtpChallenges.js +0 -225
  392. package/dist/esm/core/authService/emailOtpDelivery.js +0 -134
  393. package/dist/esm/core/authService/emailOtpGrant.js +0 -43
  394. package/dist/esm/core/authService/emailOtpRegistrationEnrollment.js +0 -144
  395. package/dist/esm/core/authService/emailOtpUnlock.js +0 -174
  396. package/dist/esm/core/authService/googleEmailOtpOperations.js +0 -141
  397. package/dist/esm/core/authService/googleEmailOtpRegistration.js +0 -587
  398. package/dist/esm/core/authService/identity.js +0 -42
  399. package/dist/esm/core/authService/identityOperations.js +0 -32
  400. package/dist/esm/core/authService/nearAccountOperations.js +0 -229
  401. package/dist/esm/core/authService/nearPublicKeyMetadata.js +0 -108
  402. package/dist/esm/core/authService/oidcVerification.js +0 -249
  403. package/dist/esm/core/authService/registrationThresholdHelpers.js +0 -30
  404. package/dist/esm/core/authService/runtime.js +0 -45
  405. package/dist/esm/core/authService/storeRegistry.js +0 -102
  406. package/dist/esm/core/authService/thresholdStoreSummary.js +0 -32
  407. package/dist/esm/core/authService/webauthnAuthority.js +0 -17
  408. package/dist/esm/core/defaultConfigsServer.js +0 -9
  409. package/dist/esm/core/hostedAccountIds.js +0 -225
  410. package/dist/esm/core/routerAbSigning/createRouterAbSigningRuntimes.js +0 -84
  411. package/dist/esm/core/signingLanes/LaneAggregateRevocationApplicationService.js +0 -86
  412. package/dist/esm/core/signingLanes/LaneEnrollmentActivation.js +0 -324
  413. package/dist/esm/core/signingLanes/LaneEnrollmentRevocation.js +0 -173
  414. package/dist/esm/core/signingLanes/LaneLifecycleApplicationService.js +0 -198
  415. package/dist/esm/core/signingLanes/ecdsaServerRetirement.js +0 -73
  416. package/dist/esm/core/signingLanes/ed25519ServerRetirement.js +0 -68
  417. package/dist/esm/core/signingLanes/signingWorkerLaneMaterialIdentity.js +0 -0
  418. package/dist/esm/core/storeBackends.js +0 -208
  419. package/dist/esm/core/utils.js +0 -14
  420. package/dist/esm/core/webAuthnStoreBackends.js +0 -198
  421. package/dist/esm/router/cloudflare/d1/near/d1NearPublicKeyStore.js +0 -49
  422. package/dist/esm/router/cloudflare/d1/signingLanes/d1EcdsaLanePrivateBindingResolver.js +0 -10
  423. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneAggregateRevocationApplicationService.js +0 -22
  424. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.js +0 -166
  425. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEnrollmentGateway.js +0 -38
  426. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleApplicationService.js +0 -20
  427. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.js +0 -1459
  428. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLockStore.js +0 -114
  429. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneProtocolCommitter.js +0 -16
  430. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneRecords.js +0 -171
  431. package/dist/esm/router/cloudflare/d1/signingLanes/index.js +0 -10
  432. package/dist/esm/router/cloudflare/durableObjects/thresholdStore.js +0 -397
  433. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.js +0 -597
  434. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.js +0 -273
  435. package/dist/esm/router/cloudflare/signingLanes/index.js +0 -4
  436. package/dist/esm/router/cloudflare/signingLanes/linkedDeviceEd25519CeremonyBinding.js +0 -32
  437. package/dist/esm/router/transport/fetch/routes/nearPublicKeys.js +0 -27
  438. package/dist/esm/shared-ts/src/signing-lanes/rotation.js +0 -8
  439. package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +0 -358
  440. package/dist/esm/shared-ts/src/signing-lanes/rotationLifecycle.js +0 -313
  441. package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +0 -532
  442. package/dist/esm/shared-ts/src/signing-lanes/rotationProtocolParsers.js +0 -323
  443. package/dist/esm/shared-ts/src/signing-lanes/rotationWireFields.js +0 -59
  444. package/dist/types/shared-ts/src/signing-lanes/participantDigest.typecheck.d.ts +0 -2
  445. package/dist/types/shared-ts/src/signing-lanes/rotation.typecheck.d.ts +0 -2
  446. package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +0 -13
  447. package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +0 -78
  448. package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +0 -27
  449. package/dist/types/shared-ts/src/signing-lanes/rotationProtocolParsers.d.ts +0 -6
  450. package/dist/types/shared-ts/src/signing-lanes/rotationWireFields.d.ts +0 -20
  451. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeAttempt.d.ts +0 -59
  452. package/dist/types/wallet-server/src/core/AuthService.d.ts +0 -3
  453. package/dist/types/wallet-server/src/core/NearPublicKeyStore.d.ts +0 -48
  454. package/dist/types/wallet-server/src/core/ThresholdService/stores/CloudflareDurableObjectStore.d.ts +0 -21
  455. package/dist/types/wallet-server/src/core/ThresholdService/stores/KeyStore.d.ts +0 -40
  456. package/dist/types/wallet-server/src/core/ThresholdService/stores/SessionStore.d.ts +0 -98
  457. package/dist/types/wallet-server/src/core/ThresholdService/stores/StoreConfig.d.ts +0 -4
  458. package/dist/types/wallet-server/src/core/ThresholdService/stores/ThresholdStoreConfig.typecheck.d.ts +0 -2
  459. package/dist/types/wallet-server/src/core/ThresholdService/stores/exportReplayGuard.d.ts +0 -3
  460. package/dist/types/wallet-server/src/core/authService/AuthService.d.ts +0 -490
  461. package/dist/types/wallet-server/src/core/authService/bytes.d.ts +0 -3
  462. package/dist/types/wallet-server/src/core/authService/configValues.d.ts +0 -7
  463. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeOperations.d.ts +0 -109
  464. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeProof.d.ts +0 -169
  465. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeVerification.d.ts +0 -47
  466. package/dist/types/wallet-server/src/core/authService/emailOtpChallenges.d.ts +0 -86
  467. package/dist/types/wallet-server/src/core/authService/emailOtpDelivery.d.ts +0 -66
  468. package/dist/types/wallet-server/src/core/authService/emailOtpGrant.d.ts +0 -43
  469. package/dist/types/wallet-server/src/core/authService/emailOtpRegistrationEnrollment.d.ts +0 -49
  470. package/dist/types/wallet-server/src/core/authService/emailOtpUnlock.d.ts +0 -64
  471. package/dist/types/wallet-server/src/core/authService/googleEmailOtpOperations.d.ts +0 -126
  472. package/dist/types/wallet-server/src/core/authService/googleEmailOtpRegistration.d.ts +0 -169
  473. package/dist/types/wallet-server/src/core/authService/identity.d.ts +0 -25
  474. package/dist/types/wallet-server/src/core/authService/identityOperations.d.ts +0 -19
  475. package/dist/types/wallet-server/src/core/authService/nearAccountOperations.d.ts +0 -55
  476. package/dist/types/wallet-server/src/core/authService/nearPublicKeyMetadata.d.ts +0 -44
  477. package/dist/types/wallet-server/src/core/authService/oidcVerification.d.ts +0 -66
  478. package/dist/types/wallet-server/src/core/authService/registrationThresholdHelpers.d.ts +0 -11
  479. package/dist/types/wallet-server/src/core/authService/runtime.d.ts +0 -20
  480. package/dist/types/wallet-server/src/core/authService/storeRegistry.d.ts +0 -53
  481. package/dist/types/wallet-server/src/core/authService/thresholdStoreSummary.d.ts +0 -3
  482. package/dist/types/wallet-server/src/core/authService/webauthnAuthority.d.ts +0 -5
  483. package/dist/types/wallet-server/src/core/defaultConfigsServer.d.ts +0 -5
  484. package/dist/types/wallet-server/src/core/hostedAccountIds.d.ts +0 -16
  485. package/dist/types/wallet-server/src/core/routerAbSigning/createRouterAbSigningRuntimes.d.ts +0 -16
  486. package/dist/types/wallet-server/src/core/signingLanes/LaneAggregateRevocationApplicationService.d.ts +0 -36
  487. package/dist/types/wallet-server/src/core/signingLanes/LaneEffectJournalStore.d.ts +0 -62
  488. package/dist/types/wallet-server/src/core/signingLanes/LaneEnrollmentActivation.d.ts +0 -13
  489. package/dist/types/wallet-server/src/core/signingLanes/LaneEnrollmentRevocation.d.ts +0 -24
  490. package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleApplicationService.d.ts +0 -141
  491. package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleStore.d.ts +0 -228
  492. package/dist/types/wallet-server/src/core/signingLanes/ecdsaServerRetirement.d.ts +0 -58
  493. package/dist/types/wallet-server/src/core/signingLanes/ed25519ServerRetirement.d.ts +0 -30
  494. package/dist/types/wallet-server/src/core/signingLanes/signingWorkerLaneMaterialIdentity.d.ts +0 -4
  495. package/dist/types/wallet-server/src/core/storeBackends.d.ts +0 -83
  496. package/dist/types/wallet-server/src/core/utils.d.ts +0 -3
  497. package/dist/types/wallet-server/src/core/webAuthnStoreBackends.d.ts +0 -96
  498. package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1NearPublicKeyStore.d.ts +0 -29
  499. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1EcdsaLanePrivateBindingResolver.d.ts +0 -4
  500. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneAggregateRevocationApplicationService.d.ts +0 -4
  501. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.d.ts +0 -24
  502. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEnrollmentGateway.d.ts +0 -20
  503. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLifecycleApplicationService.d.ts +0 -13
  504. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.d.ts +0 -51
  505. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLockStore.d.ts +0 -28
  506. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneProtocolCommitter.d.ts +0 -5
  507. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneRecords.d.ts +0 -107
  508. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/index.d.ts +0 -10
  509. package/dist/types/wallet-server/src/router/cloudflare/durableObjects/thresholdStore.d.ts +0 -18
  510. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.d.ts +0 -217
  511. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.d.ts +0 -73
  512. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/index.d.ts +0 -4
  513. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/linkedDeviceEd25519CeremonyBinding.d.ts +0 -6
  514. package/dist/types/wallet-server/src/router/transport/fetch/routes/nearPublicKeys.d.ts +0 -3
  515. /package/dist/esm/{core/signingLanes/LaneEffectJournalStore.js → authorization/recoveryRouting.js} +0 -0
  516. /package/dist/esm/{core/signingLanes/LaneLifecycleStore.js → authorization/sessionRouting.js} +0 -0
@@ -1,597 +0,0 @@
1
- import { buildMpcMaterialActivationRef, mpcMaterialActivationRefsEqual, parseMpcSigningWorkerRef } from "../../../shared-ts/src/utils/domainIds.js";
2
- import { base64UrlDecode } from "../../../shared-ts/src/utils/base64.js";
3
- import { parseDigestB64u, sha256DigestB64u } from "../../../shared-ts/src/utils/canonicalPrimitives.js";
4
- import { base58Encode } from "../../../shared-ts/src/utils/base58.js";
5
- import { routerAbMpcMaterialActivationRefToWire, sameRouterAbMpcMaterialActivationRef } from "../../../shared-ts/src/utils/routerAbNormalSigningIdentity.js";
6
- import { parseEcdsaLifecycleId } from "../../../shared-ts/src/utils/ecdsaCapabilityActivation.js";
7
- import { parseLaneProtocolCommitReceiptV1, parseLaneServerActivationReceiptV1, parseRevokeSigningLaneV1 } from "../../../shared-ts/src/signing-lanes/rotationParsers.js";
8
- import { encodeLaneProtocolCommitReceiptV1 } from "../../../shared-ts/src/signing-lanes/rotationDigests.js";
9
- import { ROUTER_AB_INTERNAL_SERVICE_AUTH_HEADER_V1 } from "../../../core/ThresholdService/routerAb/internalServiceHttp.js";
10
- import { buildEcdsaServerRetirementRequestV1, parseAndVerifyEcdsaServerRetirementEffectV1 } from "../../../core/signingLanes/ecdsaServerRetirement.js";
11
- import { buildEd25519ServerRetirementRequestV1, parseAndVerifyEd25519ServerRetirementEffectV1 } from "../../../core/signingLanes/ed25519ServerRetirement.js";
12
- //#region src/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.ts
13
- const CLOUDFLARE_SIGNING_WORKER_ECDSA_LANE_EXECUTE_PATH_V1 = "/router-ab/internal/signing-worker/ecdsa-additive-lane/execute";
14
- const CLOUDFLARE_SIGNING_WORKER_ECDSA_LANE_ACTIVATE_PATH_V1 = "/router-ab/internal/signing-worker/ecdsa-additive-lane/activate";
15
- const CLOUDFLARE_SIGNING_WORKER_ED25519_YAO_LANE_ACTIVATE_PATH_V1 = "/router-ab/internal/signing-worker/ed25519-yao-lane/activate";
16
- const CLOUDFLARE_SIGNING_WORKER_ECDSA_LANE_RETIRE_PATH_V1 = "/router-ab/internal/signing-worker/ecdsa-additive-lane/retire";
17
- const CLOUDFLARE_SIGNING_WORKER_ED25519_YAO_LANE_RETIRE_PATH_V1 = "/router-ab/internal/signing-worker/ed25519-yao-lane/retire";
18
- var LaneLifecycleStoreEd25519LanePrivateBindingResolverV1 = class {
19
- constructor(lifecycleStore) {
20
- this.lifecycleStore = lifecycleStore;
21
- }
22
- async resolveRetirementBindingV1(input) {
23
- const product = await this.lifecycleStore.getProductEpoch({
24
- walletId: input.command.walletId,
25
- walletKeyId: input.command.walletKeyId,
26
- laneId: input.command.laneId,
27
- laneShareEpoch: input.command.laneShareEpoch
28
- });
29
- if (product === null || product.keyFamily !== "ed25519" || product.state !== "active" && product.state !== "revocation_pending" && product.state !== "revoked" || !retirementProductMatchesCommandV1(product, input.command)) throw new Error("Ed25519 retirement source product is not the exact active epoch");
30
- const protocol = await this.lifecycleStore.getProtocol(product.operationId);
31
- if (protocol === null || protocol.value.lifecycle.state !== "active" || protocol.value.job.keyFamily !== "ed25519") throw new Error("Ed25519 retirement protocol is not active");
32
- return { identity: ed25519IdentityFromActiveProductV1(product, protocol.value.lifecycle) };
33
- }
34
- };
35
- var LaneLifecycleStoreEcdsaLanePrivateBindingResolverV1 = class {
36
- constructor(lifecycleStore, walletRegistration) {
37
- this.lifecycleStore = lifecycleStore;
38
- this.walletRegistration = walletRegistration;
39
- }
40
- async resolveSourceMaterialV1(input) {
41
- const product = await this.lifecycleStore.getProductEpoch({
42
- walletId: input.job.walletId,
43
- walletKeyId: input.job.walletKeyId,
44
- laneId: input.job.source.laneId,
45
- laneShareEpoch: input.job.source.laneShareEpoch
46
- });
47
- if (input.job.source.sourceKind === "owner_registration") {
48
- if (product !== null) throw new Error("ECDSA registration-backed source conflicts with a lane product epoch");
49
- const signer = await resolveOwnerEcdsaSourceSignerV1({
50
- walletRegistration: this.walletRegistration,
51
- job: input.job
52
- });
53
- return {
54
- kind: "registration_activation",
55
- lookup: {
56
- accountId: input.job.walletId,
57
- materialActivationId: input.job.source.materialActivation.activationId,
58
- signingWorkerId: String(input.job.source.ownerParticipantContinuity.signingWorkerId)
59
- },
60
- sourceDerivation: {
61
- applicationBindingDigestB64u: signer.walletKey.publicCapability.context.application_binding_digest_b64u,
62
- clientShareRetryCounter: signer.walletKey.publicCapability.public_identity.client_share_retry_counter
63
- }
64
- };
65
- }
66
- if (product === null) throw new Error("ECDSA lane-backed source product epoch is missing");
67
- if (product.state !== "active" || product.keyFamily !== "ecdsa_secp256k1" || product.holderParticipant.participantId !== input.job.source.holderParticipantId || product.signingWorkerParticipant.participantId !== input.job.source.signingWorkerParticipantId || product.signingWorkerParticipant.recipientKeyId !== input.job.source.signingWorkerRecipientKeyId || !mpcMaterialActivationRefsEqual(product.materialActivation, input.job.source.materialActivation)) throw new Error("ECDSA source product epoch does not match the admitted job");
68
- const protocol = await this.lifecycleStore.getProtocol(product.operationId);
69
- if (protocol === null || protocol.value.lifecycle.state !== "active") throw new Error("ECDSA source product protocol is not active");
70
- const identity = identityFromActiveProductV1(product, protocol.value.lifecycle);
71
- return {
72
- kind: "lane_material",
73
- lookup: {
74
- identity,
75
- admittedLaneIdentityDigestB64u: await digestSigningWorkerLaneIdentityV1(identity)
76
- }
77
- };
78
- }
79
- async resolveActivationBindingV1(input) {
80
- const receipt = parseLaneProtocolCommitReceiptV1(input.protocolCommitReceipt);
81
- return {
82
- identity: await identityFromProtocolReceiptV1(input.job, receipt),
83
- targetMaterialActivation: buildMpcMaterialActivationRef({
84
- activationId: input.job.targetMaterialActivationId,
85
- capability: input.job.source.materialActivation.capability,
86
- materialOwner: input.job.source.materialActivation.materialOwner,
87
- keyBinding: input.job.source.materialActivation.keyBinding,
88
- lifecycleBinding: input.job.source.materialActivation.lifecycleBinding,
89
- signingWorker: targetSigningWorkerRefV1(input.job)
90
- })
91
- };
92
- }
93
- async resolveRetirementBindingV1(input) {
94
- const product = await this.lifecycleStore.getProductEpoch({
95
- walletId: input.command.walletId,
96
- walletKeyId: input.command.walletKeyId,
97
- laneId: input.command.laneId,
98
- laneShareEpoch: input.command.laneShareEpoch
99
- });
100
- if (product === null || product.keyFamily !== "ecdsa_secp256k1" || product.state !== "active" && product.state !== "revocation_pending" && product.state !== "revoked" || !retirementProductMatchesCommandV1(product, input.command)) throw new Error("ECDSA retirement source product is not the exact active epoch");
101
- const protocol = await this.lifecycleStore.getProtocol(product.operationId);
102
- if (protocol === null || protocol.value.lifecycle.state !== "active" || protocol.value.job.keyFamily !== "ecdsa_secp256k1") throw new Error("ECDSA retirement protocol is not active");
103
- const job = protocol.value.job;
104
- return {
105
- identity: identityFromActiveProductV1(product, protocol.value.lifecycle),
106
- manifest: {
107
- manifestId: job.targetCapability.manifestId,
108
- manifestRevision: job.targetCapability.manifestRevision
109
- },
110
- materialActivation: product.materialActivation,
111
- serverGeneration: job.sourceCapability.serverGeneration,
112
- lifecycleId: parseEcdsaLifecycleId(product.materialActivation.lifecycleBinding)
113
- };
114
- }
115
- };
116
- function targetSigningWorkerRefV1(job) {
117
- const parsed = parseMpcSigningWorkerRef(job.targetSigningWorker.participantId);
118
- if (!parsed.ok) throw new Error(`ECDSA target SigningWorker is invalid: ${parsed.error.message}`);
119
- return parsed.value;
120
- }
121
- async function resolveOwnerEcdsaSourceSignerV1(input) {
122
- const signers = await input.walletRegistration.listWalletEcdsaCustodyContinuity({ walletId: input.job.walletId });
123
- const expectedMaterialActivation = routerAbMpcMaterialActivationRefToWire(input.job.source.materialActivation);
124
- const matching = matchingOwnerEcdsaSourceSignersV1({
125
- signers,
126
- job: input.job,
127
- expectedMaterialActivation
128
- });
129
- const first = matching[0];
130
- if (!first) throw new Error("authoritative ECDSA registration source signer is unavailable");
131
- const firstContext = first.walletKey.publicCapability.context.application_binding_digest_b64u;
132
- const firstClientRetry = first.walletKey.publicCapability.public_identity.client_share_retry_counter;
133
- for (const signer of matching.slice(1)) if (signer.walletKey.publicCapability.context.application_binding_digest_b64u !== firstContext || signer.walletKey.publicCapability.public_identity.client_share_retry_counter !== firstClientRetry) throw new Error("authoritative ECDSA registration source signer records conflict");
134
- return first;
135
- }
136
- function matchingOwnerEcdsaSourceSignersV1(input) {
137
- const matching = [];
138
- for (const signer of input.signers) {
139
- if (signer.walletId !== input.job.walletId || signer.walletKey.ecdsaThresholdKeyId !== String(input.job.sourceCapability.ecdsaThresholdKeyId) || signer.walletKey.relayerKeyId !== String(input.job.sourceCapability.relayerKeyId) || signer.walletKey.derivationClientSharePublicKey33B64u !== input.job.sourceHolderVerifyingShare33B64u || signer.walletKey.relayerVerifyingShareB64u !== input.job.sourceServerVerifyingShare33B64u || !sameRouterAbMpcMaterialActivationRef(signer.walletKey.publicCapability.material_activation, input.expectedMaterialActivation)) continue;
140
- matching.push(signer);
141
- }
142
- return matching;
143
- }
144
- var CloudflareSigningWorkerEcdsaRetirementTransportV1 = class {
145
- constructor(options) {
146
- this.options = options;
147
- this.internalServiceAuth = requiredText(options.internalServiceAuth, "internalServiceAuth");
148
- }
149
- async retireServerMaterialV1(input) {
150
- if (input.curve === "ed25519_yao") {
151
- const binding = await this.options.ed25519BindingResolver.resolveRetirementBindingV1({ command: input.command });
152
- const request = buildEd25519ServerRetirementRequestV1({
153
- command: input.command,
154
- binding
155
- });
156
- const effect = await parseAndVerifyEd25519ServerRetirementEffectV1({
157
- raw: await postSigningWorkerJsonV1({
158
- binding: this.options.signingWorker,
159
- internalServiceAuth: this.internalServiceAuth,
160
- path: CLOUDFLARE_SIGNING_WORKER_ED25519_YAO_LANE_RETIRE_PATH_V1,
161
- body: request
162
- }),
163
- request
164
- });
165
- return {
166
- kind: "signing_worker_lane_retirement_projection_v1",
167
- outcome: effect.outcome,
168
- command: input.command,
169
- retirementEffectBindingDigestB64u: effect.retirementEffectBindingDigestB64u,
170
- retirementReceipt: effect.receipt
171
- };
172
- }
173
- const binding = await this.options.bindingResolver.resolveRetirementBindingV1({ command: input.command });
174
- const request = buildEcdsaServerRetirementRequestV1({
175
- command: input.command,
176
- binding
177
- });
178
- const effect = await parseAndVerifyEcdsaServerRetirementEffectV1({
179
- raw: await postSigningWorkerJsonV1({
180
- binding: this.options.signingWorker,
181
- internalServiceAuth: this.internalServiceAuth,
182
- path: CLOUDFLARE_SIGNING_WORKER_ECDSA_LANE_RETIRE_PATH_V1,
183
- body: request
184
- }),
185
- expectation: {
186
- manifest: binding.manifest,
187
- materialActivation: binding.materialActivation,
188
- walletKeyId: input.command.walletKeyId,
189
- laneId: input.command.laneId,
190
- laneShareEpoch: input.command.laneShareEpoch,
191
- revocationEpoch: input.command.expectedRevocationEpoch,
192
- retirementReason: request.retirementReason,
193
- retirementCorrelationId: request.retirementCorrelationId,
194
- retirementRequestDigestB64u: request.retirementRequestDigestB64u,
195
- serverGeneration: binding.serverGeneration,
196
- lifecycleId: binding.lifecycleId,
197
- retirementEffectBindingDigestB64u: request.retirementEffectBindingDigestB64u
198
- }
199
- });
200
- return {
201
- kind: "signing_worker_lane_retirement_projection_v1",
202
- outcome: effect.outcome,
203
- command: input.command,
204
- retirementEffectBindingDigestB64u: effect.retirementEffectBindingDigestB64u,
205
- retirementReceipt: effect.receipt
206
- };
207
- }
208
- };
209
- var CloudflareSigningWorkerEcdsaLaneTransportV1 = class {
210
- constructor(options) {
211
- this.options = options;
212
- this.internalServiceAuth = requiredText(options.internalServiceAuth, "internalServiceAuth");
213
- }
214
- async commitEcdsaProtocolV1(input) {
215
- const sourceMaterial = await this.options.bindingResolver.resolveSourceMaterialV1({ job: input.job });
216
- const holderPackage = parseJsonRecord(input.holderPackage.ecdsaEncryptedMaterialEnvelopeJson, "holderPackage.ecdsaEncryptedMaterialEnvelopeJson");
217
- const encryptedDelta = parseJsonRecord(input.encryptedDeltaPackageJson, "encryptedDeltaPackageJson");
218
- const effect = exactRecord(await postSigningWorkerJsonV1({
219
- binding: this.options.signingWorker,
220
- internalServiceAuth: this.internalServiceAuth,
221
- path: CLOUDFLARE_SIGNING_WORKER_ECDSA_LANE_EXECUTE_PATH_V1,
222
- body: {
223
- job: input.job,
224
- holderRound: input.holderRound,
225
- holderPackage,
226
- encryptedDelta,
227
- sourceMaterial: sourceMaterialWireV1(sourceMaterial)
228
- }
229
- }), ["outcome", "receipt"], "ecdsaLaneExecuteEffect");
230
- return {
231
- kind: "signing_worker_lane_protocol_commit_projection_v1",
232
- outcome: parseMutationOutcome(Reflect.get(effect, "outcome"), "ecdsaLaneExecuteEffect.outcome"),
233
- receipt: parseLaneProtocolCommitReceiptV1(Reflect.get(effect, "receipt"))
234
- };
235
- }
236
- async activateServerMaterialV1(input) {
237
- const binding = input.curve === "ecdsa_additive" ? await this.options.bindingResolver.resolveActivationBindingV1({
238
- job: input.job,
239
- protocolCommitReceipt: input.protocolCommitReceipt
240
- }) : await buildEd25519ActivationBindingV1({
241
- job: input.job,
242
- protocolCommitReceipt: input.protocolCommitReceipt
243
- });
244
- const effect = exactRecord(await postSigningWorkerJsonV1({
245
- binding: this.options.signingWorker,
246
- internalServiceAuth: this.internalServiceAuth,
247
- path: input.curve === "ecdsa_additive" ? CLOUDFLARE_SIGNING_WORKER_ECDSA_LANE_ACTIVATE_PATH_V1 : CLOUDFLARE_SIGNING_WORKER_ED25519_YAO_LANE_ACTIVATE_PATH_V1,
248
- body: {
249
- identity: binding.identity,
250
- targetMaterialActivation: binding.targetMaterialActivation,
251
- holderDeliveryReceipt: input.holderDeliveryReceipt
252
- }
253
- }), ["outcome", "receipt"], input.curve === "ecdsa_additive" ? "ecdsaLaneActivateEffect" : "ed25519LaneActivateEffect");
254
- return {
255
- kind: "signing_worker_lane_server_activation_projection_v1",
256
- outcome: parseMutationOutcome(Reflect.get(effect, "outcome"), input.curve === "ecdsa_additive" ? "ecdsaLaneActivateEffect.outcome" : "ed25519LaneActivateEffect.outcome"),
257
- receipt: parseLaneServerActivationReceiptV1(Reflect.get(effect, "receipt"))
258
- };
259
- }
260
- async retireServerMaterialV1(input) {
261
- return await this.options.retirementTransport.retireServerMaterialV1(input);
262
- }
263
- };
264
- function sourceMaterialWireV1(source) {
265
- switch (source.kind) {
266
- case "lane_material": return source;
267
- case "registration_activation": return {
268
- kind: source.kind,
269
- lookup: {
270
- account_id: source.lookup.accountId,
271
- material_activation_id: source.lookup.materialActivationId,
272
- signing_worker_id: source.lookup.signingWorkerId
273
- },
274
- sourceDerivation: {
275
- application_binding_digest_b64u: source.sourceDerivation.applicationBindingDigestB64u,
276
- client_share_retry_counter: source.sourceDerivation.clientShareRetryCounter
277
- }
278
- };
279
- }
280
- }
281
- function createCloudflareLaneCurveExecutionPortsV1(options) {
282
- return {
283
- ed25519: {
284
- async executeProtocolCommitV1(input) {
285
- return parseLaneProtocolCommitReceiptV1((await options.ed25519Transport.executeProtocolCommitV1(input)).receipt);
286
- },
287
- async executeServerActivationV1(input) {
288
- const projection = await options.signingWorker.activateServerMaterialV1({
289
- curve: "ed25519_yao",
290
- ...input
291
- });
292
- requireProjection(projection, "signing_worker_lane_server_activation_projection_v1");
293
- return parseLaneServerActivationReceiptV1(projection.receipt);
294
- },
295
- async executeServerRetirementV1(input) {
296
- return retirementExecution(await options.signingWorker.retireServerMaterialV1({
297
- curve: "ed25519_yao",
298
- command: input.command
299
- }));
300
- }
301
- },
302
- ecdsa: {
303
- async executeProtocolCommitV1(input) {
304
- const projection = await options.signingWorker.commitEcdsaProtocolV1(input);
305
- requireProjection(projection, "signing_worker_lane_protocol_commit_projection_v1");
306
- return parseLaneProtocolCommitReceiptV1(projection.receipt);
307
- },
308
- async executeServerActivationV1(input) {
309
- const projection = await options.signingWorker.activateServerMaterialV1({
310
- curve: "ecdsa_additive",
311
- ...input
312
- });
313
- requireProjection(projection, "signing_worker_lane_server_activation_projection_v1");
314
- return parseLaneServerActivationReceiptV1(projection.receipt);
315
- },
316
- async executeServerRetirementV1(input) {
317
- return retirementExecution(await options.signingWorker.retireServerMaterialV1({
318
- curve: "ecdsa_additive",
319
- command: input.command
320
- }));
321
- }
322
- }
323
- };
324
- }
325
- function retirementExecution(projection) {
326
- requireProjection(projection, "signing_worker_lane_retirement_projection_v1");
327
- const command = parseRevokeSigningLaneV1(projection.command);
328
- if (typeof projection.retirementEffectBindingDigestB64u !== "string" || projection.retirementEffectBindingDigestB64u.length === 0) throw new Error("SigningWorker lane retirement effect binding digest is invalid");
329
- return {
330
- kind: "lane_lifecycle_retirement_execution_v1",
331
- command,
332
- retirementEffectBindingDigestB64u: parseDigestB64u(projection.retirementEffectBindingDigestB64u),
333
- retirementReceipt: projection.retirementReceipt
334
- };
335
- }
336
- function requireProjection(projection, expectedKind) {
337
- if (projection.kind !== expectedKind) throw new Error("SigningWorker lane material projection kind is invalid");
338
- if (projection.outcome !== "applied" && projection.outcome !== "replayed") throw new Error("SigningWorker lane material projection outcome is invalid");
339
- }
340
- function requiredText(value, label) {
341
- const normalized = value.trim();
342
- if (normalized.length === 0) throw new Error(`${label} is required`);
343
- return normalized;
344
- }
345
- function requiredTextValue(value, label) {
346
- if (typeof value !== "string") throw new Error(`${label} must be a string`);
347
- return requiredText(value, label);
348
- }
349
- /**
350
- * Resolves one exact active child product before a normal-signing request is
351
- * forwarded to SigningWorker. The resolver deliberately requires immutable
352
- * lane coordinates and the full activation reference; activation IDs alone
353
- * cannot select a private lane artifact.
354
- */
355
- var LaneLifecycleStoreNormalSigningLaneMaterialResolverV1 = class {
356
- constructor(lifecycleStore) {
357
- this.lifecycleStore = lifecycleStore;
358
- }
359
- async resolveV1(input) {
360
- const product = await this.lifecycleStore.getProductEpoch(input.lookup);
361
- if (product === null || product.state !== "active" || product.keyFamily !== input.keyFamily || !mpcMaterialActivationRefsEqual(product.materialActivation, input.materialActivation) || product.targetMaterialActivationId !== input.materialActivation.activationId) throw new Error("normal-signing lane product is not the exact active child");
362
- const enrollment = await this.lifecycleStore.getEnrollment(product.enrollmentId);
363
- if (enrollment === null || enrollment.value.lifecycle.state !== "active" || enrollment.value.lifecycle.manifestDigestB64u !== product.aggregateManifestDigestB64u) throw new Error("normal-signing lane enrollment is not active for the child product");
364
- const protocol = await this.lifecycleStore.getProtocol(product.operationId);
365
- if (protocol === null || protocol.value.lifecycle.state !== "active" || protocol.value.job.keyFamily !== product.keyFamily) throw new Error("normal-signing lane protocol is not active for the child product");
366
- assertActiveLaneProtocolMatchesProductV1(product, protocol.value.job);
367
- const identity = signingWorkerIdentityFromActiveProductV1(product, protocol.value.lifecycle);
368
- return {
369
- product,
370
- source: {
371
- kind: "rotatable_lane",
372
- lookup: {
373
- identity,
374
- admittedLaneIdentityDigestB64u: await digestSigningWorkerLaneIdentityV1(identity)
375
- },
376
- group_public_key: groupPublicKeyFromLaneJobV1(protocol.value.job)
377
- }
378
- };
379
- }
380
- };
381
- function assertActiveLaneProtocolMatchesProductV1(product, job) {
382
- if (job.operationId !== product.operationId || job.enrollmentId !== product.enrollmentId || job.walletId !== product.walletId || job.walletKeyId !== product.walletKeyId || job.target.laneId !== product.laneId || job.target.laneShareEpoch !== product.laneShareEpoch || job.targetMaterialActivationId !== product.targetMaterialActivationId || job.target.laneKind !== product.laneKind || job.keyFamily !== product.keyFamily || job.targetHolder.participantId !== product.holderParticipant.participantId || job.targetHolder.participantBindingDigestB64u !== product.holderParticipant.participantBindingDigestB64u || job.targetHolder.hpkePublicKeyDigestB64u !== product.holderParticipant.hpkePublicKeyDigestB64u || job.targetSigningWorker.participantId !== product.signingWorkerParticipant.participantId || job.targetSigningWorker.participantBindingDigestB64u !== product.signingWorkerParticipant.participantBindingDigestB64u || job.targetSigningWorker.recipientKeyId !== product.signingWorkerParticipant.recipientKeyId || job.targetSigningWorker.hpkePublicKeyDigestB64u !== product.signingWorkerParticipant.hpkePublicKeyDigestB64u) throw new Error("normal-signing lane protocol does not match the active child product");
383
- }
384
- function signingWorkerIdentityFromActiveProductV1(product, lifecycle) {
385
- return product.keyFamily === "ed25519" ? ed25519IdentityFromActiveProductV1(product, lifecycle) : identityFromActiveProductV1(product, lifecycle);
386
- }
387
- function groupPublicKeyFromLaneJobV1(job) {
388
- if (job.keyFamily === "ecdsa_secp256k1") return requiredText(job.thresholdPublicKey33B64u, "ECDSA lane threshold public key");
389
- const registeredPublicKey = base64UrlDecode(job.registeredPublicKeyB64u);
390
- if (registeredPublicKey.length !== 32) throw new Error("Ed25519 lane registered public key must be 32 bytes");
391
- return `ed25519:${base58Encode(registeredPublicKey)}`;
392
- }
393
- function identityFromActiveProductV1(product, lifecycle) {
394
- if (product.keyFamily !== "ecdsa_secp256k1") throw new Error("ECDSA source product has the wrong key family");
395
- return {
396
- operationId: product.operationId,
397
- enrollmentId: product.enrollmentId,
398
- walletId: product.walletId,
399
- walletKeyId: product.walletKeyId,
400
- targetLaneId: product.laneId,
401
- targetLaneShareEpoch: product.laneShareEpoch,
402
- targetMaterialActivationId: product.targetMaterialActivationId,
403
- keyFamily: "ecdsa_secp256k1",
404
- holderParticipantBindingDigestB64u: product.holderParticipant.participantBindingDigestB64u,
405
- signingWorkerParticipantBindingDigestB64u: product.signingWorkerParticipant.participantBindingDigestB64u,
406
- holderRecipientKeyDigestB64u: product.holderParticipant.hpkePublicKeyDigestB64u,
407
- serverRecipientKeyDigestB64u: product.signingWorkerParticipant.hpkePublicKeyDigestB64u,
408
- transcriptHashB64u: parseDigestB64u(lifecycle.transcriptHashB64u),
409
- protocolCommitReceiptDigestB64u: parseDigestB64u(lifecycle.protocolCommitReceiptDigestB64u)
410
- };
411
- }
412
- function ed25519IdentityFromActiveProductV1(product, lifecycle) {
413
- if (product.keyFamily !== "ed25519") throw new Error("Ed25519 source product has the wrong key family");
414
- return {
415
- operationId: product.operationId,
416
- enrollmentId: product.enrollmentId,
417
- walletId: product.walletId,
418
- walletKeyId: product.walletKeyId,
419
- targetLaneId: product.laneId,
420
- targetLaneShareEpoch: product.laneShareEpoch,
421
- targetMaterialActivationId: product.targetMaterialActivationId,
422
- keyFamily: "ed25519",
423
- holderParticipantBindingDigestB64u: product.holderParticipant.participantBindingDigestB64u,
424
- signingWorkerParticipantBindingDigestB64u: product.signingWorkerParticipant.participantBindingDigestB64u,
425
- holderRecipientKeyDigestB64u: product.holderParticipant.hpkePublicKeyDigestB64u,
426
- serverRecipientKeyDigestB64u: product.signingWorkerParticipant.hpkePublicKeyDigestB64u,
427
- transcriptHashB64u: parseDigestB64u(lifecycle.transcriptHashB64u),
428
- protocolCommitReceiptDigestB64u: parseDigestB64u(lifecycle.protocolCommitReceiptDigestB64u)
429
- };
430
- }
431
- function retirementProductMatchesCommandV1(product, command) {
432
- if (product.state === "active") return product.revocationEpoch === command.expectedRevocationEpoch;
433
- return product.revocationEpoch === command.expectedRevocationEpoch + 1 && product.retirementEffectBindingDigestB64u === command.retirementEffectBindingDigestB64u;
434
- }
435
- async function identityFromProtocolReceiptV1(job, receipt) {
436
- if (receipt.operationId !== job.operationId || receipt.enrollmentId !== job.enrollmentId || receipt.walletId !== job.walletId || receipt.walletKeyId !== job.walletKeyId || receipt.targetLaneId !== job.target.laneId || receipt.targetLaneShareEpoch !== job.target.laneShareEpoch || receipt.targetMaterialActivationId !== job.targetMaterialActivationId || receipt.keyFamily !== "ecdsa_secp256k1") throw new Error("ECDSA protocol receipt does not match the admitted job");
437
- return {
438
- operationId: job.operationId,
439
- enrollmentId: job.enrollmentId,
440
- walletId: job.walletId,
441
- walletKeyId: job.walletKeyId,
442
- targetLaneId: job.target.laneId,
443
- targetLaneShareEpoch: job.target.laneShareEpoch,
444
- targetMaterialActivationId: job.targetMaterialActivationId,
445
- keyFamily: "ecdsa_secp256k1",
446
- holderParticipantBindingDigestB64u: job.targetHolder.participantBindingDigestB64u,
447
- signingWorkerParticipantBindingDigestB64u: job.targetSigningWorker.participantBindingDigestB64u,
448
- holderRecipientKeyDigestB64u: job.targetHolder.hpkePublicKeyDigestB64u,
449
- serverRecipientKeyDigestB64u: job.targetSigningWorker.hpkePublicKeyDigestB64u,
450
- transcriptHashB64u: parseDigestB64u(receipt.transcriptHashB64u),
451
- protocolCommitReceiptDigestB64u: await sha256DigestB64u(encodeLaneProtocolCommitReceiptV1(receipt))
452
- };
453
- }
454
- async function buildEd25519ActivationBindingV1(input) {
455
- const receipt = parseLaneProtocolCommitReceiptV1(input.protocolCommitReceipt);
456
- if (receipt.operationId !== input.job.operationId || receipt.enrollmentId !== input.job.enrollmentId || receipt.walletId !== input.job.walletId || receipt.walletKeyId !== input.job.walletKeyId || receipt.targetLaneId !== input.job.target.laneId || receipt.targetLaneShareEpoch !== input.job.target.laneShareEpoch || receipt.targetMaterialActivationId !== input.job.targetMaterialActivationId || receipt.keyFamily !== "ed25519") throw new Error("Ed25519 protocol receipt does not match the admitted job");
457
- const targetSigningWorker = parseMpcSigningWorkerRef(input.job.targetSigningWorker.participantId);
458
- if (!targetSigningWorker.ok) throw new Error(`Ed25519 target SigningWorker is invalid: ${targetSigningWorker.error.message}`);
459
- return {
460
- identity: {
461
- operationId: input.job.operationId,
462
- enrollmentId: input.job.enrollmentId,
463
- walletId: input.job.walletId,
464
- walletKeyId: input.job.walletKeyId,
465
- targetLaneId: input.job.target.laneId,
466
- targetLaneShareEpoch: input.job.target.laneShareEpoch,
467
- targetMaterialActivationId: input.job.targetMaterialActivationId,
468
- keyFamily: "ed25519",
469
- holderParticipantBindingDigestB64u: input.job.targetHolder.participantBindingDigestB64u,
470
- signingWorkerParticipantBindingDigestB64u: input.job.targetSigningWorker.participantBindingDigestB64u,
471
- holderRecipientKeyDigestB64u: input.job.targetHolder.hpkePublicKeyDigestB64u,
472
- serverRecipientKeyDigestB64u: input.job.targetSigningWorker.hpkePublicKeyDigestB64u,
473
- transcriptHashB64u: parseDigestB64u(receipt.transcriptHashB64u),
474
- protocolCommitReceiptDigestB64u: await sha256DigestB64u(encodeLaneProtocolCommitReceiptV1(receipt))
475
- },
476
- targetMaterialActivation: buildMpcMaterialActivationRef({
477
- activationId: input.job.targetMaterialActivationId,
478
- capability: input.job.source.materialActivation.capability,
479
- materialOwner: input.job.source.materialActivation.materialOwner,
480
- keyBinding: input.job.source.materialActivation.keyBinding,
481
- lifecycleBinding: input.job.source.materialActivation.lifecycleBinding,
482
- signingWorker: targetSigningWorker.value
483
- })
484
- };
485
- }
486
- async function digestSigningWorkerLaneIdentityV1(identity) {
487
- const encoder = new TextEncoder();
488
- const chunks = [encoder.encode("seams/signing-worker/lane-material-identity/v1")];
489
- for (const value of [
490
- identity.operationId,
491
- identity.enrollmentId,
492
- identity.walletId,
493
- identity.walletKeyId,
494
- identity.targetLaneId,
495
- identity.targetLaneShareEpoch,
496
- identity.targetMaterialActivationId,
497
- identity.keyFamily,
498
- identity.holderParticipantBindingDigestB64u,
499
- identity.signingWorkerParticipantBindingDigestB64u,
500
- identity.holderRecipientKeyDigestB64u,
501
- identity.serverRecipientKeyDigestB64u,
502
- identity.transcriptHashB64u,
503
- identity.protocolCommitReceiptDigestB64u
504
- ]) {
505
- const encoded = encoder.encode(value);
506
- chunks.push(u64Length(encoded.length), encoded);
507
- }
508
- let length = 0;
509
- for (const chunk of chunks) length += chunk.length;
510
- const bytes = new Uint8Array(length);
511
- let offset = 0;
512
- for (const chunk of chunks) {
513
- bytes.set(chunk, offset);
514
- offset += chunk.length;
515
- }
516
- return sha256DigestB64u(bytes);
517
- }
518
- function u64Length(value) {
519
- let remaining = BigInt(value);
520
- const bytes = new Uint8Array(8);
521
- for (let index = 7; index >= 0; index -= 1) {
522
- bytes[index] = Number(remaining & 255n);
523
- remaining >>= 8n;
524
- }
525
- return bytes;
526
- }
527
- function parseJsonRecord(value, label) {
528
- let parsed;
529
- try {
530
- parsed = JSON.parse(requiredText(value, label));
531
- } catch {
532
- throw new Error(`${label} must contain valid JSON`);
533
- }
534
- const record = exactObject(parsed, [
535
- "kind",
536
- "recipientPublicKeyB64u",
537
- "aadDigestB64u",
538
- "encappedKeyB64u",
539
- "ciphertextB64u"
540
- ], label);
541
- if (Reflect.get(record, "kind") !== "ecdsa_additive_lane_encrypted_payload_v1") throw new Error(`${label}.kind is invalid`);
542
- return {
543
- kind: "ecdsa_additive_lane_encrypted_payload_v1",
544
- recipientPublicKeyB64u: requiredTextValue(Reflect.get(record, "recipientPublicKeyB64u"), `${label}.recipientPublicKeyB64u`),
545
- aadDigestB64u: requiredTextValue(Reflect.get(record, "aadDigestB64u"), `${label}.aadDigestB64u`),
546
- encappedKeyB64u: requiredTextValue(Reflect.get(record, "encappedKeyB64u"), `${label}.encappedKeyB64u`),
547
- ciphertextB64u: requiredTextValue(Reflect.get(record, "ciphertextB64u"), `${label}.ciphertextB64u`)
548
- };
549
- }
550
- function requireObject(value, label) {
551
- if (typeof value !== "object" || value === null || Array.isArray(value)) throw new Error(`${label} must be an object`);
552
- return value;
553
- }
554
- function exactObject(value, fields, label) {
555
- const record = requireObject(value, label);
556
- const allowed = new Set(fields);
557
- for (const key of Object.keys(record)) if (!allowed.has(key)) throw new Error(`${label}.${key} is unsupported`);
558
- for (const field of fields) if (!Object.hasOwn(record, field)) throw new Error(`${label}.${field} is required`);
559
- return record;
560
- }
561
- function exactRecord(value, fields, label) {
562
- return exactObject(value, fields, label);
563
- }
564
- function parseMutationOutcome(value, label) {
565
- if (value === "applied" || value === "replayed") return value;
566
- throw new Error(`${label} is invalid`);
567
- }
568
- async function postSigningWorkerJsonV1(input) {
569
- const response = await input.binding.fetch(new Request(`https://signing-worker.router-ab.internal${input.path}`, {
570
- method: "POST",
571
- headers: {
572
- "content-type": "application/json",
573
- [ROUTER_AB_INTERNAL_SERVICE_AUTH_HEADER_V1]: input.internalServiceAuth
574
- },
575
- body: JSON.stringify(input.body)
576
- }));
577
- const body = await response.text();
578
- if (!response.ok) {
579
- const detail = boundedSigningWorkerErrorBodyV1(body);
580
- throw new Error(detail ? `SigningWorker lane endpoint returned HTTP ${response.status}: ${detail}` : `SigningWorker lane endpoint returned HTTP ${response.status}`);
581
- }
582
- try {
583
- return body.length === 0 ? null : JSON.parse(body);
584
- } catch {
585
- throw new Error("SigningWorker lane endpoint returned invalid JSON");
586
- }
587
- }
588
- const SIGNING_WORKER_ERROR_BODY_LIMIT_V1 = 512;
589
- function boundedSigningWorkerErrorBodyV1(body) {
590
- const normalized = body.trim().replace(/\s+/g, " ");
591
- if (normalized.length <= SIGNING_WORKER_ERROR_BODY_LIMIT_V1) return normalized;
592
- return `${normalized.slice(0, SIGNING_WORKER_ERROR_BODY_LIMIT_V1 - 1)}…`;
593
- }
594
- //#endregion
595
- export { CLOUDFLARE_SIGNING_WORKER_ECDSA_LANE_ACTIVATE_PATH_V1, CLOUDFLARE_SIGNING_WORKER_ECDSA_LANE_EXECUTE_PATH_V1, CLOUDFLARE_SIGNING_WORKER_ECDSA_LANE_RETIRE_PATH_V1, CLOUDFLARE_SIGNING_WORKER_ED25519_YAO_LANE_ACTIVATE_PATH_V1, CLOUDFLARE_SIGNING_WORKER_ED25519_YAO_LANE_RETIRE_PATH_V1, CloudflareSigningWorkerEcdsaLaneTransportV1, CloudflareSigningWorkerEcdsaRetirementTransportV1, LaneLifecycleStoreEcdsaLanePrivateBindingResolverV1, LaneLifecycleStoreEd25519LanePrivateBindingResolverV1, LaneLifecycleStoreNormalSigningLaneMaterialResolverV1, createCloudflareLaneCurveExecutionPortsV1, digestSigningWorkerLaneIdentityV1 };
596
-
597
- //# sourceMappingURL=cloudflareLaneCurveExecution.js.map