@seams/wallet 0.6.1 → 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 (1456) hide show
  1. package/dist/.build-inputs.sha256 +1 -1
  2. package/dist/esm/SeamsWeb/SeamsWeb.js +33 -93
  3. package/dist/esm/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +25 -5
  4. package/dist/esm/SeamsWeb/assembly/createBrowserSigningStores.js +1 -2
  5. package/dist/esm/SeamsWeb/operations/auth/login.js +13 -37
  6. package/dist/esm/SeamsWeb/operations/auth/walletUnlockSubject.js +1 -1
  7. package/dist/esm/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +1 -1
  8. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +4 -3
  9. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/challenge.js +1 -1
  10. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +1 -1
  11. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +1 -1
  12. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +6 -15
  13. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +2 -2
  14. package/dist/esm/SeamsWeb/operations/authMethods/passkey/addPasskey.js +5 -4
  15. package/dist/esm/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +34 -0
  16. package/dist/esm/SeamsWeb/operations/authMethods/passkey/localPasskeyProjection.js +4 -42
  17. package/dist/esm/SeamsWeb/operations/authMethods/revokeAuthMethod.js +3 -2
  18. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +2 -2
  19. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +1 -1
  20. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +6 -5
  21. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +1 -1
  22. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingResume.js +3 -3
  23. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +2 -1
  24. package/dist/esm/SeamsWeb/operations/devices/linkDevice.js +1 -1671
  25. package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlow.js +1358 -0
  26. package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +143 -0
  27. package/dist/esm/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +119 -0
  28. package/dist/esm/SeamsWeb/operations/devices/scanDevice.js +1 -1
  29. package/dist/esm/SeamsWeb/operations/devices/walletHostComposition.js +13 -3
  30. package/dist/esm/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +12 -4
  31. package/dist/esm/SeamsWeb/operations/near/index.js +1 -1
  32. package/dist/esm/SeamsWeb/operations/near/signNEP413.js +1 -1
  33. package/dist/esm/SeamsWeb/operations/recovery/accountSync.js +1 -1
  34. package/dist/esm/SeamsWeb/operations/recovery/recoveryWalletBinding.js +1 -1
  35. package/dist/esm/SeamsWeb/operations/recovery/syncAccount.js +7 -7
  36. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCommit.js +6 -10
  37. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +4 -2
  38. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryRotation.js +2 -2
  39. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +39 -5
  40. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +21 -42
  41. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +3 -3
  42. package/dist/esm/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +2 -2
  43. package/dist/esm/SeamsWeb/operations/registration/registration.js +122 -87
  44. package/dist/esm/SeamsWeb/operations/registration/registrationEd25519Yao.js +37 -6
  45. package/dist/esm/SeamsWeb/operations/registration/registrationSignerSet.js +1 -1
  46. package/dist/esm/SeamsWeb/operations/registration/registrationStrictEcdsa.js +4 -3
  47. package/dist/esm/SeamsWeb/operations/registration/registrationTerminalCommit.js +1 -1
  48. package/dist/esm/SeamsWeb/operations/registration/registrationTiming.js +194 -539
  49. package/dist/esm/SeamsWeb/publicApi/awaitNearReady.js +3 -1
  50. package/dist/esm/SeamsWeb/publicApi/devices.js +1 -1
  51. package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +22 -24
  52. package/dist/esm/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +0 -4
  53. package/dist/esm/SeamsWeb/walletIframe/client/router.js +4 -3
  54. package/dist/esm/SeamsWeb/walletIframe/client/surface/geometry.js +6 -88
  55. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +1 -1
  56. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +26 -36
  57. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +3 -1
  58. package/dist/esm/SeamsWeb/walletIframe/shared/transactionReview.js +2 -4
  59. package/dist/esm/advanced.js +3 -2
  60. package/dist/esm/core/accountData/near/keyMaterial.js +2 -2
  61. package/dist/esm/core/config/chains.js +1 -0
  62. package/dist/esm/core/indexedDB/index.js +1 -7
  63. package/dist/esm/core/indexedDB/keyMaterialEnvelope.js +1 -5
  64. package/dist/esm/core/indexedDB/linkedAuthoritySignerMaterial.js +7 -14
  65. package/dist/esm/core/indexedDB/pendingWalletRecoveryCommit.js +2 -2
  66. package/dist/esm/core/indexedDB/pendingWalletRegistrationCommit.js +1 -1
  67. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +209 -0
  68. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +848 -0
  69. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +122 -1721
  70. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +235 -0
  71. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +60 -11
  72. package/dist/esm/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +198 -0
  73. package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +1 -1
  74. package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +6 -0
  75. package/dist/esm/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
  76. package/dist/esm/core/platform/browser/createBrowserPlatformRuntime.js +0 -43
  77. package/dist/esm/core/rpcClients/near/NearClient.js +20 -215
  78. package/dist/esm/core/rpcClients/near/rpcCalls.js +4 -4
  79. package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +57 -86
  80. package/dist/esm/core/rpcClients/relayer/thresholdEcdsa.js +1 -1
  81. package/dist/esm/core/rpcClients/relayer/walletRecoveryPrepare.js +6 -6
  82. package/dist/esm/core/rpcClients/relayer/walletRecoveryRotate.js +0 -1
  83. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +43 -61
  84. package/dist/esm/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +6 -12
  85. package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +1 -1
  86. package/dist/esm/core/signingEngine/assembly/ports/evmFamily.js +1 -1
  87. package/dist/esm/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -1
  88. package/dist/esm/core/signingEngine/chains/evm/display/evmTx.js +1 -6
  89. package/dist/esm/core/signingEngine/chains/evm/evmCryptoWasm.js +1 -36
  90. package/dist/esm/core/signingEngine/chains/near/display.js +14 -1
  91. package/dist/esm/core/signingEngine/chains/tempo/display.js +1 -6
  92. package/dist/esm/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +4 -4
  93. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportFlow.js +7 -8
  94. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +2 -2
  95. package/dist/esm/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +1 -1
  96. package/dist/esm/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +18 -26
  97. package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +245 -503
  98. package/dist/esm/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +8 -11
  99. package/dist/esm/core/signingEngine/flows/signEvmFamily/authPlanning.js +1 -1
  100. package/dist/esm/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +1 -1
  101. package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +1 -1
  102. package/dist/esm/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.js +2 -2
  103. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +1 -3
  104. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamilyWithUiConfirmForTempo.js +1 -1
  105. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmWithUiConfirm.js +1 -1
  106. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +1 -2
  107. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +4 -4
  108. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +42 -12
  109. package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +21 -2
  110. package/dist/esm/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +343 -0
  111. package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +66 -312
  112. package/dist/esm/core/signingEngine/flows/signNear/signNear.js +44 -48
  113. package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +58 -305
  114. package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +58 -22
  115. package/dist/esm/core/signingEngine/interfaces/accountAuthMetadata.js +0 -1
  116. package/dist/esm/core/signingEngine/nonce/nearNonceLane.js +0 -29
  117. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +14 -148
  118. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +2 -1
  119. package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +4 -4
  120. package/dist/esm/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +2 -2
  121. package/dist/esm/core/signingEngine/session/emailOtp/coordinatorRuntime.js +0 -2
  122. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLogin.js +2 -2
  123. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaPublication.js +3 -3
  124. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaRecovery.js +3 -3
  125. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.js +1 -1
  126. package/dist/esm/core/signingEngine/session/emailOtp/ed25519ExportContext.js +9 -16
  127. package/dist/esm/core/signingEngine/session/emailOtp/exportRecovery.js +2 -2
  128. package/dist/esm/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -9
  129. package/dist/esm/core/signingEngine/session/emailOtp/publicTypes.js +1 -2
  130. package/dist/esm/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -28
  131. package/dist/esm/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +1 -1
  132. package/dist/esm/core/signingEngine/session/emailOtp/walletUnlock.js +1 -1
  133. package/dist/esm/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +2 -2
  134. package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +1 -1
  135. package/dist/esm/core/signingEngine/session/identity/laneIdentity.js +5 -4
  136. package/dist/esm/core/signingEngine/session/identity/ownerLaneScope.js +1 -1
  137. package/dist/esm/core/signingEngine/session/keyMaterialBrands.js +2 -21
  138. package/dist/esm/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +41 -62
  139. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +6 -2
  140. package/dist/esm/core/signingEngine/session/material/ecdsaSealedRuntime.js +3 -3
  141. package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +1 -1
  142. package/dist/esm/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +1 -1
  143. package/dist/esm/core/signingEngine/session/operationState/authorizationAdmission.js +4 -4
  144. package/dist/esm/core/signingEngine/session/operationState/trace.js +10 -1
  145. package/dist/esm/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +1 -1
  146. package/dist/esm/core/signingEngine/session/passkey/ecdsaRecovery.js +1 -1
  147. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +39 -59
  148. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +13 -22
  149. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +11 -20
  150. package/dist/esm/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.js +1 -1
  151. package/dist/esm/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.js +1 -1
  152. package/dist/esm/core/signingEngine/session/persistence/sealedSessionRecords.js +764 -0
  153. package/dist/esm/core/signingEngine/session/persistence/sealedSessionStore.js +42 -862
  154. package/dist/esm/core/signingEngine/session/public.js +1 -1
  155. package/dist/esm/core/signingEngine/session/sealedRecovery/recoveryRecord.js +3 -3
  156. package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +1 -1
  157. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +2 -1
  158. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -1
  159. package/dist/esm/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +3 -3
  160. package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.js +1 -1
  161. package/dist/esm/core/signingEngine/session/warmCapabilities/types.js +0 -1
  162. package/dist/esm/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +3 -5
  163. package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +2 -3
  164. package/dist/esm/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +3 -2
  165. package/dist/esm/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +2 -2
  166. package/dist/esm/core/signingEngine/threshold/ecdsa/activation.js +3 -2
  167. package/dist/esm/core/signingEngine/threshold/ed25519/connectSession.js +1 -1
  168. package/dist/esm/core/signingEngine/threshold/ed25519/walletSession.js +2 -2
  169. package/dist/esm/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.js +1 -1
  170. package/dist/esm/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +12 -19
  171. package/dist/esm/core/signingEngine/threshold/sessionPolicy.js +1 -1
  172. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +4 -3
  173. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +2 -2
  174. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +7 -0
  175. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/signing.js +9 -16
  176. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +5 -5
  177. package/dist/esm/core/signingEngine/uiConfirm/ui/confirmation-model.js +1 -1
  178. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +1 -0
  179. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +1 -1
  180. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +79 -9
  181. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +31 -78
  182. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +1 -0
  183. package/dist/esm/core/signingEngine/walletCustody/activateEd25519Capability.js +2 -1
  184. package/dist/esm/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +3 -4
  185. package/dist/esm/core/signingEngine/walletCustody/emailOtpLink.js +2 -2
  186. package/dist/esm/core/signingEngine/walletCustody/openCustodyCache.js +1 -1
  187. package/dist/esm/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +2 -1
  188. package/dist/esm/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +56 -9
  189. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEcdsa.js +1 -1
  190. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEd25519.js +2 -2
  191. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryRotation.js +52 -81
  192. package/dist/esm/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +2 -4
  193. package/dist/esm/core/signingEngine/webauthnAuth/credentials/helpers.js +1 -1
  194. package/dist/esm/core/signingEngine/workerManager/deviceLinkingPorts.js +13 -16
  195. package/dist/esm/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +28 -3
  196. package/dist/esm/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +3 -1
  197. package/dist/esm/core/signingEngine/workerManager/workerTransport.js +20 -5
  198. package/dist/esm/core/signingEngine/workerManager/workerTypes.js +2 -1
  199. package/dist/esm/core/types/linkDevice.js +2 -3
  200. package/dist/esm/core/types/sdkSentEvents.js +7 -5
  201. package/dist/esm/core/types/signer-worker.js +1 -58
  202. package/dist/esm/index.js +1 -1
  203. package/dist/esm/plugins/vite.js +1 -1
  204. package/dist/esm/react/SeamsWeb/SeamsWeb.js +32 -92
  205. package/dist/esm/react/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +25 -5
  206. package/dist/esm/react/SeamsWeb/assembly/createBrowserSigningStores.js +1 -2
  207. package/dist/esm/react/SeamsWeb/operations/auth/login.js +10 -34
  208. package/dist/esm/react/SeamsWeb/operations/auth/walletAuth.js +1 -1
  209. package/dist/esm/react/SeamsWeb/operations/auth/walletUnlockSubject.js +1 -1
  210. package/dist/esm/react/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +1 -1
  211. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +4 -3
  212. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +1 -1
  213. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +1 -1
  214. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +6 -15
  215. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +1 -1
  216. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/addPasskey.js +5 -4
  217. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +34 -0
  218. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/localPasskeyProjection.js +3 -3
  219. package/dist/esm/react/SeamsWeb/operations/authMethods/revokeAuthMethod.js +3 -2
  220. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +2 -2
  221. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +1 -1
  222. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +5 -4
  223. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +1 -1
  224. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingResume.js +3 -3
  225. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +2 -1
  226. package/dist/esm/react/SeamsWeb/operations/devices/linkDevice.js +1 -1671
  227. package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceFlow.js +1358 -0
  228. package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +143 -0
  229. package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +119 -0
  230. package/dist/esm/react/SeamsWeb/operations/devices/walletHostComposition.js +13 -3
  231. package/dist/esm/react/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +11 -3
  232. package/dist/esm/react/SeamsWeb/operations/near/index.js +1 -1
  233. package/dist/esm/react/SeamsWeb/operations/recovery/accountSync.js +1 -1
  234. package/dist/esm/react/SeamsWeb/operations/recovery/recoveryWalletBinding.js +1 -1
  235. package/dist/esm/react/SeamsWeb/operations/recovery/syncAccount.js +5 -5
  236. package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryCommit.js +5 -9
  237. package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +3 -1
  238. package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +38 -4
  239. package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +20 -41
  240. package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +3 -3
  241. package/dist/esm/react/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +2 -2
  242. package/dist/esm/react/SeamsWeb/operations/registration/registration.js +117 -82
  243. package/dist/esm/react/SeamsWeb/operations/registration/registrationEd25519Yao.js +35 -4
  244. package/dist/esm/react/SeamsWeb/operations/registration/registrationSignerSet.js +1 -1
  245. package/dist/esm/react/SeamsWeb/operations/registration/registrationStrictEcdsa.js +5 -4
  246. package/dist/esm/react/SeamsWeb/operations/registration/registrationTiming.js +194 -539
  247. package/dist/esm/react/SeamsWeb/publicApi/awaitNearReady.js +3 -1
  248. package/dist/esm/react/SeamsWeb/publicApi/devices.js +1 -1
  249. package/dist/esm/react/SeamsWeb/signingSurface/BrowserSigningSurface.js +21 -23
  250. package/dist/esm/react/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +0 -4
  251. package/dist/esm/react/SeamsWeb/walletIframe/client/router.js +4 -3
  252. package/dist/esm/react/SeamsWeb/walletIframe/client/surface/geometry.js +8 -5
  253. package/dist/esm/react/SeamsWeb/walletIframe/shared/exactSessionState.js +27 -37
  254. package/dist/esm/react/SeamsWeb/walletIframe/shared/messages.js +3 -1
  255. package/dist/esm/react/SeamsWeb/walletIframe/shared/transactionReview.js +3 -5
  256. package/dist/esm/react/components/AccountMenuButton/AccountMenuDialog.js +93 -0
  257. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +187 -249
  258. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +195 -257
  259. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +1 -1
  260. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +1 -1
  261. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.js +1 -1
  262. package/dist/esm/react/components/AccountMenuButton/icons/MoonIcon.js +6 -41
  263. package/dist/esm/react/components/AccountMenuButton/icons/SunIcon.js +43 -78
  264. package/dist/esm/react/components/AccountMenuButton/icons/strokeIcon.js +43 -0
  265. package/dist/esm/react/components/AccountMenuButton/index.js +1 -1
  266. package/dist/esm/react/components/theme/design-tokens.js +0 -1
  267. package/dist/esm/react/core/config/chains.js +1 -0
  268. package/dist/esm/react/core/indexedDB/keyMaterialEnvelope.js +1 -5
  269. package/dist/esm/react/core/indexedDB/linkedAuthoritySignerMaterial.js +7 -14
  270. package/dist/esm/react/core/indexedDB/pendingWalletRecoveryCommit.js +1 -1
  271. package/dist/esm/react/core/indexedDB/pendingWalletRegistrationCommit.js +1 -1
  272. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +209 -0
  273. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +848 -0
  274. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +122 -1721
  275. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +235 -0
  276. package/dist/esm/react/core/indexedDB/seamsWalletDB/repositories.js +56 -7
  277. package/dist/esm/react/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +198 -0
  278. package/dist/esm/react/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +1 -1
  279. package/dist/esm/react/core/indexedDB/unifiedIndexedDBManager.js +6 -0
  280. package/dist/esm/react/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
  281. package/dist/esm/react/core/platform/browser/createBrowserPlatformRuntime.js +1 -44
  282. package/dist/esm/react/core/rpcClients/near/NearClient.js +19 -214
  283. package/dist/esm/react/core/rpcClients/near/rpcCalls.js +1 -1
  284. package/dist/esm/react/core/rpcClients/relayer/routerAbNormalSigning.js +56 -85
  285. package/dist/esm/react/core/rpcClients/relayer/walletRecoveryPrepare.js +2 -2
  286. package/dist/esm/react/core/rpcClients/relayer/walletRecoveryRotate.js +0 -1
  287. package/dist/esm/react/core/rpcClients/relayer/walletRegistration.js +40 -58
  288. package/dist/esm/react/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +4 -10
  289. package/dist/esm/react/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +1 -1
  290. package/dist/esm/react/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -1
  291. package/dist/esm/react/core/signingEngine/chains/evm/display/evmTx.js +1 -6
  292. package/dist/esm/react/core/signingEngine/chains/near/display.js +14 -1
  293. package/dist/esm/react/core/signingEngine/chains/tempo/display.js +1 -6
  294. package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +1 -1
  295. package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaExportFlow.js +5 -6
  296. package/dist/esm/react/core/signingEngine/flows/recovery/exportLaneSelection.js +1 -1
  297. package/dist/esm/react/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +16 -24
  298. package/dist/esm/react/core/signingEngine/flows/registration/accountLifecycle.js +246 -504
  299. package/dist/esm/react/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +7 -10
  300. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/authPlanning.js +1 -1
  301. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/ecdsaLanes.js +1 -1
  302. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +1 -1
  303. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/preparedSigning.js +1 -1
  304. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +3 -5
  305. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmFamilyWithUiConfirmForTempo.js +1 -1
  306. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmWithUiConfirm.js +1 -1
  307. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +1 -2
  308. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlow.js +4 -4
  309. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +41 -11
  310. package/dist/esm/react/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +20 -1
  311. package/dist/esm/react/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +343 -0
  312. package/dist/esm/react/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.js +1 -1
  313. package/dist/esm/react/core/signingEngine/flows/signNear/signDelegate.js +66 -312
  314. package/dist/esm/react/core/signingEngine/flows/signNear/signNear.js +45 -49
  315. package/dist/esm/react/core/signingEngine/flows/signNear/signNep413.js +58 -305
  316. package/dist/esm/react/core/signingEngine/flows/signNear/signTransactions.js +59 -23
  317. package/dist/esm/react/core/signingEngine/interfaces/accountAuthMetadata.js +0 -1
  318. package/dist/esm/react/core/signingEngine/nonce/nearNonceLane.js +0 -29
  319. package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +13 -147
  320. package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +2 -1
  321. package/dist/esm/react/core/signingEngine/session/SigningSessionCoordinator.js +1 -1
  322. package/dist/esm/react/core/signingEngine/session/availability/availableSigningLanes.js +4 -4
  323. package/dist/esm/react/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +3 -3
  324. package/dist/esm/react/core/signingEngine/session/emailOtp/coordinatorRuntime.js +0 -2
  325. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaLogin.js +2 -2
  326. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaPublication.js +1 -1
  327. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaRecovery.js +2 -2
  328. package/dist/esm/react/core/signingEngine/session/emailOtp/ed25519ExportContext.js +7 -14
  329. package/dist/esm/react/core/signingEngine/session/emailOtp/exportRecovery.js +1 -1
  330. package/dist/esm/react/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -9
  331. package/dist/esm/react/core/signingEngine/session/emailOtp/publicTypes.js +0 -1
  332. package/dist/esm/react/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -28
  333. package/dist/esm/react/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +1 -1
  334. package/dist/esm/react/core/signingEngine/session/emailOtp/walletUnlock.js +1 -1
  335. package/dist/esm/react/core/signingEngine/session/emailOtp/workerEnrollment.js +1 -1
  336. package/dist/esm/react/core/signingEngine/session/identity/clientSessionPersistenceState.js +1 -1
  337. package/dist/esm/react/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +3 -3
  338. package/dist/esm/react/core/signingEngine/session/identity/exactSigningLaneIdentity.js +2 -2
  339. package/dist/esm/react/core/signingEngine/session/identity/laneIdentity.js +6 -5
  340. package/dist/esm/react/core/signingEngine/session/keyMaterialBrands.js +2 -21
  341. package/dist/esm/react/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +39 -60
  342. package/dist/esm/react/core/signingEngine/session/material/ecdsaCapabilityManifest.js +5 -1
  343. package/dist/esm/react/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +1 -1
  344. package/dist/esm/react/core/signingEngine/session/operationState/authorizationAdmission.js +4 -4
  345. package/dist/esm/react/core/signingEngine/session/operationState/trace.js +10 -1
  346. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaBootstrap.js +1 -1
  347. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +1 -1
  348. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaRecovery.js +1 -1
  349. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.js +1 -1
  350. package/dist/esm/react/core/signingEngine/session/passkey/ed25519SessionProvision.js +1 -1
  351. package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +37 -57
  352. package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +12 -21
  353. package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +10 -19
  354. package/dist/esm/react/core/signingEngine/session/persistence/sealedSessionRecords.js +764 -0
  355. package/dist/esm/react/core/signingEngine/session/persistence/sealedSessionStore.js +41 -858
  356. package/dist/esm/react/core/signingEngine/session/postconditions/runtimePostconditions.js +1 -1
  357. package/dist/esm/react/core/signingEngine/session/public.js +2 -2
  358. package/dist/esm/react/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +1 -1
  359. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaBootstrapPersistence.js +1 -1
  360. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +2 -1
  361. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -1
  362. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +3 -3
  363. package/dist/esm/react/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +1 -1
  364. package/dist/esm/react/core/signingEngine/session/warmCapabilities/sealedRefreshParity.js +1 -1
  365. package/dist/esm/react/core/signingEngine/session/warmCapabilities/types.js +1 -2
  366. package/dist/esm/react/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +3 -5
  367. package/dist/esm/react/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +2 -3
  368. package/dist/esm/react/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +2 -1
  369. package/dist/esm/react/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +2 -2
  370. package/dist/esm/react/core/signingEngine/threshold/ecdsa/activation.js +2 -1
  371. package/dist/esm/react/core/signingEngine/threshold/ecdsa/bootstrapSession.js +1 -1
  372. package/dist/esm/react/core/signingEngine/threshold/ed25519/walletSession.js +1 -1
  373. package/dist/esm/react/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +12 -19
  374. package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +2 -1
  375. package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +1 -1
  376. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +7 -0
  377. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/localOnly.js +1 -1
  378. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/signing.js +9 -16
  379. package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +5 -5
  380. package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirmation-model.js +1 -1
  381. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +1 -0
  382. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +1 -1
  383. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +79 -9
  384. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +31 -78
  385. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +1 -0
  386. package/dist/esm/react/core/signingEngine/walletCustody/activateEd25519Capability.js +2 -1
  387. package/dist/esm/react/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +3 -4
  388. package/dist/esm/react/core/signingEngine/walletCustody/emailOtpLink.js +2 -2
  389. package/dist/esm/react/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +2 -1
  390. package/dist/esm/react/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +55 -8
  391. package/dist/esm/react/core/signingEngine/walletCustody/walletRecoveryRotation.js +52 -81
  392. package/dist/esm/react/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +2 -4
  393. package/dist/esm/react/core/signingEngine/workerManager/deviceLinkingPorts.js +13 -16
  394. package/dist/esm/react/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +29 -4
  395. package/dist/esm/react/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +4 -2
  396. package/dist/esm/react/core/signingEngine/workerManager/workerTransport.js +20 -5
  397. package/dist/esm/react/core/signingEngine/workerManager/workerTypes.js +2 -1
  398. package/dist/esm/react/core/types/linkDevice.js +2 -3
  399. package/dist/esm/react/core/types/sdkSentEvents.js +7 -5
  400. package/dist/esm/react/hooks/useQRCamera.js +1 -1
  401. package/dist/esm/react/shared-ts/src/authorization/delegatedAuthority.js +1 -1
  402. package/dist/esm/react/shared-ts/src/authorization/operationFingerprint.js +0 -1
  403. package/dist/esm/react/shared-ts/src/authorization/walletAuthority.js +92 -227
  404. package/dist/esm/react/shared-ts/src/authorization/walletCustodyOperation.js +4 -6
  405. package/dist/esm/react/shared-ts/src/device-linking/activeWalletSession.js +70 -1
  406. package/dist/esm/react/shared-ts/src/device-linking/authorityActivation.js +142 -0
  407. package/dist/esm/react/shared-ts/src/device-linking/committedSignerPackages.js +3 -3
  408. package/dist/esm/react/shared-ts/src/device-linking/delegatedActivationPlan.js +3 -1
  409. package/dist/esm/react/shared-ts/src/device-linking/deviceManagement.js +120 -0
  410. package/dist/esm/react/shared-ts/src/device-linking/digests.js +8 -63
  411. package/dist/esm/react/shared-ts/src/device-linking/ed25519ExportRoot.js +3 -1
  412. package/dist/esm/react/shared-ts/src/device-linking/index.js +6 -4
  413. package/dist/esm/react/shared-ts/src/device-linking/parsers.js +546 -1308
  414. package/dist/esm/react/shared-ts/src/device-linking/requestProof.js +3 -3
  415. package/dist/esm/react/shared-ts/src/device-linking/sourceContribution.js +8 -11
  416. package/dist/esm/react/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +7 -7
  417. package/dist/esm/react/shared-ts/src/device-linking/wireFields.js +59 -0
  418. package/dist/esm/react/shared-ts/src/near/nearClient.js +252 -0
  419. package/dist/esm/react/shared-ts/src/passkey-custody/custodyEnvelope.js +6 -4
  420. package/dist/esm/react/shared-ts/src/passkey-custody/custodySecretBinding.js +6 -4
  421. package/dist/esm/react/shared-ts/src/passkey-custody/primitives.js +5 -39
  422. package/dist/esm/react/shared-ts/src/signing-lanes/index.js +4 -3
  423. package/dist/esm/react/shared-ts/src/signing-lanes/ownerContinuity.js +6 -1
  424. package/dist/esm/react/shared-ts/src/signing-lanes/participantDigest.js +2 -0
  425. package/dist/esm/react/shared-ts/src/signing-lanes/participants.js +2 -5
  426. package/dist/esm/react/shared-ts/src/signing-lanes/recordParsers.js +7 -7
  427. package/dist/esm/react/shared-ts/src/signing-lanes/rotationDigests.js +2 -0
  428. package/dist/esm/react/shared-ts/src/signing-lanes/rotationParsers.js +3 -3
  429. package/dist/esm/react/shared-ts/src/signing-lanes/rotationProtocolParsers.js +8 -0
  430. package/dist/esm/react/shared-ts/src/signing-lanes/rotationWireFields.js +3 -0
  431. package/dist/esm/react/shared-ts/src/threshold/ed25519OperationFingerprint.js +34 -42
  432. package/dist/esm/react/shared-ts/src/threshold/keyMaterialBrands.js +25 -0
  433. package/dist/esm/react/shared-ts/src/threshold/secp256k1.js +1 -2
  434. package/dist/esm/react/shared-ts/src/utils/addAuthMethodRegistration.js +3 -4
  435. package/dist/esm/react/shared-ts/src/utils/canonicalPrimitives.js +8 -1
  436. package/dist/esm/react/shared-ts/src/utils/digestEncoding.js +63 -0
  437. package/dist/esm/react/shared-ts/src/utils/ecdsaKeyFactsInventory.js +1 -1
  438. package/dist/esm/react/shared-ts/src/utils/emailOtpDomain.js +3 -3
  439. package/dist/esm/react/shared-ts/src/utils/encoders.js +1 -1
  440. package/dist/esm/react/shared-ts/src/utils/errors.js +1 -1
  441. package/dist/esm/react/shared-ts/src/utils/exactRecord.js +44 -0
  442. package/dist/esm/react/shared-ts/src/utils/index.js +12 -8
  443. package/dist/esm/react/shared-ts/src/utils/registrationAuthMethodInput.js +84 -0
  444. package/dist/esm/react/shared-ts/src/utils/registrationEstablishedSession.js +2 -2
  445. package/dist/esm/react/shared-ts/src/utils/registrationIds.js +226 -0
  446. package/dist/esm/react/shared-ts/src/utils/registrationIntent.js +4 -1081
  447. package/dist/esm/react/shared-ts/src/utils/registrationSignerPlan.js +442 -0
  448. package/dist/esm/react/shared-ts/src/utils/routerAbEcdsaDerivation.js +9 -8
  449. package/dist/esm/react/shared-ts/src/utils/routerAbEd25519Yao.js +3 -76
  450. package/dist/esm/react/shared-ts/src/utils/routerAbEd25519YaoDigests.js +76 -0
  451. package/dist/esm/react/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -4
  452. package/dist/esm/react/shared-ts/src/utils/routerAbPublicKeyset.js +2 -6
  453. package/dist/esm/react/shared-ts/src/utils/secureRandomId.js +1 -1
  454. package/dist/esm/react/shared-ts/src/utils/signerDomain.js +1 -16
  455. package/dist/esm/react/shared-ts/src/utils/validation.js +36 -2
  456. package/dist/esm/react/shared-ts/src/utils/walletAuthAuthority.js +1 -1
  457. package/dist/esm/react/shared-ts/src/utils/walletAuthMethodRecord.js +357 -0
  458. package/dist/esm/react/shared-ts/src/utils/walletCapabilityBindings.js +2 -2
  459. package/dist/esm/react/shared-ts/src/utils/wireSchema.js +66 -0
  460. package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +10 -13
  461. package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +4 -8
  462. package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -1
  463. package/dist/esm/react/utils/qrScanner.js +2 -19
  464. package/dist/{public/sdk/ConfirmationDrawer-G0bT0Dbu.js → esm/sdk/ConfirmationDrawer-MgFTBwwK.js} +2 -1
  465. package/dist/esm/sdk/{EvmClient-CHw6txjt.js → EvmClient-f3gUhS2L.js} +1 -1
  466. package/dist/esm/sdk/{NearClient-BQgcqAzG.js → NearClient-DY4NfHeD.js} +194 -147
  467. package/dist/esm/sdk/{NonceCoordinator-C7QltTDC.js → NonceCoordinator-4XWPhYww.js} +4 -33
  468. package/dist/esm/sdk/{accountIds-Ck4GAQfm.js → accountIds-DhIPGOSN.js} +1 -1
  469. package/dist/{public/sdk/accountLifecycle-Ddavc_FC.js → esm/sdk/accountLifecycle-BAGG_rbk.js} +253 -514
  470. package/dist/esm/sdk/{actions-DsBQcjBn.js → actions-CCvThiKe.js} +1 -1
  471. package/dist/esm/sdk/{adapters-LgE4nnos.js → adapters-B4JeK1nJ.js} +134 -105
  472. package/dist/esm/sdk/canonicalPrimitives-BTHWz80v.js +36 -0
  473. package/dist/{public/sdk/canonicalSignerErrorCode-DAzYzisf.js → esm/sdk/canonicalSignerErrorCode-CRoJMVpp.js} +2 -2
  474. package/dist/{public/sdk/capabilityKinds-jwCEaqBU.js → esm/sdk/capabilityKinds-hvYqa6S_.js} +1 -1
  475. package/dist/esm/sdk/chains-BMh3btVo.js +124 -0
  476. package/dist/{public/sdk/challengeDelivery-BjLKoou3.js → esm/sdk/challengeDelivery-Dd0586fo.js} +2 -2
  477. package/dist/esm/sdk/{configHelpers-DB73zYvO.js → configHelpers-vAQCzUD0.js} +3 -3
  478. package/dist/{public/sdk/defaultConfigs-CyNOW4Sy.js → esm/sdk/defaultConfigs-B3c16M_8.js} +5 -5
  479. package/dist/esm/sdk/{display-Cw90-qmF.js → display-KdIL0ff7.js} +3 -8
  480. package/dist/esm/sdk/{normalize-BephcEIF.js → domainIds-lcrFg6Sa.js} +84 -84
  481. package/dist/{public/sdk/ecdsaCapabilityManifest-C8itxV9S.js → esm/sdk/ecdsaCapabilityManifest-kzO_fW09.js} +12 -8
  482. package/dist/esm/sdk/{ecdsaChainTarget-BOTPGIU_.js → ecdsaChainTarget-Bl-JWyuw.js} +2 -2
  483. package/dist/esm/sdk/ecdsaPresignLifecycle-BFOTNYCK.js +1983 -0
  484. package/dist/esm/sdk/{ecdsaPresignPoolIdentity-Yopr4jvS.js → ecdsaPresignPoolIdentity-BjxZVIqn.js} +1 -1
  485. package/dist/{public/sdk/ecdsaWalletRecords-CAbbVhEY.js → esm/sdk/ecdsaWalletRecords-Cz4m6bIz.js} +6 -4
  486. package/dist/esm/sdk/encoders-D8d07vpx.js +0 -0
  487. package/dist/esm/sdk/{enrichDisplayModelWithAbi-DnjR1CqT.js → enrichDisplayModelWithAbi-CWggsykc.js} +2 -2
  488. package/dist/{public/sdk/evmCryptoWasm-BVj135bZ.js → esm/sdk/evmCryptoWasm-DWklhEEb.js} +1 -1
  489. package/dist/esm/sdk/evmFamilyEcdsaIdentity-Co5XDcEA.js +4288 -0
  490. package/dist/{public/sdk/exactSessionState-Bt0HforB.js → esm/sdk/exactSessionState-CiD5fBEs.js} +45 -54
  491. package/dist/esm/sdk/exactSigningLaneIdentity-DQeqPMST.js +335 -0
  492. package/dist/esm/sdk/{export-viewer-host-B3K81QGA.js → export-viewer-host-ZqA2Yz3H.js} +3 -3
  493. package/dist/esm/sdk/{helpers-DpRjHMBx.js → helpers-ZrowMnev.js} +3 -6
  494. package/dist/{public/sdk/host-Y_xmIzPO.js → esm/sdk/host-BWBbCAMu.js} +12 -12
  495. package/dist/{public/sdk/intentDigest-A1MbbJPu.js → esm/sdk/intentDigest-CvOSNlCH.js} +2 -2
  496. package/dist/esm/sdk/{jsxRuntime.module-FAP0NE9p.js → jsxRuntime.module-CuH5ZEIA.js} +1 -1
  497. package/dist/{public/sdk/keyMaterialBrands-BbjCfzXv.js → esm/sdk/keyMaterialBrands-CX41hur6.js} +15 -13
  498. package/dist/esm/sdk/{localOnly-B5TYHJiq.js → localOnly-Bg8UuLZ5.js} +8 -10
  499. package/dist/esm/sdk/{messages-B3UbNZYc.js → messages-C7Dbx9iN.js} +6 -4
  500. package/dist/{public/sdk/mountExportPrivateKeySurface-CNc6Mch4.js → esm/sdk/mountExportPrivateKeySurface-DgX-IBG_.js} +4 -4
  501. package/dist/{public/sdk/mountRecoveryCodeBackupSurface-ChwzwnYG.js → esm/sdk/mountRecoveryCodeBackupSurface-DXrExiJ7.js} +2 -2
  502. package/dist/{public/sdk/nearEd25519YaoMaterialActivation-BLxVE6E5.js → esm/sdk/nearEd25519YaoMaterialActivation-DPb0s3hQ.js} +53 -78
  503. package/dist/{public/sdk/nearEd25519YaoSigningPreparation-DX6xG-IW.js → esm/sdk/nearEd25519YaoSigningPreparation-BeD-SmbK.js} +10 -8
  504. package/dist/esm/sdk/{nonceLaneKeys-B_RcSS6M.js → nonceLaneKeys-C3c9lG6u.js} +1 -1
  505. package/dist/{public/sdk/normalization-oJyXl3Vn.js → esm/sdk/normalization-CBt413-z.js} +2 -2
  506. package/dist/esm/sdk/{operationFingerprint-DEPg9A3h.js → operationFingerprint-C8Trar4R.js} +4 -4
  507. package/dist/{public/sdk/operationFingerprint-CsYO6b0a.js → esm/sdk/operationFingerprint-CGZui5dR.js} +2 -1
  508. package/dist/{public/sdk/passkey-custody-BaHyYMhj.js → esm/sdk/passkey-custody-Bk1jAknm.js} +7 -6
  509. package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-DyvRysWg.js → esm/sdk/pendingWalletRecoveryCodeBackup-DLzBb3WQ.js} +3 -3
  510. package/dist/esm/sdk/{recovery-entrypoint-D39R1avB.js → recovery-entrypoint-DW2tGyMs.js} +19 -16
  511. package/dist/esm/sdk/{registration-D-istkMZ.js → registration-BZDzDv91.js} +2849 -3156
  512. package/dist/esm/sdk/{registration-BtPLgKHk.js → registration-BzVHODuD.js} +4 -4
  513. package/dist/{public/sdk/registrationAccounts-AO3QHjas.js → esm/sdk/registrationAccounts-CKku_Sgy.js} +6 -4
  514. package/dist/esm/sdk/registrationIds-DLSdEKSv.js +310 -0
  515. package/dist/esm/sdk/registrationIntent-D0PxwEY4.js +393 -0
  516. package/dist/{public/sdk/registrationPreparationPreload-CvnlDCVn.js → esm/sdk/registrationPreparationPreload-CIAuRlxI.js} +2 -2
  517. package/dist/esm/sdk/registrationSignerPlan-CAikVZZQ.js +440 -0
  518. package/dist/esm/sdk/{relayerHttp-LsVTZCxA.js → relayerHttp-VC8Holz1.js} +1 -1
  519. package/dist/{public/sdk/routePlan-nLpPFHB-.js → esm/sdk/routePlan-D59x5xzQ.js} +1 -1
  520. package/dist/{public/sdk/router-CeFS9SgT.js → esm/sdk/router-C5lF_J_u.js} +23 -25
  521. package/dist/{public/sdk/routerAbNormalSigning-DktZKnf1.js → esm/sdk/routerAbNormalSigning-fhvpDtmY.js} +63 -92
  522. package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  523. package/dist/{public/sdk/runtime-auth-B7z1ANNp.js → esm/sdk/runtime-auth-DFTqwj3u.js} +35 -45
  524. package/dist/esm/sdk/{runtime-device-link-B8HGDakg.js → runtime-device-link-C1Oub8Lw.js} +25 -22
  525. package/dist/{public/sdk/runtime-ecdsa-tempo-DKdS5-us.js → esm/sdk/runtime-ecdsa-tempo-rkWwolw1.js} +24 -21
  526. package/dist/{public/sdk/runtime-email-otp-D5bxhdyG.js → esm/sdk/runtime-email-otp-vuUG5LYl.js} +23 -20
  527. package/dist/esm/sdk/{runtime-export--hvNrx8l.js → runtime-export-FZWj0HxJ.js} +26 -22
  528. package/dist/esm/sdk/{runtime-near-CEexHoug.js → runtime-near-B9cjurVD.js} +24 -22
  529. package/dist/esm/sdk/{runtime-preferences-BiqPp1lV.js → runtime-preferences-Dq0bfyS5.js} +24 -21
  530. package/dist/{public/sdk/runtime-recovery-BYu1gDq_.js → esm/sdk/runtime-recovery-C-vfFKF3.js} +23 -20
  531. package/dist/{public/sdk/runtime-recovery-codes-DW7bB2tO.js → esm/sdk/runtime-recovery-codes-bTm3fLV4.js} +15 -19
  532. package/dist/esm/sdk/{runtimeContext-CH97jPZ0.js → runtimeContext-iLXnxVlZ.js} +615 -850
  533. package/dist/{public/sdk/runtimeLoader-BFAmJAbu.js → esm/sdk/runtimeLoader-hod6T2-m.js} +12 -12
  534. package/dist/{public/sdk/sdkSentEvents-5Pi-hjHB.js → esm/sdk/sdkSentEvents-MqDkbQg1.js} +10 -8
  535. package/dist/{public/sdk/secp256k1-Cr1jBW1n.js → esm/sdk/secp256k1-el9aE4Sv.js} +22 -156
  536. package/dist/esm/sdk/sessionPolicy-CHiilOAB.js +453 -0
  537. package/dist/{public/sdk/signEvmFamily-Dxk4sBPY.js → esm/sdk/signEvmFamily-e4IWWsZs.js} +108 -99
  538. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-DHTBHHgE.js → signEvmFamilyWithUiConfirmForTempo-Cu9qdk8M.js} +11 -15
  539. package/dist/{public/sdk/signEvmWithUiConfirm-CSxTBQUW.js → esm/sdk/signEvmWithUiConfirm-C61TCBnh.js} +6 -10
  540. package/dist/{public/sdk/signNear-B0OCVKoH.js → esm/sdk/signNear-Bblwn2kT.js} +763 -807
  541. package/dist/esm/sdk/{evmAdapter-C5NR5tiV.js → signatureUses-BkGyYt8F.js} +12 -3
  542. package/dist/{public/sdk/signerDomain-DDLiwuYS.js → esm/sdk/signerDomain-IEAVrOrc.js} +3 -18
  543. package/dist/{public/sdk/signerLoader-D0WU1jq_.js → esm/sdk/signerLoader-D7Aey0FD.js} +4 -4
  544. package/dist/esm/sdk/{signatureUses-C1o1pDql.js → signingFlow-rZfPegH9.js} +16 -29
  545. package/dist/{public/sdk/trace-DWnDLSuV.js → esm/sdk/trace-rHe0wz7q.js} +11 -2
  546. package/dist/{public/sdk/transaction-activity-DKgIGpKG.js → esm/sdk/transaction-activity-CSMCveBn.js} +1 -1
  547. package/dist/esm/sdk/{transactionReview-UoZQ2opj.js → transactionReview-DpHLTznU.js} +4 -6
  548. package/dist/{public/sdk/transactionReviewAdmission-Cv9kTr4c.js → esm/sdk/transactionReviewAdmission-BCPvl8OZ.js} +2 -2
  549. package/dist/esm/sdk/{transactionState-Bpm4GamO.js → transactionState-DP9O8F6f.js} +12 -10
  550. package/dist/esm/sdk/tx-confirm-ui.js +182 -154
  551. package/dist/esm/sdk/types-Dx9fczU7.js +111 -0
  552. package/dist/{public/sdk/validation-BphUDXs7.js → esm/sdk/validation-gat4LEKm.js} +36 -2
  553. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +2 -2
  554. package/dist/esm/sdk/wallet-iframe-host-full.js +2 -2
  555. package/dist/esm/sdk/wallet-iframe-host-near.js +2 -2
  556. package/dist/esm/sdk/wallet-iframe-host-runtime.js +2 -2
  557. package/dist/esm/sdk/{wallet-recovery-CKqoHbxT.js → wallet-recovery-Bz9qKgaL.js} +19 -25
  558. package/dist/esm/sdk/wallet-service.css +21 -0
  559. package/dist/esm/sdk/wallet-ui.css +95 -45
  560. package/dist/{public/sdk/sessionPolicy-B4FsPuk2.js → esm/sdk/walletAuthority-BQBxgUBn.js} +506 -445
  561. package/dist/{public/sdk/ed25519SeedMaterial-Cghz8-XB.js → esm/sdk/walletCustodyEcdsaContinuity-Hn4ORIbf.js} +1898 -2033
  562. package/dist/{public/sdk/walletRecoveryCommit-G6w6N5RV.js → esm/sdk/walletRecoveryCommit-sjGNTHUj.js} +17 -22
  563. package/dist/esm/sdk/{walletRecoveryRotate-BYOYJAyb.js → walletRecoveryRotate-BgLlW5ih.js} +1 -1
  564. package/dist/esm/sdk/{warmSessionHydration-DDNYdTCz.js → warmSessionHydration-Os8niEm7.js} +1 -1
  565. package/dist/esm/sdk/{webauthnP256-CHqprSh1.js → webauthnP256-DC5EIbKN.js} +1 -1
  566. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +1 -1
  567. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +1 -2
  568. package/dist/esm/shared-ts/src/authorization/walletAuthority.js +93 -228
  569. package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +4 -6
  570. package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +70 -1
  571. package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +142 -0
  572. package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +3 -3
  573. package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +3 -1
  574. package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +120 -0
  575. package/dist/esm/shared-ts/src/device-linking/digests.js +8 -63
  576. package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +3 -1
  577. package/dist/esm/shared-ts/src/device-linking/index.js +6 -4
  578. package/dist/esm/shared-ts/src/device-linking/parsers.js +550 -1311
  579. package/dist/esm/shared-ts/src/device-linking/requestProof.js +3 -3
  580. package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +7 -10
  581. package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +7 -7
  582. package/dist/esm/shared-ts/src/device-linking/wireFields.js +59 -0
  583. package/dist/esm/shared-ts/src/near/nearClient.js +252 -0
  584. package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +6 -4
  585. package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +6 -4
  586. package/dist/esm/shared-ts/src/passkey-custody/primitives.js +5 -39
  587. package/dist/esm/shared-ts/src/signing-lanes/index.js +4 -3
  588. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +6 -1
  589. package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +2 -0
  590. package/dist/esm/shared-ts/src/signing-lanes/participants.js +2 -5
  591. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +7 -7
  592. package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +2 -0
  593. package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +3 -3
  594. package/dist/esm/shared-ts/src/signing-lanes/rotationProtocolParsers.js +8 -0
  595. package/dist/esm/shared-ts/src/signing-lanes/rotationWireFields.js +3 -0
  596. package/dist/esm/shared-ts/src/threshold/ed25519OperationFingerprint.js +34 -42
  597. package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +25 -0
  598. package/dist/esm/shared-ts/src/threshold/secp256k1.js +1 -2
  599. package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +3 -4
  600. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +8 -1
  601. package/dist/esm/shared-ts/src/utils/digestEncoding.js +63 -0
  602. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +1 -1
  603. package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +3 -3
  604. package/dist/esm/shared-ts/src/utils/encoders.js +1 -1
  605. package/dist/esm/shared-ts/src/utils/errors.js +1 -1
  606. package/dist/esm/shared-ts/src/utils/exactRecord.js +44 -0
  607. package/dist/esm/shared-ts/src/utils/index.js +18 -14
  608. package/dist/esm/shared-ts/src/utils/registrationAuthMethodInput.js +84 -0
  609. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +5 -5
  610. package/dist/esm/shared-ts/src/utils/registrationIds.js +226 -0
  611. package/dist/esm/shared-ts/src/utils/registrationIntent.js +4 -1081
  612. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +442 -0
  613. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +11 -10
  614. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +3 -76
  615. package/dist/esm/shared-ts/src/utils/routerAbEd25519YaoDigests.js +76 -0
  616. package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -4
  617. package/dist/esm/shared-ts/src/utils/routerAbPublicKeyset.js +2 -6
  618. package/dist/esm/shared-ts/src/utils/secureRandomId.js +1 -1
  619. package/dist/esm/shared-ts/src/utils/signerDomain.js +1 -16
  620. package/dist/esm/shared-ts/src/utils/validation.js +36 -2
  621. package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +1 -1
  622. package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +357 -0
  623. package/dist/esm/shared-ts/src/utils/walletCapabilityBindings.js +2 -2
  624. package/dist/esm/shared-ts/src/utils/wireSchema.js +66 -0
  625. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +1 -1
  626. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +1 -1
  627. package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +1 -1
  628. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +10 -13
  629. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +4 -8
  630. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -1
  631. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.d.ts +18 -5
  632. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +44 -9
  633. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  634. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client.d.ts +10 -1
  635. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client.js +31 -1
  636. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
  637. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client.d.ts +1 -1
  638. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client.js +1 -1
  639. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
  640. package/dist/public/headers.manifest.json +1 -1
  641. package/dist/{esm/sdk/ConfirmationDrawer-G0bT0Dbu.js → public/sdk/ConfirmationDrawer-MgFTBwwK.js} +2 -1
  642. package/dist/public/sdk/{EvmClient-CHw6txjt.js → EvmClient-f3gUhS2L.js} +1 -1
  643. package/dist/public/sdk/{NearClient-BQgcqAzG.js → NearClient-DY4NfHeD.js} +194 -147
  644. package/dist/public/sdk/{NonceCoordinator-C7QltTDC.js → NonceCoordinator-4XWPhYww.js} +4 -33
  645. package/dist/public/sdk/{accountIds-Ck4GAQfm.js → accountIds-DhIPGOSN.js} +1 -1
  646. package/dist/{esm/sdk/accountLifecycle-Ddavc_FC.js → public/sdk/accountLifecycle-BAGG_rbk.js} +253 -514
  647. package/dist/public/sdk/{actions-DsBQcjBn.js → actions-CCvThiKe.js} +1 -1
  648. package/dist/public/sdk/{adapters-LgE4nnos.js → adapters-B4JeK1nJ.js} +134 -105
  649. package/dist/public/sdk/canonicalPrimitives-BTHWz80v.js +36 -0
  650. package/dist/{esm/sdk/canonicalSignerErrorCode-DAzYzisf.js → public/sdk/canonicalSignerErrorCode-CRoJMVpp.js} +2 -2
  651. package/dist/{esm/sdk/capabilityKinds-jwCEaqBU.js → public/sdk/capabilityKinds-hvYqa6S_.js} +1 -1
  652. package/dist/public/sdk/chains-BMh3btVo.js +124 -0
  653. package/dist/{esm/sdk/challengeDelivery-BjLKoou3.js → public/sdk/challengeDelivery-Dd0586fo.js} +2 -2
  654. package/dist/public/sdk/{configHelpers-DB73zYvO.js → configHelpers-vAQCzUD0.js} +3 -3
  655. package/dist/{esm/sdk/defaultConfigs-CyNOW4Sy.js → public/sdk/defaultConfigs-B3c16M_8.js} +5 -5
  656. package/dist/public/sdk/{display-Cw90-qmF.js → display-KdIL0ff7.js} +3 -8
  657. package/dist/public/sdk/{normalize-BephcEIF.js → domainIds-lcrFg6Sa.js} +84 -84
  658. package/dist/{esm/sdk/ecdsaCapabilityManifest-C8itxV9S.js → public/sdk/ecdsaCapabilityManifest-kzO_fW09.js} +12 -8
  659. package/dist/public/sdk/{ecdsaChainTarget-BOTPGIU_.js → ecdsaChainTarget-Bl-JWyuw.js} +2 -2
  660. package/dist/public/sdk/ecdsaPresignLifecycle-BFOTNYCK.js +1983 -0
  661. package/dist/public/sdk/{ecdsaPresignPoolIdentity-Yopr4jvS.js → ecdsaPresignPoolIdentity-BjxZVIqn.js} +1 -1
  662. package/dist/{esm/sdk/ecdsaWalletRecords-CAbbVhEY.js → public/sdk/ecdsaWalletRecords-Cz4m6bIz.js} +6 -4
  663. package/dist/public/sdk/encoders-D8d07vpx.js +0 -0
  664. package/dist/public/sdk/{enrichDisplayModelWithAbi-DnjR1CqT.js → enrichDisplayModelWithAbi-CWggsykc.js} +2 -2
  665. package/dist/{esm/sdk/evmCryptoWasm-BVj135bZ.js → public/sdk/evmCryptoWasm-DWklhEEb.js} +1 -1
  666. package/dist/public/sdk/evmFamilyEcdsaIdentity-Co5XDcEA.js +4288 -0
  667. package/dist/{esm/sdk/exactSessionState-Bt0HforB.js → public/sdk/exactSessionState-CiD5fBEs.js} +45 -54
  668. package/dist/public/sdk/exactSigningLaneIdentity-DQeqPMST.js +335 -0
  669. package/dist/public/sdk/{export-viewer-host-B3K81QGA.js → export-viewer-host-ZqA2Yz3H.js} +3 -3
  670. package/dist/public/sdk/{helpers-DpRjHMBx.js → helpers-ZrowMnev.js} +3 -6
  671. package/dist/{esm/sdk/host-Y_xmIzPO.js → public/sdk/host-BWBbCAMu.js} +12 -12
  672. package/dist/{esm/sdk/intentDigest-A1MbbJPu.js → public/sdk/intentDigest-CvOSNlCH.js} +2 -2
  673. package/dist/public/sdk/{jsxRuntime.module-FAP0NE9p.js → jsxRuntime.module-CuH5ZEIA.js} +1 -1
  674. package/dist/{esm/sdk/keyMaterialBrands-BbjCfzXv.js → public/sdk/keyMaterialBrands-CX41hur6.js} +15 -13
  675. package/dist/public/sdk/{localOnly-B5TYHJiq.js → localOnly-Bg8UuLZ5.js} +8 -10
  676. package/dist/public/sdk/{messages-B3UbNZYc.js → messages-C7Dbx9iN.js} +6 -4
  677. package/dist/{esm/sdk/mountExportPrivateKeySurface-CNc6Mch4.js → public/sdk/mountExportPrivateKeySurface-DgX-IBG_.js} +4 -4
  678. package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-ChwzwnYG.js → public/sdk/mountRecoveryCodeBackupSurface-DXrExiJ7.js} +2 -2
  679. package/dist/{esm/sdk/nearEd25519YaoMaterialActivation-BLxVE6E5.js → public/sdk/nearEd25519YaoMaterialActivation-DPb0s3hQ.js} +53 -78
  680. package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-DX6xG-IW.js → public/sdk/nearEd25519YaoSigningPreparation-BeD-SmbK.js} +10 -8
  681. package/dist/public/sdk/{nonceLaneKeys-B_RcSS6M.js → nonceLaneKeys-C3c9lG6u.js} +1 -1
  682. package/dist/{esm/sdk/normalization-oJyXl3Vn.js → public/sdk/normalization-CBt413-z.js} +2 -2
  683. package/dist/public/sdk/{operationFingerprint-DEPg9A3h.js → operationFingerprint-C8Trar4R.js} +4 -4
  684. package/dist/{esm/sdk/operationFingerprint-CsYO6b0a.js → public/sdk/operationFingerprint-CGZui5dR.js} +2 -1
  685. package/dist/{esm/sdk/passkey-custody-BaHyYMhj.js → public/sdk/passkey-custody-Bk1jAknm.js} +7 -6
  686. package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-DyvRysWg.js → public/sdk/pendingWalletRecoveryCodeBackup-DLzBb3WQ.js} +3 -3
  687. package/dist/public/sdk/{recovery-entrypoint-D39R1avB.js → recovery-entrypoint-DW2tGyMs.js} +19 -16
  688. package/dist/public/sdk/{registration-D-istkMZ.js → registration-BZDzDv91.js} +2849 -3156
  689. package/dist/public/sdk/{registration-BtPLgKHk.js → registration-BzVHODuD.js} +4 -4
  690. package/dist/{esm/sdk/registrationAccounts-AO3QHjas.js → public/sdk/registrationAccounts-CKku_Sgy.js} +6 -4
  691. package/dist/public/sdk/registrationIds-DLSdEKSv.js +310 -0
  692. package/dist/public/sdk/registrationIntent-D0PxwEY4.js +393 -0
  693. package/dist/{esm/sdk/registrationPreparationPreload-CvnlDCVn.js → public/sdk/registrationPreparationPreload-CIAuRlxI.js} +2 -2
  694. package/dist/public/sdk/registrationSignerPlan-CAikVZZQ.js +440 -0
  695. package/dist/public/sdk/{relayerHttp-LsVTZCxA.js → relayerHttp-VC8Holz1.js} +1 -1
  696. package/dist/{esm/sdk/routePlan-nLpPFHB-.js → public/sdk/routePlan-D59x5xzQ.js} +1 -1
  697. package/dist/{esm/sdk/router-CeFS9SgT.js → public/sdk/router-C5lF_J_u.js} +23 -25
  698. package/dist/{esm/sdk/routerAbNormalSigning-DktZKnf1.js → public/sdk/routerAbNormalSigning-fhvpDtmY.js} +63 -92
  699. package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  700. package/dist/{esm/sdk/runtime-auth-B7z1ANNp.js → public/sdk/runtime-auth-DFTqwj3u.js} +35 -45
  701. package/dist/public/sdk/{runtime-device-link-B8HGDakg.js → runtime-device-link-C1Oub8Lw.js} +25 -22
  702. package/dist/{esm/sdk/runtime-ecdsa-tempo-DKdS5-us.js → public/sdk/runtime-ecdsa-tempo-rkWwolw1.js} +24 -21
  703. package/dist/{esm/sdk/runtime-email-otp-D5bxhdyG.js → public/sdk/runtime-email-otp-vuUG5LYl.js} +23 -20
  704. package/dist/public/sdk/{runtime-export--hvNrx8l.js → runtime-export-FZWj0HxJ.js} +26 -22
  705. package/dist/public/sdk/{runtime-near-CEexHoug.js → runtime-near-B9cjurVD.js} +24 -22
  706. package/dist/public/sdk/{runtime-preferences-BiqPp1lV.js → runtime-preferences-Dq0bfyS5.js} +24 -21
  707. package/dist/{esm/sdk/runtime-recovery-BYu1gDq_.js → public/sdk/runtime-recovery-C-vfFKF3.js} +23 -20
  708. package/dist/{esm/sdk/runtime-recovery-codes-DW7bB2tO.js → public/sdk/runtime-recovery-codes-bTm3fLV4.js} +15 -19
  709. package/dist/public/sdk/{runtimeContext-CH97jPZ0.js → runtimeContext-iLXnxVlZ.js} +615 -850
  710. package/dist/{esm/sdk/runtimeLoader-BFAmJAbu.js → public/sdk/runtimeLoader-hod6T2-m.js} +12 -12
  711. package/dist/{esm/sdk/sdkSentEvents-5Pi-hjHB.js → public/sdk/sdkSentEvents-MqDkbQg1.js} +10 -8
  712. package/dist/{esm/sdk/secp256k1-Cr1jBW1n.js → public/sdk/secp256k1-el9aE4Sv.js} +22 -156
  713. package/dist/public/sdk/sessionPolicy-CHiilOAB.js +453 -0
  714. package/dist/{esm/sdk/signEvmFamily-Dxk4sBPY.js → public/sdk/signEvmFamily-e4IWWsZs.js} +108 -99
  715. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-DHTBHHgE.js → signEvmFamilyWithUiConfirmForTempo-Cu9qdk8M.js} +11 -15
  716. package/dist/{esm/sdk/signEvmWithUiConfirm-CSxTBQUW.js → public/sdk/signEvmWithUiConfirm-C61TCBnh.js} +6 -10
  717. package/dist/{esm/sdk/signNear-B0OCVKoH.js → public/sdk/signNear-Bblwn2kT.js} +763 -807
  718. package/dist/public/sdk/{evmAdapter-C5NR5tiV.js → signatureUses-BkGyYt8F.js} +12 -3
  719. package/dist/{esm/sdk/signerDomain-DDLiwuYS.js → public/sdk/signerDomain-IEAVrOrc.js} +3 -18
  720. package/dist/{esm/sdk/signerLoader-D0WU1jq_.js → public/sdk/signerLoader-D7Aey0FD.js} +4 -4
  721. package/dist/public/sdk/{signatureUses-C1o1pDql.js → signingFlow-rZfPegH9.js} +16 -29
  722. package/dist/{esm/sdk/trace-DWnDLSuV.js → public/sdk/trace-rHe0wz7q.js} +11 -2
  723. package/dist/{esm/sdk/transaction-activity-DKgIGpKG.js → public/sdk/transaction-activity-CSMCveBn.js} +1 -1
  724. package/dist/public/sdk/{transactionReview-UoZQ2opj.js → transactionReview-DpHLTznU.js} +4 -6
  725. package/dist/{esm/sdk/transactionReviewAdmission-Cv9kTr4c.js → public/sdk/transactionReviewAdmission-BCPvl8OZ.js} +2 -2
  726. package/dist/public/sdk/{transactionState-Bpm4GamO.js → transactionState-DP9O8F6f.js} +12 -10
  727. package/dist/public/sdk/tx-confirm-ui.js +182 -154
  728. package/dist/public/sdk/types-Dx9fczU7.js +111 -0
  729. package/dist/{esm/sdk/validation-BphUDXs7.js → public/sdk/validation-gat4LEKm.js} +36 -2
  730. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +2 -2
  731. package/dist/public/sdk/wallet-iframe-host-full.js +2 -2
  732. package/dist/public/sdk/wallet-iframe-host-near.js +2 -2
  733. package/dist/public/sdk/wallet-iframe-host-runtime.js +2 -2
  734. package/dist/public/sdk/{wallet-recovery-CKqoHbxT.js → wallet-recovery-Bz9qKgaL.js} +19 -25
  735. package/dist/public/sdk/wallet-service.css +21 -0
  736. package/dist/public/sdk/wallet-ui.css +95 -45
  737. package/dist/{esm/sdk/sessionPolicy-B4FsPuk2.js → public/sdk/walletAuthority-BQBxgUBn.js} +506 -445
  738. package/dist/{esm/sdk/ed25519SeedMaterial-Cghz8-XB.js → public/sdk/walletCustodyEcdsaContinuity-Hn4ORIbf.js} +1898 -2033
  739. package/dist/{esm/sdk/walletRecoveryCommit-G6w6N5RV.js → public/sdk/walletRecoveryCommit-sjGNTHUj.js} +17 -22
  740. package/dist/public/sdk/{walletRecoveryRotate-BYOYJAyb.js → walletRecoveryRotate-BgLlW5ih.js} +1 -1
  741. package/dist/public/sdk/{warmSessionHydration-DDNYdTCz.js → warmSessionHydration-Os8niEm7.js} +1 -1
  742. package/dist/public/sdk/{webauthnP256-CHqprSh1.js → webauthnP256-DC5EIbKN.js} +1 -1
  743. package/dist/public/sdk/workers/device-linking-key.worker.js +2954 -3134
  744. package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +1688 -2144
  745. package/dist/public/sdk/workers/ecdsa-online-client.worker.js +9 -117
  746. package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +44 -147
  747. package/dist/public/sdk/workers/email-otp.worker.js +9265 -9596
  748. package/dist/public/sdk/workers/evm-crypto.worker.js +8 -6
  749. package/dist/public/sdk/workers/near-signer.worker.js +4 -4
  750. package/dist/public/sdk/workers/near_signer.wasm +0 -0
  751. package/dist/public/sdk/workers/passkey-confirm.worker.js +6 -3
  752. package/dist/public/sdk/workers/passkey-mpc-export.worker.js +95 -101
  753. package/dist/public/sdk/workers/passkey-mpc-session.worker.js +205 -202
  754. package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  755. package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  756. package/dist/public/sdk/workers/tempo-signer.worker.js +8 -6
  757. package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +223 -215
  758. package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
  759. package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
  760. package/dist/public/wallet-assets.manifest.json +334 -214
  761. package/dist/public/wallet-service/index.html +4 -4
  762. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +8 -26
  763. package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +0 -8
  764. package/dist/types/shared-ts/src/authorization/operationFingerprint.d.ts +1 -3
  765. package/dist/types/shared-ts/src/authorization/walletAuthority.d.ts +25 -12
  766. package/dist/types/shared-ts/src/authorization/walletSessionIssuance.d.ts +2 -1
  767. package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +3 -2
  768. package/dist/types/shared-ts/src/device-linking/authorityActivation.d.ts +5 -0
  769. package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +2 -5
  770. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +8 -11
  771. package/dist/types/shared-ts/src/device-linking/contracts.typecheck.d.ts +2 -1
  772. package/dist/types/shared-ts/src/device-linking/deviceManagement.d.ts +7 -0
  773. package/dist/types/shared-ts/src/device-linking/digests.d.ts +0 -5
  774. package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +3 -2
  775. package/dist/types/shared-ts/src/device-linking/index.d.ts +2 -0
  776. package/dist/types/shared-ts/src/device-linking/parsers.d.ts +4 -41
  777. package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +0 -1
  778. package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +3 -2
  779. package/dist/types/shared-ts/src/device-linking/walletSessionCredentialDelivery.d.ts +2 -1
  780. package/dist/types/shared-ts/src/device-linking/wireFields.d.ts +26 -0
  781. package/dist/types/shared-ts/src/near/actions.d.ts +4 -4
  782. package/dist/types/shared-ts/src/near/delegate.d.ts +3 -2
  783. package/dist/types/shared-ts/src/near/nearClient.d.ts +145 -0
  784. package/dist/types/shared-ts/src/passkey-custody/ceremonyCommitPayload.d.ts +0 -22
  785. package/dist/types/shared-ts/src/passkey-custody/credentialActivity.d.ts +2 -4
  786. package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +9 -18
  787. package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +8 -24
  788. package/dist/types/shared-ts/src/passkey-custody/index.d.ts +0 -2
  789. package/dist/types/shared-ts/src/passkey-custody/primitives.d.ts +0 -14
  790. package/dist/types/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.d.ts +0 -15
  791. package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +2 -51
  792. package/dist/types/shared-ts/src/signing-lanes/index.d.ts +1 -2
  793. package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +1 -2
  794. package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +5 -27
  795. package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +0 -11
  796. package/dist/types/shared-ts/src/signing-lanes/recordParsers.d.ts +6 -53
  797. package/dist/types/shared-ts/src/signing-lanes/records.d.ts +1 -2
  798. package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +15 -37
  799. package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +1 -20
  800. package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +4 -25
  801. package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +1 -41
  802. package/dist/types/shared-ts/src/signing-lanes/rotationProtocolParsers.d.ts +6 -0
  803. package/dist/types/shared-ts/src/signing-lanes/rotationWireFields.d.ts +20 -0
  804. package/dist/types/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.d.ts +2 -35
  805. package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +8 -35
  806. package/dist/types/shared-ts/src/threshold/keyMaterialBrands.d.ts +25 -0
  807. package/dist/types/shared-ts/src/threshold/participants.d.ts +3 -9
  808. package/dist/types/shared-ts/src/threshold/secp256k1.d.ts +0 -37
  809. package/dist/types/shared-ts/src/threshold/sessionPolicy.d.ts +24 -0
  810. package/dist/types/shared-ts/src/threshold/signingRootScope.d.ts +2 -5
  811. package/dist/types/shared-ts/src/utils/addAuthMethodRegistration.d.ts +3 -4
  812. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +7 -108
  813. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +16 -3
  814. package/dist/types/shared-ts/src/utils/canonicalPrimitives.d.ts +2 -0
  815. package/dist/types/shared-ts/src/utils/digestEncoding.d.ts +9 -0
  816. package/dist/types/shared-ts/src/utils/domainIds.d.ts +1 -2
  817. package/dist/types/shared-ts/src/utils/ecdsaKeyFactsInventory.d.ts +1 -2
  818. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +5 -5
  819. package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +0 -2
  820. package/dist/types/shared-ts/src/utils/errors.d.ts +0 -7
  821. package/dist/types/shared-ts/src/utils/exactRecord.d.ts +12 -0
  822. package/dist/types/shared-ts/src/utils/index.d.ts +5 -2
  823. package/dist/types/shared-ts/src/utils/jsonRpc.d.ts +3 -2
  824. package/dist/types/shared-ts/src/utils/near.d.ts +2 -1
  825. package/dist/types/shared-ts/src/utils/nearRpcResults.d.ts +7 -7
  826. package/dist/types/shared-ts/src/utils/normalize.d.ts +0 -4
  827. package/dist/types/shared-ts/src/utils/registrationAuthMethodInput.d.ts +184 -0
  828. package/dist/types/shared-ts/src/utils/registrationContracts.d.ts +76 -0
  829. package/dist/types/shared-ts/src/utils/registrationEstablishedSession.d.ts +1 -2
  830. package/dist/types/shared-ts/src/utils/registrationIds.d.ts +56 -0
  831. package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +9 -514
  832. package/dist/types/shared-ts/src/utils/registrationSignerPlan.d.ts +142 -0
  833. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +21 -92
  834. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +14 -99
  835. package/dist/types/shared-ts/src/utils/routerAbEd25519YaoDigests.d.ts +39 -0
  836. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +10 -15
  837. package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +2 -1
  838. package/dist/types/shared-ts/src/utils/secureRandomId.d.ts +0 -2
  839. package/dist/types/shared-ts/src/utils/signerDomain.d.ts +3 -35
  840. package/dist/types/shared-ts/src/utils/signerSlot.d.ts +0 -4
  841. package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +1 -7
  842. package/dist/types/shared-ts/src/utils/validation.d.ts +10 -10
  843. package/dist/types/shared-ts/src/utils/variant.d.ts +11 -0
  844. package/dist/types/shared-ts/src/utils/variant.typecheck.d.ts +22 -0
  845. package/dist/types/shared-ts/src/utils/walletAddSignerActivation.d.ts +2 -2
  846. package/dist/types/shared-ts/src/utils/walletAuthAuthority.d.ts +1 -58
  847. package/dist/types/shared-ts/src/utils/walletAuthMethodRecord.d.ts +104 -0
  848. package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +3 -7
  849. package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +3 -4
  850. package/dist/types/shared-ts/src/utils/wireSchema.d.ts +60 -0
  851. package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +2 -1
  852. package/dist/types/shared-ts/src/wallet-recovery/index.d.ts +0 -1
  853. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeLocator.d.ts +0 -16
  854. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +2 -11
  855. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.d.ts +6 -18
  856. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.d.ts +0 -2
  857. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.d.ts +1 -3
  858. package/dist/types/wallet/src/SeamsWeb/SeamsWeb.d.ts +0 -12
  859. package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfaceAssembly.d.ts +3 -13
  860. package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfacePorts.d.ts +2 -1
  861. package/dist/types/wallet/src/SeamsWeb/assembly/browserWorkerWarmupPolicy.d.ts +1 -3
  862. package/dist/types/wallet/src/SeamsWeb/assembly/createBrowserSigningStores.d.ts +2 -1
  863. package/dist/types/wallet/src/SeamsWeb/assembly/initializeBrowserSigningRuntime.d.ts +2 -1
  864. package/dist/types/wallet/src/SeamsWeb/assembly/preconnectWalletAssets.d.ts +2 -3
  865. package/dist/types/wallet/src/SeamsWeb/operations/auth/login.d.ts +13 -88
  866. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletAuth.d.ts +2 -2
  867. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.d.ts +2 -18
  868. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletUnlockSubject.d.ts +4 -7
  869. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.d.ts +5 -6
  870. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.d.ts +1 -1
  871. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/challenge.d.ts +0 -13
  872. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +0 -1
  873. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.d.ts +2 -1
  874. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/registrationAuthority.d.ts +2 -2
  875. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.d.ts +1 -2
  876. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.d.ts +20 -0
  877. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/localPasskeyProjection.d.ts +4 -42
  878. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/registrationAuthority.d.ts +2 -1
  879. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/revokeAuthMethod.d.ts +1 -9
  880. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/sourcePasskeyProof.d.ts +2 -7
  881. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.d.ts +0 -13
  882. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingComposition.d.ts +2 -21
  883. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.d.ts +2 -2
  884. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingHttpTransport.d.ts +4 -17
  885. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.d.ts +2 -1
  886. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingPorts.d.ts +10 -16
  887. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingResume.d.ts +4 -3
  888. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.d.ts +2 -14
  889. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDevice.d.ts +3 -91
  890. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceFlow.d.ts +88 -0
  891. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceFlowSupport.d.ts +53 -0
  892. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceTargetActivation.d.ts +149 -0
  893. package/dist/types/wallet/src/SeamsWeb/operations/devices/scanDevice.d.ts +2 -1
  894. package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostComposition.d.ts +4 -9
  895. package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostOwnerAuthority.d.ts +9 -5
  896. package/dist/types/wallet/src/SeamsWeb/operations/near/actions.d.ts +0 -46
  897. package/dist/types/wallet/src/SeamsWeb/operations/near/delegateAction.d.ts +2 -1
  898. package/dist/types/wallet/src/SeamsWeb/operations/near/signingEventHelpers.d.ts +2 -1
  899. package/dist/types/wallet/src/SeamsWeb/operations/recovery/accountSync.d.ts +2 -1
  900. package/dist/types/wallet/src/SeamsWeb/operations/recovery/recoveryWalletBinding.d.ts +1 -2
  901. package/dist/types/wallet/src/SeamsWeb/operations/recovery/syncAccount.d.ts +1 -77
  902. package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecovery.d.ts +8 -7
  903. package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecoveryCodeBackup.d.ts +1 -1
  904. package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecoveryCommit.d.ts +0 -2
  905. package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecoveryRotation.d.ts +0 -8
  906. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.d.ts +1 -1
  907. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.d.ts +2 -2
  908. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +8 -10
  909. package/dist/types/wallet/src/SeamsWeb/operations/registration/registration.d.ts +10 -234
  910. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +18 -5
  911. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +2 -6
  912. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationStrictEcdsa.d.ts +1 -7
  913. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTerminalCommit.d.ts +2 -2
  914. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +49 -275
  915. package/dist/types/wallet/src/SeamsWeb/operations/session/thresholdEcdsaProvisioning.d.ts +3 -2
  916. package/dist/types/wallet/src/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.d.ts +1 -1
  917. package/dist/types/wallet/src/SeamsWeb/publicApi/awaitNearReady.d.ts +0 -1
  918. package/dist/types/wallet/src/SeamsWeb/publicApi/capabilitySelection.d.ts +1 -1
  919. package/dist/types/wallet/src/SeamsWeb/publicApi/currentWallet.d.ts +2 -1
  920. package/dist/types/wallet/src/SeamsWeb/publicApi/devices.d.ts +1 -1
  921. package/dist/types/wallet/src/SeamsWeb/publicApi/keyExport.d.ts +1 -4
  922. package/dist/types/wallet/src/SeamsWeb/publicApi/near.d.ts +0 -8
  923. package/dist/types/wallet/src/SeamsWeb/publicApi/transactionReview.d.ts +2 -1
  924. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +22 -20
  925. package/dist/types/wallet/src/SeamsWeb/registrationIntent.typecheck.d.ts +8 -0
  926. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +14 -61
  927. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +2 -4
  928. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/overlay/overlay-controller.d.ts +3 -3
  929. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/overlay/overlay-styles.d.ts +3 -3
  930. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.d.ts +0 -13
  931. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +3 -4
  932. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/domain.d.ts +8 -39
  933. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/geometry.d.ts +3 -7
  934. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/renderer.d.ts +2 -2
  935. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/IframeTransport.d.ts +3 -7
  936. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/iframe-transport-dom.d.ts +2 -3
  937. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/iframe-transport-handshake.d.ts +1 -11
  938. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/webauthn-bridge.d.ts +0 -6
  939. package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +2 -1
  940. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/controller.d.ts +2 -3
  941. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +2 -8
  942. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/passkey.d.ts +3 -3
  943. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/session.d.ts +2 -4
  944. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/bootstrap.d.ts +0 -4
  945. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/canonicalSignerErrorCode.d.ts +2 -7
  946. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/context.d.ts +0 -5
  947. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/authMenu.d.ts +0 -1
  948. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/walletIframeHandler.types.d.ts +0 -13
  949. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/hostedWalletSeamsSession.d.ts +1 -2
  950. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +10 -10
  951. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeLoader.d.ts +2 -1
  952. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +2 -1
  953. package/dist/types/wallet/src/SeamsWeb/walletIframe/sanitization.d.ts +0 -7
  954. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionReconciliation.d.ts +3 -2
  955. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionState.d.ts +2 -2
  956. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +53 -58
  957. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/transactionReview.d.ts +3 -2
  958. package/dist/types/wallet/src/core/accountData/near/accountProjection.d.ts +4 -49
  959. package/dist/types/wallet/src/core/accountData/near/keyMaterial.d.ts +1 -16
  960. package/dist/types/wallet/src/core/accountData/near/profileId.d.ts +2 -2
  961. package/dist/types/wallet/src/core/browser/walletIframe/events.d.ts +0 -1
  962. package/dist/types/wallet/src/core/config/chains.d.ts +0 -2
  963. package/dist/types/wallet/src/core/config/configBuilder.d.ts +0 -4
  964. package/dist/types/wallet/src/core/config/configHelpers.d.ts +1 -21
  965. package/dist/types/wallet/src/core/config/defaultConfigs.d.ts +1 -4
  966. package/dist/types/wallet/src/core/config/registrationConfig.typecheck.d.ts +1 -2
  967. package/dist/types/wallet/src/core/indexedDB/accountKeyMaterial.d.ts +5 -4
  968. package/dist/types/wallet/src/core/indexedDB/accountSignerLifecycle.d.ts +1 -1
  969. package/dist/types/wallet/src/core/indexedDB/index.d.ts +1 -5
  970. package/dist/types/wallet/src/core/indexedDB/keyMaterialEnvelope.d.ts +1 -2
  971. package/dist/types/wallet/src/core/indexedDB/linkedAuthoritySignerMaterial.d.ts +3 -3
  972. package/dist/types/wallet/src/core/indexedDB/normalization.d.ts +0 -3
  973. package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +5 -18
  974. package/dist/types/wallet/src/core/indexedDB/pendingWalletRegistrationCommit.d.ts +2 -4
  975. package/dist/types/wallet/src/core/indexedDB/profileAccountProjection.d.ts +3 -14
  976. package/dist/types/wallet/src/core/indexedDB/schemaNames.d.ts +2 -1
  977. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.d.ts +177 -0
  978. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.d.ts +155 -0
  979. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.d.ts +15 -256
  980. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +101 -0
  981. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/laneHolderMaterialStore.d.ts +0 -1
  982. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/manager.d.ts +2 -1
  983. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.d.ts +3 -2
  984. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +49 -44
  985. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/signingSessionSeals.d.ts +2 -1
  986. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.d.ts +47 -0
  987. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.d.ts +2 -2
  988. package/dist/types/wallet/src/core/indexedDB/unifiedIndexedDBManager.d.ts +7 -4
  989. package/dist/types/wallet/src/core/platform/ecdsaRoleLocalRecords.d.ts +1 -40
  990. package/dist/types/wallet/src/core/platform/secretSources.d.ts +1 -1
  991. package/dist/types/wallet/src/core/platform/signerCoreCommandAdapters.typecheck.d.ts +25 -0
  992. package/dist/types/wallet/src/core/rpcClients/evm/EvmClient.d.ts +1 -2
  993. package/dist/types/wallet/src/core/rpcClients/evm/nonceBackend.d.ts +6 -22
  994. package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +13 -133
  995. package/dist/types/wallet/src/core/rpcClients/near/rpcCalls.d.ts +5 -31
  996. package/dist/types/wallet/src/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.d.ts +0 -1
  997. package/dist/types/wallet/src/core/rpcClients/relayer/passkeyCustodyEnvelope.d.ts +4 -3
  998. package/dist/types/wallet/src/core/rpcClients/relayer/registrationSignerSetRequest.d.ts +3 -2
  999. package/dist/types/wallet/src/core/rpcClients/relayer/relayerHttp.d.ts +2 -2
  1000. package/dist/types/wallet/src/core/rpcClients/relayer/routerAbNormalSigning.d.ts +10 -39
  1001. package/dist/types/wallet/src/core/rpcClients/relayer/sealedRefreshCapabilities.d.ts +0 -14
  1002. package/dist/types/wallet/src/core/rpcClients/relayer/thresholdEcdsa.d.ts +4 -66
  1003. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryFinalize.d.ts +2 -5
  1004. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryGoogleEmailOtp.d.ts +4 -7
  1005. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryPrepare.d.ts +4 -4
  1006. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryRotate.d.ts +3 -19
  1007. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +32 -106
  1008. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistrationTerminalResponse.d.ts +2 -2
  1009. package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +2 -10
  1010. package/dist/types/wallet/src/core/runtime/runtime.types.d.ts +7 -6
  1011. package/dist/types/wallet/src/core/signingEngine/assembly/createManagers.d.ts +2 -1
  1012. package/dist/types/wallet/src/core/signingEngine/assembly/ports/warmSigning.d.ts +1 -1
  1013. package/dist/types/wallet/src/core/signingEngine/assembly/warmup.d.ts +2 -1
  1014. package/dist/types/wallet/src/core/signingEngine/chains/evm/bytes.d.ts +0 -2
  1015. package/dist/types/wallet/src/core/signingEngine/chains/evm/display/evmTx.d.ts +2 -1
  1016. package/dist/types/wallet/src/core/signingEngine/chains/evm/display/functionSelectors.d.ts +0 -1
  1017. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmAdapter.d.ts +2 -1
  1018. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmCryptoWasm.d.ts +0 -9
  1019. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmSigning.types.d.ts +2 -2
  1020. package/dist/types/wallet/src/core/signingEngine/chains/near/display.d.ts +4 -2
  1021. package/dist/types/wallet/src/core/signingEngine/chains/near/payloads.d.ts +4 -3
  1022. package/dist/types/wallet/src/core/signingEngine/chains/tempo/display.d.ts +2 -1
  1023. package/dist/types/wallet/src/core/signingEngine/chains/tempo/tempoAdapter.d.ts +2 -1
  1024. package/dist/types/wallet/src/core/signingEngine/chains/tempo/tempoSigning.types.d.ts +4 -7
  1025. package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaDerivationExport.d.ts +4 -101
  1026. package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaExportMaterial.d.ts +1 -17
  1027. package/dist/types/wallet/src/core/signingEngine/flows/recovery/ed25519YaoExportFlow.d.ts +1 -1
  1028. package/dist/types/wallet/src/core/signingEngine/flows/recovery/exportKeypairOperation.d.ts +1 -1
  1029. package/dist/types/wallet/src/core/signingEngine/flows/recovery/keyExportConfirmation.d.ts +2 -5
  1030. package/dist/types/wallet/src/core/signingEngine/flows/recovery/keyExportFlow.d.ts +2 -2
  1031. package/dist/types/wallet/src/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.d.ts +3 -6
  1032. package/dist/types/wallet/src/core/signingEngine/flows/recovery/stepUpAuthorization.d.ts +3 -3
  1033. package/dist/types/wallet/src/core/signingEngine/flows/registration/accountLifecycle.d.ts +9 -20
  1034. package/dist/types/wallet/src/core/signingEngine/flows/registration/nearProvisioningRegistry.d.ts +2 -20
  1035. package/dist/types/wallet/src/core/signingEngine/flows/registration/services/ecdsaRegistrationSessions.d.ts +2 -1
  1036. package/dist/types/wallet/src/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.d.ts +5 -10
  1037. package/dist/types/wallet/src/core/signingEngine/flows/shared/signingConfirmation.d.ts +0 -15
  1038. package/dist/types/wallet/src/core/signingEngine/flows/shared/signingStateMachine.d.ts +7 -50
  1039. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/authPlanning.d.ts +1 -1
  1040. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/ecdsaSelection.d.ts +2 -6
  1041. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.d.ts +1 -1
  1042. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/errors.d.ts +3 -15
  1043. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/executorThresholdState.d.ts +0 -4
  1044. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/freshAuthRetryPolicy.d.ts +3 -3
  1045. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/freshWalletSessionRetry.d.ts +2 -1
  1046. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/nonceResolution.d.ts +0 -1
  1047. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/preparedSigning.d.ts +5 -14
  1048. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.d.ts +0 -5
  1049. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/requireEvmFamilyStepUpAuth.d.ts +7 -7
  1050. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signatureUses.d.ts +0 -2
  1051. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signerLoader.d.ts +5 -4
  1052. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +2 -3
  1053. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlow.d.ts +12 -12
  1054. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.d.ts +1 -41
  1055. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/stepUpAuthorization.d.ts +4 -22
  1056. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/thresholdAdmission.d.ts +2 -1
  1057. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/types.d.ts +2 -1
  1058. package/dist/types/wallet/src/core/signingEngine/flows/signNear/implicitAccountFunding.d.ts +1 -1
  1059. package/dist/types/wallet/src/core/signingEngine/flows/signNear/requireNearStepUpAuth.d.ts +3 -3
  1060. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoCapabilityResolution.d.ts +1 -1
  1061. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.d.ts +2 -2
  1062. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.d.ts +1 -1
  1063. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signatureOnlySigning.d.ts +126 -0
  1064. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signingMaterials.d.ts +2 -1
  1065. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.d.ts +3 -3
  1066. package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNear.d.ts +6 -5
  1067. package/dist/types/wallet/src/core/signingEngine/flows/signNear/stepUpAuthorization.d.ts +1 -6
  1068. package/dist/types/wallet/src/core/signingEngine/interfaces/accountAuthMetadata.d.ts +0 -1
  1069. package/dist/types/wallet/src/core/signingEngine/interfaces/display.d.ts +7 -6
  1070. package/dist/types/wallet/src/core/signingEngine/interfaces/ecdsaChainTarget.d.ts +1 -1
  1071. package/dist/types/wallet/src/core/signingEngine/interfaces/near.d.ts +5 -44
  1072. package/dist/types/wallet/src/core/signingEngine/interfaces/operationDeps.d.ts +2 -14
  1073. package/dist/types/wallet/src/core/signingEngine/interfaces/operationStepUpPreparation.d.ts +1 -1
  1074. package/dist/types/wallet/src/core/signingEngine/interfaces/signing.d.ts +8 -17
  1075. package/dist/types/wallet/src/core/signingEngine/nonce/evmNonceLane.d.ts +2 -2
  1076. package/dist/types/wallet/src/core/signingEngine/nonce/nearNonceLane.d.ts +5 -29
  1077. package/dist/types/wallet/src/core/signingEngine/nonce/nearNonceLaneIdentity.d.ts +0 -1
  1078. package/dist/types/wallet/src/core/signingEngine/nonce/nearTransactionReadiness.d.ts +2 -1
  1079. package/dist/types/wallet/src/core/signingEngine/nonce/nonceCoordinationRecordBoundary.d.ts +0 -1
  1080. package/dist/types/wallet/src/core/signingEngine/nonce/nonceDiagnostics.d.ts +3 -4
  1081. package/dist/types/wallet/src/core/signingEngine/nonce/nonceLaneKeys.d.ts +1 -3
  1082. package/dist/types/wallet/src/core/signingEngine/nonce/nonceLeaseState.d.ts +2 -1
  1083. package/dist/types/wallet/src/core/signingEngine/nonce/nonceTypes.d.ts +13 -13
  1084. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/clientCeremony.d.ts +1 -1
  1085. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/httpRequest.d.ts +0 -1
  1086. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.d.ts +5 -4
  1087. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.d.ts +1 -7
  1088. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignatureRefillProgress.d.ts +2 -1
  1089. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/registrationPendingFinalization.d.ts +1 -1
  1090. package/dist/types/wallet/src/core/signingEngine/session/SigningSessionCoordinator.d.ts +5 -8
  1091. package/dist/types/wallet/src/core/signingEngine/session/authority/authorityOperationResolver.d.ts +1 -1
  1092. package/dist/types/wallet/src/core/signingEngine/session/availability/availableSigningLanes.d.ts +14 -37
  1093. package/dist/types/wallet/src/core/signingEngine/session/availability/clientSessionExpiryInvalidator.d.ts +3 -2
  1094. package/dist/types/wallet/src/core/signingEngine/session/availability/persistedAvailableSigningLanes.d.ts +3 -2
  1095. package/dist/types/wallet/src/core/signingEngine/session/availability/readiness.d.ts +6 -31
  1096. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/challengeDelivery.d.ts +0 -5
  1097. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/coordinatorRuntime.d.ts +0 -1
  1098. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaBootstrapCommit.d.ts +1 -21
  1099. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaLogin.d.ts +6 -61
  1100. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaPublication.d.ts +4 -21
  1101. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaRecovery.d.ts +3 -19
  1102. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.d.ts +3 -2
  1103. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ed25519ExportContext.d.ts +4 -6
  1104. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecoveryRuntime.d.ts +0 -1
  1105. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ports.d.ts +2 -3
  1106. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/publicTypes.d.ts +4 -6
  1107. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/routePlan.d.ts +4 -15
  1108. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/runtimeConfig.d.ts +2 -1
  1109. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/sealedRefreshPolicy.d.ts +4 -17
  1110. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/sealedRestoreOrchestrator.d.ts +2 -1
  1111. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/sealedSessionRegistry.d.ts +2 -1
  1112. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/secretEscrow.d.ts +4 -11
  1113. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/walletUnlock.d.ts +1 -1
  1114. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/warmSessionRuntime.d.ts +2 -1
  1115. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/workerRequests.d.ts +1 -1
  1116. package/dist/types/wallet/src/core/signingEngine/session/holderShares/holderShareHandle.d.ts +0 -13
  1117. package/dist/types/wallet/src/core/signingEngine/session/identity/clientSessionPersistenceState.d.ts +6 -7
  1118. package/dist/types/wallet/src/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.d.ts +0 -3
  1119. package/dist/types/wallet/src/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.d.ts +17 -31
  1120. package/dist/types/wallet/src/core/signingEngine/session/identity/exactSigningLaneIdentity.d.ts +10 -27
  1121. package/dist/types/wallet/src/core/signingEngine/session/identity/exactWalletSessionCredential.d.ts +9 -8
  1122. package/dist/types/wallet/src/core/signingEngine/session/identity/laneIdentity.d.ts +8 -12
  1123. package/dist/types/wallet/src/core/signingEngine/session/identity/ownerLaneScope.d.ts +9 -17
  1124. package/dist/types/wallet/src/core/signingEngine/session/identity/selectLane.d.ts +12 -28
  1125. package/dist/types/wallet/src/core/signingEngine/session/identity/signingLaneAuthBinding.d.ts +4 -3
  1126. package/dist/types/wallet/src/core/signingEngine/session/identity/walletUnlockSubject.d.ts +1 -1
  1127. package/dist/types/wallet/src/core/signingEngine/session/keyMaterialBrands.d.ts +3 -27
  1128. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/activationCoordinator.d.ts +0 -1
  1129. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/laneMaterialInvalidation.d.ts +2 -37
  1130. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/recipientPreparation.d.ts +4 -16
  1131. package/dist/types/wallet/src/core/signingEngine/session/lanes/walletExecutionLaneHydration.d.ts +5 -42
  1132. package/dist/types/wallet/src/core/signingEngine/session/lifecycle/canonicalWalletSessionStatus.d.ts +2 -1
  1133. package/dist/types/wallet/src/core/signingEngine/session/lifecycle/walletSessionStatus.d.ts +2 -6
  1134. package/dist/types/wallet/src/core/signingEngine/session/material/activeEcdsaCapabilityRuntime.d.ts +4 -3
  1135. package/dist/types/wallet/src/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.d.ts +5 -5
  1136. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaCapabilityHydration.d.ts +1 -1
  1137. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaCapabilityManifest.d.ts +5 -5
  1138. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.d.ts +2 -2
  1139. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSealedRuntime.d.ts +3 -31
  1140. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +5 -9
  1141. package/dist/types/wallet/src/core/signingEngine/session/material/mpcCapabilityHydration.d.ts +4 -5
  1142. package/dist/types/wallet/src/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.d.ts +5 -4
  1143. package/dist/types/wallet/src/core/signingEngine/session/material/walletSigningStateFailure.d.ts +9 -8
  1144. package/dist/types/wallet/src/core/signingEngine/session/operationState/authorizationAdmission.d.ts +5 -9
  1145. package/dist/types/wallet/src/core/signingEngine/session/operationState/lanes.d.ts +13 -16
  1146. package/dist/types/wallet/src/core/signingEngine/session/operationState/preparedOperation.d.ts +2 -1
  1147. package/dist/types/wallet/src/core/signingEngine/session/operationState/trace.d.ts +6 -9
  1148. package/dist/types/wallet/src/core/signingEngine/session/operationState/transactionState.d.ts +5 -26
  1149. package/dist/types/wallet/src/core/signingEngine/session/operationState/types.d.ts +16 -32
  1150. package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaBootstrap.d.ts +4 -4
  1151. package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaSessionProvision.d.ts +3 -19
  1152. package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.d.ts +4 -15
  1153. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519Provisioner.d.ts +2 -1
  1154. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519SessionProvision.d.ts +1 -1
  1155. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519SessionProvision.typecheck.d.ts +7 -1
  1156. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.d.ts +10 -94
  1157. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoSealedSession.d.ts +3 -2
  1158. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.d.ts +3 -13
  1159. package/dist/types/wallet/src/core/signingEngine/session/passkey/passkeyCustodySessionCache.d.ts +0 -40
  1160. package/dist/types/wallet/src/core/signingEngine/session/passkey/prfCache.d.ts +2 -1
  1161. package/dist/types/wallet/src/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.d.ts +5 -5
  1162. package/dist/types/wallet/src/core/signingEngine/session/passkey/warmSessionMaterialWriter.d.ts +1 -1
  1163. package/dist/types/wallet/src/core/signingEngine/session/persistence/durableSealedSessionCommands.d.ts +5 -7
  1164. package/dist/types/wallet/src/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.d.ts +0 -1
  1165. package/dist/types/wallet/src/core/signingEngine/session/persistence/ecdsaSealedRecordKey.d.ts +2 -1
  1166. package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionRecords.d.ts +212 -0
  1167. package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionStore.d.ts +4 -199
  1168. package/dist/types/wallet/src/core/signingEngine/session/postconditions/runtimePostconditions.d.ts +6 -35
  1169. package/dist/types/wallet/src/core/signingEngine/session/public.d.ts +1 -1
  1170. package/dist/types/wallet/src/core/signingEngine/session/routerAbSigningWalletSession.d.ts +4 -3
  1171. package/dist/types/wallet/src/core/signingEngine/session/sealedRecovery/recoveryRecord.d.ts +2 -2
  1172. package/dist/types/wallet/src/core/signingEngine/session/userPreferences.d.ts +2 -1
  1173. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReader.d.ts +3 -6
  1174. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReaderCore.d.ts +5 -4
  1175. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/clearVolatileWarmSigningMaterial.d.ts +2 -1
  1176. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.d.ts +2 -1
  1177. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.d.ts +6 -40
  1178. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.typecheck.d.ts +4 -0
  1179. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.d.ts +3 -36
  1180. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/persistencePorts.d.ts +2 -70
  1181. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/readModel.d.ts +4 -12
  1182. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.d.ts +4 -3
  1183. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.d.ts +2 -1
  1184. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/transitions.d.ts +3 -2
  1185. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/types.d.ts +5 -36
  1186. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/types.typecheck.d.ts +10 -1
  1187. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.d.ts +1 -2
  1188. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmCommon.d.ts +3 -2
  1189. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmTypes.d.ts +6 -17
  1190. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/confirmOperation.d.ts +4 -5
  1191. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/methodRunners.d.ts +4 -3
  1192. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/methodSelection.d.ts +5 -10
  1193. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/exportAuthorization.d.ts +7 -6
  1194. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/signingPrompt.d.ts +2 -2
  1195. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.d.ts +2 -3
  1196. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.d.ts +3 -7
  1197. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/requireStepUpAuth.d.ts +2 -2
  1198. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/types.d.ts +8 -8
  1199. package/dist/types/wallet/src/core/signingEngine/threshold/commitQueueShared.d.ts +2 -2
  1200. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.d.ts +4 -16
  1201. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ecdsaLaneWasm.d.ts +0 -9
  1202. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.d.ts +5 -31
  1203. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/webauthn.d.ts +1 -46
  1204. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/activation.d.ts +2 -9
  1205. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/operationStepUp.d.ts +2 -1
  1206. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/postRegistrationSessionActivation.d.ts +5 -4
  1207. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/signingQueue.d.ts +3 -6
  1208. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/commitQueue.d.ts +3 -6
  1209. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/connectSession.d.ts +1 -1
  1210. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/walletSession.d.ts +6 -6
  1211. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.d.ts +2 -1
  1212. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +17 -49
  1213. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoPageLifecycleOwner.d.ts +2 -1
  1214. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.d.ts +2 -15
  1215. package/dist/types/wallet/src/core/signingEngine/threshold/sessionPolicy.d.ts +2 -53
  1216. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.d.ts +1 -1
  1217. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/adapters/request.d.ts +1 -5
  1218. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/signing.d.ts +1 -7
  1219. package/dist/types/wallet/src/core/signingEngine/uiConfirm/nearFundingNotice.d.ts +2 -5
  1220. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirm-surface-resize.d.ts +3 -32
  1221. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirm-ui-types.d.ts +2 -0
  1222. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirmation-model.d.ts +3 -2
  1223. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/export-private-key-reveal.d.ts +0 -1
  1224. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.d.ts +2 -1
  1225. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.d.ts +2 -1
  1226. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PadlockIcon.d.ts +2 -1
  1227. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.d.ts +1 -0
  1228. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.d.ts +11 -2
  1229. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReview.d.ts +4 -21
  1230. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionTree.d.ts +1 -1
  1231. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.d.ts +2 -1
  1232. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/email-otp-session.d.ts +2 -1
  1233. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.d.ts +2 -2
  1234. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/seamsWordmarkPaths.d.ts +0 -2
  1235. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/surface-resize-events.d.ts +2 -2
  1236. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/fallback.d.ts +0 -2
  1237. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/types.d.ts +2 -1
  1238. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/tree.d.ts +3 -3
  1239. package/dist/types/wallet/src/core/signingEngine/uiConfirm/uiConfirm.types.d.ts +9 -9
  1240. package/dist/types/wallet/src/core/signingEngine/walletCustody/activateEd25519Capability.d.ts +2 -1
  1241. package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.d.ts +3 -4
  1242. package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyDriver.d.ts +1 -1
  1243. package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyStepRunner.d.ts +4 -3
  1244. package/dist/types/wallet/src/core/signingEngine/walletCustody/ed25519SeedMaterial.d.ts +1 -1
  1245. package/dist/types/wallet/src/core/signingEngine/walletCustody/emailOtpLink.d.ts +2 -1
  1246. package/dist/types/wallet/src/core/signingEngine/walletCustody/joinCustodyWire.d.ts +2 -1
  1247. package/dist/types/wallet/src/core/signingEngine/walletCustody/openCustodyCache.d.ts +6 -5
  1248. package/dist/types/wallet/src/core/signingEngine/walletCustody/passkeyLink.d.ts +1 -52
  1249. package/dist/types/wallet/src/core/signingEngine/walletCustody/recoveryReplacementEnvelope.d.ts +0 -5
  1250. package/dist/types/wallet/src/core/signingEngine/walletCustody/registrationCeremony.d.ts +16 -26
  1251. package/dist/types/wallet/src/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.d.ts +22 -12
  1252. package/dist/types/wallet/src/core/signingEngine/walletCustody/walletRecoveryEd25519.d.ts +1 -1
  1253. package/dist/types/wallet/src/core/signingEngine/walletCustody/walletRecoveryRotation.d.ts +3 -2
  1254. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/collectAuthenticationCredentialForChallengeB64u.d.ts +1 -2
  1255. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/credentialExtensions.d.ts +2 -5
  1256. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/helpers.d.ts +0 -9
  1257. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/fallbacks/safari-fallbacks.d.ts +4 -9
  1258. package/dist/types/wallet/src/core/signingEngine/workerManager/deviceLinkingPorts.d.ts +3 -12
  1259. package/dist/types/wallet/src/core/signingEngine/workerManager/deviceLinkingSourceContribution.d.ts +17 -9
  1260. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaClientWorkerChannels.d.ts +7 -7
  1261. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +5 -5
  1262. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +75 -81
  1263. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ecdsaTargetShareHpke.d.ts +7 -0
  1264. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ordinaryMaterialState.d.ts +50 -0
  1265. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/requests.d.ts +89 -0
  1266. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key.worker.d.ts +1 -10
  1267. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/ecdsaLaneHolderWorkerRuntime.d.ts +2 -2
  1268. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/crypto.d.ts +66 -0
  1269. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/custodyRestore.d.ts +91 -0
  1270. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/dispatch.d.ts +4 -0
  1271. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/ed25519YaoExport.d.ts +45 -0
  1272. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/enrollment.d.ts +47 -0
  1273. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/fetch.d.ts +2 -1
  1274. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/materialParsing.d.ts +45 -0
  1275. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/operationRequestParsing.d.ts +7 -0
  1276. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/otpVerification.d.ts +53 -0
  1277. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/passkeyCustodyLink.d.ts +18 -0
  1278. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/payloadParsing.d.ts +48 -0
  1279. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/recovery.d.ts +9 -0
  1280. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/requestEnvelope.d.ts +11 -0
  1281. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/sessionState.d.ts +74 -0
  1282. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/unlock.d.ts +133 -0
  1283. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/opaqueEcdsaPresignAuthority.d.ts +6 -6
  1284. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/shamir3pass/clientSealPreparation.d.ts +2 -2
  1285. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/shamir3pass/runtime.d.ts +2 -1
  1286. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/workerErrorPayload.d.ts +16 -0
  1287. package/dist/types/wallet/src/core/types/accountIds.d.ts +2 -1
  1288. package/dist/types/wallet/src/core/types/authenticatorOptions.d.ts +0 -2
  1289. package/dist/types/wallet/src/core/types/confirmationConfig.d.ts +4 -4
  1290. package/dist/types/wallet/src/core/types/ecdsaSignerProvisioningDefaults.d.ts +2 -1
  1291. package/dist/types/wallet/src/core/types/errors.d.ts +2 -1
  1292. package/dist/types/wallet/src/core/types/linkDevice.d.ts +2 -3
  1293. package/dist/types/wallet/src/core/types/rpc.d.ts +0 -30
  1294. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +11 -11
  1295. package/dist/types/wallet/src/core/types/seams.d.ts +35 -55
  1296. package/dist/types/wallet/src/core/types/secure-confirm-worker.d.ts +3 -5
  1297. package/dist/types/wallet/src/core/types/signer-worker.d.ts +13 -70
  1298. package/dist/types/wallet/src/core/types/webauthn.d.ts +3 -12
  1299. package/dist/types/wallet/src/core/walletRuntimePaths/base.d.ts +0 -28
  1300. package/dist/types/wallet/src/core/walletRuntimePaths/wasm-loader.d.ts +2 -1
  1301. package/dist/types/wallet/src/core/walletRuntimePaths/workers.d.ts +0 -11
  1302. package/dist/types/wallet/src/externalEvm/boundary.d.ts +2 -2
  1303. package/dist/types/wallet/src/index.d.ts +3 -1
  1304. package/dist/types/wallet/src/plugins/plugin-utils.d.ts +1 -3
  1305. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuDialog.d.ts +21 -0
  1306. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountsSection.d.ts +2 -1
  1307. package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsModal.d.ts +1 -1
  1308. package/dist/types/wallet/src/react/components/AccountMenuButton/ExportKeysSection.d.ts +2 -1
  1309. package/dist/types/wallet/src/react/components/AccountMenuButton/LinkedDevicesModal.d.ts +1 -1
  1310. package/dist/types/wallet/src/react/components/AccountMenuButton/SegmentedControl.d.ts +2 -2
  1311. package/dist/types/wallet/src/react/components/AccountMenuButton/UserAccountButton.d.ts +0 -7
  1312. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/GlobeIcon.d.ts +1 -1
  1313. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/KeyIcon.d.ts +1 -1
  1314. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LaptopIcon.d.ts +1 -1
  1315. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LinkIcon.d.ts +1 -1
  1316. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockIcon.d.ts +1 -1
  1317. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MailIcon.d.ts +1 -1
  1318. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MoonIcon.d.ts +1 -5
  1319. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/RecoveryCodesIcon.d.ts +1 -1
  1320. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ScanIcon.d.ts +1 -1
  1321. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SlidersIcon.d.ts +1 -1
  1322. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SmartphoneIcon.d.ts +1 -1
  1323. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SunIcon.d.ts +1 -5
  1324. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/strokeIcon.d.ts +10 -0
  1325. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +1 -1
  1326. package/dist/types/wallet/src/react/components/QRCodeIcon.d.ts +1 -1
  1327. package/dist/types/wallet/src/react/components/theme/ThemeProvider.d.ts +0 -9
  1328. package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +2 -205
  1329. package/dist/types/wallet/src/react/context/reactLoginStateBuilders.d.ts +2 -9
  1330. package/dist/types/wallet/src/react/hooks/useAccountInput.d.ts +2 -2
  1331. package/dist/types/wallet/src/react/index.d.ts +3 -1
  1332. package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +108 -8
  1333. package/dist/types/wallet/src/react/transactionReview/controller.d.ts +0 -37
  1334. package/dist/types/wallet/src/react/types.d.ts +2 -2
  1335. package/dist/types/wallet/src/utils/deviceDetection.d.ts +2 -58
  1336. package/dist/types/wallet/src/utils/intentDigest.d.ts +1 -6
  1337. package/dist/types/wallet/src/utils/qrScanner.d.ts +4 -38
  1338. package/dist/workers/device-linking-key.worker.js +2954 -3134
  1339. package/dist/workers/ecdsa-derivation-client.worker.js +1688 -2144
  1340. package/dist/workers/ecdsa-online-client.worker.js +9 -117
  1341. package/dist/workers/ecdsa-presign-client.worker.js +44 -147
  1342. package/dist/workers/email-otp.worker.js +9265 -9596
  1343. package/dist/workers/evm-crypto.worker.js +8 -6
  1344. package/dist/workers/near-signer.worker.js +4 -4
  1345. package/dist/workers/near_signer.wasm +0 -0
  1346. package/dist/workers/passkey-confirm.worker.js +6 -3
  1347. package/dist/workers/passkey-mpc-export.worker.js +95 -101
  1348. package/dist/workers/passkey-mpc-session.worker.js +205 -202
  1349. package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  1350. package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  1351. package/dist/workers/tempo-signer.worker.js +8 -6
  1352. package/dist/workers/wallet-custody-ceremony.worker.js +223 -215
  1353. package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
  1354. package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
  1355. package/package.json +1 -1
  1356. package/dist/esm/react/core/types/rpc.js +0 -9
  1357. package/dist/esm/react/shared-ts/src/signing-lanes/linkedEcdsaScope.js +0 -1
  1358. package/dist/esm/react/shared-ts/src/utils/paillier.js +0 -3
  1359. package/dist/esm/sdk/device-linking-DpVGjSeq.js +0 -221
  1360. package/dist/esm/sdk/ecdsaPresignLifecycle-CnSnzoRJ.js +0 -5511
  1361. package/dist/esm/sdk/evmFamilyEcdsaIdentity-_kuKSW35.js +0 -1385
  1362. package/dist/esm/sdk/participants-Bcnsa_ip.js +0 -232
  1363. package/dist/esm/sdk/registrationIntent-DwAIMQYh.js +0 -1623
  1364. package/dist/esm/sdk/signer-worker-DYRteieu.js +0 -48
  1365. package/dist/esm/shared-ts/src/signing-lanes/linkedEcdsaScope.js +0 -1
  1366. package/dist/esm/shared-ts/src/utils/paillier.js +0 -3
  1367. package/dist/public/sdk/device-linking-DpVGjSeq.js +0 -221
  1368. package/dist/public/sdk/ecdsaPresignLifecycle-CnSnzoRJ.js +0 -5511
  1369. package/dist/public/sdk/evmFamilyEcdsaIdentity-_kuKSW35.js +0 -1385
  1370. package/dist/public/sdk/participants-Bcnsa_ip.js +0 -232
  1371. package/dist/public/sdk/registrationIntent-DwAIMQYh.js +0 -1623
  1372. package/dist/public/sdk/signer-worker-DYRteieu.js +0 -48
  1373. package/dist/types/shared-ts/src/passkey-custody/credentialObservations.d.ts +0 -74
  1374. package/dist/types/shared-ts/src/passkey-custody/kekContext.d.ts +0 -34
  1375. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.d.ts +0 -62
  1376. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.typecheck.d.ts +0 -2
  1377. package/dist/types/shared-ts/src/signing-lanes/validation.d.ts +0 -11
  1378. package/dist/types/shared-ts/src/utils/bigint.d.ts +0 -3
  1379. package/dist/types/shared-ts/src/utils/paillier.d.ts +0 -37
  1380. package/dist/types/shared-ts/src/utils/recoveryDomain.d.ts +0 -12
  1381. package/dist/types/shared-ts/src/utils/signerDomain.typecheck.d.ts +0 -2
  1382. package/dist/types/shared-ts/src/wallet-recovery/recoveryKekContext.d.ts +0 -37
  1383. package/dist/types/wallet/src/SeamsWeb/operations/devices/qrLinkSession.d.ts +0 -7
  1384. package/dist/types/wallet/src/SeamsWeb/operations/session/thresholdWarmSessionDefaults.d.ts +0 -11
  1385. package/dist/types/wallet/src/SeamsWeb/walletIframe/SeamsWebIframe.d.ts +0 -113
  1386. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/env.d.ts +0 -7
  1387. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/index.d.ts +0 -12
  1388. package/dist/types/wallet/src/SeamsWeb/walletIframe/index.d.ts +0 -21
  1389. package/dist/types/wallet/src/core/platform/webCryptoHkdf.d.ts +0 -7
  1390. package/dist/types/wallet/src/core/rpcClients/relayer/routerAbPublicKeyset.d.ts +0 -5
  1391. package/dist/types/wallet/src/core/rpcClients/relayer/thresholdEcdsa.typecheck.d.ts +0 -2
  1392. package/dist/types/wallet/src/core/rpcClients/relayer/walletCredentialActivity.d.ts +0 -48
  1393. package/dist/types/wallet/src/core/signingEngine/flows/recovery/recoveryStorePorts.d.ts +0 -7
  1394. package/dist/types/wallet/src/core/signingEngine/session/holderShares/holderShareEnvelopeAad.d.ts +0 -14
  1395. package/dist/types/wallet/src/core/signingEngine/session/identity/ecdsaDerivationSigningMaterialHandle.d.ts +0 -19
  1396. package/dist/types/wallet/src/core/signingEngine/session/identity/ecdsaDerivationSigningMaterialHandle.typecheck.d.ts +0 -2
  1397. package/dist/types/wallet/src/core/signingEngine/session/lanes/laneRecords.d.ts +0 -3
  1398. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/holderDeliveryCoordinator.d.ts +0 -29
  1399. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/ports.d.ts +0 -53
  1400. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/sourceLaneOperationCoordinator.d.ts +0 -24
  1401. package/dist/types/wallet/src/core/signingEngine/session/operationState/stepUpFreshness.d.ts +0 -135
  1402. package/dist/types/wallet/src/core/signingEngine/session/operationState/stepUpFreshness.typecheck.d.ts +0 -2
  1403. package/dist/types/wallet/src/core/signingEngine/session/passkey/envelopes/index.d.ts +0 -19
  1404. package/dist/types/wallet/src/core/signingEngine/session/passkey/runtime.d.ts +0 -23
  1405. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/walletAuthPolicyError.d.ts +0 -17
  1406. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ed25519WrapKeySalt.d.ts +0 -2
  1407. package/dist/types/wallet/src/core/signingEngine/useCases/lifecycle.d.ts +0 -758
  1408. package/dist/types/wallet/src/core/signingEngine/useCases/lifecycle.typecheck.d.ts +0 -2
  1409. package/dist/types/wallet/src/core/signingEngine/useCases/registerWallet.d.ts +0 -71
  1410. package/dist/types/wallet/src/core/signingEngine/useCases/restorePersistedSessions.d.ts +0 -51
  1411. package/dist/types/wallet/src/core/signingEngine/useCases/signEvmFamily.d.ts +0 -47
  1412. package/dist/types/wallet/src/core/signingEngine/useCases/signNear.d.ts +0 -60
  1413. package/dist/types/wallet/src/core/signingEngine/useCases/unlockWallet.d.ts +0 -69
  1414. package/dist/types/wallet/src/core/signingEngine/walletCustody/coldUnlock.d.ts +0 -57
  1415. package/dist/types/wallet/src/core/signingEngine/workerManager/laneWorkerChannels.d.ts +0 -81
  1416. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/laneHolderWorkerBackend.d.ts +0 -54
  1417. package/dist/types/wallet/src/react/components/AccountMenuButton/HaloBorder/index.d.ts +0 -33
  1418. package/dist/types/wallet/src/react/components/AccountMenuButton/PasskeyHaloLoading.d.ts +0 -10
  1419. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/EclipseIcon.d.ts +0 -8
  1420. package/dist/types/wallet/src/react/components/ArrowRightAnim.d.ts +0 -19
  1421. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/index.d.ts +0 -5
  1422. package/dist/types/wallet/src/theme/base-styles.runtime.d.ts +0 -15
  1423. /package/dist/esm/sdk/{base-CMsoJcVv.js → base-D1B5mGin.js} +0 -0
  1424. /package/dist/esm/sdk/{bytes-CwytAKz8.js → bytes-qKxKn4gg.js} +0 -0
  1425. /package/dist/esm/sdk/{csp-stylesheet-DLj_a6t_.js → csp-stylesheet-btENhsNp.js} +0 -0
  1426. /package/dist/esm/sdk/{events-Z_Rmy0Hn.js → events-DYoBL2HO.js} +0 -0
  1427. /package/dist/esm/sdk/{executeWorkerOperation-Bn8GEuT_.js → executeWorkerOperation-Cl9whMK7.js} +0 -0
  1428. /package/dist/esm/sdk/{jsonRpc-MUsR5-C6.js → jsonRpc-VVkaQkFD.js} +0 -0
  1429. /package/dist/esm/sdk/{keccak-DY5wDsym.js → keccak-DUL3d8SF.js} +0 -0
  1430. /package/dist/esm/sdk/{nearRpcResults-DwvW43FL.js → nearRpcResults-DoUgDATm.js} +0 -0
  1431. /package/dist/esm/sdk/{prfCache-CgAr-VEU.js → prfCache-wqQSjYLn.js} +0 -0
  1432. /package/dist/esm/sdk/{profileAccountProjection-C9rVhbeJ.js → profileAccountProjection-uZVJuBvS.js} +0 -0
  1433. /package/dist/esm/sdk/{promptText-BEgOkGxB.js → promptText-CuRa_ivd.js} +0 -0
  1434. /package/dist/esm/sdk/{shared-Qy1DGMqH.js → shared-DkbeLCI3.js} +0 -0
  1435. /package/dist/esm/sdk/{signerSlot-DbNAs-kc.js → signerSlot-_ovonwVX.js} +0 -0
  1436. /package/dist/esm/sdk/{signingSessionSeal-CdtgXHSL.js → signingSessionSeal-Cu-GHm6y.js} +0 -0
  1437. /package/dist/esm/sdk/{surface-measurement-reporter-D7BNehf4.js → surface-measurement-reporter-CSTyRsMa.js} +0 -0
  1438. /package/dist/esm/sdk/{walletIframeIdentity-UmQTJsHc.js → walletIframeIdentity-DB6Z2EC9.js} +0 -0
  1439. /package/dist/esm/sdk/{webauthnPromptCoordinator-CLeba8ru.js → webauthnPromptCoordinator-L96oVvLz.js} +0 -0
  1440. /package/dist/public/sdk/{base-CMsoJcVv.js → base-D1B5mGin.js} +0 -0
  1441. /package/dist/public/sdk/{bytes-CwytAKz8.js → bytes-qKxKn4gg.js} +0 -0
  1442. /package/dist/public/sdk/{csp-stylesheet-DLj_a6t_.js → csp-stylesheet-btENhsNp.js} +0 -0
  1443. /package/dist/public/sdk/{events-Z_Rmy0Hn.js → events-DYoBL2HO.js} +0 -0
  1444. /package/dist/public/sdk/{executeWorkerOperation-Bn8GEuT_.js → executeWorkerOperation-Cl9whMK7.js} +0 -0
  1445. /package/dist/public/sdk/{jsonRpc-MUsR5-C6.js → jsonRpc-VVkaQkFD.js} +0 -0
  1446. /package/dist/public/sdk/{keccak-DY5wDsym.js → keccak-DUL3d8SF.js} +0 -0
  1447. /package/dist/public/sdk/{nearRpcResults-DwvW43FL.js → nearRpcResults-DoUgDATm.js} +0 -0
  1448. /package/dist/public/sdk/{prfCache-CgAr-VEU.js → prfCache-wqQSjYLn.js} +0 -0
  1449. /package/dist/public/sdk/{profileAccountProjection-C9rVhbeJ.js → profileAccountProjection-uZVJuBvS.js} +0 -0
  1450. /package/dist/public/sdk/{promptText-BEgOkGxB.js → promptText-CuRa_ivd.js} +0 -0
  1451. /package/dist/public/sdk/{shared-Qy1DGMqH.js → shared-DkbeLCI3.js} +0 -0
  1452. /package/dist/public/sdk/{signerSlot-DbNAs-kc.js → signerSlot-_ovonwVX.js} +0 -0
  1453. /package/dist/public/sdk/{signingSessionSeal-CdtgXHSL.js → signingSessionSeal-Cu-GHm6y.js} +0 -0
  1454. /package/dist/public/sdk/{surface-measurement-reporter-D7BNehf4.js → surface-measurement-reporter-CSTyRsMa.js} +0 -0
  1455. /package/dist/public/sdk/{walletIframeIdentity-UmQTJsHc.js → walletIframeIdentity-DB6Z2EC9.js} +0 -0
  1456. /package/dist/public/sdk/{webauthnPromptCoordinator-CLeba8ru.js → webauthnPromptCoordinator-L96oVvLz.js} +0 -0
@@ -0,0 +1,1983 @@
1
+ import { D as parseWalletAuthorityId, E as parseWalletAuthorityBindingDigest, M as parseWebAuthnRpId, O as parseWalletId, T as parseWalletAuthMethodId, a as parseEcdsaActiveStateId, d as parseLinkedDeviceId, h as parseMpcMaterialActivationRef, j as parseWebAuthnCredentialIdB64u, k as parseWalletKeyId, l as parseLinkDeviceSessionId, r as mpcMaterialActivationRefsEqual, s as parseEmailOtpProviderUserId, u as parseLinkedDeviceEnrollmentId, w as parseVerifiedEmailAddress, x as parseThresholdEcdsaSessionId, y as parseRootShareEpoch } from "./domainIds-lcrFg6Sa.js";
2
+ import { _ as requireRecord, i as coerceNonEmptyString } from "./validation-gat4LEKm.js";
3
+ import { i as base64UrlEncode, r as base64UrlDecode } from "./base64-Clm8C-e9.js";
4
+ import { A as parseDelegatedWalletAuthorityV1, E as parseUnixMs, N as exactRecord, P as rejectUnknownFields, _ as deriveEvmFamilySigningKeySlotId, h as normalizeRuntimePolicyScope } from "./sessionPolicy-CHiilOAB.js";
5
+ import { d as parseMpcWalletSigningQuotaId, g as parseWalletSessionMintId, h as parseWalletSessionId, l as parseDeviceId, m as parseWalletSessionAuthorizationId, n as EVM_ECDSA_MPC_OPERATION_KINDS, u as parseEcdsaAuthorizationSessionId } from "./capabilityKinds-hvYqa6S_.js";
6
+ import { f as alphabetizeStringify, m as sha256BytesUtf8 } from "./chains-BMh3btVo.js";
7
+ import { n as parseCorrelationId, r as parseDigestB64u } from "./canonicalPrimitives-BTHWz80v.js";
8
+ //#region ../shared-ts/src/utils/wireSchema.ts
9
+ /** One of the given strings. */
10
+ function wireLiteral(...literals) {
11
+ const parse = (raw, label) => {
12
+ if (!literals.includes(raw)) throw new Error(`${label} is invalid`);
13
+ return raw;
14
+ };
15
+ return Object.assign(parse, { literals });
16
+ }
17
+ /**
18
+ * An object with exactly the fields of `shape`, all required, returned in the shape's order.
19
+ * Checks run in this order: exact keys, then literals (they say which record this is), then
20
+ * the other fields in declaration order, then `refine`'s cross-field rules.
21
+ */
22
+ function wireObject(shape, refine) {
23
+ const keys = Object.keys(shape);
24
+ const order = [...keys.filter((key) => "literals" in shape[key]), ...keys.filter((key) => !("literals" in shape[key]))];
25
+ const parse = (raw, label) => {
26
+ const record = exactRecord(raw, keys, label);
27
+ const parsed = /* @__PURE__ */ new Map();
28
+ for (const key of order) parsed.set(key, shape[key](record[key], `${label}.${key}`));
29
+ const value = Object.fromEntries(keys.map((key) => [key, parsed.get(key)]));
30
+ refine?.(value, label);
31
+ return value;
32
+ };
33
+ return Object.assign(parse, { shape });
34
+ }
35
+ /** One of `variants`, chosen by the literal each declares for field `tag`. */
36
+ function wireUnion(tag, variants) {
37
+ const byTag = /* @__PURE__ */ new Map();
38
+ for (const variant of variants) for (const literal of variant.shape[tag].literals) byTag.set(literal, variant);
39
+ return (raw, label) => {
40
+ const record = requireRecord(raw, label);
41
+ const variant = byTag.get(record[tag]);
42
+ if (!variant) throw new Error(`${label}.${tag} is invalid`);
43
+ return variant(record, label);
44
+ };
45
+ }
46
+ /** `null`, or a value `parse` accepts. */
47
+ function wireNullable(parse) {
48
+ return (raw, label) => raw === null ? null : parse(raw, label);
49
+ }
50
+ /** Adapts a parser that returns a result, putting the field's label before its error. */
51
+ function wireResult(parse) {
52
+ return (raw, label) => {
53
+ const result = parse(raw);
54
+ if (result.ok) return result.value;
55
+ throw new Error(`${label} ${result.error.message}`);
56
+ };
57
+ }
58
+ /** Adapts a parser that throws, putting the field's label before its error. */
59
+ function wireLabeled(parse) {
60
+ return (raw, label) => {
61
+ try {
62
+ return parse(raw);
63
+ } catch (error) {
64
+ throw new Error(`${label} ${error instanceof Error ? error.message : "is invalid"}`);
65
+ }
66
+ };
67
+ }
68
+ //#endregion
69
+ //#region ../shared-ts/src/device-linking/wireFields.ts
70
+ const sessionId = /* @__PURE__ */ wireResult(parseLinkDeviceSessionId);
71
+ const walletId = /* @__PURE__ */ wireResult(parseWalletId);
72
+ const enrollmentId = /* @__PURE__ */ wireResult(parseLinkedDeviceEnrollmentId);
73
+ const linkedDeviceId = /* @__PURE__ */ wireResult(parseLinkedDeviceId);
74
+ const authorizationDeviceId = /* @__PURE__ */ wireResult(parseDeviceId);
75
+ const walletKeyId = /* @__PURE__ */ wireResult(parseWalletKeyId);
76
+ const walletSessionId = /* @__PURE__ */ wireResult(parseWalletSessionId);
77
+ const walletSessionAuthorizationId = /* @__PURE__ */ wireResult(parseWalletSessionAuthorizationId);
78
+ const walletAuthMethodId = /* @__PURE__ */ wireResult(parseWalletAuthMethodId);
79
+ const walletAuthorityId = /* @__PURE__ */ wireResult(parseWalletAuthorityId);
80
+ const credentialId = /* @__PURE__ */ wireResult(parseWebAuthnCredentialIdB64u);
81
+ const rpId = /* @__PURE__ */ wireResult(parseWebAuthnRpId);
82
+ const quotaId = /* @__PURE__ */ wireResult(parseMpcWalletSigningQuotaId);
83
+ const materialActivation = /* @__PURE__ */ wireResult(parseMpcMaterialActivationRef);
84
+ const digest = /* @__PURE__ */ wireLabeled(parseDigestB64u);
85
+ const nullableToken = /* @__PURE__ */ wireNullable(parseNonEmptyToken);
86
+ function keyLabeled(parse) {
87
+ return (raw, label) => parse(raw, label.slice(label.lastIndexOf(".") + 1));
88
+ }
89
+ function parseUnixTime(raw, label) {
90
+ try {
91
+ return parseUnixMs(raw, label);
92
+ } catch (error) {
93
+ throw new Error(error instanceof Error ? error.message : `${label} is invalid`);
94
+ }
95
+ }
96
+ function parseNonEmptyToken(raw, label) {
97
+ if (typeof raw !== "string" || raw.length === 0 || raw.trim() !== raw) throw new Error(`${label} must be a non-empty canonical string`);
98
+ for (const character of raw) {
99
+ const code = character.charCodeAt(0);
100
+ if (/\s/.test(character) || code <= 31 || code === 127) throw new Error(`${label} must not contain whitespace or control characters`);
101
+ }
102
+ return raw;
103
+ }
104
+ function parseNonNegativeSafeInteger(raw, label) {
105
+ if (!Number.isSafeInteger(raw) || Number(raw) < 0) throw new Error(`${label} must be a non-negative safe integer`);
106
+ return Number(raw);
107
+ }
108
+ function parseDelegatedWalletAuthority(raw, label) {
109
+ const result = parseDelegatedWalletAuthorityV1(raw);
110
+ if (!result.ok) throw new Error(`${label}: ${result.error.message}`);
111
+ return result.value;
112
+ }
113
+ function parseTargetEmail(raw, label) {
114
+ const parsed = parseVerifiedEmailAddress(raw);
115
+ if (!parsed.ok) throw new Error(`${label} ${parsed.error.message}`);
116
+ return parsed.value;
117
+ }
118
+ //#endregion
119
+ //#region ../shared-ts/src/device-linking/activeWalletSession.ts
120
+ function activeWalletSessionV1RecordsEqual(left, right) {
121
+ if (left.kind !== right.kind || left.walletId !== right.walletId || left.authorityId !== right.authorityId || left.authMethodId !== right.authMethodId || left.authorizationId !== right.authorizationId || left.quotaId !== right.quotaId || left.authorityDigestB64u !== right.authorityDigestB64u || left.authorityRevocationEpoch !== right.authorityRevocationEpoch || left.issuedAtMs !== right.issuedAtMs || left.expiresAtMs !== right.expiresAtMs || left.capabilitySubjects.length !== right.capabilitySubjects.length) return false;
122
+ for (let index = 0; index < left.capabilitySubjects.length; index += 1) {
123
+ const leftSubject = left.capabilitySubjects[index];
124
+ const rightSubject = right.capabilitySubjects[index];
125
+ if (!leftSubject || !rightSubject || !walletCapabilitySubjectsEqual(leftSubject, rightSubject)) return false;
126
+ }
127
+ return true;
128
+ }
129
+ function walletCapabilitySubjectsEqual(left, right) {
130
+ switch (left.kind) {
131
+ case "link_devices":
132
+ case "revoke_devices": return right.kind === left.kind;
133
+ case "sign":
134
+ case "export_keys": return right.kind === left.kind && right.keyFamily === left.keyFamily && mpcMaterialActivationRefsEqual(left.materialActivation, right.materialActivation);
135
+ default: return false;
136
+ }
137
+ }
138
+ function walletSessionPreservesCapabilities(previous, next) {
139
+ for (const subject of previous.capabilitySubjects) {
140
+ let retained = false;
141
+ for (const candidate of next.capabilitySubjects) if (walletCapabilitySubjectsEqual(subject, candidate)) {
142
+ retained = true;
143
+ break;
144
+ }
145
+ if (!retained) return false;
146
+ }
147
+ return true;
148
+ }
149
+ function walletSessionOperationCredentialV1() {
150
+ return wireObject({
151
+ kind: wireLiteral("opaque_wallet_session_operation_credential_v1"),
152
+ token: (raw, label) => {
153
+ if (typeof raw !== "string" || raw.length > 8192) throw new Error(`${label} is invalid`);
154
+ return raw;
155
+ },
156
+ walletSessionId: keyLabeled(walletSessionId)
157
+ }, (credential, label) => {
158
+ if (!/^wst_[A-Za-z0-9_-]{43}$/.test(credential.token)) throw new Error(`${label} opaque token is invalid`);
159
+ });
160
+ }
161
+ function parseWalletSessionOperationCredentialV1(raw) {
162
+ return walletSessionOperationCredentialV1()(raw, "WalletSessionOperationCredentialV1");
163
+ }
164
+ function capabilitySubjectKey(subject) {
165
+ return subject.kind === "sign" || subject.kind === "export_keys" ? `${subject.kind}:${subject.keyFamily}:${subject.materialActivation.activationId}` : subject.kind;
166
+ }
167
+ function activeWalletSessionV1() {
168
+ return wireObject({
169
+ kind: wireLiteral("active_wallet_session_v1"),
170
+ walletId: keyLabeled(walletId),
171
+ authorityId: keyLabeled(walletAuthorityId),
172
+ authMethodId: keyLabeled(walletAuthMethodId),
173
+ authorizationId: keyLabeled(walletSessionAuthorizationId),
174
+ quotaId: keyLabeled(quotaId),
175
+ authorityDigestB64u: keyLabeled(digest),
176
+ authorityRevocationEpoch: keyLabeled(parseNonNegativeSafeInteger),
177
+ capabilitySubjects: (raw, label) => {
178
+ if (!Array.isArray(raw) || raw.length === 0) throw new Error(`${label} must be non-empty`);
179
+ const subjects = [];
180
+ for (const [index, subject] of raw.entries()) subjects.push(parseWalletCapabilitySubjectV1(subject, `capabilitySubjects[${index}]`));
181
+ const first = subjects[0];
182
+ if (!first) throw new Error(`${label} must be non-empty`);
183
+ return [first, ...subjects.slice(1)];
184
+ },
185
+ issuedAtMs: keyLabeled(parseUnixTime),
186
+ expiresAtMs: keyLabeled(parseUnixTime)
187
+ }, (session, label) => {
188
+ const keys = session.capabilitySubjects.map(capabilitySubjectKey);
189
+ if (new Set(keys).size !== keys.length) throw new Error(`${label} capability subjects repeat`);
190
+ });
191
+ }
192
+ function parseActiveWalletSessionV1(raw) {
193
+ return activeWalletSessionV1()(raw, "ActiveWalletSessionV1");
194
+ }
195
+ function parseWalletCapabilitySubjectV1(raw, label) {
196
+ const record = requireRecord(raw, label);
197
+ if (record.kind === "link_devices" || record.kind === "revoke_devices") {
198
+ rejectUnknownFields(record, ["kind"], label);
199
+ return { kind: record.kind };
200
+ }
201
+ if (record.kind !== "sign" && record.kind !== "export_keys") throw new Error(`${label}.kind is invalid`);
202
+ rejectUnknownFields(record, [
203
+ "kind",
204
+ "keyFamily",
205
+ "materialActivation"
206
+ ], label);
207
+ if (record.keyFamily !== "ed25519" && record.keyFamily !== "ecdsa_secp256k1") throw new Error(`${label}.keyFamily is invalid`);
208
+ return {
209
+ kind: record.kind,
210
+ keyFamily: record.keyFamily,
211
+ materialActivation: materialActivation(record.materialActivation, `${label}.materialActivation`)
212
+ };
213
+ }
214
+ //#endregion
215
+ //#region ../shared-ts/src/utils/routerAbPublicKeyset.ts
216
+ function requireRouterAbX25519PublicKey(value, label) {
217
+ const publicKey = coerceNonEmptyString(value, label);
218
+ if (!/^x25519:[0-9a-f]{64}$/.test(publicKey)) throw new Error(`${label} must use x25519:<64 lowercase hex chars> encoding`);
219
+ return publicKey;
220
+ }
221
+ //#endregion
222
+ //#region ../shared-ts/src/utils/routerAbNormalSigningIdentity.ts
223
+ function requireExactFields(record, expectedFields, label) {
224
+ const actualFields = Object.keys(record).sort();
225
+ const expected = [...expectedFields].sort();
226
+ if (actualFields.length !== expected.length || actualFields.some((field, index) => field !== expected[index])) throw new Error(`${label} has invalid fields`);
227
+ }
228
+ function requireAsciiString(value, label) {
229
+ if (typeof value !== "string" || value.trim() !== value || !value) throw new Error(`${label} is required`);
230
+ if (!/^[\x20-\x7e]+$/.test(value)) throw new Error(`${label} must be printable ASCII`);
231
+ return value;
232
+ }
233
+ function parseRouterAbNormalSigningAuthorization(value) {
234
+ const authorization = requireRecord(value, "authorization");
235
+ switch (authorization.kind) {
236
+ case "reusable_wallet_session":
237
+ requireExactFields(authorization, ["kind", "wallet_session_id"], "authorization");
238
+ return {
239
+ kind: "reusable_wallet_session",
240
+ wallet_session_id: requireAsciiString(authorization.wallet_session_id, "authorization.wallet_session_id")
241
+ };
242
+ case "operation_step_up":
243
+ requireExactFields(authorization, ["kind"], "authorization");
244
+ return { kind: "operation_step_up" };
245
+ default: throw new Error("authorization.kind is not supported");
246
+ }
247
+ }
248
+ function parseRouterAbMpcMaterialActivationRef(value) {
249
+ const activation = requireRecord(value, "material_activation");
250
+ requireExactFields(activation, [
251
+ "kind",
252
+ "activation_id",
253
+ "capability",
254
+ "material_owner",
255
+ "key_binding",
256
+ "lifecycle_binding",
257
+ "signing_worker"
258
+ ], "material_activation");
259
+ if (activation.kind !== "mpc_material_activation_ref") throw new Error("material_activation.kind is not supported");
260
+ return {
261
+ kind: "mpc_material_activation_ref",
262
+ activation_id: requireAsciiString(activation.activation_id, "material_activation.activation_id"),
263
+ capability: requireAsciiString(activation.capability, "material_activation.capability"),
264
+ material_owner: requireAsciiString(activation.material_owner, "material_activation.material_owner"),
265
+ key_binding: requireAsciiString(activation.key_binding, "material_activation.key_binding"),
266
+ lifecycle_binding: requireAsciiString(activation.lifecycle_binding, "material_activation.lifecycle_binding"),
267
+ signing_worker: requireAsciiString(activation.signing_worker, "material_activation.signing_worker")
268
+ };
269
+ }
270
+ function routerAbMpcMaterialActivationRefToWire(input) {
271
+ return parseRouterAbMpcMaterialActivationRef({
272
+ kind: input.kind,
273
+ activation_id: input.activationId,
274
+ capability: input.capability,
275
+ material_owner: input.materialOwner,
276
+ key_binding: input.keyBinding,
277
+ lifecycle_binding: input.lifecycleBinding,
278
+ signing_worker: input.signingWorker
279
+ });
280
+ }
281
+ function routerAbMpcMaterialActivationRefFromWire(value) {
282
+ const wire = parseRouterAbMpcMaterialActivationRef(value);
283
+ const parsed = parseMpcMaterialActivationRef({
284
+ kind: wire.kind,
285
+ activationId: wire.activation_id,
286
+ capability: wire.capability,
287
+ materialOwner: wire.material_owner,
288
+ keyBinding: wire.key_binding,
289
+ lifecycleBinding: wire.lifecycle_binding,
290
+ signingWorker: wire.signing_worker
291
+ });
292
+ if (!parsed.ok) throw new Error(`material_activation is invalid: ${parsed.error.message}`);
293
+ return parsed.value;
294
+ }
295
+ function asciiBytes$1(value) {
296
+ return new TextEncoder().encode(value);
297
+ }
298
+ function appendLen32(out, value) {
299
+ const bytes = asciiBytes$1(value);
300
+ const length = bytes.length >>> 0;
301
+ out.push(length >>> 24 & 255, length >>> 16 & 255, length >>> 8 & 255, length & 255);
302
+ out.push(...bytes);
303
+ }
304
+ function canonicalRouterAbNormalSigningAuthorizationBytes(value) {
305
+ const authorization = parseRouterAbNormalSigningAuthorization(value);
306
+ const out = [];
307
+ appendLen32(out, authorization.kind);
308
+ switch (authorization.kind) {
309
+ case "reusable_wallet_session":
310
+ appendLen32(out, authorization.wallet_session_id);
311
+ break;
312
+ case "operation_step_up": break;
313
+ }
314
+ return new Uint8Array(out);
315
+ }
316
+ function canonicalRouterAbMpcMaterialActivationRefBytes(value) {
317
+ const activation = parseRouterAbMpcMaterialActivationRef(value);
318
+ const out = [];
319
+ appendLen32(out, activation.kind);
320
+ appendLen32(out, activation.activation_id);
321
+ appendLen32(out, activation.capability);
322
+ appendLen32(out, activation.material_owner);
323
+ appendLen32(out, activation.key_binding);
324
+ appendLen32(out, activation.lifecycle_binding);
325
+ appendLen32(out, activation.signing_worker);
326
+ return new Uint8Array(out);
327
+ }
328
+ function sameRouterAbMpcMaterialActivationRef(left, right) {
329
+ return left.kind === right.kind && left.activation_id === right.activation_id && left.capability === right.capability && left.material_owner === right.material_owner && left.key_binding === right.key_binding && left.lifecycle_binding === right.lifecycle_binding && left.signing_worker === right.signing_worker;
330
+ }
331
+ //#endregion
332
+ //#region ../shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.ts
333
+ const THRESHOLD_SECP256K1_ECDSA_2P_V1_SCHEME_ID = "threshold-secp256k1-ecdsa-2p-v1";
334
+ function ecdsaClientRootPublicKey33B64uFromString(value) {
335
+ const normalized = value.trim();
336
+ const bytes = base64UrlDecode(normalized);
337
+ if (bytes.length !== 33 || base64UrlEncode(bytes) !== normalized) throw new Error("ECDSA client root public key must be canonical base64url for 33 bytes");
338
+ return normalized;
339
+ }
340
+ function requireSdkBindingFactString(value, field) {
341
+ const normalized = String(value ?? "").trim();
342
+ if (!normalized) throw new Error(`${field} is required`);
343
+ return normalized;
344
+ }
345
+ function parseSdkEcdsaDerivationThresholdKeyId(value) {
346
+ return requireSdkBindingFactString(value, "ecdsaThresholdKeyId");
347
+ }
348
+ function parseSdkEcdsaDerivationSigningRootId(value) {
349
+ return requireSdkBindingFactString(value, "signingRootId");
350
+ }
351
+ function parseSdkEcdsaDerivationSigningRootVersion(value) {
352
+ return requireSdkBindingFactString(value, "signingRootVersion");
353
+ }
354
+ async function computeEcdsaDerivationRoleLocalRelayerKeyId(input) {
355
+ const evmFamilySigningKeySlotId = deriveEvmFamilySigningKeySlotId(input);
356
+ return `ederivation-relayer-${base64UrlEncode(await sha256BytesUtf8(alphabetizeStringify({
357
+ version: "threshold_ecdsa_derivation_relayer_key_id_v1",
358
+ schemeId: THRESHOLD_SECP256K1_ECDSA_2P_V1_SCHEME_ID,
359
+ walletId: input.walletId,
360
+ evmFamilySigningKeySlotId
361
+ })))}`;
362
+ }
363
+ //#endregion
364
+ //#region ../shared-ts/src/utils/ecdsaCapabilityActivation.ts
365
+ function parseNonEmptyString(value, label) {
366
+ if (typeof value !== "string" || value.trim() !== value || value.length === 0) throw new Error(`${label} must be a non-empty canonical string`);
367
+ return value;
368
+ }
369
+ function parseCanonicalBase64Url(value, label, byteLength) {
370
+ if (typeof value !== "string" || !/^[A-Za-z0-9_-]+$/.test(value)) throw new Error(`${label} must be unpadded base64url`);
371
+ let bytes;
372
+ try {
373
+ bytes = base64UrlDecode(value);
374
+ } catch {
375
+ throw new Error(`${label} must be valid base64url`);
376
+ }
377
+ if (bytes.length === 0 || byteLength !== null && bytes.length !== byteLength || base64UrlEncode(bytes) !== value) throw new Error(`${label} has an invalid canonical byte length`);
378
+ return value;
379
+ }
380
+ function parseEvmFamilyEcdsaSignerId(value) {
381
+ return parseNonEmptyString(value, "ECDSA signer id");
382
+ }
383
+ function parseEcdsaServerGeneration(value) {
384
+ return parseNonEmptyString(value, "ECDSA server generation");
385
+ }
386
+ function parseEcdsaCapabilityManifestId(value) {
387
+ return parseNonEmptyString(value, "ECDSA manifest id");
388
+ }
389
+ function parseEcdsaCapabilityManifestRevision(value) {
390
+ if (!Number.isSafeInteger(value) || Number(value) < 1) throw new Error("ECDSA manifest revision must be a positive safe integer");
391
+ return value;
392
+ }
393
+ function parseEcdsaCiphertextDigest(value) {
394
+ return parseCanonicalBase64Url(value, "ECDSA ciphertext digest", 32);
395
+ }
396
+ function parseEcdsaPendingCiphertextDigest(value) {
397
+ return parseCanonicalBase64Url(value, "ECDSA pending ciphertext digest", 32);
398
+ }
399
+ function parseEcdsaActivationDigest(value) {
400
+ return parseCanonicalBase64Url(value, "ECDSA activation digest", 32);
401
+ }
402
+ function parseEcdsaLifecycleId(value) {
403
+ return parseNonEmptyString(value, "ECDSA lifecycle id");
404
+ }
405
+ function parseEcdsaMaterialSealingKeyId(value) {
406
+ return parseNonEmptyString(value, "ECDSA material sealing key id");
407
+ }
408
+ function parseEcdsaIv12B64u(value) {
409
+ return parseCanonicalBase64Url(value, "ECDSA AES-GCM IV", 12);
410
+ }
411
+ function parseEcdsaCiphertextB64u(value) {
412
+ return parseCanonicalBase64Url(value, "ECDSA ciphertext", null);
413
+ }
414
+ function parseCanonicalEcdsaServerActivationRequest(value) {
415
+ if (typeof value !== "string" || value.trim() !== value) throw new Error("ECDSA server activation request must be canonical JSON");
416
+ let parsed;
417
+ try {
418
+ parsed = JSON.parse(value);
419
+ } catch {
420
+ throw new Error("ECDSA server activation request must be canonical JSON");
421
+ }
422
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed) || alphabetizeStringify(parsed) !== value) throw new Error("ECDSA server activation request must be a canonical JSON object");
423
+ return value;
424
+ }
425
+ //#endregion
426
+ //#region ../shared-ts/src/utils/walletAuthAuthority.ts
427
+ const WALLET_AUTHORITY_BINDING_DIGEST_DOMAIN = "seams:wallet-authority-binding:v1|";
428
+ function isPasskeyWalletAuthAuthority(authority) {
429
+ return authority.factor.kind === "passkey";
430
+ }
431
+ function isEmailOtpWalletAuthAuthority(authority) {
432
+ return authority.factor.kind === "email_otp";
433
+ }
434
+ function walletAuthAuthoritiesMatch(left, right) {
435
+ if (left.walletId !== right.walletId || left.bindingId !== right.bindingId) return false;
436
+ if (isPasskeyWalletAuthAuthority(left)) {
437
+ if (!isPasskeyWalletAuthAuthority(right)) return false;
438
+ return left.factor.credentialIdB64u === right.factor.credentialIdB64u && left.verifier.rpId === right.verifier.rpId;
439
+ }
440
+ if (isEmailOtpWalletAuthAuthority(left)) {
441
+ if (!isEmailOtpWalletAuthAuthority(right)) return false;
442
+ return left.factor.provider === right.factor.provider && left.factor.providerUserId === right.factor.providerUserId && left.verifier.emailHashHex === right.verifier.emailHashHex;
443
+ }
444
+ return false;
445
+ }
446
+ function parseWalletAuthAuthorityRef(raw) {
447
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) return null;
448
+ const record = raw;
449
+ const fields = Object.keys(record);
450
+ if (fields.length !== 4 || !fields.every((field) => [
451
+ "kind",
452
+ "walletId",
453
+ "authorityDigest",
454
+ "walletAuthMethodId"
455
+ ].includes(field)) || record.kind !== "wallet_auth_authority_ref") return null;
456
+ const walletId = parseWalletId(record.walletId);
457
+ const authorityDigest = parseWalletAuthorityBindingDigest(record.authorityDigest);
458
+ const walletAuthMethodId = parseWalletAuthMethodId(record.walletAuthMethodId);
459
+ if (!walletId.ok || !authorityDigest.ok || !walletAuthMethodId.ok) return null;
460
+ return {
461
+ kind: "wallet_auth_authority_ref",
462
+ walletId: walletId.value,
463
+ authorityDigest: authorityDigest.value,
464
+ walletAuthMethodId: walletAuthMethodId.value
465
+ };
466
+ }
467
+ function parseEmailOtpProvider(raw) {
468
+ const provider = String(raw || "").trim().toLowerCase();
469
+ if (provider === "google" || provider === "email") return provider;
470
+ return null;
471
+ }
472
+ function requireParsed(parsed, message) {
473
+ if (parsed.ok) return parsed.value;
474
+ throw new Error(message);
475
+ }
476
+ function hasOwnField(obj, field) {
477
+ return Object.prototype.hasOwnProperty.call(obj, field);
478
+ }
479
+ function hasAnyOwnField(obj, fields) {
480
+ for (const field of fields) if (hasOwnField(obj, field)) return true;
481
+ return false;
482
+ }
483
+ function buildPasskeyWalletAuthAuthority(args) {
484
+ const walletId = requireParsed(parseWalletId(args.walletId), "Passkey wallet auth authority requires walletId");
485
+ const rpId = requireParsed(parseWebAuthnRpId(args.rpId), "Passkey wallet auth authority requires rpId");
486
+ const credentialIdB64u = requireParsed(parseWebAuthnCredentialIdB64u(args.credentialIdB64u), "Passkey wallet auth authority requires credentialIdB64u");
487
+ const bindingId = requireParsed(parseWalletAuthMethodId(`passkey:${rpId}:${credentialIdB64u}`), "Passkey wallet auth authority requires bindingId");
488
+ return {
489
+ walletId,
490
+ factor: {
491
+ kind: "passkey",
492
+ credentialIdB64u
493
+ },
494
+ verifier: {
495
+ kind: "webauthn",
496
+ rpId
497
+ },
498
+ bindingId
499
+ };
500
+ }
501
+ function buildEmailOtpFactorIdentity(args) {
502
+ const provider = parseEmailOtpProvider(args.provider);
503
+ if (!provider) throw new Error("Email OTP factor identity requires provider");
504
+ return {
505
+ kind: "email_otp",
506
+ provider,
507
+ providerUserId: requireParsed(parseEmailOtpProviderUserId(args.providerUserId), "Email OTP factor identity requires providerUserId")
508
+ };
509
+ }
510
+ function buildEmailOtpWalletAuthAuthority(args) {
511
+ const walletId = requireParsed(parseWalletId(args.walletId), "Email OTP wallet auth authority requires walletId");
512
+ const factor = buildEmailOtpFactorIdentity(args);
513
+ const emailHashHex = String(args.emailHashHex || "").trim();
514
+ if (!emailHashHex) throw new Error("Email OTP wallet auth authority requires emailHashHex");
515
+ const bindingId = requireParsed(parseWalletAuthMethodId(`email_otp:${walletId}:${emailHashHex}`), "Email OTP wallet auth authority requires bindingId");
516
+ return {
517
+ walletId,
518
+ factor,
519
+ verifier: {
520
+ kind: "email_otp_wallet_auth_method",
521
+ emailHashHex
522
+ },
523
+ bindingId
524
+ };
525
+ }
526
+ function emailOtpWalletAuthAuthorityProvider(authority) {
527
+ return authority.factor.provider;
528
+ }
529
+ function emailOtpWalletAuthAuthorityProviderUserId(authority) {
530
+ return authority.factor.providerUserId;
531
+ }
532
+ function emailOtpWalletAuthAuthorityEmailHashHex(authority) {
533
+ return authority.verifier.emailHashHex;
534
+ }
535
+ function parsePasskeyWalletAuthAuthorityObject(obj) {
536
+ const factor = obj.factor;
537
+ if (!factor || typeof factor !== "object" || Array.isArray(factor)) return null;
538
+ const verifier = obj.verifier;
539
+ if (!verifier || typeof verifier !== "object" || Array.isArray(verifier)) return null;
540
+ const factorObj = factor;
541
+ const verifierObj = verifier;
542
+ const factorKind = String(factorObj.kind || "").trim().toLowerCase();
543
+ const verifierKind = String(verifierObj.kind || "").trim().toLowerCase();
544
+ if (factorKind !== "passkey" || verifierKind !== "webauthn") return null;
545
+ try {
546
+ if (hasAnyOwnField(obj, [
547
+ "kind",
548
+ "rpId",
549
+ "credentialIdB64u",
550
+ "provider",
551
+ "providerUserId"
552
+ ])) return null;
553
+ const walletId = parseWalletId(obj.walletId);
554
+ const rpId = parseWebAuthnRpId(verifierObj.rpId);
555
+ const credentialIdB64u = parseWebAuthnCredentialIdB64u(factorObj.credentialIdB64u);
556
+ const bindingId = parseWalletAuthMethodId(obj.bindingId);
557
+ if (!walletId.ok || !rpId.ok || !credentialIdB64u.ok || !bindingId.ok) return null;
558
+ return {
559
+ walletId: walletId.value,
560
+ factor: {
561
+ kind: "passkey",
562
+ credentialIdB64u: credentialIdB64u.value
563
+ },
564
+ verifier: {
565
+ kind: "webauthn",
566
+ rpId: rpId.value
567
+ },
568
+ bindingId: bindingId.value
569
+ };
570
+ } catch {
571
+ return null;
572
+ }
573
+ }
574
+ function parseEmailOtpWalletAuthAuthorityObject(obj) {
575
+ const factor = obj.factor;
576
+ if (!factor || typeof factor !== "object" || Array.isArray(factor)) return null;
577
+ const verifier = obj.verifier;
578
+ if (!verifier || typeof verifier !== "object" || Array.isArray(verifier)) return null;
579
+ const factorObj = factor;
580
+ const verifierObj = verifier;
581
+ const factorKind = String(factorObj.kind || "").trim().toLowerCase();
582
+ const verifierKind = String(verifierObj.kind || "").trim().toLowerCase();
583
+ if (factorKind !== "email_otp" || verifierKind !== "email_otp_wallet_auth_method") return null;
584
+ try {
585
+ if (hasAnyOwnField(obj, [
586
+ "kind",
587
+ "rpId",
588
+ "credentialIdB64u",
589
+ "provider",
590
+ "providerUserId"
591
+ ])) return null;
592
+ const walletId = parseWalletId(obj.walletId);
593
+ const provider = parseEmailOtpProvider(factorObj.provider);
594
+ const providerUserId = parseEmailOtpProviderUserId(factorObj.providerUserId);
595
+ const emailHashHex = String(verifierObj.emailHashHex || "").trim();
596
+ const bindingId = parseWalletAuthMethodId(obj.bindingId);
597
+ if (!walletId.ok || !provider || !providerUserId.ok || !emailHashHex || !bindingId.ok) return null;
598
+ return {
599
+ walletId: walletId.value,
600
+ factor: {
601
+ kind: "email_otp",
602
+ provider,
603
+ providerUserId: providerUserId.value
604
+ },
605
+ verifier: {
606
+ kind: "email_otp_wallet_auth_method",
607
+ emailHashHex
608
+ },
609
+ bindingId: bindingId.value
610
+ };
611
+ } catch {
612
+ return null;
613
+ }
614
+ }
615
+ function parseWalletAuthAuthority(raw) {
616
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) return null;
617
+ const obj = raw;
618
+ return parsePasskeyWalletAuthAuthorityObject(obj) || parseEmailOtpWalletAuthAuthorityObject(obj);
619
+ }
620
+ function parseEmailOtpWalletAuthAuthority(raw) {
621
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) return null;
622
+ return parseEmailOtpWalletAuthAuthorityObject(raw);
623
+ }
624
+ function parsePasskeyWalletAuthAuthority(raw) {
625
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) return null;
626
+ return parsePasskeyWalletAuthAuthorityObject(raw);
627
+ }
628
+ function canonicalWalletAuthorityBindingDigestInput(args) {
629
+ return `${WALLET_AUTHORITY_BINDING_DIGEST_DOMAIN}${alphabetizeStringify(args.authority)}`;
630
+ }
631
+ async function walletAuthorityBindingDigest(args) {
632
+ return requireParsed(parseWalletAuthorityBindingDigest(base64UrlEncode(await sha256BytesUtf8(canonicalWalletAuthorityBindingDigestInput(args)))), "Wallet authority binding digest must be non-empty");
633
+ }
634
+ async function walletAuthAuthorityRef(args) {
635
+ return {
636
+ kind: "wallet_auth_authority_ref",
637
+ walletId: args.authority.walletId,
638
+ authorityDigest: await walletAuthorityBindingDigest({ authority: args.authority }),
639
+ walletAuthMethodId: args.authority.bindingId
640
+ };
641
+ }
642
+ //#endregion
643
+ //#region ../shared-ts/src/utils/routerAbEcdsaDerivation.ts
644
+ /**
645
+ * The longest an ECDSA presignature ceremony may run. The Gateway authorizes a
646
+ * pool fill only when the requested ceremony deadline is within this limit.
647
+ */
648
+ const ROUTER_AB_ECDSA_PRESIGN_CEREMONY_MAX_LIFETIME_MS = 5 * 6e4;
649
+ const ROUTER_AB_ECDSA_DERIVATION_NORMAL_SIGNING_STATE_KIND_V1 = "router_ab_ecdsa_derivation_normal_signing_v1";
650
+ const ROUTER_AB_ECDSA_DERIVATION_EXPORT_PATH = "/router-ab/ecdsa-derivation/export";
651
+ const ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_FILL_INIT_PATH = "/router-ab/ecdsa-derivation/presignature-pool/fill/init";
652
+ const ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_FILL_STEP_PATH = "/router-ab/ecdsa-derivation/presignature-pool/fill/step";
653
+ const ROUTER_AB_ECDSA_DERIVATION_SESSION_ACTIVATION_PATH = "/router-ab/ecdsa-derivation/session/activate";
654
+ const ROUTER_AB_ECDSA_DERIVATION_OPERATION_STEP_UP_PATH = "/router-ab/ecdsa-derivation/operation-step-up";
655
+ const ROUTER_AB_ECDSA_OPERATION_STEP_UP_CHALLENGE_DOMAIN_V1 = "router-ab-ecdsa-operation-step-up/challenge/v1";
656
+ const ECDSA_DERIVATION_CONTEXT_DOMAIN_TAG_V1 = "router-ab-ecdsa-derivation/context/v1";
657
+ const ECDSA_DERIVATION_CONTEXT_BINDING_DOMAIN_V1 = "router-ab-ecdsa-derivation/role-local/context-binding/v1";
658
+ const ECDSA_DERIVATION_SCHEME_ID_V1 = "router-ab-ecdsa-derivation-v1";
659
+ const ECDSA_DERIVATION_CURVE_V1 = "secp256k1";
660
+ const ECDSA_DERIVATION_CONTEXT_FIELD_BYTES_V1 = 1;
661
+ const ECDSA_DERIVATION_PARTICIPANT_IDS_V1 = [1, 2];
662
+ const ROUTER_AB_ECDSA_DERIVATION_PUBLIC_IDENTITY_VERSION_V1 = "router-ab-ecdsa-derivation/public-identity/v1";
663
+ const ROUTER_AB_ECDSA_DERIVATION_NORMAL_SIGNING_SCOPE_VERSION_V1 = "router-ab-ecdsa-derivation/normal-signing-scope/v1";
664
+ const ROUTER_AB_ECDSA_DERIVATION_NORMAL_SIGNING_REQUEST_VERSION_V1 = "router-ab-ecdsa-derivation/normal-signing-request/v1";
665
+ const ROUTER_AB_ECDSA_DERIVATION_NORMAL_SIGNING_FINALIZE_REQUEST_VERSION_V1 = "router-ab-ecdsa-derivation/normal-signing-finalize-request/v1";
666
+ const ROUTER_AB_ECDSA_DERIVATION_CLIENT_RERANDOMIZATION_COMMITMENT_DOMAIN_V1 = "router-ab-ecdsa-derivation/client-rerandomization-commitment/v1";
667
+ function requireExportShareAuthorizationKind(value, label) {
668
+ if (value === "reusable_wallet_session" || value === "verified_step_up") return value;
669
+ throw new Error(`${label} must be reusable_wallet_session or verified_step_up`);
670
+ }
671
+ function parseRouterAbEcdsaOperationStepUpExportTopologyV1(value) {
672
+ const topology = requireRecord(value, "operationStepUpAuthorizationResponse.export_topology");
673
+ requireExactKeys(topology, "operationStepUpAuthorizationResponse.export_topology", [
674
+ "signer_set",
675
+ "deriver_recipient_keys",
676
+ "router_id"
677
+ ]);
678
+ const signerSet = parsePostRegistrationSignerSet(topology.signer_set, "operationStepUpAuthorizationResponse.export_topology.signer_set");
679
+ const deriverRecipientKeys = parseRegistrationRecipientKeys(topology.deriver_recipient_keys, "operationStepUpAuthorizationResponse.export_topology.deriver_recipient_keys");
680
+ if (deriverRecipientKeys.deriver_a.key_epoch !== signerSet.signer_a.key_epoch || deriverRecipientKeys.deriver_b.key_epoch !== signerSet.signer_b.key_epoch) throw new Error("operationStepUpAuthorizationResponse.export_topology recipient key epochs do not match signer_set");
681
+ return {
682
+ signer_set: signerSet,
683
+ deriver_recipient_keys: deriverRecipientKeys,
684
+ router_id: requireAsciiNonEmptyString(topology.router_id, "operationStepUpAuthorizationResponse.export_topology.router_id")
685
+ };
686
+ }
687
+ function parseRouterAbEcdsaOperationStepUpAuthorizationResponseV1(value) {
688
+ const response = requireRecord(value, "operationStepUpAuthorizationResponse");
689
+ const operationKind = requireEcdsaOperationStepUpKind(response.operation_kind);
690
+ requireExactKeys(response, "operationStepUpAuthorizationResponse", [
691
+ "ok",
692
+ "kind",
693
+ "authorization",
694
+ "expires_at_ms",
695
+ "operation_kind",
696
+ ...operationKind === "evm.export_key" ? ["export_topology"] : []
697
+ ]);
698
+ if (response.ok !== true || response.kind !== "verified_step_up") throw new Error("operationStepUpAuthorizationResponse is invalid");
699
+ const authorization = requireRecord(response.authorization, "operationStepUpAuthorizationResponse.authorization");
700
+ requireExactKeys(authorization, "operationStepUpAuthorizationResponse.authorization", [
701
+ "kind",
702
+ "evidence_set_digest",
703
+ "unseal"
704
+ ]);
705
+ if (authorization.kind !== "operation_step_up") throw new Error("operationStepUpAuthorizationResponse.authorization.kind is invalid");
706
+ const expiresAtMs = requirePositiveUnixMs(response.expires_at_ms, "operationStepUpAuthorizationResponse.expires_at_ms");
707
+ if (expiresAtMs <= Date.now()) throw new Error("operationStepUpAuthorizationResponse.expires_at_ms is expired");
708
+ const unseal = requireRecord(authorization.unseal, "operationStepUpAuthorizationResponse.authorization.unseal");
709
+ const unsealKind = requireAsciiNonEmptyString(unseal.kind, "operationStepUpAuthorizationResponse.authorization.unseal.kind");
710
+ let parsedUnseal;
711
+ switch (unsealKind) {
712
+ case "not_requested":
713
+ requireExactKeys(unseal, "operationStepUpAuthorizationResponse.authorization.unseal", ["kind"]);
714
+ parsedUnseal = { kind: "not_requested" };
715
+ break;
716
+ case "email_otp_grant":
717
+ requireExactKeys(unseal, "operationStepUpAuthorizationResponse.authorization.unseal", [
718
+ "kind",
719
+ "grant",
720
+ "challenge_id"
721
+ ]);
722
+ parsedUnseal = {
723
+ kind: "email_otp_grant",
724
+ grant: requireAsciiNonEmptyString(unseal.grant, "operationStepUpAuthorizationResponse.authorization.unseal.grant"),
725
+ challenge_id: requireAsciiNonEmptyString(unseal.challenge_id, "operationStepUpAuthorizationResponse.authorization.unseal.challenge_id")
726
+ };
727
+ break;
728
+ default: throw new Error("operationStepUpAuthorizationResponse.authorization.unseal.kind is invalid");
729
+ }
730
+ const base = {
731
+ ok: true,
732
+ kind: "verified_step_up",
733
+ authorization: {
734
+ kind: "operation_step_up",
735
+ evidence_set_digest: parseDigestB64u(authorization.evidence_set_digest),
736
+ unseal: parsedUnseal
737
+ },
738
+ expires_at_ms: expiresAtMs
739
+ };
740
+ if (operationKind === "evm.sign_transaction") return {
741
+ ...base,
742
+ operation_kind: "evm.sign_transaction"
743
+ };
744
+ return {
745
+ ...base,
746
+ operation_kind: "evm.export_key",
747
+ export_topology: parseRouterAbEcdsaOperationStepUpExportTopologyV1(response.export_topology)
748
+ };
749
+ }
750
+ async function computeRouterAbEcdsaOperationStepUpChallengeB64u(value) {
751
+ return base64UrlEncode(await sha256BytesUtf8(alphabetizeStringify({
752
+ domain: ROUTER_AB_ECDSA_OPERATION_STEP_UP_CHALLENGE_DOMAIN_V1,
753
+ operation: parseRouterAbEcdsaOperationStepUpPreparationV1(value)
754
+ })));
755
+ }
756
+ function requireExactKeys(record, label, allowedKeys) {
757
+ const allowed = new Set(allowedKeys);
758
+ for (const key of Object.keys(record)) if (!allowed.has(key)) throw new Error(`${label}.${key} is not a supported field`);
759
+ }
760
+ function requireAsciiNonEmptyString(value, label) {
761
+ if (typeof value !== "string") throw new Error(`${label} must be a string`);
762
+ const parsed = value.trim();
763
+ if (!parsed) throw new Error(`${label} is required`);
764
+ if (!/^[\x20-\x7e]+$/.test(parsed)) throw new Error(`${label} must be printable ASCII`);
765
+ return parsed;
766
+ }
767
+ function requireRootShareEpoch(value, label) {
768
+ const parsed = parseRootShareEpoch(requireAsciiNonEmptyString(value, label));
769
+ if (!parsed.ok) throw new Error(`${label} is invalid`);
770
+ return parsed.value;
771
+ }
772
+ function requireThresholdEcdsaSessionId(value, label) {
773
+ const parsed = parseThresholdEcdsaSessionId(requireAsciiNonEmptyString(value, label));
774
+ if (!parsed.ok) throw new Error(`${label} is invalid`);
775
+ return parsed.value;
776
+ }
777
+ function requireEcdsaAuthorizationSessionId(value, label) {
778
+ const parsed = parseEcdsaAuthorizationSessionId(value);
779
+ if (!parsed.ok) throw new Error(`${label} is invalid`);
780
+ return parsed.value;
781
+ }
782
+ function requireWalletSessionAuthorizationId(value, label) {
783
+ const parsed = parseWalletSessionAuthorizationId(value);
784
+ if (!parsed.ok) throw new Error(`${label} is invalid`);
785
+ return parsed.value;
786
+ }
787
+ function requireWalletSessionId(value, label) {
788
+ const parsed = parseWalletSessionId(value);
789
+ if (!parsed.ok) throw new Error(`${label} is invalid`);
790
+ return parsed.value;
791
+ }
792
+ function requireMpcWalletSigningQuotaId(value, label) {
793
+ const parsed = parseMpcWalletSigningQuotaId(value);
794
+ if (!parsed.ok) throw new Error(`${label} is invalid`);
795
+ return parsed.value;
796
+ }
797
+ function requirePositiveUnixMs(value, label) {
798
+ if (typeof value !== "number" || !Number.isSafeInteger(value) || value <= 0) throw new Error(`${label} must be a positive safe integer`);
799
+ return value;
800
+ }
801
+ function requirePositiveCounter(value, label) {
802
+ if (typeof value !== "number" || !Number.isSafeInteger(value) || value <= 0) throw new Error(`${label} must be a positive safe-integer counter`);
803
+ return value;
804
+ }
805
+ function requireU32(value, label) {
806
+ if (typeof value !== "number" || !Number.isFinite(value)) throw new Error(`${label} must be a finite number`);
807
+ const parsed = Math.floor(value);
808
+ if (parsed !== value || parsed < 0 || parsed > 4294967295) throw new Error(`${label} must be a u32 integer`);
809
+ return parsed;
810
+ }
811
+ function requireByte(value, label) {
812
+ if (typeof value !== "number" || !Number.isFinite(value)) throw new Error(`${label} must be a finite number`);
813
+ const parsed = Math.floor(value);
814
+ if (parsed !== value || parsed < 0 || parsed > 255) throw new Error(`${label} must be a byte`);
815
+ return parsed;
816
+ }
817
+ function requireBase64UrlFixed(value, label, byteLength) {
818
+ const parsed = requireAsciiNonEmptyString(value, label);
819
+ if (!/^[A-Za-z0-9_-]+$/.test(parsed)) throw new Error(`${label} must be unpadded base64url`);
820
+ let decoded;
821
+ try {
822
+ decoded = base64UrlDecode(parsed);
823
+ } catch {
824
+ throw new Error(`${label} must be valid base64url`);
825
+ }
826
+ if (decoded.length !== byteLength) throw new Error(`${label} must decode to ${byteLength} bytes`);
827
+ return parsed;
828
+ }
829
+ function requireCompressedSecp256k1PublicKey(value, label) {
830
+ const parsed = requireBase64UrlFixed(value, label, 33);
831
+ const decoded = base64UrlDecode(parsed);
832
+ if (decoded[0] !== 2 && decoded[0] !== 3) throw new Error(`${label} must be a compressed secp256k1 public key`);
833
+ return parsed;
834
+ }
835
+ function requireBase64UrlNonEmpty(value, label) {
836
+ const parsed = requireAsciiNonEmptyString(value, label);
837
+ if (!/^[A-Za-z0-9_-]+$/.test(parsed)) throw new Error(`${label} must be unpadded base64url`);
838
+ let decoded;
839
+ try {
840
+ decoded = base64UrlDecode(parsed);
841
+ } catch {
842
+ throw new Error(`${label} must be valid base64url`);
843
+ }
844
+ if (decoded.length === 0) throw new Error(`${label} must decode to non-empty bytes`);
845
+ return parsed;
846
+ }
847
+ function requireX25519PublicKey(value, label) {
848
+ const parsed = requireAsciiNonEmptyString(value, label);
849
+ if (!/^x25519:[0-9a-f]{64}$/.test(parsed)) throw new Error(`${label} must use x25519:<64 lowercase hex chars> encoding`);
850
+ return parsed;
851
+ }
852
+ function requireUint8ArrayFixed(value, label, byteLength) {
853
+ if (!(value instanceof Uint8Array)) throw new Error(`${label} must be a Uint8Array`);
854
+ if (value.length !== byteLength) throw new Error(`${label} must contain ${byteLength} bytes`);
855
+ return value;
856
+ }
857
+ function requireSignatureScheme(value, label) {
858
+ const parsed = requireAsciiNonEmptyString(value, label);
859
+ if (parsed !== "ecdsa_secp256k1_recoverable_v1") throw new Error(`${label} must be ecdsa_secp256k1_recoverable_v1`);
860
+ return parsed;
861
+ }
862
+ function parsePublicDigest32(value, label) {
863
+ const record = requireRecord(value, label);
864
+ requireExactKeys(record, label, ["bytes"]);
865
+ if (!Array.isArray(record.bytes)) throw new Error(`${label}.bytes must be an array`);
866
+ if (record.bytes.length !== 32) throw new Error(`${label}.bytes must contain 32 bytes`);
867
+ return { bytes: record.bytes.map((entry, index) => requireByte(entry, `${label}.bytes[${index}]`)) };
868
+ }
869
+ function parseStableKeyContext(value) {
870
+ const record = requireRecord(value, "scope.context");
871
+ requireExactKeys(record, "scope.context", ["application_binding_digest_b64u"]);
872
+ const digest = base64UrlDecode(requireAsciiNonEmptyString(record.application_binding_digest_b64u, "scope.context.application_binding_digest_b64u"));
873
+ if (digest.length !== 32) throw new Error("scope.context.application_binding_digest_b64u must decode to 32 bytes");
874
+ return { application_binding_digest_b64u: base64UrlEncode(digest) };
875
+ }
876
+ function parsePublicIdentity(value) {
877
+ const record = requireRecord(value, "scope.public_identity");
878
+ requireExactKeys(record, "scope.public_identity", [
879
+ "context_binding_b64u",
880
+ "derivation_client_share_public_key33_b64u",
881
+ "server_public_key33_b64u",
882
+ "threshold_public_key33_b64u",
883
+ "ethereum_address20_b64u",
884
+ "client_share_retry_counter",
885
+ "server_share_retry_counter"
886
+ ]);
887
+ return {
888
+ context_binding_b64u: requireBase64UrlFixed(record.context_binding_b64u, "scope.public_identity.context_binding_b64u", 32),
889
+ derivation_client_share_public_key33_b64u: requireCompressedSecp256k1PublicKey(record.derivation_client_share_public_key33_b64u, "scope.public_identity.derivation_client_share_public_key33_b64u"),
890
+ server_public_key33_b64u: requireCompressedSecp256k1PublicKey(record.server_public_key33_b64u, "scope.public_identity.server_public_key33_b64u"),
891
+ threshold_public_key33_b64u: requireCompressedSecp256k1PublicKey(record.threshold_public_key33_b64u, "scope.public_identity.threshold_public_key33_b64u"),
892
+ ethereum_address20_b64u: requireBase64UrlFixed(record.ethereum_address20_b64u, "scope.public_identity.ethereum_address20_b64u", 20),
893
+ client_share_retry_counter: requireU32(record.client_share_retry_counter, "scope.public_identity.client_share_retry_counter"),
894
+ server_share_retry_counter: requireU32(record.server_share_retry_counter, "scope.public_identity.server_share_retry_counter")
895
+ };
896
+ }
897
+ function parseServerIdentity(value) {
898
+ return parseServerIdentityWithLabel(value, "scope.signing_worker");
899
+ }
900
+ function parseServerIdentityWithLabel(value, label) {
901
+ const record = requireRecord(value, label);
902
+ requireExactKeys(record, label, [
903
+ "server_id",
904
+ "key_epoch",
905
+ "recipient_encryption_key"
906
+ ]);
907
+ return {
908
+ server_id: requireAsciiNonEmptyString(record.server_id, `${label}.server_id`),
909
+ key_epoch: requireAsciiNonEmptyString(record.key_epoch, `${label}.key_epoch`),
910
+ recipient_encryption_key: requireRouterAbX25519PublicKey(record.recipient_encryption_key, `${label}.recipient_encryption_key`)
911
+ };
912
+ }
913
+ function parsePostRegistrationSignerIdentity(value, label, expectedRole) {
914
+ const record = requireRecord(value, label);
915
+ requireExactKeys(record, label, [
916
+ "role",
917
+ "signer_id",
918
+ "key_epoch"
919
+ ]);
920
+ if (requireAsciiNonEmptyString(record.role, `${label}.role`) !== expectedRole) throw new Error(`${label}.role must be ${expectedRole}`);
921
+ return {
922
+ role: expectedRole,
923
+ signer_id: requireAsciiNonEmptyString(record.signer_id, `${label}.signer_id`),
924
+ key_epoch: requireAsciiNonEmptyString(record.key_epoch, `${label}.key_epoch`)
925
+ };
926
+ }
927
+ function parsePostRegistrationSignerSet(value, label) {
928
+ const record = requireRecord(value, label);
929
+ requireExactKeys(record, label, [
930
+ "signer_set_id",
931
+ "policy",
932
+ "signer_a",
933
+ "signer_b",
934
+ "selected_server"
935
+ ]);
936
+ const policy = requireAsciiNonEmptyString(record.policy, `${label}.policy`);
937
+ if (policy !== "all_2") throw new Error(`${label}.policy must be all_2`);
938
+ const signerA = parsePostRegistrationSignerIdentity(record.signer_a, `${label}.signer_a`, "signer_a");
939
+ const signerB = parsePostRegistrationSignerIdentity(record.signer_b, `${label}.signer_b`, "signer_b");
940
+ if (signerA.signer_id === signerB.signer_id) throw new Error(`${label} requires distinct signer ids`);
941
+ return {
942
+ signer_set_id: requireAsciiNonEmptyString(record.signer_set_id, `${label}.signer_set_id`),
943
+ policy,
944
+ signer_a: signerA,
945
+ signer_b: signerB,
946
+ selected_server: parseServerIdentityWithLabel(record.selected_server, `${label}.selected_server`)
947
+ };
948
+ }
949
+ function parseRegistrationLifecycle(value) {
950
+ const label = "registration.lifecycle";
951
+ const record = requireRecord(value, label);
952
+ requireExactKeys(record, label, [
953
+ "lifecycle_id",
954
+ "work_kind",
955
+ "primitive_request_kind",
956
+ "root_share_epoch",
957
+ "account_id",
958
+ "session_id",
959
+ "signer_set_id",
960
+ "selected_server_id"
961
+ ]);
962
+ if (record.work_kind !== "registration_prepare") throw new Error(`${label}.work_kind must be registration_prepare`);
963
+ if (record.primitive_request_kind !== "registration") throw new Error(`${label}.primitive_request_kind must be registration`);
964
+ return {
965
+ lifecycle_id: requireAsciiNonEmptyString(record.lifecycle_id, `${label}.lifecycle_id`),
966
+ work_kind: "registration_prepare",
967
+ primitive_request_kind: "registration",
968
+ root_share_epoch: requireRootShareEpoch(record.root_share_epoch, `${label}.root_share_epoch`),
969
+ account_id: requireAsciiNonEmptyString(record.account_id, `${label}.account_id`),
970
+ session_id: requireAsciiNonEmptyString(record.session_id, `${label}.session_id`),
971
+ signer_set_id: requireAsciiNonEmptyString(record.signer_set_id, `${label}.signer_set_id`),
972
+ selected_server_id: requireAsciiNonEmptyString(record.selected_server_id, `${label}.selected_server_id`)
973
+ };
974
+ }
975
+ function parseRegistrationRecipientKey(value, label, role) {
976
+ const record = requireRecord(value, label);
977
+ requireExactKeys(record, label, [
978
+ "role",
979
+ "key_epoch",
980
+ "public_key"
981
+ ]);
982
+ if (record.role !== role) throw new Error(`${label}.role must be ${role}`);
983
+ return {
984
+ role,
985
+ key_epoch: requireAsciiNonEmptyString(record.key_epoch, `${label}.key_epoch`),
986
+ public_key: requireRouterAbX25519PublicKey(record.public_key, `${label}.public_key`)
987
+ };
988
+ }
989
+ function parseRegistrationRecipientKeys(value, label = "registration.deriver_recipient_keys") {
990
+ const record = requireRecord(value, label);
991
+ requireExactKeys(record, label, ["deriver_a", "deriver_b"]);
992
+ return {
993
+ deriver_a: parseRegistrationRecipientKey(record.deriver_a, `${label}.deriver_a`, "signer_a"),
994
+ deriver_b: parseRegistrationRecipientKey(record.deriver_b, `${label}.deriver_b`, "signer_b")
995
+ };
996
+ }
997
+ function parseRouterAbEcdsaRegistrationRequestFactsV1(value) {
998
+ const label = "registration";
999
+ const record = requireRecord(value, label);
1000
+ requireExactKeys(record, label, [
1001
+ "registration_purpose",
1002
+ "context",
1003
+ "lifecycle",
1004
+ "signer_set",
1005
+ "router_id",
1006
+ "client_id",
1007
+ "replay_nonce",
1008
+ "expires_at_ms",
1009
+ "deriver_recipient_keys"
1010
+ ]);
1011
+ if (record.registration_purpose !== "wallet_registration" && record.registration_purpose !== "wallet_add_signer") throw new Error(`${label}.registration_purpose is invalid`);
1012
+ const lifecycle = parseRegistrationLifecycle(record.lifecycle);
1013
+ const signerSet = parsePostRegistrationSignerSet(record.signer_set, `${label}.signer_set`);
1014
+ if (lifecycle.signer_set_id !== signerSet.signer_set_id) throw new Error(`${label}.lifecycle signer set does not match signer_set`);
1015
+ if (lifecycle.selected_server_id !== signerSet.selected_server.server_id) throw new Error(`${label}.lifecycle selected server does not match signer_set`);
1016
+ const recipientKeys = parseRegistrationRecipientKeys(record.deriver_recipient_keys);
1017
+ if (recipientKeys.deriver_a.key_epoch !== signerSet.signer_a.key_epoch) throw new Error(`${label}.deriver_a recipient key epoch does not match signer_set`);
1018
+ if (recipientKeys.deriver_b.key_epoch !== signerSet.signer_b.key_epoch) throw new Error(`${label}.deriver_b recipient key epoch does not match signer_set`);
1019
+ return {
1020
+ registration_purpose: record.registration_purpose,
1021
+ context: parseStableKeyContext(record.context),
1022
+ lifecycle,
1023
+ signer_set: signerSet,
1024
+ router_id: requireAsciiNonEmptyString(record.router_id, `${label}.router_id`),
1025
+ client_id: requireAsciiNonEmptyString(record.client_id, `${label}.client_id`),
1026
+ replay_nonce: requireAsciiNonEmptyString(record.replay_nonce, `${label}.replay_nonce`),
1027
+ expires_at_ms: requirePositiveUnixMs(record.expires_at_ms, `${label}.expires_at_ms`),
1028
+ deriver_recipient_keys: recipientKeys
1029
+ };
1030
+ }
1031
+ function parseRouterAbEcdsaClientProofBundleV1(value, label) {
1032
+ const record = requireRecord(value, label);
1033
+ requireExactKeys(record, label, [
1034
+ "kind",
1035
+ "transcriptDigestB64u",
1036
+ "payloadB64u"
1037
+ ]);
1038
+ if (record.kind !== "recipient_proof_bundle") throw new Error(`${label}.kind must be recipient_proof_bundle`);
1039
+ return {
1040
+ kind: "recipient_proof_bundle",
1041
+ transcriptDigestB64u: requireBase64UrlFixed(record.transcriptDigestB64u, `${label}.transcriptDigestB64u`, 32),
1042
+ payloadB64u: requireBase64UrlNonEmpty(record.payloadB64u, `${label}.payloadB64u`)
1043
+ };
1044
+ }
1045
+ function parseRouterAbEcdsaStrictForwardedRegistrationResponseV1(value) {
1046
+ const label = "registrationForwarded";
1047
+ const record = requireRecord(value, label);
1048
+ requireExactKeys(record, label, ["result", "response"]);
1049
+ if (record.result !== "forwarded") throw new Error(`${label}.result must be forwarded`);
1050
+ return {
1051
+ result: "forwarded",
1052
+ response: parseRouterAbEcdsaStrictProofResponseV1(record.response, `${label}.response`)
1053
+ };
1054
+ }
1055
+ function parseRouterAbEcdsaExplicitExportForwardedResponseV1(value) {
1056
+ return parseRouterAbEcdsaExplicitExportForwardedResponseWithV1(value, parseRouterAbEcdsaSigningWorkerExportShareEnvelopeV1);
1057
+ }
1058
+ function parseRouterAbEcdsaExplicitExportForwardedResponseWithV1(value, parseEnvelope) {
1059
+ const label = "explicitExportForwarded";
1060
+ const record = requireRecord(value, label);
1061
+ requireExactKeys(record, label, [
1062
+ "result",
1063
+ "response",
1064
+ "signing_worker_export"
1065
+ ]);
1066
+ if (record.result !== "forwarded") throw new Error(`${label}.result must be forwarded`);
1067
+ return {
1068
+ result: "forwarded",
1069
+ response: parseRouterAbEcdsaStrictProofResponseV1(record.response, `${label}.response`),
1070
+ signing_worker_export: parseEnvelope(record.signing_worker_export)
1071
+ };
1072
+ }
1073
+ function parseRouterAbEcdsaSigningWorkerExportShareEnvelopeV1(value) {
1074
+ return parseRouterAbEcdsaSigningWorkerExportShareEnvelopeWithV1(value, parseRouterAbMpcMaterialActivationRef);
1075
+ }
1076
+ function parseRouterAbEcdsaSigningWorkerExportShareBindingWithV1(value, parseMaterialActivation, label) {
1077
+ const binding = requireRecord(value, label);
1078
+ requireExactKeys(binding, label, [
1079
+ "wallet_id",
1080
+ "key_handle",
1081
+ "ecdsa_threshold_key_id",
1082
+ "signing_root_id",
1083
+ "signing_root_version",
1084
+ "activation_epoch",
1085
+ "signing_worker_id",
1086
+ "context_binding_b64u",
1087
+ "threshold_public_key33_b64u",
1088
+ "export_request_digest_b64u",
1089
+ "export_authorization_digest_b64u",
1090
+ "export_nonce",
1091
+ "authorization_kind",
1092
+ "authorization_id",
1093
+ "material_activation",
1094
+ "lifecycle_id",
1095
+ "recipient_identity",
1096
+ "recipient_public_key",
1097
+ "expires_at_ms"
1098
+ ]);
1099
+ const materialActivation = parseMaterialActivation(binding.material_activation);
1100
+ if (materialActivation.material_owner !== binding.wallet_id || materialActivation.signing_worker !== binding.signing_worker_id) throw new Error(`${label}.material_activation is not bound to wallet and worker`);
1101
+ return {
1102
+ wallet_id: requireAsciiNonEmptyString(binding.wallet_id, `${label}.wallet_id`),
1103
+ key_handle: requireAsciiNonEmptyString(binding.key_handle, `${label}.key_handle`),
1104
+ ecdsa_threshold_key_id: requireAsciiNonEmptyString(binding.ecdsa_threshold_key_id, `${label}.ecdsa_threshold_key_id`),
1105
+ signing_root_id: requireAsciiNonEmptyString(binding.signing_root_id, `${label}.signing_root_id`),
1106
+ signing_root_version: requireAsciiNonEmptyString(binding.signing_root_version, `${label}.signing_root_version`),
1107
+ activation_epoch: requireRootShareEpoch(binding.activation_epoch, `${label}.activation_epoch`),
1108
+ signing_worker_id: requireAsciiNonEmptyString(binding.signing_worker_id, `${label}.signing_worker_id`),
1109
+ context_binding_b64u: requireBase64UrlFixed(binding.context_binding_b64u, `${label}.context_binding_b64u`, 32),
1110
+ threshold_public_key33_b64u: requireCompressedSecp256k1PublicKey(binding.threshold_public_key33_b64u, `${label}.threshold_public_key33_b64u`),
1111
+ export_request_digest_b64u: requireBase64UrlFixed(binding.export_request_digest_b64u, `${label}.export_request_digest_b64u`, 32),
1112
+ export_authorization_digest_b64u: requireBase64UrlFixed(binding.export_authorization_digest_b64u, `${label}.export_authorization_digest_b64u`, 32),
1113
+ export_nonce: requireAsciiNonEmptyString(binding.export_nonce, `${label}.export_nonce`),
1114
+ authorization_kind: requireExportShareAuthorizationKind(binding.authorization_kind, `${label}.authorization_kind`),
1115
+ authorization_id: requireAsciiNonEmptyString(binding.authorization_id, `${label}.authorization_id`),
1116
+ material_activation: materialActivation,
1117
+ lifecycle_id: requireAsciiNonEmptyString(binding.lifecycle_id, `${label}.lifecycle_id`),
1118
+ recipient_identity: requireAsciiNonEmptyString(binding.recipient_identity, `${label}.recipient_identity`),
1119
+ recipient_public_key: requireX25519PublicKey(binding.recipient_public_key, `${label}.recipient_public_key`),
1120
+ expires_at_ms: requirePositiveUnixMs(binding.expires_at_ms, `${label}.expires_at_ms`)
1121
+ };
1122
+ }
1123
+ function parseRouterAbEcdsaSigningWorkerExportShareEnvelopeWithV1(value, parseMaterialActivation) {
1124
+ const label = "signingWorkerExportShare";
1125
+ const record = requireRecord(value, label);
1126
+ requireExactKeys(record, label, [
1127
+ "version",
1128
+ "algorithm",
1129
+ "binding",
1130
+ "ciphertext_and_tag"
1131
+ ]);
1132
+ if (record.version !== "router-ab-ecdsa-derivation/signing-worker-export-share-envelope/v1") throw new Error(`${label}.version is invalid`);
1133
+ if (record.algorithm !== "hpke_x25519_hkdf_sha256_aes256gcm_v1") throw new Error(`${label}.algorithm is invalid`);
1134
+ if (!Array.isArray(record.ciphertext_and_tag) || record.ciphertext_and_tag.length <= 48) throw new Error(`${label}.ciphertext_and_tag is invalid`);
1135
+ return {
1136
+ version: "router-ab-ecdsa-derivation/signing-worker-export-share-envelope/v1",
1137
+ algorithm: "hpke_x25519_hkdf_sha256_aes256gcm_v1",
1138
+ binding: parseRouterAbEcdsaSigningWorkerExportShareBindingWithV1(record.binding, parseMaterialActivation, `${label}.binding`),
1139
+ ciphertext_and_tag: record.ciphertext_and_tag.map((entry, index) => requireByte(entry, `${label}.ciphertext_and_tag[${index}]`))
1140
+ };
1141
+ }
1142
+ function parseRouterAbEcdsaStrictProofResponseV1(value, label) {
1143
+ const response = requireRecord(value, label);
1144
+ requireExactKeys(response, label, ["bundles"]);
1145
+ const bundlesLabel = `${label}.bundles`;
1146
+ const bundles = requireRecord(response.bundles, bundlesLabel);
1147
+ requireExactKeys(bundles, bundlesLabel, ["signerA", "signerB"]);
1148
+ return { bundles: {
1149
+ signerA: parseRouterAbEcdsaClientProofBundleV1(bundles.signerA, `${bundlesLabel}.signerA`),
1150
+ signerB: parseRouterAbEcdsaClientProofBundleV1(bundles.signerB, `${bundlesLabel}.signerB`)
1151
+ } };
1152
+ }
1153
+ function parseRouterAbEcdsaVerifiedClientActivationFactsV1(value) {
1154
+ const label = "registrationActivation.publicFacts";
1155
+ const record = requireRecord(value, label);
1156
+ requireExactKeys(record, label, [
1157
+ "registrationRequestDigestB64u",
1158
+ "proofTranscriptDigestB64u",
1159
+ "contextBinding32B64u",
1160
+ "derivationClientSharePublicKey33B64u",
1161
+ "clientShareRetryCounter",
1162
+ "participantId"
1163
+ ]);
1164
+ if (record.participantId !== 1) throw new Error(`${label}.participantId must be 1`);
1165
+ return {
1166
+ registrationRequestDigestB64u: requireBase64UrlFixed(record.registrationRequestDigestB64u, `${label}.registrationRequestDigestB64u`, 32),
1167
+ proofTranscriptDigestB64u: requireBase64UrlFixed(record.proofTranscriptDigestB64u, `${label}.proofTranscriptDigestB64u`, 32),
1168
+ contextBinding32B64u: requireBase64UrlFixed(record.contextBinding32B64u, `${label}.contextBinding32B64u`, 32),
1169
+ derivationClientSharePublicKey33B64u: requireCompressedSecp256k1PublicKey(record.derivationClientSharePublicKey33B64u, `${label}.derivationClientSharePublicKey33B64u`),
1170
+ clientShareRetryCounter: requireU32(record.clientShareRetryCounter, `${label}.clientShareRetryCounter`),
1171
+ participantId: 1
1172
+ };
1173
+ }
1174
+ function parseRouterAbEcdsaRegistrationActivationReceiptV1(value) {
1175
+ const label = "registrationActivationReceipt";
1176
+ const record = requireRecord(value, label);
1177
+ requireExactKeys(record, label, [
1178
+ "activation_correlation_id",
1179
+ "activation_request_digest",
1180
+ "server_generation",
1181
+ "ecdsa_activation",
1182
+ "lifecycle_id",
1183
+ "transcript_digest"
1184
+ ]);
1185
+ const activationLabel = `${label}.ecdsa_activation`;
1186
+ const activation = requireRecord(record.ecdsa_activation, activationLabel);
1187
+ requireExactKeys(activation, activationLabel, [
1188
+ "context",
1189
+ "public_identity",
1190
+ "signing_worker",
1191
+ "material_activation",
1192
+ "activation_epoch",
1193
+ "activation_digest_b64u",
1194
+ "activated_at_ms"
1195
+ ]);
1196
+ const signingWorker = parseServerIdentityWithLabel(activation.signing_worker, `${activationLabel}.signing_worker`);
1197
+ const materialActivation = parseRouterAbMpcMaterialActivationRef(activation.material_activation);
1198
+ if (materialActivation.signing_worker !== signingWorker.server_id) throw new Error(`${activationLabel}.material_activation.signing_worker does not match signing_worker`);
1199
+ const activationDigestB64u = requireBase64UrlFixed(activation.activation_digest_b64u, `${activationLabel}.activation_digest_b64u`, 32);
1200
+ const transcriptDigest = parsePublicDigest32(record.transcript_digest, `${label}.transcript_digest`);
1201
+ return {
1202
+ activation_correlation_id: parseCorrelationId(record.activation_correlation_id),
1203
+ activation_request_digest: parsePublicDigest32(record.activation_request_digest, `${label}.activation_request_digest`),
1204
+ server_generation: parseEcdsaServerGeneration(record.server_generation),
1205
+ ecdsa_activation: {
1206
+ context: parseStableKeyContext(activation.context),
1207
+ public_identity: parsePublicIdentity(activation.public_identity),
1208
+ signing_worker: signingWorker,
1209
+ material_activation: materialActivation,
1210
+ activation_epoch: requireRootShareEpoch(activation.activation_epoch, `${activationLabel}.activation_epoch`),
1211
+ activation_digest_b64u: activationDigestB64u,
1212
+ activated_at_ms: requirePositiveUnixMs(activation.activated_at_ms, `${activationLabel}.activated_at_ms`)
1213
+ },
1214
+ lifecycle_id: requireAsciiNonEmptyString(record.lifecycle_id, `${label}.lifecycle_id`),
1215
+ transcript_digest: transcriptDigest
1216
+ };
1217
+ }
1218
+ function parseRouterAbEcdsaRegistrationPublicActivationReceiptV1(value) {
1219
+ return parseRouterAbEcdsaRegistrationActivationReceiptV1(value);
1220
+ }
1221
+ function sameRouterAbServerIdentityV1(left, right) {
1222
+ return left.server_id === right.server_id && left.key_epoch === right.key_epoch && left.recipient_encryption_key === right.recipient_encryption_key;
1223
+ }
1224
+ function sameRouterAbEcdsaVerifiedClientActivationFactsV1(left, right) {
1225
+ return left.registrationRequestDigestB64u === right.registrationRequestDigestB64u && left.proofTranscriptDigestB64u === right.proofTranscriptDigestB64u && left.contextBinding32B64u === right.contextBinding32B64u && left.derivationClientSharePublicKey33B64u === right.derivationClientSharePublicKey33B64u && left.clientShareRetryCounter === right.clientShareRetryCounter && left.participantId === right.participantId;
1226
+ }
1227
+ function sameRegistrationSignerSet(left, right) {
1228
+ return left.signer_set_id === right.signer_set_id && left.policy === right.policy && left.signer_a.role === right.signer_a.role && left.signer_a.signer_id === right.signer_a.signer_id && left.signer_a.key_epoch === right.signer_a.key_epoch && left.signer_b.role === right.signer_b.role && left.signer_b.signer_id === right.signer_b.signer_id && left.signer_b.key_epoch === right.signer_b.key_epoch && sameRouterAbServerIdentityV1(left.selected_server, right.selected_server);
1229
+ }
1230
+ function parseRouterAbEcdsaDerivationPublicCapabilityV1(value) {
1231
+ const label = "ecdsaPublicCapability";
1232
+ const record = requireRecord(value, label);
1233
+ requireExactKeys(record, label, [
1234
+ "kind",
1235
+ "context",
1236
+ "public_identity",
1237
+ "material_activation",
1238
+ "signer_set",
1239
+ "deriver_recipient_keys",
1240
+ "router_id",
1241
+ "client_id",
1242
+ "activation_epoch",
1243
+ "registration_request_digest_b64u",
1244
+ "proof_transcript_digest_b64u"
1245
+ ]);
1246
+ if (record.kind !== "router_ab_ecdsa_derivation_public_capability_v1") throw new Error(`${label}.kind is invalid`);
1247
+ const signerSet = parsePostRegistrationSignerSet(record.signer_set, `${label}.signer_set`);
1248
+ const recipientKeys = parseRegistrationRecipientKeys(record.deriver_recipient_keys, `${label}.deriver_recipient_keys`);
1249
+ if (recipientKeys.deriver_a.key_epoch !== signerSet.signer_a.key_epoch || recipientKeys.deriver_b.key_epoch !== signerSet.signer_b.key_epoch) throw new Error(`${label} Deriver recipient key epochs do not match signer_set`);
1250
+ return {
1251
+ kind: "router_ab_ecdsa_derivation_public_capability_v1",
1252
+ context: parseStableKeyContext(record.context),
1253
+ public_identity: parsePublicIdentity(record.public_identity),
1254
+ material_activation: parseRouterAbMpcMaterialActivationRef(record.material_activation),
1255
+ signer_set: signerSet,
1256
+ deriver_recipient_keys: recipientKeys,
1257
+ router_id: requireAsciiNonEmptyString(record.router_id, `${label}.router_id`),
1258
+ client_id: requireAsciiNonEmptyString(record.client_id, `${label}.client_id`),
1259
+ activation_epoch: requireRootShareEpoch(record.activation_epoch, `${label}.activation_epoch`),
1260
+ registration_request_digest_b64u: requireBase64UrlFixed(record.registration_request_digest_b64u, `${label}.registration_request_digest_b64u`, 32),
1261
+ proof_transcript_digest_b64u: requireBase64UrlFixed(record.proof_transcript_digest_b64u, `${label}.proof_transcript_digest_b64u`, 32)
1262
+ };
1263
+ }
1264
+ function parsePostRegistrationSessionPolicy(value) {
1265
+ const label = "postRegistrationSessionActivation.session_policy";
1266
+ const record = requireRecord(value, label);
1267
+ requireExactKeys(record, label, [
1268
+ "threshold_session_id",
1269
+ "wallet_session_mint_id",
1270
+ "ttl_ms",
1271
+ "remaining_uses",
1272
+ "runtime_policy_scope"
1273
+ ]);
1274
+ return {
1275
+ threshold_session_id: requireThresholdEcdsaSessionId(record.threshold_session_id, `${label}.threshold_session_id`),
1276
+ wallet_session_mint_id: requireWalletSessionMintId(record.wallet_session_mint_id, `${label}.wallet_session_mint_id`),
1277
+ ttl_ms: requirePositiveCounter(record.ttl_ms, `${label}.ttl_ms`),
1278
+ remaining_uses: requirePositiveCounter(record.remaining_uses, `${label}.remaining_uses`),
1279
+ runtime_policy_scope: normalizeRuntimePolicyScope(record.runtime_policy_scope)
1280
+ };
1281
+ }
1282
+ function parseRouterAbEcdsaPostRegistrationSessionActivationPolicyV1(value) {
1283
+ const label = "postRegistrationSessionActivationPolicy";
1284
+ const record = requireRecord(value, label);
1285
+ requireExactKeys(record, label, [
1286
+ "kind",
1287
+ "key_handle",
1288
+ "session_policy"
1289
+ ]);
1290
+ if (record.kind !== "router_ab_ecdsa_post_registration_session_activation_policy_v1") throw new Error(`${label}.kind is invalid`);
1291
+ return {
1292
+ kind: "router_ab_ecdsa_post_registration_session_activation_policy_v1",
1293
+ key_handle: requireAsciiNonEmptyString(record.key_handle, `${label}.key_handle`),
1294
+ session_policy: parsePostRegistrationSessionPolicy(record.session_policy)
1295
+ };
1296
+ }
1297
+ function requireWalletSessionMintId(value, label) {
1298
+ const parsed = parseWalletSessionMintId(value);
1299
+ if (!parsed.ok) throw new Error(`${label} is invalid`);
1300
+ return parsed.value;
1301
+ }
1302
+ function sameRouterAbEcdsaDerivationPublicIdentityV1(left, right) {
1303
+ return left.context_binding_b64u === right.context_binding_b64u && left.derivation_client_share_public_key33_b64u === right.derivation_client_share_public_key33_b64u && left.server_public_key33_b64u === right.server_public_key33_b64u && left.threshold_public_key33_b64u === right.threshold_public_key33_b64u && left.ethereum_address20_b64u === right.ethereum_address20_b64u && left.client_share_retry_counter === right.client_share_retry_counter && left.server_share_retry_counter === right.server_share_retry_counter;
1304
+ }
1305
+ function activeWalletSessionMatchesEcdsaCapability(session, capability) {
1306
+ for (const subject of session.capabilitySubjects) {
1307
+ if (subject.kind !== "sign" || subject.keyFamily !== "ecdsa_secp256k1") continue;
1308
+ return sameRouterAbMpcMaterialActivationRef(capability.material_activation, routerAbMpcMaterialActivationRefToWire(subject.materialActivation));
1309
+ }
1310
+ return false;
1311
+ }
1312
+ function parseRouterAbEcdsaPostRegistrationSessionActivationRequestV1(value) {
1313
+ const label = "postRegistrationSessionActivation";
1314
+ const record = requireRecord(value, label);
1315
+ requireExactKeys(record, label, [
1316
+ "kind",
1317
+ "public_capability",
1318
+ "session_policy"
1319
+ ]);
1320
+ if (record.kind !== "router_ab_ecdsa_post_registration_session_activation_v1") throw new Error(`${label}.kind is invalid`);
1321
+ return {
1322
+ kind: "router_ab_ecdsa_post_registration_session_activation_v1",
1323
+ public_capability: parseRouterAbEcdsaDerivationPublicCapabilityV1(record.public_capability),
1324
+ session_policy: parsePostRegistrationSessionPolicy(record.session_policy)
1325
+ };
1326
+ }
1327
+ function parseRouterAbEcdsaPostRegistrationSessionActivationResponseV1(value) {
1328
+ const label = "postRegistrationSessionActivated";
1329
+ const record = requireRecord(value, label);
1330
+ requireExactKeys(record, label, [
1331
+ "kind",
1332
+ "public_capability",
1333
+ "session",
1334
+ "normal_signing"
1335
+ ]);
1336
+ if (record.kind !== "router_ab_ecdsa_post_registration_session_activated_v1") throw new Error(`${label}.kind is invalid`);
1337
+ const publicCapability = parseRouterAbEcdsaDerivationPublicCapabilityV1(record.public_capability);
1338
+ const sessionRecord = requireRecord(record.session, `${label}.session`);
1339
+ requireExactKeys(sessionRecord, `${label}.session`, [
1340
+ "authorization_session_id",
1341
+ "authorization_id",
1342
+ "threshold_session_id",
1343
+ "wallet_session_id",
1344
+ "quota_id",
1345
+ "expires_at_ms",
1346
+ "remaining_uses",
1347
+ "wallet_session",
1348
+ "operation_credential"
1349
+ ]);
1350
+ const normalSigning = requireRouterAbEcdsaDerivationNormalSigningStateV1(record.normal_signing);
1351
+ const authorizationId = requireWalletSessionAuthorizationId(sessionRecord.authorization_id, `${label}.session.authorization_id`);
1352
+ const walletSessionId = requireWalletSessionId(sessionRecord.wallet_session_id, `${label}.session.wallet_session_id`);
1353
+ const expiresAtMs = requirePositiveUnixMs(sessionRecord.expires_at_ms, `${label}.session.expires_at_ms`);
1354
+ const walletSession = parseActiveWalletSessionV1(sessionRecord.wallet_session);
1355
+ const operationCredential = parseWalletSessionOperationCredentialV1(sessionRecord.operation_credential);
1356
+ if (!sameRouterAbEcdsaDerivationPublicIdentityV1(publicCapability.public_identity, normalSigning.scope.public_identity) || publicCapability.context.application_binding_digest_b64u !== normalSigning.scope.context.application_binding_digest_b64u || normalSigning.scope.activation_epoch !== publicCapability.activation_epoch || !sameRouterAbServerIdentityV1(normalSigning.scope.signing_worker, publicCapability.signer_set.selected_server) || walletSession.authorizationId !== authorizationId || walletSession.walletId !== publicCapability.client_id || walletSession.expiresAtMs !== expiresAtMs || !activeWalletSessionMatchesEcdsaCapability(walletSession, publicCapability) || operationCredential.walletSessionId !== walletSessionId) throw new Error(`${label} exact Wallet Session does not match the activated capability`);
1357
+ return {
1358
+ kind: "router_ab_ecdsa_post_registration_session_activated_v1",
1359
+ public_capability: publicCapability,
1360
+ session: {
1361
+ authorization_session_id: requireEcdsaAuthorizationSessionId(sessionRecord.authorization_session_id, `${label}.session.authorization_session_id`),
1362
+ authorization_id: authorizationId,
1363
+ threshold_session_id: requireThresholdEcdsaSessionId(sessionRecord.threshold_session_id, `${label}.session.threshold_session_id`),
1364
+ wallet_session_id: walletSessionId,
1365
+ quota_id: requireMpcWalletSigningQuotaId(sessionRecord.quota_id, `${label}.session.quota_id`),
1366
+ expires_at_ms: expiresAtMs,
1367
+ remaining_uses: requirePositiveCounter(sessionRecord.remaining_uses, `${label}.session.remaining_uses`),
1368
+ wallet_session: walletSession,
1369
+ operation_credential: operationCredential
1370
+ },
1371
+ normal_signing: normalSigning
1372
+ };
1373
+ }
1374
+ function parseRouterAbEcdsaCredentialFreeSessionActivationResponseV1(value) {
1375
+ const label = "credentialFreeSessionActivated";
1376
+ const record = requireRecord(value, label);
1377
+ requireExactKeys(record, label, [
1378
+ "kind",
1379
+ "public_capability",
1380
+ "session",
1381
+ "normal_signing"
1382
+ ]);
1383
+ if (record.kind !== "router_ab_ecdsa_credential_free_session_activated_v1") throw new Error(`${label}.kind is invalid`);
1384
+ const publicCapability = parseRouterAbEcdsaDerivationPublicCapabilityV1(record.public_capability);
1385
+ const sessionRecord = requireRecord(record.session, `${label}.session`);
1386
+ requireExactKeys(sessionRecord, `${label}.session`, [
1387
+ "authorization_session_id",
1388
+ "authorization_id",
1389
+ "threshold_session_id",
1390
+ "wallet_session_id",
1391
+ "quota_id",
1392
+ "expires_at_ms",
1393
+ "remaining_uses"
1394
+ ]);
1395
+ const normalSigning = requireRouterAbEcdsaDerivationNormalSigningStateV1(record.normal_signing);
1396
+ if (!sameRouterAbEcdsaDerivationPublicIdentityV1(publicCapability.public_identity, normalSigning.scope.public_identity) || publicCapability.context.application_binding_digest_b64u !== normalSigning.scope.context.application_binding_digest_b64u || normalSigning.scope.activation_epoch !== publicCapability.activation_epoch || !sameRouterAbServerIdentityV1(normalSigning.scope.signing_worker, publicCapability.signer_set.selected_server)) throw new Error(`${label} normal-signing state does not match public capability`);
1397
+ return {
1398
+ kind: "router_ab_ecdsa_credential_free_session_activated_v1",
1399
+ public_capability: publicCapability,
1400
+ session: {
1401
+ authorization_session_id: requireEcdsaAuthorizationSessionId(sessionRecord.authorization_session_id, `${label}.session.authorization_session_id`),
1402
+ authorization_id: requireWalletSessionAuthorizationId(sessionRecord.authorization_id, `${label}.session.authorization_id`),
1403
+ threshold_session_id: requireThresholdEcdsaSessionId(sessionRecord.threshold_session_id, `${label}.session.threshold_session_id`),
1404
+ wallet_session_id: requireWalletSessionId(sessionRecord.wallet_session_id, `${label}.session.wallet_session_id`),
1405
+ quota_id: requireMpcWalletSigningQuotaId(sessionRecord.quota_id, `${label}.session.quota_id`),
1406
+ expires_at_ms: requirePositiveUnixMs(sessionRecord.expires_at_ms, `${label}.session.expires_at_ms`),
1407
+ remaining_uses: requirePositiveCounter(sessionRecord.remaining_uses, `${label}.session.remaining_uses`)
1408
+ },
1409
+ normal_signing: normalSigning
1410
+ };
1411
+ }
1412
+ function publicDigest32FromBase64Url(value, label = "signing_digest_b64u") {
1413
+ return { bytes: Array.from(base64UrlDecode(requireBase64UrlFixed(value, label, 32))) };
1414
+ }
1415
+ function samePublicDigest32(left, right) {
1416
+ return left.bytes.length === 32 && right.bytes.length === 32 && left.bytes.every((b, i) => b === right.bytes[i]);
1417
+ }
1418
+ function sameRouterAbPublicDigest32V1Wire(left, right) {
1419
+ return left.bytes.length === right.bytes.length && left.bytes.every((b, i) => b === right.bytes[i]);
1420
+ }
1421
+ function sameRegistrationRecipientKeys(left, right) {
1422
+ return left.deriver_a.role === right.deriver_a.role && left.deriver_a.key_epoch === right.deriver_a.key_epoch && left.deriver_a.public_key === right.deriver_a.public_key && left.deriver_b.role === right.deriver_b.role && left.deriver_b.key_epoch === right.deriver_b.key_epoch && left.deriver_b.public_key === right.deriver_b.public_key;
1423
+ }
1424
+ function sameRouterAbEcdsaRegistrationActivationReceiptV1(left, right) {
1425
+ const leftActivation = left.ecdsa_activation;
1426
+ const rightActivation = right.ecdsa_activation;
1427
+ return left.activation_correlation_id === right.activation_correlation_id && sameRouterAbPublicDigest32V1Wire(left.activation_request_digest, right.activation_request_digest) && left.server_generation === right.server_generation && left.lifecycle_id === right.lifecycle_id && sameRouterAbPublicDigest32V1Wire(left.transcript_digest, right.transcript_digest) && leftActivation.context.application_binding_digest_b64u === rightActivation.context.application_binding_digest_b64u && sameRouterAbEcdsaDerivationPublicIdentityV1(leftActivation.public_identity, rightActivation.public_identity) && sameRouterAbServerIdentityV1(leftActivation.signing_worker, rightActivation.signing_worker) && sameRouterAbMpcMaterialActivationRef(leftActivation.material_activation, rightActivation.material_activation) && leftActivation.activation_epoch === rightActivation.activation_epoch && leftActivation.activation_digest_b64u === rightActivation.activation_digest_b64u && leftActivation.activated_at_ms === rightActivation.activated_at_ms;
1428
+ }
1429
+ function sameRouterAbEcdsaDerivationNormalSigningStateV1(left, right) {
1430
+ const leftScope = left.scope;
1431
+ const rightScope = right.scope;
1432
+ return left.kind === right.kind && leftScope.wallet_id === rightScope.wallet_id && leftScope.ecdsa_threshold_key_id === rightScope.ecdsa_threshold_key_id && leftScope.signing_root_id === rightScope.signing_root_id && leftScope.signing_root_version === rightScope.signing_root_version && leftScope.context.application_binding_digest_b64u === rightScope.context.application_binding_digest_b64u && sameRouterAbEcdsaDerivationPublicIdentityV1(leftScope.public_identity, rightScope.public_identity) && sameRouterAbMpcMaterialActivationRef(leftScope.material_activation, rightScope.material_activation) && sameRouterAbServerIdentityV1(leftScope.signing_worker, rightScope.signing_worker) && leftScope.activation_epoch === rightScope.activation_epoch;
1433
+ }
1434
+ function sameRouterAbEcdsaDerivationPublicCapabilityV1(left, right) {
1435
+ return left.kind === right.kind && left.context.application_binding_digest_b64u === right.context.application_binding_digest_b64u && sameRouterAbEcdsaDerivationPublicIdentityV1(left.public_identity, right.public_identity) && sameRouterAbMpcMaterialActivationRef(left.material_activation, right.material_activation) && sameRegistrationSignerSet(left.signer_set, right.signer_set) && sameRegistrationRecipientKeys(left.deriver_recipient_keys, right.deriver_recipient_keys) && left.router_id === right.router_id && left.client_id === right.client_id && left.activation_epoch === right.activation_epoch && left.registration_request_digest_b64u === right.registration_request_digest_b64u && left.proof_transcript_digest_b64u === right.proof_transcript_digest_b64u;
1436
+ }
1437
+ function asciiBytes(value) {
1438
+ return new TextEncoder().encode(requireAsciiNonEmptyString(value, "canonical string"));
1439
+ }
1440
+ function concatBytes(parts) {
1441
+ const length = parts.reduce((sum, part) => sum + part.length, 0);
1442
+ const out = new Uint8Array(length);
1443
+ let offset = 0;
1444
+ for (const part of parts) {
1445
+ out.set(part, offset);
1446
+ offset += part.length;
1447
+ }
1448
+ return out;
1449
+ }
1450
+ function pushBytes(out, bytes) {
1451
+ for (const byte of bytes) out.push(byte);
1452
+ }
1453
+ function pushOperationDigests(out, digests) {
1454
+ pushBytes(out, base64UrlDecode(digests.lane_digest_b64u));
1455
+ pushBytes(out, base64UrlDecode(digests.intent_digest_b64u));
1456
+ pushBytes(out, base64UrlDecode(digests.display_digest_b64u));
1457
+ }
1458
+ function pushU16(out, value) {
1459
+ if (!Number.isInteger(value) || value < 0 || value > 65535) throw new Error("canonical u16 must be an integer between 0 and 65535");
1460
+ out.push(value >>> 8 & 255, value & 255);
1461
+ }
1462
+ function pushU32(out, value) {
1463
+ if (!Number.isInteger(value) || value < 0 || value > 4294967295) throw new Error("canonical u32 must be an integer between 0 and 4294967295");
1464
+ out.push(value >>> 24 & 255, value >>> 16 & 255, value >>> 8 & 255, value & 255);
1465
+ }
1466
+ function pushU64(out, value) {
1467
+ if (!Number.isSafeInteger(value) || value < 0) throw new Error("canonical u64 must be a non-negative safe integer");
1468
+ const remaining = BigInt(value);
1469
+ for (let shift = 56; shift >= 0; shift -= 8) out.push(Number(remaining >> BigInt(shift) & 255n));
1470
+ }
1471
+ function pushLen32(out, bytes) {
1472
+ pushU32(out, bytes.length);
1473
+ pushBytes(out, bytes);
1474
+ }
1475
+ function pushAsciiU16(out, value) {
1476
+ const bytes = asciiBytes(value);
1477
+ pushU16(out, bytes.length);
1478
+ pushBytes(out, bytes);
1479
+ }
1480
+ function pushServerIdentity(out, server) {
1481
+ pushLen32(out, asciiBytes(server.server_id));
1482
+ pushLen32(out, asciiBytes(server.key_epoch));
1483
+ pushLen32(out, asciiBytes(server.recipient_encryption_key));
1484
+ }
1485
+ async function sha256Bytes(input) {
1486
+ const subtle = globalThis.crypto?.subtle;
1487
+ if (!subtle) throw new Error("crypto.subtle is required for Router A/B ECDSA derivation request digest binding");
1488
+ const buffer = new ArrayBuffer(input.byteLength);
1489
+ new Uint8Array(buffer).set(input);
1490
+ return new Uint8Array(await subtle.digest("SHA-256", buffer));
1491
+ }
1492
+ async function routerAbEcdsaRerandomizationClientCommitmentV1(contribution32) {
1493
+ const contribution = requireUint8ArrayFixed(contribution32, "clientRerandomizationContribution32", 32);
1494
+ return await sha256Bytes(concatBytes([asciiBytes(ROUTER_AB_ECDSA_DERIVATION_CLIENT_RERANDOMIZATION_COMMITMENT_DOMAIN_V1), contribution]));
1495
+ }
1496
+ function canonicalStableKeyContextBytes(context) {
1497
+ const parsed = parseStableKeyContext(context);
1498
+ const out = [];
1499
+ pushBytes(out, asciiBytes(ECDSA_DERIVATION_CONTEXT_DOMAIN_TAG_V1));
1500
+ pushAsciiU16(out, ECDSA_DERIVATION_SCHEME_ID_V1);
1501
+ pushAsciiU16(out, ECDSA_DERIVATION_CURVE_V1);
1502
+ pushBytes(out, base64UrlDecode(parsed.application_binding_digest_b64u));
1503
+ out.push(ECDSA_DERIVATION_PARTICIPANT_IDS_V1.length);
1504
+ for (const participantId of ECDSA_DERIVATION_PARTICIPANT_IDS_V1) pushU16(out, participantId);
1505
+ return new Uint8Array(out);
1506
+ }
1507
+ function contextBindingFrame(contextBytes) {
1508
+ const out = [];
1509
+ pushBytes(out, asciiBytes(ECDSA_DERIVATION_CONTEXT_BINDING_DOMAIN_V1));
1510
+ out.push(1);
1511
+ out.push(ECDSA_DERIVATION_CONTEXT_FIELD_BYTES_V1);
1512
+ pushU16(out, contextBytes.length);
1513
+ pushBytes(out, contextBytes);
1514
+ return new Uint8Array(out);
1515
+ }
1516
+ async function routerAbEcdsaDerivationContextBindingDigestV1(context) {
1517
+ return publicDigest32FromCanonicalBytes(contextBindingFrame(canonicalStableKeyContextBytes(context)));
1518
+ }
1519
+ function canonicalPublicIdentityBytes(publicIdentity) {
1520
+ const parsed = parsePublicIdentity(publicIdentity);
1521
+ const out = [];
1522
+ pushLen32(out, asciiBytes(ROUTER_AB_ECDSA_DERIVATION_PUBLIC_IDENTITY_VERSION_V1));
1523
+ pushLen32(out, asciiBytes(parsed.context_binding_b64u));
1524
+ pushLen32(out, asciiBytes(parsed.derivation_client_share_public_key33_b64u));
1525
+ pushLen32(out, asciiBytes(parsed.server_public_key33_b64u));
1526
+ pushLen32(out, asciiBytes(parsed.threshold_public_key33_b64u));
1527
+ pushLen32(out, asciiBytes(parsed.ethereum_address20_b64u));
1528
+ pushU32(out, parsed.client_share_retry_counter);
1529
+ pushU32(out, parsed.server_share_retry_counter);
1530
+ return new Uint8Array(out);
1531
+ }
1532
+ function canonicalNormalSigningScopeBytes(scope) {
1533
+ const parsed = parseRouterAbEcdsaDerivationNormalSigningScopeV1(scope);
1534
+ const out = [];
1535
+ pushLen32(out, asciiBytes(ROUTER_AB_ECDSA_DERIVATION_NORMAL_SIGNING_SCOPE_VERSION_V1));
1536
+ pushLen32(out, asciiBytes(parsed.wallet_id));
1537
+ pushLen32(out, asciiBytes(parsed.ecdsa_threshold_key_id));
1538
+ pushLen32(out, asciiBytes(parsed.signing_root_id));
1539
+ pushLen32(out, asciiBytes(parsed.signing_root_version));
1540
+ pushLen32(out, canonicalStableKeyContextBytes(parsed.context));
1541
+ pushLen32(out, canonicalPublicIdentityBytes(parsed.public_identity));
1542
+ out.push(...canonicalRouterAbMpcMaterialActivationRefBytes(parsed.material_activation));
1543
+ pushServerIdentity(out, parsed.signing_worker);
1544
+ pushLen32(out, asciiBytes(parsed.activation_epoch));
1545
+ return new Uint8Array(out);
1546
+ }
1547
+ function routerAbEcdsaDerivationNormalSigningScopeCanonicalBytesV1(scope) {
1548
+ return canonicalNormalSigningScopeBytes(scope);
1549
+ }
1550
+ function sameCanonicalBytes(left, right) {
1551
+ return left.length === right.length && left.every((byte, index) => byte === right[index]);
1552
+ }
1553
+ function sameRouterAbEcdsaDerivationNormalSigningScopeV1(left, right) {
1554
+ try {
1555
+ return sameCanonicalBytes(routerAbEcdsaDerivationNormalSigningScopeCanonicalBytesV1(left), routerAbEcdsaDerivationNormalSigningScopeCanonicalBytesV1(right));
1556
+ } catch {
1557
+ return false;
1558
+ }
1559
+ }
1560
+ async function publicDigest32FromCanonicalBytes(bytes) {
1561
+ return { bytes: Array.from(await sha256Bytes(bytes)) };
1562
+ }
1563
+ async function verifyRouterAbEcdsaDerivationNormalSigningScopeContextBindingV1(scope) {
1564
+ const parsed = parseRouterAbEcdsaDerivationNormalSigningScopeV1(scope);
1565
+ const expected = await routerAbEcdsaDerivationContextBindingDigestV1(parsed.context);
1566
+ if (!samePublicDigest32(publicDigest32FromBase64Url(parsed.public_identity.context_binding_b64u, "scope.public_identity.context_binding_b64u"), expected)) throw new Error("scope.public_identity.context_binding_b64u does not match scope.context");
1567
+ return parsed;
1568
+ }
1569
+ function routerAbEcdsaDerivationEvmDigestSigningRequestCanonicalBytesV1(request) {
1570
+ const parsed = parseRouterAbEcdsaDerivationEvmDigestSigningRequestV1(request);
1571
+ const out = [];
1572
+ pushLen32(out, asciiBytes(ROUTER_AB_ECDSA_DERIVATION_NORMAL_SIGNING_REQUEST_VERSION_V1));
1573
+ pushLen32(out, canonicalNormalSigningScopeBytes(parsed.scope));
1574
+ pushLen32(out, asciiBytes(parsed.request_id));
1575
+ pushLen32(out, asciiBytes(parsed.operation_id));
1576
+ pushOperationDigests(out, parsed.operation_digests);
1577
+ out.push(...canonicalRouterAbNormalSigningAuthorizationBytes(parsed.authorization));
1578
+ out.push(...canonicalRouterAbMpcMaterialActivationRefBytes(parsed.material_activation));
1579
+ pushLen32(out, asciiBytes(parsed.client_presignature_id));
1580
+ pushU64(out, parsed.expires_at_ms);
1581
+ pushBytes(out, base64UrlDecode(parsed.signing_digest_b64u));
1582
+ pushLen32(out, base64UrlDecode(parsed.client_rerandomization_commitment32_b64u));
1583
+ return new Uint8Array(out);
1584
+ }
1585
+ async function routerAbEcdsaDerivationEvmDigestSigningRequestDigestV1(request) {
1586
+ const parsed = parseRouterAbEcdsaDerivationEvmDigestSigningRequestV1(request);
1587
+ await verifyRouterAbEcdsaDerivationNormalSigningScopeContextBindingV1(parsed.scope);
1588
+ return publicDigest32FromCanonicalBytes(routerAbEcdsaDerivationEvmDigestSigningRequestCanonicalBytesV1(parsed));
1589
+ }
1590
+ function routerAbEcdsaDerivationEvmDigestSigningFinalizeCoreRequestCanonicalBytesV1(request) {
1591
+ const parsed = parseRouterAbEcdsaDerivationEvmDigestSigningFinalizeCoreRequestV1(request);
1592
+ const out = [];
1593
+ pushLen32(out, asciiBytes(ROUTER_AB_ECDSA_DERIVATION_NORMAL_SIGNING_FINALIZE_REQUEST_VERSION_V1));
1594
+ pushLen32(out, canonicalNormalSigningScopeBytes(parsed.scope));
1595
+ pushLen32(out, asciiBytes(parsed.request_id));
1596
+ pushLen32(out, asciiBytes(parsed.operation_id));
1597
+ pushOperationDigests(out, parsed.operation_digests);
1598
+ out.push(...canonicalRouterAbNormalSigningAuthorizationBytes(parsed.authorization));
1599
+ out.push(...canonicalRouterAbMpcMaterialActivationRefBytes(parsed.material_activation));
1600
+ pushU64(out, parsed.expires_at_ms);
1601
+ pushBytes(out, base64UrlDecode(parsed.signing_digest_b64u));
1602
+ pushLen32(out, asciiBytes(parsed.server_presignature_id));
1603
+ pushLen32(out, base64UrlDecode(parsed.client_signature_share32_b64u));
1604
+ pushLen32(out, base64UrlDecode(parsed.client_rerandomization_contribution32_b64u));
1605
+ return new Uint8Array(out);
1606
+ }
1607
+ async function routerAbEcdsaDerivationEvmDigestSigningFinalizeCoreRequestDigestV1(request) {
1608
+ const parsed = parseRouterAbEcdsaDerivationEvmDigestSigningFinalizeCoreRequestV1(request);
1609
+ await verifyRouterAbEcdsaDerivationNormalSigningScopeContextBindingV1(parsed.scope);
1610
+ return publicDigest32FromCanonicalBytes(routerAbEcdsaDerivationEvmDigestSigningFinalizeCoreRequestCanonicalBytesV1(parsed));
1611
+ }
1612
+ function parseRouterAbEcdsaDerivationNormalSigningScopeV1(value) {
1613
+ const record = requireRecord(value, "scope");
1614
+ requireExactKeys(record, "scope", [
1615
+ "wallet_id",
1616
+ "ecdsa_threshold_key_id",
1617
+ "signing_root_id",
1618
+ "signing_root_version",
1619
+ "context",
1620
+ "public_identity",
1621
+ "material_activation",
1622
+ "signing_worker",
1623
+ "activation_epoch"
1624
+ ]);
1625
+ return {
1626
+ wallet_id: requireAsciiNonEmptyString(record.wallet_id, "scope.wallet_id"),
1627
+ ecdsa_threshold_key_id: requireAsciiNonEmptyString(record.ecdsa_threshold_key_id, "scope.ecdsa_threshold_key_id"),
1628
+ signing_root_id: requireAsciiNonEmptyString(record.signing_root_id, "scope.signing_root_id"),
1629
+ signing_root_version: requireAsciiNonEmptyString(record.signing_root_version, "scope.signing_root_version"),
1630
+ context: parseStableKeyContext(record.context),
1631
+ public_identity: parsePublicIdentity(record.public_identity),
1632
+ material_activation: parseRouterAbMpcMaterialActivationRef(record.material_activation),
1633
+ signing_worker: parseServerIdentity(record.signing_worker),
1634
+ activation_epoch: requireRootShareEpoch(record.activation_epoch, "scope.activation_epoch")
1635
+ };
1636
+ }
1637
+ function parseRouterAbEcdsaDerivationNormalSigningStateV1(value) {
1638
+ if (value === void 0 || value === null) return null;
1639
+ const record = requireRecord(value, "routerAbEcdsaDerivationNormalSigning");
1640
+ requireExactKeys(record, "routerAbEcdsaDerivationNormalSigning", ["kind", "scope"]);
1641
+ if (requireAsciiNonEmptyString(record.kind, "routerAbEcdsaDerivationNormalSigning.kind") !== "router_ab_ecdsa_derivation_normal_signing_v1") throw new Error("routerAbEcdsaDerivationNormalSigning.kind is not supported");
1642
+ return {
1643
+ kind: ROUTER_AB_ECDSA_DERIVATION_NORMAL_SIGNING_STATE_KIND_V1,
1644
+ scope: parseRouterAbEcdsaDerivationNormalSigningScopeV1(record.scope)
1645
+ };
1646
+ }
1647
+ function requireRouterAbEcdsaDerivationNormalSigningStateV1(value) {
1648
+ const parsed = parseRouterAbEcdsaDerivationNormalSigningStateV1(value);
1649
+ if (!parsed) throw new Error("Router A/B ECDSA derivation normal-signing state is required");
1650
+ return parsed;
1651
+ }
1652
+ function buildRouterAbEcdsaDerivationActiveStateIdV1(input) {
1653
+ const parsed = parseEcdsaActiveStateId([
1654
+ requireAsciiNonEmptyString(input.ecdsaThresholdKeyId, "ecdsaThresholdKeyId"),
1655
+ requireAsciiNonEmptyString(input.signingRootId, "signingRootId"),
1656
+ requireAsciiNonEmptyString(input.signingRootVersion, "signingRootVersion"),
1657
+ requireRootShareEpoch(input.activationEpoch, "activationEpoch")
1658
+ ].join(":"));
1659
+ if (!parsed.ok) throw new Error(`activeStateId ${parsed.error.message}`);
1660
+ return parsed.value;
1661
+ }
1662
+ function routerAbEcdsaDerivationActiveStateId(state) {
1663
+ return buildRouterAbEcdsaDerivationActiveStateIdV1({
1664
+ ecdsaThresholdKeyId: state.scope.ecdsa_threshold_key_id,
1665
+ signingRootId: state.scope.signing_root_id,
1666
+ signingRootVersion: state.scope.signing_root_version,
1667
+ activationEpoch: state.scope.activation_epoch
1668
+ });
1669
+ }
1670
+ function parseRouterAbEcdsaDerivationOperationDigestsV1(value, label) {
1671
+ const record = requireRecord(value, label);
1672
+ requireExactKeys(record, label, [
1673
+ "lane_digest_b64u",
1674
+ "intent_digest_b64u",
1675
+ "display_digest_b64u"
1676
+ ]);
1677
+ return {
1678
+ lane_digest_b64u: requireBase64UrlFixed(record.lane_digest_b64u, `${label}.lane_digest_b64u`, 32),
1679
+ intent_digest_b64u: requireBase64UrlFixed(record.intent_digest_b64u, `${label}.intent_digest_b64u`, 32),
1680
+ display_digest_b64u: requireBase64UrlFixed(record.display_digest_b64u, `${label}.display_digest_b64u`, 32)
1681
+ };
1682
+ }
1683
+ function buildRouterAbEcdsaDerivationEvmDigestSigningRequestV1(input) {
1684
+ return parseRouterAbEcdsaDerivationEvmDigestSigningRequestV1({
1685
+ scope: input.scope,
1686
+ request_id: input.requestId,
1687
+ operation_id: input.operationId,
1688
+ operation_digests: input.operationDigests,
1689
+ authorization: input.authorization,
1690
+ material_activation: input.materialActivation,
1691
+ client_presignature_id: input.clientPresignatureId,
1692
+ expires_at_ms: input.expiresAtMs,
1693
+ signing_digest_b64u: base64UrlEncode(requireUint8ArrayFixed(input.signingDigest32, "signingDigest32", 32)),
1694
+ client_rerandomization_commitment32_b64u: base64UrlEncode(requireUint8ArrayFixed(input.clientRerandomizationCommitment32, "clientRerandomizationCommitment32", 32))
1695
+ });
1696
+ }
1697
+ function parseRouterAbEcdsaDerivationEvmDigestSigningRequestV1(value) {
1698
+ const record = requireRecord(value, "ecdsaSigningRequest");
1699
+ requireExactKeys(record, "ecdsaSigningRequest", [
1700
+ "scope",
1701
+ "request_id",
1702
+ "operation_id",
1703
+ "operation_digests",
1704
+ "authorization",
1705
+ "material_activation",
1706
+ "client_presignature_id",
1707
+ "expires_at_ms",
1708
+ "signing_digest_b64u",
1709
+ "client_rerandomization_commitment32_b64u"
1710
+ ]);
1711
+ const parsed = {
1712
+ scope: parseRouterAbEcdsaDerivationNormalSigningScopeV1(record.scope),
1713
+ request_id: requireAsciiNonEmptyString(record.request_id, "ecdsaSigningRequest.request_id"),
1714
+ operation_id: requireAsciiNonEmptyString(record.operation_id, "ecdsaSigningRequest.operation_id"),
1715
+ operation_digests: parseRouterAbEcdsaDerivationOperationDigestsV1(record.operation_digests, "ecdsaSigningRequest.operation_digests"),
1716
+ authorization: parseRouterAbNormalSigningAuthorization(record.authorization),
1717
+ material_activation: parseRouterAbMpcMaterialActivationRef(record.material_activation),
1718
+ client_presignature_id: requireAsciiNonEmptyString(record.client_presignature_id, "ecdsaSigningRequest.client_presignature_id"),
1719
+ expires_at_ms: requirePositiveUnixMs(record.expires_at_ms, "ecdsaSigningRequest.expires_at_ms"),
1720
+ signing_digest_b64u: requireBase64UrlFixed(record.signing_digest_b64u, "ecdsaSigningRequest.signing_digest_b64u", 32),
1721
+ client_rerandomization_commitment32_b64u: requireBase64UrlFixed(record.client_rerandomization_commitment32_b64u, "ecdsaSigningRequest.client_rerandomization_commitment32_b64u", 32)
1722
+ };
1723
+ if (parsed.operation_digests.intent_digest_b64u !== parsed.signing_digest_b64u) throw new Error("ecdsaSigningRequest intent digest must equal the admitted signing digest");
1724
+ return parsed;
1725
+ }
1726
+ function parseRouterAbEcdsaOperationStepUpWebAuthnCredentialV1(value) {
1727
+ const credential = requireRecord(value, "webauthn_authentication");
1728
+ requireExactKeys(credential, "webauthn_authentication", [
1729
+ "id",
1730
+ "rawId",
1731
+ "type",
1732
+ "authenticatorAttachment",
1733
+ "response",
1734
+ "clientExtensionResults"
1735
+ ]);
1736
+ const response = requireRecord(credential.response, "webauthn_authentication.response");
1737
+ requireExactKeys(response, "webauthn_authentication.response", [
1738
+ "clientDataJSON",
1739
+ "authenticatorData",
1740
+ "signature",
1741
+ "userHandle"
1742
+ ]);
1743
+ const authenticatorAttachment = credential.authenticatorAttachment === null ? null : requireAsciiNonEmptyString(credential.authenticatorAttachment, "webauthn_authentication.authenticatorAttachment");
1744
+ const userHandle = response.userHandle === null ? null : requireAsciiNonEmptyString(response.userHandle, "webauthn_authentication.response.userHandle");
1745
+ return {
1746
+ id: requireAsciiNonEmptyString(credential.id, "webauthn_authentication.id"),
1747
+ rawId: requireAsciiNonEmptyString(credential.rawId, "webauthn_authentication.rawId"),
1748
+ type: requireAsciiNonEmptyString(credential.type, "webauthn_authentication.type"),
1749
+ authenticatorAttachment,
1750
+ response: {
1751
+ clientDataJSON: requireAsciiNonEmptyString(response.clientDataJSON, "webauthn_authentication.response.clientDataJSON"),
1752
+ authenticatorData: requireAsciiNonEmptyString(response.authenticatorData, "webauthn_authentication.response.authenticatorData"),
1753
+ signature: requireAsciiNonEmptyString(response.signature, "webauthn_authentication.response.signature"),
1754
+ userHandle
1755
+ },
1756
+ clientExtensionResults: credential.clientExtensionResults
1757
+ };
1758
+ }
1759
+ function parseRouterAbEcdsaOperationStepUpAuthorizationRequestV1(value) {
1760
+ const request = requireRecord(value, "operationStepUpAuthorizationRequest");
1761
+ requireExactKeys(request, "operationStepUpAuthorizationRequest", [
1762
+ "kind",
1763
+ "operation",
1764
+ "proof"
1765
+ ]);
1766
+ if (request.kind !== "router_ab_ecdsa_operation_step_up_v1") throw new Error("operationStepUpAuthorizationRequest.kind must be router_ab_ecdsa_operation_step_up_v1");
1767
+ const operation = parseRouterAbEcdsaOperationStepUpPreparationV1(request.operation);
1768
+ const proof = requireRecord(request.proof, "operationStepUpAuthorizationRequest.proof");
1769
+ const authority = parseWalletAuthAuthority(proof.authority);
1770
+ let parsedProof;
1771
+ switch (proof.kind) {
1772
+ case "passkey":
1773
+ requireExactKeys(proof, "operationStepUpAuthorizationRequest.proof", [
1774
+ "kind",
1775
+ "authority",
1776
+ "webauthn_authentication"
1777
+ ]);
1778
+ if (!authority || !isPasskeyWalletAuthAuthority(authority)) throw new Error("operationStepUpAuthorizationRequest.proof requires an exact passkey authority");
1779
+ parsedProof = {
1780
+ kind: "passkey",
1781
+ authority,
1782
+ webauthn_authentication: parseRouterAbEcdsaOperationStepUpWebAuthnCredentialV1(proof.webauthn_authentication)
1783
+ };
1784
+ break;
1785
+ case "email_otp":
1786
+ requireExactKeys(proof, "operationStepUpAuthorizationRequest.proof", [
1787
+ "kind",
1788
+ "authority",
1789
+ "challenge_id",
1790
+ "otp_code"
1791
+ ]);
1792
+ if (!authority || !isEmailOtpWalletAuthAuthority(authority)) throw new Error("operationStepUpAuthorizationRequest.proof requires an exact Email OTP authority");
1793
+ parsedProof = {
1794
+ kind: "email_otp",
1795
+ authority,
1796
+ challenge_id: requireAsciiNonEmptyString(proof.challenge_id, "operationStepUpAuthorizationRequest.proof.challenge_id"),
1797
+ otp_code: requireAsciiNonEmptyString(proof.otp_code, "operationStepUpAuthorizationRequest.proof.otp_code")
1798
+ };
1799
+ break;
1800
+ default: throw new Error("operationStepUpAuthorizationRequest.proof.kind is invalid");
1801
+ }
1802
+ return {
1803
+ kind: "router_ab_ecdsa_operation_step_up_v1",
1804
+ operation,
1805
+ proof: parsedProof
1806
+ };
1807
+ }
1808
+ function parseRouterAbEcdsaOperationStepUpPreparationV1(value) {
1809
+ const operation = requireRecord(value, "ecdsaOperationStepUpPreparation");
1810
+ requireExactKeys(operation, "operationStepUpGrantRequest.operation", [
1811
+ "wallet_id",
1812
+ "operation_kind",
1813
+ "operation_id",
1814
+ "operation_digests",
1815
+ "material_activation",
1816
+ "normal_signing_scope",
1817
+ "signing_worker_id",
1818
+ "key_handle",
1819
+ "relayer_key_id",
1820
+ "participant_ids",
1821
+ "expires_at_ms"
1822
+ ]);
1823
+ if (!Array.isArray(operation.participant_ids) || operation.participant_ids.length !== 2 || !operation.participant_ids.every((participantId) => Number.isSafeInteger(participantId) && participantId > 0)) throw new Error("operationStepUpGrantRequest.operation.participant_ids must contain two positive integers");
1824
+ return {
1825
+ wallet_id: requireAsciiNonEmptyString(operation.wallet_id, "operationStepUpGrantRequest.operation.wallet_id"),
1826
+ operation_kind: requireEcdsaOperationStepUpKind(operation.operation_kind),
1827
+ operation_id: requireAsciiNonEmptyString(operation.operation_id, "operationStepUpGrantRequest.operation.operation_id"),
1828
+ operation_digests: parseRouterAbEcdsaDerivationOperationDigestsV1(operation.operation_digests, "operationStepUpGrantRequest.operation.operation_digests"),
1829
+ material_activation: parseRouterAbMpcMaterialActivationRef(operation.material_activation),
1830
+ normal_signing_scope: parseRouterAbEcdsaDerivationNormalSigningScopeV1(operation.normal_signing_scope),
1831
+ signing_worker_id: requireAsciiNonEmptyString(operation.signing_worker_id, "operationStepUpGrantRequest.operation.signing_worker_id"),
1832
+ key_handle: requireAsciiNonEmptyString(operation.key_handle, "operationStepUpGrantRequest.operation.key_handle"),
1833
+ relayer_key_id: requireAsciiNonEmptyString(operation.relayer_key_id, "operationStepUpGrantRequest.operation.relayer_key_id"),
1834
+ participant_ids: [Number(operation.participant_ids[0]), Number(operation.participant_ids[1])],
1835
+ expires_at_ms: requirePositiveUnixMs(operation.expires_at_ms, "operationStepUpGrantRequest.operation.expires_at_ms")
1836
+ };
1837
+ }
1838
+ function requireEcdsaOperationStepUpKind(value) {
1839
+ switch (value) {
1840
+ case EVM_ECDSA_MPC_OPERATION_KINDS.signTransaction:
1841
+ case EVM_ECDSA_MPC_OPERATION_KINDS.exportKey: return value;
1842
+ default: throw new Error("operationStepUpGrantRequest.operation.operation_kind must be evm.sign_transaction or evm.export_key");
1843
+ }
1844
+ }
1845
+ function buildRouterAbEcdsaDerivationEvmDigestSigningFinalizeRequestV1(input) {
1846
+ return parseRouterAbEcdsaDerivationEvmDigestSigningFinalizeCoreRequestV1({
1847
+ scope: input.scope,
1848
+ request_id: input.requestId,
1849
+ operation_id: input.operationId,
1850
+ operation_digests: input.operationDigests,
1851
+ authorization: input.authorization,
1852
+ material_activation: input.materialActivation,
1853
+ expires_at_ms: input.expiresAtMs,
1854
+ signing_digest_b64u: base64UrlEncode(requireUint8ArrayFixed(input.signingDigest32, "signingDigest32", 32)),
1855
+ server_presignature_id: input.serverPresignatureId,
1856
+ client_signature_share32_b64u: base64UrlEncode(requireUint8ArrayFixed(input.clientSignatureShare32, "clientSignatureShare32", 32)),
1857
+ client_rerandomization_contribution32_b64u: base64UrlEncode(requireUint8ArrayFixed(input.clientRerandomizationContribution32, "clientRerandomizationContribution32", 32))
1858
+ });
1859
+ }
1860
+ function parseRouterAbEcdsaDerivationEvmDigestSigningFinalizeCoreRequestV1(value) {
1861
+ const record = requireRecord(value, "ecdsaFinalizeCoreRequest");
1862
+ requireExactKeys(record, "ecdsaFinalizeCoreRequest", [
1863
+ "scope",
1864
+ "request_id",
1865
+ "operation_id",
1866
+ "operation_digests",
1867
+ "authorization",
1868
+ "material_activation",
1869
+ "expires_at_ms",
1870
+ "signing_digest_b64u",
1871
+ "server_presignature_id",
1872
+ "client_signature_share32_b64u",
1873
+ "client_rerandomization_contribution32_b64u"
1874
+ ]);
1875
+ return parseRouterAbEcdsaDerivationEvmDigestSigningFinalizeCoreRequestFields(record);
1876
+ }
1877
+ function parseRouterAbEcdsaDerivationEvmDigestSigningFinalizeCoreRequestFields(record) {
1878
+ const parsed = {
1879
+ scope: parseRouterAbEcdsaDerivationNormalSigningScopeV1(record.scope),
1880
+ request_id: requireAsciiNonEmptyString(record.request_id, "ecdsaFinalizeRequest.request_id"),
1881
+ operation_id: requireAsciiNonEmptyString(record.operation_id, "ecdsaFinalizeRequest.operation_id"),
1882
+ operation_digests: parseRouterAbEcdsaDerivationOperationDigestsV1(record.operation_digests, "ecdsaFinalizeRequest.operation_digests"),
1883
+ authorization: parseRouterAbNormalSigningAuthorization(record.authorization),
1884
+ material_activation: parseRouterAbMpcMaterialActivationRef(record.material_activation),
1885
+ expires_at_ms: requirePositiveUnixMs(record.expires_at_ms, "ecdsaFinalizeRequest.expires_at_ms"),
1886
+ signing_digest_b64u: requireBase64UrlFixed(record.signing_digest_b64u, "ecdsaFinalizeRequest.signing_digest_b64u", 32),
1887
+ server_presignature_id: requireAsciiNonEmptyString(record.server_presignature_id, "ecdsaFinalizeRequest.server_presignature_id"),
1888
+ client_signature_share32_b64u: requireBase64UrlFixed(record.client_signature_share32_b64u, "ecdsaFinalizeRequest.client_signature_share32_b64u", 32),
1889
+ client_rerandomization_contribution32_b64u: requireBase64UrlFixed(record.client_rerandomization_contribution32_b64u, "ecdsaFinalizeRequest.client_rerandomization_contribution32_b64u", 32)
1890
+ };
1891
+ if (parsed.operation_digests.intent_digest_b64u !== parsed.signing_digest_b64u) throw new Error("ecdsaFinalizeRequest intent digest must equal the admitted signing digest");
1892
+ return parsed;
1893
+ }
1894
+ function parseRouterAbEcdsaDerivationEvmDigestSigningPrepareResponseV1(value) {
1895
+ const record = requireRecord(value, "ecdsaPrepareResponse");
1896
+ requireExactKeys(record, "ecdsaPrepareResponse", [
1897
+ "scope",
1898
+ "request_id",
1899
+ "request_digest",
1900
+ "signing_digest",
1901
+ "server_presignature_id",
1902
+ "server_big_r33_b64u",
1903
+ "signing_worker_rerandomization_contribution32_b64u",
1904
+ "signature_scheme",
1905
+ "prepared_at_ms",
1906
+ "expires_at_ms"
1907
+ ]);
1908
+ return {
1909
+ scope: parseRouterAbEcdsaDerivationNormalSigningScopeV1(record.scope),
1910
+ request_id: requireAsciiNonEmptyString(record.request_id, "ecdsaPrepareResponse.request_id"),
1911
+ request_digest: parsePublicDigest32(record.request_digest, "ecdsaPrepareResponse.request_digest"),
1912
+ signing_digest: parsePublicDigest32(record.signing_digest, "ecdsaPrepareResponse.signing_digest"),
1913
+ server_presignature_id: requireAsciiNonEmptyString(record.server_presignature_id, "ecdsaPrepareResponse.server_presignature_id"),
1914
+ server_big_r33_b64u: requireBase64UrlFixed(record.server_big_r33_b64u, "ecdsaPrepareResponse.server_big_r33_b64u", 33),
1915
+ signing_worker_rerandomization_contribution32_b64u: requireBase64UrlFixed(record.signing_worker_rerandomization_contribution32_b64u, "ecdsaPrepareResponse.signing_worker_rerandomization_contribution32_b64u", 32),
1916
+ signature_scheme: requireSignatureScheme(record.signature_scheme, "ecdsaPrepareResponse.signature_scheme"),
1917
+ prepared_at_ms: requirePositiveUnixMs(record.prepared_at_ms, "ecdsaPrepareResponse.prepared_at_ms"),
1918
+ expires_at_ms: requirePositiveUnixMs(record.expires_at_ms, "ecdsaPrepareResponse.expires_at_ms")
1919
+ };
1920
+ }
1921
+ async function parseRouterAbEcdsaDerivationEvmDigestSigningPrepareResponseForRequestV1(request, value) {
1922
+ const parsedRequest = parseRouterAbEcdsaDerivationEvmDigestSigningRequestV1(request);
1923
+ const response = parseRouterAbEcdsaDerivationEvmDigestSigningPrepareResponseV1(value);
1924
+ if (!sameRouterAbEcdsaDerivationNormalSigningScopeV1(response.scope, parsedRequest.scope)) throw new Error("ecdsaPrepareResponse.scope does not match request");
1925
+ if (response.request_id !== parsedRequest.request_id) throw new Error("ecdsaPrepareResponse.request_id does not match request");
1926
+ if (response.server_presignature_id !== parsedRequest.client_presignature_id) throw new Error("ecdsaPrepareResponse.server_presignature_id does not match request");
1927
+ if (!samePublicDigest32(response.signing_digest, publicDigest32FromBase64Url(parsedRequest.signing_digest_b64u))) throw new Error("ecdsaPrepareResponse.signing_digest does not match request");
1928
+ if (response.expires_at_ms !== parsedRequest.expires_at_ms) throw new Error("ecdsaPrepareResponse.expires_at_ms does not match request");
1929
+ if (!samePublicDigest32(response.request_digest, await routerAbEcdsaDerivationEvmDigestSigningRequestDigestV1(parsedRequest))) throw new Error("ecdsaPrepareResponse.request_digest does not match request");
1930
+ return response;
1931
+ }
1932
+ function parseRouterAbEcdsaDerivationEvmDigestSigningResponseV1(value) {
1933
+ const record = requireRecord(value, "ecdsaSigningResponse");
1934
+ requireExactKeys(record, "ecdsaSigningResponse", [
1935
+ "scope",
1936
+ "request_id",
1937
+ "request_digest",
1938
+ "signing_digest",
1939
+ "signature_scheme",
1940
+ "signature65_b64u"
1941
+ ]);
1942
+ return {
1943
+ scope: parseRouterAbEcdsaDerivationNormalSigningScopeV1(record.scope),
1944
+ request_id: requireAsciiNonEmptyString(record.request_id, "ecdsaSigningResponse.request_id"),
1945
+ request_digest: parsePublicDigest32(record.request_digest, "ecdsaSigningResponse.request_digest"),
1946
+ signing_digest: parsePublicDigest32(record.signing_digest, "ecdsaSigningResponse.signing_digest"),
1947
+ signature_scheme: requireSignatureScheme(record.signature_scheme, "ecdsaSigningResponse.signature_scheme"),
1948
+ signature65_b64u: requireBase64UrlFixed(record.signature65_b64u, "ecdsaSigningResponse.signature65_b64u", 65)
1949
+ };
1950
+ }
1951
+ async function parseRouterAbEcdsaDerivationEvmDigestSigningResponseForCoreRequestV1(request, value) {
1952
+ const parsedRequest = parseRouterAbEcdsaDerivationEvmDigestSigningFinalizeCoreRequestV1(request);
1953
+ const response = parseRouterAbEcdsaDerivationEvmDigestSigningResponseV1(value);
1954
+ if (!sameRouterAbEcdsaDerivationNormalSigningScopeV1(response.scope, parsedRequest.scope)) throw new Error("ecdsaSigningResponse.scope does not match request");
1955
+ if (response.request_id !== parsedRequest.request_id) throw new Error("ecdsaSigningResponse.request_id does not match request");
1956
+ if (!samePublicDigest32(response.signing_digest, publicDigest32FromBase64Url(parsedRequest.signing_digest_b64u))) throw new Error("ecdsaSigningResponse.signing_digest does not match request");
1957
+ if (!samePublicDigest32(response.request_digest, await routerAbEcdsaDerivationEvmDigestSigningFinalizeCoreRequestDigestV1(parsedRequest))) throw new Error("ecdsaSigningResponse.request_digest does not match request");
1958
+ return response;
1959
+ }
1960
+ //#endregion
1961
+ //#region ../shared-ts/src/utils/authenticatorOptions.ts
1962
+ let UserVerificationPolicy = /* @__PURE__ */ function(UserVerificationPolicy) {
1963
+ UserVerificationPolicy["Required"] = "required";
1964
+ UserVerificationPolicy["Preferred"] = "preferred";
1965
+ UserVerificationPolicy["Discouraged"] = "discouraged";
1966
+ return UserVerificationPolicy;
1967
+ }({});
1968
+ function cloneAuthenticatorOptions(options) {
1969
+ const multiple = options.originPolicy?.multiple;
1970
+ return {
1971
+ userVerification: options.userVerification,
1972
+ originPolicy: {
1973
+ single: options.originPolicy?.single,
1974
+ all_subdomains: options.originPolicy?.all_subdomains,
1975
+ multiple: Array.isArray(multiple) ? [...multiple] : void 0
1976
+ }
1977
+ };
1978
+ }
1979
+ //#endregion
1980
+ //#region src/core/signingEngine/workerManager/ecdsaPresignLifecycle.ts
1981
+ const MAX_DURABLE_CLIENT_PRESIGNATURE_LIFETIME_MS = 2160 * 60 * 6e4;
1982
+ //#endregion
1983
+ export { parseWalletAuthAuthority as $, wireObject as $t, parseRouterAbEcdsaVerifiedClientActivationFactsV1 as A, walletSessionPreservesCapabilities as At, sameRouterAbEcdsaDerivationPublicIdentityV1 as B, parseNonNegativeSafeInteger as Bt, parseRouterAbEcdsaPostRegistrationSessionActivationPolicyV1 as C, routerAbMpcMaterialActivationRefFromWire as Ct, parseRouterAbEcdsaRegistrationPublicActivationReceiptV1 as D, activeWalletSessionV1RecordsEqual as Dt, parseRouterAbEcdsaRegistrationActivationReceiptV1 as E, requireRouterAbX25519PublicKey as Et, routerAbEcdsaDerivationNormalSigningScopeCanonicalBytesV1 as F, keyLabeled as Ft, buildPasskeyWalletAuthAuthority as G, walletAuthMethodId as Gt, sameRouterAbEcdsaVerifiedClientActivationFactsV1 as H, parseUnixTime as Ht, routerAbEcdsaRerandomizationClientCommitmentV1 as I, linkedDeviceId as It, emailOtpWalletAuthAuthorityProviderUserId as J, walletKeyId as Jt, emailOtpWalletAuthAuthorityEmailHashHex as K, walletAuthorityId as Kt, sameRouterAbEcdsaDerivationNormalSigningScopeV1 as L, nullableToken as Lt, routerAbEcdsaDerivationActiveStateId as M, credentialId as Mt, routerAbEcdsaDerivationEvmDigestSigningFinalizeCoreRequestDigestV1 as N, digest as Nt, parseRouterAbEcdsaRegistrationRequestFactsV1 as O, parseActiveWalletSessionV1 as Ot, routerAbEcdsaDerivationEvmDigestSigningRequestDigestV1 as P, enrollmentId as Pt, parsePasskeyWalletAuthAuthority as Q, wireNullable as Qt, sameRouterAbEcdsaDerivationNormalSigningStateV1 as R, parseDelegatedWalletAuthority as Rt, parseRouterAbEcdsaOperationStepUpPreparationV1 as S, parseRouterAbNormalSigningAuthorization as St, parseRouterAbEcdsaPostRegistrationSessionActivationResponseV1 as T, sameRouterAbMpcMaterialActivationRef as Tt, sameRouterAbServerIdentityV1 as U, rpId as Ut, sameRouterAbEcdsaRegistrationActivationReceiptV1 as V, parseTargetEmail as Vt, buildEmailOtpWalletAuthAuthority as W, sessionId as Wt, isPasskeyWalletAuthAuthority as X, walletSessionId as Xt, isEmailOtpWalletAuthAuthority as Y, walletSessionAuthorizationId as Yt, parseEmailOtpWalletAuthAuthority as Z, wireLiteral as Zt, parseRouterAbEcdsaDerivationNormalSigningStateV1 as _, parseSdkEcdsaDerivationSigningRootId as _t, ROUTER_AB_ECDSA_DERIVATION_OPERATION_STEP_UP_PATH as a, parseEcdsaCapabilityManifestId as at, parseRouterAbEcdsaOperationStepUpAuthorizationRequestV1 as b, canonicalRouterAbMpcMaterialActivationRefBytes as bt, ROUTER_AB_ECDSA_DERIVATION_SESSION_ACTIVATION_PATH as c, parseEcdsaCiphertextDigest as ct, buildRouterAbEcdsaDerivationEvmDigestSigningRequestV1 as d, parseEcdsaMaterialSealingKeyId as dt, wireUnion as en, parseWalletAuthAuthorityRef as et, computeRouterAbEcdsaOperationStepUpChallengeB64u as f, parseEcdsaPendingCiphertextDigest as ft, parseRouterAbEcdsaDerivationNormalSigningScopeV1 as g, ecdsaClientRootPublicKey33B64uFromString as gt, parseRouterAbEcdsaDerivationEvmDigestSigningResponseForCoreRequestV1 as h, computeEcdsaDerivationRoleLocalRelayerKeyId as ht, ROUTER_AB_ECDSA_DERIVATION_EXPORT_PATH as i, parseEcdsaActivationDigest as it, requireRouterAbEcdsaDerivationNormalSigningStateV1 as j, authorizationDeviceId as jt, parseRouterAbEcdsaStrictForwardedRegistrationResponseV1 as k, parseWalletSessionOperationCredentialV1 as kt, ROUTER_AB_ECDSA_PRESIGN_CEREMONY_MAX_LIFETIME_MS as l, parseEcdsaIv12B64u as lt, parseRouterAbEcdsaDerivationEvmDigestSigningPrepareResponseForRequestV1 as m, parseEvmFamilyEcdsaSignerId as mt, UserVerificationPolicy as n, walletAuthAuthorityRef as nt, ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_FILL_INIT_PATH as o, parseEcdsaCapabilityManifestRevision as ot, parseRouterAbEcdsaCredentialFreeSessionActivationResponseV1 as p, parseEcdsaServerGeneration as pt, emailOtpWalletAuthAuthorityProvider as q, walletId as qt, cloneAuthenticatorOptions as r, parseCanonicalEcdsaServerActivationRequest as rt, ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_FILL_STEP_PATH as s, parseEcdsaCiphertextB64u as st, MAX_DURABLE_CLIENT_PRESIGNATURE_LIFETIME_MS as t, walletAuthAuthoritiesMatch as tt, buildRouterAbEcdsaDerivationEvmDigestSigningFinalizeRequestV1 as u, parseEcdsaLifecycleId as ut, parseRouterAbEcdsaDerivationPublicCapabilityV1 as v, parseSdkEcdsaDerivationSigningRootVersion as vt, parseRouterAbEcdsaPostRegistrationSessionActivationRequestV1 as w, routerAbMpcMaterialActivationRefToWire as wt, parseRouterAbEcdsaOperationStepUpAuthorizationResponseV1 as x, parseRouterAbMpcMaterialActivationRef as xt, parseRouterAbEcdsaExplicitExportForwardedResponseV1 as y, parseSdkEcdsaDerivationThresholdKeyId as yt, sameRouterAbEcdsaDerivationPublicCapabilityV1 as z, parseNonEmptyToken as zt };