@seams/wallet-server 0.6.2 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (790) hide show
  1. package/THIRD_PARTY_NOTICES.md +1 -105
  2. package/artifact-manifest.json +147 -32
  3. package/cloudflare-router-ab/build/deriver-a/build-stamp.json +1 -0
  4. package/cloudflare-router-ab/build/deriver-a/index.js +2 -2
  5. package/cloudflare-router-ab/build/deriver-a/index_bg.wasm +0 -0
  6. package/cloudflare-router-ab/build/deriver-b/build-stamp.json +1 -0
  7. package/cloudflare-router-ab/build/deriver-b/index.js +2 -2
  8. package/cloudflare-router-ab/build/deriver-b/index_bg.wasm +0 -0
  9. package/cloudflare-router-ab/build/local-tools/darwin-arm64/router_ab_local_init +0 -0
  10. package/cloudflare-router-ab/build/local-tools/darwin-x64/router_ab_local_init +0 -0
  11. package/cloudflare-router-ab/build/local-tools/linux-x64/router_ab_local_init +0 -0
  12. package/cloudflare-router-ab/build/router/build-stamp.json +1 -0
  13. package/cloudflare-router-ab/build/router/index.js +2 -2
  14. package/cloudflare-router-ab/build/router/index_bg.wasm +0 -0
  15. package/cloudflare-router-ab/build/signing-worker/build-stamp.json +1 -0
  16. package/cloudflare-router-ab/build/signing-worker/index.js +2 -2
  17. package/cloudflare-router-ab/build/signing-worker/index_bg.wasm +0 -0
  18. package/cloudflare-router-ab/build/tenant-root-control-plane/build-stamp.json +1 -0
  19. package/cloudflare-router-ab/build/tenant-root-control-plane/index.js +2 -2
  20. package/cloudflare-router-ab/build/tenant-root-control-plane/index_bg.wasm +0 -0
  21. package/cloudflare-router-ab/migrations/deriver-a/0012_tenant_root_creation_tombstones.sql +20 -0
  22. package/cloudflare-router-ab/migrations/deriver-a/0013_tenant_root_root_use_admissions.sql +32 -0
  23. package/cloudflare-router-ab/migrations/deriver-a/0014_tenant_root_refresh_supersessions.sql +24 -0
  24. package/cloudflare-router-ab/migrations/deriver-a/0015_tenant_root_root_use_attempts.sql +56 -0
  25. package/cloudflare-router-ab/migrations/deriver-a/0016_tenant_root_root_use_admission_settlement.sql +5 -0
  26. package/cloudflare-router-ab/migrations/deriver-a/0017_tenant_root_root_use_admission_claims.sql +64 -0
  27. package/cloudflare-router-ab/migrations/deriver-a/0018_tenant_root_recovery_retention_keys.sql +12 -0
  28. package/cloudflare-router-ab/migrations/deriver-b/0012_tenant_root_creation_tombstones.sql +20 -0
  29. package/cloudflare-router-ab/migrations/deriver-b/0013_tenant_root_root_use_admissions.sql +32 -0
  30. package/cloudflare-router-ab/migrations/deriver-b/0014_tenant_root_refresh_supersessions.sql +24 -0
  31. package/cloudflare-router-ab/migrations/deriver-b/0015_tenant_root_root_use_attempts.sql +56 -0
  32. package/cloudflare-router-ab/migrations/deriver-b/0016_tenant_root_root_use_admission_settlement.sql +5 -0
  33. package/cloudflare-router-ab/migrations/deriver-b/0017_tenant_root_root_use_admission_claims.sql +64 -0
  34. package/cloudflare-router-ab/migrations/deriver-b/0018_tenant_root_recovery_retention_keys.sql +12 -0
  35. package/cloudflare-router-ab/scripts/bootstrap-local-tenant-root.mjs +81 -16
  36. package/cloudflare-router-ab/scripts/prepare-local-runtime-config.mjs +102 -9
  37. package/cloudflare-router-ab/scripts/start-local-role-workers.mjs +4 -1
  38. package/cloudflare-router-ab/wrangler.deriver-a.toml +24 -0
  39. package/cloudflare-router-ab/wrangler.router.toml +13 -0
  40. package/dist/esm/authorization/capabilityPolicy.js +1 -1
  41. package/dist/esm/authorization/domain.js +2 -2
  42. package/dist/esm/authorization/factorEvidence.js +6 -100
  43. package/dist/esm/authorization/service.js +42 -2
  44. package/dist/esm/authorization/vaultProxyUse.js +5 -10
  45. package/dist/esm/cloud-host.js +17 -12
  46. package/dist/esm/core/EmailOtpRecords.js +19 -1
  47. package/dist/esm/core/EmailOtpStores.js +323 -924
  48. package/dist/esm/core/IdentityStore.js +67 -345
  49. package/dist/esm/core/NearPublicKeyStore.js +21 -63
  50. package/dist/esm/core/RegistrationCeremonyStore.js +3 -1793
  51. package/dist/esm/core/SessionService.js +7 -30
  52. package/dist/esm/core/ThresholdService/config.js +1 -82
  53. package/dist/esm/core/ThresholdService/kv.js +3 -3
  54. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.js +37 -5
  55. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.js +4 -74
  56. package/dist/esm/core/ThresholdService/routerAbNormalSigningPolicy.js +3 -10
  57. package/dist/esm/core/ThresholdService/stores/CloudflareDurableObjectStore.js +15 -51
  58. package/dist/esm/core/ThresholdService/stores/KeyStore.js +3 -3
  59. package/dist/esm/core/ThresholdService/stores/SessionStore.js +5 -81
  60. package/dist/esm/core/ThresholdService/stores/WalletSessionStore.js +191 -372
  61. package/dist/esm/core/ThresholdService/stores/exportReplayGuard.js +7 -0
  62. package/dist/esm/core/ThresholdService/validation.js +18 -230
  63. package/dist/esm/core/WalletAuthMethodStore.js +22 -79
  64. package/dist/esm/core/WalletStore.js +62 -191
  65. package/dist/esm/core/WebAuthnAuthenticatorStore.js +57 -340
  66. package/dist/esm/core/WebAuthnCredentialBindingStore.js +90 -369
  67. package/dist/esm/core/WebAuthnLoginChallengeStore.js +17 -397
  68. package/dist/esm/core/WebAuthnSyncChallengeStore.js +17 -397
  69. package/dist/esm/core/authService/AuthService.js +2 -19
  70. package/dist/esm/core/authService/bytes.js +1 -4
  71. package/dist/esm/core/authService/emailOtpChallengeOperations.js +2 -5
  72. package/dist/esm/core/authService/emailOtpChallengeProof.js +10 -41
  73. package/dist/esm/core/authService/emailOtpChallengeVerification.js +19 -90
  74. package/dist/esm/core/authService/emailOtpChallenges.js +11 -46
  75. package/dist/esm/core/authService/emailOtpConfig.js +1 -32
  76. package/dist/esm/core/authService/emailOtpDelivery.js +10 -45
  77. package/dist/esm/core/authService/emailOtpEnrollment.js +9 -40
  78. package/dist/esm/core/authService/emailOtpGrant.js +9 -40
  79. package/dist/esm/core/authService/emailOtpRegistrationEnrollment.js +15 -193
  80. package/dist/esm/core/authService/emailOtpSeal.js +5 -20
  81. package/dist/esm/core/authService/emailOtpUnlock.js +20 -110
  82. package/dist/esm/core/authService/googleEmailOtpRegistration.js +29 -116
  83. package/dist/esm/core/authService/identity.js +5 -20
  84. package/dist/esm/core/authService/nearPrivateKeySigning.js +7 -15
  85. package/dist/esm/core/authService/nearPublicKeyMetadata.js +6 -25
  86. package/dist/esm/core/authService/nearTransactions.js +2 -1
  87. package/dist/esm/core/authService/oidcVerification.js +25 -38
  88. package/dist/esm/core/authService/rateLimits.js +3 -36
  89. package/dist/esm/core/authService/registrationThresholdHelpers.js +2 -103
  90. package/dist/esm/core/authService/storeRegistry.js +2 -13
  91. package/dist/esm/core/authService/thresholdEcdsaKeyInventory.js +6 -6
  92. package/dist/esm/core/authService/webauthn.js +52 -241
  93. package/dist/esm/core/authService/webauthnOidcHelpers.js +1 -6
  94. package/dist/esm/core/authService/webauthnVerificationOutcomes.js +41 -0
  95. package/dist/esm/core/authService/webauthnWalletBinding.js +2 -122
  96. package/dist/esm/core/d1EcdsaSignerRead.js +76 -0
  97. package/dist/esm/core/d1IdentityStore.js +46 -139
  98. package/dist/esm/core/d1TenantStore.js +82 -0
  99. package/dist/esm/core/d1WalletAuthMethodStore.js +92 -143
  100. package/dist/esm/core/d1WalletStore.js +28 -36
  101. package/dist/esm/core/deviceLinking/linkedDeviceEmailOtpGrant.js +10 -12
  102. package/dist/esm/core/deviceLinking/linkedDeviceManagement.js +25 -3
  103. package/dist/esm/core/deviceLinking/linkedDeviceSession.js +6 -895
  104. package/dist/esm/core/deviceLinking/linkedDeviceSessionApproval.js +100 -0
  105. package/dist/esm/core/deviceLinking/linkedDeviceSessionRecord.js +662 -0
  106. package/dist/esm/core/deviceLinking/requestProof.js +13 -4
  107. package/dist/esm/core/ecdsaMaterialReadSnapshot.js +85 -0
  108. package/dist/esm/core/emailOtpD1Statements.js +383 -0
  109. package/dist/esm/core/hostedAccountIds.js +2 -2
  110. package/dist/esm/core/keyMaterialBrands.js +2 -48
  111. package/dist/esm/core/nearRelayerAccountProvisioning.js +27 -155
  112. package/dist/esm/core/nearSignerWasmRuntime.js +1 -4
  113. package/dist/esm/core/rpcClients/near/NearClient.js +15 -218
  114. package/dist/esm/core/signingLanes/LaneEnrollmentActivation.js +1 -1
  115. package/dist/esm/core/signingLanes/LaneLifecycleApplicationService.js +2 -4
  116. package/dist/esm/core/signingLanes/LaneLifecycleStore.js +0 -24
  117. package/dist/esm/core/signingLanes/WalletExecutionLaneProjection.js +8 -11
  118. package/dist/esm/core/signingLanes/ecdsaServerRetirement.js +3 -8
  119. package/dist/esm/core/signingLanes/ed25519ServerRetirement.js +1 -4
  120. package/dist/esm/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.js +2 -5
  121. package/dist/esm/core/storeBackends.js +208 -0
  122. package/dist/esm/core/thresholdEcdsaChainTarget.js +2 -10
  123. package/dist/esm/core/webAuthnD1Statements.js +92 -0
  124. package/dist/esm/core/webAuthnStoreBackends.js +198 -0
  125. package/dist/esm/hosted-wallet-gateway.js +34 -17
  126. package/dist/esm/index.js +2 -2
  127. package/dist/esm/local-hosted-wallet-gateway-worker.js +2 -23
  128. package/dist/esm/localHostedWalletGatewayHandler.js +312 -0
  129. package/dist/esm/localIntendedEcdsaFinalizeFault.js +85 -0
  130. package/dist/esm/localIntendedLinkExecuteFault.js +140 -0
  131. package/dist/esm/localIntendedMaterialAdmissionFault.js +176 -0
  132. package/dist/esm/localIntendedPresignCancellation.js +44 -0
  133. package/dist/esm/localIntendedRevokeFault.js +106 -0
  134. package/dist/esm/localIntendedSessionAdmissionFault.js +139 -0
  135. package/dist/esm/localIntendedYaoExportFault.js +117 -0
  136. package/dist/esm/localIntendedYaoFault.js +13 -16
  137. package/dist/esm/localIntendedYaoFinalizeFault.js +99 -0
  138. package/dist/esm/localIntendedYaoRecoveryFault.js +102 -0
  139. package/dist/esm/localIntendedYaoSigningFault.js +127 -0
  140. package/dist/esm/router/auth/authRequestValidation.js +1 -1
  141. package/dist/esm/router/auth/commonRouterUtils.js +34 -12
  142. package/dist/esm/router/auth/walletSessionFailure.js +3 -19
  143. package/dist/esm/router/auth/webAuthnCredentialCodecs.js +4 -15
  144. package/dist/esm/router/cloudflare/d1/auth/d1AuthorizedOperationRouteService.js +24 -0
  145. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthBoundary.js +2 -6
  146. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthService.js +87 -89
  147. package/dist/esm/router/cloudflare/d1/auth/walletSessionCredentialReaders.js +76 -0
  148. package/dist/esm/router/cloudflare/d1/authorization/authorizedOperationStatements.js +215 -0
  149. package/dist/esm/router/cloudflare/d1/authorization/d1AuthorizationStore.js +423 -308
  150. package/dist/esm/router/cloudflare/d1/authorization/d1VaultProxyStore.js +8 -12
  151. package/dist/esm/router/cloudflare/d1/authorization/persistedWalletSessionAuthorization.js +14 -0
  152. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.js +107 -66
  153. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.js +3 -6
  154. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.js +1 -19
  155. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceManagementService.js +4 -3
  156. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.js +52 -9
  157. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.js +3 -6
  158. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRevocation.js +100 -0
  159. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.js +7 -10
  160. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.js +33 -124
  161. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSourceContributionPreparationPlanner.js +2 -2
  162. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.js +10 -18
  163. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkBuilder.js +6 -6
  164. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkSourceReader.js +3 -1
  165. package/dist/esm/router/cloudflare/d1/deviceLinking/index.js +4 -4
  166. package/dist/esm/router/cloudflare/d1/deviceLinking/installedEcdsaAuthority.js +69 -0
  167. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.js +39 -68
  168. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoLifecycleDecisionStore.js +69 -0
  169. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.js +2 -2
  170. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.js +12 -55
  171. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.js +17 -80
  172. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.js +26 -71
  173. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.js +20 -3
  174. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpDeliveryRuntime.js +6 -25
  175. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.js +7 -94
  176. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.js +5 -47
  177. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.js +38 -170
  178. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.js +24 -87
  179. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.js +9 -32
  180. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.js +5 -20
  181. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.js +15 -134
  182. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.js +54 -260
  183. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.js +24 -111
  184. package/dist/esm/router/cloudflare/d1/identity/d1IdentityRecords.js +1 -28
  185. package/dist/esm/router/cloudflare/d1/identity/d1IdentityService.js +9 -40
  186. package/dist/esm/router/cloudflare/d1/near/d1NearPublicKeyStore.js +5 -18
  187. package/dist/esm/router/cloudflare/d1/oidc/d1OidcBoundary.js +18 -91
  188. package/dist/esm/router/cloudflare/d1/oidc/d1OidcVerificationService.js +6 -30
  189. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyEnvelopeStore.js +1 -1
  190. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.js +7 -18
  191. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.js +25 -80
  192. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpRecords.js +24 -15
  193. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpService.js +23 -253
  194. package/dist/esm/router/cloudflare/d1/registration/d1EvmFamilyEcdsaRegistrationBranch.js +5 -20
  195. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.js +20 -39
  196. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.js +31 -73
  197. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.js +4 -1
  198. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationIntentService.js +10 -31
  199. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.js +6 -30
  200. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationService.js +286 -220
  201. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetup.js +5 -3
  202. package/dist/esm/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.js +2 -2
  203. package/dist/esm/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.js +4 -7
  204. package/dist/esm/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.js +139 -27
  205. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.js +0 -1
  206. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.js +1 -1
  207. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneRecords.js +2 -1
  208. package/dist/esm/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.js +2 -60
  209. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerService.js +158 -19
  210. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodBoundary.js +19 -49
  211. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodRevocationReplayStore.js +100 -0
  212. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodService.js +132 -33
  213. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorityStore.js +83 -4
  214. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.js +45 -217
  215. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnRecords.js +10 -13
  216. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnStore.js +22 -116
  217. package/dist/esm/router/cloudflare/durableObjects/thresholdStore.js +59 -66
  218. package/dist/esm/router/cloudflare/runtime/createSelfHostedCloudflareSigningWorker.js +1 -2
  219. package/dist/esm/router/cloudflare/runtime/routerAbPrewarm.js +2 -2
  220. package/dist/esm/router/cloudflare/runtime/staticWalletConsoleBinding.js +5 -20
  221. package/dist/esm/router/cloudflare/runtime/tenantRootCreationGrant.js +2 -9
  222. package/dist/esm/router/cloudflare/runtime/walletConsoleTenantRootLineage.js +11 -2
  223. package/dist/esm/router/cloudflare/runtime/walletControlOps.js +2 -1
  224. package/dist/esm/router/cloudflare/runtime/walletGateway.js +1 -1
  225. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.js +7 -7
  226. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.js +4 -3
  227. package/dist/esm/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.js +48 -21
  228. package/dist/esm/router/cloudflare.js +13343 -14372
  229. package/dist/esm/router/domains/ecdsa/routerAbEcdsaStrictRegistration.js +16 -5
  230. package/dist/esm/router/domains/ecdsa/thresholdEcdsaRequestValidation.js +2 -8
  231. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoLifecycleDecision.js +33 -0
  232. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.js +17 -9
  233. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.js +29 -431
  234. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.js +7 -2
  235. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPersistence.js +5 -8
  236. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRunner.js +2 -1
  237. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.js +70 -2
  238. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.js +134 -169
  239. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.js +77 -162
  240. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.js +205 -51
  241. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.js +29 -11
  242. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryWalletSessionAuthorization.js +3 -6
  243. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.js +182 -55
  244. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.js +2 -1
  245. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.js +63 -247
  246. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.js +9 -27
  247. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationRequestScopedCloudflare.js +87 -132
  248. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.js +39 -55
  249. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationTwoPhaseRunner.js +5 -4
  250. package/dist/esm/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.js +45 -0
  251. package/dist/esm/router/domains/ed25519Yao/session/thresholdEd25519RequestValidation.js +1 -1
  252. package/dist/esm/router/domains/emailOtp/emailOtpExportPolicy.js +1 -42
  253. package/dist/esm/router/domains/emailOtp/emailOtpRequestValidation.js +1 -6
  254. package/dist/esm/router/domains/emailOtp/emailOtpRouteHandlers.js +15 -62
  255. package/dist/esm/router/domains/emailOtp/emailOtpSessionRouteHelpers.js +1 -142
  256. package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrievalRoute.js +1 -1
  257. package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationCommit.js +2 -2
  258. package/dist/esm/router/domains/passkeyCustody/walletRecoveryFinalization.js +23 -45
  259. package/dist/esm/router/domains/passkeyCustody/walletRecoveryKeyManifest.js +5 -5
  260. package/dist/esm/router/domains/signingOperations/ed25519AuthorizedOperationReceipt.js +1 -1
  261. package/dist/esm/router/domains/signingOperations/routerAbEcdsaDerivationNormalSigningRoute.js +836 -0
  262. package/dist/esm/router/domains/signingOperations/routerAbEd25519NormalSigningRoute.js +698 -0
  263. package/dist/esm/router/domains/signingOperations/routerAbNormalSigningAdmission.js +210 -0
  264. package/dist/esm/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.js +16 -15
  265. package/dist/esm/router/domains/signingOperations/routerAbOperationStepUp.js +314 -0
  266. package/dist/esm/router/domains/signingOperations/routerAbPrivateSigningWorker.js +62 -2159
  267. package/dist/esm/router/domains/signingOperations/walletExecutionAdmission.js +1 -4
  268. package/dist/esm/router/domains/tenantRoot/tenantRootIdentityResolution.js +8 -14
  269. package/dist/esm/router/domains/walletRegistration/walletRegistrationRoutes.js +18 -22
  270. package/dist/esm/router/domains/walletRegistration/walletRegistrationSetupPayload.js +3 -4
  271. package/dist/esm/router/domains/walletUnlock/walletUnlockRequestedCapabilitiesValidation.js +2 -2
  272. package/dist/esm/router/domains/walletUnlock/walletUnlockRouteHandlers.js +127 -339
  273. package/dist/esm/router/express.js +7172 -7997
  274. package/dist/esm/router/framework/http.js +5 -4
  275. package/dist/esm/router/framework/ror/normalize.js +1 -1
  276. package/dist/esm/router/framework/routerApiRouteSurface.js +1 -1
  277. package/dist/esm/router/framework/runtimeSnapshotConsumer.js +8 -35
  278. package/dist/esm/router/node/nodeHostedWalletGateway.js +64 -0
  279. package/dist/esm/router/node/nodeHostedWalletGatewayCheck.js +163 -0
  280. package/dist/esm/router/node/nodeHostedWalletGatewayMain.js +120 -0
  281. package/dist/esm/router/node/nodeHttp.js +79 -0
  282. package/dist/esm/router/node/nodeSqlite.js +43 -0
  283. package/dist/esm/router/node/signerSqlMigrations.js +48 -0
  284. package/dist/esm/router/transport/fetch/createFetchRouter.js +4 -7
  285. package/dist/esm/router/transport/fetch/routes/auth.js +9 -41
  286. package/dist/esm/router/transport/fetch/routes/deviceLinking.js +16 -18
  287. package/dist/esm/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.js +8 -27
  288. package/dist/esm/router/transport/fetch/routes/deviceManagement.js +15 -24
  289. package/dist/esm/router/transport/fetch/routes/nearPublicKeys.js +4 -16
  290. package/dist/esm/router/transport/fetch/routes/normalSigningRouterProxy.js +3 -16
  291. package/dist/esm/router/transport/fetch/routes/passkeyCustody.js +144 -461
  292. package/dist/esm/router/transport/fetch/routes/sessions.js +5 -4
  293. package/dist/esm/router/transport/fetch/routes/syncAccount.js +12 -42
  294. package/dist/esm/router/transport/fetch/routes/syncAccountBootstrap.js +2 -2
  295. package/dist/esm/router/transport/fetch/routes/thresholdEcdsa.js +96 -102
  296. package/dist/esm/router/transport/fetch/routes/thresholdEd25519.js +52 -27
  297. package/dist/esm/router/transport/fetch/routes/walletExecutionLanePreflight.js +4 -1
  298. package/dist/esm/router/transport/fetch/routes/webauthnAuthenticators.js +4 -16
  299. package/dist/esm/shared-ts/src/authorization/capabilityKinds.js +1 -1
  300. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +1 -1
  301. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +1 -2
  302. package/dist/esm/shared-ts/src/authorization/walletAuthority.js +99 -227
  303. package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +4 -6
  304. package/dist/esm/shared-ts/src/authorization/walletSignerActivationEquality.js +12 -0
  305. package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +74 -0
  306. package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +50 -0
  307. package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +10 -14
  308. package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +3 -5
  309. package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +55 -0
  310. package/dist/esm/shared-ts/src/device-linking/digests.js +10 -65
  311. package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +14 -16
  312. package/dist/esm/shared-ts/src/device-linking/index.js +4 -1
  313. package/dist/esm/shared-ts/src/device-linking/parsers.js +510 -1063
  314. package/dist/esm/shared-ts/src/device-linking/requestProof.js +5 -14
  315. package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +10 -16
  316. package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +9 -9
  317. package/dist/esm/shared-ts/src/device-linking/wireFields.js +59 -0
  318. package/dist/esm/shared-ts/src/near/nearClient.js +252 -0
  319. package/dist/esm/shared-ts/src/passkey-custody/credentialActivity.js +3 -1
  320. package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +7 -5
  321. package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +6 -4
  322. package/dist/esm/shared-ts/src/passkey-custody/primitives.js +9 -39
  323. package/dist/esm/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.js +1 -5
  324. package/dist/esm/shared-ts/src/signing-lanes/index.js +3 -3
  325. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +8 -19
  326. package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +5 -14
  327. package/dist/esm/shared-ts/src/signing-lanes/participants.js +2 -5
  328. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +7 -5
  329. package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +6 -45
  330. package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +423 -1511
  331. package/dist/esm/shared-ts/src/signing-lanes/rotationProtocolParsers.js +323 -0
  332. package/dist/esm/shared-ts/src/signing-lanes/rotationWireFields.js +59 -0
  333. package/dist/esm/shared-ts/src/tenant-root/tenantRootIdentifier.js +12 -0
  334. package/dist/esm/shared-ts/src/tenant-root/tenantRootIdentity.js +2 -9
  335. package/dist/esm/shared-ts/src/tenant-root/tenantRootOperationRecord.js +2 -5
  336. package/dist/esm/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.js +1 -2
  337. package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +49 -0
  338. package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +3 -4
  339. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +8 -1
  340. package/dist/esm/shared-ts/src/utils/digestEncoding.js +63 -0
  341. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +2 -4
  342. package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +0 -1
  343. package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +5 -3
  344. package/dist/esm/shared-ts/src/utils/exactKeys.js +17 -0
  345. package/dist/esm/shared-ts/src/utils/exactRecord.js +44 -0
  346. package/dist/esm/shared-ts/src/utils/failure.js +20 -0
  347. package/dist/esm/shared-ts/src/utils/registrationAuthMethodInput.js +127 -0
  348. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +2 -2
  349. package/dist/esm/shared-ts/src/utils/registrationIds.js +280 -0
  350. package/dist/esm/shared-ts/src/utils/registrationIntent.js +7 -1182
  351. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +426 -0
  352. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +11 -136
  353. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +3 -163
  354. package/dist/esm/shared-ts/src/utils/routerAbEd25519YaoDigests.js +160 -0
  355. package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -4
  356. package/dist/esm/shared-ts/src/utils/routerAbPublicKeyset.js +7 -15
  357. package/dist/esm/shared-ts/src/utils/thresholdEcdsaChainTarget.js +9 -0
  358. package/dist/esm/shared-ts/src/utils/validation.js +37 -6
  359. package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +362 -0
  360. package/dist/esm/shared-ts/src/utils/wireSchema.js +77 -0
  361. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +1 -1
  362. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +1 -1
  363. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +8 -15
  364. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +4 -8
  365. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -1
  366. package/dist/esm/storage/d1Sql.js +10 -1
  367. package/dist/esm/storage/syncSqlite.js +79 -0
  368. package/dist/esm/threshold/session/signingSessionSeal/crypto/cipher.js +11 -33
  369. package/dist/esm/threshold/session/signingSessionSeal/crypto/shamir3PassWasm.js +1 -1
  370. package/dist/esm/threshold/session/signingSessionSeal/idempotencyBackends.js +3 -3
  371. package/dist/esm/threshold/session/signingSessionSeal/idempotencyRecords.js +3 -10
  372. package/dist/esm/threshold/session/signingSessionSeal/options.js +1 -1
  373. package/dist/esm/threshold/session/signingSessionSeal/service.js +8 -35
  374. package/dist/esm/threshold/session/signingSessionSeal/transport/express.js +18 -94
  375. package/dist/esm/threshold/session/signingSessionSeal/transport/fetch.js +6 -30
  376. package/dist/esm/threshold/session/signingSessionSeal/transport/shared.js +23 -75
  377. package/dist/esm/threshold/statusCodes.js +1 -1
  378. package/dist/esm/wasm/evm_crypto/pkg/evm_crypto_bg.wasm +0 -0
  379. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +3 -3
  380. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  381. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +8 -26
  382. package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +2 -9
  383. package/dist/types/shared-ts/src/authorization/operationFingerprint.d.ts +1 -3
  384. package/dist/types/shared-ts/src/authorization/walletAuthority.d.ts +25 -12
  385. package/dist/types/shared-ts/src/authorization/walletSessionIssuance.d.ts +8 -0
  386. package/dist/types/shared-ts/src/authorization/walletSignerActivationEquality.d.ts +4 -0
  387. package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +3 -2
  388. package/dist/types/shared-ts/src/device-linking/authorityActivation.d.ts +5 -0
  389. package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +4 -8
  390. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +13 -74
  391. package/dist/types/shared-ts/src/device-linking/contracts.typecheck.d.ts +2 -1
  392. package/dist/types/shared-ts/src/device-linking/deviceManagement.d.ts +7 -0
  393. package/dist/types/shared-ts/src/device-linking/digests.d.ts +0 -5
  394. package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +3 -2
  395. package/dist/types/shared-ts/src/device-linking/index.d.ts +2 -0
  396. package/dist/types/shared-ts/src/device-linking/parsers.d.ts +4 -41
  397. package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +0 -1
  398. package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +5 -2
  399. package/dist/types/shared-ts/src/device-linking/walletSessionCredentialDelivery.d.ts +2 -1
  400. package/dist/types/shared-ts/src/device-linking/wireFields.d.ts +26 -0
  401. package/dist/types/shared-ts/src/near/actions.d.ts +4 -4
  402. package/dist/types/shared-ts/src/near/delegate.d.ts +3 -2
  403. package/dist/types/shared-ts/src/near/nearClient.d.ts +145 -0
  404. package/dist/types/shared-ts/src/passkey-custody/ceremonyCommitPayload.d.ts +0 -22
  405. package/dist/types/shared-ts/src/passkey-custody/credentialActivity.d.ts +2 -4
  406. package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +14 -30
  407. package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +8 -24
  408. package/dist/types/shared-ts/src/passkey-custody/index.d.ts +0 -2
  409. package/dist/types/shared-ts/src/passkey-custody/primitives.d.ts +9 -14
  410. package/dist/types/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.d.ts +0 -15
  411. package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +11 -50
  412. package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +1 -10
  413. package/dist/types/shared-ts/src/signing-lanes/index.d.ts +1 -2
  414. package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +1 -2
  415. package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +5 -27
  416. package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +0 -11
  417. package/dist/types/shared-ts/src/signing-lanes/recordParsers.d.ts +6 -53
  418. package/dist/types/shared-ts/src/signing-lanes/records.d.ts +1 -2
  419. package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +18 -42
  420. package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +1 -20
  421. package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +4 -25
  422. package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +1 -41
  423. package/dist/types/shared-ts/src/signing-lanes/rotationProtocolParsers.d.ts +6 -0
  424. package/dist/types/shared-ts/src/signing-lanes/rotationWireFields.d.ts +20 -0
  425. package/dist/types/shared-ts/src/tenant-root/tenantRootIdentifier.d.ts +3 -0
  426. package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +2 -1
  427. package/dist/types/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.d.ts +8 -35
  428. package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +8 -35
  429. package/dist/types/shared-ts/src/threshold/keyMaterialBrands.d.ts +25 -0
  430. package/dist/types/shared-ts/src/threshold/participants.d.ts +3 -9
  431. package/dist/types/shared-ts/src/threshold/secp256k1.d.ts +0 -37
  432. package/dist/types/shared-ts/src/threshold/sessionPolicy.d.ts +24 -0
  433. package/dist/types/shared-ts/src/threshold/signingRootScope.d.ts +3 -5
  434. package/dist/types/shared-ts/src/utils/addAuthMethodRegistration.d.ts +3 -4
  435. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +7 -108
  436. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +16 -3
  437. package/dist/types/shared-ts/src/utils/canonicalPrimitives.d.ts +2 -0
  438. package/dist/types/shared-ts/src/utils/digestEncoding.d.ts +9 -0
  439. package/dist/types/shared-ts/src/utils/domainIds.d.ts +1 -2
  440. package/dist/types/shared-ts/src/utils/ecdsaKeyFactsInventory.d.ts +3 -13
  441. package/dist/types/shared-ts/src/utils/eip1559TxWasmJson.d.ts +16 -0
  442. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +7 -5
  443. package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +0 -2
  444. package/dist/types/shared-ts/src/utils/errors.d.ts +0 -7
  445. package/dist/types/shared-ts/src/utils/exactKeys.d.ts +11 -0
  446. package/dist/types/shared-ts/src/utils/exactRecord.d.ts +12 -0
  447. package/dist/types/shared-ts/src/utils/failure.d.ts +12 -0
  448. package/dist/types/shared-ts/src/utils/index.d.ts +5 -2
  449. package/dist/types/shared-ts/src/utils/jsonRpc.d.ts +6 -6
  450. package/dist/types/shared-ts/src/utils/near.d.ts +2 -1
  451. package/dist/types/shared-ts/src/utils/nearRpcResults.d.ts +8 -7
  452. package/dist/types/shared-ts/src/utils/normalize.d.ts +0 -4
  453. package/dist/types/shared-ts/src/utils/registrationAuthMethodInput.d.ts +179 -0
  454. package/dist/types/shared-ts/src/utils/registrationContracts.d.ts +76 -0
  455. package/dist/types/shared-ts/src/utils/registrationEstablishedSession.d.ts +1 -2
  456. package/dist/types/shared-ts/src/utils/registrationIds.d.ts +56 -0
  457. package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +9 -514
  458. package/dist/types/shared-ts/src/utils/registrationSignerPlan.d.ts +130 -0
  459. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +24 -93
  460. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +15 -99
  461. package/dist/types/shared-ts/src/utils/routerAbEd25519YaoDigests.d.ts +38 -0
  462. package/dist/types/shared-ts/src/utils/routerAbNormalSigningIdentity.d.ts +30 -8
  463. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +10 -15
  464. package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +2 -1
  465. package/dist/types/shared-ts/src/utils/routerApiKeyAuth.d.ts +2 -0
  466. package/dist/types/shared-ts/src/utils/secureRandomId.d.ts +0 -2
  467. package/dist/types/shared-ts/src/utils/signerDomain.d.ts +3 -35
  468. package/dist/types/shared-ts/src/utils/signerSlot.d.ts +0 -4
  469. package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +10 -17
  470. package/dist/types/shared-ts/src/utils/thresholdEcdsaChainTarget.d.ts +25 -0
  471. package/dist/types/shared-ts/src/utils/validation.d.ts +10 -10
  472. package/dist/types/shared-ts/src/utils/variant.d.ts +29 -0
  473. package/dist/types/shared-ts/src/utils/variant.typecheck.d.ts +22 -0
  474. package/dist/types/shared-ts/src/utils/walletAddSignerActivation.d.ts +2 -2
  475. package/dist/types/shared-ts/src/utils/walletAuthAuthority.d.ts +1 -58
  476. package/dist/types/shared-ts/src/utils/walletAuthMethodRecord.d.ts +101 -0
  477. package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +3 -7
  478. package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +5 -4
  479. package/dist/types/shared-ts/src/utils/wireSchema.d.ts +60 -0
  480. package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +2 -1
  481. package/dist/types/shared-ts/src/wallet-recovery/index.d.ts +0 -1
  482. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeLocator.d.ts +0 -16
  483. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +2 -11
  484. package/dist/types/shared-ts/src/wallet-recovery/recoveryEnvelopes.d.ts +3 -16
  485. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.d.ts +6 -18
  486. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.d.ts +0 -2
  487. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.d.ts +1 -3
  488. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryPreparation.d.ts +15 -0
  489. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryTarget.d.ts +3 -4
  490. package/dist/types/wallet-server/src/authorization/capabilityPolicy.d.ts +0 -1
  491. package/dist/types/wallet-server/src/authorization/domain.d.ts +36 -5
  492. package/dist/types/wallet-server/src/authorization/ecdsaWalletSessionAdmission.d.ts +61 -0
  493. package/dist/types/wallet-server/src/authorization/ecdsaWalletSessionAdmission.typecheck.d.ts +2 -0
  494. package/dist/types/wallet-server/src/authorization/factorEvidence.d.ts +6 -7
  495. package/dist/types/wallet-server/src/authorization/service.d.ts +71 -3
  496. package/dist/types/wallet-server/src/cloud-host.d.ts +6 -2
  497. package/dist/types/wallet-server/src/core/EmailOtpRecords.d.ts +10 -1
  498. package/dist/types/wallet-server/src/core/EmailOtpStores.d.ts +16 -116
  499. package/dist/types/wallet-server/src/core/IdentityStore.d.ts +2 -7
  500. package/dist/types/wallet-server/src/core/NearPublicKeyStore.d.ts +6 -16
  501. package/dist/types/wallet-server/src/core/RegistrationCeremonyStore.d.ts +29 -90
  502. package/dist/types/wallet-server/src/core/ThresholdService/config.d.ts +0 -12
  503. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.d.ts +10 -3
  504. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.d.ts +17 -48
  505. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/internalServiceHttp.d.ts +2 -1
  506. package/dist/types/wallet-server/src/core/ThresholdService/stores/CloudflareDurableObjectStore.d.ts +4 -71
  507. package/dist/types/wallet-server/src/core/ThresholdService/stores/KeyStore.d.ts +2 -1
  508. package/dist/types/wallet-server/src/core/ThresholdService/stores/SessionStore.d.ts +2 -6
  509. package/dist/types/wallet-server/src/core/ThresholdService/stores/StoreConfig.d.ts +2 -1
  510. package/dist/types/wallet-server/src/core/ThresholdService/stores/WalletSessionStore.d.ts +2 -4
  511. package/dist/types/wallet-server/src/core/ThresholdService/stores/exportReplayGuard.d.ts +3 -0
  512. package/dist/types/wallet-server/src/core/ThresholdService/validation.d.ts +11 -137
  513. package/dist/types/wallet-server/src/core/WalletAuthMethodStore.d.ts +2 -7
  514. package/dist/types/wallet-server/src/core/WalletStore.d.ts +3 -8
  515. package/dist/types/wallet-server/src/core/WebAuthnAuthenticatorStore.d.ts +15 -22
  516. package/dist/types/wallet-server/src/core/WebAuthnCredentialBindingStore.d.ts +14 -36
  517. package/dist/types/wallet-server/src/core/WebAuthnLoginChallengeStore.d.ts +9 -34
  518. package/dist/types/wallet-server/src/core/WebAuthnSyncChallengeStore.d.ts +9 -34
  519. package/dist/types/wallet-server/src/core/authService/AuthService.d.ts +0 -3
  520. package/dist/types/wallet-server/src/core/authService/bytes.d.ts +0 -1
  521. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeOperations.d.ts +6 -5
  522. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeProof.d.ts +9 -17
  523. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeVerification.d.ts +3 -2
  524. package/dist/types/wallet-server/src/core/authService/emailOtpChallenges.d.ts +8 -32
  525. package/dist/types/wallet-server/src/core/authService/emailOtpConfig.d.ts +3 -10
  526. package/dist/types/wallet-server/src/core/authService/emailOtpDelivery.d.ts +4 -3
  527. package/dist/types/wallet-server/src/core/authService/emailOtpGrant.d.ts +4 -3
  528. package/dist/types/wallet-server/src/core/authService/emailOtpRegistrationEnrollment.d.ts +3 -70
  529. package/dist/types/wallet-server/src/core/authService/emailOtpSeal.d.ts +2 -1
  530. package/dist/types/wallet-server/src/core/authService/emailOtpUnlock.d.ts +6 -12
  531. package/dist/types/wallet-server/src/core/authService/googleEmailOtpRegistration.d.ts +5 -8
  532. package/dist/types/wallet-server/src/core/authService/nearPrivateKeySigning.d.ts +3 -2
  533. package/dist/types/wallet-server/src/core/authService/nearPublicKeyMetadata.d.ts +2 -1
  534. package/dist/types/wallet-server/src/core/authService/nearTransactions.d.ts +2 -1
  535. package/dist/types/wallet-server/src/core/authService/oidcVerification.d.ts +4 -3
  536. package/dist/types/wallet-server/src/core/authService/rateLimits.d.ts +0 -3
  537. package/dist/types/wallet-server/src/core/authService/registrationThresholdHelpers.d.ts +0 -26
  538. package/dist/types/wallet-server/src/core/authService/storeRegistry.d.ts +0 -5
  539. package/dist/types/wallet-server/src/core/authService/thresholdEcdsaKeyInventory.d.ts +0 -23
  540. package/dist/types/wallet-server/src/core/authService/webauthn.d.ts +8 -16
  541. package/dist/types/wallet-server/src/core/authService/webauthnOidcHelpers.d.ts +7 -7
  542. package/dist/types/wallet-server/src/core/authService/webauthnVerificationOutcomes.d.ts +43 -0
  543. package/dist/types/wallet-server/src/core/authService/webauthnWalletBinding.d.ts +1 -28
  544. package/dist/types/wallet-server/src/core/d1EcdsaSignerRead.d.ts +39 -0
  545. package/dist/types/wallet-server/src/core/d1IdentityStore.d.ts +6 -16
  546. package/dist/types/wallet-server/src/core/d1TenantStore.d.ts +51 -0
  547. package/dist/types/wallet-server/src/core/d1WalletAuthMethodStore.d.ts +11 -29
  548. package/dist/types/wallet-server/src/core/d1WalletStore.d.ts +16 -1
  549. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceEd25519ExportRoot.d.ts +2 -1
  550. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceEmailOtpGrant.d.ts +2 -1
  551. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceManagement.d.ts +44 -26
  552. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSession.d.ts +19 -217
  553. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSessionApproval.d.ts +8 -0
  554. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSessionRecord.d.ts +258 -0
  555. package/dist/types/wallet-server/src/core/deviceLinking/requestProof.d.ts +2 -2
  556. package/dist/types/wallet-server/src/core/ecdsaMaterialReadSnapshot.d.ts +19 -0
  557. package/dist/types/wallet-server/src/core/emailOtpD1Statements.d.ts +54 -0
  558. package/dist/types/wallet-server/src/core/hostedAccountIds.d.ts +0 -15
  559. package/dist/types/wallet-server/src/core/keyMaterialBrands.d.ts +4 -24
  560. package/dist/types/wallet-server/src/core/nearRelayerAccountProvisioning.d.ts +2 -3
  561. package/dist/types/wallet-server/src/core/nearSignerWasmRuntime.d.ts +0 -1
  562. package/dist/types/wallet-server/src/core/registrationContracts.d.ts +37 -108
  563. package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbNormalSigningRuntime.d.ts +8 -9
  564. package/dist/types/wallet-server/src/core/rpcClients/near/NearClient.d.ts +10 -107
  565. package/dist/types/wallet-server/src/core/signingLanes/LaneAggregateRevocationApplicationService.d.ts +4 -3
  566. package/dist/types/wallet-server/src/core/signingLanes/LaneEffectJournalStore.d.ts +2 -3
  567. package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleStore.d.ts +2 -3
  568. package/dist/types/wallet-server/src/core/signingLanes/WalletExecutionLaneProjection.d.ts +5 -20
  569. package/dist/types/wallet-server/src/core/signingLanes/ecdsaServerRetirement.d.ts +4 -4
  570. package/dist/types/wallet-server/src/core/signingLanes/ed25519ServerRetirement.d.ts +3 -3
  571. package/dist/types/wallet-server/src/core/signingLanes/signingWorkerLaneMaterialIdentity.d.ts +2 -19
  572. package/dist/types/wallet-server/src/core/storeBackends.d.ts +83 -0
  573. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.d.ts +13 -59
  574. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.typecheck.d.ts +51 -3
  575. package/dist/types/wallet-server/src/core/thresholdEcdsaChainTarget.d.ts +3 -12
  576. package/dist/types/wallet-server/src/core/types.d.ts +5 -30
  577. package/dist/types/wallet-server/src/core/webAuthnD1Statements.d.ts +29 -0
  578. package/dist/types/wallet-server/src/core/webAuthnStoreBackends.d.ts +96 -0
  579. package/dist/types/wallet-server/src/hosted-wallet-gateway.d.ts +11 -7
  580. package/dist/types/wallet-server/src/index.d.ts +1 -1
  581. package/dist/types/wallet-server/src/local-hosted-wallet-gateway-worker.d.ts +1 -4
  582. package/dist/types/wallet-server/src/localHostedWalletGatewayHandler.d.ts +12 -0
  583. package/dist/types/wallet-server/src/localIntendedEcdsaFinalizeFault.d.ts +33 -0
  584. package/dist/types/wallet-server/src/localIntendedLinkExecuteFault.d.ts +47 -0
  585. package/dist/types/wallet-server/src/localIntendedMaterialAdmissionFault.d.ts +38 -0
  586. package/dist/types/wallet-server/src/localIntendedPresignCancellation.d.ts +4 -0
  587. package/dist/types/wallet-server/src/localIntendedRevokeFault.d.ts +40 -0
  588. package/dist/types/wallet-server/src/localIntendedSessionAdmissionFault.d.ts +41 -0
  589. package/dist/types/wallet-server/src/localIntendedYaoExportFault.d.ts +41 -0
  590. package/dist/types/wallet-server/src/localIntendedYaoFault.d.ts +7 -1
  591. package/dist/types/wallet-server/src/localIntendedYaoFinalizeFault.d.ts +37 -0
  592. package/dist/types/wallet-server/src/localIntendedYaoRecoveryFault.d.ts +45 -0
  593. package/dist/types/wallet-server/src/localIntendedYaoSigningFault.d.ts +51 -0
  594. package/dist/types/wallet-server/src/router/auth/authRequestValidation.d.ts +13 -29
  595. package/dist/types/wallet-server/src/router/auth/commonRouterUtils.d.ts +20 -11
  596. package/dist/types/wallet-server/src/router/auth/walletSessionFailure.d.ts +1 -4
  597. package/dist/types/wallet-server/src/router/auth/webAuthnCredentialCodecs.d.ts +3 -2
  598. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1AuthorizedOperationRouteService.d.ts +12 -0
  599. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthBoundary.d.ts +3 -3
  600. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthConfig.d.ts +2 -2
  601. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthService.d.ts +1 -1
  602. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/walletSessionCredentialReaders.d.ts +9 -0
  603. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/authorizedOperationStatements.d.ts +34 -0
  604. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/d1AuthorizationStore.d.ts +54 -21
  605. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/persistedWalletSessionAuthorization.d.ts +3 -0
  606. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/walletSessionAuthorityProjection.d.ts +2 -1
  607. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.d.ts +74 -6
  608. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.d.ts +2 -3
  609. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.d.ts +8 -21
  610. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.d.ts +14 -1
  611. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRevocation.d.ts +49 -0
  612. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.d.ts +1 -1
  613. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.d.ts +6 -8
  614. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSourceContributionPreparationPlanner.d.ts +1 -1
  615. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.d.ts +7 -10
  616. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.d.ts +8 -4
  617. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkBuilder.d.ts +3 -5
  618. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/installedEcdsaAuthority.d.ts +7 -0
  619. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.d.ts +1 -2
  620. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoLifecycleDecisionStore.d.ts +33 -0
  621. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.d.ts +1 -1
  622. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.d.ts +13 -3
  623. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.d.ts +24 -5
  624. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.d.ts +4 -11
  625. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.d.ts +1 -3
  626. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.d.ts +4 -12
  627. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.d.ts +13 -12
  628. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.d.ts +0 -2
  629. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.d.ts +5 -4
  630. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.d.ts +4 -14
  631. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.d.ts +1 -3
  632. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.d.ts +3 -21
  633. package/dist/types/wallet-server/src/router/cloudflare/d1/identity/d1IdentityRecords.d.ts +0 -23
  634. package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1NearPublicKeyStore.d.ts +1 -2
  635. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyEnvelopeStore.d.ts +11 -19
  636. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.d.ts +5 -54
  637. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.d.ts +7 -19
  638. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpRecords.d.ts +4 -3
  639. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpService.d.ts +8 -12
  640. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.d.ts +7 -14
  641. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.d.ts +10 -22
  642. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.d.ts +6 -2
  643. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.d.ts +10 -6
  644. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationService.d.ts +21 -26
  645. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetup.d.ts +5 -3
  646. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.d.ts +4 -3
  647. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.d.ts +5 -5
  648. package/dist/types/wallet-server/src/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.d.ts +17 -6
  649. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.d.ts +0 -1
  650. package/dist/types/wallet-server/src/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.d.ts +0 -16
  651. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.d.ts +29 -14
  652. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodBoundary.d.ts +15 -12
  653. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodRevocationReplayStore.d.ts +71 -0
  654. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodService.d.ts +34 -24
  655. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorityStore.d.ts +44 -26
  656. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnRecords.d.ts +13 -46
  657. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnStore.d.ts +8 -19
  658. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOps.d.ts +8 -34
  659. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleTenantRootLineage.d.ts +2 -1
  660. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletGateway.d.ts +1 -0
  661. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.d.ts +15 -2
  662. package/dist/types/wallet-server/src/router/cloudflare-adaptor.d.ts +2 -2
  663. package/dist/types/wallet-server/src/router/domains/ecdsa/routerAbEcdsaStrictRegistration.d.ts +9 -7
  664. package/dist/types/wallet-server/src/router/domains/ecdsa/thresholdEcdsaRequestValidation.d.ts +6 -18
  665. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoLifecycleDecision.d.ts +46 -0
  666. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.d.ts +5 -3
  667. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.d.ts +20 -79
  668. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.d.ts +2 -0
  669. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRunner.d.ts +1 -1
  670. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.d.ts +4 -3
  671. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.d.ts +62 -42
  672. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.d.ts +108 -32
  673. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryActivation.typecheck.d.ts +5 -0
  674. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.d.ts +36 -5
  675. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.d.ts +5 -4
  676. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.d.ts +41 -50
  677. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.d.ts +2 -2
  678. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationRequestScopedCloudflare.d.ts +3 -3
  679. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.d.ts +6 -5
  680. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationTwoPhaseRunner.d.ts +14 -4
  681. package/dist/types/wallet-server/src/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.d.ts +12 -1
  682. package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/routerAbEd25519YaoWalletSession.d.ts +11 -52
  683. package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/thresholdEd25519RequestValidation.d.ts +3 -4
  684. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpExportPolicy.d.ts +2 -27
  685. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpRequestValidation.d.ts +1 -2
  686. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpRouteHandlers.d.ts +2 -1
  687. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpSessionRouteHelpers.d.ts +2 -102
  688. package/dist/types/wallet-server/src/router/domains/passkeyCustody/envelopeRevocationAdmission.d.ts +2 -1
  689. package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.d.ts +3 -2
  690. package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrievalRoute.d.ts +1 -9
  691. package/dist/types/wallet-server/src/router/domains/passkeyCustody/registrationCustodyOutcome.d.ts +2 -1
  692. package/dist/types/wallet-server/src/router/domains/passkeyCustody/verifiedCustodyFactor.d.ts +2 -1
  693. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationAdmission.d.ts +2 -1
  694. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationCommit.d.ts +2 -28
  695. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryFinalization.d.ts +43 -1
  696. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryKeyManifest.d.ts +7 -19
  697. package/dist/types/wallet-server/src/router/domains/signingOperations/ed25519AuthorizedOperationReceipt.d.ts +0 -3
  698. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbEcdsaDerivationNormalSigningRoute.d.ts +164 -0
  699. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbEd25519NormalSigningRoute.d.ts +110 -0
  700. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmission.d.ts +373 -0
  701. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.d.ts +11 -10
  702. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.typecheck.d.ts +2 -0
  703. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbOperationStepUp.d.ts +164 -0
  704. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbPrivateSigningWorker.d.ts +22 -717
  705. package/dist/types/wallet-server/src/router/domains/signingOperations/walletExecutionAdmission.d.ts +5 -12
  706. package/dist/types/wallet-server/src/router/domains/syncAccount/syncAccountRequestValidation.d.ts +6 -10
  707. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootCustodyLineage.d.ts +6 -1
  708. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootIdentityResolution.d.ts +4 -7
  709. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationInputs.d.ts +2 -1
  710. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationRoutes.d.ts +8 -8
  711. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationSetupPayload.d.ts +4 -4
  712. package/dist/types/wallet-server/src/router/domains/walletUnlock/walletUnlockRequestedCapabilitiesValidation.d.ts +4 -4
  713. package/dist/types/wallet-server/src/router/domains/walletUnlock/walletUnlockRouteHandlers.d.ts +4 -62
  714. package/dist/types/wallet-server/src/router/express-adaptor.d.ts +2 -2
  715. package/dist/types/wallet-server/src/router/framework/apiCredentialPorts.d.ts +3 -1
  716. package/dist/types/wallet-server/src/router/framework/authServicePort.d.ts +89 -65
  717. package/dist/types/wallet-server/src/router/framework/http.d.ts +1 -1
  718. package/dist/types/wallet-server/src/router/framework/ror/normalize.d.ts +1 -9
  719. package/dist/types/wallet-server/src/router/framework/routeMeteringPolicy.d.ts +3 -2
  720. package/dist/types/wallet-server/src/router/framework/routerApi.d.ts +1 -1
  721. package/dist/types/wallet-server/src/router/framework/routerApiRouteSurface.d.ts +3 -3
  722. package/dist/types/wallet-server/src/router/node/nodeHostedWalletGateway.d.ts +34 -0
  723. package/dist/types/wallet-server/src/router/node/nodeHostedWalletGatewayCheck.d.ts +21 -0
  724. package/dist/types/wallet-server/src/router/node/nodeHostedWalletGatewayMain.d.ts +2 -0
  725. package/dist/types/wallet-server/src/router/node/nodeHttp.d.ts +13 -0
  726. package/dist/types/wallet-server/src/router/node/nodeSqlite.d.ts +22 -0
  727. package/dist/types/wallet-server/src/router/node/signerSqlMigrations.d.ts +20 -0
  728. package/dist/types/wallet-server/src/router/transport/fetch/createFetchRouter.d.ts +1 -3
  729. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinking.d.ts +5 -6
  730. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.d.ts +5 -8
  731. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceManagement.d.ts +14 -16
  732. package/dist/types/wallet-server/src/router/transport/fetch/routes/normalSigningRouterProxy.d.ts +0 -12
  733. package/dist/types/wallet-server/src/router/transport/fetch/routes/passkeyCustody.d.ts +1 -1
  734. package/dist/types/wallet-server/src/router/transport/fetch/routes/sessions.d.ts +2 -1
  735. package/dist/types/wallet-server/src/router/transport/fetch/routes/syncAccountBootstrap.d.ts +9 -17
  736. package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEcdsa.d.ts +3 -58
  737. package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEd25519.d.ts +0 -44
  738. package/dist/types/wallet-server/src/storage/d1Sql.d.ts +7 -0
  739. package/dist/types/wallet-server/src/storage/syncSqlite.d.ts +28 -0
  740. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/crypto/shamir3PassWasm.d.ts +0 -1
  741. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/idempotencyRecords.d.ts +5 -7
  742. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/signingSessionSeal.types.d.ts +6 -8
  743. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/transport/shared.d.ts +1 -0
  744. package/dist/types/wallet-server/src/threshold/statusCodes.d.ts +4 -4
  745. package/migrations/d1-signer/0036_r150_yao_lifecycle_decisions.sql +22 -0
  746. package/migrations/d1-signer/0037_r150_wallet_auth_method_revocation_replays.sql +26 -0
  747. package/migrations/d1-signer/0038_r150_registration_ceremony_cas_guard_seed.sql +8 -0
  748. package/migrations/d1-signer/0039_r150_revocation_replay_answer_kind.sql +9 -0
  749. package/package.json +1 -1
  750. package/dist/esm/core/ThresholdService/ecdsaClientRootProof.js +0 -27
  751. package/dist/esm/core/ThresholdService/routerAbEcdsaSigningWorkerWasm.js +0 -115
  752. package/dist/esm/core/ThresholdService/secureRandomId.js +0 -9
  753. package/dist/esm/core/authService/record.js +0 -8
  754. package/dist/esm/core/authService/thresholdRuntimePolicy.js +0 -19
  755. package/dist/esm/core/authService/walletRegistrationPlanning.js +0 -49
  756. package/dist/esm/core/deviceLinking/index.js +0 -5
  757. package/dist/esm/core/errors.js +0 -54
  758. package/dist/esm/core/routerAbSigning/createCloudflareDurableObjectRouterAbSigningRuntimes.js +0 -39
  759. package/dist/esm/core/signingLanes/WalletKeyStore.js +0 -0
  760. package/dist/esm/core/signingLanes/index.js +0 -8
  761. package/dist/esm/router/domains/tenantRoot/tenantRootEcdsaWalletSessionComposition.js +0 -55
  762. package/dist/esm/router/domains/tenantRoot/tenantRootEd25519WalletSessionComposition.js +0 -56
  763. package/dist/esm/shared-ts/src/signing-lanes/linkedEcdsaScope.js +0 -1
  764. package/dist/esm/wasm/router_ab_ecdsa_signing_worker/pkg/router_ab_ecdsa_signing_worker.js +0 -414
  765. package/dist/esm/wasm/router_ab_ecdsa_signing_worker/pkg/router_ab_ecdsa_signing_worker_bg.wasm +0 -0
  766. package/dist/types/shared-ts/src/passkey-custody/credentialObservations.d.ts +0 -74
  767. package/dist/types/shared-ts/src/passkey-custody/kekContext.d.ts +0 -34
  768. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.d.ts +0 -62
  769. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.typecheck.d.ts +0 -2
  770. package/dist/types/shared-ts/src/signing-lanes/validation.d.ts +0 -11
  771. package/dist/types/shared-ts/src/utils/bigint.d.ts +0 -3
  772. package/dist/types/shared-ts/src/utils/paillier.d.ts +0 -37
  773. package/dist/types/shared-ts/src/utils/recoveryDomain.d.ts +0 -12
  774. package/dist/types/shared-ts/src/utils/signerDomain.typecheck.d.ts +0 -2
  775. package/dist/types/shared-ts/src/wallet-recovery/recoveryKekContext.d.ts +0 -37
  776. package/dist/types/wallet-server/src/core/ThresholdService/ecdsaClientRootProof.d.ts +0 -12
  777. package/dist/types/wallet-server/src/core/ThresholdService/routerAbEcdsaSigningWorkerWasm.d.ts +0 -17
  778. package/dist/types/wallet-server/src/core/ThresholdService/secureRandomId.d.ts +0 -2
  779. package/dist/types/wallet-server/src/core/authService/record.d.ts +0 -2
  780. package/dist/types/wallet-server/src/core/authService/thresholdRuntimePolicy.d.ts +0 -4
  781. package/dist/types/wallet-server/src/core/authService/walletRegistrationPlanning.d.ts +0 -19
  782. package/dist/types/wallet-server/src/core/deviceLinking/index.d.ts +0 -5
  783. package/dist/types/wallet-server/src/core/errors.d.ts +0 -10
  784. package/dist/types/wallet-server/src/core/routerAbSigning/createCloudflareDurableObjectRouterAbSigningRuntimes.d.ts +0 -28
  785. package/dist/types/wallet-server/src/core/signingLanes/SigningLaneStore.d.ts +0 -15
  786. package/dist/types/wallet-server/src/core/signingLanes/WalletKeyStore.d.ts +0 -13
  787. package/dist/types/wallet-server/src/core/signingLanes/index.d.ts +0 -11
  788. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootEcdsaWalletSessionComposition.d.ts +0 -35
  789. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootEd25519WalletSessionComposition.d.ts +0 -35
  790. /package/dist/esm/{core/signingLanes/SigningLaneStore.js → authorization/ecdsaWalletSessionAdmission.js} +0 -0
@@ -1,634 +1,10 @@
1
- import { parseEmailOtpProviderUserId, parseWalletAuthMethodId, parseWalletAuthorityId, parseWalletId, parseWebAuthnCredentialIdB64u, parseWebAuthnRpId } from "./domainIds.js";
1
+ import { parseWalletAuthMethodId, parseWalletAuthorityId } from "./domainIds.js";
2
2
  import { base64UrlEncode } from "./base64.js";
3
- import { parseDigestB64u } from "./canonicalPrimitives.js";
4
3
  import { alphabetizeStringify, sha256BytesUtf8 } from "./digests.js";
5
4
  import "./encoders.js";
6
- import { parseNamedNearAccountId } from "./near.js";
5
+ import { inspectRawObject, trimString } from "./registrationAuthMethodInput.js";
6
+ import "./registrationSignerPlan.js";
7
7
  //#region ../shared-ts/src/utils/registrationIntent.ts
8
- async function computeWalletAuthMethodRevokeOperationFingerprintV1(input) {
9
- return parseDigestB64u(base64UrlEncode(await sha256BytesUtf8(alphabetizeStringify({
10
- version: "wallet_auth_method_revoke_operation_v1",
11
- walletId: String(input.walletId),
12
- targetWalletAuthMethodId: String(input.targetWalletAuthMethodId),
13
- requestedAtMs: input.requestedAtMs
14
- }))));
15
- }
16
- function sameWalletAuthMethodRecordV2(left, right) {
17
- if (left.version !== right.version || left.walletAuthMethodId !== right.walletAuthMethodId || left.walletId !== right.walletId || left.walletAuthorityId !== right.walletAuthorityId || left.status !== right.status || left.createdAtMs !== right.createdAtMs || left.updatedAtMs !== right.updatedAtMs) return false;
18
- switch (left.kind) {
19
- case "passkey":
20
- if (right.kind !== "passkey") return false;
21
- if (left.rpId === right.rpId && left.credentialIdB64u === right.credentialIdB64u && left.credentialPublicKeyB64u === right.credentialPublicKeyB64u && left.counter === right.counter) break;
22
- return false;
23
- case "email_otp":
24
- if (right.kind !== "email_otp") return false;
25
- if (left.emailHashHex === right.emailHashHex && left.registrationAuthorityId === right.registrationAuthorityId) break;
26
- return false;
27
- default: return assertNeverWalletAuthMethodRecordV2(left, "wallet auth method kind");
28
- }
29
- switch (left.status) {
30
- case "pending_local_install": return right.status === "pending_local_install";
31
- case "active": return right.status === "active" && left.activatedAtMs === right.activatedAtMs;
32
- case "revoked": return right.status === "revoked" && left.activatedAtMs === right.activatedAtMs && left.revokedAtMs === right.revokedAtMs;
33
- default: return assertNeverWalletAuthMethodRecordV2(left, "wallet auth method lifecycle");
34
- }
35
- }
36
- function assertNeverWalletAuthMethodRecordV2(value, label) {
37
- throw new Error(`${label} branch is unsupported: ${String(value)}`);
38
- }
39
- function buildWalletAuthMethodRecordV2(input) {
40
- validateWalletAuthMethodRecordV2(input);
41
- if (input.kind === "passkey") switch (input.status) {
42
- case "pending_local_install": return {
43
- version: "wallet_auth_method_v2",
44
- walletAuthMethodId: input.walletAuthMethodId,
45
- walletId: input.walletId,
46
- walletAuthorityId: input.walletAuthorityId,
47
- kind: "passkey",
48
- status: "pending_local_install",
49
- rpId: input.rpId,
50
- credentialIdB64u: input.credentialIdB64u,
51
- credentialPublicKeyB64u: input.credentialPublicKeyB64u,
52
- counter: input.counter,
53
- createdAtMs: input.createdAtMs,
54
- updatedAtMs: input.updatedAtMs
55
- };
56
- case "active": return {
57
- version: "wallet_auth_method_v2",
58
- walletAuthMethodId: input.walletAuthMethodId,
59
- walletId: input.walletId,
60
- walletAuthorityId: input.walletAuthorityId,
61
- kind: "passkey",
62
- status: "active",
63
- rpId: input.rpId,
64
- credentialIdB64u: input.credentialIdB64u,
65
- credentialPublicKeyB64u: input.credentialPublicKeyB64u,
66
- counter: input.counter,
67
- createdAtMs: input.createdAtMs,
68
- updatedAtMs: input.updatedAtMs,
69
- activatedAtMs: input.activatedAtMs
70
- };
71
- case "revoked": return {
72
- version: "wallet_auth_method_v2",
73
- walletAuthMethodId: input.walletAuthMethodId,
74
- walletId: input.walletId,
75
- walletAuthorityId: input.walletAuthorityId,
76
- kind: "passkey",
77
- status: "revoked",
78
- rpId: input.rpId,
79
- credentialIdB64u: input.credentialIdB64u,
80
- credentialPublicKeyB64u: input.credentialPublicKeyB64u,
81
- counter: input.counter,
82
- createdAtMs: input.createdAtMs,
83
- updatedAtMs: input.updatedAtMs,
84
- activatedAtMs: input.activatedAtMs,
85
- revokedAtMs: input.revokedAtMs
86
- };
87
- }
88
- switch (input.status) {
89
- case "pending_local_install": return {
90
- version: "wallet_auth_method_v2",
91
- walletAuthMethodId: input.walletAuthMethodId,
92
- walletId: input.walletId,
93
- walletAuthorityId: input.walletAuthorityId,
94
- kind: "email_otp",
95
- status: "pending_local_install",
96
- emailHashHex: input.emailHashHex,
97
- registrationAuthorityId: input.registrationAuthorityId,
98
- createdAtMs: input.createdAtMs,
99
- updatedAtMs: input.updatedAtMs
100
- };
101
- case "active": return {
102
- version: "wallet_auth_method_v2",
103
- walletAuthMethodId: input.walletAuthMethodId,
104
- walletId: input.walletId,
105
- walletAuthorityId: input.walletAuthorityId,
106
- kind: "email_otp",
107
- status: "active",
108
- emailHashHex: input.emailHashHex,
109
- registrationAuthorityId: input.registrationAuthorityId,
110
- createdAtMs: input.createdAtMs,
111
- updatedAtMs: input.updatedAtMs,
112
- activatedAtMs: input.activatedAtMs
113
- };
114
- case "revoked": return {
115
- version: "wallet_auth_method_v2",
116
- walletAuthMethodId: input.walletAuthMethodId,
117
- walletId: input.walletId,
118
- walletAuthorityId: input.walletAuthorityId,
119
- kind: "email_otp",
120
- status: "revoked",
121
- emailHashHex: input.emailHashHex,
122
- registrationAuthorityId: input.registrationAuthorityId,
123
- createdAtMs: input.createdAtMs,
124
- updatedAtMs: input.updatedAtMs,
125
- activatedAtMs: input.activatedAtMs,
126
- revokedAtMs: input.revokedAtMs
127
- };
128
- }
129
- }
130
- function parseWalletAuthMethodRecordV2(raw) {
131
- const record = inspectRawObject(raw);
132
- if (!record || !("version" in record) || !("kind" in record) || !("status" in record)) return null;
133
- const version = trimString(record.version);
134
- const kind = trimString(record.kind);
135
- const status = trimString(record.status);
136
- if (version !== "wallet_auth_method_v2" || kind !== "passkey" && kind !== "email_otp") return null;
137
- try {
138
- const common = parseWalletAuthMethodRecordV2Common(record);
139
- if (kind === "passkey") {
140
- if (!("rpId" in record) || !("credentialIdB64u" in record) || !("credentialPublicKeyB64u" in record) || !("counter" in record)) return null;
141
- exactWalletAuthMethodV2Fields(record, "passkey", status);
142
- const rpId = parseWebAuthnRpId(record.rpId);
143
- const credentialIdB64u = parseWebAuthnCredentialIdB64u(record.credentialIdB64u);
144
- if (!rpId.ok || !credentialIdB64u.ok || typeof record.credentialPublicKeyB64u !== "string" || !record.credentialPublicKeyB64u.trim() || Object.prototype.hasOwnProperty.call(record, "emailHashHex") || Object.prototype.hasOwnProperty.call(record, "registrationAuthorityId")) return null;
145
- return buildParsedPasskeyWalletAuthMethodRecordV2({
146
- common,
147
- lifecycle: parseWalletAuthMethodLifecycle(record),
148
- rpId: rpId.value,
149
- credentialIdB64u: credentialIdB64u.value,
150
- credentialPublicKeyB64u: record.credentialPublicKeyB64u,
151
- counter: parseNonNegativeInteger(record.counter)
152
- });
153
- }
154
- if (!("emailHashHex" in record) || !("registrationAuthorityId" in record)) return null;
155
- exactWalletAuthMethodV2Fields(record, "email_otp", status);
156
- const emailHashHex = trimString(record.emailHashHex);
157
- const registrationAuthorityId = trimString(record.registrationAuthorityId);
158
- if (!emailHashHex || !registrationAuthorityId || Object.prototype.hasOwnProperty.call(record, "rpId") || Object.prototype.hasOwnProperty.call(record, "credentialIdB64u") || Object.prototype.hasOwnProperty.call(record, "credentialPublicKeyB64u") || Object.prototype.hasOwnProperty.call(record, "counter")) return null;
159
- return buildParsedEmailOtpWalletAuthMethodRecordV2({
160
- common,
161
- lifecycle: parseWalletAuthMethodLifecycle(record),
162
- emailHashHex,
163
- registrationAuthorityId
164
- });
165
- } catch {
166
- return null;
167
- }
168
- }
169
- function parseWalletAuthMethodRecordV2Common(raw) {
170
- if (!("walletAuthMethodId" in raw) || !("walletId" in raw) || !("walletAuthorityId" in raw) || !("createdAtMs" in raw) || !("updatedAtMs" in raw)) throw new Error("wallet auth method common fields are required");
171
- return {
172
- version: "wallet_auth_method_v2",
173
- walletAuthMethodId: parseWalletAuthMethodIdRequired(raw.walletAuthMethodId),
174
- walletId: parseWalletIdRequired(raw.walletId),
175
- walletAuthorityId: parseWalletAuthorityIdRequired(raw.walletAuthorityId),
176
- createdAtMs: parseNonNegativeInteger(raw.createdAtMs),
177
- updatedAtMs: parseNonNegativeInteger(raw.updatedAtMs)
178
- };
179
- }
180
- function validateWalletAuthMethodRecordV2(value) {
181
- if (value.version !== "wallet_auth_method_v2") throw new Error("wallet auth method record version is unsupported");
182
- if (!value.walletAuthMethodId || !value.walletId || !value.walletAuthorityId) throw new Error("wallet auth method record identities are required");
183
- if (!Number.isSafeInteger(value.createdAtMs) || value.createdAtMs < 0) throw new Error("wallet auth method createdAtMs must be a non-negative safe integer");
184
- if (!Number.isSafeInteger(value.updatedAtMs) || value.updatedAtMs < value.createdAtMs) throw new Error("wallet auth method updatedAtMs must follow createdAtMs");
185
- if (value.kind === "passkey") {
186
- if (!value.rpId || !value.credentialIdB64u || !value.credentialPublicKeyB64u.trim()) throw new Error("passkey wallet auth method fields are required");
187
- if (!Number.isSafeInteger(value.counter) || value.counter < 0) throw new Error("passkey authenticator counter must be non-negative");
188
- } else if (!value.emailHashHex.trim() || !value.registrationAuthorityId.trim()) throw new Error("email OTP wallet auth method fields are required");
189
- switch (value.status) {
190
- case "pending_local_install": return;
191
- case "active":
192
- validateNonNegativeInteger(value.activatedAtMs, "activatedAtMs");
193
- return;
194
- case "revoked":
195
- validateNonNegativeInteger(value.activatedAtMs, "activatedAtMs");
196
- validateNonNegativeInteger(value.revokedAtMs, "revokedAtMs");
197
- if (value.revokedAtMs < value.activatedAtMs) throw new Error("revokedAtMs cannot precede activatedAtMs");
198
- return;
199
- }
200
- }
201
- function parseWalletAuthMethodLifecycle(raw) {
202
- if (!("status" in raw)) throw new Error("wallet auth method status is required");
203
- switch (raw.status) {
204
- case "pending_local_install": return { status: "pending_local_install" };
205
- case "active":
206
- if (!("activatedAtMs" in raw)) throw new Error("wallet auth method activatedAtMs is required");
207
- return {
208
- status: "active",
209
- activatedAtMs: parseNonNegativeInteger(raw.activatedAtMs)
210
- };
211
- case "revoked":
212
- if (!("activatedAtMs" in raw) || !("revokedAtMs" in raw)) throw new Error("wallet auth method revocation timestamps are required");
213
- return {
214
- status: "revoked",
215
- activatedAtMs: parseNonNegativeInteger(raw.activatedAtMs),
216
- revokedAtMs: parseNonNegativeInteger(raw.revokedAtMs)
217
- };
218
- default: throw new Error("wallet auth method status is unsupported");
219
- }
220
- }
221
- function exactWalletAuthMethodV2Fields(raw, kind, status) {
222
- const fields = [
223
- "version",
224
- "walletAuthMethodId",
225
- "walletId",
226
- "walletAuthorityId",
227
- "kind",
228
- "status",
229
- "createdAtMs",
230
- "updatedAtMs"
231
- ];
232
- if (kind === "passkey") fields.push("rpId", "credentialIdB64u", "credentialPublicKeyB64u", "counter");
233
- else fields.push("emailHashHex", "registrationAuthorityId");
234
- if (status === "active") fields.push("activatedAtMs");
235
- if (status === "revoked") fields.push("activatedAtMs", "revokedAtMs");
236
- if (status !== "pending_local_install" && status !== "active" && status !== "revoked") throw new Error("wallet auth method status is unsupported");
237
- const expected = new Set(fields);
238
- const actual = Object.keys(raw);
239
- if (actual.length !== fields.length) throw new Error("wallet auth method record has invalid fields");
240
- for (const field of actual) if (!expected.has(field)) throw new Error(`wallet auth method field ${field} is invalid`);
241
- }
242
- function buildParsedPasskeyWalletAuthMethodRecordV2(input) {
243
- switch (input.lifecycle.status) {
244
- case "pending_local_install": return {
245
- version: "wallet_auth_method_v2",
246
- walletAuthMethodId: input.common.walletAuthMethodId,
247
- walletId: input.common.walletId,
248
- walletAuthorityId: input.common.walletAuthorityId,
249
- kind: "passkey",
250
- status: "pending_local_install",
251
- createdAtMs: input.common.createdAtMs,
252
- updatedAtMs: input.common.updatedAtMs,
253
- rpId: input.rpId,
254
- credentialIdB64u: input.credentialIdB64u,
255
- credentialPublicKeyB64u: input.credentialPublicKeyB64u,
256
- counter: input.counter
257
- };
258
- case "active": return {
259
- version: "wallet_auth_method_v2",
260
- walletAuthMethodId: input.common.walletAuthMethodId,
261
- walletId: input.common.walletId,
262
- walletAuthorityId: input.common.walletAuthorityId,
263
- kind: "passkey",
264
- status: "active",
265
- createdAtMs: input.common.createdAtMs,
266
- updatedAtMs: input.common.updatedAtMs,
267
- rpId: input.rpId,
268
- credentialIdB64u: input.credentialIdB64u,
269
- credentialPublicKeyB64u: input.credentialPublicKeyB64u,
270
- counter: input.counter,
271
- activatedAtMs: input.lifecycle.activatedAtMs
272
- };
273
- case "revoked": return {
274
- version: "wallet_auth_method_v2",
275
- walletAuthMethodId: input.common.walletAuthMethodId,
276
- walletId: input.common.walletId,
277
- walletAuthorityId: input.common.walletAuthorityId,
278
- kind: "passkey",
279
- status: "revoked",
280
- createdAtMs: input.common.createdAtMs,
281
- updatedAtMs: input.common.updatedAtMs,
282
- rpId: input.rpId,
283
- credentialIdB64u: input.credentialIdB64u,
284
- credentialPublicKeyB64u: input.credentialPublicKeyB64u,
285
- counter: input.counter,
286
- activatedAtMs: input.lifecycle.activatedAtMs,
287
- revokedAtMs: input.lifecycle.revokedAtMs
288
- };
289
- }
290
- }
291
- function buildParsedEmailOtpWalletAuthMethodRecordV2(input) {
292
- switch (input.lifecycle.status) {
293
- case "pending_local_install": return {
294
- version: "wallet_auth_method_v2",
295
- walletAuthMethodId: input.common.walletAuthMethodId,
296
- walletId: input.common.walletId,
297
- walletAuthorityId: input.common.walletAuthorityId,
298
- kind: "email_otp",
299
- status: "pending_local_install",
300
- createdAtMs: input.common.createdAtMs,
301
- updatedAtMs: input.common.updatedAtMs,
302
- emailHashHex: input.emailHashHex,
303
- registrationAuthorityId: input.registrationAuthorityId
304
- };
305
- case "active": return {
306
- version: "wallet_auth_method_v2",
307
- walletAuthMethodId: input.common.walletAuthMethodId,
308
- walletId: input.common.walletId,
309
- walletAuthorityId: input.common.walletAuthorityId,
310
- kind: "email_otp",
311
- status: "active",
312
- createdAtMs: input.common.createdAtMs,
313
- updatedAtMs: input.common.updatedAtMs,
314
- emailHashHex: input.emailHashHex,
315
- registrationAuthorityId: input.registrationAuthorityId,
316
- activatedAtMs: input.lifecycle.activatedAtMs
317
- };
318
- case "revoked": return {
319
- version: "wallet_auth_method_v2",
320
- walletAuthMethodId: input.common.walletAuthMethodId,
321
- walletId: input.common.walletId,
322
- walletAuthorityId: input.common.walletAuthorityId,
323
- kind: "email_otp",
324
- status: "revoked",
325
- createdAtMs: input.common.createdAtMs,
326
- updatedAtMs: input.common.updatedAtMs,
327
- emailHashHex: input.emailHashHex,
328
- registrationAuthorityId: input.registrationAuthorityId,
329
- activatedAtMs: input.lifecycle.activatedAtMs,
330
- revokedAtMs: input.lifecycle.revokedAtMs
331
- };
332
- }
333
- }
334
- function parseWalletAuthMethodIdRequired(raw) {
335
- const parsed = parseWalletAuthMethodId(raw);
336
- if (!parsed.ok) throw new Error(parsed.error.message);
337
- return parsed.value;
338
- }
339
- function parseWalletIdRequired(raw) {
340
- const parsed = parseWalletId(raw);
341
- if (!parsed.ok) throw new Error(parsed.error.message);
342
- return parsed.value;
343
- }
344
- function parseWalletAuthorityIdRequired(raw) {
345
- const parsed = parseWalletAuthorityId(raw);
346
- if (!parsed.ok) throw new Error(parsed.error.message);
347
- return parsed.value;
348
- }
349
- function parseNonNegativeInteger(raw) {
350
- if (typeof raw !== "number" || !Number.isSafeInteger(raw) || raw < 0) throw new Error("value must be a non-negative safe integer");
351
- return raw;
352
- }
353
- function validateNonNegativeInteger(raw, label) {
354
- if (!Number.isSafeInteger(raw) || raw < 0) throw new Error(`${label} must be a non-negative safe integer`);
355
- }
356
- function walletAuthMethodRecordId(record) {
357
- const parsed = parseWalletAuthMethodId(record.kind === "passkey" ? `passkey:${record.rpId}:${record.credentialIdB64u}` : `email_otp:${record.walletId}:${record.emailHashHex}`);
358
- if (!parsed.ok) throw new Error(parsed.error.message);
359
- return parsed.value;
360
- }
361
- function walletIdFromString(value) {
362
- const parsed = parseWalletId(value);
363
- if (!parsed.ok) throw new Error(parsed.error.message);
364
- return parsed.value;
365
- }
366
- const SERVER_ALLOCATED_WALLET_ADJECTIVES = [
367
- "alpine",
368
- "amber",
369
- "azure",
370
- "brisk",
371
- "bright",
372
- "calm",
373
- "cedar",
374
- "cobalt",
375
- "copper",
376
- "coral",
377
- "crimson",
378
- "crystal",
379
- "dawn",
380
- "deep",
381
- "dusky",
382
- "evergreen",
383
- "fair",
384
- "fern",
385
- "frost",
386
- "gentle",
387
- "glacier",
388
- "glowing",
389
- "golden",
390
- "harbor",
391
- "humble",
392
- "indigo",
393
- "ivory",
394
- "jade",
395
- "keen",
396
- "lunar",
397
- "maple",
398
- "misty",
399
- "mossy",
400
- "noble",
401
- "ocean",
402
- "opal",
403
- "polar",
404
- "quiet",
405
- "rapid",
406
- "redwood",
407
- "river",
408
- "royal",
409
- "sage",
410
- "scarlet",
411
- "serene",
412
- "silver",
413
- "solar",
414
- "steady",
415
- "stone",
416
- "swift",
417
- "tranquil",
418
- "twilight",
419
- "umber",
420
- "verdant",
421
- "vibrant",
422
- "violet",
423
- "vivid",
424
- "warm",
425
- "wild",
426
- "willow",
427
- "winter",
428
- "woodland",
429
- "young",
430
- "zephyr"
431
- ];
432
- const SERVER_ALLOCATED_WALLET_NOUNS = [
433
- "anchor",
434
- "arbor",
435
- "atlas",
436
- "aurora",
437
- "badger",
438
- "beacon",
439
- "bloom",
440
- "brook",
441
- "canyon",
442
- "cascade",
443
- "comet",
444
- "cove",
445
- "crane",
446
- "delta",
447
- "dune",
448
- "eagle",
449
- "ember",
450
- "falcon",
451
- "feather",
452
- "fjord",
453
- "forest",
454
- "galaxy",
455
- "garden",
456
- "giant",
457
- "grove",
458
- "harvest",
459
- "heron",
460
- "horizon",
461
- "island",
462
- "lagoon",
463
- "lantern",
464
- "lark",
465
- "meadow",
466
- "meteor",
467
- "monolith",
468
- "nebula",
469
- "oasis",
470
- "orchid",
471
- "otter",
472
- "peak",
473
- "pebble",
474
- "phoenix",
475
- "pine",
476
- "prism",
477
- "quartz",
478
- "raven",
479
- "reef",
480
- "ridge",
481
- "sable",
482
- "sequoia",
483
- "shore",
484
- "solstice",
485
- "sparrow",
486
- "star",
487
- "summit",
488
- "tempo",
489
- "thunder",
490
- "tundra",
491
- "valley",
492
- "vermillion",
493
- "voyage",
494
- "wave",
495
- "wren",
496
- "zenith"
497
- ];
498
- const SERVER_ALLOCATED_WALLET_SUFFIX_ALPHABET = "23456789abcdefghjkmnpqrstuvwxyz";
499
- const SERVER_ALLOCATED_WALLET_ID_PATTERN = /^([a-z]+)-([a-z]+)-([a-z0-9]{6})$/;
500
- const SERVER_ALLOCATED_WALLET_ADJECTIVE_SET = new Set(SERVER_ALLOCATED_WALLET_ADJECTIVES);
501
- const SERVER_ALLOCATED_WALLET_NOUN_SET = new Set(SERVER_ALLOCATED_WALLET_NOUNS);
502
- function createServerAllocatedWalletId() {
503
- return requireServerAllocatedWalletId([
504
- randomServerAllocatedWalletWord(SERVER_ALLOCATED_WALLET_ADJECTIVES),
505
- randomServerAllocatedWalletWord(SERVER_ALLOCATED_WALLET_NOUNS),
506
- randomServerAllocatedWalletSuffix(6)
507
- ].join("-"));
508
- }
509
- function parseServerAllocatedWalletId(raw) {
510
- const parsed = parseWalletId(raw);
511
- if (!parsed.ok) return parsed;
512
- const value = String(parsed.value);
513
- const match = SERVER_ALLOCATED_WALLET_ID_PATTERN.exec(value);
514
- const adjective = match?.[1] || "";
515
- const noun = match?.[2] || "";
516
- const suffix = match?.[3] || "";
517
- if (!match || !SERVER_ALLOCATED_WALLET_ADJECTIVE_SET.has(adjective) || !SERVER_ALLOCATED_WALLET_NOUN_SET.has(noun) || !serverAllocatedWalletSuffixIsValid(suffix)) return {
518
- ok: false,
519
- error: {
520
- code: "invalid",
521
- message: "server-allocated walletId must match the approved readable word-word-suffix allocation format"
522
- }
523
- };
524
- return {
525
- ok: true,
526
- value: parsed.value
527
- };
528
- }
529
- function requireServerAllocatedWalletId(value) {
530
- const parsed = parseServerAllocatedWalletId(value);
531
- if (!parsed.ok) throw new Error(parsed.error.message);
532
- return parsed.value;
533
- }
534
- function serverAllocatedRandomIndex(maxExclusive) {
535
- if (!Number.isSafeInteger(maxExclusive) || maxExclusive <= 0 || maxExclusive > 256) throw new Error("Invalid server-allocated wallet random bound");
536
- const limit = 256 - 256 % maxExclusive;
537
- const byte = new Uint8Array(1);
538
- for (;;) {
539
- crypto.getRandomValues(byte);
540
- if (byte[0] < limit) return byte[0] % maxExclusive;
541
- }
542
- }
543
- function randomServerAllocatedWalletWord(words) {
544
- return words[serverAllocatedRandomIndex(words.length)];
545
- }
546
- function randomServerAllocatedWalletSuffix(length) {
547
- let suffix = "";
548
- for (let index = 0; index < length; index += 1) suffix += SERVER_ALLOCATED_WALLET_SUFFIX_ALPHABET[serverAllocatedRandomIndex(31)];
549
- return suffix;
550
- }
551
- function serverAllocatedWalletSuffixIsValid(suffix) {
552
- if (suffix.length !== 6) return false;
553
- for (const character of suffix) if (!SERVER_ALLOCATED_WALLET_SUFFIX_ALPHABET.includes(character)) return false;
554
- return true;
555
- }
556
- function nearEd25519SigningKeyIdFromString(value) {
557
- const normalized = String(value || "").trim();
558
- if (!normalized) throw new Error("nearEd25519SigningKeyId is required");
559
- return normalized;
560
- }
561
- function parseNearEd25519SigningKeyId(value) {
562
- if (typeof value !== "string") throw new Error("nearEd25519SigningKeyId must be a string");
563
- return nearEd25519SigningKeyIdFromString(value);
564
- }
565
- function nearEd25519SigningKeyIdFromWalletId(walletId) {
566
- return nearEd25519SigningKeyIdFromString(String(walletId));
567
- }
568
- async function computeGeneratedImplicitNearEd25519SigningKeyId(input) {
569
- return nearEd25519SigningKeyIdFromString(`ed25519ks_${base64UrlEncode(await sha256BytesUtf8(alphabetizeStringify({
570
- kind: input.kind,
571
- walletId: String(input.walletId),
572
- authorityScope: input.authorityScope,
573
- signingRootId: input.signingRootId,
574
- signingRootVersion: input.signingRootVersion,
575
- signerSlot: input.signerSlot,
576
- participantIds: [...input.participantIds],
577
- keyPurpose: input.keyPurpose,
578
- keyVersion: input.keyVersion,
579
- derivationVersion: input.derivationVersion
580
- })))}`);
581
- }
582
- async function computeAddSignerNearEd25519SigningKeyId(input) {
583
- return nearEd25519SigningKeyIdFromString(`ed25519ks_${base64UrlEncode(await sha256BytesUtf8(alphabetizeStringify({
584
- kind: input.kind,
585
- walletId: String(input.walletId),
586
- signingRootId: input.signingRootId,
587
- signingRootVersion: input.signingRootVersion,
588
- signerSlot: input.signerSlot,
589
- participantIds: [...input.participantIds],
590
- keyPurpose: input.keyPurpose,
591
- keyVersion: input.keyVersion,
592
- derivationVersion: input.derivationVersion
593
- })))}`);
594
- }
595
- function emailOtpProviderUserIdFromRegistrationAuthority(authority) {
596
- const parsed = parseEmailOtpProviderUserId(authority.providerSubject);
597
- if (!parsed.ok) throw new Error(parsed.error.message);
598
- return parsed.value;
599
- }
600
- function registrationEd25519AuthorityScopeFromAuthority(authority) {
601
- switch (authority.kind) {
602
- case "passkey": return {
603
- kind: "passkey",
604
- rpId: authority.rpId
605
- };
606
- case "email_otp": return {
607
- kind: "email_otp",
608
- provider: authority.proofKind === "google_sso_registration" ? "google" : "email",
609
- providerUserId: emailOtpProviderUserIdFromRegistrationAuthority(authority)
610
- };
611
- default: return authority;
612
- }
613
- }
614
- async function computeRegistrationNearEd25519SigningKeyId(input) {
615
- switch (input.ed25519.accountProvisioning.kind) {
616
- case "implicit_account": return await computeGeneratedImplicitNearEd25519SigningKeyId({
617
- kind: "generated_implicit_near_ed25519_signing_key_v1",
618
- walletId: requireServerAllocatedWalletId(input.walletId),
619
- authorityScope: input.authorityScope,
620
- signingRootId: input.signingRootId,
621
- signingRootVersion: input.signingRootVersion,
622
- signerSlot: input.ed25519.signerSlot,
623
- participantIds: input.ed25519.participantIds,
624
- keyPurpose: input.ed25519.keyPurpose,
625
- keyVersion: input.ed25519.keyVersion,
626
- derivationVersion: input.ed25519.derivationVersion
627
- });
628
- case "sponsored_named_account": return nearEd25519SigningKeyIdFromWalletId(input.walletId);
629
- default: return input.ed25519.accountProvisioning;
630
- }
631
- }
632
8
  function registrationIntentGrantFromString(value) {
633
9
  return String(value || "").trim();
634
10
  }
@@ -638,522 +14,14 @@ function addAuthMethodIntentGrantFromString(value) {
638
14
  function addSignerIntentGrantFromString(value) {
639
15
  return String(value || "").trim();
640
16
  }
641
- function serializeRegistrationIntentV1(intent) {
642
- return alphabetizeStringify(intent);
643
- }
644
- function serializeAddSignerIntentV1(intent) {
645
- return alphabetizeStringify(intent);
646
- }
647
- function serializeAddAuthMethodIntentV1(intent) {
648
- return alphabetizeStringify(intent);
649
- }
650
17
  async function computeRegistrationIntentDigestB64u(intent) {
651
- return base64UrlEncode(await sha256BytesUtf8(serializeRegistrationIntentV1(intent)));
18
+ return base64UrlEncode(await sha256BytesUtf8(alphabetizeStringify(intent)));
652
19
  }
653
20
  async function computeAddSignerIntentDigestB64u(intent) {
654
- return base64UrlEncode(await sha256BytesUtf8(serializeAddSignerIntentV1(intent)));
21
+ return base64UrlEncode(await sha256BytesUtf8(alphabetizeStringify(intent)));
655
22
  }
656
23
  async function computeAddAuthMethodIntentDigestB64u(intent) {
657
- return base64UrlEncode(await sha256BytesUtf8(serializeAddAuthMethodIntentV1(intent)));
658
- }
659
- function inspectRawObject(value) {
660
- return value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
661
- }
662
- function trimString(value) {
663
- return typeof value === "string" ? value.trim() : "";
664
- }
665
- function normalizePositiveInteger(raw, fallback) {
666
- const value = typeof raw === "number" ? raw : Number(raw);
667
- return Number.isFinite(value) && value >= 1 ? Math.floor(value) : fallback;
668
- }
669
- function collectPositiveParticipantIds(raw) {
670
- if (!Array.isArray(raw)) return [];
671
- const participantIds = [];
672
- for (const id of raw) {
673
- const numericId = Number(id);
674
- if (Number.isInteger(numericId) && numericId > 0) participantIds.push(numericId);
675
- }
676
- return participantIds;
677
- }
678
- function normalizeUnknownArray(raw) {
679
- return Array.isArray(raw) ? raw : [];
680
- }
681
- function normalizeRegistrationNearAccountProvisioning(raw) {
682
- const record = inspectRawObject(raw);
683
- if (!record || !("kind" in record)) return null;
684
- switch (trimString(record.kind)) {
685
- case "implicit_account":
686
- if (Object.prototype.hasOwnProperty.call(record, "requestedAccountId") || Object.prototype.hasOwnProperty.call(record, "sponsor")) return null;
687
- return {
688
- kind: "implicit_account",
689
- accountIdSource: "ed25519_public_key"
690
- };
691
- case "sponsored_named_account": {
692
- if (Object.prototype.hasOwnProperty.call(record, "accountIdSource") || !("requestedAccountId" in record)) return null;
693
- const parsed = parseNamedNearAccountId(record.requestedAccountId);
694
- if (!parsed.ok) return null;
695
- return {
696
- kind: "sponsored_named_account",
697
- requestedAccountId: parsed.value,
698
- sponsor: "relayer"
699
- };
700
- }
701
- default: return null;
702
- }
703
- }
704
- function normalizeRegistrationEcdsaSpec(value) {
705
- if (!value) return null;
706
- if (!("participantIds" in value) || !("chainTargets" in value)) return null;
707
- const participantIds = collectPositiveParticipantIds(value.participantIds);
708
- const chainTargets = normalizeUnknownArray(value.chainTargets);
709
- if (participantIds.length === 0 || chainTargets.length === 0) return null;
710
- return {
711
- participantIds,
712
- chainTargets
713
- };
714
- }
715
- const REGISTRATION_NEAR_ED25519_KEY_PURPOSE = "near_tx";
716
- const NEAR_ED25519_YAO_KEY_VERSION_V1 = "router-ab-ed25519-yao-v1";
717
- function registrationSignerBranchKeyFromString(value) {
718
- const normalized = trimString(value);
719
- if (!normalized) throw new Error("registration signer branch key is required");
720
- return normalized;
721
- }
722
- function registrationNearEd25519BranchKey(signerSlot) {
723
- return registrationSignerBranchKeyFromString(`near_ed25519:slot:${signerSlot}`);
724
- }
725
- function registrationEvmFamilyEcdsaTargetKey(target) {
726
- return alphabetizeStringify(target);
727
- }
728
- function registrationEvmFamilyEcdsaBranchKey(chainTargets) {
729
- return registrationSignerBranchKeyFromString(`evm_family_ecdsa:${chainTargets.map(registrationEvmFamilyEcdsaTargetKey).join("|")}`);
730
- }
731
- function registrationSignerPlanFromRequests(signers) {
732
- return registrationSignerPlanFromBranches(signers.map(registrationSignerPlanBranchFromRequest));
733
- }
734
- function registrationSignerPlanFromBranches(branches) {
735
- if (branches.length === 0) return {
736
- ok: false,
737
- code: "invalid_body",
738
- message: "signer set must include at least one signer"
739
- };
740
- const nearSlots = /* @__PURE__ */ new Set();
741
- const ecdsaTargetKeys = /* @__PURE__ */ new Set();
742
- const branchKeys = /* @__PURE__ */ new Set();
743
- for (const branch of branches) {
744
- const duplicate = findRegistrationSignerPlanDuplicate({
745
- branch,
746
- nearSlots,
747
- ecdsaTargetKeys,
748
- branchKeys
749
- });
750
- if (duplicate) return duplicate;
751
- }
752
- return {
753
- ok: true,
754
- value: {
755
- kind: "signer_set",
756
- branches
757
- }
758
- };
759
- }
760
- function registrationSignerPlanBranchFromRequest(signer) {
761
- switch (signer.kind) {
762
- case "near_ed25519": return {
763
- kind: "near_ed25519",
764
- branchKey: registrationNearEd25519BranchKey(signer.signerSlot),
765
- accountProvisioning: signer.accountProvisioning,
766
- signerSlot: signer.signerSlot,
767
- participantIds: signer.participantIds,
768
- keyPurpose: REGISTRATION_NEAR_ED25519_KEY_PURPOSE,
769
- keyVersion: NEAR_ED25519_YAO_KEY_VERSION_V1,
770
- derivationVersion: signer.derivationVersion
771
- };
772
- case "evm_family_ecdsa": return {
773
- kind: "evm_family_ecdsa",
774
- branchKey: registrationEvmFamilyEcdsaBranchKey(signer.chainTargets),
775
- participantIds: signer.participantIds,
776
- chainTargets: signer.chainTargets
777
- };
778
- default: return assertNeverRegistrationSignerRequest(signer);
779
- }
780
- }
781
- function findRegistrationSignerPlanDuplicate(input) {
782
- switch (input.branch.kind) {
783
- case "near_ed25519":
784
- if (input.nearSlots.has(input.branch.signerSlot)) return {
785
- ok: false,
786
- code: "invalid_body",
787
- message: "duplicate near_ed25519 signer slot is invalid"
788
- };
789
- input.nearSlots.add(input.branch.signerSlot);
790
- break;
791
- case "evm_family_ecdsa":
792
- {
793
- const duplicateTarget = findDuplicateRegistrationEcdsaTarget(input.branch, input.ecdsaTargetKeys);
794
- if (duplicateTarget) return duplicateTarget;
795
- }
796
- break;
797
- default: return assertNeverRegistrationSignerPlanBranch(input.branch);
798
- }
799
- return findDuplicateRegistrationSignerBranch(input.branch, input.branchKeys);
800
- }
801
- function findDuplicateRegistrationSignerBranch(branch, branchKeys) {
802
- const branchKey = String(branch.branchKey);
803
- if (branchKeys.has(branchKey)) return {
804
- ok: false,
805
- code: "invalid_body",
806
- message: "duplicate signer branch is invalid"
807
- };
808
- branchKeys.add(branchKey);
809
- return null;
810
- }
811
- function findDuplicateRegistrationEcdsaTarget(branch, ecdsaTargetKeys) {
812
- for (const target of branch.chainTargets) {
813
- const targetKey = registrationEvmFamilyEcdsaTargetKey(target);
814
- if (ecdsaTargetKeys.has(targetKey)) return {
815
- ok: false,
816
- code: "invalid_body",
817
- message: "duplicate evm_family_ecdsa chain target is invalid"
818
- };
819
- ecdsaTargetKeys.add(targetKey);
820
- }
821
- return null;
822
- }
823
- function normalizeRegistrationSignerRequest(raw) {
824
- const record = inspectRawObject(raw);
825
- if (!record) return {
826
- ok: false,
827
- code: "invalid_body",
828
- message: "signer set entry must be an object"
829
- };
830
- if (!("kind" in record)) return {
831
- ok: false,
832
- code: "invalid_body",
833
- message: "unsupported registration signer kind"
834
- };
835
- switch (trimString(record.kind)) {
836
- case "near_ed25519": return normalizeRegistrationNearEd25519SignerRequest(record);
837
- case "evm_family_ecdsa": return normalizeRegistrationEvmFamilyEcdsaSignerRequest(record);
838
- default: return {
839
- ok: false,
840
- code: "invalid_body",
841
- message: "unsupported registration signer kind"
842
- };
843
- }
844
- }
845
- function normalizeRegistrationNearEd25519SignerRequest(raw) {
846
- if (Object.prototype.hasOwnProperty.call(raw, "keyPurpose") || Object.prototype.hasOwnProperty.call(raw, "keyVersion")) return {
847
- ok: false,
848
- code: "invalid_body",
849
- message: "near_ed25519 signer spec cannot include protocol key fields"
850
- };
851
- if (Object.prototype.hasOwnProperty.call(raw, "nearAccountId") || Object.prototype.hasOwnProperty.call(raw, "createNearAccount")) return {
852
- ok: false,
853
- code: "invalid_body",
854
- message: "near_ed25519 signer spec is invalid"
855
- };
856
- const accountProvisioning = normalizeRegistrationNearAccountProvisioning("accountProvisioning" in raw ? raw.accountProvisioning : void 0);
857
- const signerSlot = normalizePositiveInteger("signerSlot" in raw ? raw.signerSlot : void 0, 0);
858
- const derivationVersion = Number("derivationVersion" in raw ? raw.derivationVersion : void 0);
859
- const participantIds = collectPositiveParticipantIds("participantIds" in raw ? raw.participantIds : void 0);
860
- if (!accountProvisioning || signerSlot < 1 || participantIds.length === 0 || derivationVersion !== 1) return {
861
- ok: false,
862
- code: "invalid_body",
863
- message: "near_ed25519 signer spec is invalid"
864
- };
865
- return {
866
- ok: true,
867
- value: {
868
- kind: "near_ed25519",
869
- accountProvisioning,
870
- signerSlot,
871
- participantIds,
872
- derivationVersion
873
- }
874
- };
875
- }
876
- function normalizeRegistrationEvmFamilyEcdsaSignerRequest(raw) {
877
- const ecdsa = normalizeRegistrationEcdsaSpec(raw);
878
- if (!ecdsa) return {
879
- ok: false,
880
- code: "invalid_body",
881
- message: "evm_family_ecdsa signer spec is invalid"
882
- };
883
- return {
884
- ok: true,
885
- value: {
886
- kind: "evm_family_ecdsa",
887
- participantIds: ecdsa.participantIds,
888
- chainTargets: ecdsa.chainTargets
889
- }
890
- };
891
- }
892
- function normalizeRegistrationSignerSetPlan(raw) {
893
- if (!("signers" in raw) || !Array.isArray(raw.signers)) return {
894
- ok: false,
895
- code: "invalid_body",
896
- message: "signerSelection.signers must be an array"
897
- };
898
- const signers = [];
899
- for (const rawSigner of raw.signers) {
900
- const signer = normalizeRegistrationSignerRequest(rawSigner);
901
- if (!signer.ok) return signer;
902
- signers.push(signer.value);
903
- }
904
- return registrationSignerPlanFromRequests(signers);
905
- }
906
- function normalizeRegistrationSignerPlan(raw) {
907
- const record = inspectRawObject(raw);
908
- if (!record) return {
909
- ok: false,
910
- code: "invalid_body",
911
- message: "signerSelection must be an object"
912
- };
913
- if (!("kind" in record)) return {
914
- ok: false,
915
- code: "invalid_body",
916
- message: "signerSelection.kind must be signer_set"
917
- };
918
- if (trimString(record.kind) === "signer_set") return normalizeRegistrationSignerSetPlan(record);
919
- return {
920
- ok: false,
921
- code: "invalid_body",
922
- message: "signerSelection.kind must be signer_set"
923
- };
924
- }
925
- function registrationSignerPlanFromSelection(selection) {
926
- return registrationSignerPlanFromRequests(selection.signers);
927
- }
928
- function findRegistrationSignerPlanNearEd25519Branch(plan) {
929
- for (const branch of plan.branches) if (branch.kind === "near_ed25519") return branch;
930
- return null;
931
- }
932
- function findRegistrationSignerPlanEvmFamilyEcdsaBranch(plan) {
933
- for (const branch of plan.branches) if (branch.kind === "evm_family_ecdsa") return branch;
934
- return null;
935
- }
936
- function registrationSignerSetSelectionFromPlan(plan, options = {}) {
937
- const signers = [];
938
- for (const branch of plan.branches) {
939
- const signer = registrationSignerRequestFromPlanBranchForSelection(branch, options);
940
- if (!signer.ok) return signer;
941
- signers.push(signer.value);
942
- }
943
- return {
944
- ok: true,
945
- value: {
946
- kind: "signer_set",
947
- signers
948
- }
949
- };
950
- }
951
- function registrationSignerRequestFromPlanBranchForSelection(branch, options) {
952
- switch (branch.kind) {
953
- case "near_ed25519": return {
954
- ok: true,
955
- value: registrationNearEd25519RequestFromPlanBranch(branch)
956
- };
957
- case "evm_family_ecdsa": return registrationEvmFamilyEcdsaRequestFromPlanBranch(branch, options);
958
- default: return assertNeverRegistrationSignerPlanBranch(branch);
959
- }
960
- }
961
- function registrationNearEd25519RequestFromPlanBranch(branch) {
962
- return {
963
- kind: "near_ed25519",
964
- accountProvisioning: branch.accountProvisioning,
965
- signerSlot: branch.signerSlot,
966
- participantIds: [...branch.participantIds],
967
- derivationVersion: branch.derivationVersion
968
- };
969
- }
970
- function registrationEvmFamilyEcdsaRequestFromPlanBranch(branch, options) {
971
- const chainTargets = registrationEcdsaChainTargetsFromPlanBranch(branch, options);
972
- if (!chainTargets) return {
973
- ok: false,
974
- code: "invalid_body",
975
- message: "registration ECDSA chainTargets are invalid"
976
- };
977
- return {
978
- ok: true,
979
- value: {
980
- kind: "evm_family_ecdsa",
981
- participantIds: [...branch.participantIds],
982
- chainTargets
983
- }
984
- };
985
- }
986
- function registrationEcdsaChainTargetsFromPlanBranch(branch, options) {
987
- if (!options.normalizeEcdsaChainTarget) return [...branch.chainTargets];
988
- const chainTargets = [];
989
- for (const target of branch.chainTargets) {
990
- const normalized = options.normalizeEcdsaChainTarget(target);
991
- if (!normalized) return null;
992
- chainTargets.push(normalized);
993
- }
994
- return chainTargets;
995
- }
996
- function assertNeverRegistrationSignerRequest(value) {
997
- throw new Error(`Unsupported registration signer request: ${String(value)}`);
998
- }
999
- function assertNeverRegistrationSignerPlanBranch(value) {
1000
- throw new Error(`Unsupported registration signer plan branch: ${String(value)}`);
1001
- }
1002
- function normalizeAddSignerSelection(raw, options) {
1003
- const record = inspectRawObject(raw);
1004
- if (!record) return {
1005
- ok: false,
1006
- code: "invalid_body",
1007
- message: "signerSelection must be an object"
1008
- };
1009
- if (!("mode" in record)) return {
1010
- ok: false,
1011
- code: "invalid_body",
1012
- message: "unsupported add-signer mode"
1013
- };
1014
- const mode = trimString(record.mode);
1015
- if (mode === "ecdsa") return normalizeAddSignerEcdsaSelection("ecdsa" in record ? record.ecdsa : void 0, options);
1016
- if (mode === "ed25519") return normalizeAddSignerEd25519Selection("ed25519" in record ? record.ed25519 : void 0);
1017
- return {
1018
- ok: false,
1019
- code: "invalid_body",
1020
- message: "unsupported add-signer mode"
1021
- };
1022
- }
1023
- function normalizeAddSignerEcdsaSelection(raw, options) {
1024
- const ecdsaRecord = inspectRawObject(raw);
1025
- const participantIds = collectPositiveParticipantIds(ecdsaRecord && "participantIds" in ecdsaRecord ? ecdsaRecord.participantIds : void 0);
1026
- const chainTargets = normalizeAddSignerEcdsaChainTargets(ecdsaRecord && "chainTargets" in ecdsaRecord ? ecdsaRecord.chainTargets : void 0, options);
1027
- if (participantIds.length === 0 || chainTargets.length === 0) return {
1028
- ok: false,
1029
- code: "invalid_body",
1030
- message: "ecdsa add-signer spec is invalid"
1031
- };
1032
- return {
1033
- ok: true,
1034
- value: {
1035
- mode: "ecdsa",
1036
- ecdsa: {
1037
- chainTargets,
1038
- participantIds
1039
- }
1040
- }
1041
- };
1042
- }
1043
- function normalizeAddSignerEcdsaChainTargets(raw, options) {
1044
- if (!Array.isArray(raw)) return [];
1045
- const chainTargets = [];
1046
- for (const target of raw) {
1047
- const normalized = options.normalizeEcdsaChainTarget(target);
1048
- if (!normalized) return [];
1049
- chainTargets.push(normalized);
1050
- }
1051
- return chainTargets;
1052
- }
1053
- function normalizeAddSignerEd25519Selection(raw) {
1054
- const ed25519Record = inspectRawObject(raw);
1055
- const ed25519Mode = trimString(ed25519Record && "mode" in ed25519Record ? ed25519Record.mode : void 0);
1056
- const signerSlot = normalizePositiveInteger(ed25519Record && "signerSlot" in ed25519Record ? ed25519Record.signerSlot : void 0, 1);
1057
- const keyPurpose = trimString(ed25519Record && "keyPurpose" in ed25519Record ? ed25519Record.keyPurpose : void 0);
1058
- const keyVersion = trimString(ed25519Record && "keyVersion" in ed25519Record ? ed25519Record.keyVersion : void 0);
1059
- const derivationVersion = normalizePositiveInteger(ed25519Record && "derivationVersion" in ed25519Record ? ed25519Record.derivationVersion : void 0, 0);
1060
- const participantIds = collectPositiveParticipantIds(ed25519Record && "participantIds" in ed25519Record ? ed25519Record.participantIds : void 0);
1061
- if (!keyPurpose || !keyVersion || !derivationVersion || participantIds.length === 0) return {
1062
- ok: false,
1063
- code: "invalid_body",
1064
- message: "ed25519 add-signer spec is invalid"
1065
- };
1066
- if (ed25519Mode === "create_implicit_near_account") return {
1067
- ok: true,
1068
- value: {
1069
- mode: "ed25519",
1070
- ed25519: {
1071
- mode: ed25519Mode,
1072
- signerSlot,
1073
- participantIds,
1074
- keyPurpose,
1075
- keyVersion,
1076
- derivationVersion
1077
- }
1078
- }
1079
- };
1080
- return {
1081
- ok: false,
1082
- code: "invalid_body",
1083
- message: "unsupported add-signer mode"
1084
- };
1085
- }
1086
- function normalizeRegistrationAuthMethodInput(raw) {
1087
- const record = inspectRawObject(raw);
1088
- if (!record || !("kind" in record)) return null;
1089
- const kind = trimString(record.kind);
1090
- if (kind === "passkey") {
1091
- const rpId = parseWebAuthnRpId("rpId" in record ? record.rpId : void 0);
1092
- if (!rpId.ok || Object.prototype.hasOwnProperty.call(record, "email") || Object.prototype.hasOwnProperty.call(record, "otpCode") || Object.prototype.hasOwnProperty.call(record, "challengeId")) return null;
1093
- return {
1094
- kind: "passkey",
1095
- rpId: rpId.value,
1096
- ..."authenticatorOptions" in record && record.authenticatorOptions !== void 0 ? { authenticatorOptions: record.authenticatorOptions } : {}
1097
- };
1098
- }
1099
- if (kind === "email_otp") {
1100
- const proofKind = trimString("proofKind" in record ? record.proofKind : void 0);
1101
- const email = trimString("email" in record ? record.email : void 0);
1102
- const providerSubject = trimString("providerSubject" in record ? record.providerSubject : void 0);
1103
- if (!email || !providerSubject || Object.prototype.hasOwnProperty.call(record, "rpId") || Object.prototype.hasOwnProperty.call(record, "authenticatorOptions")) return null;
1104
- if (proofKind === "otp_challenge") {
1105
- const otpCode = trimString("otpCode" in record ? record.otpCode : void 0);
1106
- const challengeId = trimString("challengeId" in record ? record.challengeId : void 0);
1107
- if (!otpCode || Object.prototype.hasOwnProperty.call(record, "googleEmailOtpRegistrationAttemptId") || Object.prototype.hasOwnProperty.call(record, "googleEmailOtpRegistrationOfferId") || Object.prototype.hasOwnProperty.call(record, "googleEmailOtpRegistrationCandidateId")) return null;
1108
- return {
1109
- kind: "email_otp",
1110
- proofKind: "otp_challenge",
1111
- email,
1112
- providerSubject,
1113
- otpCode,
1114
- ...challengeId ? { challengeId } : {}
1115
- };
1116
- }
1117
- if (proofKind === "google_sso_registration") {
1118
- const googleEmailOtpRegistrationAttemptId = trimString("googleEmailOtpRegistrationAttemptId" in record ? record.googleEmailOtpRegistrationAttemptId : void 0);
1119
- const googleEmailOtpRegistrationOfferId = trimString("googleEmailOtpRegistrationOfferId" in record ? record.googleEmailOtpRegistrationOfferId : void 0);
1120
- const googleEmailOtpRegistrationCandidateId = trimString("googleEmailOtpRegistrationCandidateId" in record ? record.googleEmailOtpRegistrationCandidateId : void 0);
1121
- if (!googleEmailOtpRegistrationAttemptId || !googleEmailOtpRegistrationOfferId || !googleEmailOtpRegistrationCandidateId || Object.prototype.hasOwnProperty.call(record, "otpCode") || Object.prototype.hasOwnProperty.call(record, "challengeId")) return null;
1122
- return {
1123
- kind: "email_otp",
1124
- proofKind: "google_sso_registration",
1125
- email,
1126
- providerSubject,
1127
- googleEmailOtpRegistrationAttemptId,
1128
- googleEmailOtpRegistrationOfferId,
1129
- googleEmailOtpRegistrationCandidateId
1130
- };
1131
- }
1132
- return null;
1133
- }
1134
- return null;
1135
- }
1136
- function normalizeAddAuthMethodInput(raw) {
1137
- const record = inspectRawObject(raw);
1138
- if (!record || !("kind" in record)) return null;
1139
- const kind = trimString(record.kind);
1140
- if (kind === "passkey") {
1141
- const rpId = parseWebAuthnRpId("rpId" in record ? record.rpId : void 0);
1142
- if (!rpId.ok || Object.prototype.hasOwnProperty.call(record, "email") || Object.prototype.hasOwnProperty.call(record, "otpCode") || Object.prototype.hasOwnProperty.call(record, "challengeId") || Object.prototype.hasOwnProperty.call(record, "authenticatorOptions")) return null;
1143
- return {
1144
- kind: "passkey",
1145
- rpId: rpId.value
1146
- };
1147
- }
1148
- if (kind === "email_otp") {
1149
- const email = trimString("email" in record ? record.email : void 0);
1150
- if (!email || Object.prototype.hasOwnProperty.call(record, "rpId") || Object.prototype.hasOwnProperty.call(record, "otpCode") || Object.prototype.hasOwnProperty.call(record, "challengeId") || Object.prototype.hasOwnProperty.call(record, "authenticatorOptions")) return null;
1151
- return {
1152
- kind: "email_otp",
1153
- email
1154
- };
1155
- }
1156
- return null;
24
+ return base64UrlEncode(await sha256BytesUtf8(alphabetizeStringify(intent)));
1157
25
  }
1158
26
  function normalizeAddAuthMethodIntentCaller(raw) {
1159
27
  const record = inspectRawObject(raw);
@@ -1219,50 +87,7 @@ function sameRegistrationIntentRuntimePolicyScope(left, right) {
1219
87
  function sameAddSignerIntentV1(left, right) {
1220
88
  return left.version === right.version && left.walletId === right.walletId && sameAddSignerSelectionV1(left.signerSelection, right.signerSelection) && sameRegistrationIntentRuntimePolicyScope(left.runtimePolicyScope, right.runtimePolicyScope) && left.nonceB64u === right.nonceB64u;
1221
89
  }
1222
- function normalizeEmailOtpRegistrationProof(raw) {
1223
- const record = inspectRawObject(raw);
1224
- if (!record) return null;
1225
- const version = trimString("version" in record ? record.version : void 0);
1226
- const proofKind = trimString("proofKind" in record ? record.proofKind : void 0);
1227
- const providerSubject = trimString("providerSubject" in record ? record.providerSubject : void 0);
1228
- const email = trimString("email" in record ? record.email : void 0).toLowerCase();
1229
- const registrationIntentDigestB64u = trimString("registrationIntentDigestB64u" in record ? record.registrationIntentDigestB64u : void 0);
1230
- if (version !== "email_otp_registration_proof_v1" || !providerSubject || !email || !registrationIntentDigestB64u) return null;
1231
- if (proofKind === "otp_challenge") {
1232
- const challengeId = trimString("challengeId" in record ? record.challengeId : void 0);
1233
- const otpCode = trimString("otpCode" in record ? record.otpCode : void 0);
1234
- const otpChannel = trimString("otpChannel" in record ? record.otpChannel : void 0);
1235
- if (!challengeId || !otpCode || otpChannel !== "email_otp" || Object.prototype.hasOwnProperty.call(record, "googleEmailOtpRegistrationAttemptId") || Object.prototype.hasOwnProperty.call(record, "googleEmailOtpRegistrationOfferId") || Object.prototype.hasOwnProperty.call(record, "googleEmailOtpRegistrationCandidateId")) return null;
1236
- return {
1237
- version: "email_otp_registration_proof_v1",
1238
- proofKind: "otp_challenge",
1239
- providerSubject,
1240
- email,
1241
- challengeId,
1242
- otpCode,
1243
- otpChannel: "email_otp",
1244
- registrationIntentDigestB64u
1245
- };
1246
- }
1247
- if (proofKind === "google_sso_registration") {
1248
- const googleEmailOtpRegistrationAttemptId = trimString("googleEmailOtpRegistrationAttemptId" in record ? record.googleEmailOtpRegistrationAttemptId : void 0);
1249
- const googleEmailOtpRegistrationOfferId = trimString("googleEmailOtpRegistrationOfferId" in record ? record.googleEmailOtpRegistrationOfferId : void 0);
1250
- const googleEmailOtpRegistrationCandidateId = trimString("googleEmailOtpRegistrationCandidateId" in record ? record.googleEmailOtpRegistrationCandidateId : void 0);
1251
- if (!googleEmailOtpRegistrationAttemptId || !googleEmailOtpRegistrationOfferId || !googleEmailOtpRegistrationCandidateId || Object.prototype.hasOwnProperty.call(record, "challengeId") || Object.prototype.hasOwnProperty.call(record, "otpCode") || Object.prototype.hasOwnProperty.call(record, "otpChannel")) return null;
1252
- return {
1253
- version: "email_otp_registration_proof_v1",
1254
- proofKind: "google_sso_registration",
1255
- providerSubject,
1256
- email,
1257
- googleEmailOtpRegistrationAttemptId,
1258
- googleEmailOtpRegistrationOfferId,
1259
- googleEmailOtpRegistrationCandidateId,
1260
- registrationIntentDigestB64u
1261
- };
1262
- }
1263
- return null;
1264
- }
1265
90
  //#endregion
1266
- export { addAuthMethodIntentGrantFromString, addSignerIntentGrantFromString, buildWalletAuthMethodRecordV2, computeAddAuthMethodIntentDigestB64u, computeAddSignerIntentDigestB64u, computeAddSignerNearEd25519SigningKeyId, computeRegistrationIntentDigestB64u, computeRegistrationNearEd25519SigningKeyId, computeWalletAuthMethodRevokeOperationFingerprintV1, createServerAllocatedWalletId, findRegistrationSignerPlanEvmFamilyEcdsaBranch, findRegistrationSignerPlanNearEd25519Branch, nearEd25519SigningKeyIdFromString, normalizeAddAuthMethodInput, normalizeAddAuthMethodIntentCaller, normalizeAddSignerSelection, normalizeEmailOtpRegistrationProof, normalizeRegistrationAuthMethodInput, normalizeRegistrationSignerPlan, parseNearEd25519SigningKeyId, parseWalletAuthMethodRecordV2, registrationEd25519AuthorityScopeFromAuthority, registrationIntentGrantFromString, registrationNearEd25519BranchKey, registrationSignerBranchKeyFromString, registrationSignerPlanFromSelection, registrationSignerSetSelectionFromPlan, sameAddSignerIntentV1, sameWalletAuthMethodRecordV2, walletAuthMethodRecordId, walletIdFromString };
91
+ export { addAuthMethodIntentGrantFromString, addSignerIntentGrantFromString, computeAddAuthMethodIntentDigestB64u, computeAddSignerIntentDigestB64u, computeRegistrationIntentDigestB64u, normalizeAddAuthMethodIntentCaller, registrationIntentGrantFromString, sameAddSignerIntentV1 };
1267
92
 
1268
93
  //# sourceMappingURL=registrationIntent.js.map