@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,790 +1,94 @@
1
- import { hasWhitespaceOrControlCharacters, parseEcdsaRelayerKeyId, parseEd25519YaoSuiteId, parseLaneEnrollmentId, parseLaneOperationId as parseLaneOperationId$1, parseLaneOperationIdempotencyKey, parseLaneShareEpoch, parseLinkedDeviceEnrollmentId, parseMpcMaterialActivationId, parseMpcMaterialActivationRef, parseSigningLaneId, parseThresholdEcdsaSessionId, parseWalletId, parseWalletKeyId } from "../utils/domainIds.js";
2
- import { parseAuthorizedOperationId } from "../authorization/capabilityKinds.js";
3
- import { parseCorrelationId, parseDigestB64u, parseIsoTimestamp } from "../utils/canonicalPrimitives.js";
4
- import { parseEd25519PublicKeyB64u, parseKeyCreationSignerSlot, parseSecp256k1CompressedPublicKeyB64u, rejectUnknownFields, requireRecord } from "../passkey-custody/primitives.js";
5
- import { parseNearEd25519SigningKeyId } from "../utils/registrationIntent.js";
6
- import { parseEvmFamilySigningKeySlotId } from "./evmFamilySigningKeySlotId.js";
7
- import { parseSdkEcdsaDerivationThresholdKeyId } from "../threshold/ecdsaDerivationRoleLocalBootstrap.js";
1
+ import { parseCorrelationId, parseIsoTimestamp } from "../utils/canonicalPrimitives.js";
2
+ import { wireLabeled, wireLiteral, wireNonEmptyArray, wireObject, wireUnion } from "../utils/wireSchema.js";
8
3
  import { parseEcdsaCapabilityManifestId, parseEcdsaCapabilityManifestRevision, parseEcdsaLifecycleId, parseEcdsaServerGeneration } from "../utils/ecdsaCapabilityActivation.js";
9
- import { parseHpkePublicKeyB64u, parseLaneCustodyBindingDigestB64u, parseLaneHolderCustodyBindingId, parseLaneHolderParticipantId, parseLaneHolderParticipantRecordV1, parseLaneParticipantBindingDigestB64u, parseSigningWorkerParticipantId, parseSigningWorkerParticipantRecordV1, parseSigningWorkerRecipientKeyDigestB64u, parseSigningWorkerRecipientKeyId } from "./participants.js";
10
- import { parseOwnerLaneParticipantContinuityV1 } from "./ownerContinuity.js";
4
+ import { parseLaneHolderParticipantRecordV1, parseSigningWorkerParticipantRecordV1 } from "./participants.js";
5
+ import { digest, digestString, laneEnrollmentId, laneOperationId, laneParticipantBindingDigest, laneShareEpoch, materialActivation, materialActivationId, parseAuthorization, parseLaneKind, requiredInteger, requiredString, signingLaneId, walletId, walletKeyId } from "./rotationWireFields.js";
11
6
  //#region ../shared-ts/src/signing-lanes/rotationParsers.ts
12
- const NON_EMPTY_FIELDS = {
13
- authorization: [
14
- "kind",
15
- "authorizedOperationId",
16
- "linkedDeviceEnrollmentId",
17
- "linkedDevicePermissionDigestB64u"
18
- ],
19
- refreshAuthorization: [
20
- "kind",
21
- "authorizedOperationId",
22
- "ownerLaneRefreshDigestB64u"
23
- ],
24
- ownerSource: [
25
- "laneId",
26
- "laneKind",
27
- "sourceKind",
28
- "laneShareEpoch",
29
- "revocationEpoch",
30
- "ownerParticipantContinuity",
31
- "participantBindingDigestB64u",
32
- "materialActivation"
33
- ],
34
- provisionedSource: [
35
- "laneId",
36
- "laneKind",
37
- "sourceKind",
38
- "laneShareEpoch",
39
- "revocationEpoch",
40
- "holderParticipantId",
41
- "signingWorkerParticipantId",
42
- "signingWorkerRecipientKeyId",
43
- "participantBindingDigestB64u",
44
- "materialActivation"
45
- ],
46
- holder: [
47
- "participantId",
48
- "participantBindingDigestB64u",
49
- "custodyBindingId",
50
- "custodyBindingDigestB64u",
51
- "hpkePublicKeyB64u",
52
- "hpkePublicKeyDigestB64u"
53
- ],
54
- worker: [
55
- "participantId",
56
- "participantBindingDigestB64u",
57
- "recipientKeyId",
58
- "hpkePublicKeyB64u",
59
- "hpkePublicKeyDigestB64u"
60
- ]
61
- };
62
- function requiredField(record, field, label) {
63
- if (!Object.prototype.hasOwnProperty.call(record, field) || record[field] === void 0) throw new Error(`${label}.${field} is required`);
64
- return record[field];
65
- }
66
- function exactRecord(raw, fields, label) {
67
- const record = requireRecord(raw, label);
68
- rejectUnknownFields(record, fields, label);
69
- for (const field of fields) requiredField(record, field, label);
70
- return record;
71
- }
72
- function requiredString(raw, label) {
73
- if (typeof raw !== "string") throw new Error(`${label} must be a string`);
74
- const value = raw.trim();
75
- if (!value) throw new Error(`${label} is required`);
76
- if (hasWhitespaceOrControlCharacters(value)) throw new Error(`${label} must not contain whitespace or control characters`);
77
- return value;
78
- }
79
- function requiredInteger(raw, label, allowZero = true) {
80
- if (!Number.isSafeInteger(raw) || Number(raw) < (allowZero ? 0 : 1)) throw new Error(`${label} must be a ${allowZero ? "non-negative" : "positive"} safe integer`);
81
- return Number(raw);
82
- }
83
- function resultValue(result, label) {
84
- if (result.ok) return result.value;
85
- throw new Error(`${label} ${result.error.message}`);
86
- }
87
- function digest(raw, label) {
88
- try {
89
- return parseDigestB64u(raw);
90
- } catch (error) {
91
- throw new Error(`${label} ${error instanceof Error ? error.message : "is invalid"}`);
92
- }
93
- }
94
- function parseIso(raw, label) {
95
- try {
96
- return parseIsoTimestamp(raw);
97
- } catch (error) {
98
- throw new Error(`${label} ${error instanceof Error ? error.message : "is invalid"}`);
99
- }
100
- }
101
- function parseMpcActivation(raw, label) {
102
- return resultValue(parseMpcMaterialActivationRef(raw), label);
103
- }
104
- function nonEmptyTuple(values, label) {
105
- if (values.length === 0) throw new Error(`${label} must be non-empty`);
106
- const [first, ...rest] = values;
107
- return [first, ...rest];
108
- }
109
- function parseLaneOperationId(raw, label) {
110
- return resultValue(parseLaneOperationId$1(raw), label);
111
- }
112
- function parseEnrollmentId(raw, label) {
113
- return resultValue(parseLaneEnrollmentId(raw), label);
114
- }
115
- function parseOperationIdempotencyKey(raw, label) {
116
- return resultValue(parseLaneOperationIdempotencyKey(raw), label);
117
- }
118
- function parseLinkedDeviceEnrollmentIdValue(raw, label) {
119
- return resultValue(parseLinkedDeviceEnrollmentId(raw), label);
120
- }
121
- function parseLaneId(raw, label) {
122
- return resultValue(parseSigningLaneId(raw), label);
123
- }
124
- function parseShareEpoch(raw, label) {
125
- return resultValue(parseLaneShareEpoch(raw), label);
126
- }
127
- function parseKeyId(raw, label) {
128
- return resultValue(parseWalletKeyId(raw), label);
129
- }
130
- function parseLaneKind(raw, label) {
131
- switch (raw) {
132
- case "owner_passkey":
133
- case "owner_email_otp":
134
- case "linked_device":
135
- case "delegated_execution":
136
- case "recovery":
137
- case "break_glass": return raw;
138
- default: throw new Error(`${label} must be a known signing lane kind`);
139
- }
140
- }
141
7
  function parseKeyFamily(raw, label) {
142
8
  if (raw === "ed25519" || raw === "ecdsa_secp256k1") return raw;
143
9
  throw new Error(`${label} must be ed25519 or ecdsa_secp256k1`);
144
10
  }
145
- function parseAuthorization(raw, label = "authorization") {
146
- const record = requireRecord(raw, label);
147
- switch (record.kind) {
148
- case "linked_device_enrollment": {
149
- const value = exactRecord(record, NON_EMPTY_FIELDS.authorization, label);
150
- return {
151
- kind: "linked_device_enrollment",
152
- authorizedOperationId: resultValue(parseAuthorizedOperationId(value.authorizedOperationId), `${label}.authorizedOperationId`),
153
- linkedDeviceEnrollmentId: parseLinkedDeviceEnrollmentIdValue(value.linkedDeviceEnrollmentId, `${label}.linkedDeviceEnrollmentId`),
154
- linkedDevicePermissionDigestB64u: digest(value.linkedDevicePermissionDigestB64u, `${label}.linkedDevicePermissionDigestB64u`)
155
- };
156
- }
157
- case "owner_lane_refresh": {
158
- const value = exactRecord(record, NON_EMPTY_FIELDS.refreshAuthorization, label);
159
- return {
160
- kind: "owner_lane_refresh",
161
- authorizedOperationId: resultValue(parseAuthorizedOperationId(value.authorizedOperationId), `${label}.authorizedOperationId`),
162
- ownerLaneRefreshDigestB64u: digest(value.ownerLaneRefreshDigestB64u, `${label}.ownerLaneRefreshDigestB64u`)
163
- };
164
- }
165
- default: throw new Error(`${label}.kind is invalid`);
166
- }
167
- }
168
- function parseSource(raw, label = "source") {
169
- const baseRecord = requireRecord(raw, label);
170
- const laneKind = parseLaneKind(baseRecord.laneKind, `${label}.laneKind`);
171
- if (laneKind === "owner_passkey" || laneKind === "owner_email_otp") {
172
- const record = exactRecord(baseRecord, NON_EMPTY_FIELDS.ownerSource, label);
173
- if (record.sourceKind !== "owner_registration") throw new Error(`${label}.sourceKind must be owner_registration`);
174
- return {
175
- sourceKind: "owner_registration",
176
- laneId: parseLaneId(record.laneId, `${label}.laneId`),
177
- laneKind,
178
- laneShareEpoch: parseShareEpoch(record.laneShareEpoch, `${label}.laneShareEpoch`),
179
- revocationEpoch: requiredInteger(record.revocationEpoch, `${label}.revocationEpoch`),
180
- ownerParticipantContinuity: parseOwnerLaneParticipantContinuityV1(record.ownerParticipantContinuity, `${label}.ownerParticipantContinuity`),
181
- participantBindingDigestB64u: resultValue(parseLaneParticipantBindingDigestB64u(record.participantBindingDigestB64u), `${label}.participantBindingDigestB64u`),
182
- materialActivation: parseMpcActivation(record.materialActivation, `${label}.materialActivation`)
183
- };
184
- }
185
- const record = exactRecord(baseRecord, NON_EMPTY_FIELDS.provisionedSource, label);
186
- if (record.sourceKind !== "provisioned_lane") throw new Error(`${label}.sourceKind must be provisioned_lane`);
187
- return {
188
- sourceKind: "provisioned_lane",
189
- laneId: parseLaneId(record.laneId, `${label}.laneId`),
190
- laneKind,
191
- laneShareEpoch: parseShareEpoch(record.laneShareEpoch, `${label}.laneShareEpoch`),
192
- revocationEpoch: requiredInteger(record.revocationEpoch, `${label}.revocationEpoch`),
193
- holderParticipantId: resultValue(parseLaneHolderParticipantId(record.holderParticipantId), `${label}.holderParticipantId`),
194
- signingWorkerParticipantId: resultValue(parseSigningWorkerParticipantId(record.signingWorkerParticipantId), `${label}.signingWorkerParticipantId`),
195
- signingWorkerRecipientKeyId: resultValue(parseSigningWorkerRecipientKeyId(record.signingWorkerRecipientKeyId), `${label}.signingWorkerRecipientKeyId`),
196
- participantBindingDigestB64u: resultValue(parseLaneParticipantBindingDigestB64u(record.participantBindingDigestB64u), `${label}.participantBindingDigestB64u`),
197
- materialActivation: parseMpcActivation(record.materialActivation, `${label}.materialActivation`)
198
- };
199
- }
200
- function parseTargetHolder(raw, label = "targetHolder") {
201
- const record = exactRecord(raw, NON_EMPTY_FIELDS.holder, label);
202
- return {
203
- participantId: resultValue(parseLaneHolderParticipantId(record.participantId), `${label}.participantId`),
204
- participantBindingDigestB64u: resultValue(parseLaneParticipantBindingDigestB64u(record.participantBindingDigestB64u), `${label}.participantBindingDigestB64u`),
205
- custodyBindingId: resultValue(parseLaneHolderCustodyBindingId(record.custodyBindingId), `${label}.custodyBindingId`),
206
- custodyBindingDigestB64u: resultValue(parseLaneCustodyBindingDigestB64u(record.custodyBindingDigestB64u), `${label}.custodyBindingDigestB64u`),
207
- hpkePublicKeyB64u: resultValue(parseHpkePublicKeyB64u(record.hpkePublicKeyB64u), `${label}.hpkePublicKeyB64u`),
208
- hpkePublicKeyDigestB64u: resultValue(parseSigningWorkerRecipientKeyDigestB64u(record.hpkePublicKeyDigestB64u), `${label}.hpkePublicKeyDigestB64u`)
209
- };
210
- }
211
- function parseTargetSigningWorker(raw, label = "targetSigningWorker") {
212
- const record = exactRecord(raw, NON_EMPTY_FIELDS.worker, label);
213
- return {
214
- participantId: resultValue(parseSigningWorkerParticipantId(record.participantId), `${label}.participantId`),
215
- participantBindingDigestB64u: resultValue(parseLaneParticipantBindingDigestB64u(record.participantBindingDigestB64u), `${label}.participantBindingDigestB64u`),
216
- recipientKeyId: resultValue(parseSigningWorkerRecipientKeyId(record.recipientKeyId), `${label}.recipientKeyId`),
217
- hpkePublicKeyB64u: resultValue(parseHpkePublicKeyB64u(record.hpkePublicKeyB64u), `${label}.hpkePublicKeyB64u`),
218
- hpkePublicKeyDigestB64u: resultValue(parseSigningWorkerRecipientKeyDigestB64u(record.hpkePublicKeyDigestB64u), `${label}.hpkePublicKeyDigestB64u`)
219
- };
220
- }
221
- function buildLaneCreationTargetV1(args) {
222
- return {
223
- operation: "create_lane",
224
- laneId: args.laneId,
225
- laneKind: "linked_device",
226
- laneShareEpoch: args.laneShareEpoch,
227
- expectedTargetState: "absent"
228
- };
229
- }
230
- function buildLaneRefreshTargetV1(args) {
231
- return {
232
- operation: "refresh_lane",
233
- laneId: args.laneId,
234
- laneKind: args.laneKind,
235
- laneShareEpoch: args.laneShareEpoch,
236
- expectedTargetState: "active_previous_epoch",
237
- priorMaterialActivation: args.priorMaterialActivation
238
- };
239
- }
240
- function parseTarget(raw, source, label = "target") {
241
- const record = requireRecord(raw, label);
242
- if (record.operation === "create_lane") {
243
- const value = exactRecord(record, [
244
- "operation",
245
- "laneId",
246
- "laneKind",
247
- "laneShareEpoch",
248
- "expectedTargetState"
249
- ], label);
250
- if (value.laneKind !== "linked_device" || value.expectedTargetState !== "absent") throw new Error(`${label} create branch has invalid target state`);
251
- const target = buildLaneCreationTargetV1({
252
- laneId: parseLaneId(value.laneId, `${label}.laneId`),
253
- laneShareEpoch: parseShareEpoch(value.laneShareEpoch, `${label}.laneShareEpoch`)
254
- });
255
- if (source.laneKind === "linked_device" || source.laneKind === "delegated_execution") throw new Error(`${label} creation requires an owner-controlled source lane`);
256
- if (String(target.laneId) === String(source.laneId)) throw new Error(`${label}.laneId must differ from source.laneId for creation`);
257
- return target;
258
- }
259
- if (record.operation === "refresh_lane") {
260
- const value = exactRecord(record, [
261
- "operation",
262
- "laneId",
263
- "laneKind",
264
- "laneShareEpoch",
265
- "expectedTargetState",
266
- "priorMaterialActivation"
267
- ], label);
268
- if (value.expectedTargetState !== "active_previous_epoch") throw new Error(`${label} refresh branch has invalid target state`);
269
- const laneId = parseLaneId(value.laneId, `${label}.laneId`);
270
- if (String(laneId) !== String(source.laneId)) throw new Error(`${label}.laneId must match source.laneId for refresh`);
271
- const laneShareEpoch = parseShareEpoch(value.laneShareEpoch, `${label}.laneShareEpoch`);
272
- if (String(laneShareEpoch) === String(source.laneShareEpoch)) throw new Error(`${label}.laneShareEpoch must advance source.laneShareEpoch`);
273
- const laneKind = parseLaneKind(value.laneKind, `${label}.laneKind`);
274
- if (laneKind !== source.laneKind) throw new Error(`${label}.laneKind must match source.laneKind for refresh`);
275
- if (laneKind !== "delegated_execution") return buildLaneRefreshTargetV1({
276
- laneId,
277
- laneKind,
278
- laneShareEpoch,
279
- priorMaterialActivation: parseMpcActivation(value.priorMaterialActivation, `${label}.priorMaterialActivation`)
280
- });
281
- }
282
- throw new Error(`${label}.operation is invalid`);
283
- }
284
- function parseOperation(raw, source, label = "operation") {
285
- const record = exactRecord(raw, ["target", "authorization"], label);
286
- const target = parseTarget(record.target, source, `${label}.target`);
287
- const authorization = parseAuthorization(record.authorization, `${label}.authorization`);
288
- if (target.operation === "create_lane") {
289
- if (authorization.kind !== "linked_device_enrollment") throw new Error(`${label}.authorization must be linked-device enrollment for creation`);
290
- return {
291
- target,
292
- authorization
293
- };
294
- }
295
- if (authorization.kind !== "owner_lane_refresh") throw new Error(`${label}.authorization must be owner refresh for refresh`);
296
- return {
297
- target,
298
- authorization
299
- };
300
- }
301
- function isParsedCreationOperation(value) {
302
- return value.target.operation === "create_lane";
303
- }
304
- function parseCommonJob(record, label) {
305
- const value = exactRecord({
306
- operationId: record.operationId,
307
- enrollmentId: record.enrollmentId,
308
- idempotencyKey: record.idempotencyKey,
309
- walletId: record.walletId,
310
- walletKeyId: record.walletKeyId,
311
- source: record.source,
312
- targetHolder: record.targetHolder,
313
- targetSigningWorker: record.targetSigningWorker,
314
- targetMaterialActivationId: record.targetMaterialActivationId,
315
- protocolVersion: record.protocolVersion,
316
- expiresAtMs: record.expiresAtMs
317
- }, [
318
- "operationId",
319
- "enrollmentId",
320
- "idempotencyKey",
321
- "walletId",
322
- "walletKeyId",
323
- "source",
324
- "targetHolder",
325
- "targetSigningWorker",
326
- "targetMaterialActivationId",
327
- "protocolVersion",
328
- "expiresAtMs"
329
- ], label);
330
- const source = parseSource(value.source, `${label}.source`);
331
- const targetHolder = parseTargetHolder(value.targetHolder, `${label}.targetHolder`);
332
- const targetSigningWorker = parseTargetSigningWorker(value.targetSigningWorker, `${label}.targetSigningWorker`);
333
- const targetMaterialActivationId = resultValue(parseMpcMaterialActivationId(value.targetMaterialActivationId), `${label}.targetMaterialActivationId`);
334
- if (String(targetMaterialActivationId) === String(source.materialActivation.activationId)) throw new Error(`${label}.targetMaterialActivationId must be fresh`);
335
- if (value.protocolVersion !== "rotatable_signing_lane_protocol_v1") throw new Error(`${label}.protocolVersion is invalid`);
336
- return {
337
- operationId: parseLaneOperationId(value.operationId, `${label}.operationId`),
338
- enrollmentId: parseEnrollmentId(value.enrollmentId, `${label}.enrollmentId`),
339
- idempotencyKey: parseOperationIdempotencyKey(value.idempotencyKey, `${label}.idempotencyKey`),
340
- walletId: resultValue(parseWalletId(value.walletId), `${label}.walletId`),
341
- walletKeyId: parseKeyId(value.walletKeyId, `${label}.walletKeyId`),
342
- source,
343
- targetHolder,
344
- targetSigningWorker,
345
- targetMaterialActivationId,
346
- protocolVersion: "rotatable_signing_lane_protocol_v1",
347
- expiresAtMs: requiredInteger(value.expiresAtMs, `${label}.expiresAtMs`)
348
- };
349
- }
350
- function parseEcdsaSourceCapability(raw, label) {
351
- const record = exactRecord(raw, [
352
- "manifestId",
353
- "manifestRevision",
354
- "serverGeneration",
355
- "ecdsaThresholdKeyId",
356
- "relayerKeyId"
357
- ], label);
358
- return {
359
- manifestId: parseEcdsaCapabilityManifestId(record.manifestId),
360
- manifestRevision: parseEcdsaCapabilityManifestRevision(record.manifestRevision),
361
- serverGeneration: parseEcdsaServerGeneration(record.serverGeneration),
362
- ecdsaThresholdKeyId: parseSdkEcdsaDerivationThresholdKeyId(record.ecdsaThresholdKeyId),
363
- relayerKeyId: resultValue(parseEcdsaRelayerKeyId(record.relayerKeyId), `${label}.relayerKeyId`)
364
- };
365
- }
366
- function parseChainTarget(raw, label) {
367
- const record = requireRecord(raw, label);
368
- if (record.kind === "evm") {
369
- const value = exactRecord(record, [
370
- "kind",
371
- "namespace",
372
- "chainId",
373
- "networkSlug"
374
- ], label);
375
- if (value.namespace !== "eip155") throw new Error(`${label}.namespace is invalid`);
376
- return {
377
- kind: "evm",
378
- namespace: "eip155",
379
- chainId: requiredInteger(value.chainId, `${label}.chainId`),
380
- networkSlug: requiredString(value.networkSlug, `${label}.networkSlug`)
381
- };
382
- }
383
- if (record.kind === "tempo") {
384
- const value = exactRecord(record, [
385
- "kind",
386
- "chainId",
387
- "networkSlug"
388
- ], label);
389
- return {
390
- kind: "tempo",
391
- chainId: requiredInteger(value.chainId, `${label}.chainId`),
392
- networkSlug: requiredString(value.networkSlug, `${label}.networkSlug`)
393
- };
394
- }
395
- throw new Error(`${label}.kind is invalid`);
396
- }
397
- function parseEcdsaTargetCapabilityBindingV1(raw, label) {
398
- const record = exactRecord(raw, [
399
- "manifestId",
400
- "manifestRevision",
401
- "ecdsaThresholdKeyId",
402
- "orderedThresholdSessions"
403
- ], label);
404
- const sessionsRaw = requiredArray(record.orderedThresholdSessions, `${label}.orderedThresholdSessions`);
405
- if (sessionsRaw.length === 0) throw new Error(`${label}.orderedThresholdSessions must be non-empty`);
406
- const orderedThresholdSessions = sessionsRaw.map((item, index) => {
407
- const session = exactRecord(item, [
408
- "chainTarget",
409
- "thresholdSessionId",
410
- "participantBindingDigestB64u"
411
- ], `${label}.orderedThresholdSessions[${index}]`);
412
- return {
413
- chainTarget: parseChainTarget(session.chainTarget, `${label}.orderedThresholdSessions[${index}].chainTarget`),
414
- thresholdSessionId: resultValue(parseThresholdEcdsaSessionId(session.thresholdSessionId), `${label}.orderedThresholdSessions[${index}].thresholdSessionId`),
415
- participantBindingDigestB64u: digest(session.participantBindingDigestB64u, `${label}.orderedThresholdSessions[${index}].participantBindingDigestB64u`)
416
- };
11
+ const isoTimestamp = /* @__PURE__ */ wireLabeled(parseIsoTimestamp);
12
+ function laneProtocolCommitReceiptV1() {
13
+ return wireObject({
14
+ kind: wireLiteral("lane_protocol_commit_receipt_v1"),
15
+ operationId: laneOperationId,
16
+ enrollmentId: laneEnrollmentId,
17
+ walletId,
18
+ walletKeyId,
19
+ sourceLaneId: signingLaneId,
20
+ sourceLaneShareEpoch: laneShareEpoch,
21
+ sourceRevocationEpoch: requiredInteger,
22
+ sourceMaterialActivation: materialActivation,
23
+ targetLaneId: signingLaneId,
24
+ targetLaneShareEpoch: laneShareEpoch,
25
+ targetMaterialActivationId: materialActivationId,
26
+ keyFamily: parseKeyFamily,
27
+ publicIdentityDigestB64u: digestString,
28
+ targetHolderPublicCommitmentB64u: requiredString,
29
+ targetServerPublicCommitmentB64u: requiredString,
30
+ targetHolderCiphertextDigestSetB64u: digestString,
31
+ targetServerCiphertextDigestSetB64u: digestString,
32
+ holderRecipientKeyDigestB64u: digestString,
33
+ serverRecipientKeyDigestB64u: digestString,
34
+ transcriptHashB64u: digestString,
35
+ committedAtMs: requiredInteger
417
36
  });
418
- return {
419
- manifestId: parseEcdsaCapabilityManifestId(record.manifestId),
420
- manifestRevision: parseEcdsaCapabilityManifestRevision(record.manifestRevision),
421
- ecdsaThresholdKeyId: parseSdkEcdsaDerivationThresholdKeyId(record.ecdsaThresholdKeyId),
422
- orderedThresholdSessions: nonEmptyTuple(orderedThresholdSessions, `${label}.orderedThresholdSessions`)
423
- };
424
- }
425
- function buildEdCreationJob(common, operation, curve) {
426
- return {
427
- operationId: common.operationId,
428
- enrollmentId: common.enrollmentId,
429
- idempotencyKey: common.idempotencyKey,
430
- walletId: common.walletId,
431
- walletKeyId: common.walletKeyId,
432
- source: common.source,
433
- targetHolder: common.targetHolder,
434
- targetSigningWorker: common.targetSigningWorker,
435
- targetMaterialActivationId: common.targetMaterialActivationId,
436
- protocolVersion: common.protocolVersion,
437
- expiresAtMs: common.expiresAtMs,
438
- target: operation.target,
439
- authorization: operation.authorization,
440
- yaoRequestKind: "lane_provisioning",
441
- kind: curve.kind,
442
- keyFamily: curve.keyFamily,
443
- registeredPublicKeyB64u: curve.registeredPublicKeyB64u,
444
- nearEd25519SigningKeyId: curve.nearEd25519SigningKeyId,
445
- keyCreationSignerSlot: curve.keyCreationSignerSlot,
446
- stableContextBindingB64u: curve.stableContextBindingB64u,
447
- yaoSuiteId: curve.yaoSuiteId,
448
- circuitDigestB64u: curve.circuitDigestB64u
449
- };
450
- }
451
- function buildEdRefreshJob(common, operation, curve) {
452
- return {
453
- operationId: common.operationId,
454
- enrollmentId: common.enrollmentId,
455
- idempotencyKey: common.idempotencyKey,
456
- walletId: common.walletId,
457
- walletKeyId: common.walletKeyId,
458
- source: common.source,
459
- targetHolder: common.targetHolder,
460
- targetSigningWorker: common.targetSigningWorker,
461
- targetMaterialActivationId: common.targetMaterialActivationId,
462
- protocolVersion: common.protocolVersion,
463
- expiresAtMs: common.expiresAtMs,
464
- target: operation.target,
465
- authorization: operation.authorization,
466
- yaoRequestKind: "lane_refresh",
467
- kind: curve.kind,
468
- keyFamily: curve.keyFamily,
469
- registeredPublicKeyB64u: curve.registeredPublicKeyB64u,
470
- nearEd25519SigningKeyId: curve.nearEd25519SigningKeyId,
471
- keyCreationSignerSlot: curve.keyCreationSignerSlot,
472
- stableContextBindingB64u: curve.stableContextBindingB64u,
473
- yaoSuiteId: curve.yaoSuiteId,
474
- circuitDigestB64u: curve.circuitDigestB64u
475
- };
476
- }
477
- function buildEcdsaCreationJob(common, operation, curve) {
478
- return {
479
- operationId: common.operationId,
480
- enrollmentId: common.enrollmentId,
481
- idempotencyKey: common.idempotencyKey,
482
- walletId: common.walletId,
483
- walletKeyId: common.walletKeyId,
484
- source: common.source,
485
- targetHolder: common.targetHolder,
486
- targetSigningWorker: common.targetSigningWorker,
487
- targetMaterialActivationId: common.targetMaterialActivationId,
488
- protocolVersion: common.protocolVersion,
489
- expiresAtMs: common.expiresAtMs,
490
- target: operation.target,
491
- authorization: operation.authorization,
492
- kind: curve.kind,
493
- keyFamily: curve.keyFamily,
494
- evmFamilySigningKeySlotId: curve.evmFamilySigningKeySlotId,
495
- thresholdPublicKey33B64u: curve.thresholdPublicKey33B64u,
496
- evmAddress: curve.evmAddress,
497
- sourceCapability: curve.sourceCapability,
498
- targetCapability: curve.targetCapability,
499
- sourceHolderVerifyingShare33B64u: curve.sourceHolderVerifyingShare33B64u,
500
- sourceServerVerifyingShare33B64u: curve.sourceServerVerifyingShare33B64u,
501
- reshareChannelBindingDigestB64u: curve.reshareChannelBindingDigestB64u,
502
- transcriptEncoding: curve.transcriptEncoding
503
- };
504
- }
505
- function buildEcdsaRefreshJob(common, operation, curve) {
506
- return {
507
- operationId: common.operationId,
508
- enrollmentId: common.enrollmentId,
509
- idempotencyKey: common.idempotencyKey,
510
- walletId: common.walletId,
511
- walletKeyId: common.walletKeyId,
512
- source: common.source,
513
- targetHolder: common.targetHolder,
514
- targetSigningWorker: common.targetSigningWorker,
515
- targetMaterialActivationId: common.targetMaterialActivationId,
516
- protocolVersion: common.protocolVersion,
517
- expiresAtMs: common.expiresAtMs,
518
- target: operation.target,
519
- authorization: operation.authorization,
520
- kind: curve.kind,
521
- keyFamily: curve.keyFamily,
522
- evmFamilySigningKeySlotId: curve.evmFamilySigningKeySlotId,
523
- thresholdPublicKey33B64u: curve.thresholdPublicKey33B64u,
524
- evmAddress: curve.evmAddress,
525
- sourceCapability: curve.sourceCapability,
526
- targetCapability: curve.targetCapability,
527
- sourceHolderVerifyingShare33B64u: curve.sourceHolderVerifyingShare33B64u,
528
- sourceServerVerifyingShare33B64u: curve.sourceServerVerifyingShare33B64u,
529
- reshareChannelBindingDigestB64u: curve.reshareChannelBindingDigestB64u,
530
- transcriptEncoding: curve.transcriptEncoding
531
- };
532
- }
533
- function parseEcdsaJob(record, label) {
534
- const value = exactRecord(record, [
535
- "kind",
536
- "keyFamily",
537
- "operationId",
538
- "enrollmentId",
539
- "idempotencyKey",
540
- "walletId",
541
- "walletKeyId",
542
- "source",
543
- "targetHolder",
544
- "targetSigningWorker",
545
- "targetMaterialActivationId",
546
- "protocolVersion",
547
- "expiresAtMs",
548
- "target",
549
- "authorization",
550
- "evmFamilySigningKeySlotId",
551
- "thresholdPublicKey33B64u",
552
- "evmAddress",
553
- "sourceCapability",
554
- "targetCapability",
555
- "sourceHolderVerifyingShare33B64u",
556
- "sourceServerVerifyingShare33B64u",
557
- "reshareChannelBindingDigestB64u",
558
- "transcriptEncoding"
559
- ], label);
560
- if (value.kind !== "ecdsa_additive_lane_job_v1" || value.keyFamily !== "ecdsa_secp256k1") throw new Error(`${label} kind/keyFamily is invalid`);
561
- if (value.transcriptEncoding !== "ecdsa_additive_lane_transcript_v1") throw new Error(`${label}.transcriptEncoding is invalid`);
562
- const common = parseCommonJob(value, label);
563
- const operationFromValue = parseOperation({
564
- target: value.target,
565
- authorization: value.authorization
566
- }, common.source, `${label}.operation`);
567
- const curve = {
568
- kind: "ecdsa_additive_lane_job_v1",
569
- keyFamily: "ecdsa_secp256k1",
570
- evmFamilySigningKeySlotId: (() => {
571
- const parsed = parseEvmFamilySigningKeySlotId(value.evmFamilySigningKeySlotId);
572
- if (parsed.ok) return parsed.value;
573
- throw new Error(`${label}.evmFamilySigningKeySlotId is invalid`);
574
- })(),
575
- thresholdPublicKey33B64u: parseSecp256k1CompressedPublicKeyB64u(value.thresholdPublicKey33B64u),
576
- evmAddress: requiredString(value.evmAddress, `${label}.evmAddress`),
577
- sourceCapability: parseEcdsaSourceCapability(value.sourceCapability, `${label}.sourceCapability`),
578
- targetCapability: parseEcdsaTargetCapabilityBindingV1(value.targetCapability, `${label}.targetCapability`),
579
- sourceHolderVerifyingShare33B64u: parseSecp256k1CompressedPublicKeyB64u(value.sourceHolderVerifyingShare33B64u, `${label}.sourceHolderVerifyingShare33B64u`),
580
- sourceServerVerifyingShare33B64u: parseSecp256k1CompressedPublicKeyB64u(value.sourceServerVerifyingShare33B64u, `${label}.sourceServerVerifyingShare33B64u`),
581
- reshareChannelBindingDigestB64u: digest(value.reshareChannelBindingDigestB64u, `${label}.reshareChannelBindingDigestB64u`),
582
- transcriptEncoding: "ecdsa_additive_lane_transcript_v1"
583
- };
584
- if (isParsedCreationOperation(operationFromValue)) return buildEcdsaCreationJob(common, operationFromValue, curve);
585
- return buildEcdsaRefreshJob(common, operationFromValue, curve);
586
- }
587
- function parseEdJob(record, label) {
588
- const value = exactRecord(record, [
589
- "kind",
590
- "keyFamily",
591
- "operationId",
592
- "enrollmentId",
593
- "idempotencyKey",
594
- "walletId",
595
- "walletKeyId",
596
- "source",
597
- "targetHolder",
598
- "targetSigningWorker",
599
- "targetMaterialActivationId",
600
- "protocolVersion",
601
- "expiresAtMs",
602
- "target",
603
- "authorization",
604
- "yaoRequestKind",
605
- "registeredPublicKeyB64u",
606
- "nearEd25519SigningKeyId",
607
- "keyCreationSignerSlot",
608
- "stableContextBindingB64u",
609
- "yaoSuiteId",
610
- "circuitDigestB64u"
611
- ], label);
612
- if (value.kind !== "ed25519_yao_lane_job_v1" || value.keyFamily !== "ed25519") throw new Error(`${label} kind/keyFamily is invalid`);
613
- const common = parseCommonJob(value, label);
614
- const operation = parseOperation({
615
- target: value.target,
616
- authorization: value.authorization
617
- }, common.source, `${label}.operation`);
618
- const yaoRequestKind = requiredString(value.yaoRequestKind, `${label}.yaoRequestKind`);
619
- const curve = {
620
- kind: "ed25519_yao_lane_job_v1",
621
- keyFamily: "ed25519",
622
- registeredPublicKeyB64u: parseEd25519PublicKeyB64u(value.registeredPublicKeyB64u),
623
- nearEd25519SigningKeyId: parseNearEd25519SigningKeyId(value.nearEd25519SigningKeyId),
624
- keyCreationSignerSlot: parseKeyCreationSignerSlot(value.keyCreationSignerSlot),
625
- stableContextBindingB64u: digest(value.stableContextBindingB64u, `${label}.stableContextBindingB64u`),
626
- yaoSuiteId: resultValue(parseEd25519YaoSuiteId(value.yaoSuiteId), `${label}.yaoSuiteId`),
627
- circuitDigestB64u: digest(value.circuitDigestB64u, `${label}.circuitDigestB64u`)
628
- };
629
- if (isParsedCreationOperation(operation)) {
630
- if (yaoRequestKind !== "lane_provisioning") throw new Error(`${label}.yaoRequestKind must be lane_provisioning for creation`);
631
- return buildEdCreationJob(common, operation, curve);
632
- }
633
- if (yaoRequestKind !== "lane_refresh") throw new Error(`${label}.yaoRequestKind must be lane_refresh for refresh`);
634
- return buildEdRefreshJob(common, operation, curve);
635
- }
636
- function parseRotatableSigningLaneJobV1(raw, label = "laneProtocolJob") {
637
- const record = requireRecord(raw, label);
638
- if (record.kind === "ed25519_yao_lane_job_v1") return parseEdJob(record, label);
639
- if (record.kind === "ecdsa_additive_lane_job_v1") return parseEcdsaJob(record, label);
640
- throw new Error(`${label}.kind is invalid`);
641
- }
642
- const parseLaneProtocolJobV1 = parseRotatableSigningLaneJobV1;
643
- function parseReceiptCommon(raw, fields, label) {
644
- return exactRecord(raw, fields, label);
645
37
  }
646
38
  function parseLaneProtocolCommitReceiptV1(raw, label = "protocolCommitReceipt") {
647
- const record = parseReceiptCommon(raw, [
648
- "kind",
649
- "operationId",
650
- "enrollmentId",
651
- "walletId",
652
- "walletKeyId",
653
- "sourceLaneId",
654
- "sourceLaneShareEpoch",
655
- "sourceRevocationEpoch",
656
- "sourceMaterialActivation",
657
- "targetLaneId",
658
- "targetLaneShareEpoch",
659
- "targetMaterialActivationId",
660
- "keyFamily",
661
- "publicIdentityDigestB64u",
662
- "targetHolderPublicCommitmentB64u",
663
- "targetServerPublicCommitmentB64u",
664
- "targetHolderCiphertextDigestSetB64u",
665
- "targetServerCiphertextDigestSetB64u",
666
- "holderRecipientKeyDigestB64u",
667
- "serverRecipientKeyDigestB64u",
668
- "transcriptHashB64u",
669
- "committedAtMs"
670
- ], label);
671
- if (record.kind !== "lane_protocol_commit_receipt_v1") throw new Error(`${label}.kind is invalid`);
672
- return {
673
- kind: "lane_protocol_commit_receipt_v1",
674
- operationId: parseLaneOperationId(record.operationId, `${label}.operationId`),
675
- enrollmentId: parseEnrollmentId(record.enrollmentId, `${label}.enrollmentId`),
676
- walletId: resultValue(parseWalletId(record.walletId), `${label}.walletId`),
677
- walletKeyId: parseKeyId(record.walletKeyId, `${label}.walletKeyId`),
678
- sourceLaneId: parseLaneId(record.sourceLaneId, `${label}.sourceLaneId`),
679
- sourceLaneShareEpoch: parseShareEpoch(record.sourceLaneShareEpoch, `${label}.sourceLaneShareEpoch`),
680
- sourceRevocationEpoch: requiredInteger(record.sourceRevocationEpoch, `${label}.sourceRevocationEpoch`),
681
- sourceMaterialActivation: parseMpcActivation(record.sourceMaterialActivation, `${label}.sourceMaterialActivation`),
682
- targetLaneId: parseLaneId(record.targetLaneId, `${label}.targetLaneId`),
683
- targetLaneShareEpoch: parseShareEpoch(record.targetLaneShareEpoch, `${label}.targetLaneShareEpoch`),
684
- targetMaterialActivationId: resultValue(parseMpcMaterialActivationId(record.targetMaterialActivationId), `${label}.targetMaterialActivationId`),
685
- keyFamily: parseKeyFamily(record.keyFamily, `${label}.keyFamily`),
686
- publicIdentityDigestB64u: digest(record.publicIdentityDigestB64u, `${label}.publicIdentityDigestB64u`),
687
- targetHolderPublicCommitmentB64u: requiredString(record.targetHolderPublicCommitmentB64u, `${label}.targetHolderPublicCommitmentB64u`),
688
- targetServerPublicCommitmentB64u: requiredString(record.targetServerPublicCommitmentB64u, `${label}.targetServerPublicCommitmentB64u`),
689
- targetHolderCiphertextDigestSetB64u: digest(record.targetHolderCiphertextDigestSetB64u, `${label}.targetHolderCiphertextDigestSetB64u`),
690
- targetServerCiphertextDigestSetB64u: digest(record.targetServerCiphertextDigestSetB64u, `${label}.targetServerCiphertextDigestSetB64u`),
691
- holderRecipientKeyDigestB64u: digest(record.holderRecipientKeyDigestB64u, `${label}.holderRecipientKeyDigestB64u`),
692
- serverRecipientKeyDigestB64u: digest(record.serverRecipientKeyDigestB64u, `${label}.serverRecipientKeyDigestB64u`),
693
- transcriptHashB64u: digest(record.transcriptHashB64u, `${label}.transcriptHashB64u`),
694
- committedAtMs: requiredInteger(record.committedAtMs, `${label}.committedAtMs`)
695
- };
39
+ return laneProtocolCommitReceiptV1()(raw, label);
40
+ }
41
+ function laneHolderDeliveryReceiptV1() {
42
+ return wireObject({
43
+ kind: wireLiteral("lane_holder_delivery_receipt_v1"),
44
+ operationId: laneOperationId,
45
+ enrollmentId: laneEnrollmentId,
46
+ targetLaneId: signingLaneId,
47
+ targetLaneShareEpoch: laneShareEpoch,
48
+ targetMaterialActivationId: materialActivationId,
49
+ holderParticipantBindingDigestB64u: digestString,
50
+ holderRecipientKeyDigestB64u: digestString,
51
+ holderCiphertextDigestSetB64u: digestString,
52
+ sealedHolderRecordDigestB64u: digestString,
53
+ transcriptHashB64u: digestString,
54
+ acknowledgedAtMs: requiredInteger
55
+ });
696
56
  }
697
57
  function parseLaneHolderDeliveryReceiptV1(raw, label = "holderDeliveryReceipt") {
698
- const record = parseReceiptCommon(raw, [
699
- "kind",
700
- "operationId",
701
- "enrollmentId",
702
- "targetLaneId",
703
- "targetLaneShareEpoch",
704
- "targetMaterialActivationId",
705
- "holderParticipantBindingDigestB64u",
706
- "holderRecipientKeyDigestB64u",
707
- "holderCiphertextDigestSetB64u",
708
- "sealedHolderRecordDigestB64u",
709
- "transcriptHashB64u",
710
- "acknowledgedAtMs"
711
- ], label);
712
- if (record.kind !== "lane_holder_delivery_receipt_v1") throw new Error(`${label}.kind is invalid`);
713
- return {
714
- kind: "lane_holder_delivery_receipt_v1",
715
- operationId: parseLaneOperationId(record.operationId, `${label}.operationId`),
716
- enrollmentId: parseEnrollmentId(record.enrollmentId, `${label}.enrollmentId`),
717
- targetLaneId: parseLaneId(record.targetLaneId, `${label}.targetLaneId`),
718
- targetLaneShareEpoch: parseShareEpoch(record.targetLaneShareEpoch, `${label}.targetLaneShareEpoch`),
719
- targetMaterialActivationId: resultValue(parseMpcMaterialActivationId(record.targetMaterialActivationId), `${label}.targetMaterialActivationId`),
720
- holderParticipantBindingDigestB64u: digest(record.holderParticipantBindingDigestB64u, `${label}.holderParticipantBindingDigestB64u`),
721
- holderRecipientKeyDigestB64u: digest(record.holderRecipientKeyDigestB64u, `${label}.holderRecipientKeyDigestB64u`),
722
- holderCiphertextDigestSetB64u: digest(record.holderCiphertextDigestSetB64u, `${label}.holderCiphertextDigestSetB64u`),
723
- sealedHolderRecordDigestB64u: digest(record.sealedHolderRecordDigestB64u, `${label}.sealedHolderRecordDigestB64u`),
724
- transcriptHashB64u: digest(record.transcriptHashB64u, `${label}.transcriptHashB64u`),
725
- acknowledgedAtMs: requiredInteger(record.acknowledgedAtMs, `${label}.acknowledgedAtMs`)
726
- };
58
+ return laneHolderDeliveryReceiptV1()(raw, label);
59
+ }
60
+ function laneServerActivationReceiptV1() {
61
+ return wireObject({
62
+ kind: wireLiteral("lane_server_activation_receipt_v1"),
63
+ operationId: laneOperationId,
64
+ enrollmentId: laneEnrollmentId,
65
+ targetLaneId: signingLaneId,
66
+ targetLaneShareEpoch: laneShareEpoch,
67
+ targetMaterialActivation: materialActivation,
68
+ signingWorkerParticipantBindingDigestB64u: digestString,
69
+ serverCiphertextDigestSetB64u: digestString,
70
+ transcriptHashB64u: digestString,
71
+ activatedAtMs: requiredInteger
72
+ });
727
73
  }
728
74
  function parseLaneServerActivationReceiptV1(raw, label = "serverActivationReceipt") {
729
- const record = parseReceiptCommon(raw, [
730
- "kind",
731
- "operationId",
732
- "enrollmentId",
733
- "targetLaneId",
734
- "targetLaneShareEpoch",
735
- "targetMaterialActivation",
736
- "signingWorkerParticipantBindingDigestB64u",
737
- "serverCiphertextDigestSetB64u",
738
- "transcriptHashB64u",
739
- "activatedAtMs"
740
- ], label);
741
- if (record.kind !== "lane_server_activation_receipt_v1") throw new Error(`${label}.kind is invalid`);
742
- return {
743
- kind: "lane_server_activation_receipt_v1",
744
- operationId: parseLaneOperationId(record.operationId, `${label}.operationId`),
745
- enrollmentId: parseEnrollmentId(record.enrollmentId, `${label}.enrollmentId`),
746
- targetLaneId: parseLaneId(record.targetLaneId, `${label}.targetLaneId`),
747
- targetLaneShareEpoch: parseShareEpoch(record.targetLaneShareEpoch, `${label}.targetLaneShareEpoch`),
748
- targetMaterialActivation: parseMpcActivation(record.targetMaterialActivation, `${label}.targetMaterialActivation`),
749
- signingWorkerParticipantBindingDigestB64u: digest(record.signingWorkerParticipantBindingDigestB64u, `${label}.signingWorkerParticipantBindingDigestB64u`),
750
- serverCiphertextDigestSetB64u: digest(record.serverCiphertextDigestSetB64u, `${label}.serverCiphertextDigestSetB64u`),
751
- transcriptHashB64u: digest(record.transcriptHashB64u, `${label}.transcriptHashB64u`),
752
- activatedAtMs: requiredInteger(record.activatedAtMs, `${label}.activatedAtMs`)
753
- };
754
- }
755
- function requiredArray(raw, label) {
756
- if (!Array.isArray(raw)) throw new Error(`${label} must be an array`);
757
- return raw;
758
- }
759
- function parseManifestChild(raw, label) {
760
- const record = exactRecord(raw, [
761
- "operationId",
762
- "walletKeyId",
763
- "keyFamily",
764
- "sourceLaneId",
765
- "sourceLaneShareEpoch",
766
- "sourceRevocationEpoch",
767
- "sourceMaterialActivation",
768
- "targetLaneId",
769
- "targetLaneShareEpoch",
770
- "targetMaterialActivationId",
771
- "holderParticipantBindingDigestB64u",
772
- "signingWorkerParticipantBindingDigestB64u"
773
- ], label);
774
- return {
775
- operationId: parseLaneOperationId(record.operationId, `${label}.operationId`),
776
- walletKeyId: parseKeyId(record.walletKeyId, `${label}.walletKeyId`),
777
- keyFamily: parseKeyFamily(record.keyFamily, `${label}.keyFamily`),
778
- sourceLaneId: parseLaneId(record.sourceLaneId, `${label}.sourceLaneId`),
779
- sourceLaneShareEpoch: parseShareEpoch(record.sourceLaneShareEpoch, `${label}.sourceLaneShareEpoch`),
780
- sourceRevocationEpoch: requiredInteger(record.sourceRevocationEpoch, `${label}.sourceRevocationEpoch`),
781
- sourceMaterialActivation: parseMpcActivation(record.sourceMaterialActivation, `${label}.sourceMaterialActivation`),
782
- targetLaneId: parseLaneId(record.targetLaneId, `${label}.targetLaneId`),
783
- targetLaneShareEpoch: parseShareEpoch(record.targetLaneShareEpoch, `${label}.targetLaneShareEpoch`),
784
- targetMaterialActivationId: resultValue(parseMpcMaterialActivationId(record.targetMaterialActivationId), `${label}.targetMaterialActivationId`),
785
- holderParticipantBindingDigestB64u: digest(record.holderParticipantBindingDigestB64u, `${label}.holderParticipantBindingDigestB64u`),
786
- signingWorkerParticipantBindingDigestB64u: digest(record.signingWorkerParticipantBindingDigestB64u, `${label}.signingWorkerParticipantBindingDigestB64u`)
787
- };
75
+ return laneServerActivationReceiptV1()(raw, label);
76
+ }
77
+ function laneEnrollmentManifestChildV1() {
78
+ return wireObject({
79
+ operationId: laneOperationId,
80
+ walletKeyId,
81
+ keyFamily: parseKeyFamily,
82
+ sourceLaneId: signingLaneId,
83
+ sourceLaneShareEpoch: laneShareEpoch,
84
+ sourceRevocationEpoch: requiredInteger,
85
+ sourceMaterialActivation: materialActivation,
86
+ targetLaneId: signingLaneId,
87
+ targetLaneShareEpoch: laneShareEpoch,
88
+ targetMaterialActivationId: materialActivationId,
89
+ holderParticipantBindingDigestB64u: digestString,
90
+ signingWorkerParticipantBindingDigestB64u: digestString
91
+ });
788
92
  }
789
93
  function assertUniqueChildren(children, label) {
790
94
  for (const field of [
@@ -806,662 +110,315 @@ function assertUniqueAggregateActivationChildren(children, label) {
806
110
  ];
807
111
  for (const entries of values) if (new Set(entries).size !== entries.length) throw new Error(`${label} contains duplicate child identity`);
808
112
  }
113
+ function laneEnrollmentManifestV1() {
114
+ return wireObject({
115
+ kind: wireLiteral("lane_enrollment_manifest_v1"),
116
+ enrollmentId: laneEnrollmentId,
117
+ walletId,
118
+ authorization: parseAuthorization,
119
+ orderedChildren: wireNonEmptyArray(laneEnrollmentManifestChildV1(), assertUniqueChildren),
120
+ createdAtMs: requiredInteger,
121
+ expiresAtMs: requiredInteger
122
+ }, (manifest, label) => {
123
+ if (manifest.expiresAtMs <= manifest.createdAtMs) throw new Error(`${label}.expiresAtMs must be after createdAtMs`);
124
+ });
125
+ }
809
126
  function parseLaneEnrollmentManifestV1(raw, label = "laneEnrollmentManifest") {
810
- const record = exactRecord(raw, [
811
- "kind",
812
- "enrollmentId",
813
- "walletId",
814
- "authorization",
815
- "orderedChildren",
816
- "createdAtMs",
817
- "expiresAtMs"
818
- ], label);
819
- if (record.kind !== "lane_enrollment_manifest_v1") throw new Error(`${label}.kind is invalid`);
820
- const childrenRaw = requiredArray(record.orderedChildren, `${label}.orderedChildren`);
821
- if (childrenRaw.length === 0) throw new Error(`${label}.orderedChildren must be non-empty`);
822
- const orderedChildren = nonEmptyTuple(childrenRaw.map((child, index) => parseManifestChild(child, `${label}.orderedChildren[${index}]`)), `${label}.orderedChildren`);
823
- assertUniqueChildren(orderedChildren, `${label}.orderedChildren`);
824
- const createdAtMs = requiredInteger(record.createdAtMs, `${label}.createdAtMs`);
825
- const expiresAtMs = requiredInteger(record.expiresAtMs, `${label}.expiresAtMs`);
826
- if (expiresAtMs <= createdAtMs) throw new Error(`${label}.expiresAtMs must be after createdAtMs`);
827
- return {
828
- kind: "lane_enrollment_manifest_v1",
829
- enrollmentId: parseEnrollmentId(record.enrollmentId, `${label}.enrollmentId`),
830
- walletId: resultValue(parseWalletId(record.walletId), `${label}.walletId`),
831
- authorization: parseAuthorization(record.authorization, `${label}.authorization`),
832
- orderedChildren,
833
- createdAtMs,
834
- expiresAtMs
835
- };
127
+ return laneEnrollmentManifestV1()(raw, label);
128
+ }
129
+ function aggregateLaneActivationChildReceiptV1() {
130
+ return wireObject({
131
+ operationId: laneOperationId,
132
+ walletKeyId,
133
+ targetLaneId: signingLaneId,
134
+ targetLaneShareEpoch: laneShareEpoch,
135
+ targetMaterialActivation: materialActivation,
136
+ protocolCommitReceiptDigestB64u: digestString,
137
+ holderDeliveryReceiptDigestB64u: digestString,
138
+ serverActivationReceiptDigestB64u: digestString
139
+ });
836
140
  }
837
- function parseAggregateActivationChild(raw, label) {
838
- const record = exactRecord(raw, [
839
- "operationId",
840
- "walletKeyId",
841
- "targetLaneId",
842
- "targetLaneShareEpoch",
843
- "targetMaterialActivation",
844
- "protocolCommitReceiptDigestB64u",
845
- "holderDeliveryReceiptDigestB64u",
846
- "serverActivationReceiptDigestB64u"
847
- ], label);
848
- return {
849
- operationId: parseLaneOperationId(record.operationId, `${label}.operationId`),
850
- walletKeyId: parseKeyId(record.walletKeyId, `${label}.walletKeyId`),
851
- targetLaneId: parseLaneId(record.targetLaneId, `${label}.targetLaneId`),
852
- targetLaneShareEpoch: parseShareEpoch(record.targetLaneShareEpoch, `${label}.targetLaneShareEpoch`),
853
- targetMaterialActivation: parseMpcActivation(record.targetMaterialActivation, `${label}.targetMaterialActivation`),
854
- protocolCommitReceiptDigestB64u: digest(record.protocolCommitReceiptDigestB64u, `${label}.protocolCommitReceiptDigestB64u`),
855
- holderDeliveryReceiptDigestB64u: digest(record.holderDeliveryReceiptDigestB64u, `${label}.holderDeliveryReceiptDigestB64u`),
856
- serverActivationReceiptDigestB64u: digest(record.serverActivationReceiptDigestB64u, `${label}.serverActivationReceiptDigestB64u`)
857
- };
141
+ function aggregateLaneActivationReceiptV1() {
142
+ return wireObject({
143
+ kind: wireLiteral("aggregate_lane_activation_receipt_v1"),
144
+ enrollmentId: laneEnrollmentId,
145
+ walletId,
146
+ manifestDigestB64u: digestString,
147
+ orderedChildReceipts: wireNonEmptyArray(aggregateLaneActivationChildReceiptV1(), assertUniqueAggregateActivationChildren),
148
+ activatedAtMs: requiredInteger
149
+ });
858
150
  }
859
151
  function parseAggregateLaneActivationReceiptV1(raw, label = "aggregateActivationReceipt") {
860
- const record = exactRecord(raw, [
861
- "kind",
862
- "enrollmentId",
863
- "walletId",
864
- "manifestDigestB64u",
865
- "orderedChildReceipts",
866
- "activatedAtMs"
867
- ], label);
868
- if (record.kind !== "aggregate_lane_activation_receipt_v1") throw new Error(`${label}.kind is invalid`);
869
- const childrenRaw = requiredArray(record.orderedChildReceipts, `${label}.orderedChildReceipts`);
870
- if (childrenRaw.length === 0) throw new Error(`${label}.orderedChildReceipts must be non-empty`);
871
- const orderedChildReceipts = nonEmptyTuple(childrenRaw.map((child, index) => parseAggregateActivationChild(child, `${label}.orderedChildReceipts[${index}]`)), `${label}.orderedChildReceipts`);
872
- assertUniqueAggregateActivationChildren(orderedChildReceipts, `${label}.orderedChildReceipts`);
873
- return {
874
- kind: "aggregate_lane_activation_receipt_v1",
875
- enrollmentId: parseEnrollmentId(record.enrollmentId, `${label}.enrollmentId`),
876
- walletId: resultValue(parseWalletId(record.walletId), `${label}.walletId`),
877
- manifestDigestB64u: digest(record.manifestDigestB64u, `${label}.manifestDigestB64u`),
878
- orderedChildReceipts,
879
- activatedAtMs: requiredInteger(record.activatedAtMs, `${label}.activatedAtMs`)
880
- };
152
+ return aggregateLaneActivationReceiptV1()(raw, label);
153
+ }
154
+ function laneRefreshPredecessorRetirementV1() {
155
+ return wireObject({
156
+ refreshOperationId: laneOperationId,
157
+ sourceLaneId: signingLaneId,
158
+ sourceLaneShareEpoch: laneShareEpoch,
159
+ sourceMaterialActivation: materialActivation,
160
+ retirementEffectBindingDigestB64u: digest,
161
+ retirementReceipt: parseLaneServerRetirementReceiptV1
162
+ });
881
163
  }
882
164
  function parseLaneRefreshPredecessorRetirementV1(raw, label = "laneRefreshPredecessorRetirement") {
883
- const record = exactRecord(raw, [
884
- "refreshOperationId",
885
- "sourceLaneId",
886
- "sourceLaneShareEpoch",
887
- "sourceMaterialActivation",
888
- "retirementEffectBindingDigestB64u",
889
- "retirementReceipt"
890
- ], label);
891
- return {
892
- refreshOperationId: parseLaneOperationId(record.refreshOperationId, `${label}.refreshOperationId`),
893
- sourceLaneId: parseLaneId(record.sourceLaneId, `${label}.sourceLaneId`),
894
- sourceLaneShareEpoch: parseShareEpoch(record.sourceLaneShareEpoch, `${label}.sourceLaneShareEpoch`),
895
- sourceMaterialActivation: parseMpcActivation(record.sourceMaterialActivation, `${label}.sourceMaterialActivation`),
896
- retirementEffectBindingDigestB64u: digest(record.retirementEffectBindingDigestB64u, `${label}.retirementEffectBindingDigestB64u`),
897
- retirementReceipt: parseLaneServerRetirementReceiptV1(record.retirementReceipt, `${label}.retirementReceipt`)
898
- };
165
+ return laneRefreshPredecessorRetirementV1()(raw, label);
166
+ }
167
+ function aggregateLaneRevocationChildReceiptV1() {
168
+ return wireObject({
169
+ operationId: laneOperationId,
170
+ walletKeyId,
171
+ targetLaneId: signingLaneId,
172
+ targetLaneShareEpoch: laneShareEpoch,
173
+ targetMaterialActivation: materialActivation,
174
+ revocationEpoch: requiredInteger,
175
+ retirementReceiptDigestB64u: digestString
176
+ });
899
177
  }
900
- function parseAggregateRevocationChild(raw, label) {
901
- const record = exactRecord(raw, [
902
- "operationId",
903
- "walletKeyId",
904
- "targetLaneId",
905
- "targetLaneShareEpoch",
906
- "targetMaterialActivation",
907
- "revocationEpoch",
908
- "retirementReceiptDigestB64u"
909
- ], label);
910
- return {
911
- operationId: parseLaneOperationId(record.operationId, `${label}.operationId`),
912
- walletKeyId: parseKeyId(record.walletKeyId, `${label}.walletKeyId`),
913
- targetLaneId: parseLaneId(record.targetLaneId, `${label}.targetLaneId`),
914
- targetLaneShareEpoch: parseShareEpoch(record.targetLaneShareEpoch, `${label}.targetLaneShareEpoch`),
915
- targetMaterialActivation: parseMpcActivation(record.targetMaterialActivation, `${label}.targetMaterialActivation`),
916
- revocationEpoch: requiredInteger(record.revocationEpoch, `${label}.revocationEpoch`),
917
- retirementReceiptDigestB64u: digest(record.retirementReceiptDigestB64u, `${label}.retirementReceiptDigestB64u`)
918
- };
178
+ function aggregateLaneRevocationReceiptV1() {
179
+ return wireObject({
180
+ kind: wireLiteral("aggregate_lane_revocation_receipt_v1"),
181
+ enrollmentId: laneEnrollmentId,
182
+ walletId,
183
+ manifestDigestB64u: digestString,
184
+ orderedChildReceipts: wireNonEmptyArray(aggregateLaneRevocationChildReceiptV1()),
185
+ revokedAtMs: requiredInteger
186
+ });
919
187
  }
920
188
  function parseAggregateLaneRevocationReceiptV1(raw, label = "aggregateRevocationReceipt") {
921
- const record = exactRecord(raw, [
922
- "kind",
923
- "enrollmentId",
924
- "walletId",
925
- "manifestDigestB64u",
926
- "orderedChildReceipts",
927
- "revokedAtMs"
928
- ], label);
929
- if (record.kind !== "aggregate_lane_revocation_receipt_v1") throw new Error(`${label}.kind is invalid`);
930
- const childrenRaw = requiredArray(record.orderedChildReceipts, `${label}.orderedChildReceipts`);
931
- if (childrenRaw.length === 0) throw new Error(`${label}.orderedChildReceipts must be non-empty`);
932
- const orderedChildReceipts = nonEmptyTuple(childrenRaw.map((child, index) => parseAggregateRevocationChild(child, `${label}.orderedChildReceipts[${index}]`)), `${label}.orderedChildReceipts`);
933
- return {
934
- kind: "aggregate_lane_revocation_receipt_v1",
935
- enrollmentId: parseEnrollmentId(record.enrollmentId, `${label}.enrollmentId`),
936
- walletId: resultValue(parseWalletId(record.walletId), `${label}.walletId`),
937
- manifestDigestB64u: digest(record.manifestDigestB64u, `${label}.manifestDigestB64u`),
938
- orderedChildReceipts,
939
- revokedAtMs: requiredInteger(record.revokedAtMs, `${label}.revokedAtMs`)
940
- };
189
+ return aggregateLaneRevocationReceiptV1()(raw, label);
190
+ }
191
+ function revokeLaneEnrollmentV1() {
192
+ return wireObject({
193
+ kind: wireLiteral("revoke_lane_enrollment_v1"),
194
+ enrollmentId: laneEnrollmentId,
195
+ walletId,
196
+ manifestDigestB64u: digestString,
197
+ reason: wireLiteral("cancelled_after_commit", "expired_after_commit", "revoked_during_activation", "user_revoked", "device_compromise", "agent_compromise"),
198
+ requestedAtMs: requiredInteger
199
+ });
941
200
  }
942
201
  function parseRevokeLaneEnrollmentV1(raw, label = "revokeLaneEnrollment") {
943
- const record = exactRecord(raw, [
944
- "kind",
945
- "enrollmentId",
946
- "walletId",
947
- "manifestDigestB64u",
948
- "reason",
949
- "requestedAtMs"
950
- ], label);
951
- if (record.kind !== "revoke_lane_enrollment_v1") throw new Error(`${label}.kind is invalid`);
952
- const reason = record.reason;
953
- if (reason !== "cancelled_after_commit" && reason !== "expired_after_commit" && reason !== "revoked_during_activation" && reason !== "user_revoked" && reason !== "device_compromise" && reason !== "agent_compromise") throw new Error(`${label}.reason is invalid`);
954
- return {
955
- kind: "revoke_lane_enrollment_v1",
956
- enrollmentId: parseEnrollmentId(record.enrollmentId, `${label}.enrollmentId`),
957
- walletId: resultValue(parseWalletId(record.walletId), `${label}.walletId`),
958
- manifestDigestB64u: digest(record.manifestDigestB64u, `${label}.manifestDigestB64u`),
959
- reason,
960
- requestedAtMs: requiredInteger(record.requestedAtMs, `${label}.requestedAtMs`)
961
- };
202
+ return revokeLaneEnrollmentV1()(raw, label);
203
+ }
204
+ function revokeSigningLaneV1() {
205
+ return wireObject({
206
+ kind: wireLiteral("revoke_signing_lane_v1"),
207
+ walletId,
208
+ walletKeyId,
209
+ laneId: signingLaneId,
210
+ laneShareEpoch,
211
+ expectedRevocationEpoch: requiredInteger,
212
+ reason: wireLiteral("user_revoked", "policy_revoked", "device_compromise", "agent_compromise", "rotation"),
213
+ retirementCorrelationId: parseCorrelationId,
214
+ retirementRequestDigestB64u: digestString,
215
+ retirementEffectBindingDigestB64u: digestString,
216
+ requestedAtMs: requiredInteger
217
+ });
962
218
  }
963
219
  function parseRevokeSigningLaneV1(raw, label = "revokeSigningLane") {
964
- const record = exactRecord(raw, [
965
- "kind",
966
- "walletId",
967
- "walletKeyId",
968
- "laneId",
969
- "laneShareEpoch",
970
- "expectedRevocationEpoch",
971
- "reason",
972
- "retirementCorrelationId",
973
- "retirementRequestDigestB64u",
974
- "retirementEffectBindingDigestB64u",
975
- "requestedAtMs"
976
- ], label);
977
- if (record.kind !== "revoke_signing_lane_v1") throw new Error(`${label}.kind is invalid`);
978
- const reason = record.reason;
979
- if (reason !== "user_revoked" && reason !== "policy_revoked" && reason !== "device_compromise" && reason !== "agent_compromise" && reason !== "rotation") throw new Error(`${label}.reason is invalid`);
980
- return {
981
- kind: "revoke_signing_lane_v1",
982
- walletId: resultValue(parseWalletId(record.walletId), `${label}.walletId`),
983
- walletKeyId: parseKeyId(record.walletKeyId, `${label}.walletKeyId`),
984
- laneId: parseLaneId(record.laneId, `${label}.laneId`),
985
- laneShareEpoch: parseShareEpoch(record.laneShareEpoch, `${label}.laneShareEpoch`),
986
- expectedRevocationEpoch: requiredInteger(record.expectedRevocationEpoch, `${label}.expectedRevocationEpoch`),
987
- reason,
988
- retirementCorrelationId: parseCorrelationId(record.retirementCorrelationId),
989
- retirementRequestDigestB64u: digest(record.retirementRequestDigestB64u, `${label}.retirementRequestDigestB64u`),
990
- retirementEffectBindingDigestB64u: digest(record.retirementEffectBindingDigestB64u, `${label}.retirementEffectBindingDigestB64u`),
991
- requestedAtMs: requiredInteger(record.requestedAtMs, `${label}.requestedAtMs`)
992
- };
220
+ return revokeSigningLaneV1()(raw, label);
221
+ }
222
+ function completeSigningLaneRevocationV1() {
223
+ return wireObject({
224
+ kind: wireLiteral("complete_signing_lane_revocation_v1"),
225
+ command: parseRevokeSigningLaneV1,
226
+ expectedVersion: requiredInteger,
227
+ commandDigestB64u: digestString,
228
+ retirementReceipt: parseLaneServerRetirementReceiptV1,
229
+ revokedAtMs: requiredInteger
230
+ });
993
231
  }
994
232
  function parseCompleteSigningLaneRevocationV1(raw, label = "completeSigningLaneRevocation") {
995
- const record = exactRecord(raw, [
996
- "kind",
997
- "command",
998
- "expectedVersion",
999
- "commandDigestB64u",
1000
- "retirementReceipt",
1001
- "revokedAtMs"
1002
- ], label);
1003
- if (record.kind !== "complete_signing_lane_revocation_v1") throw new Error(`${label}.kind is invalid`);
1004
- return {
1005
- kind: "complete_signing_lane_revocation_v1",
1006
- command: parseRevokeSigningLaneV1(record.command, `${label}.command`),
1007
- expectedVersion: requiredInteger(record.expectedVersion, `${label}.expectedVersion`),
1008
- commandDigestB64u: digest(record.commandDigestB64u, `${label}.commandDigestB64u`),
1009
- retirementReceipt: parseLaneServerRetirementReceiptV1(record.retirementReceipt, `${label}.retirementReceipt`),
1010
- revokedAtMs: requiredInteger(record.revokedAtMs, `${label}.revokedAtMs`)
1011
- };
233
+ return completeSigningLaneRevocationV1()(raw, label);
1012
234
  }
1013
- function parseCommitLaneEnrollmentRevocationV1(raw, label = "commitLaneEnrollmentRevocation") {
1014
- const record = exactRecord(raw, [
1015
- "kind",
1016
- "enrollmentId",
1017
- "walletId",
1018
- "manifestDigestB64u",
1019
- "receipt",
1020
- "revokedAtMs"
1021
- ], label);
1022
- if (record.kind !== "commit_lane_enrollment_revocation_v1") throw new Error(`${label}.kind is invalid`);
1023
- const receipt = parseAggregateLaneRevocationReceiptV1(record.receipt, `${label}.receipt`);
1024
- const enrollmentId = parseEnrollmentId(record.enrollmentId, `${label}.enrollmentId`);
1025
- const walletId = resultValue(parseWalletId(record.walletId), `${label}.walletId`);
1026
- if (String(receipt.enrollmentId) !== String(enrollmentId) || String(receipt.walletId) !== String(walletId)) throw new Error(`${label}.receipt identity does not match command`);
1027
- return {
1028
- kind: "commit_lane_enrollment_revocation_v1",
1029
- enrollmentId,
235
+ function commitLaneEnrollmentRevocationV1() {
236
+ return wireObject({
237
+ kind: wireLiteral("commit_lane_enrollment_revocation_v1"),
238
+ enrollmentId: laneEnrollmentId,
1030
239
  walletId,
1031
- manifestDigestB64u: digest(record.manifestDigestB64u, `${label}.manifestDigestB64u`),
1032
- receipt,
1033
- revokedAtMs: requiredInteger(record.revokedAtMs, `${label}.revokedAtMs`)
1034
- };
1035
- }
1036
- function parseProductEpochCommon(record, label) {
1037
- return {
1038
- kind: "lane_product_epoch_record_v1",
1039
- walletId: resultValue(parseWalletId(record.walletId), `${label}.walletId`),
1040
- walletKeyId: parseKeyId(record.walletKeyId, `${label}.walletKeyId`),
1041
- laneId: parseLaneId(record.laneId, `${label}.laneId`),
1042
- laneKind: parseLaneKind(record.laneKind, `${label}.laneKind`),
1043
- laneShareEpoch: parseShareEpoch(record.laneShareEpoch, `${label}.laneShareEpoch`),
1044
- keyFamily: parseKeyFamily(record.keyFamily, `${label}.keyFamily`),
1045
- enrollmentId: parseEnrollmentId(record.enrollmentId, `${label}.enrollmentId`),
1046
- operationId: parseLaneOperationId(record.operationId, `${label}.operationId`),
1047
- targetMaterialActivationId: resultValue(parseMpcMaterialActivationId(record.targetMaterialActivationId), `${label}.targetMaterialActivationId`),
1048
- materialActivation: parseMpcActivation(record.materialActivation, `${label}.materialActivation`),
1049
- publicIdentityDigestB64u: digest(record.publicIdentityDigestB64u, `${label}.publicIdentityDigestB64u`),
1050
- holderParticipant: parseLaneHolderParticipantRecordV1(record.holderParticipant, `${label}.holderParticipant`),
1051
- signingWorkerParticipant: parseSigningWorkerParticipantRecordV1(record.signingWorkerParticipant, `${label}.signingWorkerParticipant`),
1052
- participantSetBindingDigestB64u: resultValue(parseLaneParticipantBindingDigestB64u(record.participantSetBindingDigestB64u), `${label}.participantSetBindingDigestB64u`),
1053
- revocationEpoch: requiredInteger(record.revocationEpoch, `${label}.revocationEpoch`),
1054
- createdAtMs: requiredInteger(record.createdAtMs, `${label}.createdAtMs`)
1055
- };
240
+ manifestDigestB64u: digestString,
241
+ receipt: parseAggregateLaneRevocationReceiptV1,
242
+ revokedAtMs: requiredInteger
243
+ }, (command, label) => {
244
+ if (String(command.receipt.enrollmentId) !== String(command.enrollmentId) || String(command.receipt.walletId) !== String(command.walletId)) throw new Error(`${label}.receipt identity does not match command`);
245
+ });
1056
246
  }
1057
- function parseProductRevocationReason(raw, label) {
1058
- if (raw !== "user_revoked" && raw !== "policy_revoked" && raw !== "device_compromise" && raw !== "agent_compromise" && raw !== "rotation") throw new Error(`${label}.revocationReason is invalid`);
1059
- return raw;
247
+ function laneProductEpochRecordV1() {
248
+ const common = {
249
+ kind: wireLiteral("lane_product_epoch_record_v1"),
250
+ walletId,
251
+ walletKeyId,
252
+ laneId: signingLaneId,
253
+ laneKind: parseLaneKind,
254
+ laneShareEpoch,
255
+ keyFamily: parseKeyFamily,
256
+ enrollmentId: laneEnrollmentId,
257
+ operationId: laneOperationId,
258
+ targetMaterialActivationId: materialActivationId,
259
+ materialActivation,
260
+ publicIdentityDigestB64u: digestString,
261
+ holderParticipant: parseLaneHolderParticipantRecordV1,
262
+ signingWorkerParticipant: parseSigningWorkerParticipantRecordV1,
263
+ participantSetBindingDigestB64u: laneParticipantBindingDigest,
264
+ revocationEpoch: requiredInteger,
265
+ createdAtMs: requiredInteger
266
+ };
267
+ const revocationReason = wireLiteral("user_revoked", "policy_revoked", "device_compromise", "agent_compromise", "rotation");
268
+ return wireUnion("state", [
269
+ wireObject({
270
+ ...common,
271
+ state: wireLiteral("pending_visibility"),
272
+ aggregateManifestDigestB64u: digestString,
273
+ protocolCommitReceiptDigestB64u: digestString,
274
+ holderDeliveryReceiptDigestB64u: digestString,
275
+ serverActivationReceiptDigestB64u: digestString,
276
+ pendingSinceMs: requiredInteger
277
+ }),
278
+ wireObject({
279
+ ...common,
280
+ state: wireLiteral("active"),
281
+ aggregateManifestDigestB64u: digestString,
282
+ aggregateActivationReceiptDigestB64u: digestString,
283
+ activatedAtMs: requiredInteger
284
+ }),
285
+ wireObject({
286
+ ...common,
287
+ state: wireLiteral("retired"),
288
+ retirementReason: wireLiteral("rotation", "device_compromise", "agent_compromise"),
289
+ retirementReceiptDigestB64u: digestString,
290
+ retiredAtMs: requiredInteger
291
+ }),
292
+ wireObject({
293
+ ...common,
294
+ state: wireLiteral("revocation_pending"),
295
+ revocationReason,
296
+ retirementEffectBindingDigestB64u: digestString,
297
+ revocationRequestedAtMs: requiredInteger
298
+ }),
299
+ wireObject({
300
+ ...common,
301
+ state: wireLiteral("revoked"),
302
+ revocationReason,
303
+ retirementEffectBindingDigestB64u: digestString,
304
+ revocationReceiptDigestB64u: digestString,
305
+ revokedAtMs: requiredInteger
306
+ })
307
+ ]);
1060
308
  }
1061
309
  function parseLaneProductEpochRecordV1(raw, label = "laneProductEpochRecord") {
1062
- const record = requireRecord(raw, label);
1063
- switch (record.state) {
1064
- case "pending_visibility": {
1065
- const value = exactRecord(record, [
1066
- "kind",
1067
- "walletId",
1068
- "walletKeyId",
1069
- "laneId",
1070
- "laneKind",
1071
- "laneShareEpoch",
1072
- "keyFamily",
1073
- "enrollmentId",
1074
- "operationId",
1075
- "targetMaterialActivationId",
1076
- "materialActivation",
1077
- "publicIdentityDigestB64u",
1078
- "holderParticipant",
1079
- "signingWorkerParticipant",
1080
- "participantSetBindingDigestB64u",
1081
- "revocationEpoch",
1082
- "createdAtMs",
1083
- "state",
1084
- "aggregateManifestDigestB64u",
1085
- "protocolCommitReceiptDigestB64u",
1086
- "holderDeliveryReceiptDigestB64u",
1087
- "serverActivationReceiptDigestB64u",
1088
- "pendingSinceMs"
1089
- ], label);
1090
- if (value.kind !== "lane_product_epoch_record_v1") throw new Error(`${label}.kind is invalid`);
1091
- return {
1092
- ...parseProductEpochCommon(value, label),
1093
- state: "pending_visibility",
1094
- aggregateManifestDigestB64u: digest(value.aggregateManifestDigestB64u, `${label}.aggregateManifestDigestB64u`),
1095
- protocolCommitReceiptDigestB64u: digest(value.protocolCommitReceiptDigestB64u, `${label}.protocolCommitReceiptDigestB64u`),
1096
- holderDeliveryReceiptDigestB64u: digest(value.holderDeliveryReceiptDigestB64u, `${label}.holderDeliveryReceiptDigestB64u`),
1097
- serverActivationReceiptDigestB64u: digest(value.serverActivationReceiptDigestB64u, `${label}.serverActivationReceiptDigestB64u`),
1098
- pendingSinceMs: requiredInteger(value.pendingSinceMs, `${label}.pendingSinceMs`)
1099
- };
1100
- }
1101
- case "active": {
1102
- const value = exactRecord(record, [
1103
- "kind",
1104
- "walletId",
1105
- "walletKeyId",
1106
- "laneId",
1107
- "laneKind",
1108
- "laneShareEpoch",
1109
- "keyFamily",
1110
- "enrollmentId",
1111
- "operationId",
1112
- "targetMaterialActivationId",
1113
- "materialActivation",
1114
- "publicIdentityDigestB64u",
1115
- "holderParticipant",
1116
- "signingWorkerParticipant",
1117
- "participantSetBindingDigestB64u",
1118
- "revocationEpoch",
1119
- "createdAtMs",
1120
- "state",
1121
- "aggregateManifestDigestB64u",
1122
- "aggregateActivationReceiptDigestB64u",
1123
- "activatedAtMs"
1124
- ], label);
1125
- if (value.kind !== "lane_product_epoch_record_v1") throw new Error(`${label}.kind is invalid`);
1126
- return {
1127
- ...parseProductEpochCommon(value, label),
1128
- state: "active",
1129
- aggregateManifestDigestB64u: digest(value.aggregateManifestDigestB64u, `${label}.aggregateManifestDigestB64u`),
1130
- aggregateActivationReceiptDigestB64u: digest(value.aggregateActivationReceiptDigestB64u, `${label}.aggregateActivationReceiptDigestB64u`),
1131
- activatedAtMs: requiredInteger(value.activatedAtMs, `${label}.activatedAtMs`)
1132
- };
1133
- }
1134
- case "retired": {
1135
- const value = exactRecord(record, [
1136
- "kind",
1137
- "walletId",
1138
- "walletKeyId",
1139
- "laneId",
1140
- "laneKind",
1141
- "laneShareEpoch",
1142
- "keyFamily",
1143
- "enrollmentId",
1144
- "operationId",
1145
- "targetMaterialActivationId",
1146
- "materialActivation",
1147
- "publicIdentityDigestB64u",
1148
- "holderParticipant",
1149
- "signingWorkerParticipant",
1150
- "participantSetBindingDigestB64u",
1151
- "revocationEpoch",
1152
- "createdAtMs",
1153
- "state",
1154
- "retirementReason",
1155
- "retirementReceiptDigestB64u",
1156
- "retiredAtMs"
1157
- ], label);
1158
- if (value.kind !== "lane_product_epoch_record_v1") throw new Error(`${label}.kind is invalid`);
1159
- if (value.retirementReason !== "rotation" && value.retirementReason !== "device_compromise" && value.retirementReason !== "agent_compromise") throw new Error(`${label}.retirementReason is invalid`);
1160
- return {
1161
- ...parseProductEpochCommon(value, label),
1162
- state: "retired",
1163
- retirementReason: value.retirementReason,
1164
- retirementReceiptDigestB64u: digest(value.retirementReceiptDigestB64u, `${label}.retirementReceiptDigestB64u`),
1165
- retiredAtMs: requiredInteger(value.retiredAtMs, `${label}.retiredAtMs`)
1166
- };
1167
- }
1168
- case "revocation_pending": {
1169
- const value = exactRecord(record, [
1170
- "kind",
1171
- "walletId",
1172
- "walletKeyId",
1173
- "laneId",
1174
- "laneKind",
1175
- "laneShareEpoch",
1176
- "keyFamily",
1177
- "enrollmentId",
1178
- "operationId",
1179
- "targetMaterialActivationId",
1180
- "materialActivation",
1181
- "publicIdentityDigestB64u",
1182
- "holderParticipant",
1183
- "signingWorkerParticipant",
1184
- "participantSetBindingDigestB64u",
1185
- "revocationEpoch",
1186
- "createdAtMs",
1187
- "state",
1188
- "revocationReason",
1189
- "retirementEffectBindingDigestB64u",
1190
- "revocationRequestedAtMs"
1191
- ], label);
1192
- if (value.kind !== "lane_product_epoch_record_v1") throw new Error(`${label}.kind is invalid`);
1193
- const reason = parseProductRevocationReason(value.revocationReason, label);
1194
- return {
1195
- ...parseProductEpochCommon(value, label),
1196
- state: "revocation_pending",
1197
- revocationEpoch: requiredInteger(value.revocationEpoch, `${label}.revocationEpoch`),
1198
- revocationReason: reason,
1199
- retirementEffectBindingDigestB64u: digest(value.retirementEffectBindingDigestB64u, `${label}.retirementEffectBindingDigestB64u`),
1200
- revocationRequestedAtMs: requiredInteger(value.revocationRequestedAtMs, `${label}.revocationRequestedAtMs`)
1201
- };
1202
- }
1203
- case "revoked": {
1204
- const value = exactRecord(record, [
1205
- "kind",
1206
- "walletId",
1207
- "walletKeyId",
1208
- "laneId",
1209
- "laneKind",
1210
- "laneShareEpoch",
1211
- "keyFamily",
1212
- "enrollmentId",
1213
- "operationId",
1214
- "targetMaterialActivationId",
1215
- "materialActivation",
1216
- "publicIdentityDigestB64u",
1217
- "holderParticipant",
1218
- "signingWorkerParticipant",
1219
- "participantSetBindingDigestB64u",
1220
- "revocationEpoch",
1221
- "createdAtMs",
1222
- "state",
1223
- "revocationReason",
1224
- "retirementEffectBindingDigestB64u",
1225
- "revocationReceiptDigestB64u",
1226
- "revokedAtMs"
1227
- ], label);
1228
- if (value.kind !== "lane_product_epoch_record_v1") throw new Error(`${label}.kind is invalid`);
1229
- const reason = parseProductRevocationReason(value.revocationReason, label);
1230
- return {
1231
- ...parseProductEpochCommon(value, label),
1232
- state: "revoked",
1233
- revocationEpoch: requiredInteger(value.revocationEpoch, `${label}.revocationEpoch`),
1234
- revocationReason: reason,
1235
- retirementEffectBindingDigestB64u: digest(value.retirementEffectBindingDigestB64u, `${label}.retirementEffectBindingDigestB64u`),
1236
- revocationReceiptDigestB64u: digest(value.revocationReceiptDigestB64u, `${label}.revocationReceiptDigestB64u`),
1237
- revokedAtMs: requiredInteger(value.revokedAtMs, `${label}.revokedAtMs`)
1238
- };
1239
- }
1240
- default: throw new Error(`${label}.state is invalid`);
1241
- }
310
+ return laneProductEpochRecordV1()(raw, label);
311
+ }
312
+ function laneProtocolLifecycle() {
313
+ return wireUnion("state", [
314
+ wireObject({
315
+ state: wireLiteral("preparing"),
316
+ startedAtMs: requiredInteger
317
+ }),
318
+ wireObject({
319
+ state: wireLiteral("awaiting_protocol_commitment"),
320
+ startedAtMs: requiredInteger
321
+ }),
322
+ wireObject({
323
+ state: wireLiteral("committed_awaiting_holder_delivery"),
324
+ startedAtMs: requiredInteger,
325
+ committedAtMs: requiredInteger,
326
+ transcriptHashB64u: digestString,
327
+ protocolCommitReceiptDigestB64u: digestString
328
+ }),
329
+ wireObject({
330
+ state: wireLiteral("awaiting_server_activation"),
331
+ startedAtMs: requiredInteger,
332
+ committedAtMs: requiredInteger,
333
+ transcriptHashB64u: digestString,
334
+ protocolCommitReceiptDigestB64u: digestString,
335
+ holderDeliveryReceiptDigestB64u: digestString,
336
+ holderReceiptAtMs: requiredInteger
337
+ }),
338
+ wireObject({
339
+ state: wireLiteral("ready_for_parent_visibility"),
340
+ startedAtMs: requiredInteger,
341
+ committedAtMs: requiredInteger,
342
+ transcriptHashB64u: digestString,
343
+ protocolCommitReceiptDigestB64u: digestString,
344
+ holderDeliveryReceiptDigestB64u: digestString,
345
+ holderReceiptAtMs: requiredInteger,
346
+ serverActivationReceiptDigestB64u: digestString,
347
+ serverActivatedAtMs: requiredInteger
348
+ }),
349
+ wireObject({
350
+ state: wireLiteral("active"),
351
+ transcriptHashB64u: digestString,
352
+ protocolCommitReceiptDigestB64u: digestString,
353
+ holderDeliveryReceiptDigestB64u: digestString,
354
+ serverActivationReceiptDigestB64u: digestString,
355
+ aggregateActivationReceiptDigestB64u: digestString,
356
+ activatedAtMs: requiredInteger
357
+ }),
358
+ wireObject({
359
+ state: wireLiteral("aborted_precommit"),
360
+ startedAtMs: requiredInteger,
361
+ abortedAtMs: requiredInteger,
362
+ abortReason: wireLiteral("cancelled", "expired", "revoked_before_commit")
363
+ }),
364
+ wireObject({
365
+ state: wireLiteral("committed_completion_required"),
366
+ startedAtMs: requiredInteger,
367
+ committedAtMs: requiredInteger,
368
+ transcriptHashB64u: digestString,
369
+ protocolCommitReceiptDigestB64u: digestString,
370
+ recoveryReason: wireLiteral("exact_redelivery_required", "recovery_required")
371
+ })
372
+ ]);
1242
373
  }
1243
374
  function parseLaneProtocolLifecycleV1(raw, label = "laneProtocolLifecycle") {
1244
- const record = requireRecord(raw, label);
1245
- switch (record.state) {
1246
- case "preparing": return {
1247
- state: "preparing",
1248
- startedAtMs: requiredInteger(exactRecord(record, ["state", "startedAtMs"], label).startedAtMs, `${label}.startedAtMs`)
1249
- };
1250
- case "awaiting_protocol_commitment": return {
1251
- state: "awaiting_protocol_commitment",
1252
- startedAtMs: requiredInteger(exactRecord(record, ["state", "startedAtMs"], label).startedAtMs, `${label}.startedAtMs`)
1253
- };
1254
- case "committed_awaiting_holder_delivery": {
1255
- const value = exactRecord(record, [
1256
- "state",
1257
- "startedAtMs",
1258
- "committedAtMs",
1259
- "transcriptHashB64u",
1260
- "protocolCommitReceiptDigestB64u"
1261
- ], label);
1262
- return {
1263
- state: "committed_awaiting_holder_delivery",
1264
- startedAtMs: requiredInteger(value.startedAtMs, `${label}.startedAtMs`),
1265
- committedAtMs: requiredInteger(value.committedAtMs, `${label}.committedAtMs`),
1266
- transcriptHashB64u: digest(value.transcriptHashB64u, `${label}.transcriptHashB64u`),
1267
- protocolCommitReceiptDigestB64u: digest(value.protocolCommitReceiptDigestB64u, `${label}.protocolCommitReceiptDigestB64u`)
1268
- };
1269
- }
1270
- case "awaiting_server_activation": {
1271
- const value = exactRecord(record, [
1272
- "state",
1273
- "startedAtMs",
1274
- "committedAtMs",
1275
- "transcriptHashB64u",
1276
- "protocolCommitReceiptDigestB64u",
1277
- "holderDeliveryReceiptDigestB64u",
1278
- "holderReceiptAtMs"
1279
- ], label);
1280
- return {
1281
- state: "awaiting_server_activation",
1282
- startedAtMs: requiredInteger(value.startedAtMs, `${label}.startedAtMs`),
1283
- committedAtMs: requiredInteger(value.committedAtMs, `${label}.committedAtMs`),
1284
- transcriptHashB64u: digest(value.transcriptHashB64u, `${label}.transcriptHashB64u`),
1285
- protocolCommitReceiptDigestB64u: digest(value.protocolCommitReceiptDigestB64u, `${label}.protocolCommitReceiptDigestB64u`),
1286
- holderDeliveryReceiptDigestB64u: digest(value.holderDeliveryReceiptDigestB64u, `${label}.holderDeliveryReceiptDigestB64u`),
1287
- holderReceiptAtMs: requiredInteger(value.holderReceiptAtMs, `${label}.holderReceiptAtMs`)
1288
- };
1289
- }
1290
- case "ready_for_parent_visibility": {
1291
- const value = exactRecord(record, [
1292
- "state",
1293
- "startedAtMs",
1294
- "committedAtMs",
1295
- "transcriptHashB64u",
1296
- "protocolCommitReceiptDigestB64u",
1297
- "holderDeliveryReceiptDigestB64u",
1298
- "holderReceiptAtMs",
1299
- "serverActivationReceiptDigestB64u",
1300
- "serverActivatedAtMs"
1301
- ], label);
1302
- return {
1303
- state: "ready_for_parent_visibility",
1304
- startedAtMs: requiredInteger(value.startedAtMs, `${label}.startedAtMs`),
1305
- committedAtMs: requiredInteger(value.committedAtMs, `${label}.committedAtMs`),
1306
- transcriptHashB64u: digest(value.transcriptHashB64u, `${label}.transcriptHashB64u`),
1307
- protocolCommitReceiptDigestB64u: digest(value.protocolCommitReceiptDigestB64u, `${label}.protocolCommitReceiptDigestB64u`),
1308
- holderDeliveryReceiptDigestB64u: digest(value.holderDeliveryReceiptDigestB64u, `${label}.holderDeliveryReceiptDigestB64u`),
1309
- holderReceiptAtMs: requiredInteger(value.holderReceiptAtMs, `${label}.holderReceiptAtMs`),
1310
- serverActivationReceiptDigestB64u: digest(value.serverActivationReceiptDigestB64u, `${label}.serverActivationReceiptDigestB64u`),
1311
- serverActivatedAtMs: requiredInteger(value.serverActivatedAtMs, `${label}.serverActivatedAtMs`)
1312
- };
1313
- }
1314
- case "active": {
1315
- const value = exactRecord(record, [
1316
- "state",
1317
- "transcriptHashB64u",
1318
- "protocolCommitReceiptDigestB64u",
1319
- "holderDeliveryReceiptDigestB64u",
1320
- "serverActivationReceiptDigestB64u",
1321
- "aggregateActivationReceiptDigestB64u",
1322
- "activatedAtMs"
1323
- ], label);
1324
- return {
1325
- state: "active",
1326
- transcriptHashB64u: digest(value.transcriptHashB64u, `${label}.transcriptHashB64u`),
1327
- protocolCommitReceiptDigestB64u: digest(value.protocolCommitReceiptDigestB64u, `${label}.protocolCommitReceiptDigestB64u`),
1328
- holderDeliveryReceiptDigestB64u: digest(value.holderDeliveryReceiptDigestB64u, `${label}.holderDeliveryReceiptDigestB64u`),
1329
- serverActivationReceiptDigestB64u: digest(value.serverActivationReceiptDigestB64u, `${label}.serverActivationReceiptDigestB64u`),
1330
- aggregateActivationReceiptDigestB64u: digest(value.aggregateActivationReceiptDigestB64u, `${label}.aggregateActivationReceiptDigestB64u`),
1331
- activatedAtMs: requiredInteger(value.activatedAtMs, `${label}.activatedAtMs`)
1332
- };
1333
- }
1334
- case "aborted_precommit": {
1335
- const value = exactRecord(record, [
1336
- "state",
1337
- "startedAtMs",
1338
- "abortedAtMs",
1339
- "abortReason"
1340
- ], label);
1341
- if (value.abortReason !== "cancelled" && value.abortReason !== "expired" && value.abortReason !== "revoked_before_commit") throw new Error(`${label}.abortReason is invalid`);
1342
- return {
1343
- state: "aborted_precommit",
1344
- startedAtMs: requiredInteger(value.startedAtMs, `${label}.startedAtMs`),
1345
- abortedAtMs: requiredInteger(value.abortedAtMs, `${label}.abortedAtMs`),
1346
- abortReason: value.abortReason
1347
- };
1348
- }
1349
- case "committed_completion_required": {
1350
- const value = exactRecord(record, [
1351
- "state",
1352
- "startedAtMs",
1353
- "committedAtMs",
1354
- "transcriptHashB64u",
1355
- "protocolCommitReceiptDigestB64u",
1356
- "recoveryReason"
1357
- ], label);
1358
- if (value.recoveryReason !== "exact_redelivery_required" && value.recoveryReason !== "recovery_required") throw new Error(`${label}.recoveryReason is invalid`);
1359
- return {
1360
- state: "committed_completion_required",
1361
- startedAtMs: requiredInteger(value.startedAtMs, `${label}.startedAtMs`),
1362
- committedAtMs: requiredInteger(value.committedAtMs, `${label}.committedAtMs`),
1363
- transcriptHashB64u: digest(value.transcriptHashB64u, `${label}.transcriptHashB64u`),
1364
- protocolCommitReceiptDigestB64u: digest(value.protocolCommitReceiptDigestB64u, `${label}.protocolCommitReceiptDigestB64u`),
1365
- recoveryReason: value.recoveryReason
1366
- };
1367
- }
1368
- default: throw new Error(`${label}.state is invalid`);
1369
- }
375
+ return laneProtocolLifecycle()(raw, label);
376
+ }
377
+ function laneEnrollmentLifecycleV1() {
378
+ return wireUnion("state", [
379
+ wireObject({
380
+ state: wireLiteral("preparing"),
381
+ manifestDigestB64u: digestString,
382
+ startedAtMs: requiredInteger
383
+ }),
384
+ wireObject({
385
+ state: wireLiteral("committed_completion_required"),
386
+ manifestDigestB64u: digestString,
387
+ committedChildOperationIds: wireNonEmptyArray(laneOperationId),
388
+ markedAtMs: requiredInteger
389
+ }),
390
+ wireObject({
391
+ state: wireLiteral("ready_for_visibility"),
392
+ manifestDigestB64u: digestString,
393
+ aggregateReceiptDigestB64u: digestString,
394
+ readyAtMs: requiredInteger
395
+ }),
396
+ wireObject({
397
+ state: wireLiteral("active"),
398
+ manifestDigestB64u: digestString,
399
+ aggregateReceiptDigestB64u: digestString,
400
+ activatedAtMs: requiredInteger
401
+ }),
402
+ wireObject({
403
+ state: wireLiteral("cancelled_precommit"),
404
+ cancelledAtMs: requiredInteger
405
+ }),
406
+ wireObject({
407
+ state: wireLiteral("revoking_committed_targets"),
408
+ manifestDigestB64u: digestString,
409
+ reason: wireLiteral("cancelled_after_commit", "expired_after_commit", "revoked_during_activation"),
410
+ markedAtMs: requiredInteger
411
+ }),
412
+ wireObject({
413
+ state: wireLiteral("revoked"),
414
+ manifestDigestB64u: digestString,
415
+ aggregateRevocationReceiptDigestB64u: digestString,
416
+ revokedAtMs: requiredInteger
417
+ })
418
+ ]);
1370
419
  }
1371
420
  function parseLaneEnrollmentLifecycleV1(raw, label = "laneEnrollmentLifecycle") {
1372
- const record = requireRecord(raw, label);
1373
- switch (record.state) {
1374
- case "preparing": {
1375
- const value = exactRecord(record, [
1376
- "state",
1377
- "manifestDigestB64u",
1378
- "startedAtMs"
1379
- ], label);
1380
- return {
1381
- state: "preparing",
1382
- manifestDigestB64u: digest(value.manifestDigestB64u, `${label}.manifestDigestB64u`),
1383
- startedAtMs: requiredInteger(value.startedAtMs, `${label}.startedAtMs`)
1384
- };
1385
- }
1386
- case "committed_completion_required": {
1387
- const value = exactRecord(record, [
1388
- "state",
1389
- "manifestDigestB64u",
1390
- "committedChildOperationIds",
1391
- "markedAtMs"
1392
- ], label);
1393
- const ids = requiredArray(value.committedChildOperationIds, `${label}.committedChildOperationIds`);
1394
- if (ids.length === 0) throw new Error(`${label}.committedChildOperationIds must be non-empty`);
1395
- return {
1396
- state: "committed_completion_required",
1397
- manifestDigestB64u: digest(value.manifestDigestB64u, `${label}.manifestDigestB64u`),
1398
- committedChildOperationIds: nonEmptyTuple(ids.map((id, index) => parseLaneOperationId(id, `${label}.committedChildOperationIds[${index}]`)), `${label}.committedChildOperationIds`),
1399
- markedAtMs: requiredInteger(value.markedAtMs, `${label}.markedAtMs`)
1400
- };
1401
- }
1402
- case "ready_for_visibility": {
1403
- const value = exactRecord(record, [
1404
- "state",
1405
- "manifestDigestB64u",
1406
- "aggregateReceiptDigestB64u",
1407
- "readyAtMs"
1408
- ], label);
1409
- return {
1410
- state: "ready_for_visibility",
1411
- manifestDigestB64u: digest(value.manifestDigestB64u, `${label}.manifestDigestB64u`),
1412
- aggregateReceiptDigestB64u: digest(value.aggregateReceiptDigestB64u, `${label}.aggregateReceiptDigestB64u`),
1413
- readyAtMs: requiredInteger(value.readyAtMs, `${label}.readyAtMs`)
1414
- };
1415
- }
1416
- case "active": {
1417
- const value = exactRecord(record, [
1418
- "state",
1419
- "manifestDigestB64u",
1420
- "aggregateReceiptDigestB64u",
1421
- "activatedAtMs"
1422
- ], label);
1423
- return {
1424
- state: "active",
1425
- manifestDigestB64u: digest(value.manifestDigestB64u, `${label}.manifestDigestB64u`),
1426
- aggregateReceiptDigestB64u: digest(value.aggregateReceiptDigestB64u, `${label}.aggregateReceiptDigestB64u`),
1427
- activatedAtMs: requiredInteger(value.activatedAtMs, `${label}.activatedAtMs`)
1428
- };
1429
- }
1430
- case "cancelled_precommit": return {
1431
- state: "cancelled_precommit",
1432
- cancelledAtMs: requiredInteger(exactRecord(record, ["state", "cancelledAtMs"], label).cancelledAtMs, `${label}.cancelledAtMs`)
1433
- };
1434
- case "revoking_committed_targets": {
1435
- const value = exactRecord(record, [
1436
- "state",
1437
- "manifestDigestB64u",
1438
- "reason",
1439
- "markedAtMs"
1440
- ], label);
1441
- if (value.reason !== "cancelled_after_commit" && value.reason !== "expired_after_commit" && value.reason !== "revoked_during_activation") throw new Error(`${label}.reason is invalid`);
1442
- return {
1443
- state: "revoking_committed_targets",
1444
- manifestDigestB64u: digest(value.manifestDigestB64u, `${label}.manifestDigestB64u`),
1445
- reason: value.reason,
1446
- markedAtMs: requiredInteger(value.markedAtMs, `${label}.markedAtMs`)
1447
- };
1448
- }
1449
- case "revoked": {
1450
- const value = exactRecord(record, [
1451
- "state",
1452
- "manifestDigestB64u",
1453
- "aggregateRevocationReceiptDigestB64u",
1454
- "revokedAtMs"
1455
- ], label);
1456
- return {
1457
- state: "revoked",
1458
- manifestDigestB64u: digest(value.manifestDigestB64u, `${label}.manifestDigestB64u`),
1459
- aggregateRevocationReceiptDigestB64u: digest(value.aggregateRevocationReceiptDigestB64u, `${label}.aggregateRevocationReceiptDigestB64u`),
1460
- revokedAtMs: requiredInteger(value.revokedAtMs, `${label}.revokedAtMs`)
1461
- };
1462
- }
1463
- default: throw new Error(`${label}.state is invalid`);
1464
- }
421
+ return laneEnrollmentLifecycleV1()(raw, label);
1465
422
  }
1466
423
  function buildLaneProtocolRecordV1(args) {
1467
424
  return {
@@ -1482,10 +439,10 @@ function buildRevokeSigningLaneV1(args) {
1482
439
  });
1483
440
  }
1484
441
  function buildCommitLaneEnrollmentRevocationV1(args) {
1485
- return parseCommitLaneEnrollmentRevocationV1({
442
+ return commitLaneEnrollmentRevocationV1()({
1486
443
  kind: "commit_lane_enrollment_revocation_v1",
1487
444
  ...args
1488
- });
445
+ }, "commitLaneEnrollmentRevocation");
1489
446
  }
1490
447
  function buildLaneProductEpochPendingVisibilityV1(args) {
1491
448
  const value = parseLaneProductEpochRecordV1({
@@ -1505,116 +462,71 @@ function buildLaneProductEpochRevokedV1(args) {
1505
462
  if (value.state !== "revoked") throw new Error("product epoch state changed");
1506
463
  return value;
1507
464
  }
465
+ const serverRetirementReason = /* @__PURE__ */ wireLiteral("lane_revoked", "device_compromise", "agent_compromise", "rotation");
466
+ function ecdsaServerRetirementReceiptV1() {
467
+ return wireObject({
468
+ kind: wireLiteral("ecdsa_server_retirement_receipt_v1"),
469
+ manifest: wireObject({
470
+ manifestId: parseEcdsaCapabilityManifestId,
471
+ manifestRevision: parseEcdsaCapabilityManifestRevision
472
+ }),
473
+ materialActivation,
474
+ walletKeyId,
475
+ laneId: signingLaneId,
476
+ laneShareEpoch,
477
+ revocationEpoch: requiredInteger,
478
+ retirementReason: serverRetirementReason,
479
+ retirementCorrelationId: parseCorrelationId,
480
+ retirementRequestDigestB64u: digestString,
481
+ serverGeneration: parseEcdsaServerGeneration,
482
+ lifecycleId: parseEcdsaLifecycleId,
483
+ receiptDigestB64u: digestString,
484
+ retiredAt: isoTimestamp
485
+ });
486
+ }
1508
487
  function parseEcdsaServerRetirementReceiptV1(raw, label = "ecdsaRetirementReceipt") {
1509
- const record = exactRecord(raw, [
1510
- "kind",
1511
- "manifest",
1512
- "materialActivation",
1513
- "walletKeyId",
1514
- "laneId",
1515
- "laneShareEpoch",
1516
- "revocationEpoch",
1517
- "retirementReason",
1518
- "retirementCorrelationId",
1519
- "retirementRequestDigestB64u",
1520
- "serverGeneration",
1521
- "lifecycleId",
1522
- "receiptDigestB64u",
1523
- "retiredAt"
1524
- ], label);
1525
- if (record.kind !== "ecdsa_server_retirement_receipt_v1") throw new Error(`${label}.kind is invalid`);
1526
- const manifest = exactRecord(record.manifest, ["manifestId", "manifestRevision"], `${label}.manifest`);
1527
- const retirementReason = record.retirementReason;
1528
- if (retirementReason !== "lane_revoked" && retirementReason !== "device_compromise" && retirementReason !== "agent_compromise" && retirementReason !== "rotation") throw new Error(`${label}.retirementReason is invalid`);
1529
- return {
1530
- kind: "ecdsa_server_retirement_receipt_v1",
1531
- manifest: {
1532
- manifestId: parseEcdsaCapabilityManifestId(manifest.manifestId),
1533
- manifestRevision: parseEcdsaCapabilityManifestRevision(manifest.manifestRevision)
1534
- },
1535
- materialActivation: parseMpcActivation(record.materialActivation, `${label}.materialActivation`),
1536
- walletKeyId: parseKeyId(record.walletKeyId, `${label}.walletKeyId`),
1537
- laneId: parseLaneId(record.laneId, `${label}.laneId`),
1538
- laneShareEpoch: parseShareEpoch(record.laneShareEpoch, `${label}.laneShareEpoch`),
1539
- revocationEpoch: requiredInteger(record.revocationEpoch, `${label}.revocationEpoch`),
1540
- retirementReason,
1541
- retirementCorrelationId: parseCorrelationId(record.retirementCorrelationId),
1542
- retirementRequestDigestB64u: digest(record.retirementRequestDigestB64u, `${label}.retirementRequestDigestB64u`),
1543
- serverGeneration: parseEcdsaServerGeneration(record.serverGeneration),
1544
- lifecycleId: parseEcdsaLifecycleId(record.lifecycleId),
1545
- receiptDigestB64u: digest(record.receiptDigestB64u, `${label}.receiptDigestB64u`),
1546
- retiredAt: parseIso(record.retiredAt, `${label}.retiredAt`)
1547
- };
488
+ return ecdsaServerRetirementReceiptV1()(raw, label);
1548
489
  }
1549
- function parseSigningWorkerLaneMaterialIdentityV1(raw, expectedKeyFamily, label = "signingWorkerLaneMaterialIdentity") {
1550
- const record = exactRecord(raw, [
1551
- "operationId",
1552
- "enrollmentId",
1553
- "walletId",
1554
- "walletKeyId",
1555
- "targetLaneId",
1556
- "targetLaneShareEpoch",
1557
- "targetMaterialActivationId",
1558
- "keyFamily",
1559
- "holderParticipantBindingDigestB64u",
1560
- "signingWorkerParticipantBindingDigestB64u",
1561
- "holderRecipientKeyDigestB64u",
1562
- "serverRecipientKeyDigestB64u",
1563
- "transcriptHashB64u",
1564
- "protocolCommitReceiptDigestB64u"
1565
- ], label);
1566
- if (record.keyFamily !== expectedKeyFamily) throw new Error(`${label}.keyFamily is invalid`);
1567
- return {
1568
- operationId: resultValue(parseLaneOperationId$1(record.operationId), `${label}.operationId`),
1569
- enrollmentId: resultValue(parseLaneEnrollmentId(record.enrollmentId), `${label}.enrollmentId`),
1570
- walletId: resultValue(parseWalletId(record.walletId), `${label}.walletId`),
1571
- walletKeyId: resultValue(parseWalletKeyId(record.walletKeyId), `${label}.walletKeyId`),
1572
- targetLaneId: resultValue(parseSigningLaneId(record.targetLaneId), `${label}.targetLaneId`),
1573
- targetLaneShareEpoch: resultValue(parseLaneShareEpoch(record.targetLaneShareEpoch), `${label}.targetLaneShareEpoch`),
1574
- targetMaterialActivationId: resultValue(parseMpcMaterialActivationId(record.targetMaterialActivationId), `${label}.targetMaterialActivationId`),
1575
- keyFamily: expectedKeyFamily,
1576
- holderParticipantBindingDigestB64u: digest(record.holderParticipantBindingDigestB64u, `${label}.holderParticipantBindingDigestB64u`),
1577
- signingWorkerParticipantBindingDigestB64u: digest(record.signingWorkerParticipantBindingDigestB64u, `${label}.signingWorkerParticipantBindingDigestB64u`),
1578
- holderRecipientKeyDigestB64u: digest(record.holderRecipientKeyDigestB64u, `${label}.holderRecipientKeyDigestB64u`),
1579
- serverRecipientKeyDigestB64u: digest(record.serverRecipientKeyDigestB64u, `${label}.serverRecipientKeyDigestB64u`),
1580
- transcriptHashB64u: digest(record.transcriptHashB64u, `${label}.transcriptHashB64u`),
1581
- protocolCommitReceiptDigestB64u: digest(record.protocolCommitReceiptDigestB64u, `${label}.protocolCommitReceiptDigestB64u`)
1582
- };
490
+ function ed25519LaneMaterialIdentityV1() {
491
+ return wireObject({
492
+ operationId: laneOperationId,
493
+ enrollmentId: laneEnrollmentId,
494
+ walletId,
495
+ walletKeyId,
496
+ targetLaneId: signingLaneId,
497
+ targetLaneShareEpoch: laneShareEpoch,
498
+ targetMaterialActivationId: materialActivationId,
499
+ keyFamily: wireLiteral("ed25519"),
500
+ holderParticipantBindingDigestB64u: digest,
501
+ signingWorkerParticipantBindingDigestB64u: digest,
502
+ holderRecipientKeyDigestB64u: digest,
503
+ serverRecipientKeyDigestB64u: digest,
504
+ transcriptHashB64u: digest,
505
+ protocolCommitReceiptDigestB64u: digest
506
+ });
507
+ }
508
+ function ed25519ServerRetirementReceiptV1() {
509
+ return wireObject({
510
+ kind: wireLiteral("ed25519_server_retirement_receipt_v1"),
511
+ identity: ed25519LaneMaterialIdentityV1(),
512
+ revocationEpoch: requiredInteger,
513
+ retirementReason: serverRetirementReason,
514
+ retirementCorrelationId: parseCorrelationId,
515
+ retirementRequestDigestB64u: digest,
516
+ receiptDigestB64u: digest,
517
+ retiredAtMs: requiredInteger
518
+ });
1583
519
  }
1584
520
  function parseEd25519ServerRetirementReceiptV1(raw, label = "ed25519RetirementReceipt") {
1585
- const record = exactRecord(raw, [
1586
- "kind",
1587
- "identity",
1588
- "revocationEpoch",
1589
- "retirementReason",
1590
- "retirementCorrelationId",
1591
- "retirementRequestDigestB64u",
1592
- "receiptDigestB64u",
1593
- "retiredAtMs"
1594
- ], label);
1595
- if (record.kind !== "ed25519_server_retirement_receipt_v1") throw new Error(`${label}.kind is invalid`);
1596
- const retirementReason = record.retirementReason;
1597
- if (retirementReason !== "lane_revoked" && retirementReason !== "device_compromise" && retirementReason !== "agent_compromise" && retirementReason !== "rotation") throw new Error(`${label}.retirementReason is invalid`);
1598
- return {
1599
- kind: "ed25519_server_retirement_receipt_v1",
1600
- identity: parseSigningWorkerLaneMaterialIdentityV1(record.identity, "ed25519", `${label}.identity`),
1601
- revocationEpoch: requiredInteger(record.revocationEpoch, `${label}.revocationEpoch`),
1602
- retirementReason,
1603
- retirementCorrelationId: parseCorrelationId(record.retirementCorrelationId),
1604
- retirementRequestDigestB64u: digest(record.retirementRequestDigestB64u, `${label}.retirementRequestDigestB64u`),
1605
- receiptDigestB64u: digest(record.receiptDigestB64u, `${label}.receiptDigestB64u`),
1606
- retiredAtMs: requiredInteger(record.retiredAtMs, `${label}.retiredAtMs`)
1607
- };
521
+ return ed25519ServerRetirementReceiptV1()(raw, label);
522
+ }
523
+ function laneServerRetirementReceiptV1() {
524
+ return wireUnion("kind", [ecdsaServerRetirementReceiptV1(), ed25519ServerRetirementReceiptV1()]);
1608
525
  }
1609
526
  function parseLaneServerRetirementReceiptV1(raw, label = "laneServerRetirementReceipt") {
1610
- const record = requireRecord(raw, label);
1611
- switch (record.kind) {
1612
- case "ecdsa_server_retirement_receipt_v1": return parseEcdsaServerRetirementReceiptV1(record, label);
1613
- case "ed25519_server_retirement_receipt_v1": return parseEd25519ServerRetirementReceiptV1(record, label);
1614
- default: throw new Error(`${label}.kind is invalid`);
1615
- }
527
+ return laneServerRetirementReceiptV1()(raw, label);
1616
528
  }
1617
529
  //#endregion
1618
- export { buildAggregateLaneRevocationReceiptV1, buildCommitLaneEnrollmentRevocationV1, buildLaneCreationTargetV1, buildLaneProductEpochPendingVisibilityV1, buildLaneProductEpochRevokedV1, buildLaneProtocolRecordV1, buildLaneRefreshTargetV1, buildRevokeSigningLaneV1, parseAggregateLaneActivationReceiptV1, parseAggregateLaneRevocationReceiptV1, parseCommitLaneEnrollmentRevocationV1, parseCompleteSigningLaneRevocationV1, parseEcdsaServerRetirementReceiptV1, parseEcdsaTargetCapabilityBindingV1, parseEd25519ServerRetirementReceiptV1, parseLaneEnrollmentLifecycleV1, parseLaneEnrollmentManifestV1, parseLaneHolderDeliveryReceiptV1, parseLaneProductEpochRecordV1, parseLaneProtocolCommitReceiptV1, parseLaneProtocolJobV1, parseLaneProtocolLifecycleV1, parseLaneRefreshPredecessorRetirementV1, parseLaneServerActivationReceiptV1, parseLaneServerRetirementReceiptV1, parseRevokeLaneEnrollmentV1, parseRevokeSigningLaneV1, parseRotatableSigningLaneJobV1, parseSigningWorkerLaneMaterialIdentityV1 };
530
+ export { buildAggregateLaneRevocationReceiptV1, buildCommitLaneEnrollmentRevocationV1, buildLaneProductEpochPendingVisibilityV1, buildLaneProductEpochRevokedV1, buildLaneProtocolRecordV1, buildRevokeSigningLaneV1, parseAggregateLaneActivationReceiptV1, parseAggregateLaneRevocationReceiptV1, parseCompleteSigningLaneRevocationV1, parseEcdsaServerRetirementReceiptV1, parseEd25519ServerRetirementReceiptV1, parseLaneEnrollmentLifecycleV1, parseLaneEnrollmentManifestV1, parseLaneHolderDeliveryReceiptV1, parseLaneProductEpochRecordV1, parseLaneProtocolCommitReceiptV1, parseLaneProtocolLifecycleV1, parseLaneRefreshPredecessorRetirementV1, parseLaneServerActivationReceiptV1, parseLaneServerRetirementReceiptV1, parseRevokeLaneEnrollmentV1, parseRevokeSigningLaneV1 };
1619
531
 
1620
532
  //# sourceMappingURL=rotationParsers.js.map