@seams/wallet-server 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1075) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +8 -0
  3. package/artifact-manifest.json +464 -0
  4. package/cloudflare-router-ab/build/deriver-a/index.js +2 -0
  5. package/cloudflare-router-ab/build/deriver-a/index_bg.wasm +0 -0
  6. package/cloudflare-router-ab/build/deriver-a/package.json +16 -0
  7. package/cloudflare-router-ab/build/deriver-a/worker/shim.mjs +4 -0
  8. package/cloudflare-router-ab/build/deriver-b/index.js +2 -0
  9. package/cloudflare-router-ab/build/deriver-b/index_bg.wasm +0 -0
  10. package/cloudflare-router-ab/build/deriver-b/package.json +16 -0
  11. package/cloudflare-router-ab/build/deriver-b/worker/shim.mjs +4 -0
  12. package/cloudflare-router-ab/build/local-tools/darwin-arm64/router_ab_local_init +0 -0
  13. package/cloudflare-router-ab/build/router/index.js +2 -0
  14. package/cloudflare-router-ab/build/router/index_bg.wasm +0 -0
  15. package/cloudflare-router-ab/build/router/package.json +16 -0
  16. package/cloudflare-router-ab/build/router/worker/shim.mjs +4 -0
  17. package/cloudflare-router-ab/build/signing-worker/index.js +2 -0
  18. package/cloudflare-router-ab/build/signing-worker/index_bg.wasm +0 -0
  19. package/cloudflare-router-ab/build/signing-worker/package.json +16 -0
  20. package/cloudflare-router-ab/build/signing-worker/worker/shim.mjs +4 -0
  21. package/cloudflare-router-ab/build/tenant-root-control-plane/index.js +2 -0
  22. package/cloudflare-router-ab/build/tenant-root-control-plane/index_bg.wasm +0 -0
  23. package/cloudflare-router-ab/build/tenant-root-control-plane/package.json +16 -0
  24. package/cloudflare-router-ab/build/tenant-root-control-plane/worker/shim.mjs +4 -0
  25. package/cloudflare-router-ab/env/tenant-root-control-plane.local.example +6 -0
  26. package/cloudflare-router-ab/migrations/deriver-a/0001_role_private_storage.sql +14 -0
  27. package/cloudflare-router-ab/migrations/deriver-a/0002_tenant_root_role_shares.sql +32 -0
  28. package/cloudflare-router-ab/migrations/deriver-a/0003_tenant_root_command_replays.sql +76 -0
  29. package/cloudflare-router-ab/migrations/deriver-a/0004_tenant_root_creation_admission.sql +7 -0
  30. package/cloudflare-router-ab/migrations/deriver-a/0005_tenant_root_refresh_state.sql +15 -0
  31. package/cloudflare-router-ab/migrations/deriver-a/0006_tenant_root_restore_import_keys.sql +119 -0
  32. package/cloudflare-router-ab/migrations/deriver-a/0007_tenant_root_restore_refresh_attempts.sql +103 -0
  33. package/cloudflare-router-ab/migrations/deriver-a/0008_tenant_root_restore_promotion.sql +40 -0
  34. package/cloudflare-router-ab/migrations/deriver-a/0009_tenant_root_restore_preactivation_cleanup.sql +8 -0
  35. package/cloudflare-router-ab/migrations/deriver-a/0010_tenant_root_recovery_attempts.sql +26 -0
  36. package/cloudflare-router-ab/migrations/deriver-a/0011_tenant_root_source_retirement.sql +100 -0
  37. package/cloudflare-router-ab/migrations/deriver-b/0001_role_private_storage.sql +14 -0
  38. package/cloudflare-router-ab/migrations/deriver-b/0002_tenant_root_role_shares.sql +32 -0
  39. package/cloudflare-router-ab/migrations/deriver-b/0003_tenant_root_command_replays.sql +76 -0
  40. package/cloudflare-router-ab/migrations/deriver-b/0004_tenant_root_creation_admission.sql +7 -0
  41. package/cloudflare-router-ab/migrations/deriver-b/0005_tenant_root_refresh_state.sql +15 -0
  42. package/cloudflare-router-ab/migrations/deriver-b/0006_tenant_root_restore_import_keys.sql +119 -0
  43. package/cloudflare-router-ab/migrations/deriver-b/0007_tenant_root_restore_refresh_attempts.sql +103 -0
  44. package/cloudflare-router-ab/migrations/deriver-b/0008_tenant_root_restore_promotion.sql +40 -0
  45. package/cloudflare-router-ab/migrations/deriver-b/0009_tenant_root_restore_preactivation_cleanup.sql +8 -0
  46. package/cloudflare-router-ab/migrations/deriver-b/0010_tenant_root_recovery_attempts.sql +26 -0
  47. package/cloudflare-router-ab/migrations/deriver-b/0011_tenant_root_source_retirement.sql +100 -0
  48. package/cloudflare-router-ab/migrations/signing-worker/0001_private_storage.sql +67 -0
  49. package/cloudflare-router-ab/migrations/signing-worker/0002_activation_revocation_fences.sql +3 -0
  50. package/cloudflare-router-ab/scripts/bootstrap-local-tenant-root.mjs +182 -0
  51. package/cloudflare-router-ab/scripts/initialize-local-wallet.mjs +17 -0
  52. package/cloudflare-router-ab/scripts/local-key-material.mjs +29 -0
  53. package/cloudflare-router-ab/scripts/prepare-local-runtime-config.mjs +1110 -0
  54. package/cloudflare-router-ab/scripts/start-local-role-workers.mjs +333 -0
  55. package/cloudflare-router-ab/scripts/start-local-wallet-system.mjs +427 -0
  56. package/cloudflare-router-ab/wrangler.deriver-a.toml +123 -0
  57. package/cloudflare-router-ab/wrangler.deriver-b.toml +123 -0
  58. package/cloudflare-router-ab/wrangler.router.toml +126 -0
  59. package/cloudflare-router-ab/wrangler.signing-worker.toml +86 -0
  60. package/cloudflare-router-ab/wrangler.tenant-root-control-plane.toml +56 -0
  61. package/dist/esm/authorization/capabilityPolicy.js +96 -0
  62. package/dist/esm/authorization/domain.js +434 -0
  63. package/dist/esm/authorization/factorEvidence.js +405 -0
  64. package/dist/esm/authorization/service.js +319 -0
  65. package/dist/esm/authorization/vaultProxyUse.js +295 -0
  66. package/dist/esm/cloud-host.js +126 -0
  67. package/dist/esm/core/AuthService.js +2 -0
  68. package/dist/esm/core/EmailOtpRecords.js +361 -0
  69. package/dist/esm/core/EmailOtpStores.js +1460 -0
  70. package/dist/esm/core/IdentityStore.js +617 -0
  71. package/dist/esm/core/NearPublicKeyStore.js +242 -0
  72. package/dist/esm/core/RegistrationCeremonyStore.js +2101 -0
  73. package/dist/esm/core/SessionService.js +255 -0
  74. package/dist/esm/core/ThresholdService/config.js +111 -0
  75. package/dist/esm/core/ThresholdService/ecdsaClientRootProof.js +27 -0
  76. package/dist/esm/core/ThresholdService/evmCryptoWasm.js +167 -0
  77. package/dist/esm/core/ThresholdService/index.js +4 -0
  78. package/dist/esm/core/ThresholdService/kv.js +368 -0
  79. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.js +360 -0
  80. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillLiveSession.js +282 -0
  81. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.js +272 -0
  82. package/dist/esm/core/ThresholdService/routerAb/internalServiceHttp.js +57 -0
  83. package/dist/esm/core/ThresholdService/routerAbEcdsaSigningWorkerWasm.js +115 -0
  84. package/dist/esm/core/ThresholdService/routerAbNormalSigningPolicy.js +31 -0
  85. package/dist/esm/core/ThresholdService/secureRandomId.js +9 -0
  86. package/dist/esm/core/ThresholdService/stores/CloudflareDurableObjectStore.js +603 -0
  87. package/dist/esm/core/ThresholdService/stores/EcdsaSigningStore.js +422 -0
  88. package/dist/esm/core/ThresholdService/stores/KeyStore.js +140 -0
  89. package/dist/esm/core/ThresholdService/stores/SessionStore.js +437 -0
  90. package/dist/esm/core/ThresholdService/stores/StoreConfig.js +13 -0
  91. package/dist/esm/core/ThresholdService/stores/WalletSessionStore.js +722 -0
  92. package/dist/esm/core/ThresholdService/validation.js +718 -0
  93. package/dist/esm/core/WalletAuthMethodStore.js +180 -0
  94. package/dist/esm/core/WalletStore.js +495 -0
  95. package/dist/esm/core/WebAuthnAuthenticatorStore.js +485 -0
  96. package/dist/esm/core/WebAuthnCredentialBindingStore.js +594 -0
  97. package/dist/esm/core/WebAuthnLoginChallengeStore.js +432 -0
  98. package/dist/esm/core/WebAuthnSyncChallengeStore.js +434 -0
  99. package/dist/esm/core/authService/AuthService.js +611 -0
  100. package/dist/esm/core/authService/bytes.js +22 -0
  101. package/dist/esm/core/authService/configValues.js +15 -0
  102. package/dist/esm/core/authService/emailOtpChallengeOperations.js +126 -0
  103. package/dist/esm/core/authService/emailOtpChallengeProof.js +214 -0
  104. package/dist/esm/core/authService/emailOtpChallengeVerification.js +335 -0
  105. package/dist/esm/core/authService/emailOtpChallenges.js +260 -0
  106. package/dist/esm/core/authService/emailOtpConfig.js +231 -0
  107. package/dist/esm/core/authService/emailOtpDelivery.js +169 -0
  108. package/dist/esm/core/authService/emailOtpEnrollment.js +141 -0
  109. package/dist/esm/core/authService/emailOtpGrant.js +74 -0
  110. package/dist/esm/core/authService/emailOtpRegistrationEnrollment.js +322 -0
  111. package/dist/esm/core/authService/emailOtpSeal.js +78 -0
  112. package/dist/esm/core/authService/emailOtpUnlock.js +264 -0
  113. package/dist/esm/core/authService/githubOAuth.js +140 -0
  114. package/dist/esm/core/authService/googleEmailOtpErrors.js +6 -0
  115. package/dist/esm/core/authService/googleEmailOtpOperations.js +141 -0
  116. package/dist/esm/core/authService/googleEmailOtpRegistration.js +674 -0
  117. package/dist/esm/core/authService/identity.js +57 -0
  118. package/dist/esm/core/authService/identityOperations.js +32 -0
  119. package/dist/esm/core/authService/nearAccountOperations.js +229 -0
  120. package/dist/esm/core/authService/nearPrivateKeySigning.js +110 -0
  121. package/dist/esm/core/authService/nearPublicKeyMetadata.js +127 -0
  122. package/dist/esm/core/authService/nearTransactions.js +139 -0
  123. package/dist/esm/core/authService/oidcVerification.js +262 -0
  124. package/dist/esm/core/authService/portableCrypto.js +19 -0
  125. package/dist/esm/core/authService/rateLimits.js +117 -0
  126. package/dist/esm/core/authService/record.js +8 -0
  127. package/dist/esm/core/authService/registrationThresholdHelpers.js +131 -0
  128. package/dist/esm/core/authService/runtime.js +45 -0
  129. package/dist/esm/core/authService/signerWasmUrls.js +20 -0
  130. package/dist/esm/core/authService/storeRegistry.js +113 -0
  131. package/dist/esm/core/authService/thresholdEcdsaKeyInventory.js +146 -0
  132. package/dist/esm/core/authService/thresholdRuntimePolicy.js +19 -0
  133. package/dist/esm/core/authService/thresholdStoreSummary.js +32 -0
  134. package/dist/esm/core/authService/walletRegistrationPlanning.js +49 -0
  135. package/dist/esm/core/authService/wasm.js +78 -0
  136. package/dist/esm/core/authService/webauthn.js +746 -0
  137. package/dist/esm/core/authService/webauthnAuthority.js +17 -0
  138. package/dist/esm/core/authService/webauthnOidcHelpers.js +91 -0
  139. package/dist/esm/core/authService/webauthnWalletBinding.js +157 -0
  140. package/dist/esm/core/config.js +110 -0
  141. package/dist/esm/core/d1IdentityStore.js +340 -0
  142. package/dist/esm/core/d1WalletAuthMethodStore.js +768 -0
  143. package/dist/esm/core/d1WalletStore.js +724 -0
  144. package/dist/esm/core/defaultConfigsServer.js +9 -0
  145. package/dist/esm/core/deviceLinking/index.js +5 -0
  146. package/dist/esm/core/deviceLinking/linkedDeviceEd25519ExportRoot.js +0 -0
  147. package/dist/esm/core/deviceLinking/linkedDeviceEmailOtpGrant.js +211 -0
  148. package/dist/esm/core/deviceLinking/linkedDeviceManagement.js +279 -0
  149. package/dist/esm/core/deviceLinking/linkedDeviceSession.js +1419 -0
  150. package/dist/esm/core/deviceLinking/requestProof.js +172 -0
  151. package/dist/esm/core/errors.js +54 -0
  152. package/dist/esm/core/hostedAccountIds.js +225 -0
  153. package/dist/esm/core/keyMaterialBrands.js +58 -0
  154. package/dist/esm/core/logger.js +39 -0
  155. package/dist/esm/core/nearKeys.js +20 -0
  156. package/dist/esm/core/nearRelayerAccountProvisioning.js +713 -0
  157. package/dist/esm/core/nearSignerWasmRuntime.js +87 -0
  158. package/dist/esm/core/registrationContracts.js +2 -0
  159. package/dist/esm/core/routerAbSigning/RouterAbEcdsaPresignRuntime.js +88 -0
  160. package/dist/esm/core/routerAbSigning/RouterAbNormalSigningRuntime.js +101 -0
  161. package/dist/esm/core/routerAbSigning/createCloudflareDurableObjectRouterAbSigningRuntimes.js +39 -0
  162. package/dist/esm/core/routerAbSigning/createRouterAbSigningRuntimes.js +91 -0
  163. package/dist/esm/core/rpcClients/near/NearClient.js +389 -0
  164. package/dist/esm/core/sessionValidation.js +0 -0
  165. package/dist/esm/core/signingLanes/LaneAggregateRevocationApplicationService.js +86 -0
  166. package/dist/esm/core/signingLanes/LaneEffectJournalStore.js +0 -0
  167. package/dist/esm/core/signingLanes/LaneEnrollmentActivation.js +324 -0
  168. package/dist/esm/core/signingLanes/LaneEnrollmentRevocation.js +173 -0
  169. package/dist/esm/core/signingLanes/LaneLifecycleApplicationService.js +200 -0
  170. package/dist/esm/core/signingLanes/LaneLifecycleStore.js +24 -0
  171. package/dist/esm/core/signingLanes/SigningLaneStore.js +0 -0
  172. package/dist/esm/core/signingLanes/WalletExecutionLaneProjection.js +296 -0
  173. package/dist/esm/core/signingLanes/WalletKeyStore.js +0 -0
  174. package/dist/esm/core/signingLanes/ecdsaServerRetirement.js +78 -0
  175. package/dist/esm/core/signingLanes/ed25519ServerRetirement.js +71 -0
  176. package/dist/esm/core/signingLanes/index.js +8 -0
  177. package/dist/esm/core/signingLanes/signingWorkerLaneMaterialIdentity.js +0 -0
  178. package/dist/esm/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.js +305 -0
  179. package/dist/esm/core/threeRouteRegistrationContracts.js +5 -0
  180. package/dist/esm/core/thresholdEcdsaChainTarget.js +49 -0
  181. package/dist/esm/core/types.js +8 -0
  182. package/dist/esm/core/utils.js +14 -0
  183. package/dist/esm/delegateAction/index.js +136 -0
  184. package/dist/esm/hosted-wallet-gateway-worker.js +18 -0
  185. package/dist/esm/hosted-wallet-gateway.js +701 -0
  186. package/dist/esm/index.js +53 -0
  187. package/dist/esm/local-hosted-wallet-gateway-worker.js +23 -0
  188. package/dist/esm/node_modules/@near-js/types/lib/esm/provider/response.js +17 -0
  189. package/dist/esm/router/auth/authRequestValidation.js +264 -0
  190. package/dist/esm/router/auth/commonRouterUtils.js +305 -0
  191. package/dist/esm/router/auth/routerApiCredentialAuth.js +91 -0
  192. package/dist/esm/router/auth/routerApiKeyAuth.js +63 -0
  193. package/dist/esm/router/auth/walletSessionFailure.js +49 -0
  194. package/dist/esm/router/auth/webAuthnCredentialCodecs.js +107 -0
  195. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthBoundary.js +84 -0
  196. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthConfig.js +321 -0
  197. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthService.js +1581 -0
  198. package/dist/esm/router/cloudflare/d1/authorization/d1AuthorizationStore.js +1820 -0
  199. package/dist/esm/router/cloudflare/d1/authorization/d1VaultProxyStore.js +122 -0
  200. package/dist/esm/router/cloudflare/d1/authorization/walletSessionAuthorityProjection.js +119 -0
  201. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.js +1831 -0
  202. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEd25519ExportRootStore.js +118 -0
  203. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.js +81 -0
  204. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.js +539 -0
  205. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceManagementService.js +92 -0
  206. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.js +560 -0
  207. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.js +136 -0
  208. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRouteService.js +95 -0
  209. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.js +91 -0
  210. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionService.js +15 -0
  211. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.js +732 -0
  212. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSourceContributionPreparationPlanner.js +195 -0
  213. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetAuthenticatorStore.js +100 -0
  214. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.js +867 -0
  215. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.js +169 -0
  216. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkBuilder.js +255 -0
  217. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkSourceReader.js +128 -0
  218. package/dist/esm/router/cloudflare/d1/deviceLinking/index.js +15 -0
  219. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.js +311 -0
  220. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.js +21 -0
  221. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoWalletSigner.js +65 -0
  222. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.js +216 -0
  223. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.js +326 -0
  224. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.js +346 -0
  225. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.js +495 -0
  226. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpDeliveryRuntime.js +157 -0
  227. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.js +248 -0
  228. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.js +66 -0
  229. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.js +76 -0
  230. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.js +539 -0
  231. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.js +404 -0
  232. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.js +200 -0
  233. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.js +84 -0
  234. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.js +217 -0
  235. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.js +485 -0
  236. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.js +509 -0
  237. package/dist/esm/router/cloudflare/d1/identity/d1IdentityRecords.js +51 -0
  238. package/dist/esm/router/cloudflare/d1/identity/d1IdentityService.js +135 -0
  239. package/dist/esm/router/cloudflare/d1/near/d1NearPublicKeyStore.js +62 -0
  240. package/dist/esm/router/cloudflare/d1/oidc/d1OidcBoundary.js +272 -0
  241. package/dist/esm/router/cloudflare/d1/oidc/d1OidcVerificationService.js +132 -0
  242. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyEnvelopeStore.js +628 -0
  243. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.js +871 -0
  244. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.js +823 -0
  245. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpAttemptStore.js +38 -0
  246. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpRecords.js +304 -0
  247. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpService.js +793 -0
  248. package/dist/esm/router/cloudflare/d1/registration/d1EvmFamilyEcdsaRegistrationBranch.js +120 -0
  249. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.js +317 -0
  250. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.js +2084 -0
  251. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.js +309 -0
  252. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationIntentService.js +120 -0
  253. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.js +263 -0
  254. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationService.js +3887 -0
  255. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetup.js +182 -0
  256. package/dist/esm/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.js +399 -0
  257. package/dist/esm/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.js +486 -0
  258. package/dist/esm/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.js +146 -0
  259. package/dist/esm/router/cloudflare/d1/signingLanes/d1EcdsaLanePrivateBindingResolver.js +10 -0
  260. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneAggregateRevocationApplicationService.js +22 -0
  261. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.js +167 -0
  262. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEnrollmentGateway.js +38 -0
  263. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleApplicationService.js +20 -0
  264. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.js +1459 -0
  265. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLockStore.js +114 -0
  266. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneProtocolCommitter.js +16 -0
  267. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneRecords.js +170 -0
  268. package/dist/esm/router/cloudflare/d1/signingLanes/index.js +10 -0
  269. package/dist/esm/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.js +412 -0
  270. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerService.js +1396 -0
  271. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodBoundary.js +285 -0
  272. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodService.js +2018 -0
  273. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorityStore.js +792 -0
  274. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.js +635 -0
  275. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnRecords.js +538 -0
  276. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnStore.js +264 -0
  277. package/dist/esm/router/cloudflare/durableObjects/thresholdStore.js +514 -0
  278. package/dist/esm/router/cloudflare/durableObjects/versionedJsonRecordStore.js +192 -0
  279. package/dist/esm/router/cloudflare/runtime/cloudflare.types.js +0 -0
  280. package/dist/esm/router/cloudflare/runtime/cloudflareSignerWasm.js +8 -0
  281. package/dist/esm/router/cloudflare/runtime/createCloudflareRouter.js +19 -0
  282. package/dist/esm/router/cloudflare/runtime/createSelfHostedCloudflareSigningWorker.js +94 -0
  283. package/dist/esm/router/cloudflare/runtime/ed25519SessionAdapter.js +106 -0
  284. package/dist/esm/router/cloudflare/runtime/environment.js +25 -0
  285. package/dist/esm/router/cloudflare/runtime/routerAbPrewarm.js +34 -0
  286. package/dist/esm/router/cloudflare/runtime/routerAbServiceBindings.js +33 -0
  287. package/dist/esm/router/cloudflare/runtime/sessionAdapterRuntime.js +104 -0
  288. package/dist/esm/router/cloudflare/runtime/staticWalletConsoleBinding.js +168 -0
  289. package/dist/esm/router/cloudflare/runtime/tenantRootCreationGrant.js +147 -0
  290. package/dist/esm/router/cloudflare/runtime/walletConsoleOps.js +143 -0
  291. package/dist/esm/router/cloudflare/runtime/walletConsoleOpsClient.js +227 -0
  292. package/dist/esm/router/cloudflare/runtime/walletConsoleTenantRootLineage.js +30 -0
  293. package/dist/esm/router/cloudflare/runtime/walletControlOps.js +107 -0
  294. package/dist/esm/router/cloudflare/runtime/walletGateway.js +149 -0
  295. package/dist/esm/router/cloudflare/runtime/walletRuntimeOps.js +322 -0
  296. package/dist/esm/router/cloudflare/runtime/walletRuntimeOpsHandler.js +48 -0
  297. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.js +597 -0
  298. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.js +272 -0
  299. package/dist/esm/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.js +477 -0
  300. package/dist/esm/router/cloudflare/signingLanes/index.js +4 -0
  301. package/dist/esm/router/cloudflare/signingLanes/linkedDeviceEd25519CeremonyBinding.js +32 -0
  302. package/dist/esm/router/cloudflare-adaptor.js +45 -0
  303. package/dist/esm/router/cloudflare.js +42794 -0
  304. package/dist/esm/router/domains/ecdsa/routerAbEcdsaStrictRegistration.js +738 -0
  305. package/dist/esm/router/domains/ecdsa/thresholdEcdsaRequestValidation.js +134 -0
  306. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.js +368 -0
  307. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.js +624 -0
  308. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.js +143 -0
  309. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPersistence.js +270 -0
  310. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRunner.js +31 -0
  311. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.js +162 -0
  312. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.js +1366 -0
  313. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.js +465 -0
  314. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.js +1609 -0
  315. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.js +540 -0
  316. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryWalletSessionAuthorization.js +394 -0
  317. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.js +572 -0
  318. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.js +555 -0
  319. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.js +268 -0
  320. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.js +329 -0
  321. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationRequestScopedCloudflare.js +423 -0
  322. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.js +432 -0
  323. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationTwoPhaseRunner.js +58 -0
  324. package/dist/esm/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.js +0 -0
  325. package/dist/esm/router/domains/ed25519Yao/session/routerAbEd25519YaoWalletSession.js +0 -0
  326. package/dist/esm/router/domains/ed25519Yao/session/thresholdEd25519RequestValidation.js +275 -0
  327. package/dist/esm/router/domains/emailOtp/emailOtpExportPolicy.js +70 -0
  328. package/dist/esm/router/domains/emailOtp/emailOtpRequestValidation.js +34 -0
  329. package/dist/esm/router/domains/emailOtp/emailOtpRouteHandlers.js +218 -0
  330. package/dist/esm/router/domains/emailOtp/emailOtpSessionRouteHelpers.js +210 -0
  331. package/dist/esm/router/domains/passkeyCustody/envelopeRevocationAdmission.js +26 -0
  332. package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.js +107 -0
  333. package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrievalRoute.js +45 -0
  334. package/dist/esm/router/domains/passkeyCustody/registrationCustodyOutcome.js +47 -0
  335. package/dist/esm/router/domains/passkeyCustody/verifiedCustodyFactor.js +46 -0
  336. package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationAdmission.js +32 -0
  337. package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationCommit.js +170 -0
  338. package/dist/esm/router/domains/passkeyCustody/walletRecoveryAttempt.js +64 -0
  339. package/dist/esm/router/domains/passkeyCustody/walletRecoveryFinalization.js +652 -0
  340. package/dist/esm/router/domains/passkeyCustody/walletRecoveryKeyManifest.js +396 -0
  341. package/dist/esm/router/domains/passkeyCustody/walletRecoveryRotation.js +87 -0
  342. package/dist/esm/router/domains/signingOperations/ed25519AuthorizedOperationReceipt.js +89 -0
  343. package/dist/esm/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.js +106 -0
  344. package/dist/esm/router/domains/signingOperations/routerAbPrivateSigningWorker.js +2669 -0
  345. package/dist/esm/router/domains/signingOperations/walletExecutionAdmission.js +228 -0
  346. package/dist/esm/router/domains/syncAccount/syncAccountRequestValidation.js +78 -0
  347. package/dist/esm/router/domains/tenantRoot/tenantRootCustodyLineage.js +0 -0
  348. package/dist/esm/router/domains/tenantRoot/tenantRootEcdsaWalletSessionComposition.js +55 -0
  349. package/dist/esm/router/domains/tenantRoot/tenantRootEd25519WalletSessionComposition.js +56 -0
  350. package/dist/esm/router/domains/tenantRoot/tenantRootIdentityResolution.js +111 -0
  351. package/dist/esm/router/domains/walletRegistration/walletRegistrationInputs.js +0 -0
  352. package/dist/esm/router/domains/walletRegistration/walletRegistrationRoutes.js +2199 -0
  353. package/dist/esm/router/domains/walletRegistration/walletRegistrationSetupPayload.js +155 -0
  354. package/dist/esm/router/domains/walletUnlock/walletUnlockRequestedCapabilitiesValidation.js +84 -0
  355. package/dist/esm/router/domains/walletUnlock/walletUnlockRouteHandlers.js +1142 -0
  356. package/dist/esm/router/express-adaptor.js +84 -0
  357. package/dist/esm/router/express.js +26616 -0
  358. package/dist/esm/router/framework/apiCredentialPorts.js +11 -0
  359. package/dist/esm/router/framework/applyRouteMetering.js +26 -0
  360. package/dist/esm/router/framework/authServicePort.js +30 -0
  361. package/dist/esm/router/framework/enforceRoutePolicy.js +92 -0
  362. package/dist/esm/router/framework/http.js +87 -0
  363. package/dist/esm/router/framework/logger.js +7 -0
  364. package/dist/esm/router/framework/modules.js +34 -0
  365. package/dist/esm/router/framework/ror/index.js +5 -0
  366. package/dist/esm/router/framework/ror/normalize.js +57 -0
  367. package/dist/esm/router/framework/ror/options.js +33 -0
  368. package/dist/esm/router/framework/ror/provider.js +33 -0
  369. package/dist/esm/router/framework/ror/staticProvider.js +24 -0
  370. package/dist/esm/router/framework/routeAuthPolicy.js +16 -0
  371. package/dist/esm/router/framework/routeDefinitions.js +446 -0
  372. package/dist/esm/router/framework/routeExecutionContext.js +24 -0
  373. package/dist/esm/router/framework/routeExtensions.js +50 -0
  374. package/dist/esm/router/framework/routeMeteringPolicy.js +0 -0
  375. package/dist/esm/router/framework/routeRequestValidation.js +32 -0
  376. package/dist/esm/router/framework/routeResponses.js +33 -0
  377. package/dist/esm/router/framework/routerApi.js +42 -0
  378. package/dist/esm/router/framework/routerApiRouteSurface.js +54 -0
  379. package/dist/esm/router/framework/routerApiWebhooks.js +60 -0
  380. package/dist/esm/router/framework/runtimeSnapshotConsumer.js +145 -0
  381. package/dist/esm/router/framework/versionedJsonRecordStore.js +0 -0
  382. package/dist/esm/router/ror-adaptor.js +5 -0
  383. package/dist/esm/router/ror.js +178 -0
  384. package/dist/esm/router/transport/fetch/createFetchRouter.js +309 -0
  385. package/dist/esm/router/transport/fetch/fetchRouter.types.js +0 -0
  386. package/dist/esm/router/transport/fetch/routes/auth.js +219 -0
  387. package/dist/esm/router/transport/fetch/routes/deviceLinking.js +1196 -0
  388. package/dist/esm/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.js +264 -0
  389. package/dist/esm/router/transport/fetch/routes/deviceManagement.js +289 -0
  390. package/dist/esm/router/transport/fetch/routes/health.js +42 -0
  391. package/dist/esm/router/transport/fetch/routes/nearPublicKeys.js +39 -0
  392. package/dist/esm/router/transport/fetch/routes/normalSigningRouterProxy.js +118 -0
  393. package/dist/esm/router/transport/fetch/routes/passkeyCustody.js +1618 -0
  394. package/dist/esm/router/transport/fetch/routes/sessions.js +1033 -0
  395. package/dist/esm/router/transport/fetch/routes/syncAccount.js +187 -0
  396. package/dist/esm/router/transport/fetch/routes/syncAccountBootstrap.js +214 -0
  397. package/dist/esm/router/transport/fetch/routes/thresholdEcdsa.js +1729 -0
  398. package/dist/esm/router/transport/fetch/routes/thresholdEd25519.js +1321 -0
  399. package/dist/esm/router/transport/fetch/routes/walletExecutionLanePreflight.js +228 -0
  400. package/dist/esm/router/transport/fetch/routes/walletRegistration.js +73 -0
  401. package/dist/esm/router/transport/fetch/routes/webauthnAuthenticators.js +43 -0
  402. package/dist/esm/router/transport/fetch/routes/wellKnown.js +48 -0
  403. package/dist/esm/shared-ts/src/authorization/capabilityKinds.js +224 -0
  404. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +134 -0
  405. package/dist/esm/shared-ts/src/authorization/index.js +6 -0
  406. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +58 -0
  407. package/dist/esm/shared-ts/src/authorization/walletAuthority.js +802 -0
  408. package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +18 -0
  409. package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +5 -0
  410. package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +332 -0
  411. package/dist/esm/shared-ts/src/device-linking/contracts.js +8 -0
  412. package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +132 -0
  413. package/dist/esm/shared-ts/src/device-linking/digests.js +273 -0
  414. package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +158 -0
  415. package/dist/esm/shared-ts/src/device-linking/index.js +9 -0
  416. package/dist/esm/shared-ts/src/device-linking/parsers.js +1412 -0
  417. package/dist/esm/shared-ts/src/device-linking/requestProof.js +114 -0
  418. package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +563 -0
  419. package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +207 -0
  420. package/dist/esm/shared-ts/src/near/actions.js +75 -0
  421. package/dist/esm/shared-ts/src/passkey-custody/ceremonyCommitPayload.js +69 -0
  422. package/dist/esm/shared-ts/src/passkey-custody/credentialActivity.js +81 -0
  423. package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +272 -0
  424. package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +175 -0
  425. package/dist/esm/shared-ts/src/passkey-custody/index.js +5 -0
  426. package/dist/esm/shared-ts/src/passkey-custody/primitives.js +92 -0
  427. package/dist/esm/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.js +53 -0
  428. package/dist/esm/shared-ts/src/signing-lanes/execution.js +14 -0
  429. package/dist/esm/shared-ts/src/signing-lanes/index.js +11 -0
  430. package/dist/esm/shared-ts/src/signing-lanes/linkedEcdsaScope.js +1 -0
  431. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +91 -0
  432. package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +124 -0
  433. package/dist/esm/shared-ts/src/signing-lanes/participants.js +262 -0
  434. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +143 -0
  435. package/dist/esm/shared-ts/src/signing-lanes/rotation.js +8 -0
  436. package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +397 -0
  437. package/dist/esm/shared-ts/src/signing-lanes/rotationLifecycle.js +313 -0
  438. package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +1620 -0
  439. package/dist/esm/shared-ts/src/tenant-root/index.js +2 -0
  440. package/dist/esm/shared-ts/src/tenant-root/tenantRootIdentity.js +198 -0
  441. package/dist/esm/shared-ts/src/tenant-root/tenantRootOperationRecord.js +440 -0
  442. package/dist/esm/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.js +85 -0
  443. package/dist/esm/shared-ts/src/threshold/participants.js +26 -0
  444. package/dist/esm/shared-ts/src/threshold/sessionPolicy.js +9 -0
  445. package/dist/esm/shared-ts/src/threshold/signingRootScope.js +40 -0
  446. package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +104 -0
  447. package/dist/esm/shared-ts/src/utils/addWalletAuthMethod.js +36 -0
  448. package/dist/esm/shared-ts/src/utils/base58.js +28 -0
  449. package/dist/esm/shared-ts/src/utils/base64.js +70 -0
  450. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +27 -0
  451. package/dist/esm/shared-ts/src/utils/digests.js +33 -0
  452. package/dist/esm/shared-ts/src/utils/domainIds.js +309 -0
  453. package/dist/esm/shared-ts/src/utils/ecdsaCapabilityActivation.js +34 -0
  454. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +46 -0
  455. package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +38 -0
  456. package/dist/esm/shared-ts/src/utils/emailOtpRecoveryKey.js +10 -0
  457. package/dist/esm/shared-ts/src/utils/encoders.js +2 -0
  458. package/dist/esm/shared-ts/src/utils/errors.js +88 -0
  459. package/dist/esm/shared-ts/src/utils/evmRpcResults.js +97 -0
  460. package/dist/esm/shared-ts/src/utils/jsonRpc.js +64 -0
  461. package/dist/esm/shared-ts/src/utils/keccak.js +150 -0
  462. package/dist/esm/shared-ts/src/utils/near.js +99 -0
  463. package/dist/esm/shared-ts/src/utils/nearRpcResults.js +205 -0
  464. package/dist/esm/shared-ts/src/utils/normalize.js +87 -0
  465. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +201 -0
  466. package/dist/esm/shared-ts/src/utils/registrationIntent.js +1268 -0
  467. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +1655 -0
  468. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +984 -0
  469. package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +118 -0
  470. package/dist/esm/shared-ts/src/utils/routerAbPublicKeyset.js +138 -0
  471. package/dist/esm/shared-ts/src/utils/routerAbTraceContext.js +36 -0
  472. package/dist/esm/shared-ts/src/utils/secureRandomId.js +35 -0
  473. package/dist/esm/shared-ts/src/utils/signingSessionSeal.js +118 -0
  474. package/dist/esm/shared-ts/src/utils/thresholdEcdsaKeyHandle.js +28 -0
  475. package/dist/esm/shared-ts/src/utils/validation.js +23 -0
  476. package/dist/esm/shared-ts/src/utils/walletAddSignerActivation.js +32 -0
  477. package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +207 -0
  478. package/dist/esm/shared-ts/src/utils/walletSessionFailure.js +15 -0
  479. package/dist/esm/shared-ts/src/utils/webauthnDeviceInfo.js +207 -0
  480. package/dist/esm/shared-ts/src/wallet-recovery/backupAcknowledgement.js +66 -0
  481. package/dist/esm/shared-ts/src/wallet-recovery/index.js +10 -0
  482. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeIssuance.js +1 -0
  483. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +34 -0
  484. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +80 -0
  485. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodes.js +4 -0
  486. package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +53 -0
  487. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +108 -0
  488. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +157 -0
  489. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +233 -0
  490. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryRotation.js +3 -0
  491. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryTarget.js +29 -0
  492. package/dist/esm/storage/d1Sql.js +85 -0
  493. package/dist/esm/storage/tenantRoute.js +89 -0
  494. package/dist/esm/tenant-root.js +5 -0
  495. package/dist/esm/threshold/session/signingSessionSeal/crypto/cipher.js +204 -0
  496. package/dist/esm/threshold/session/signingSessionSeal/crypto/shamir3PassWasm.js +87 -0
  497. package/dist/esm/threshold/session/signingSessionSeal/guards/backends.js +192 -0
  498. package/dist/esm/threshold/session/signingSessionSeal/guards/index.js +121 -0
  499. package/dist/esm/threshold/session/signingSessionSeal/idempotency.js +38 -0
  500. package/dist/esm/threshold/session/signingSessionSeal/idempotencyBackends.js +131 -0
  501. package/dist/esm/threshold/session/signingSessionSeal/idempotencyRecords.js +55 -0
  502. package/dist/esm/threshold/session/signingSessionSeal/index.js +13 -0
  503. package/dist/esm/threshold/session/signingSessionSeal/observability/audit.js +38 -0
  504. package/dist/esm/threshold/session/signingSessionSeal/options.js +54 -0
  505. package/dist/esm/threshold/session/signingSessionSeal/routesOptions.js +45 -0
  506. package/dist/esm/threshold/session/signingSessionSeal/service.js +316 -0
  507. package/dist/esm/threshold/session/signingSessionSeal/signingSessionSeal.types.js +0 -0
  508. package/dist/esm/threshold/session/signingSessionSeal/transport/express.js +151 -0
  509. package/dist/esm/threshold/session/signingSessionSeal/transport/fetch.js +106 -0
  510. package/dist/esm/threshold/session/signingSessionSeal/transport/shared.js +159 -0
  511. package/dist/esm/threshold/statusCodes.js +39 -0
  512. package/dist/esm/wasm/evm_crypto/pkg/evm_crypto.js +601 -0
  513. package/dist/esm/wasm/evm_crypto/pkg/evm_crypto_bg.wasm +0 -0
  514. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +1078 -0
  515. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  516. package/dist/esm/wasm/router_ab_ecdsa_signing_worker/pkg/router_ab_ecdsa_signing_worker.js +503 -0
  517. package/dist/esm/wasm/router_ab_ecdsa_signing_worker/pkg/router_ab_ecdsa_signing_worker_bg.wasm +0 -0
  518. package/dist/esm/wasm/shamir3pass_runtime/pkg/shamir3pass_runtime.js +393 -0
  519. package/dist/esm/wasm/shamir3pass_runtime/pkg/shamir3pass_runtime_bg.wasm +0 -0
  520. package/dist/esm/wasm/signer.js +2 -0
  521. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +147 -0
  522. package/dist/types/shared-ts/src/authorization/capabilityKinds.typecheck.d.ts +2 -0
  523. package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +44 -0
  524. package/dist/types/shared-ts/src/authorization/index.d.ts +7 -0
  525. package/dist/types/shared-ts/src/authorization/operationFingerprint.d.ts +39 -0
  526. package/dist/types/shared-ts/src/authorization/operationFingerprint.typecheck.d.ts +2 -0
  527. package/dist/types/shared-ts/src/authorization/walletAuthority.d.ts +168 -0
  528. package/dist/types/shared-ts/src/authorization/walletAuthority.typecheck.d.ts +2 -0
  529. package/dist/types/shared-ts/src/authorization/walletCustodyOperation.d.ts +10 -0
  530. package/dist/types/shared-ts/src/authorization/walletSessionIssuance.d.ts +28 -0
  531. package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +3 -0
  532. package/dist/types/shared-ts/src/device-linking/activeWalletSession.typecheck.d.ts +2 -0
  533. package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +71 -0
  534. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +843 -0
  535. package/dist/types/shared-ts/src/device-linking/contracts.typecheck.d.ts +2 -0
  536. package/dist/types/shared-ts/src/device-linking/delegatedActivationPlan.d.ts +37 -0
  537. package/dist/types/shared-ts/src/device-linking/digests.d.ts +23 -0
  538. package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +93 -0
  539. package/dist/types/shared-ts/src/device-linking/index.d.ts +11 -0
  540. package/dist/types/shared-ts/src/device-linking/parsers.d.ts +124 -0
  541. package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +26 -0
  542. package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +182 -0
  543. package/dist/types/shared-ts/src/device-linking/walletSessionCredentialDelivery.d.ts +84 -0
  544. package/dist/types/shared-ts/src/index.d.ts +10 -0
  545. package/dist/types/shared-ts/src/near/actions.d.ts +141 -0
  546. package/dist/types/shared-ts/src/near/delegate.d.ts +55 -0
  547. package/dist/types/shared-ts/src/near/index.d.ts +3 -0
  548. package/dist/types/shared-ts/src/passkey-custody/ceremonyCommitPayload.d.ts +211 -0
  549. package/dist/types/shared-ts/src/passkey-custody/credentialActivity.d.ts +49 -0
  550. package/dist/types/shared-ts/src/passkey-custody/credentialObservations.d.ts +74 -0
  551. package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +191 -0
  552. package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +140 -0
  553. package/dist/types/shared-ts/src/passkey-custody/envelopeIndex.d.ts +29 -0
  554. package/dist/types/shared-ts/src/passkey-custody/index.d.ts +9 -0
  555. package/dist/types/shared-ts/src/passkey-custody/kekContext.d.ts +34 -0
  556. package/dist/types/shared-ts/src/passkey-custody/passkeyCustody.typecheck.d.ts +2 -0
  557. package/dist/types/shared-ts/src/passkey-custody/primitives.d.ts +34 -0
  558. package/dist/types/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.d.ts +27 -0
  559. package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +91 -0
  560. package/dist/types/shared-ts/src/signing-lanes/execution.typecheck.d.ts +2 -0
  561. package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +18 -0
  562. package/dist/types/shared-ts/src/signing-lanes/index.d.ts +14 -0
  563. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.d.ts +62 -0
  564. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.typecheck.d.ts +2 -0
  565. package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +30 -0
  566. package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.typecheck.d.ts +2 -0
  567. package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +48 -0
  568. package/dist/types/shared-ts/src/signing-lanes/participantDigest.typecheck.d.ts +2 -0
  569. package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +89 -0
  570. package/dist/types/shared-ts/src/signing-lanes/recordParsers.d.ts +128 -0
  571. package/dist/types/shared-ts/src/signing-lanes/records.d.ts +160 -0
  572. package/dist/types/shared-ts/src/signing-lanes/records.typecheck.d.ts +2 -0
  573. package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +894 -0
  574. package/dist/types/shared-ts/src/signing-lanes/rotation.typecheck.d.ts +2 -0
  575. package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +32 -0
  576. package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +99 -0
  577. package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +67 -0
  578. package/dist/types/shared-ts/src/signing-lanes/validation.d.ts +11 -0
  579. package/dist/types/shared-ts/src/tenant-root/index.d.ts +3 -0
  580. package/dist/types/shared-ts/src/tenant-root/tenantRootIdentity.d.ts +72 -0
  581. package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +192 -0
  582. package/dist/types/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.d.ts +77 -0
  583. package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +130 -0
  584. package/dist/types/shared-ts/src/threshold/index.d.ts +7 -0
  585. package/dist/types/shared-ts/src/threshold/participants.d.ts +38 -0
  586. package/dist/types/shared-ts/src/threshold/secp256k1.d.ts +39 -0
  587. package/dist/types/shared-ts/src/threshold/sessionPolicy.d.ts +5 -0
  588. package/dist/types/shared-ts/src/threshold/signingRootScope.d.ts +24 -0
  589. package/dist/types/shared-ts/src/utils/addAuthMethodRegistration.d.ts +63 -0
  590. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +295 -0
  591. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +11 -0
  592. package/dist/types/shared-ts/src/utils/authenticatorOptions.d.ts +25 -0
  593. package/dist/types/shared-ts/src/utils/base58.d.ts +17 -0
  594. package/dist/types/shared-ts/src/utils/base64.d.ts +53 -0
  595. package/dist/types/shared-ts/src/utils/bigint.d.ts +3 -0
  596. package/dist/types/shared-ts/src/utils/canonicalPrimitives.d.ts +12 -0
  597. package/dist/types/shared-ts/src/utils/digests.d.ts +6 -0
  598. package/dist/types/shared-ts/src/utils/domainIds.d.ts +140 -0
  599. package/dist/types/shared-ts/src/utils/domainIds.typecheck.d.ts +2 -0
  600. package/dist/types/shared-ts/src/utils/ecdsaCapabilityActivation.d.ts +29 -0
  601. package/dist/types/shared-ts/src/utils/ecdsaKeyFactsInventory.d.ts +24 -0
  602. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +30 -0
  603. package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +31 -0
  604. package/dist/types/shared-ts/src/utils/encoders.d.ts +3 -0
  605. package/dist/types/shared-ts/src/utils/errors.d.ts +44 -0
  606. package/dist/types/shared-ts/src/utils/evmRpcResults.d.ts +31 -0
  607. package/dist/types/shared-ts/src/utils/generated/routerAbEd25519YaoCore.d.ts +128 -0
  608. package/dist/types/shared-ts/src/utils/index.d.ts +34 -0
  609. package/dist/types/shared-ts/src/utils/jsonRpc.d.ts +30 -0
  610. package/dist/types/shared-ts/src/utils/keccak.d.ts +2 -0
  611. package/dist/types/shared-ts/src/utils/near.d.ts +81 -0
  612. package/dist/types/shared-ts/src/utils/nearRpcResults.d.ts +101 -0
  613. package/dist/types/shared-ts/src/utils/normalize.d.ts +57 -0
  614. package/dist/types/shared-ts/src/utils/paillier.d.ts +37 -0
  615. package/dist/types/shared-ts/src/utils/recoveryDomain.d.ts +12 -0
  616. package/dist/types/shared-ts/src/utils/registrationEstablishedSession.d.ts +85 -0
  617. package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +621 -0
  618. package/dist/types/shared-ts/src/utils/registrationIntent.typecheck.d.ts +2 -0
  619. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +715 -0
  620. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.typecheck.d.ts +2 -0
  621. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivationRefresh.typecheck.d.ts +2 -0
  622. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +339 -0
  623. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.typecheck.d.ts +2 -0
  624. package/dist/types/shared-ts/src/utils/routerAbNormalSigningIdentity.d.ts +71 -0
  625. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +51 -0
  626. package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +16 -0
  627. package/dist/types/shared-ts/src/utils/secureRandomId.d.ts +6 -0
  628. package/dist/types/shared-ts/src/utils/signerDomain.d.ts +75 -0
  629. package/dist/types/shared-ts/src/utils/signerDomain.typecheck.d.ts +2 -0
  630. package/dist/types/shared-ts/src/utils/signerSlot.d.ts +11 -0
  631. package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +153 -0
  632. package/dist/types/shared-ts/src/utils/signingSessionSeal.typecheck.d.ts +2 -0
  633. package/dist/types/shared-ts/src/utils/theme.d.ts +2 -0
  634. package/dist/types/shared-ts/src/utils/thresholdEcdsaKeyHandle.d.ts +11 -0
  635. package/dist/types/shared-ts/src/utils/validation.d.ts +35 -0
  636. package/dist/types/shared-ts/src/utils/walletAddSignerActivation.d.ts +23 -0
  637. package/dist/types/shared-ts/src/utils/walletAuthAuthority.d.ts +150 -0
  638. package/dist/types/shared-ts/src/utils/walletAuthAuthority.typecheck.d.ts +2 -0
  639. package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +106 -0
  640. package/dist/types/shared-ts/src/utils/walletCapabilityBindings.typecheck.d.ts +2 -0
  641. package/dist/types/shared-ts/src/utils/walletSessionFailure.d.ts +13 -0
  642. package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +48 -0
  643. package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +56 -0
  644. package/dist/types/shared-ts/src/wallet-recovery/index.d.ts +10 -0
  645. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeAttempt.d.ts +59 -0
  646. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeIssuance.d.ts +37 -0
  647. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeLocator.d.ts +22 -0
  648. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +79 -0
  649. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodes.d.ts +11 -0
  650. package/dist/types/shared-ts/src/wallet-recovery/recoveryEnvelopes.d.ts +42 -0
  651. package/dist/types/shared-ts/src/wallet-recovery/recoveryKekContext.d.ts +37 -0
  652. package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +58 -0
  653. package/dist/types/shared-ts/src/wallet-recovery/walletRecovery.typecheck.d.ts +2 -0
  654. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.d.ts +110 -0
  655. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.d.ts +29 -0
  656. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.d.ts +115 -0
  657. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryRotation.d.ts +18 -0
  658. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryTarget.d.ts +12 -0
  659. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryTarget.typecheck.d.ts +2 -0
  660. package/dist/types/wallet-server/src/authorization/capabilityPolicy.d.ts +45 -0
  661. package/dist/types/wallet-server/src/authorization/capabilityPolicy.typecheck.d.ts +2 -0
  662. package/dist/types/wallet-server/src/authorization/domain.d.ts +454 -0
  663. package/dist/types/wallet-server/src/authorization/domain.typecheck.d.ts +2 -0
  664. package/dist/types/wallet-server/src/authorization/factorEvidence.d.ts +165 -0
  665. package/dist/types/wallet-server/src/authorization/factorEvidence.typecheck.d.ts +2 -0
  666. package/dist/types/wallet-server/src/authorization/service.d.ts +227 -0
  667. package/dist/types/wallet-server/src/authorization/vaultProxyUse.d.ts +75 -0
  668. package/dist/types/wallet-server/src/cloud-host.d.ts +94 -0
  669. package/dist/types/wallet-server/src/core/AuthService.d.ts +3 -0
  670. package/dist/types/wallet-server/src/core/EmailOtpRecords.d.ts +33 -0
  671. package/dist/types/wallet-server/src/core/EmailOtpStores.d.ts +336 -0
  672. package/dist/types/wallet-server/src/core/IdentityStore.d.ts +57 -0
  673. package/dist/types/wallet-server/src/core/NearPublicKeyStore.d.ts +58 -0
  674. package/dist/types/wallet-server/src/core/RegistrationCeremonyStore.d.ts +551 -0
  675. package/dist/types/wallet-server/src/core/SessionService.d.ts +70 -0
  676. package/dist/types/wallet-server/src/core/ThresholdService/config.d.ts +23 -0
  677. package/dist/types/wallet-server/src/core/ThresholdService/ecdsaClientRootProof.d.ts +12 -0
  678. package/dist/types/wallet-server/src/core/ThresholdService/evmCryptoWasm.d.ts +32 -0
  679. package/dist/types/wallet-server/src/core/ThresholdService/index.d.ts +4 -0
  680. package/dist/types/wallet-server/src/core/ThresholdService/kv.d.ts +52 -0
  681. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.d.ts +45 -0
  682. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillLiveSession.d.ts +93 -0
  683. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.d.ts +138 -0
  684. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/internalServiceHttp.d.ts +30 -0
  685. package/dist/types/wallet-server/src/core/ThresholdService/routerAbEcdsaSigningWorkerWasm.d.ts +17 -0
  686. package/dist/types/wallet-server/src/core/ThresholdService/routerAbNormalSigningPolicy.d.ts +21 -0
  687. package/dist/types/wallet-server/src/core/ThresholdService/secureRandomId.d.ts +2 -0
  688. package/dist/types/wallet-server/src/core/ThresholdService/stores/CloudflareDurableObjectStore.d.ts +128 -0
  689. package/dist/types/wallet-server/src/core/ThresholdService/stores/EcdsaSigningStore.d.ts +76 -0
  690. package/dist/types/wallet-server/src/core/ThresholdService/stores/KeyStore.d.ts +39 -0
  691. package/dist/types/wallet-server/src/core/ThresholdService/stores/SessionStore.d.ts +102 -0
  692. package/dist/types/wallet-server/src/core/ThresholdService/stores/StoreConfig.d.ts +3 -0
  693. package/dist/types/wallet-server/src/core/ThresholdService/stores/ThresholdStoreConfig.typecheck.d.ts +2 -0
  694. package/dist/types/wallet-server/src/core/ThresholdService/stores/WalletSessionStore.d.ts +98 -0
  695. package/dist/types/wallet-server/src/core/ThresholdService/thresholdEd25519AuthorityScope.typecheck.d.ts +2 -0
  696. package/dist/types/wallet-server/src/core/ThresholdService/validation.d.ts +193 -0
  697. package/dist/types/wallet-server/src/core/WalletAuthMethodStore.d.ts +12 -0
  698. package/dist/types/wallet-server/src/core/WalletStore.d.ts +143 -0
  699. package/dist/types/wallet-server/src/core/WalletStore.typecheck.d.ts +2 -0
  700. package/dist/types/wallet-server/src/core/WebAuthnAuthenticatorStore.d.ts +62 -0
  701. package/dist/types/wallet-server/src/core/WebAuthnCredentialBindingStore.d.ts +116 -0
  702. package/dist/types/wallet-server/src/core/WebAuthnCredentialBindingStore.typecheck.d.ts +13 -0
  703. package/dist/types/wallet-server/src/core/WebAuthnLoginChallengeStore.d.ts +50 -0
  704. package/dist/types/wallet-server/src/core/WebAuthnSyncChallengeStore.d.ts +50 -0
  705. package/dist/types/wallet-server/src/core/authService/AuthService.d.ts +493 -0
  706. package/dist/types/wallet-server/src/core/authService/bytes.d.ts +4 -0
  707. package/dist/types/wallet-server/src/core/authService/configValues.d.ts +7 -0
  708. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeOperations.d.ts +108 -0
  709. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeProof.d.ts +177 -0
  710. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeVerification.d.ts +46 -0
  711. package/dist/types/wallet-server/src/core/authService/emailOtpChallenges.d.ts +110 -0
  712. package/dist/types/wallet-server/src/core/authService/emailOtpConfig.d.ts +34 -0
  713. package/dist/types/wallet-server/src/core/authService/emailOtpDelivery.d.ts +65 -0
  714. package/dist/types/wallet-server/src/core/authService/emailOtpEnrollment.d.ts +79 -0
  715. package/dist/types/wallet-server/src/core/authService/emailOtpGrant.d.ts +42 -0
  716. package/dist/types/wallet-server/src/core/authService/emailOtpRegistrationEnrollment.d.ts +116 -0
  717. package/dist/types/wallet-server/src/core/authService/emailOtpSeal.d.ts +35 -0
  718. package/dist/types/wallet-server/src/core/authService/emailOtpUnlock.d.ts +70 -0
  719. package/dist/types/wallet-server/src/core/authService/githubOAuth.d.ts +35 -0
  720. package/dist/types/wallet-server/src/core/authService/googleEmailOtpErrors.d.ts +2 -0
  721. package/dist/types/wallet-server/src/core/authService/googleEmailOtpOperations.d.ts +126 -0
  722. package/dist/types/wallet-server/src/core/authService/googleEmailOtpRegistration.d.ts +172 -0
  723. package/dist/types/wallet-server/src/core/authService/identity.d.ts +25 -0
  724. package/dist/types/wallet-server/src/core/authService/identityOperations.d.ts +19 -0
  725. package/dist/types/wallet-server/src/core/authService/nearAccountOperations.d.ts +55 -0
  726. package/dist/types/wallet-server/src/core/authService/nearPrivateKeySigning.d.ts +16 -0
  727. package/dist/types/wallet-server/src/core/authService/nearPublicKeyMetadata.d.ts +43 -0
  728. package/dist/types/wallet-server/src/core/authService/nearTransactions.d.ts +49 -0
  729. package/dist/types/wallet-server/src/core/authService/oidcVerification.d.ts +65 -0
  730. package/dist/types/wallet-server/src/core/authService/portableCrypto.d.ts +3 -0
  731. package/dist/types/wallet-server/src/core/authService/rateLimits.d.ts +30 -0
  732. package/dist/types/wallet-server/src/core/authService/record.d.ts +2 -0
  733. package/dist/types/wallet-server/src/core/authService/registrationThresholdHelpers.d.ts +37 -0
  734. package/dist/types/wallet-server/src/core/authService/runtime.d.ts +20 -0
  735. package/dist/types/wallet-server/src/core/authService/signerWasmUrls.d.ts +3 -0
  736. package/dist/types/wallet-server/src/core/authService/storeRegistry.d.ts +58 -0
  737. package/dist/types/wallet-server/src/core/authService/thresholdEcdsaKeyInventory.d.ts +72 -0
  738. package/dist/types/wallet-server/src/core/authService/thresholdRuntimePolicy.d.ts +4 -0
  739. package/dist/types/wallet-server/src/core/authService/thresholdStoreSummary.d.ts +3 -0
  740. package/dist/types/wallet-server/src/core/authService/walletRegistrationPlanning.d.ts +19 -0
  741. package/dist/types/wallet-server/src/core/authService/wasm.d.ts +12 -0
  742. package/dist/types/wallet-server/src/core/authService/webauthn.d.ts +207 -0
  743. package/dist/types/wallet-server/src/core/authService/webauthnAuthority.d.ts +5 -0
  744. package/dist/types/wallet-server/src/core/authService/webauthnOidcHelpers.d.ts +52 -0
  745. package/dist/types/wallet-server/src/core/authService/webauthnWalletBinding.d.ts +48 -0
  746. package/dist/types/wallet-server/src/core/config.d.ts +13 -0
  747. package/dist/types/wallet-server/src/core/d1IdentityStore.d.ts +44 -0
  748. package/dist/types/wallet-server/src/core/d1WalletAuthMethodStore.d.ts +214 -0
  749. package/dist/types/wallet-server/src/core/d1WalletStore.d.ts +108 -0
  750. package/dist/types/wallet-server/src/core/defaultConfigsServer.d.ts +5 -0
  751. package/dist/types/wallet-server/src/core/deviceLinking/index.d.ts +5 -0
  752. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceEd25519ExportRoot.d.ts +36 -0
  753. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceEmailOtpGrant.d.ts +87 -0
  754. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceManagement.d.ts +137 -0
  755. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSession.d.ts +462 -0
  756. package/dist/types/wallet-server/src/core/deviceLinking/requestProof.d.ts +55 -0
  757. package/dist/types/wallet-server/src/core/errors.d.ts +10 -0
  758. package/dist/types/wallet-server/src/core/hostedAccountIds.d.ts +31 -0
  759. package/dist/types/wallet-server/src/core/keyMaterialBrands.d.ts +28 -0
  760. package/dist/types/wallet-server/src/core/keyMaterialBrands.typecheck.d.ts +2 -0
  761. package/dist/types/wallet-server/src/core/logger.d.ts +21 -0
  762. package/dist/types/wallet-server/src/core/nearKeys.d.ts +3 -0
  763. package/dist/types/wallet-server/src/core/nearRelayerAccountProvisioning.d.ts +78 -0
  764. package/dist/types/wallet-server/src/core/nearSignerWasmRuntime.d.ts +3 -0
  765. package/dist/types/wallet-server/src/core/registrationContracts.d.ts +747 -0
  766. package/dist/types/wallet-server/src/core/registrationRequests.typecheck.d.ts +2 -0
  767. package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbEcdsaPresignRuntime.d.ts +53 -0
  768. package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbNormalSigningRuntime.d.ts +71 -0
  769. package/dist/types/wallet-server/src/core/routerAbSigning/createCloudflareDurableObjectRouterAbSigningRuntimes.d.ts +28 -0
  770. package/dist/types/wallet-server/src/core/routerAbSigning/createRouterAbSigningRuntimes.d.ts +16 -0
  771. package/dist/types/wallet-server/src/core/rpcClients/near/NearClient.d.ts +134 -0
  772. package/dist/types/wallet-server/src/core/sessionValidation.d.ts +9 -0
  773. package/dist/types/wallet-server/src/core/signingLanes/LaneAggregateRevocationApplicationService.d.ts +35 -0
  774. package/dist/types/wallet-server/src/core/signingLanes/LaneEffectJournalStore.d.ts +63 -0
  775. package/dist/types/wallet-server/src/core/signingLanes/LaneEnrollmentActivation.d.ts +13 -0
  776. package/dist/types/wallet-server/src/core/signingLanes/LaneEnrollmentRevocation.d.ts +24 -0
  777. package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleApplicationService.d.ts +141 -0
  778. package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleStore.d.ts +229 -0
  779. package/dist/types/wallet-server/src/core/signingLanes/SigningLaneStore.d.ts +15 -0
  780. package/dist/types/wallet-server/src/core/signingLanes/WalletExecutionLaneProjection.d.ts +59 -0
  781. package/dist/types/wallet-server/src/core/signingLanes/WalletKeyStore.d.ts +13 -0
  782. package/dist/types/wallet-server/src/core/signingLanes/ecdsaServerRetirement.d.ts +58 -0
  783. package/dist/types/wallet-server/src/core/signingLanes/ed25519ServerRetirement.d.ts +30 -0
  784. package/dist/types/wallet-server/src/core/signingLanes/index.d.ts +11 -0
  785. package/dist/types/wallet-server/src/core/signingLanes/signingWorkerLaneMaterialIdentity.d.ts +21 -0
  786. package/dist/types/wallet-server/src/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.d.ts +155 -0
  787. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.d.ts +442 -0
  788. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.typecheck.d.ts +58 -0
  789. package/dist/types/wallet-server/src/core/thresholdEcdsaChainTarget.d.ts +15 -0
  790. package/dist/types/wallet-server/src/core/types.d.ts +757 -0
  791. package/dist/types/wallet-server/src/core/utils.d.ts +3 -0
  792. package/dist/types/wallet-server/src/delegateAction/index.d.ts +88 -0
  793. package/dist/types/wallet-server/src/hosted-wallet-gateway-worker.d.ts +10 -0
  794. package/dist/types/wallet-server/src/hosted-wallet-gateway.d.ts +126 -0
  795. package/dist/types/wallet-server/src/index.d.ts +34 -0
  796. package/dist/types/wallet-server/src/local-hosted-wallet-gateway-worker.d.ts +13 -0
  797. package/dist/types/wallet-server/src/router/auth/authRequestValidation.d.ts +97 -0
  798. package/dist/types/wallet-server/src/router/auth/commonRouterUtils.d.ts +142 -0
  799. package/dist/types/wallet-server/src/router/auth/routerApiCredentialAuth.d.ts +26 -0
  800. package/dist/types/wallet-server/src/router/auth/routerApiKeyAuth.d.ts +16 -0
  801. package/dist/types/wallet-server/src/router/auth/walletSessionFailure.d.ts +14 -0
  802. package/dist/types/wallet-server/src/router/auth/webAuthnCredentialCodecs.d.ts +20 -0
  803. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthBoundary.d.ts +28 -0
  804. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthConfig.d.ts +192 -0
  805. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthService.d.ts +13 -0
  806. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/d1AuthorizationStore.d.ts +174 -0
  807. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/d1VaultProxyStore.d.ts +13 -0
  808. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/walletSessionAuthorityProjection.d.ts +24 -0
  809. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.d.ts +241 -0
  810. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEd25519ExportRootStore.d.ts +23 -0
  811. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.d.ts +32 -0
  812. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.d.ts +118 -0
  813. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceManagementService.d.ts +22 -0
  814. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.d.ts +80 -0
  815. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.d.ts +29 -0
  816. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRouteService.d.ts +17 -0
  817. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.d.ts +37 -0
  818. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionService.d.ts +12 -0
  819. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.d.ts +149 -0
  820. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSourceContributionPreparationPlanner.d.ts +38 -0
  821. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetAuthenticatorStore.d.ts +19 -0
  822. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.d.ts +220 -0
  823. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.d.ts +88 -0
  824. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkBuilder.d.ts +54 -0
  825. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkSourceReader.d.ts +23 -0
  826. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/index.d.ts +15 -0
  827. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.d.ts +33 -0
  828. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.d.ts +6 -0
  829. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoWalletSigner.d.ts +27 -0
  830. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.d.ts +80 -0
  831. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.d.ts +48 -0
  832. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.d.ts +64 -0
  833. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.d.ts +126 -0
  834. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpDeliveryRuntime.d.ts +22 -0
  835. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.d.ts +68 -0
  836. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.d.ts +15 -0
  837. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.d.ts +37 -0
  838. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.d.ts +186 -0
  839. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.d.ts +45 -0
  840. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.d.ts +124 -0
  841. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.d.ts +24 -0
  842. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.d.ts +51 -0
  843. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.d.ts +69 -0
  844. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.d.ts +57 -0
  845. package/dist/types/wallet-server/src/router/cloudflare/d1/identity/d1IdentityRecords.d.ts +38 -0
  846. package/dist/types/wallet-server/src/router/cloudflare/d1/identity/d1IdentityService.d.ts +31 -0
  847. package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1NearPublicKeyStore.d.ts +30 -0
  848. package/dist/types/wallet-server/src/router/cloudflare/d1/oidc/d1OidcBoundary.d.ts +60 -0
  849. package/dist/types/wallet-server/src/router/cloudflare/d1/oidc/d1OidcVerificationService.d.ts +39 -0
  850. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyEnvelopeStore.d.ts +335 -0
  851. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.d.ts +448 -0
  852. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.d.ts +256 -0
  853. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpAttemptStore.d.ts +32 -0
  854. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpRecords.d.ts +116 -0
  855. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpService.d.ts +180 -0
  856. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1EvmFamilyEcdsaRegistrationBranch.d.ts +24 -0
  857. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.d.ts +86 -0
  858. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.d.ts +121 -0
  859. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.d.ts +84 -0
  860. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationIntentService.d.ts +31 -0
  861. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.d.ts +49 -0
  862. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationService.d.ts +369 -0
  863. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetup.d.ts +106 -0
  864. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.d.ts +104 -0
  865. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.d.ts +70 -0
  866. package/dist/types/wallet-server/src/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.d.ts +26 -0
  867. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1EcdsaLanePrivateBindingResolver.d.ts +4 -0
  868. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneAggregateRevocationApplicationService.d.ts +4 -0
  869. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.d.ts +25 -0
  870. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEnrollmentGateway.d.ts +20 -0
  871. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLifecycleApplicationService.d.ts +13 -0
  872. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.d.ts +51 -0
  873. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLockStore.d.ts +28 -0
  874. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneProtocolCommitter.d.ts +5 -0
  875. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneRecords.d.ts +107 -0
  876. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/index.d.ts +10 -0
  877. package/dist/types/wallet-server/src/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.d.ts +118 -0
  878. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.d.ts +114 -0
  879. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.typecheck.d.ts +2 -0
  880. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodBoundary.d.ts +90 -0
  881. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodService.d.ts +359 -0
  882. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorityStore.d.ts +143 -0
  883. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.d.ts +42 -0
  884. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnRecords.d.ts +135 -0
  885. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnStore.d.ts +89 -0
  886. package/dist/types/wallet-server/src/router/cloudflare/durableObjects/thresholdStore.d.ts +19 -0
  887. package/dist/types/wallet-server/src/router/cloudflare/durableObjects/versionedJsonRecordStore.d.ts +32 -0
  888. package/dist/types/wallet-server/src/router/cloudflare/runtime/cloudflare.types.d.ts +30 -0
  889. package/dist/types/wallet-server/src/router/cloudflare/runtime/cloudflareSignerWasm.d.ts +2 -0
  890. package/dist/types/wallet-server/src/router/cloudflare/runtime/createCloudflareRouter.d.ts +5 -0
  891. package/dist/types/wallet-server/src/router/cloudflare/runtime/createSelfHostedCloudflareSigningWorker.d.ts +23 -0
  892. package/dist/types/wallet-server/src/router/cloudflare/runtime/ed25519SessionAdapter.d.ts +16 -0
  893. package/dist/types/wallet-server/src/router/cloudflare/runtime/environment.d.ts +5 -0
  894. package/dist/types/wallet-server/src/router/cloudflare/runtime/routerAbPrewarm.d.ts +9 -0
  895. package/dist/types/wallet-server/src/router/cloudflare/runtime/routerAbServiceBindings.d.ts +11 -0
  896. package/dist/types/wallet-server/src/router/cloudflare/runtime/sessionAdapterRuntime.d.ts +28 -0
  897. package/dist/types/wallet-server/src/router/cloudflare/runtime/staticWalletConsoleBinding.d.ts +27 -0
  898. package/dist/types/wallet-server/src/router/cloudflare/runtime/tenantRootCreationGrant.d.ts +24 -0
  899. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOps.d.ts +143 -0
  900. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOpsClient.d.ts +20 -0
  901. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleTenantRootLineage.d.ts +7 -0
  902. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletControlOps.d.ts +21 -0
  903. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletGateway.d.ts +30 -0
  904. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRuntimeOps.d.ts +64 -0
  905. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRuntimeOpsHandler.d.ts +3 -0
  906. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.d.ts +217 -0
  907. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.d.ts +73 -0
  908. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.d.ts +100 -0
  909. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/index.d.ts +4 -0
  910. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/linkedDeviceEd25519CeremonyBinding.d.ts +6 -0
  911. package/dist/types/wallet-server/src/router/cloudflare-adaptor.d.ts +75 -0
  912. package/dist/types/wallet-server/src/router/domains/ecdsa/routerAbEcdsaStrictRegistration.d.ts +199 -0
  913. package/dist/types/wallet-server/src/router/domains/ecdsa/thresholdEcdsaRequestValidation.d.ts +32 -0
  914. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.d.ts +172 -0
  915. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.typecheck.d.ts +2 -0
  916. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.d.ts +156 -0
  917. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.d.ts +59 -0
  918. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPersistence.d.ts +47 -0
  919. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRunner.d.ts +29 -0
  920. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.d.ts +20 -0
  921. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.d.ts +271 -0
  922. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.d.ts +12 -0
  923. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.d.ts +509 -0
  924. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryActivation.typecheck.d.ts +2 -0
  925. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.d.ts +14 -0
  926. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryWalletSessionAuthorization.d.ts +20 -0
  927. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.d.ts +56 -0
  928. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.d.ts +200 -0
  929. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.d.ts +70 -0
  930. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.d.ts +73 -0
  931. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationRequestScopedCloudflare.d.ts +9 -0
  932. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.d.ts +131 -0
  933. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.typecheck.d.ts +2 -0
  934. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationTwoPhaseRunner.d.ts +62 -0
  935. package/dist/types/wallet-server/src/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.d.ts +17 -0
  936. package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/routerAbEd25519YaoWalletSession.d.ts +178 -0
  937. package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/routerAbEd25519YaoWalletSession.typecheck.d.ts +2 -0
  938. package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/thresholdEd25519RequestValidation.d.ts +19 -0
  939. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpExportPolicy.d.ts +32 -0
  940. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpRequestValidation.d.ts +13 -0
  941. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpRouteHandlers.d.ts +35 -0
  942. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpSessionRouteHelpers.d.ts +134 -0
  943. package/dist/types/wallet-server/src/router/domains/passkeyCustody/envelopeRevocationAdmission.d.ts +31 -0
  944. package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.d.ts +85 -0
  945. package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrievalRoute.d.ts +42 -0
  946. package/dist/types/wallet-server/src/router/domains/passkeyCustody/registrationCustodyOutcome.d.ts +38 -0
  947. package/dist/types/wallet-server/src/router/domains/passkeyCustody/verifiedCustodyFactor.d.ts +35 -0
  948. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationAdmission.d.ts +56 -0
  949. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationCommit.d.ts +65 -0
  950. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryAttempt.d.ts +59 -0
  951. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryFinalization.d.ts +81 -0
  952. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryKeyManifest.d.ts +184 -0
  953. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryRotation.d.ts +31 -0
  954. package/dist/types/wallet-server/src/router/domains/signingOperations/ed25519AuthorizedOperationReceipt.d.ts +32 -0
  955. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.d.ts +48 -0
  956. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbPrivateSigningWorker.d.ts +909 -0
  957. package/dist/types/wallet-server/src/router/domains/signingOperations/walletExecutionAdmission.d.ts +104 -0
  958. package/dist/types/wallet-server/src/router/domains/syncAccount/syncAccountRequestValidation.d.ts +30 -0
  959. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootCustodyLineage.d.ts +14 -0
  960. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootEcdsaWalletSessionComposition.d.ts +35 -0
  961. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootEd25519WalletSessionComposition.d.ts +35 -0
  962. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootIdentityResolution.d.ts +56 -0
  963. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationInputs.d.ts +78 -0
  964. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationRoutes.d.ts +91 -0
  965. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationSetupPayload.d.ts +105 -0
  966. package/dist/types/wallet-server/src/router/domains/walletUnlock/walletUnlockRequestedCapabilitiesValidation.d.ts +39 -0
  967. package/dist/types/wallet-server/src/router/domains/walletUnlock/walletUnlockRouteHandlers.d.ts +172 -0
  968. package/dist/types/wallet-server/src/router/express-adaptor.d.ts +22 -0
  969. package/dist/types/wallet-server/src/router/framework/apiCredentialPorts.d.ts +82 -0
  970. package/dist/types/wallet-server/src/router/framework/applyRouteMetering.d.ts +23 -0
  971. package/dist/types/wallet-server/src/router/framework/authServicePort.d.ts +1392 -0
  972. package/dist/types/wallet-server/src/router/framework/enforceRoutePolicy.d.ts +48 -0
  973. package/dist/types/wallet-server/src/router/framework/http.d.ts +12 -0
  974. package/dist/types/wallet-server/src/router/framework/logger.d.ts +5 -0
  975. package/dist/types/wallet-server/src/router/framework/modules.d.ts +17 -0
  976. package/dist/types/wallet-server/src/router/framework/ror/index.d.ts +7 -0
  977. package/dist/types/wallet-server/src/router/framework/ror/normalize.d.ts +14 -0
  978. package/dist/types/wallet-server/src/router/framework/ror/options.d.ts +9 -0
  979. package/dist/types/wallet-server/src/router/framework/ror/provider.d.ts +17 -0
  980. package/dist/types/wallet-server/src/router/framework/ror/staticProvider.d.ts +11 -0
  981. package/dist/types/wallet-server/src/router/framework/routeAuthPolicy.d.ts +34 -0
  982. package/dist/types/wallet-server/src/router/framework/routeDefinitions.d.ts +27 -0
  983. package/dist/types/wallet-server/src/router/framework/routeDefinitions.typecheck.d.ts +2 -0
  984. package/dist/types/wallet-server/src/router/framework/routeExecutionContext.d.ts +29 -0
  985. package/dist/types/wallet-server/src/router/framework/routeExtensions.d.ts +27 -0
  986. package/dist/types/wallet-server/src/router/framework/routeMeteringPolicy.d.ts +17 -0
  987. package/dist/types/wallet-server/src/router/framework/routeRequestValidation.d.ts +5 -0
  988. package/dist/types/wallet-server/src/router/framework/routeResponses.d.ts +17 -0
  989. package/dist/types/wallet-server/src/router/framework/routerApi.d.ts +221 -0
  990. package/dist/types/wallet-server/src/router/framework/routerApiRouteSurface.d.ts +14 -0
  991. package/dist/types/wallet-server/src/router/framework/routerApiWebhooks.d.ts +12 -0
  992. package/dist/types/wallet-server/src/router/framework/runtimeSnapshotConsumer.d.ts +28 -0
  993. package/dist/types/wallet-server/src/router/framework/versionedJsonRecordStore.d.ts +20 -0
  994. package/dist/types/wallet-server/src/router/ror-adaptor.d.ts +3 -0
  995. package/dist/types/wallet-server/src/router/transport/fetch/createFetchRouter.d.ts +8 -0
  996. package/dist/types/wallet-server/src/router/transport/fetch/fetchRouter.types.d.ts +23 -0
  997. package/dist/types/wallet-server/src/router/transport/fetch/routes/auth.d.ts +3 -0
  998. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinking.d.ts +202 -0
  999. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.d.ts +92 -0
  1000. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceManagement.d.ts +29 -0
  1001. package/dist/types/wallet-server/src/router/transport/fetch/routes/health.d.ts +4 -0
  1002. package/dist/types/wallet-server/src/router/transport/fetch/routes/nearPublicKeys.d.ts +3 -0
  1003. package/dist/types/wallet-server/src/router/transport/fetch/routes/normalSigningRouterProxy.d.ts +33 -0
  1004. package/dist/types/wallet-server/src/router/transport/fetch/routes/passkeyCustody.d.ts +66 -0
  1005. package/dist/types/wallet-server/src/router/transport/fetch/routes/sessions.d.ts +31 -0
  1006. package/dist/types/wallet-server/src/router/transport/fetch/routes/syncAccount.d.ts +3 -0
  1007. package/dist/types/wallet-server/src/router/transport/fetch/routes/syncAccountBootstrap.d.ts +128 -0
  1008. package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEcdsa.d.ts +87 -0
  1009. package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEd25519.d.ts +47 -0
  1010. package/dist/types/wallet-server/src/router/transport/fetch/routes/walletExecutionLanePreflight.d.ts +4 -0
  1011. package/dist/types/wallet-server/src/router/transport/fetch/routes/walletRegistration.d.ts +3 -0
  1012. package/dist/types/wallet-server/src/router/transport/fetch/routes/webauthnAuthenticators.d.ts +3 -0
  1013. package/dist/types/wallet-server/src/router/transport/fetch/routes/wellKnown.d.ts +3 -0
  1014. package/dist/types/wallet-server/src/storage/d1Sql.d.ts +14 -0
  1015. package/dist/types/wallet-server/src/storage/tenantRoute.d.ts +136 -0
  1016. package/dist/types/wallet-server/src/storage/tenantRoute.typecheck.d.ts +2 -0
  1017. package/dist/types/wallet-server/src/tenant-root.d.ts +5 -0
  1018. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/crypto/cipher.d.ts +45 -0
  1019. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/crypto/shamir3PassWasm.d.ts +16 -0
  1020. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/guards/backends.d.ts +23 -0
  1021. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/guards/index.d.ts +46 -0
  1022. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/idempotency.d.ts +3 -0
  1023. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/idempotencyBackends.d.ts +24 -0
  1024. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/idempotencyRecords.d.ts +22 -0
  1025. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/index.d.ts +23 -0
  1026. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/observability/audit.d.ts +9 -0
  1027. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/options.d.ts +9 -0
  1028. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/routesOptions.d.ts +20 -0
  1029. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/service.d.ts +3 -0
  1030. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/signingSessionSeal.typecheck.d.ts +2 -0
  1031. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/signingSessionSeal.types.d.ts +148 -0
  1032. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/transport/express.d.ts +12 -0
  1033. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/transport/fetch.d.ts +13 -0
  1034. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/transport/shared.d.ts +24 -0
  1035. package/dist/types/wallet-server/src/threshold/statusCodes.d.ts +10 -0
  1036. package/dist/types/wallet-server/src/wasm/signer.d.ts +8 -0
  1037. package/migrations/d1-signer/0001_signer_d1_initial.sql +2486 -0
  1038. package/migrations/d1-signer/0002_signer_post_103_canonical_upgrade.sql +1576 -0
  1039. package/migrations/d1-signer/0003_r107_wallet_authorization.sql +299 -0
  1040. package/migrations/d1-signer/0004_remove_legacy_email_recovery.sql +14 -0
  1041. package/migrations/d1-signer/0005_r103p8_linked_owner_auth_bindings.sql +92 -0
  1042. package/migrations/d1-signer/0006_r103p8_linked_device_custody_transfers.sql +77 -0
  1043. package/migrations/d1-signer/0007_r103p8_wallet_session_auth_method_provenance.sql +18 -0
  1044. package/migrations/d1-signer/0008_r103p8_linked_device_session_cas_guard.sql +35 -0
  1045. package/migrations/d1-signer/0009_linked_device_email_otp.sql +405 -0
  1046. package/migrations/d1-signer/0010_linked_device_session_target_factor.sql +78 -0
  1047. package/migrations/d1-signer/0011_linked_device_ed25519_export_root.sql +9 -0
  1048. package/migrations/d1-signer/0012_versioned_json_cas_guard.sql +3 -0
  1049. package/migrations/d1-signer/0013_linked_device_export_authorization.sql +133 -0
  1050. package/migrations/d1-signer/0014_wallet_recovery_code_locators.sql +19 -0
  1051. package/migrations/d1-signer/0015_r103e_authority_baseline.sql +259 -0
  1052. package/migrations/d1-signer/0016_r103e_wallet_session_authorizations_v2.sql +133 -0
  1053. package/migrations/d1-signer/0017_r103e_link_session_state.sql +83 -0
  1054. package/migrations/d1-signer/0018_r103e_linked_device_authority_installations.sql +34 -0
  1055. package/migrations/d1-signer/0019_r103e_email_otp_device_methods.sql +3 -0
  1056. package/migrations/d1-signer/0020_r103e_wallet_session_operation_credentials.sql +12 -0
  1057. package/migrations/d1-signer/0021_linked_device_source_contribution_transcripts.sql +64 -0
  1058. package/migrations/d1-signer/0022_r109c_multi_auth_email_cardinality.sql +118 -0
  1059. package/migrations/d1-signer/0023_r109d_first_email_linked_device.sql +111 -0
  1060. package/migrations/d1-signer/0024_r103f_v2_authorized_operation_claim.sql +99 -0
  1061. package/migrations/d1-signer/0025_r109d_email_enrollment_wallet_cardinality.sql +57 -0
  1062. package/migrations/d1-signer/0026_r115_wallet_recovery_authority_provenance.sql +253 -0
  1063. package/migrations/d1-signer/0027_r115_email_otp_recovery_bootstrap.sql +90 -0
  1064. package/migrations/d1-signer/0028_r103f_phase1_additive_schema_bridge.sql +1119 -0
  1065. package/migrations/d1-signer/0029_r103f_phase0_registration_replay_tokens.sql +135 -0
  1066. package/migrations/d1-signer/0030_r103f_wallet_session_client_capability.sql +17 -0
  1067. package/migrations/d1-signer/0031_r103f_delete_registration_replay_tokens.sql +4 -0
  1068. package/migrations/d1-signer/0032_r103f_exact_authorized_operation_enforcement.sql +149 -0
  1069. package/migrations/d1-signer/0033_r103f_linked_delivery_recipient.sql +6 -0
  1070. package/migrations/d1-signer/0034_r103f_exact_wallet_session_cutover.sql +743 -0
  1071. package/migrations/d1-signer/0035_r103f_linked_delivery_acknowledgement_cleanup_window.sql +413 -0
  1072. package/package.json +132 -0
  1073. package/scripts/d1-local-migrate-signer.mjs +148 -0
  1074. package/src/README.md +75 -0
  1075. package/wrangler.local-hosted-wallet-gateway.toml +37 -0
@@ -0,0 +1,1119 @@
1
+ -- R103F Phase 1: additive schema bridge for the exact Wallet Session cutover.
2
+ --
3
+ -- The old worker writes all-null linked scope and resolves its V1 session.
4
+ -- The bridge worker writes the full D1 scope and resolves the exact V2
5
+ -- authority/method snapshot. Partial scope is never meaningful at this
6
+ -- boundary.
7
+
8
+ PRAGMA defer_foreign_keys = ON;
9
+
10
+ DROP TRIGGER IF EXISTS authorized_operation_grant_shape_guard;
11
+ DROP TRIGGER IF EXISTS authorized_operation_owner_grant_claim_atomic;
12
+
13
+ CREATE TRIGGER authorized_operation_grant_shape_guard
14
+ BEFORE INSERT ON authorized_operations
15
+ WHEN NEW.lifecycle_kind = 'claimed'
16
+ AND (
17
+ NEW.authorization_source_kind NOT IN ('authorization_grant', 'verified_step_up')
18
+ OR (
19
+ NEW.authorization_source_kind = 'authorization_grant'
20
+ AND (
21
+ NEW.authorization_grant_kind IS NULL
22
+ OR NEW.authorization_grant_kind NOT IN ('wallet_session_authorization')
23
+ OR (
24
+ (NEW.linked_scope_org_id IS NULL
25
+ OR NEW.linked_scope_project_id IS NULL
26
+ OR NEW.linked_scope_env_id IS NULL)
27
+ AND NOT (
28
+ NEW.linked_scope_org_id IS NULL
29
+ AND NEW.linked_scope_project_id IS NULL
30
+ AND NEW.linked_scope_env_id IS NULL
31
+ )
32
+ )
33
+ OR (
34
+ NEW.linked_scope_org_id IS NOT NULL
35
+ AND NEW.linked_scope_project_id IS NOT NULL
36
+ AND NEW.linked_scope_env_id IS NOT NULL
37
+ AND (
38
+ length(NEW.linked_scope_org_id) = 0
39
+ OR length(NEW.linked_scope_project_id) = 0
40
+ OR length(NEW.linked_scope_env_id) = 0
41
+ )
42
+ )
43
+ )
44
+ )
45
+ OR (
46
+ NEW.authorization_source_kind = 'verified_step_up'
47
+ AND (
48
+ NEW.authorization_grant_kind IS NOT NULL
49
+ OR NEW.linked_scope_org_id IS NOT NULL
50
+ OR NEW.linked_scope_project_id IS NOT NULL
51
+ OR NEW.linked_scope_env_id IS NOT NULL
52
+ )
53
+ )
54
+ )
55
+ BEGIN
56
+ SELECT RAISE(ABORT, 'authorization_grant_kind_rejected');
57
+ END;
58
+
59
+ CREATE TRIGGER authorized_operation_owner_grant_claim_atomic
60
+ AFTER INSERT ON authorized_operations
61
+ WHEN NEW.lifecycle_kind = 'claimed'
62
+ AND NEW.authorization_source_kind = 'authorization_grant'
63
+ AND NEW.authorization_grant_kind = 'wallet_session_authorization'
64
+ BEGIN
65
+ SELECT CASE
66
+ WHEN NOT EXISTS (
67
+ SELECT 1
68
+ FROM reusable_wallet_sessions AS session
69
+ WHERE NEW.linked_scope_org_id IS NULL
70
+ AND NEW.linked_scope_project_id IS NULL
71
+ AND NEW.linked_scope_env_id IS NULL
72
+ AND session.namespace = NEW.namespace
73
+ AND session.tenant_id = NEW.tenant_id
74
+ AND session.authorization_id = NEW.authorization_id
75
+ AND session.principal_id = NEW.principal_id
76
+ AND (NEW.quota_kind = 'quota_neutral' OR session.quota_id = NEW.quota_id)
77
+ AND session.lifecycle_kind = 'active'
78
+ AND session.expires_at_ms > NEW.claimed_at_ms
79
+ )
80
+ AND NOT EXISTS (
81
+ SELECT 1
82
+ FROM wallet_session_authorizations_v2 AS session
83
+ JOIN wallet_authorities AS authority
84
+ ON authority.namespace = session.namespace
85
+ AND authority.org_id = session.org_id
86
+ AND authority.project_id = session.project_id
87
+ AND authority.env_id = session.env_id
88
+ AND authority.authority_id = session.authority_id
89
+ AND authority.wallet_id = session.wallet_id
90
+ JOIN wallet_auth_methods AS auth_method
91
+ ON auth_method.namespace = session.namespace
92
+ AND auth_method.org_id = session.org_id
93
+ AND auth_method.project_id = session.project_id
94
+ AND auth_method.env_id = session.env_id
95
+ AND auth_method.wallet_auth_method_id = session.wallet_auth_method_id
96
+ AND auth_method.wallet_id = session.wallet_id
97
+ AND auth_method.wallet_authority_id = session.authority_id
98
+ WHERE NEW.linked_scope_org_id IS NOT NULL
99
+ AND NEW.linked_scope_project_id IS NOT NULL
100
+ AND NEW.linked_scope_env_id IS NOT NULL
101
+ AND session.namespace = NEW.namespace
102
+ AND session.org_id = NEW.linked_scope_org_id
103
+ AND session.project_id = NEW.linked_scope_project_id
104
+ AND session.env_id = NEW.linked_scope_env_id
105
+ AND session.tenant_id = NEW.tenant_id
106
+ AND session.authorization_id = NEW.authorization_id
107
+ AND session.principal_id = NEW.principal_id
108
+ AND (NEW.quota_kind = 'quota_neutral' OR session.quota_id = NEW.quota_id)
109
+ AND session.operation_credential_hash IS NOT NULL
110
+ AND session.retired_at_ms IS NULL
111
+ AND session.expires_at_ms > NEW.claimed_at_ms
112
+ AND authority.lifecycle_state = 'active'
113
+ AND authority.authority_digest_b64u = session.authority_digest_b64u
114
+ AND authority.revocation_epoch = session.authority_revocation_epoch
115
+ AND auth_method.status = 'active'
116
+ )
117
+ THEN RAISE(ABORT, 'authorization_wallet_session_rejected')
118
+ END;
119
+
120
+ UPDATE authorization_wallet_session_quotas
121
+ SET remaining_uses = remaining_uses - 1,
122
+ lifecycle_kind = CASE WHEN remaining_uses = 1 THEN 'exhausted' ELSE 'active' END
123
+ WHERE NEW.quota_kind = 'consume_reusable_wallet_session'
124
+ AND namespace = NEW.namespace
125
+ AND tenant_id = NEW.tenant_id
126
+ AND quota_id = NEW.quota_id
127
+ AND principal_id = NEW.principal_id
128
+ AND lifecycle_kind = 'active'
129
+ AND remaining_uses > 0
130
+ AND expires_at_ms > NEW.claimed_at_ms
131
+ AND (
132
+ wallet_session_id = (
133
+ SELECT session.wallet_session_id
134
+ FROM reusable_wallet_sessions AS session
135
+ WHERE NEW.linked_scope_org_id IS NULL
136
+ AND NEW.linked_scope_project_id IS NULL
137
+ AND NEW.linked_scope_env_id IS NULL
138
+ AND session.namespace = NEW.namespace
139
+ AND session.tenant_id = NEW.tenant_id
140
+ AND session.authorization_id = NEW.authorization_id
141
+ AND session.principal_id = NEW.principal_id
142
+ AND session.quota_id = NEW.quota_id
143
+ AND session.lifecycle_kind = 'active'
144
+ AND session.expires_at_ms > NEW.claimed_at_ms
145
+ LIMIT 1
146
+ )
147
+ OR wallet_session_id = (
148
+ SELECT session.wallet_session_id
149
+ FROM wallet_session_authorizations_v2 AS session
150
+ JOIN wallet_authorities AS authority
151
+ ON authority.namespace = session.namespace
152
+ AND authority.org_id = session.org_id
153
+ AND authority.project_id = session.project_id
154
+ AND authority.env_id = session.env_id
155
+ AND authority.authority_id = session.authority_id
156
+ AND authority.wallet_id = session.wallet_id
157
+ JOIN wallet_auth_methods AS auth_method
158
+ ON auth_method.namespace = session.namespace
159
+ AND auth_method.org_id = session.org_id
160
+ AND auth_method.project_id = session.project_id
161
+ AND auth_method.env_id = session.env_id
162
+ AND auth_method.wallet_auth_method_id = session.wallet_auth_method_id
163
+ AND auth_method.wallet_id = session.wallet_id
164
+ AND auth_method.wallet_authority_id = session.authority_id
165
+ WHERE NEW.linked_scope_org_id IS NOT NULL
166
+ AND NEW.linked_scope_project_id IS NOT NULL
167
+ AND NEW.linked_scope_env_id IS NOT NULL
168
+ AND session.namespace = NEW.namespace
169
+ AND session.org_id = NEW.linked_scope_org_id
170
+ AND session.project_id = NEW.linked_scope_project_id
171
+ AND session.env_id = NEW.linked_scope_env_id
172
+ AND session.tenant_id = NEW.tenant_id
173
+ AND session.authorization_id = NEW.authorization_id
174
+ AND session.principal_id = NEW.principal_id
175
+ AND session.quota_id = NEW.quota_id
176
+ AND session.operation_credential_hash IS NOT NULL
177
+ AND session.retired_at_ms IS NULL
178
+ AND session.expires_at_ms > NEW.claimed_at_ms
179
+ AND authority.lifecycle_state = 'active'
180
+ AND authority.authority_digest_b64u = session.authority_digest_b64u
181
+ AND authority.revocation_epoch = session.authority_revocation_epoch
182
+ AND auth_method.status = 'active'
183
+ LIMIT 1
184
+ )
185
+ );
186
+
187
+ SELECT CASE
188
+ WHEN NEW.quota_kind = 'consume_reusable_wallet_session' AND changes() != 1
189
+ THEN RAISE(ABORT, 'authorization_wallet_session_quota_rejected')
190
+ END;
191
+ END;
192
+
193
+ CREATE UNIQUE INDEX wallet_session_authorizations_v2_exact_identity_uidx
194
+ ON wallet_session_authorizations_v2 (
195
+ namespace, org_id, project_id, env_id, tenant_id, authorization_id,
196
+ wallet_session_id, quota_id, principal_id, wallet_id,
197
+ authority_id, wallet_auth_method_id
198
+ );
199
+
200
+ CREATE TABLE wallet_session_hosted_credentials_v2 (
201
+ namespace TEXT NOT NULL,
202
+ org_id TEXT NOT NULL,
203
+ project_id TEXT NOT NULL,
204
+ env_id TEXT NOT NULL,
205
+ tenant_id TEXT NOT NULL,
206
+ hosted_credential_id TEXT NOT NULL,
207
+ authorization_id TEXT NOT NULL,
208
+ wallet_session_id TEXT NOT NULL,
209
+ quota_id TEXT NOT NULL,
210
+ principal_id TEXT NOT NULL,
211
+ wallet_id TEXT NOT NULL,
212
+ authority_id TEXT NOT NULL,
213
+ wallet_auth_method_id TEXT NOT NULL,
214
+ credential_digest_b64u TEXT NOT NULL,
215
+ app_origin TEXT NOT NULL,
216
+ wallet_origin TEXT NOT NULL,
217
+ issued_at_ms INTEGER NOT NULL,
218
+ expires_at_ms INTEGER NOT NULL,
219
+ lifecycle_kind TEXT NOT NULL,
220
+ retired_at_ms INTEGER,
221
+ PRIMARY KEY (namespace, org_id, project_id, env_id, tenant_id, hosted_credential_id),
222
+ UNIQUE (namespace, org_id, project_id, env_id, tenant_id, credential_digest_b64u),
223
+ FOREIGN KEY (
224
+ namespace, org_id, project_id, env_id, tenant_id, authorization_id,
225
+ wallet_session_id, quota_id, principal_id, wallet_id,
226
+ authority_id, wallet_auth_method_id
227
+ ) REFERENCES wallet_session_authorizations_v2(
228
+ namespace, org_id, project_id, env_id, tenant_id, authorization_id,
229
+ wallet_session_id, quota_id, principal_id, wallet_id,
230
+ authority_id, wallet_auth_method_id
231
+ ),
232
+ CHECK (length(namespace) > 0),
233
+ CHECK (length(org_id) > 0),
234
+ CHECK (length(project_id) > 0),
235
+ CHECK (length(env_id) > 0),
236
+ CHECK (length(tenant_id) > 0),
237
+ CHECK (length(hosted_credential_id) > 0),
238
+ CHECK (length(authorization_id) > 0),
239
+ CHECK (length(wallet_session_id) > 0),
240
+ CHECK (length(quota_id) > 0),
241
+ CHECK (length(principal_id) > 0),
242
+ CHECK (length(wallet_id) > 0),
243
+ CHECK (length(authority_id) > 0),
244
+ CHECK (length(wallet_auth_method_id) > 0),
245
+ CHECK (length(credential_digest_b64u) > 0),
246
+ CHECK (length(trim(app_origin)) > 0),
247
+ CHECK (length(trim(wallet_origin)) > 0),
248
+ CHECK (issued_at_ms > 0),
249
+ CHECK (expires_at_ms > issued_at_ms),
250
+ CHECK (lifecycle_kind IN ('active', 'retired')),
251
+ CHECK (
252
+ (lifecycle_kind = 'active' AND retired_at_ms IS NULL)
253
+ OR (lifecycle_kind = 'retired' AND retired_at_ms IS NOT NULL AND retired_at_ms >= issued_at_ms)
254
+ )
255
+ );
256
+
257
+ CREATE INDEX wallet_session_hosted_credentials_v2_parent_idx
258
+ ON wallet_session_hosted_credentials_v2 (
259
+ namespace, org_id, project_id, env_id, tenant_id,
260
+ authorization_id, lifecycle_kind, expires_at_ms
261
+ );
262
+
263
+ CREATE INDEX wallet_session_hosted_credentials_v2_expiry_idx
264
+ ON wallet_session_hosted_credentials_v2 (
265
+ namespace, org_id, project_id, env_id, tenant_id, expires_at_ms, lifecycle_kind
266
+ );
267
+
268
+ CREATE UNIQUE INDEX wallet_session_hosted_credentials_v2_exact_identity_uidx
269
+ ON wallet_session_hosted_credentials_v2 (
270
+ namespace, org_id, project_id, env_id, tenant_id, hosted_credential_id,
271
+ authorization_id, wallet_session_id, quota_id, principal_id, wallet_id,
272
+ authority_id, wallet_auth_method_id
273
+ );
274
+
275
+ CREATE TRIGGER wallet_session_hosted_credentials_v2_insert_lifecycle_guard
276
+ BEFORE INSERT ON wallet_session_hosted_credentials_v2
277
+ WHEN NEW.lifecycle_kind != 'active' OR NEW.retired_at_ms IS NOT NULL
278
+ BEGIN
279
+ SELECT RAISE(ABORT, 'wallet_session_hosted_credential_initial_state_rejected');
280
+ END;
281
+
282
+ CREATE TRIGGER wallet_session_hosted_credentials_v2_parent_guard
283
+ BEFORE INSERT ON wallet_session_hosted_credentials_v2
284
+ WHEN NOT EXISTS (
285
+ SELECT 1
286
+ FROM wallet_session_authorizations_v2 AS session
287
+ WHERE session.namespace = NEW.namespace
288
+ AND session.org_id = NEW.org_id
289
+ AND session.project_id = NEW.project_id
290
+ AND session.env_id = NEW.env_id
291
+ AND session.tenant_id = NEW.tenant_id
292
+ AND session.authorization_id = NEW.authorization_id
293
+ AND session.wallet_session_id = NEW.wallet_session_id
294
+ AND session.quota_id = NEW.quota_id
295
+ AND session.principal_id = NEW.principal_id
296
+ AND session.wallet_id = NEW.wallet_id
297
+ AND session.authority_id = NEW.authority_id
298
+ AND session.wallet_auth_method_id = NEW.wallet_auth_method_id
299
+ AND session.operation_credential_hash IS NOT NULL
300
+ AND session.retired_at_ms IS NULL
301
+ AND session.expires_at_ms >= NEW.expires_at_ms
302
+ )
303
+ BEGIN
304
+ SELECT RAISE(ABORT, 'wallet_session_hosted_credential_parent_rejected');
305
+ END;
306
+
307
+ CREATE TRIGGER wallet_session_hosted_credentials_v2_parent_update_guard
308
+ BEFORE UPDATE OF lifecycle_kind
309
+ ON wallet_session_hosted_credentials_v2
310
+ WHEN NOT EXISTS (
311
+ SELECT 1
312
+ FROM wallet_session_authorizations_v2 AS session
313
+ WHERE session.namespace = NEW.namespace
314
+ AND session.org_id = NEW.org_id
315
+ AND session.project_id = NEW.project_id
316
+ AND session.env_id = NEW.env_id
317
+ AND session.tenant_id = NEW.tenant_id
318
+ AND session.authorization_id = NEW.authorization_id
319
+ AND session.wallet_session_id = NEW.wallet_session_id
320
+ AND session.quota_id = NEW.quota_id
321
+ AND session.principal_id = NEW.principal_id
322
+ AND session.wallet_id = NEW.wallet_id
323
+ AND session.authority_id = NEW.authority_id
324
+ AND session.wallet_auth_method_id = NEW.wallet_auth_method_id
325
+ AND session.operation_credential_hash IS NOT NULL
326
+ AND session.retired_at_ms IS NULL
327
+ AND session.expires_at_ms >= NEW.expires_at_ms
328
+ )
329
+ BEGIN
330
+ SELECT RAISE(ABORT, 'wallet_session_hosted_credential_parent_rejected');
331
+ END;
332
+
333
+ CREATE TRIGGER wallet_session_hosted_credentials_v2_identity_guard
334
+ BEFORE UPDATE OF
335
+ namespace, org_id, project_id, env_id, tenant_id, hosted_credential_id,
336
+ authorization_id, wallet_session_id, quota_id, principal_id, wallet_id,
337
+ authority_id, wallet_auth_method_id, credential_digest_b64u, app_origin,
338
+ wallet_origin, issued_at_ms, expires_at_ms
339
+ ON wallet_session_hosted_credentials_v2
340
+ WHEN OLD.namespace IS NOT NEW.namespace
341
+ OR OLD.org_id IS NOT NEW.org_id
342
+ OR OLD.project_id IS NOT NEW.project_id
343
+ OR OLD.env_id IS NOT NEW.env_id
344
+ OR OLD.tenant_id IS NOT NEW.tenant_id
345
+ OR OLD.hosted_credential_id IS NOT NEW.hosted_credential_id
346
+ OR OLD.authorization_id IS NOT NEW.authorization_id
347
+ OR OLD.wallet_session_id IS NOT NEW.wallet_session_id
348
+ OR OLD.quota_id IS NOT NEW.quota_id
349
+ OR OLD.principal_id IS NOT NEW.principal_id
350
+ OR OLD.wallet_id IS NOT NEW.wallet_id
351
+ OR OLD.authority_id IS NOT NEW.authority_id
352
+ OR OLD.wallet_auth_method_id IS NOT NEW.wallet_auth_method_id
353
+ OR OLD.credential_digest_b64u IS NOT NEW.credential_digest_b64u
354
+ OR OLD.app_origin IS NOT NEW.app_origin
355
+ OR OLD.wallet_origin IS NOT NEW.wallet_origin
356
+ OR OLD.issued_at_ms IS NOT NEW.issued_at_ms
357
+ OR OLD.expires_at_ms IS NOT NEW.expires_at_ms
358
+ BEGIN
359
+ SELECT RAISE(ABORT, 'wallet_session_hosted_credential_identity_rejected');
360
+ END;
361
+
362
+ CREATE TRIGGER wallet_session_hosted_credentials_v2_lifecycle_guard
363
+ BEFORE UPDATE OF lifecycle_kind
364
+ ON wallet_session_hosted_credentials_v2
365
+ WHEN (OLD.lifecycle_kind = 'retired' AND NEW.lifecycle_kind != 'retired')
366
+ OR (OLD.lifecycle_kind = 'active' AND NEW.lifecycle_kind NOT IN ('active', 'retired'))
367
+ BEGIN
368
+ SELECT RAISE(ABORT, 'wallet_session_hosted_credential_transition_rejected');
369
+ END;
370
+
371
+ CREATE TRIGGER wallet_session_hosted_credentials_v2_retirement_guard
372
+ BEFORE UPDATE OF retired_at_ms
373
+ ON wallet_session_hosted_credentials_v2
374
+ WHEN OLD.retired_at_ms IS NOT NEW.retired_at_ms
375
+ AND NOT (
376
+ OLD.lifecycle_kind = 'active'
377
+ AND NEW.lifecycle_kind = 'retired'
378
+ AND OLD.retired_at_ms IS NULL
379
+ AND NEW.retired_at_ms IS NOT NULL
380
+ )
381
+ BEGIN
382
+ SELECT RAISE(ABORT, 'wallet_session_hosted_credential_retirement_rejected');
383
+ END;
384
+
385
+ CREATE TABLE wallet_session_hosted_exchange_codes_v2 (
386
+ namespace TEXT NOT NULL,
387
+ org_id TEXT NOT NULL,
388
+ project_id TEXT NOT NULL,
389
+ env_id TEXT NOT NULL,
390
+ tenant_id TEXT NOT NULL,
391
+ exchange_code_id TEXT NOT NULL,
392
+ authorization_id TEXT NOT NULL,
393
+ wallet_session_id TEXT NOT NULL,
394
+ quota_id TEXT NOT NULL,
395
+ principal_id TEXT NOT NULL,
396
+ wallet_id TEXT NOT NULL,
397
+ authority_id TEXT NOT NULL,
398
+ wallet_auth_method_id TEXT NOT NULL,
399
+ code_hash TEXT NOT NULL,
400
+ nonce_digest TEXT NOT NULL,
401
+ app_origin TEXT NOT NULL,
402
+ wallet_origin TEXT NOT NULL,
403
+ issued_at_ms INTEGER NOT NULL,
404
+ expires_at_ms INTEGER NOT NULL,
405
+ lifecycle_kind TEXT NOT NULL,
406
+ hosted_credential_id TEXT,
407
+ consumed_at_ms INTEGER,
408
+ PRIMARY KEY (namespace, org_id, project_id, env_id, tenant_id, exchange_code_id),
409
+ UNIQUE (namespace, org_id, project_id, env_id, tenant_id, code_hash),
410
+ UNIQUE (namespace, org_id, project_id, env_id, tenant_id, nonce_digest),
411
+ FOREIGN KEY (
412
+ namespace, org_id, project_id, env_id, tenant_id, authorization_id,
413
+ wallet_session_id, quota_id, principal_id, wallet_id,
414
+ authority_id, wallet_auth_method_id
415
+ ) REFERENCES wallet_session_authorizations_v2(
416
+ namespace, org_id, project_id, env_id, tenant_id, authorization_id,
417
+ wallet_session_id, quota_id, principal_id, wallet_id,
418
+ authority_id, wallet_auth_method_id
419
+ ),
420
+ FOREIGN KEY (
421
+ namespace, org_id, project_id, env_id, tenant_id, hosted_credential_id,
422
+ authorization_id, wallet_session_id, quota_id, principal_id, wallet_id,
423
+ authority_id, wallet_auth_method_id
424
+ )
425
+ REFERENCES wallet_session_hosted_credentials_v2(
426
+ namespace, org_id, project_id, env_id, tenant_id, hosted_credential_id,
427
+ authorization_id, wallet_session_id, quota_id, principal_id, wallet_id,
428
+ authority_id, wallet_auth_method_id
429
+ ),
430
+ CHECK (length(namespace) > 0),
431
+ CHECK (length(org_id) > 0),
432
+ CHECK (length(project_id) > 0),
433
+ CHECK (length(env_id) > 0),
434
+ CHECK (length(tenant_id) > 0),
435
+ CHECK (length(exchange_code_id) > 0),
436
+ CHECK (length(authorization_id) > 0),
437
+ CHECK (length(wallet_session_id) > 0),
438
+ CHECK (length(quota_id) > 0),
439
+ CHECK (length(principal_id) > 0),
440
+ CHECK (length(wallet_id) > 0),
441
+ CHECK (length(authority_id) > 0),
442
+ CHECK (length(wallet_auth_method_id) > 0),
443
+ CHECK (length(code_hash) > 0),
444
+ CHECK (length(nonce_digest) > 0),
445
+ CHECK (length(trim(app_origin)) > 0),
446
+ CHECK (length(trim(wallet_origin)) > 0),
447
+ CHECK (issued_at_ms > 0),
448
+ CHECK (expires_at_ms > issued_at_ms),
449
+ CHECK (lifecycle_kind IN ('issued', 'consumed')),
450
+ CHECK (
451
+ (lifecycle_kind = 'issued' AND hosted_credential_id IS NULL AND consumed_at_ms IS NULL)
452
+ OR (
453
+ lifecycle_kind = 'consumed'
454
+ AND hosted_credential_id IS NOT NULL
455
+ AND consumed_at_ms IS NOT NULL
456
+ AND consumed_at_ms >= issued_at_ms
457
+ AND consumed_at_ms <= expires_at_ms
458
+ )
459
+ )
460
+ );
461
+
462
+ CREATE INDEX wallet_session_hosted_exchange_codes_v2_parent_idx
463
+ ON wallet_session_hosted_exchange_codes_v2 (
464
+ namespace, org_id, project_id, env_id, tenant_id,
465
+ authorization_id, lifecycle_kind, expires_at_ms
466
+ );
467
+
468
+ CREATE INDEX wallet_session_hosted_exchange_codes_v2_expiry_idx
469
+ ON wallet_session_hosted_exchange_codes_v2 (
470
+ namespace, org_id, project_id, env_id, tenant_id, expires_at_ms, lifecycle_kind
471
+ );
472
+
473
+ CREATE TRIGGER wallet_session_hosted_exchange_codes_v2_insert_lifecycle_guard
474
+ BEFORE INSERT ON wallet_session_hosted_exchange_codes_v2
475
+ WHEN NEW.lifecycle_kind != 'issued'
476
+ OR NEW.hosted_credential_id IS NOT NULL
477
+ OR NEW.consumed_at_ms IS NOT NULL
478
+ BEGIN
479
+ SELECT RAISE(ABORT, 'wallet_session_hosted_exchange_initial_state_rejected');
480
+ END;
481
+
482
+ CREATE TRIGGER wallet_session_hosted_exchange_codes_v2_parent_guard
483
+ BEFORE INSERT ON wallet_session_hosted_exchange_codes_v2
484
+ WHEN NOT EXISTS (
485
+ SELECT 1
486
+ FROM wallet_session_authorizations_v2 AS session
487
+ WHERE session.namespace = NEW.namespace
488
+ AND session.org_id = NEW.org_id
489
+ AND session.project_id = NEW.project_id
490
+ AND session.env_id = NEW.env_id
491
+ AND session.tenant_id = NEW.tenant_id
492
+ AND session.authorization_id = NEW.authorization_id
493
+ AND session.wallet_session_id = NEW.wallet_session_id
494
+ AND session.quota_id = NEW.quota_id
495
+ AND session.principal_id = NEW.principal_id
496
+ AND session.wallet_id = NEW.wallet_id
497
+ AND session.authority_id = NEW.authority_id
498
+ AND session.wallet_auth_method_id = NEW.wallet_auth_method_id
499
+ AND session.operation_credential_hash IS NOT NULL
500
+ AND session.retired_at_ms IS NULL
501
+ AND session.expires_at_ms >= NEW.expires_at_ms
502
+ )
503
+ BEGIN
504
+ SELECT RAISE(ABORT, 'wallet_session_hosted_exchange_parent_rejected');
505
+ END;
506
+
507
+ CREATE TRIGGER wallet_session_hosted_exchange_codes_v2_parent_update_guard
508
+ BEFORE UPDATE OF lifecycle_kind, hosted_credential_id
509
+ ON wallet_session_hosted_exchange_codes_v2
510
+ WHEN NOT EXISTS (
511
+ SELECT 1
512
+ FROM wallet_session_authorizations_v2 AS session
513
+ WHERE session.namespace = NEW.namespace
514
+ AND session.org_id = NEW.org_id
515
+ AND session.project_id = NEW.project_id
516
+ AND session.env_id = NEW.env_id
517
+ AND session.tenant_id = NEW.tenant_id
518
+ AND session.authorization_id = NEW.authorization_id
519
+ AND session.wallet_session_id = NEW.wallet_session_id
520
+ AND session.quota_id = NEW.quota_id
521
+ AND session.principal_id = NEW.principal_id
522
+ AND session.wallet_id = NEW.wallet_id
523
+ AND session.authority_id = NEW.authority_id
524
+ AND session.wallet_auth_method_id = NEW.wallet_auth_method_id
525
+ AND session.operation_credential_hash IS NOT NULL
526
+ AND session.retired_at_ms IS NULL
527
+ AND session.expires_at_ms >= NEW.expires_at_ms
528
+ AND session.expires_at_ms > COALESCE(NEW.consumed_at_ms, NEW.issued_at_ms)
529
+ )
530
+ BEGIN
531
+ SELECT RAISE(ABORT, 'wallet_session_hosted_exchange_parent_rejected');
532
+ END;
533
+
534
+ CREATE TRIGGER wallet_session_hosted_exchange_codes_v2_child_update_guard
535
+ BEFORE UPDATE OF lifecycle_kind, hosted_credential_id
536
+ ON wallet_session_hosted_exchange_codes_v2
537
+ WHEN NEW.hosted_credential_id IS NOT NULL
538
+ AND NOT EXISTS (
539
+ SELECT 1
540
+ FROM wallet_session_hosted_credentials_v2 AS credential
541
+ WHERE credential.namespace = NEW.namespace
542
+ AND credential.org_id = NEW.org_id
543
+ AND credential.project_id = NEW.project_id
544
+ AND credential.env_id = NEW.env_id
545
+ AND credential.tenant_id = NEW.tenant_id
546
+ AND credential.hosted_credential_id = NEW.hosted_credential_id
547
+ AND credential.authorization_id = NEW.authorization_id
548
+ AND credential.wallet_session_id = NEW.wallet_session_id
549
+ AND credential.quota_id = NEW.quota_id
550
+ AND credential.principal_id = NEW.principal_id
551
+ AND credential.wallet_id = NEW.wallet_id
552
+ AND credential.authority_id = NEW.authority_id
553
+ AND credential.wallet_auth_method_id = NEW.wallet_auth_method_id
554
+ AND credential.lifecycle_kind = 'active'
555
+ AND credential.retired_at_ms IS NULL
556
+ AND credential.expires_at_ms >= NEW.expires_at_ms
557
+ AND credential.expires_at_ms > COALESCE(NEW.consumed_at_ms, NEW.issued_at_ms)
558
+ )
559
+ BEGIN
560
+ SELECT RAISE(ABORT, 'wallet_session_hosted_exchange_child_rejected');
561
+ END;
562
+
563
+ CREATE TRIGGER wallet_session_hosted_exchange_codes_v2_identity_guard
564
+ BEFORE UPDATE OF
565
+ namespace, org_id, project_id, env_id, tenant_id, exchange_code_id,
566
+ authorization_id, wallet_session_id, quota_id, principal_id, wallet_id,
567
+ authority_id, wallet_auth_method_id, code_hash, nonce_digest, app_origin,
568
+ wallet_origin, issued_at_ms, expires_at_ms
569
+ ON wallet_session_hosted_exchange_codes_v2
570
+ WHEN OLD.namespace IS NOT NEW.namespace
571
+ OR OLD.org_id IS NOT NEW.org_id
572
+ OR OLD.project_id IS NOT NEW.project_id
573
+ OR OLD.env_id IS NOT NEW.env_id
574
+ OR OLD.tenant_id IS NOT NEW.tenant_id
575
+ OR OLD.exchange_code_id IS NOT NEW.exchange_code_id
576
+ OR OLD.authorization_id IS NOT NEW.authorization_id
577
+ OR OLD.wallet_session_id IS NOT NEW.wallet_session_id
578
+ OR OLD.quota_id IS NOT NEW.quota_id
579
+ OR OLD.principal_id IS NOT NEW.principal_id
580
+ OR OLD.wallet_id IS NOT NEW.wallet_id
581
+ OR OLD.authority_id IS NOT NEW.authority_id
582
+ OR OLD.wallet_auth_method_id IS NOT NEW.wallet_auth_method_id
583
+ OR OLD.code_hash IS NOT NEW.code_hash
584
+ OR OLD.nonce_digest IS NOT NEW.nonce_digest
585
+ OR OLD.app_origin IS NOT NEW.app_origin
586
+ OR OLD.wallet_origin IS NOT NEW.wallet_origin
587
+ OR OLD.issued_at_ms IS NOT NEW.issued_at_ms
588
+ OR OLD.expires_at_ms IS NOT NEW.expires_at_ms
589
+ BEGIN
590
+ SELECT RAISE(ABORT, 'wallet_session_hosted_exchange_identity_rejected');
591
+ END;
592
+
593
+ CREATE TRIGGER wallet_session_hosted_exchange_codes_v2_lifecycle_guard
594
+ BEFORE UPDATE OF lifecycle_kind, hosted_credential_id, consumed_at_ms
595
+ ON wallet_session_hosted_exchange_codes_v2
596
+ WHEN (
597
+ OLD.lifecycle_kind IS NOT NEW.lifecycle_kind
598
+ OR OLD.hosted_credential_id IS NOT NEW.hosted_credential_id
599
+ OR OLD.consumed_at_ms IS NOT NEW.consumed_at_ms
600
+ )
601
+ AND NOT (
602
+ OLD.lifecycle_kind = 'issued'
603
+ AND NEW.lifecycle_kind = 'consumed'
604
+ AND OLD.hosted_credential_id IS NULL
605
+ AND NEW.hosted_credential_id IS NOT NULL
606
+ AND OLD.consumed_at_ms IS NULL
607
+ AND NEW.consumed_at_ms IS NOT NULL
608
+ )
609
+ BEGIN
610
+ SELECT RAISE(ABORT, 'wallet_session_hosted_exchange_transition_rejected');
611
+ END;
612
+
613
+ CREATE UNIQUE INDEX linked_device_authority_installations_exact_identity_uidx
614
+ ON linked_device_authority_installations (
615
+ namespace, org_id, project_id, env_id, link_session_id,
616
+ authority_id, wallet_id, auth_method_id
617
+ );
618
+
619
+ CREATE TABLE linked_device_wallet_session_credential_deliveries_v1 (
620
+ namespace TEXT NOT NULL,
621
+ org_id TEXT NOT NULL,
622
+ project_id TEXT NOT NULL,
623
+ env_id TEXT NOT NULL,
624
+ link_session_id TEXT NOT NULL,
625
+ tenant_id TEXT NOT NULL,
626
+ authorization_id TEXT NOT NULL,
627
+ wallet_session_id TEXT NOT NULL,
628
+ quota_id TEXT NOT NULL,
629
+ principal_id TEXT NOT NULL,
630
+ authority_id TEXT NOT NULL,
631
+ wallet_id TEXT NOT NULL,
632
+ wallet_auth_method_id TEXT NOT NULL,
633
+ credential_digest_b64u TEXT NOT NULL,
634
+ recipient_kind TEXT NOT NULL,
635
+ recipient_public_key_b64u TEXT NOT NULL,
636
+ recipient_binding_digest_b64u TEXT NOT NULL,
637
+ envelope_alg TEXT NOT NULL,
638
+ aad_digest_b64u TEXT NOT NULL,
639
+ sealed_envelope_json TEXT,
640
+ sealed_envelope_digest_b64u TEXT NOT NULL,
641
+ installation_receipt_digest_b64u TEXT NOT NULL,
642
+ issued_at_ms INTEGER NOT NULL,
643
+ expires_at_ms INTEGER NOT NULL,
644
+ lifecycle_kind TEXT NOT NULL,
645
+ acknowledged_at_ms INTEGER,
646
+ acknowledgement_receipt_json TEXT,
647
+ cleanup_state TEXT NOT NULL,
648
+ cleanup_receipt_json TEXT,
649
+ cleanup_completed_at_ms INTEGER,
650
+ acknowledgement_auth_binding_digest_b64u TEXT,
651
+ acknowledgement_auth_package_set_digest_b64u TEXT,
652
+ acknowledgement_auth_expires_at_ms INTEGER,
653
+ PRIMARY KEY (namespace, org_id, project_id, env_id, link_session_id),
654
+ UNIQUE (namespace, org_id, project_id, env_id, tenant_id, credential_digest_b64u),
655
+ FOREIGN KEY (
656
+ namespace, org_id, project_id, env_id, link_session_id,
657
+ authority_id, wallet_id, wallet_auth_method_id
658
+ )
659
+ REFERENCES linked_device_authority_installations(
660
+ namespace, org_id, project_id, env_id, link_session_id,
661
+ authority_id, wallet_id, auth_method_id
662
+ ),
663
+ FOREIGN KEY (
664
+ namespace, org_id, project_id, env_id, tenant_id, authorization_id,
665
+ wallet_session_id, quota_id, principal_id, wallet_id,
666
+ authority_id, wallet_auth_method_id
667
+ )
668
+ REFERENCES wallet_session_authorizations_v2(
669
+ namespace, org_id, project_id, env_id, tenant_id, authorization_id,
670
+ wallet_session_id, quota_id, principal_id, wallet_id,
671
+ authority_id, wallet_auth_method_id
672
+ ),
673
+ CHECK (length(namespace) > 0),
674
+ CHECK (length(org_id) > 0),
675
+ CHECK (length(project_id) > 0),
676
+ CHECK (length(env_id) > 0),
677
+ CHECK (length(link_session_id) > 0),
678
+ CHECK (length(tenant_id) > 0),
679
+ CHECK (length(authorization_id) > 0),
680
+ CHECK (length(wallet_session_id) > 0),
681
+ CHECK (length(quota_id) > 0),
682
+ CHECK (length(principal_id) > 0),
683
+ CHECK (length(authority_id) > 0),
684
+ CHECK (length(wallet_id) > 0),
685
+ CHECK (length(wallet_auth_method_id) > 0),
686
+ CHECK (length(credential_digest_b64u) > 0),
687
+ CHECK (recipient_kind = 'p256_ecdh'),
688
+ CHECK (length(recipient_public_key_b64u) > 0),
689
+ CHECK (length(recipient_binding_digest_b64u) > 0),
690
+ CHECK (envelope_alg = 'p256-ecdh-aes256gcm-v1'),
691
+ CHECK (length(aad_digest_b64u) > 0),
692
+ CHECK (sealed_envelope_json IS NULL OR json_valid(sealed_envelope_json)),
693
+ CHECK (length(sealed_envelope_digest_b64u) > 0),
694
+ CHECK (length(installation_receipt_digest_b64u) > 0),
695
+ CHECK (issued_at_ms > 0),
696
+ CHECK (expires_at_ms > issued_at_ms),
697
+ CHECK (lifecycle_kind IN ('issued', 'acknowledged', 'cleanup_complete')),
698
+ CHECK (cleanup_state IN ('pending', 'allocation_removed', 'session_removed', 'complete')),
699
+ CHECK (
700
+ (
701
+ lifecycle_kind = 'issued'
702
+ AND sealed_envelope_json IS NOT NULL
703
+ AND acknowledged_at_ms IS NULL
704
+ AND acknowledgement_receipt_json IS NULL
705
+ AND cleanup_state = 'pending'
706
+ AND cleanup_receipt_json IS NULL
707
+ AND cleanup_completed_at_ms IS NULL
708
+ )
709
+ OR (
710
+ lifecycle_kind = 'acknowledged'
711
+ AND sealed_envelope_json IS NULL
712
+ AND acknowledged_at_ms IS NOT NULL
713
+ AND acknowledged_at_ms >= issued_at_ms
714
+ AND acknowledged_at_ms <= expires_at_ms
715
+ AND acknowledgement_receipt_json IS NOT NULL
716
+ AND json_valid(acknowledgement_receipt_json)
717
+ AND cleanup_state IN ('pending', 'allocation_removed', 'session_removed')
718
+ AND cleanup_receipt_json IS NOT NULL
719
+ AND json_valid(cleanup_receipt_json)
720
+ AND cleanup_completed_at_ms IS NULL
721
+ )
722
+ OR (
723
+ lifecycle_kind = 'cleanup_complete'
724
+ AND sealed_envelope_json IS NULL
725
+ AND acknowledged_at_ms IS NOT NULL
726
+ AND acknowledged_at_ms >= issued_at_ms
727
+ AND acknowledged_at_ms <= expires_at_ms
728
+ AND acknowledgement_receipt_json IS NOT NULL
729
+ AND json_valid(acknowledgement_receipt_json)
730
+ AND cleanup_state = 'complete'
731
+ AND cleanup_receipt_json IS NOT NULL
732
+ AND json_valid(cleanup_receipt_json)
733
+ AND cleanup_completed_at_ms IS NOT NULL
734
+ AND cleanup_completed_at_ms >= acknowledged_at_ms
735
+ )
736
+ ),
737
+ CHECK (
738
+ acknowledgement_auth_binding_digest_b64u IS NULL
739
+ OR length(acknowledgement_auth_binding_digest_b64u) > 0
740
+ ),
741
+ CHECK (
742
+ acknowledgement_auth_package_set_digest_b64u IS NULL
743
+ OR length(acknowledgement_auth_package_set_digest_b64u) > 0
744
+ ),
745
+ CHECK (
746
+ acknowledgement_auth_expires_at_ms IS NULL
747
+ OR acknowledgement_auth_expires_at_ms >= issued_at_ms
748
+ ),
749
+ CHECK (
750
+ (
751
+ lifecycle_kind = 'issued'
752
+ AND acknowledgement_auth_binding_digest_b64u IS NULL
753
+ AND acknowledgement_auth_package_set_digest_b64u IS NULL
754
+ AND acknowledgement_auth_expires_at_ms IS NULL
755
+ )
756
+ OR (
757
+ lifecycle_kind IN ('acknowledged', 'cleanup_complete')
758
+ AND acknowledgement_auth_binding_digest_b64u IS NOT NULL
759
+ AND acknowledgement_auth_package_set_digest_b64u IS NOT NULL
760
+ AND acknowledgement_auth_expires_at_ms IS NOT NULL
761
+ AND acknowledgement_auth_expires_at_ms >= acknowledged_at_ms
762
+ AND acknowledgement_auth_expires_at_ms <= expires_at_ms
763
+ AND acknowledgement_auth_binding_digest_b64u = recipient_binding_digest_b64u
764
+ )
765
+ )
766
+ );
767
+
768
+ CREATE TRIGGER linked_device_wallet_session_credential_delivery_insert_lifecycle_guard
769
+ BEFORE INSERT ON linked_device_wallet_session_credential_deliveries_v1
770
+ WHEN NEW.lifecycle_kind != 'issued'
771
+ OR NEW.acknowledged_at_ms IS NOT NULL
772
+ OR NEW.acknowledgement_receipt_json IS NOT NULL
773
+ OR NEW.cleanup_state != 'pending'
774
+ OR NEW.cleanup_receipt_json IS NOT NULL
775
+ OR NEW.cleanup_completed_at_ms IS NOT NULL
776
+ OR NEW.acknowledgement_auth_binding_digest_b64u IS NOT NULL
777
+ OR NEW.acknowledgement_auth_package_set_digest_b64u IS NOT NULL
778
+ OR NEW.acknowledgement_auth_expires_at_ms IS NOT NULL
779
+ BEGIN
780
+ SELECT RAISE(ABORT, 'linked_device_wallet_session_credential_delivery_initial_state_rejected');
781
+ END;
782
+
783
+ CREATE TRIGGER linked_device_wallet_session_credential_delivery_identity_guard
784
+ BEFORE UPDATE OF
785
+ namespace, org_id, project_id, env_id, link_session_id, tenant_id,
786
+ authorization_id, wallet_session_id, quota_id, principal_id, authority_id,
787
+ wallet_id, wallet_auth_method_id, credential_digest_b64u, recipient_kind,
788
+ recipient_public_key_b64u, recipient_binding_digest_b64u, envelope_alg,
789
+ aad_digest_b64u, sealed_envelope_digest_b64u, installation_receipt_digest_b64u,
790
+ issued_at_ms, expires_at_ms
791
+ ON linked_device_wallet_session_credential_deliveries_v1
792
+ WHEN OLD.namespace IS NOT NEW.namespace
793
+ OR OLD.org_id IS NOT NEW.org_id
794
+ OR OLD.project_id IS NOT NEW.project_id
795
+ OR OLD.env_id IS NOT NEW.env_id
796
+ OR OLD.link_session_id IS NOT NEW.link_session_id
797
+ OR OLD.tenant_id IS NOT NEW.tenant_id
798
+ OR OLD.authorization_id IS NOT NEW.authorization_id
799
+ OR OLD.wallet_session_id IS NOT NEW.wallet_session_id
800
+ OR OLD.quota_id IS NOT NEW.quota_id
801
+ OR OLD.principal_id IS NOT NEW.principal_id
802
+ OR OLD.authority_id IS NOT NEW.authority_id
803
+ OR OLD.wallet_id IS NOT NEW.wallet_id
804
+ OR OLD.wallet_auth_method_id IS NOT NEW.wallet_auth_method_id
805
+ OR OLD.credential_digest_b64u IS NOT NEW.credential_digest_b64u
806
+ OR OLD.recipient_kind IS NOT NEW.recipient_kind
807
+ OR OLD.recipient_public_key_b64u IS NOT NEW.recipient_public_key_b64u
808
+ OR OLD.recipient_binding_digest_b64u IS NOT NEW.recipient_binding_digest_b64u
809
+ OR OLD.envelope_alg IS NOT NEW.envelope_alg
810
+ OR OLD.aad_digest_b64u IS NOT NEW.aad_digest_b64u
811
+ OR OLD.sealed_envelope_digest_b64u IS NOT NEW.sealed_envelope_digest_b64u
812
+ OR OLD.installation_receipt_digest_b64u IS NOT NEW.installation_receipt_digest_b64u
813
+ OR OLD.issued_at_ms IS NOT NEW.issued_at_ms
814
+ OR OLD.expires_at_ms IS NOT NEW.expires_at_ms
815
+ BEGIN
816
+ SELECT RAISE(ABORT, 'linked_device_wallet_session_credential_delivery_identity_rejected');
817
+ END;
818
+
819
+ CREATE TRIGGER linked_device_wallet_session_credential_delivery_envelope_guard
820
+ BEFORE UPDATE OF sealed_envelope_json
821
+ ON linked_device_wallet_session_credential_deliveries_v1
822
+ WHEN NOT (
823
+ OLD.lifecycle_kind = 'issued'
824
+ AND NEW.lifecycle_kind = 'acknowledged'
825
+ AND OLD.sealed_envelope_json IS NOT NULL
826
+ AND NEW.sealed_envelope_json IS NULL
827
+ )
828
+ BEGIN
829
+ SELECT RAISE(ABORT, 'linked_device_wallet_session_credential_delivery_envelope_rejected');
830
+ END;
831
+
832
+ CREATE TRIGGER linked_device_wallet_session_credential_delivery_acknowledgement_guard
833
+ BEFORE UPDATE OF
834
+ acknowledged_at_ms, acknowledgement_receipt_json,
835
+ acknowledgement_auth_binding_digest_b64u,
836
+ acknowledgement_auth_package_set_digest_b64u,
837
+ acknowledgement_auth_expires_at_ms
838
+ ON linked_device_wallet_session_credential_deliveries_v1
839
+ WHEN (
840
+ OLD.acknowledged_at_ms IS NOT NEW.acknowledged_at_ms
841
+ OR OLD.acknowledgement_receipt_json IS NOT NEW.acknowledgement_receipt_json
842
+ OR OLD.acknowledgement_auth_binding_digest_b64u IS NOT NEW.acknowledgement_auth_binding_digest_b64u
843
+ OR OLD.acknowledgement_auth_package_set_digest_b64u IS NOT NEW.acknowledgement_auth_package_set_digest_b64u
844
+ OR OLD.acknowledgement_auth_expires_at_ms IS NOT NEW.acknowledgement_auth_expires_at_ms
845
+ )
846
+ AND NOT (
847
+ OLD.lifecycle_kind = 'issued'
848
+ AND NEW.lifecycle_kind = 'acknowledged'
849
+ AND OLD.acknowledged_at_ms IS NULL
850
+ AND OLD.acknowledgement_receipt_json IS NULL
851
+ AND OLD.acknowledgement_auth_binding_digest_b64u IS NULL
852
+ AND OLD.acknowledgement_auth_package_set_digest_b64u IS NULL
853
+ AND OLD.acknowledgement_auth_expires_at_ms IS NULL
854
+ AND NEW.acknowledged_at_ms IS NOT NULL
855
+ AND NEW.acknowledgement_receipt_json IS NOT NULL
856
+ AND NEW.acknowledgement_auth_binding_digest_b64u IS NOT NULL
857
+ AND NEW.acknowledgement_auth_package_set_digest_b64u IS NOT NULL
858
+ AND NEW.acknowledgement_auth_expires_at_ms IS NOT NULL
859
+ )
860
+ BEGIN
861
+ SELECT RAISE(ABORT, 'linked_device_wallet_session_credential_delivery_acknowledgement_rejected');
862
+ END;
863
+
864
+ CREATE TRIGGER linked_device_wallet_session_credential_delivery_cleanup_receipt_guard
865
+ BEFORE UPDATE OF cleanup_receipt_json
866
+ ON linked_device_wallet_session_credential_deliveries_v1
867
+ WHEN OLD.cleanup_receipt_json IS NOT NEW.cleanup_receipt_json
868
+ AND NOT (
869
+ OLD.lifecycle_kind = 'issued'
870
+ AND NEW.lifecycle_kind = 'acknowledged'
871
+ AND OLD.cleanup_receipt_json IS NULL
872
+ AND NEW.cleanup_receipt_json IS NOT NULL
873
+ )
874
+ BEGIN
875
+ SELECT RAISE(ABORT, 'linked_device_wallet_session_credential_delivery_cleanup_receipt_rejected');
876
+ END;
877
+
878
+ CREATE TRIGGER linked_device_wallet_session_credential_delivery_cleanup_completion_guard
879
+ BEFORE UPDATE OF cleanup_completed_at_ms
880
+ ON linked_device_wallet_session_credential_deliveries_v1
881
+ WHEN OLD.cleanup_completed_at_ms IS NOT NEW.cleanup_completed_at_ms
882
+ AND NOT (
883
+ OLD.lifecycle_kind = 'acknowledged'
884
+ AND NEW.lifecycle_kind = 'cleanup_complete'
885
+ AND OLD.cleanup_completed_at_ms IS NULL
886
+ AND NEW.cleanup_completed_at_ms IS NOT NULL
887
+ )
888
+ BEGIN
889
+ SELECT RAISE(ABORT, 'linked_device_wallet_session_credential_delivery_cleanup_completion_rejected');
890
+ END;
891
+
892
+ CREATE INDEX linked_device_wallet_session_credential_deliveries_v1_lifecycle_idx
893
+ ON linked_device_wallet_session_credential_deliveries_v1 (
894
+ namespace, org_id, project_id, env_id, lifecycle_kind, cleanup_state, expires_at_ms
895
+ );
896
+
897
+ CREATE INDEX linked_device_wallet_session_credential_deliveries_v1_parent_idx
898
+ ON linked_device_wallet_session_credential_deliveries_v1 (
899
+ namespace, org_id, project_id, env_id, tenant_id, authorization_id, wallet_id
900
+ );
901
+
902
+ CREATE TRIGGER linked_device_wallet_session_credential_delivery_parent_guard
903
+ BEFORE INSERT ON linked_device_wallet_session_credential_deliveries_v1
904
+ WHEN NOT EXISTS (
905
+ SELECT 1
906
+ FROM wallet_session_authorizations_v2 AS session
907
+ JOIN linked_device_authority_installations AS installation
908
+ ON installation.namespace = NEW.namespace
909
+ AND installation.org_id = NEW.org_id
910
+ AND installation.project_id = NEW.project_id
911
+ AND installation.env_id = NEW.env_id
912
+ AND installation.link_session_id = NEW.link_session_id
913
+ WHERE session.namespace = NEW.namespace
914
+ AND session.org_id = NEW.org_id
915
+ AND session.project_id = NEW.project_id
916
+ AND session.env_id = NEW.env_id
917
+ AND session.tenant_id = NEW.tenant_id
918
+ AND session.authorization_id = NEW.authorization_id
919
+ AND session.wallet_session_id = NEW.wallet_session_id
920
+ AND session.quota_id = NEW.quota_id
921
+ AND session.principal_id = NEW.principal_id
922
+ AND session.wallet_id = NEW.wallet_id
923
+ AND session.authority_id = NEW.authority_id
924
+ AND session.wallet_auth_method_id = NEW.wallet_auth_method_id
925
+ AND session.operation_credential_hash IS NOT NULL
926
+ AND session.retired_at_ms IS NULL
927
+ AND session.expires_at_ms >= NEW.expires_at_ms
928
+ AND installation.authority_id = NEW.authority_id
929
+ AND installation.wallet_id = NEW.wallet_id
930
+ AND installation.auth_method_id = NEW.wallet_auth_method_id
931
+ )
932
+ BEGIN
933
+ SELECT RAISE(ABORT, 'linked_device_wallet_session_credential_delivery_parent_rejected');
934
+ END;
935
+
936
+ CREATE TRIGGER linked_device_wallet_session_credential_delivery_lifecycle_guard
937
+ BEFORE UPDATE OF lifecycle_kind, cleanup_state, sealed_envelope_json,
938
+ acknowledged_at_ms, acknowledgement_receipt_json, cleanup_receipt_json,
939
+ cleanup_completed_at_ms
940
+ ON linked_device_wallet_session_credential_deliveries_v1
941
+ WHEN (
942
+ (OLD.lifecycle_kind = 'issued' AND NEW.lifecycle_kind NOT IN ('issued', 'acknowledged'))
943
+ OR (OLD.lifecycle_kind = 'acknowledged' AND NEW.lifecycle_kind NOT IN ('acknowledged', 'cleanup_complete'))
944
+ OR (OLD.lifecycle_kind = 'cleanup_complete' AND NEW.lifecycle_kind != 'cleanup_complete')
945
+ OR (
946
+ CASE OLD.cleanup_state
947
+ WHEN 'pending' THEN 0
948
+ WHEN 'allocation_removed' THEN 1
949
+ WHEN 'session_removed' THEN 2
950
+ WHEN 'complete' THEN 3
951
+ END
952
+ != CASE NEW.cleanup_state
953
+ WHEN 'pending' THEN 0
954
+ WHEN 'allocation_removed' THEN 1
955
+ WHEN 'session_removed' THEN 2
956
+ WHEN 'complete' THEN 3
957
+ END
958
+ AND (
959
+ CASE NEW.cleanup_state
960
+ WHEN 'pending' THEN 0
961
+ WHEN 'allocation_removed' THEN 1
962
+ WHEN 'session_removed' THEN 2
963
+ WHEN 'complete' THEN 3
964
+ END
965
+ NOT IN (
966
+ CASE OLD.cleanup_state
967
+ WHEN 'pending' THEN 0
968
+ WHEN 'allocation_removed' THEN 1
969
+ WHEN 'session_removed' THEN 2
970
+ WHEN 'complete' THEN 3
971
+ END + 1
972
+ )
973
+ )
974
+ )
975
+ OR (
976
+ OLD.lifecycle_kind = 'issued'
977
+ AND NEW.lifecycle_kind = 'acknowledged'
978
+ AND NEW.cleanup_state != 'pending'
979
+ )
980
+ )
981
+ BEGIN
982
+ SELECT RAISE(ABORT, 'linked_device_wallet_session_credential_delivery_transition_rejected');
983
+ END;
984
+
985
+ CREATE INDEX wallet_session_authorizations_v2_credential_lifecycle_idx
986
+ ON wallet_session_authorizations_v2 (
987
+ namespace, org_id, project_id, env_id, tenant_id,
988
+ wallet_id, authority_id, wallet_auth_method_id,
989
+ retired_at_ms, expires_at_ms, operation_credential_hash
990
+ );
991
+
992
+ CREATE INDEX authorized_operations_v1_pending_scope_idx
993
+ ON authorized_operations (
994
+ namespace, tenant_id, authorization_id, quota_id, claimed_at_ms
995
+ )
996
+ WHERE lifecycle_kind = 'claimed'
997
+ AND authorization_source_kind = 'authorization_grant'
998
+ AND authorization_grant_kind = 'wallet_session_authorization'
999
+ AND linked_scope_org_id IS NULL
1000
+ AND linked_scope_project_id IS NULL
1001
+ AND linked_scope_env_id IS NULL;
1002
+
1003
+ CREATE INDEX authorization_wallet_session_quotas_lifecycle_idx
1004
+ ON authorization_wallet_session_quotas (
1005
+ namespace, tenant_id, lifecycle_kind, expires_at_ms
1006
+ );
1007
+
1008
+ CREATE INDEX hosted_wallet_session_exchange_codes_v1_lifecycle_idx
1009
+ ON hosted_wallet_session_exchange_codes (
1010
+ namespace, tenant_id, lifecycle_kind, expires_at_ms
1011
+ );
1012
+
1013
+ CREATE INDEX registration_completion_credential_inventory_idx
1014
+ ON router_ab_yao_versioned_json_records (
1015
+ namespace, org_id, project_id, env_id, record_key, updated_at_ms
1016
+ )
1017
+ WHERE record_key LIKE 'wallet-registration-activate:%'
1018
+ OR record_key LIKE 'wallet-registration-near-provisioning:%';
1019
+
1020
+ -- A duplicate exact tuple cannot be resolved by this additive bridge. A row
1021
+ -- without a credential or an expired row is retired deterministically before
1022
+ -- the bridge is usable; multiple active credential-bearing rows still abort.
1023
+ UPDATE wallet_session_authorizations_v2
1024
+ SET retired_at_ms = CASE
1025
+ WHEN operation_credential_hash IS NULL THEN issued_at_ms
1026
+ ELSE expires_at_ms
1027
+ END
1028
+ WHERE retired_at_ms IS NULL
1029
+ AND (
1030
+ operation_credential_hash IS NULL
1031
+ OR expires_at_ms <= (unixepoch() * 1000)
1032
+ );
1033
+
1034
+ CREATE TABLE r103f_phase1_duplicate_guard (
1035
+ guard_id INTEGER PRIMARY KEY CHECK (guard_id = 1)
1036
+ );
1037
+ INSERT INTO r103f_phase1_duplicate_guard (guard_id) VALUES (1);
1038
+ INSERT INTO r103f_phase1_duplicate_guard (guard_id)
1039
+ SELECT 1
1040
+ WHERE EXISTS (
1041
+ SELECT 1
1042
+ FROM wallet_session_authorizations_v2
1043
+ WHERE retired_at_ms IS NULL
1044
+ AND operation_credential_hash IS NOT NULL
1045
+ AND expires_at_ms > (unixepoch() * 1000)
1046
+ GROUP BY namespace, org_id, project_id, env_id,
1047
+ tenant_id, wallet_id, authority_id, wallet_auth_method_id
1048
+ HAVING COUNT(*) > 1
1049
+ );
1050
+ DROP TABLE r103f_phase1_duplicate_guard;
1051
+
1052
+ -- If an allocation table was created by an older worker, it must already be
1053
+ -- the same shape as the forward schema. The guard intentionally runs before
1054
+ -- CREATE TABLE IF NOT EXISTS can mask drift.
1055
+ CREATE TABLE r103f_phase1_allocation_schema_guard (
1056
+ guard_id INTEGER PRIMARY KEY CHECK (guard_id = 1)
1057
+ );
1058
+ INSERT INTO r103f_phase1_allocation_schema_guard (guard_id) VALUES (1);
1059
+ INSERT INTO r103f_phase1_allocation_schema_guard (guard_id)
1060
+ SELECT 1
1061
+ WHERE EXISTS (
1062
+ SELECT 1
1063
+ FROM sqlite_master AS schema
1064
+ WHERE schema.type = 'table'
1065
+ AND schema.name = 'linked_device_authority_allocations'
1066
+ AND (
1067
+ COALESCE(
1068
+ (
1069
+ SELECT group_concat(column_name, ',')
1070
+ FROM (
1071
+ SELECT name AS column_name
1072
+ FROM pragma_table_info('linked_device_authority_allocations')
1073
+ ORDER BY cid
1074
+ )
1075
+ ),
1076
+ ''
1077
+ ) != 'namespace,org_id,project_id,env_id,link_session_id,authority_id,wallet_id,enrollment_id,device_id,created_at_ms'
1078
+ OR COALESCE(
1079
+ (
1080
+ SELECT group_concat(column_signature, ',')
1081
+ FROM (
1082
+ SELECT
1083
+ name || ':' || type || ':' || "notnull" || ':' || pk AS column_signature
1084
+ FROM pragma_table_info('linked_device_authority_allocations')
1085
+ ORDER BY cid
1086
+ )
1087
+ ),
1088
+ ''
1089
+ ) != 'namespace:TEXT:1:1,org_id:TEXT:1:2,project_id:TEXT:1:3,env_id:TEXT:1:4,link_session_id:TEXT:1:5,authority_id:TEXT:1:0,wallet_id:TEXT:1:0,enrollment_id:TEXT:1:0,device_id:TEXT:1:0,created_at_ms:INTEGER:1:0'
1090
+ OR schema.sql IS NULL
1091
+ OR schema.sql NOT LIKE '%PRIMARY KEY (namespace, org_id, project_id, env_id, link_session_id)%'
1092
+ OR schema.sql NOT LIKE '%UNIQUE (namespace, org_id, project_id, env_id, authority_id)%'
1093
+ OR schema.sql NOT LIKE '%CHECK (created_at_ms >= 0)%'
1094
+ )
1095
+ );
1096
+ DROP TABLE r103f_phase1_allocation_schema_guard;
1097
+
1098
+ CREATE TABLE IF NOT EXISTS linked_device_authority_allocations (
1099
+ namespace TEXT NOT NULL,
1100
+ org_id TEXT NOT NULL,
1101
+ project_id TEXT NOT NULL,
1102
+ env_id TEXT NOT NULL,
1103
+ link_session_id TEXT NOT NULL,
1104
+ authority_id TEXT NOT NULL,
1105
+ wallet_id TEXT NOT NULL,
1106
+ enrollment_id TEXT NOT NULL,
1107
+ device_id TEXT NOT NULL,
1108
+ created_at_ms INTEGER NOT NULL,
1109
+ PRIMARY KEY (namespace, org_id, project_id, env_id, link_session_id),
1110
+ UNIQUE (namespace, org_id, project_id, env_id, authority_id),
1111
+ CHECK (created_at_ms >= 0)
1112
+ );
1113
+
1114
+ CREATE INDEX linked_device_authority_allocations_authority_idx
1115
+ ON linked_device_authority_allocations (
1116
+ namespace, org_id, project_id, env_id, authority_id
1117
+ );
1118
+
1119
+ PRAGMA defer_foreign_keys = OFF;