@seams/wallet-server 0.6.2 → 0.7.1

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 (705) hide show
  1. package/artifact-manifest.json +147 -32
  2. package/cloudflare-router-ab/build/deriver-a/build-stamp.json +1 -0
  3. package/cloudflare-router-ab/build/deriver-a/index.js +2 -2
  4. package/cloudflare-router-ab/build/deriver-a/index_bg.wasm +0 -0
  5. package/cloudflare-router-ab/build/deriver-b/build-stamp.json +1 -0
  6. package/cloudflare-router-ab/build/deriver-b/index.js +2 -2
  7. package/cloudflare-router-ab/build/deriver-b/index_bg.wasm +0 -0
  8. package/cloudflare-router-ab/build/local-tools/darwin-arm64/router_ab_local_init +0 -0
  9. package/cloudflare-router-ab/build/local-tools/darwin-x64/router_ab_local_init +0 -0
  10. package/cloudflare-router-ab/build/local-tools/linux-x64/router_ab_local_init +0 -0
  11. package/cloudflare-router-ab/build/router/build-stamp.json +1 -0
  12. package/cloudflare-router-ab/build/router/index.js +2 -2
  13. package/cloudflare-router-ab/build/router/index_bg.wasm +0 -0
  14. package/cloudflare-router-ab/build/signing-worker/build-stamp.json +1 -0
  15. package/cloudflare-router-ab/build/signing-worker/index.js +2 -2
  16. package/cloudflare-router-ab/build/signing-worker/index_bg.wasm +0 -0
  17. package/cloudflare-router-ab/build/tenant-root-control-plane/build-stamp.json +1 -0
  18. package/cloudflare-router-ab/build/tenant-root-control-plane/index.js +2 -2
  19. package/cloudflare-router-ab/build/tenant-root-control-plane/index_bg.wasm +0 -0
  20. package/cloudflare-router-ab/migrations/deriver-a/0012_tenant_root_creation_tombstones.sql +20 -0
  21. package/cloudflare-router-ab/migrations/deriver-a/0013_tenant_root_root_use_admissions.sql +32 -0
  22. package/cloudflare-router-ab/migrations/deriver-a/0014_tenant_root_refresh_supersessions.sql +24 -0
  23. package/cloudflare-router-ab/migrations/deriver-a/0015_tenant_root_root_use_attempts.sql +56 -0
  24. package/cloudflare-router-ab/migrations/deriver-a/0016_tenant_root_root_use_admission_settlement.sql +5 -0
  25. package/cloudflare-router-ab/migrations/deriver-a/0017_tenant_root_root_use_admission_claims.sql +64 -0
  26. package/cloudflare-router-ab/migrations/deriver-a/0018_tenant_root_recovery_retention_keys.sql +12 -0
  27. package/cloudflare-router-ab/migrations/deriver-b/0012_tenant_root_creation_tombstones.sql +20 -0
  28. package/cloudflare-router-ab/migrations/deriver-b/0013_tenant_root_root_use_admissions.sql +32 -0
  29. package/cloudflare-router-ab/migrations/deriver-b/0014_tenant_root_refresh_supersessions.sql +24 -0
  30. package/cloudflare-router-ab/migrations/deriver-b/0015_tenant_root_root_use_attempts.sql +56 -0
  31. package/cloudflare-router-ab/migrations/deriver-b/0016_tenant_root_root_use_admission_settlement.sql +5 -0
  32. package/cloudflare-router-ab/migrations/deriver-b/0017_tenant_root_root_use_admission_claims.sql +64 -0
  33. package/cloudflare-router-ab/migrations/deriver-b/0018_tenant_root_recovery_retention_keys.sql +12 -0
  34. package/cloudflare-router-ab/scripts/bootstrap-local-tenant-root.mjs +81 -16
  35. package/cloudflare-router-ab/scripts/prepare-local-runtime-config.mjs +102 -9
  36. package/cloudflare-router-ab/scripts/start-local-role-workers.mjs +4 -1
  37. package/cloudflare-router-ab/wrangler.deriver-a.toml +24 -0
  38. package/cloudflare-router-ab/wrangler.router.toml +13 -0
  39. package/dist/esm/authorization/capabilityPolicy.js +1 -1
  40. package/dist/esm/authorization/domain.js +2 -2
  41. package/dist/esm/authorization/factorEvidence.js +6 -100
  42. package/dist/esm/authorization/service.js +34 -2
  43. package/dist/esm/authorization/vaultProxyUse.js +3 -4
  44. package/dist/esm/cloud-host.js +16 -11
  45. package/dist/esm/core/EmailOtpRecords.js +19 -1
  46. package/dist/esm/core/EmailOtpStores.js +323 -924
  47. package/dist/esm/core/IdentityStore.js +44 -235
  48. package/dist/esm/core/NearPublicKeyStore.js +21 -63
  49. package/dist/esm/core/RegistrationCeremonyStore.js +3 -1793
  50. package/dist/esm/core/ThresholdService/config.js +1 -82
  51. package/dist/esm/core/ThresholdService/kv.js +3 -3
  52. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.js +37 -5
  53. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.js +4 -74
  54. package/dist/esm/core/ThresholdService/stores/CloudflareDurableObjectStore.js +15 -51
  55. package/dist/esm/core/ThresholdService/stores/KeyStore.js +3 -3
  56. package/dist/esm/core/ThresholdService/stores/SessionStore.js +5 -81
  57. package/dist/esm/core/ThresholdService/stores/WalletSessionStore.js +185 -290
  58. package/dist/esm/core/ThresholdService/validation.js +18 -230
  59. package/dist/esm/core/WalletAuthMethodStore.js +22 -79
  60. package/dist/esm/core/WalletStore.js +58 -185
  61. package/dist/esm/core/WebAuthnAuthenticatorStore.js +57 -340
  62. package/dist/esm/core/WebAuthnCredentialBindingStore.js +90 -369
  63. package/dist/esm/core/WebAuthnLoginChallengeStore.js +17 -397
  64. package/dist/esm/core/WebAuthnSyncChallengeStore.js +17 -397
  65. package/dist/esm/core/authService/AuthService.js +2 -19
  66. package/dist/esm/core/authService/emailOtpChallengeProof.js +1 -1
  67. package/dist/esm/core/authService/emailOtpChallenges.js +1 -1
  68. package/dist/esm/core/authService/emailOtpConfig.js +1 -32
  69. package/dist/esm/core/authService/emailOtpRegistrationEnrollment.js +6 -153
  70. package/dist/esm/core/authService/googleEmailOtpRegistration.js +1 -1
  71. package/dist/esm/core/authService/nearPrivateKeySigning.js +7 -15
  72. package/dist/esm/core/authService/nearTransactions.js +2 -1
  73. package/dist/esm/core/authService/oidcVerification.js +3 -4
  74. package/dist/esm/core/authService/rateLimits.js +1 -31
  75. package/dist/esm/core/authService/registrationThresholdHelpers.js +2 -103
  76. package/dist/esm/core/authService/storeRegistry.js +2 -13
  77. package/dist/esm/core/authService/thresholdEcdsaKeyInventory.js +4 -5
  78. package/dist/esm/core/authService/webauthn.js +15 -50
  79. package/dist/esm/core/authService/webauthnOidcHelpers.js +1 -6
  80. package/dist/esm/core/authService/webauthnVerificationOutcomes.js +60 -0
  81. package/dist/esm/core/authService/webauthnWalletBinding.js +2 -122
  82. package/dist/esm/core/d1IdentityStore.js +32 -66
  83. package/dist/esm/core/d1TenantStore.js +82 -0
  84. package/dist/esm/core/d1WalletAuthMethodStore.js +92 -143
  85. package/dist/esm/core/d1WalletStore.js +14 -12
  86. package/dist/esm/core/deviceLinking/linkedDeviceEmailOtpGrant.js +10 -8
  87. package/dist/esm/core/deviceLinking/linkedDeviceManagement.js +25 -3
  88. package/dist/esm/core/deviceLinking/linkedDeviceSession.js +6 -895
  89. package/dist/esm/core/deviceLinking/linkedDeviceSessionApproval.js +102 -0
  90. package/dist/esm/core/deviceLinking/linkedDeviceSessionRecord.js +668 -0
  91. package/dist/esm/core/emailOtpD1Statements.js +383 -0
  92. package/dist/esm/core/hostedAccountIds.js +2 -2
  93. package/dist/esm/core/keyMaterialBrands.js +2 -48
  94. package/dist/esm/core/nearRelayerAccountProvisioning.js +25 -150
  95. package/dist/esm/core/nearSignerWasmRuntime.js +1 -4
  96. package/dist/esm/core/rpcClients/near/NearClient.js +15 -218
  97. package/dist/esm/core/signingLanes/LaneEnrollmentActivation.js +1 -1
  98. package/dist/esm/core/signingLanes/LaneLifecycleApplicationService.js +2 -4
  99. package/dist/esm/core/signingLanes/LaneLifecycleStore.js +0 -24
  100. package/dist/esm/core/signingLanes/WalletExecutionLaneProjection.js +5 -5
  101. package/dist/esm/core/signingLanes/ecdsaServerRetirement.js +3 -8
  102. package/dist/esm/core/signingLanes/ed25519ServerRetirement.js +1 -4
  103. package/dist/esm/core/storeBackends.js +208 -0
  104. package/dist/esm/core/thresholdEcdsaChainTarget.js +1 -7
  105. package/dist/esm/core/webAuthnD1Statements.js +92 -0
  106. package/dist/esm/core/webAuthnStoreBackends.js +198 -0
  107. package/dist/esm/hosted-wallet-gateway.js +33 -16
  108. package/dist/esm/index.js +2 -2
  109. package/dist/esm/local-hosted-wallet-gateway-worker.js +2 -23
  110. package/dist/esm/localHostedWalletGatewayHandler.js +299 -0
  111. package/dist/esm/localIntendedEcdsaFinalizeFault.js +85 -0
  112. package/dist/esm/localIntendedLinkExecuteFault.js +140 -0
  113. package/dist/esm/localIntendedRevokeFault.js +106 -0
  114. package/dist/esm/localIntendedSessionAdmissionFault.js +139 -0
  115. package/dist/esm/localIntendedYaoExportFault.js +117 -0
  116. package/dist/esm/localIntendedYaoFault.js +13 -16
  117. package/dist/esm/localIntendedYaoFinalizeFault.js +99 -0
  118. package/dist/esm/localIntendedYaoRecoveryFault.js +102 -0
  119. package/dist/esm/localIntendedYaoSigningFault.js +127 -0
  120. package/dist/esm/router/auth/authRequestValidation.js +1 -1
  121. package/dist/esm/router/auth/commonRouterUtils.js +10 -2
  122. package/dist/esm/router/auth/walletSessionFailure.js +1 -14
  123. package/dist/esm/router/cloudflare/d1/auth/d1AuthorizedOperationRouteService.js +23 -0
  124. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthService.js +86 -66
  125. package/dist/esm/router/cloudflare/d1/authorization/authorizedOperationStatements.js +208 -0
  126. package/dist/esm/router/cloudflare/d1/authorization/d1AuthorizationStore.js +246 -296
  127. package/dist/esm/router/cloudflare/d1/authorization/persistedWalletSessionAuthorization.js +14 -0
  128. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.js +62 -63
  129. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.js +3 -6
  130. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.js +1 -19
  131. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceManagementService.js +4 -3
  132. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.js +52 -9
  133. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.js +3 -6
  134. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRevocation.js +100 -0
  135. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.js +7 -10
  136. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.js +33 -124
  137. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSourceContributionPreparationPlanner.js +2 -2
  138. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.js +9 -17
  139. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkBuilder.js +6 -6
  140. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkSourceReader.js +3 -1
  141. package/dist/esm/router/cloudflare/d1/deviceLinking/index.js +3 -3
  142. package/dist/esm/router/cloudflare/d1/deviceLinking/installedEcdsaAuthority.js +69 -0
  143. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.js +39 -68
  144. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoLifecycleDecisionStore.js +69 -0
  145. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.js +2 -2
  146. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.js +26 -71
  147. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.js +20 -3
  148. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.js +7 -94
  149. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.js +5 -47
  150. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.js +26 -123
  151. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.js +0 -2
  152. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.js +2 -2
  153. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.js +15 -134
  154. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.js +54 -260
  155. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.js +1 -1
  156. package/dist/esm/router/cloudflare/d1/identity/d1IdentityRecords.js +1 -28
  157. package/dist/esm/router/cloudflare/d1/near/d1NearPublicKeyStore.js +2 -8
  158. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyEnvelopeStore.js +1 -1
  159. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.js +3 -3
  160. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.js +23 -73
  161. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpRecords.js +15 -2
  162. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpService.js +12 -203
  163. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.js +16 -32
  164. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.js +29 -72
  165. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.js +4 -1
  166. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationIntentService.js +3 -1
  167. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.js +6 -30
  168. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationService.js +261 -205
  169. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetup.js +5 -3
  170. package/dist/esm/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.js +2 -2
  171. package/dist/esm/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.js +3 -3
  172. package/dist/esm/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.js +43 -25
  173. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.js +0 -1
  174. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.js +1 -1
  175. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneRecords.js +2 -1
  176. package/dist/esm/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.js +2 -60
  177. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerService.js +158 -19
  178. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodBoundary.js +19 -49
  179. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodRevocationReplayStore.js +100 -0
  180. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodService.js +132 -33
  181. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorityStore.js +83 -4
  182. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.js +14 -49
  183. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnRecords.js +4 -4
  184. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnStore.js +22 -116
  185. package/dist/esm/router/cloudflare/runtime/createSelfHostedCloudflareSigningWorker.js +1 -2
  186. package/dist/esm/router/cloudflare/runtime/walletConsoleTenantRootLineage.js +11 -2
  187. package/dist/esm/router/cloudflare/runtime/walletGateway.js +1 -1
  188. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.js +5 -6
  189. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.js +2 -1
  190. package/dist/esm/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.js +48 -21
  191. package/dist/esm/router/cloudflare.js +11480 -12853
  192. package/dist/esm/router/domains/ecdsa/routerAbEcdsaStrictRegistration.js +16 -5
  193. package/dist/esm/router/domains/ecdsa/thresholdEcdsaRequestValidation.js +2 -8
  194. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoLifecycleDecision.js +33 -0
  195. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.js +17 -9
  196. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.js +29 -431
  197. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.js +7 -2
  198. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRunner.js +2 -1
  199. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.js +70 -2
  200. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.js +134 -169
  201. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.js +77 -162
  202. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.js +205 -51
  203. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.js +29 -11
  204. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.js +182 -55
  205. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.js +2 -1
  206. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.js +63 -247
  207. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.js +3 -2
  208. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationRequestScopedCloudflare.js +87 -132
  209. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationTwoPhaseRunner.js +5 -4
  210. package/dist/esm/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.js +45 -0
  211. package/dist/esm/router/domains/ed25519Yao/session/thresholdEd25519RequestValidation.js +1 -1
  212. package/dist/esm/router/domains/emailOtp/emailOtpExportPolicy.js +1 -42
  213. package/dist/esm/router/domains/emailOtp/emailOtpRequestValidation.js +1 -6
  214. package/dist/esm/router/domains/emailOtp/emailOtpSessionRouteHelpers.js +1 -142
  215. package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrievalRoute.js +1 -1
  216. package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationCommit.js +2 -2
  217. package/dist/esm/router/domains/passkeyCustody/walletRecoveryFinalization.js +23 -45
  218. package/dist/esm/router/domains/passkeyCustody/walletRecoveryKeyManifest.js +5 -5
  219. package/dist/esm/router/domains/signingOperations/ed25519AuthorizedOperationReceipt.js +1 -1
  220. package/dist/esm/router/domains/signingOperations/routerAbEcdsaDerivationNormalSigningRoute.js +827 -0
  221. package/dist/esm/router/domains/signingOperations/routerAbEd25519NormalSigningRoute.js +698 -0
  222. package/dist/esm/router/domains/signingOperations/routerAbNormalSigningAdmission.js +209 -0
  223. package/dist/esm/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.js +16 -15
  224. package/dist/esm/router/domains/signingOperations/routerAbOperationStepUp.js +313 -0
  225. package/dist/esm/router/domains/signingOperations/routerAbPrivateSigningWorker.js +62 -2159
  226. package/dist/esm/router/domains/tenantRoot/tenantRootIdentityResolution.js +1 -1
  227. package/dist/esm/router/domains/walletRegistration/walletRegistrationRoutes.js +18 -22
  228. package/dist/esm/router/domains/walletRegistration/walletRegistrationSetupPayload.js +3 -4
  229. package/dist/esm/router/domains/walletUnlock/walletUnlockRequestedCapabilitiesValidation.js +2 -2
  230. package/dist/esm/router/domains/walletUnlock/walletUnlockRouteHandlers.js +97 -150
  231. package/dist/esm/router/express.js +5967 -6410
  232. package/dist/esm/router/framework/http.js +1 -4
  233. package/dist/esm/router/framework/ror/normalize.js +1 -1
  234. package/dist/esm/router/framework/routerApiRouteSurface.js +1 -1
  235. package/dist/esm/router/node/nodeHostedWalletGateway.js +64 -0
  236. package/dist/esm/router/node/nodeHostedWalletGatewayCheck.js +163 -0
  237. package/dist/esm/router/node/nodeHostedWalletGatewayMain.js +120 -0
  238. package/dist/esm/router/node/nodeHttp.js +79 -0
  239. package/dist/esm/router/node/nodeSqlite.js +43 -0
  240. package/dist/esm/router/node/signerSqlMigrations.js +48 -0
  241. package/dist/esm/router/transport/fetch/createFetchRouter.js +1 -1
  242. package/dist/esm/router/transport/fetch/routes/deviceLinking.js +16 -18
  243. package/dist/esm/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.js +3 -5
  244. package/dist/esm/router/transport/fetch/routes/deviceManagement.js +15 -24
  245. package/dist/esm/router/transport/fetch/routes/normalSigningRouterProxy.js +3 -16
  246. package/dist/esm/router/transport/fetch/routes/passkeyCustody.js +144 -461
  247. package/dist/esm/router/transport/fetch/routes/sessions.js +4 -4
  248. package/dist/esm/router/transport/fetch/routes/syncAccount.js +4 -6
  249. package/dist/esm/router/transport/fetch/routes/syncAccountBootstrap.js +2 -2
  250. package/dist/esm/router/transport/fetch/routes/thresholdEcdsa.js +69 -23
  251. package/dist/esm/router/transport/fetch/routes/thresholdEd25519.js +52 -27
  252. package/dist/esm/shared-ts/src/authorization/capabilityKinds.js +1 -1
  253. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +1 -1
  254. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +1 -2
  255. package/dist/esm/shared-ts/src/authorization/walletAuthority.js +99 -227
  256. package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +4 -6
  257. package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +74 -0
  258. package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +50 -0
  259. package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +8 -9
  260. package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +3 -1
  261. package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +55 -0
  262. package/dist/esm/shared-ts/src/device-linking/digests.js +10 -65
  263. package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +3 -1
  264. package/dist/esm/shared-ts/src/device-linking/index.js +4 -1
  265. package/dist/esm/shared-ts/src/device-linking/parsers.js +510 -1063
  266. package/dist/esm/shared-ts/src/device-linking/requestProof.js +5 -14
  267. package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +6 -9
  268. package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +9 -9
  269. package/dist/esm/shared-ts/src/device-linking/wireFields.js +59 -0
  270. package/dist/esm/shared-ts/src/near/nearClient.js +252 -0
  271. package/dist/esm/shared-ts/src/passkey-custody/credentialActivity.js +3 -1
  272. package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +7 -5
  273. package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +6 -4
  274. package/dist/esm/shared-ts/src/passkey-custody/primitives.js +5 -39
  275. package/dist/esm/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.js +1 -5
  276. package/dist/esm/shared-ts/src/signing-lanes/index.js +3 -3
  277. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +5 -12
  278. package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +5 -14
  279. package/dist/esm/shared-ts/src/signing-lanes/participants.js +2 -5
  280. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +7 -5
  281. package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +6 -45
  282. package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +423 -1511
  283. package/dist/esm/shared-ts/src/signing-lanes/rotationProtocolParsers.js +323 -0
  284. package/dist/esm/shared-ts/src/signing-lanes/rotationWireFields.js +59 -0
  285. package/dist/esm/shared-ts/src/tenant-root/tenantRootOperationRecord.js +1 -1
  286. package/dist/esm/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.js +1 -2
  287. package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +49 -0
  288. package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +3 -4
  289. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +8 -1
  290. package/dist/esm/shared-ts/src/utils/digestEncoding.js +63 -0
  291. package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +2 -2
  292. package/dist/esm/shared-ts/src/utils/exactRecord.js +44 -0
  293. package/dist/esm/shared-ts/src/utils/registrationAuthMethodInput.js +127 -0
  294. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +2 -2
  295. package/dist/esm/shared-ts/src/utils/registrationIds.js +280 -0
  296. package/dist/esm/shared-ts/src/utils/registrationIntent.js +4 -1170
  297. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +429 -0
  298. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +11 -136
  299. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +3 -163
  300. package/dist/esm/shared-ts/src/utils/routerAbEd25519YaoDigests.js +160 -0
  301. package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -4
  302. package/dist/esm/shared-ts/src/utils/routerAbPublicKeyset.js +7 -15
  303. package/dist/esm/shared-ts/src/utils/validation.js +37 -6
  304. package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +362 -0
  305. package/dist/esm/shared-ts/src/utils/wireSchema.js +77 -0
  306. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +1 -1
  307. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +1 -1
  308. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +7 -11
  309. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +4 -8
  310. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -1
  311. package/dist/esm/storage/d1Sql.js +10 -1
  312. package/dist/esm/storage/syncSqlite.js +79 -0
  313. package/dist/esm/threshold/session/signingSessionSeal/crypto/cipher.js +1 -1
  314. package/dist/esm/threshold/session/signingSessionSeal/crypto/shamir3PassWasm.js +1 -1
  315. package/dist/esm/threshold/session/signingSessionSeal/idempotencyRecords.js +1 -2
  316. package/dist/esm/threshold/session/signingSessionSeal/options.js +1 -1
  317. package/dist/esm/threshold/session/signingSessionSeal/transport/shared.js +18 -55
  318. package/dist/esm/threshold/statusCodes.js +1 -1
  319. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +3 -3
  320. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  321. package/dist/esm/wasm/router_ab_ecdsa_signing_worker/pkg/router_ab_ecdsa_signing_worker_bg.wasm +0 -0
  322. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +8 -26
  323. package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +0 -8
  324. package/dist/types/shared-ts/src/authorization/operationFingerprint.d.ts +1 -3
  325. package/dist/types/shared-ts/src/authorization/walletAuthority.d.ts +25 -12
  326. package/dist/types/shared-ts/src/authorization/walletSessionIssuance.d.ts +2 -1
  327. package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +3 -2
  328. package/dist/types/shared-ts/src/device-linking/authorityActivation.d.ts +5 -0
  329. package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +2 -5
  330. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +8 -11
  331. package/dist/types/shared-ts/src/device-linking/contracts.typecheck.d.ts +2 -1
  332. package/dist/types/shared-ts/src/device-linking/deviceManagement.d.ts +7 -0
  333. package/dist/types/shared-ts/src/device-linking/digests.d.ts +0 -5
  334. package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +3 -2
  335. package/dist/types/shared-ts/src/device-linking/index.d.ts +2 -0
  336. package/dist/types/shared-ts/src/device-linking/parsers.d.ts +4 -41
  337. package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +0 -1
  338. package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +3 -2
  339. package/dist/types/shared-ts/src/device-linking/walletSessionCredentialDelivery.d.ts +2 -1
  340. package/dist/types/shared-ts/src/device-linking/wireFields.d.ts +26 -0
  341. package/dist/types/shared-ts/src/near/actions.d.ts +4 -4
  342. package/dist/types/shared-ts/src/near/delegate.d.ts +3 -2
  343. package/dist/types/shared-ts/src/near/nearClient.d.ts +145 -0
  344. package/dist/types/shared-ts/src/passkey-custody/ceremonyCommitPayload.d.ts +0 -22
  345. package/dist/types/shared-ts/src/passkey-custody/credentialActivity.d.ts +2 -4
  346. package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +9 -18
  347. package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +8 -24
  348. package/dist/types/shared-ts/src/passkey-custody/index.d.ts +0 -2
  349. package/dist/types/shared-ts/src/passkey-custody/primitives.d.ts +0 -14
  350. package/dist/types/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.d.ts +0 -15
  351. package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +2 -51
  352. package/dist/types/shared-ts/src/signing-lanes/index.d.ts +1 -2
  353. package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +1 -2
  354. package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +5 -27
  355. package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +0 -11
  356. package/dist/types/shared-ts/src/signing-lanes/recordParsers.d.ts +6 -53
  357. package/dist/types/shared-ts/src/signing-lanes/records.d.ts +1 -2
  358. package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +15 -37
  359. package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +1 -20
  360. package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +4 -25
  361. package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +1 -41
  362. package/dist/types/shared-ts/src/signing-lanes/rotationProtocolParsers.d.ts +6 -0
  363. package/dist/types/shared-ts/src/signing-lanes/rotationWireFields.d.ts +20 -0
  364. package/dist/types/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.d.ts +2 -35
  365. package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +8 -35
  366. package/dist/types/shared-ts/src/threshold/keyMaterialBrands.d.ts +25 -0
  367. package/dist/types/shared-ts/src/threshold/participants.d.ts +3 -9
  368. package/dist/types/shared-ts/src/threshold/secp256k1.d.ts +0 -37
  369. package/dist/types/shared-ts/src/threshold/sessionPolicy.d.ts +24 -0
  370. package/dist/types/shared-ts/src/threshold/signingRootScope.d.ts +2 -5
  371. package/dist/types/shared-ts/src/utils/addAuthMethodRegistration.d.ts +3 -4
  372. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +7 -108
  373. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +16 -3
  374. package/dist/types/shared-ts/src/utils/canonicalPrimitives.d.ts +2 -0
  375. package/dist/types/shared-ts/src/utils/digestEncoding.d.ts +9 -0
  376. package/dist/types/shared-ts/src/utils/domainIds.d.ts +1 -2
  377. package/dist/types/shared-ts/src/utils/ecdsaKeyFactsInventory.d.ts +1 -2
  378. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +5 -5
  379. package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +0 -2
  380. package/dist/types/shared-ts/src/utils/errors.d.ts +0 -7
  381. package/dist/types/shared-ts/src/utils/exactRecord.d.ts +12 -0
  382. package/dist/types/shared-ts/src/utils/index.d.ts +5 -2
  383. package/dist/types/shared-ts/src/utils/jsonRpc.d.ts +3 -2
  384. package/dist/types/shared-ts/src/utils/near.d.ts +2 -1
  385. package/dist/types/shared-ts/src/utils/nearRpcResults.d.ts +7 -7
  386. package/dist/types/shared-ts/src/utils/normalize.d.ts +0 -4
  387. package/dist/types/shared-ts/src/utils/registrationAuthMethodInput.d.ts +184 -0
  388. package/dist/types/shared-ts/src/utils/registrationContracts.d.ts +76 -0
  389. package/dist/types/shared-ts/src/utils/registrationEstablishedSession.d.ts +1 -2
  390. package/dist/types/shared-ts/src/utils/registrationIds.d.ts +56 -0
  391. package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +9 -514
  392. package/dist/types/shared-ts/src/utils/registrationSignerPlan.d.ts +142 -0
  393. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +21 -92
  394. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +14 -99
  395. package/dist/types/shared-ts/src/utils/routerAbEd25519YaoDigests.d.ts +39 -0
  396. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +10 -15
  397. package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +2 -1
  398. package/dist/types/shared-ts/src/utils/secureRandomId.d.ts +0 -2
  399. package/dist/types/shared-ts/src/utils/signerDomain.d.ts +3 -35
  400. package/dist/types/shared-ts/src/utils/signerSlot.d.ts +0 -4
  401. package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +1 -7
  402. package/dist/types/shared-ts/src/utils/validation.d.ts +10 -10
  403. package/dist/types/shared-ts/src/utils/variant.d.ts +11 -0
  404. package/dist/types/shared-ts/src/utils/variant.typecheck.d.ts +22 -0
  405. package/dist/types/shared-ts/src/utils/walletAddSignerActivation.d.ts +2 -2
  406. package/dist/types/shared-ts/src/utils/walletAuthAuthority.d.ts +1 -58
  407. package/dist/types/shared-ts/src/utils/walletAuthMethodRecord.d.ts +104 -0
  408. package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +3 -7
  409. package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +3 -4
  410. package/dist/types/shared-ts/src/utils/wireSchema.d.ts +60 -0
  411. package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +2 -1
  412. package/dist/types/shared-ts/src/wallet-recovery/index.d.ts +0 -1
  413. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeLocator.d.ts +0 -16
  414. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +2 -11
  415. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.d.ts +6 -18
  416. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.d.ts +0 -2
  417. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.d.ts +1 -3
  418. package/dist/types/wallet-server/src/authorization/capabilityPolicy.d.ts +0 -1
  419. package/dist/types/wallet-server/src/authorization/domain.d.ts +25 -5
  420. package/dist/types/wallet-server/src/authorization/ecdsaWalletSessionAdmission.d.ts +37 -0
  421. package/dist/types/wallet-server/src/authorization/ecdsaWalletSessionAdmission.typecheck.d.ts +2 -0
  422. package/dist/types/wallet-server/src/authorization/factorEvidence.d.ts +6 -7
  423. package/dist/types/wallet-server/src/authorization/service.d.ts +52 -3
  424. package/dist/types/wallet-server/src/cloud-host.d.ts +6 -2
  425. package/dist/types/wallet-server/src/core/EmailOtpRecords.d.ts +10 -1
  426. package/dist/types/wallet-server/src/core/EmailOtpStores.d.ts +16 -116
  427. package/dist/types/wallet-server/src/core/IdentityStore.d.ts +2 -7
  428. package/dist/types/wallet-server/src/core/NearPublicKeyStore.d.ts +6 -16
  429. package/dist/types/wallet-server/src/core/RegistrationCeremonyStore.d.ts +29 -90
  430. package/dist/types/wallet-server/src/core/ThresholdService/config.d.ts +0 -12
  431. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.d.ts +10 -3
  432. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.d.ts +17 -48
  433. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/internalServiceHttp.d.ts +2 -1
  434. package/dist/types/wallet-server/src/core/ThresholdService/stores/CloudflareDurableObjectStore.d.ts +4 -71
  435. package/dist/types/wallet-server/src/core/ThresholdService/stores/KeyStore.d.ts +2 -1
  436. package/dist/types/wallet-server/src/core/ThresholdService/stores/SessionStore.d.ts +4 -8
  437. package/dist/types/wallet-server/src/core/ThresholdService/stores/StoreConfig.d.ts +2 -1
  438. package/dist/types/wallet-server/src/core/ThresholdService/stores/WalletSessionStore.d.ts +1 -3
  439. package/dist/types/wallet-server/src/core/ThresholdService/validation.d.ts +14 -47
  440. package/dist/types/wallet-server/src/core/WalletAuthMethodStore.d.ts +2 -7
  441. package/dist/types/wallet-server/src/core/WalletStore.d.ts +3 -8
  442. package/dist/types/wallet-server/src/core/WebAuthnAuthenticatorStore.d.ts +7 -22
  443. package/dist/types/wallet-server/src/core/WebAuthnCredentialBindingStore.d.ts +14 -36
  444. package/dist/types/wallet-server/src/core/WebAuthnLoginChallengeStore.d.ts +9 -34
  445. package/dist/types/wallet-server/src/core/WebAuthnSyncChallengeStore.d.ts +9 -34
  446. package/dist/types/wallet-server/src/core/authService/AuthService.d.ts +0 -3
  447. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeOperations.d.ts +6 -5
  448. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeProof.d.ts +9 -17
  449. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeVerification.d.ts +3 -2
  450. package/dist/types/wallet-server/src/core/authService/emailOtpChallenges.d.ts +7 -23
  451. package/dist/types/wallet-server/src/core/authService/emailOtpConfig.d.ts +3 -10
  452. package/dist/types/wallet-server/src/core/authService/emailOtpDelivery.d.ts +4 -3
  453. package/dist/types/wallet-server/src/core/authService/emailOtpGrant.d.ts +4 -3
  454. package/dist/types/wallet-server/src/core/authService/emailOtpRegistrationEnrollment.d.ts +3 -70
  455. package/dist/types/wallet-server/src/core/authService/emailOtpSeal.d.ts +3 -2
  456. package/dist/types/wallet-server/src/core/authService/emailOtpUnlock.d.ts +4 -3
  457. package/dist/types/wallet-server/src/core/authService/googleEmailOtpRegistration.d.ts +5 -8
  458. package/dist/types/wallet-server/src/core/authService/nearPrivateKeySigning.d.ts +3 -2
  459. package/dist/types/wallet-server/src/core/authService/nearPublicKeyMetadata.d.ts +2 -1
  460. package/dist/types/wallet-server/src/core/authService/nearTransactions.d.ts +2 -1
  461. package/dist/types/wallet-server/src/core/authService/oidcVerification.d.ts +4 -3
  462. package/dist/types/wallet-server/src/core/authService/rateLimits.d.ts +0 -3
  463. package/dist/types/wallet-server/src/core/authService/registrationThresholdHelpers.d.ts +0 -26
  464. package/dist/types/wallet-server/src/core/authService/storeRegistry.d.ts +0 -5
  465. package/dist/types/wallet-server/src/core/authService/thresholdEcdsaKeyInventory.d.ts +0 -23
  466. package/dist/types/wallet-server/src/core/authService/webauthn.d.ts +8 -16
  467. package/dist/types/wallet-server/src/core/authService/webauthnOidcHelpers.d.ts +7 -7
  468. package/dist/types/wallet-server/src/core/authService/webauthnVerificationOutcomes.d.ts +43 -0
  469. package/dist/types/wallet-server/src/core/authService/webauthnWalletBinding.d.ts +1 -28
  470. package/dist/types/wallet-server/src/core/d1IdentityStore.d.ts +6 -16
  471. package/dist/types/wallet-server/src/core/d1TenantStore.d.ts +51 -0
  472. package/dist/types/wallet-server/src/core/d1WalletAuthMethodStore.d.ts +11 -29
  473. package/dist/types/wallet-server/src/core/d1WalletStore.d.ts +6 -1
  474. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceEd25519ExportRoot.d.ts +2 -1
  475. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceEmailOtpGrant.d.ts +2 -1
  476. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceManagement.d.ts +44 -26
  477. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSession.d.ts +19 -217
  478. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSessionApproval.d.ts +8 -0
  479. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSessionRecord.d.ts +259 -0
  480. package/dist/types/wallet-server/src/core/deviceLinking/requestProof.d.ts +2 -2
  481. package/dist/types/wallet-server/src/core/emailOtpD1Statements.d.ts +54 -0
  482. package/dist/types/wallet-server/src/core/hostedAccountIds.d.ts +0 -15
  483. package/dist/types/wallet-server/src/core/keyMaterialBrands.d.ts +4 -24
  484. package/dist/types/wallet-server/src/core/nearRelayerAccountProvisioning.d.ts +2 -3
  485. package/dist/types/wallet-server/src/core/nearSignerWasmRuntime.d.ts +0 -1
  486. package/dist/types/wallet-server/src/core/registrationContracts.d.ts +37 -108
  487. package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbNormalSigningRuntime.d.ts +5 -4
  488. package/dist/types/wallet-server/src/core/rpcClients/near/NearClient.d.ts +10 -106
  489. package/dist/types/wallet-server/src/core/signingLanes/LaneAggregateRevocationApplicationService.d.ts +4 -3
  490. package/dist/types/wallet-server/src/core/signingLanes/LaneEffectJournalStore.d.ts +2 -3
  491. package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleStore.d.ts +2 -3
  492. package/dist/types/wallet-server/src/core/signingLanes/WalletExecutionLaneProjection.d.ts +3 -9
  493. package/dist/types/wallet-server/src/core/signingLanes/ecdsaServerRetirement.d.ts +4 -4
  494. package/dist/types/wallet-server/src/core/signingLanes/ed25519ServerRetirement.d.ts +3 -3
  495. package/dist/types/wallet-server/src/core/storeBackends.d.ts +83 -0
  496. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.d.ts +13 -59
  497. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.typecheck.d.ts +51 -3
  498. package/dist/types/wallet-server/src/core/thresholdEcdsaChainTarget.d.ts +0 -1
  499. package/dist/types/wallet-server/src/core/types.d.ts +3 -24
  500. package/dist/types/wallet-server/src/core/webAuthnD1Statements.d.ts +29 -0
  501. package/dist/types/wallet-server/src/core/webAuthnStoreBackends.d.ts +96 -0
  502. package/dist/types/wallet-server/src/hosted-wallet-gateway.d.ts +11 -7
  503. package/dist/types/wallet-server/src/index.d.ts +1 -1
  504. package/dist/types/wallet-server/src/local-hosted-wallet-gateway-worker.d.ts +1 -4
  505. package/dist/types/wallet-server/src/localHostedWalletGatewayHandler.d.ts +12 -0
  506. package/dist/types/wallet-server/src/localIntendedEcdsaFinalizeFault.d.ts +33 -0
  507. package/dist/types/wallet-server/src/localIntendedLinkExecuteFault.d.ts +47 -0
  508. package/dist/types/wallet-server/src/localIntendedRevokeFault.d.ts +40 -0
  509. package/dist/types/wallet-server/src/localIntendedSessionAdmissionFault.d.ts +41 -0
  510. package/dist/types/wallet-server/src/localIntendedYaoExportFault.d.ts +41 -0
  511. package/dist/types/wallet-server/src/localIntendedYaoFault.d.ts +7 -1
  512. package/dist/types/wallet-server/src/localIntendedYaoFinalizeFault.d.ts +37 -0
  513. package/dist/types/wallet-server/src/localIntendedYaoRecoveryFault.d.ts +45 -0
  514. package/dist/types/wallet-server/src/localIntendedYaoSigningFault.d.ts +51 -0
  515. package/dist/types/wallet-server/src/router/auth/authRequestValidation.d.ts +10 -21
  516. package/dist/types/wallet-server/src/router/auth/commonRouterUtils.d.ts +5 -10
  517. package/dist/types/wallet-server/src/router/auth/walletSessionFailure.d.ts +1 -4
  518. package/dist/types/wallet-server/src/router/auth/webAuthnCredentialCodecs.d.ts +3 -2
  519. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1AuthorizedOperationRouteService.d.ts +12 -0
  520. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthBoundary.d.ts +3 -2
  521. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthConfig.d.ts +2 -2
  522. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthService.d.ts +1 -1
  523. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/authorizedOperationStatements.d.ts +30 -0
  524. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/d1AuthorizationStore.d.ts +45 -21
  525. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/persistedWalletSessionAuthorization.d.ts +3 -0
  526. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/walletSessionAuthorityProjection.d.ts +2 -1
  527. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.d.ts +57 -6
  528. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.d.ts +2 -3
  529. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.d.ts +8 -21
  530. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.d.ts +14 -1
  531. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRevocation.d.ts +49 -0
  532. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.d.ts +1 -1
  533. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.d.ts +4 -2
  534. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSourceContributionPreparationPlanner.d.ts +1 -1
  535. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.d.ts +2 -2
  536. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.d.ts +8 -4
  537. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkBuilder.d.ts +3 -5
  538. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/installedEcdsaAuthority.d.ts +7 -0
  539. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.d.ts +1 -2
  540. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoLifecycleDecisionStore.d.ts +33 -0
  541. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.d.ts +1 -1
  542. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.d.ts +13 -3
  543. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.d.ts +24 -5
  544. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.d.ts +2 -3
  545. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.d.ts +1 -3
  546. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.d.ts +3 -4
  547. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.d.ts +9 -8
  548. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.d.ts +0 -2
  549. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.d.ts +5 -4
  550. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.d.ts +1 -3
  551. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.d.ts +3 -21
  552. package/dist/types/wallet-server/src/router/cloudflare/d1/identity/d1IdentityRecords.d.ts +0 -23
  553. package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1NearPublicKeyStore.d.ts +1 -2
  554. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyEnvelopeStore.d.ts +11 -19
  555. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.d.ts +5 -54
  556. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.d.ts +7 -19
  557. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpRecords.d.ts +4 -3
  558. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpService.d.ts +8 -12
  559. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.d.ts +5 -8
  560. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.d.ts +10 -22
  561. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.d.ts +6 -2
  562. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.d.ts +10 -6
  563. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationService.d.ts +15 -22
  564. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetup.d.ts +5 -3
  565. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.d.ts +4 -3
  566. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.d.ts +5 -5
  567. package/dist/types/wallet-server/src/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.d.ts +3 -5
  568. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.d.ts +0 -1
  569. package/dist/types/wallet-server/src/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.d.ts +0 -16
  570. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.d.ts +29 -14
  571. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodBoundary.d.ts +15 -12
  572. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodRevocationReplayStore.d.ts +71 -0
  573. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodService.d.ts +34 -24
  574. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorityStore.d.ts +44 -26
  575. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnRecords.d.ts +3 -7
  576. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnStore.d.ts +8 -19
  577. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleTenantRootLineage.d.ts +2 -1
  578. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletGateway.d.ts +1 -0
  579. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.d.ts +15 -2
  580. package/dist/types/wallet-server/src/router/cloudflare-adaptor.d.ts +2 -2
  581. package/dist/types/wallet-server/src/router/domains/ecdsa/routerAbEcdsaStrictRegistration.d.ts +9 -7
  582. package/dist/types/wallet-server/src/router/domains/ecdsa/thresholdEcdsaRequestValidation.d.ts +4 -4
  583. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoLifecycleDecision.d.ts +46 -0
  584. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.d.ts +5 -3
  585. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.d.ts +20 -79
  586. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.d.ts +2 -0
  587. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRunner.d.ts +1 -1
  588. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.d.ts +4 -3
  589. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.d.ts +62 -42
  590. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.d.ts +108 -32
  591. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryActivation.typecheck.d.ts +5 -0
  592. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.d.ts +36 -5
  593. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.d.ts +5 -4
  594. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.d.ts +41 -50
  595. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.d.ts +2 -2
  596. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationRequestScopedCloudflare.d.ts +3 -3
  597. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.d.ts +6 -5
  598. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationTwoPhaseRunner.d.ts +14 -4
  599. package/dist/types/wallet-server/src/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.d.ts +12 -1
  600. package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/routerAbEd25519YaoWalletSession.d.ts +5 -5
  601. package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/thresholdEd25519RequestValidation.d.ts +3 -4
  602. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpExportPolicy.d.ts +2 -27
  603. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpRequestValidation.d.ts +1 -2
  604. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpRouteHandlers.d.ts +2 -1
  605. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpSessionRouteHelpers.d.ts +2 -102
  606. package/dist/types/wallet-server/src/router/domains/passkeyCustody/envelopeRevocationAdmission.d.ts +2 -1
  607. package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.d.ts +3 -2
  608. package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrievalRoute.d.ts +1 -9
  609. package/dist/types/wallet-server/src/router/domains/passkeyCustody/registrationCustodyOutcome.d.ts +2 -1
  610. package/dist/types/wallet-server/src/router/domains/passkeyCustody/verifiedCustodyFactor.d.ts +2 -1
  611. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationAdmission.d.ts +2 -1
  612. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationCommit.d.ts +2 -28
  613. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryFinalization.d.ts +43 -1
  614. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryKeyManifest.d.ts +7 -7
  615. package/dist/types/wallet-server/src/router/domains/signingOperations/ed25519AuthorizedOperationReceipt.d.ts +0 -3
  616. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbEcdsaDerivationNormalSigningRoute.d.ts +165 -0
  617. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbEd25519NormalSigningRoute.d.ts +110 -0
  618. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmission.d.ts +360 -0
  619. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.d.ts +11 -10
  620. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.typecheck.d.ts +2 -0
  621. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbOperationStepUp.d.ts +165 -0
  622. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbPrivateSigningWorker.d.ts +16 -702
  623. package/dist/types/wallet-server/src/router/domains/signingOperations/walletExecutionAdmission.d.ts +5 -12
  624. package/dist/types/wallet-server/src/router/domains/syncAccount/syncAccountRequestValidation.d.ts +5 -4
  625. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootCustodyLineage.d.ts +6 -1
  626. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootIdentityResolution.d.ts +4 -7
  627. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationInputs.d.ts +2 -1
  628. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationRoutes.d.ts +8 -8
  629. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationSetupPayload.d.ts +4 -4
  630. package/dist/types/wallet-server/src/router/domains/walletUnlock/walletUnlockRequestedCapabilitiesValidation.d.ts +4 -4
  631. package/dist/types/wallet-server/src/router/domains/walletUnlock/walletUnlockRouteHandlers.d.ts +4 -62
  632. package/dist/types/wallet-server/src/router/express-adaptor.d.ts +2 -2
  633. package/dist/types/wallet-server/src/router/framework/authServicePort.d.ts +64 -61
  634. package/dist/types/wallet-server/src/router/framework/http.d.ts +0 -1
  635. package/dist/types/wallet-server/src/router/framework/ror/normalize.d.ts +2 -2
  636. package/dist/types/wallet-server/src/router/framework/routeMeteringPolicy.d.ts +3 -2
  637. package/dist/types/wallet-server/src/router/framework/routerApi.d.ts +1 -1
  638. package/dist/types/wallet-server/src/router/framework/routerApiRouteSurface.d.ts +3 -3
  639. package/dist/types/wallet-server/src/router/node/nodeHostedWalletGateway.d.ts +34 -0
  640. package/dist/types/wallet-server/src/router/node/nodeHostedWalletGatewayCheck.d.ts +21 -0
  641. package/dist/types/wallet-server/src/router/node/nodeHostedWalletGatewayMain.d.ts +2 -0
  642. package/dist/types/wallet-server/src/router/node/nodeHttp.d.ts +13 -0
  643. package/dist/types/wallet-server/src/router/node/nodeSqlite.d.ts +22 -0
  644. package/dist/types/wallet-server/src/router/node/signerSqlMigrations.d.ts +20 -0
  645. package/dist/types/wallet-server/src/router/transport/fetch/createFetchRouter.d.ts +1 -3
  646. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinking.d.ts +5 -6
  647. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.d.ts +2 -2
  648. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceManagement.d.ts +14 -16
  649. package/dist/types/wallet-server/src/router/transport/fetch/routes/normalSigningRouterProxy.d.ts +0 -12
  650. package/dist/types/wallet-server/src/router/transport/fetch/routes/passkeyCustody.d.ts +1 -1
  651. package/dist/types/wallet-server/src/router/transport/fetch/routes/sessions.d.ts +2 -1
  652. package/dist/types/wallet-server/src/router/transport/fetch/routes/syncAccountBootstrap.d.ts +7 -13
  653. package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEcdsa.d.ts +3 -57
  654. package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEd25519.d.ts +0 -44
  655. package/dist/types/wallet-server/src/storage/d1Sql.d.ts +7 -0
  656. package/dist/types/wallet-server/src/storage/syncSqlite.d.ts +28 -0
  657. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/crypto/shamir3PassWasm.d.ts +0 -1
  658. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/idempotencyRecords.d.ts +5 -6
  659. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/transport/shared.d.ts +1 -0
  660. package/dist/types/wallet-server/src/threshold/statusCodes.d.ts +4 -4
  661. package/migrations/d1-signer/0036_r150_yao_lifecycle_decisions.sql +22 -0
  662. package/migrations/d1-signer/0037_r150_wallet_auth_method_revocation_replays.sql +26 -0
  663. package/migrations/d1-signer/0038_r150_registration_ceremony_cas_guard_seed.sql +8 -0
  664. package/migrations/d1-signer/0039_r150_revocation_replay_answer_kind.sql +9 -0
  665. package/package.json +1 -1
  666. package/dist/esm/core/ThresholdService/ecdsaClientRootProof.js +0 -27
  667. package/dist/esm/core/ThresholdService/routerAbEcdsaSigningWorkerWasm.js +0 -115
  668. package/dist/esm/core/ThresholdService/secureRandomId.js +0 -9
  669. package/dist/esm/core/authService/record.js +0 -8
  670. package/dist/esm/core/authService/thresholdRuntimePolicy.js +0 -19
  671. package/dist/esm/core/authService/walletRegistrationPlanning.js +0 -49
  672. package/dist/esm/core/deviceLinking/index.js +0 -5
  673. package/dist/esm/core/errors.js +0 -54
  674. package/dist/esm/core/routerAbSigning/createCloudflareDurableObjectRouterAbSigningRuntimes.js +0 -39
  675. package/dist/esm/core/signingLanes/WalletKeyStore.js +0 -0
  676. package/dist/esm/core/signingLanes/index.js +0 -8
  677. package/dist/esm/router/domains/tenantRoot/tenantRootEcdsaWalletSessionComposition.js +0 -55
  678. package/dist/esm/router/domains/tenantRoot/tenantRootEd25519WalletSessionComposition.js +0 -56
  679. package/dist/esm/shared-ts/src/signing-lanes/linkedEcdsaScope.js +0 -1
  680. package/dist/esm/wasm/router_ab_ecdsa_signing_worker/pkg/router_ab_ecdsa_signing_worker.js +0 -414
  681. package/dist/types/shared-ts/src/passkey-custody/credentialObservations.d.ts +0 -74
  682. package/dist/types/shared-ts/src/passkey-custody/kekContext.d.ts +0 -34
  683. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.d.ts +0 -62
  684. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.typecheck.d.ts +0 -2
  685. package/dist/types/shared-ts/src/signing-lanes/validation.d.ts +0 -11
  686. package/dist/types/shared-ts/src/utils/bigint.d.ts +0 -3
  687. package/dist/types/shared-ts/src/utils/paillier.d.ts +0 -37
  688. package/dist/types/shared-ts/src/utils/recoveryDomain.d.ts +0 -12
  689. package/dist/types/shared-ts/src/utils/signerDomain.typecheck.d.ts +0 -2
  690. package/dist/types/shared-ts/src/wallet-recovery/recoveryKekContext.d.ts +0 -37
  691. package/dist/types/wallet-server/src/core/ThresholdService/ecdsaClientRootProof.d.ts +0 -12
  692. package/dist/types/wallet-server/src/core/ThresholdService/routerAbEcdsaSigningWorkerWasm.d.ts +0 -17
  693. package/dist/types/wallet-server/src/core/ThresholdService/secureRandomId.d.ts +0 -2
  694. package/dist/types/wallet-server/src/core/authService/record.d.ts +0 -2
  695. package/dist/types/wallet-server/src/core/authService/thresholdRuntimePolicy.d.ts +0 -4
  696. package/dist/types/wallet-server/src/core/authService/walletRegistrationPlanning.d.ts +0 -19
  697. package/dist/types/wallet-server/src/core/deviceLinking/index.d.ts +0 -5
  698. package/dist/types/wallet-server/src/core/errors.d.ts +0 -10
  699. package/dist/types/wallet-server/src/core/routerAbSigning/createCloudflareDurableObjectRouterAbSigningRuntimes.d.ts +0 -28
  700. package/dist/types/wallet-server/src/core/signingLanes/SigningLaneStore.d.ts +0 -15
  701. package/dist/types/wallet-server/src/core/signingLanes/WalletKeyStore.d.ts +0 -13
  702. package/dist/types/wallet-server/src/core/signingLanes/index.d.ts +0 -11
  703. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootEcdsaWalletSessionComposition.d.ts +0 -35
  704. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootEd25519WalletSessionComposition.d.ts +0 -35
  705. /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
  }
@@ -656,505 +32,6 @@ async function computeAddSignerIntentDigestB64u(intent) {
656
32
  async function computeAddAuthMethodIntentDigestB64u(intent) {
657
33
  return base64UrlEncode(await sha256BytesUtf8(serializeAddAuthMethodIntentV1(intent)));
658
34
  }
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;
1157
- }
1158
35
  function normalizeAddAuthMethodIntentCaller(raw) {
1159
36
  const record = inspectRawObject(raw);
1160
37
  if (!record || !("caller" in record)) return null;
@@ -1219,50 +96,7 @@ function sameRegistrationIntentRuntimePolicyScope(left, right) {
1219
96
  function sameAddSignerIntentV1(left, right) {
1220
97
  return left.version === right.version && left.walletId === right.walletId && sameAddSignerSelectionV1(left.signerSelection, right.signerSelection) && sameRegistrationIntentRuntimePolicyScope(left.runtimePolicyScope, right.runtimePolicyScope) && left.nonceB64u === right.nonceB64u;
1221
98
  }
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
99
  //#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 };
100
+ export { addAuthMethodIntentGrantFromString, addSignerIntentGrantFromString, computeAddAuthMethodIntentDigestB64u, computeAddSignerIntentDigestB64u, computeRegistrationIntentDigestB64u, normalizeAddAuthMethodIntentCaller, registrationIntentGrantFromString, sameAddSignerIntentV1 };
1267
101
 
1268
102
  //# sourceMappingURL=registrationIntent.js.map