@seams/wallet 0.6.2 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1594) hide show
  1. package/THIRD_PARTY_NOTICES.md +1 -105
  2. package/dist/.build-inputs.sha256 +1 -1
  3. package/dist/esm/SeamsWeb/SeamsWeb.js +43 -94
  4. package/dist/esm/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +25 -5
  5. package/dist/esm/SeamsWeb/assembly/createBrowserSigningStores.js +1 -2
  6. package/dist/esm/SeamsWeb/operations/auth/login.js +29 -43
  7. package/dist/esm/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.js +64 -0
  8. package/dist/esm/SeamsWeb/operations/auth/walletAuth.js +2 -3
  9. package/dist/esm/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +1 -4
  10. package/dist/esm/SeamsWeb/operations/auth/walletUnlockSubject.js +1 -1
  11. package/dist/esm/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +1 -1
  12. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +4 -3
  13. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/challenge.js +1 -1
  14. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +1 -1
  15. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +1 -1
  16. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +6 -15
  17. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +2 -2
  18. package/dist/esm/SeamsWeb/operations/authMethods/passkey/addPasskey.js +5 -4
  19. package/dist/esm/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +34 -0
  20. package/dist/esm/SeamsWeb/operations/authMethods/passkey/localPasskeyProjection.js +4 -42
  21. package/dist/esm/SeamsWeb/operations/authMethods/revokeAuthMethod.js +3 -2
  22. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +2 -2
  23. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +1 -1
  24. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +17 -17
  25. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +1 -1
  26. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingResume.js +4 -8
  27. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +26 -25
  28. package/dist/esm/SeamsWeb/operations/devices/linkDevice.js +1 -1671
  29. package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlow.js +1358 -0
  30. package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +143 -0
  31. package/dist/esm/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +119 -0
  32. package/dist/esm/SeamsWeb/operations/devices/scanDevice.js +1 -1
  33. package/dist/esm/SeamsWeb/operations/devices/walletHostComposition.js +13 -3
  34. package/dist/esm/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +12 -4
  35. package/dist/esm/SeamsWeb/operations/near/index.js +1 -1
  36. package/dist/esm/SeamsWeb/operations/near/signNEP413.js +1 -1
  37. package/dist/esm/SeamsWeb/operations/recovery/accountSync.js +1 -1
  38. package/dist/esm/SeamsWeb/operations/recovery/recoveryWalletBinding.js +1 -1
  39. package/dist/esm/SeamsWeb/operations/recovery/syncAccount.js +7 -7
  40. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCommit.js +6 -10
  41. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +8 -9
  42. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryRotation.js +2 -2
  43. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +39 -5
  44. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +21 -42
  45. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +3 -3
  46. package/dist/esm/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +4 -10
  47. package/dist/esm/SeamsWeb/operations/registration/registration.js +101 -58
  48. package/dist/esm/SeamsWeb/operations/registration/registrationEd25519Yao.js +37 -6
  49. package/dist/esm/SeamsWeb/operations/registration/registrationSignerSet.js +1 -1
  50. package/dist/esm/SeamsWeb/operations/registration/registrationStrictEcdsa.js +4 -3
  51. package/dist/esm/SeamsWeb/operations/registration/registrationTerminalCommit.js +1 -1
  52. package/dist/esm/SeamsWeb/operations/registration/registrationTiming.js +194 -539
  53. package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +4 -1
  54. package/dist/esm/SeamsWeb/publicApi/auth.js +2 -1
  55. package/dist/esm/SeamsWeb/publicApi/awaitNearReady.js +3 -1
  56. package/dist/esm/SeamsWeb/publicApi/devices.js +1 -1
  57. package/dist/esm/SeamsWeb/publicApi/tempo.js +6 -0
  58. package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +46 -39
  59. package/dist/esm/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +0 -4
  60. package/dist/esm/SeamsWeb/walletIframe/client/router.js +4 -3
  61. package/dist/esm/SeamsWeb/walletIframe/client/surface/geometry.js +6 -88
  62. package/dist/esm/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.js +29 -0
  63. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +89 -223
  64. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +32 -62
  65. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +3 -1
  66. package/dist/esm/SeamsWeb/walletIframe/shared/transactionReview.js +2 -4
  67. package/dist/esm/advanced.js +3 -2
  68. package/dist/esm/build-paths.js +0 -2
  69. package/dist/esm/components/AccountMenuButton/MenuItem.css +17 -0
  70. package/dist/esm/components/AccountMenuButton/UserAccountButton.css +0 -5
  71. package/dist/esm/components/AccountMenuButton/Web3AuthProfileButton.css +0 -52
  72. package/dist/esm/components/QRCodeScanner.css +0 -15
  73. package/dist/esm/components/ShowQRCode.css +0 -14
  74. package/dist/esm/core/accountData/near/keyMaterial.js +2 -2
  75. package/dist/esm/core/config/chains.js +1 -0
  76. package/dist/esm/core/indexedDB/index.js +1 -7
  77. package/dist/esm/core/indexedDB/keyMaterialEnvelope.js +1 -5
  78. package/dist/esm/core/indexedDB/linkedAuthoritySignerMaterial.js +7 -14
  79. package/dist/esm/core/indexedDB/pendingWalletRecoveryCommit.js +7 -12
  80. package/dist/esm/core/indexedDB/pendingWalletRegistrationCommit.js +140 -274
  81. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +209 -0
  82. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +848 -0
  83. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +122 -1721
  84. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +235 -0
  85. package/dist/esm/core/indexedDB/seamsWalletDB/laneHolderMaterialStore.js +10 -13
  86. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +60 -11
  87. package/dist/esm/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +198 -0
  88. package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +1 -1
  89. package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +6 -0
  90. package/dist/esm/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
  91. package/dist/esm/core/platform/browser/createBrowserPlatformRuntime.js +0 -43
  92. package/dist/esm/core/rpcClients/near/NearClient.js +20 -215
  93. package/dist/esm/core/rpcClients/near/rpcCalls.js +4 -4
  94. package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +57 -86
  95. package/dist/esm/core/rpcClients/relayer/thresholdEcdsa.js +1 -1
  96. package/dist/esm/core/rpcClients/relayer/walletRecoveryPrepare.js +75 -127
  97. package/dist/esm/core/rpcClients/relayer/walletRecoveryRotate.js +0 -1
  98. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +42 -18
  99. package/dist/esm/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +6 -12
  100. package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +1 -1
  101. package/dist/esm/core/signingEngine/assembly/ports/evmFamily.js +1 -1
  102. package/dist/esm/core/signingEngine/assembly/ports/recovery.js +1 -1
  103. package/dist/esm/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -1
  104. package/dist/esm/core/signingEngine/chains/evm/display/evmTx.js +1 -6
  105. package/dist/esm/core/signingEngine/chains/evm/display/functionSelectors.js +2 -5
  106. package/dist/esm/core/signingEngine/chains/evm/evmCryptoWasm.js +1 -36
  107. package/dist/esm/core/signingEngine/chains/near/display.js +14 -1
  108. package/dist/esm/core/signingEngine/chains/tempo/display.js +1 -6
  109. package/dist/esm/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +4 -4
  110. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportFlow.js +9 -10
  111. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +37 -30
  112. package/dist/esm/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +4 -4
  113. package/dist/esm/core/signingEngine/flows/recovery/exportKeypairOperation.js +1 -4
  114. package/dist/esm/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +18 -29
  115. package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +245 -503
  116. package/dist/esm/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +8 -11
  117. package/dist/esm/core/signingEngine/flows/signEvmFamily/authPlanning.js +1 -1
  118. package/dist/esm/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +1 -1
  119. package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +3 -3
  120. package/dist/esm/core/signingEngine/flows/signEvmFamily/preparedSigning.js +2 -9
  121. package/dist/esm/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.js +2 -2
  122. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +7 -11
  123. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamilyWithUiConfirmForTempo.js +1 -1
  124. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmWithUiConfirm.js +1 -1
  125. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js +24 -18
  126. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +1 -2
  127. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +10 -8
  128. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +52 -21
  129. package/dist/esm/core/signingEngine/flows/signEvmFamily/transactionExecutor.js +2 -5
  130. package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +2 -2
  131. package/dist/esm/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +343 -0
  132. package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +66 -312
  133. package/dist/esm/core/signingEngine/flows/signNear/signNear.js +46 -50
  134. package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +58 -305
  135. package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +33 -16
  136. package/dist/esm/core/signingEngine/interfaces/accountAuthMetadata.js +0 -1
  137. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +16 -148
  138. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +2 -1
  139. package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +5 -14
  140. package/dist/esm/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +9 -8
  141. package/dist/esm/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +108 -24
  142. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLogin.js +5 -10
  143. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaPublication.js +3 -3
  144. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaRecovery.js +5 -5
  145. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.js +1 -1
  146. package/dist/esm/core/signingEngine/session/emailOtp/ed25519ExportContext.js +9 -16
  147. package/dist/esm/core/signingEngine/session/emailOtp/exportRecovery.js +2 -2
  148. package/dist/esm/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -9
  149. package/dist/esm/core/signingEngine/session/emailOtp/publicTypes.js +1 -2
  150. package/dist/esm/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -28
  151. package/dist/esm/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +1 -1
  152. package/dist/esm/core/signingEngine/session/emailOtp/walletUnlock.js +1 -1
  153. package/dist/esm/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +2 -2
  154. package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +1 -1
  155. package/dist/esm/core/signingEngine/session/identity/laneIdentity.js +5 -4
  156. package/dist/esm/core/signingEngine/session/identity/ownerLaneScope.js +1 -1
  157. package/dist/esm/core/signingEngine/session/identity/selectLane.js +7 -21
  158. package/dist/esm/core/signingEngine/session/keyMaterialBrands.js +2 -21
  159. package/dist/esm/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +43 -69
  160. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +9 -17
  161. package/dist/esm/core/signingEngine/session/material/ecdsaSealedRuntime.js +3 -3
  162. package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +2 -2
  163. package/dist/esm/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +1 -1
  164. package/dist/esm/core/signingEngine/session/operationState/authorizationAdmission.js +4 -4
  165. package/dist/esm/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +1 -1
  166. package/dist/esm/core/signingEngine/session/passkey/ecdsaRecovery.js +1 -1
  167. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +39 -59
  168. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +13 -22
  169. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +11 -23
  170. package/dist/esm/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.js +1 -1
  171. package/dist/esm/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.js +1 -1
  172. package/dist/esm/core/signingEngine/session/persistence/sealedSessionRecords.js +761 -0
  173. package/dist/esm/core/signingEngine/session/persistence/sealedSessionStore.js +42 -862
  174. package/dist/esm/core/signingEngine/session/public.js +1 -1
  175. package/dist/esm/core/signingEngine/session/sealedRecovery/recoveryRecord.js +3 -3
  176. package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +1 -1
  177. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +2 -1
  178. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.js +2 -2
  179. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -1
  180. package/dist/esm/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +3 -3
  181. package/dist/esm/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +1 -1
  182. package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.js +1 -1
  183. package/dist/esm/core/signingEngine/session/warmCapabilities/types.js +0 -1
  184. package/dist/esm/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +3 -5
  185. package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +2 -3
  186. package/dist/esm/core/signingEngine/threshold/commitQueueShared.js +20 -6
  187. package/dist/esm/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +10 -6
  188. package/dist/esm/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +2 -2
  189. package/dist/esm/core/signingEngine/threshold/ecdsa/activation.js +3 -2
  190. package/dist/esm/core/signingEngine/threshold/ecdsa/signingQueue.js +8 -50
  191. package/dist/esm/core/signingEngine/threshold/ed25519/commitQueue.js +7 -43
  192. package/dist/esm/core/signingEngine/threshold/ed25519/connectSession.js +1 -1
  193. package/dist/esm/core/signingEngine/threshold/ed25519/walletSession.js +2 -2
  194. package/dist/esm/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.js +1 -1
  195. package/dist/esm/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +12 -19
  196. package/dist/esm/core/signingEngine/threshold/sessionPolicy.js +1 -1
  197. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +4 -3
  198. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +5 -4
  199. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +7 -0
  200. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/signing.js +9 -16
  201. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +5 -5
  202. package/dist/esm/core/signingEngine/uiConfirm/ui/confirmation-model.js +1 -1
  203. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +1 -0
  204. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +1 -1
  205. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +81 -9
  206. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +31 -78
  207. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +1 -0
  208. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +1 -10
  209. package/dist/esm/core/signingEngine/walletCustody/activateEd25519Capability.js +2 -1
  210. package/dist/esm/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +3 -4
  211. package/dist/esm/core/signingEngine/walletCustody/emailOtpLink.js +2 -2
  212. package/dist/esm/core/signingEngine/walletCustody/openCustodyCache.js +1 -1
  213. package/dist/esm/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +2 -1
  214. package/dist/esm/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +56 -9
  215. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEcdsa.js +1 -1
  216. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEd25519.js +2 -2
  217. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryRotation.js +52 -81
  218. package/dist/esm/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +2 -4
  219. package/dist/esm/core/signingEngine/webauthnAuth/credentials/helpers.js +1 -1
  220. package/dist/esm/core/signingEngine/workerManager/deviceLinkingPorts.js +80 -64
  221. package/dist/esm/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +28 -3
  222. package/dist/esm/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +3 -1
  223. package/dist/esm/core/signingEngine/workerManager/workerTransport.js +21 -10
  224. package/dist/esm/core/signingEngine/workerManager/workerTypes.js +2 -1
  225. package/dist/esm/core/types/linkDevice.js +2 -3
  226. package/dist/esm/core/types/sdkSentEvents.js +7 -5
  227. package/dist/esm/core/types/signer-worker.js +1 -58
  228. package/dist/esm/index.js +1 -1
  229. package/dist/esm/plugins/vite.js +1 -1
  230. package/dist/esm/react/SeamsWeb/SeamsWeb.js +42 -93
  231. package/dist/esm/react/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +25 -5
  232. package/dist/esm/react/SeamsWeb/assembly/createBrowserSigningStores.js +1 -2
  233. package/dist/esm/react/SeamsWeb/operations/auth/login.js +26 -40
  234. package/dist/esm/react/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.js +64 -0
  235. package/dist/esm/react/SeamsWeb/operations/auth/walletAuth.js +3 -4
  236. package/dist/esm/react/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +1 -4
  237. package/dist/esm/react/SeamsWeb/operations/auth/walletUnlockSubject.js +1 -1
  238. package/dist/esm/react/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +1 -1
  239. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +4 -3
  240. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +1 -1
  241. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +1 -1
  242. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +6 -15
  243. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +1 -1
  244. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/addPasskey.js +5 -4
  245. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +34 -0
  246. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/localPasskeyProjection.js +3 -3
  247. package/dist/esm/react/SeamsWeb/operations/authMethods/revokeAuthMethod.js +3 -2
  248. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +2 -2
  249. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +1 -1
  250. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +16 -16
  251. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +1 -1
  252. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingResume.js +4 -8
  253. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +26 -25
  254. package/dist/esm/react/SeamsWeb/operations/devices/linkDevice.js +1 -1671
  255. package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceFlow.js +1358 -0
  256. package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +143 -0
  257. package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +119 -0
  258. package/dist/esm/react/SeamsWeb/operations/devices/walletHostComposition.js +13 -3
  259. package/dist/esm/react/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +11 -3
  260. package/dist/esm/react/SeamsWeb/operations/near/index.js +1 -1
  261. package/dist/esm/react/SeamsWeb/operations/recovery/accountSync.js +1 -1
  262. package/dist/esm/react/SeamsWeb/operations/recovery/recoveryWalletBinding.js +1 -1
  263. package/dist/esm/react/SeamsWeb/operations/recovery/syncAccount.js +5 -5
  264. package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryCommit.js +5 -9
  265. package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +7 -8
  266. package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +38 -4
  267. package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +20 -41
  268. package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +3 -3
  269. package/dist/esm/react/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +4 -10
  270. package/dist/esm/react/SeamsWeb/operations/registration/registration.js +96 -53
  271. package/dist/esm/react/SeamsWeb/operations/registration/registrationEd25519Yao.js +35 -4
  272. package/dist/esm/react/SeamsWeb/operations/registration/registrationSignerSet.js +1 -1
  273. package/dist/esm/react/SeamsWeb/operations/registration/registrationStrictEcdsa.js +5 -4
  274. package/dist/esm/react/SeamsWeb/operations/registration/registrationTiming.js +194 -539
  275. package/dist/esm/react/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +4 -1
  276. package/dist/esm/react/SeamsWeb/publicApi/auth.js +2 -1
  277. package/dist/esm/react/SeamsWeb/publicApi/awaitNearReady.js +3 -1
  278. package/dist/esm/react/SeamsWeb/publicApi/devices.js +1 -1
  279. package/dist/esm/react/SeamsWeb/publicApi/tempo.js +6 -0
  280. package/dist/esm/react/SeamsWeb/signingSurface/BrowserSigningSurface.js +45 -38
  281. package/dist/esm/react/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +0 -4
  282. package/dist/esm/react/SeamsWeb/walletIframe/client/router.js +4 -3
  283. package/dist/esm/react/SeamsWeb/walletIframe/client/surface/geometry.js +8 -5
  284. package/dist/esm/react/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.js +29 -0
  285. package/dist/esm/react/SeamsWeb/walletIframe/shared/exactSessionState.js +33 -63
  286. package/dist/esm/react/SeamsWeb/walletIframe/shared/messages.js +3 -1
  287. package/dist/esm/react/SeamsWeb/walletIframe/shared/transactionReview.js +3 -5
  288. package/dist/esm/react/build-paths.js +0 -2
  289. package/dist/esm/react/components/AccountMenuButton/AccountMenuDialog.js +93 -0
  290. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +189 -251
  291. package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.js +1 -1
  292. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +199 -261
  293. package/dist/esm/react/components/AccountMenuButton/LockMenuItem.js +2 -1
  294. package/dist/esm/react/components/AccountMenuButton/MenuItem.css +17 -0
  295. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +1 -1
  296. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +1 -1
  297. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.css +0 -5
  298. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.js +1 -1
  299. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +7 -7
  300. package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +0 -52
  301. package/dist/esm/react/components/AccountMenuButton/icons/GlobeIcon.js +12 -27
  302. package/dist/esm/react/components/AccountMenuButton/icons/KeyIcon.js +12 -27
  303. package/dist/esm/react/components/AccountMenuButton/icons/LaptopIcon.js +4 -19
  304. package/dist/esm/react/components/AccountMenuButton/icons/LinkIcon.js +4 -19
  305. package/dist/esm/react/components/AccountMenuButton/icons/LockIcon.js +11 -26
  306. package/dist/esm/react/components/AccountMenuButton/icons/MailIcon.js +10 -25
  307. package/dist/esm/react/components/AccountMenuButton/icons/MoonIcon.js +6 -41
  308. package/dist/esm/react/components/AccountMenuButton/icons/RecoveryCodesIcon.js +16 -31
  309. package/dist/esm/react/components/AccountMenuButton/icons/ScanIcon.js +9 -24
  310. package/dist/esm/react/components/AccountMenuButton/icons/SlidersIcon.js +14 -29
  311. package/dist/esm/react/components/AccountMenuButton/icons/SmartphoneIcon.js +11 -26
  312. package/dist/esm/react/components/AccountMenuButton/icons/SunIcon.js +43 -78
  313. package/dist/esm/react/components/AccountMenuButton/icons/lucideIcon.js +27 -0
  314. package/dist/esm/react/components/AccountMenuButton/icons/strokeIcon.js +33 -0
  315. package/dist/esm/react/components/AccountMenuButton/index.js +7 -7
  316. package/dist/esm/react/components/QRCodeScanner.css +0 -15
  317. package/dist/esm/react/components/ShowQRCode.css +0 -14
  318. package/dist/esm/react/components/theme/design-tokens.js +0 -1
  319. package/dist/esm/react/context/useSeamsWithSdkFlow.js +1 -2
  320. package/dist/esm/react/context/useWalletIframeLifecycle.js +0 -14
  321. package/dist/esm/react/core/config/chains.js +1 -0
  322. package/dist/esm/react/core/indexedDB/keyMaterialEnvelope.js +1 -5
  323. package/dist/esm/react/core/indexedDB/linkedAuthoritySignerMaterial.js +7 -14
  324. package/dist/esm/react/core/indexedDB/pendingWalletRecoveryCommit.js +6 -11
  325. package/dist/esm/react/core/indexedDB/pendingWalletRegistrationCommit.js +140 -274
  326. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +209 -0
  327. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +848 -0
  328. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +122 -1721
  329. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +235 -0
  330. package/dist/esm/react/core/indexedDB/seamsWalletDB/repositories.js +56 -7
  331. package/dist/esm/react/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +198 -0
  332. package/dist/esm/react/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +1 -1
  333. package/dist/esm/react/core/indexedDB/unifiedIndexedDBManager.js +6 -0
  334. package/dist/esm/react/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
  335. package/dist/esm/react/core/platform/browser/createBrowserPlatformRuntime.js +1 -44
  336. package/dist/esm/react/core/rpcClients/near/NearClient.js +19 -214
  337. package/dist/esm/react/core/rpcClients/near/rpcCalls.js +1 -1
  338. package/dist/esm/react/core/rpcClients/relayer/routerAbNormalSigning.js +56 -85
  339. package/dist/esm/react/core/rpcClients/relayer/walletRecoveryPrepare.js +6 -6
  340. package/dist/esm/react/core/rpcClients/relayer/walletRecoveryRotate.js +0 -1
  341. package/dist/esm/react/core/rpcClients/relayer/walletRegistration.js +39 -15
  342. package/dist/esm/react/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +4 -10
  343. package/dist/esm/react/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +1 -1
  344. package/dist/esm/react/core/signingEngine/assembly/ports/recovery.js +1 -1
  345. package/dist/esm/react/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -1
  346. package/dist/esm/react/core/signingEngine/chains/evm/display/evmTx.js +1 -6
  347. package/dist/esm/react/core/signingEngine/chains/evm/display/functionSelectors.js +2 -5
  348. package/dist/esm/react/core/signingEngine/chains/near/display.js +14 -1
  349. package/dist/esm/react/core/signingEngine/chains/tempo/display.js +1 -6
  350. package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +1 -1
  351. package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaExportFlow.js +7 -8
  352. package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +35 -28
  353. package/dist/esm/react/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +3 -3
  354. package/dist/esm/react/core/signingEngine/flows/recovery/exportKeypairOperation.js +1 -4
  355. package/dist/esm/react/core/signingEngine/flows/recovery/exportLaneSelection.js +1 -1
  356. package/dist/esm/react/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +17 -28
  357. package/dist/esm/react/core/signingEngine/flows/registration/accountLifecycle.js +246 -504
  358. package/dist/esm/react/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +7 -10
  359. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/authPlanning.js +1 -1
  360. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/ecdsaLanes.js +1 -1
  361. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +1 -1
  362. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +2 -2
  363. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/preparedSigning.js +3 -10
  364. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +9 -13
  365. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmFamilyWithUiConfirmForTempo.js +1 -1
  366. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmWithUiConfirm.js +1 -1
  367. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js +24 -18
  368. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +1 -2
  369. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlow.js +10 -8
  370. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +51 -20
  371. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/transactionExecutor.js +2 -5
  372. package/dist/esm/react/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +1 -1
  373. package/dist/esm/react/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +343 -0
  374. package/dist/esm/react/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.js +1 -1
  375. package/dist/esm/react/core/signingEngine/flows/signNear/signDelegate.js +66 -312
  376. package/dist/esm/react/core/signingEngine/flows/signNear/signNear.js +47 -51
  377. package/dist/esm/react/core/signingEngine/flows/signNear/signNep413.js +58 -305
  378. package/dist/esm/react/core/signingEngine/flows/signNear/signTransactions.js +34 -17
  379. package/dist/esm/react/core/signingEngine/interfaces/accountAuthMetadata.js +0 -1
  380. package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +15 -147
  381. package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +2 -1
  382. package/dist/esm/react/core/signingEngine/session/SigningSessionCoordinator.js +1 -1
  383. package/dist/esm/react/core/signingEngine/session/availability/availableSigningLanes.js +5 -14
  384. package/dist/esm/react/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +10 -9
  385. package/dist/esm/react/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +108 -24
  386. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaLogin.js +5 -10
  387. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaPublication.js +1 -1
  388. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaRecovery.js +4 -4
  389. package/dist/esm/react/core/signingEngine/session/emailOtp/ed25519ExportContext.js +7 -14
  390. package/dist/esm/react/core/signingEngine/session/emailOtp/exportRecovery.js +1 -1
  391. package/dist/esm/react/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -9
  392. package/dist/esm/react/core/signingEngine/session/emailOtp/publicTypes.js +0 -1
  393. package/dist/esm/react/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -28
  394. package/dist/esm/react/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +1 -1
  395. package/dist/esm/react/core/signingEngine/session/emailOtp/walletUnlock.js +1 -1
  396. package/dist/esm/react/core/signingEngine/session/emailOtp/workerEnrollment.js +1 -1
  397. package/dist/esm/react/core/signingEngine/session/identity/clientSessionPersistenceState.js +1 -1
  398. package/dist/esm/react/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +3 -3
  399. package/dist/esm/react/core/signingEngine/session/identity/exactSigningLaneIdentity.js +2 -2
  400. package/dist/esm/react/core/signingEngine/session/identity/laneIdentity.js +6 -5
  401. package/dist/esm/react/core/signingEngine/session/identity/selectLane.js +7 -21
  402. package/dist/esm/react/core/signingEngine/session/keyMaterialBrands.js +2 -21
  403. package/dist/esm/react/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +41 -67
  404. package/dist/esm/react/core/signingEngine/session/material/ecdsaCapabilityManifest.js +8 -16
  405. package/dist/esm/react/core/signingEngine/session/material/ecdsaSigningCapability.js +1 -1
  406. package/dist/esm/react/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +1 -1
  407. package/dist/esm/react/core/signingEngine/session/operationState/authorizationAdmission.js +4 -4
  408. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaBootstrap.js +1 -1
  409. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +1 -1
  410. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaRecovery.js +1 -1
  411. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.js +1 -1
  412. package/dist/esm/react/core/signingEngine/session/passkey/ed25519SessionProvision.js +1 -1
  413. package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +37 -57
  414. package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +12 -21
  415. package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +11 -23
  416. package/dist/esm/react/core/signingEngine/session/persistence/sealedSessionRecords.js +761 -0
  417. package/dist/esm/react/core/signingEngine/session/persistence/sealedSessionStore.js +41 -858
  418. package/dist/esm/react/core/signingEngine/session/postconditions/runtimePostconditions.js +1 -1
  419. package/dist/esm/react/core/signingEngine/session/public.js +2 -2
  420. package/dist/esm/react/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +1 -1
  421. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaBootstrapPersistence.js +1 -1
  422. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +2 -1
  423. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.js +2 -2
  424. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -1
  425. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +3 -3
  426. package/dist/esm/react/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +2 -2
  427. package/dist/esm/react/core/signingEngine/session/warmCapabilities/sealedRefreshParity.js +1 -1
  428. package/dist/esm/react/core/signingEngine/session/warmCapabilities/types.js +1 -2
  429. package/dist/esm/react/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +3 -5
  430. package/dist/esm/react/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +2 -3
  431. package/dist/esm/react/core/signingEngine/threshold/commitQueueShared.js +20 -6
  432. package/dist/esm/react/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +9 -5
  433. package/dist/esm/react/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +2 -2
  434. package/dist/esm/react/core/signingEngine/threshold/ecdsa/activation.js +2 -1
  435. package/dist/esm/react/core/signingEngine/threshold/ecdsa/bootstrapSession.js +1 -1
  436. package/dist/esm/react/core/signingEngine/threshold/ecdsa/signingQueue.js +8 -50
  437. package/dist/esm/react/core/signingEngine/threshold/ed25519/commitQueue.js +7 -43
  438. package/dist/esm/react/core/signingEngine/threshold/ed25519/walletSession.js +1 -1
  439. package/dist/esm/react/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +12 -19
  440. package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +2 -1
  441. package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +4 -3
  442. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +7 -0
  443. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/localOnly.js +1 -1
  444. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/signing.js +9 -16
  445. package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +5 -5
  446. package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirmation-model.js +1 -1
  447. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +1 -0
  448. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +1 -1
  449. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +81 -9
  450. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +31 -78
  451. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +1 -0
  452. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +1 -10
  453. package/dist/esm/react/core/signingEngine/walletCustody/activateEd25519Capability.js +2 -1
  454. package/dist/esm/react/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +3 -4
  455. package/dist/esm/react/core/signingEngine/walletCustody/emailOtpLink.js +2 -2
  456. package/dist/esm/react/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +2 -1
  457. package/dist/esm/react/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +55 -8
  458. package/dist/esm/react/core/signingEngine/walletCustody/walletRecoveryRotation.js +52 -81
  459. package/dist/esm/react/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +2 -4
  460. package/dist/esm/react/core/signingEngine/workerManager/deviceLinkingPorts.js +80 -64
  461. package/dist/esm/react/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +29 -4
  462. package/dist/esm/react/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +4 -2
  463. package/dist/esm/react/core/signingEngine/workerManager/workerTransport.js +21 -10
  464. package/dist/esm/react/core/signingEngine/workerManager/workerTypes.js +2 -1
  465. package/dist/esm/react/core/types/linkDevice.js +2 -3
  466. package/dist/esm/react/core/types/sdkSentEvents.js +7 -5
  467. package/dist/esm/react/hooks/useQRCamera.js +1 -1
  468. package/dist/esm/react/shared-ts/src/authorization/delegatedAuthority.js +1 -1
  469. package/dist/esm/react/shared-ts/src/authorization/operationFingerprint.js +0 -1
  470. package/dist/esm/react/shared-ts/src/authorization/walletAuthority.js +92 -227
  471. package/dist/esm/react/shared-ts/src/authorization/walletCustodyOperation.js +4 -6
  472. package/dist/esm/react/shared-ts/src/authorization/walletSessionIssuance.js +5 -8
  473. package/dist/esm/react/shared-ts/src/authorization/walletSignerActivationEquality.js +12 -0
  474. package/dist/esm/react/shared-ts/src/device-linking/activeWalletSession.js +70 -1
  475. package/dist/esm/react/shared-ts/src/device-linking/authorityActivation.js +142 -0
  476. package/dist/esm/react/shared-ts/src/device-linking/committedSignerPackages.js +5 -8
  477. package/dist/esm/react/shared-ts/src/device-linking/delegatedActivationPlan.js +3 -5
  478. package/dist/esm/react/shared-ts/src/device-linking/deviceManagement.js +120 -0
  479. package/dist/esm/react/shared-ts/src/device-linking/digests.js +8 -63
  480. package/dist/esm/react/shared-ts/src/device-linking/ed25519ExportRoot.js +13 -15
  481. package/dist/esm/react/shared-ts/src/device-linking/index.js +6 -4
  482. package/dist/esm/react/shared-ts/src/device-linking/parsers.js +546 -1308
  483. package/dist/esm/react/shared-ts/src/device-linking/requestProof.js +3 -3
  484. package/dist/esm/react/shared-ts/src/device-linking/sourceContribution.js +11 -17
  485. package/dist/esm/react/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +7 -7
  486. package/dist/esm/react/shared-ts/src/device-linking/wireFields.js +59 -0
  487. package/dist/esm/react/shared-ts/src/near/nearClient.js +252 -0
  488. package/dist/esm/react/shared-ts/src/passkey-custody/custodyEnvelope.js +6 -4
  489. package/dist/esm/react/shared-ts/src/passkey-custody/custodySecretBinding.js +6 -4
  490. package/dist/esm/react/shared-ts/src/passkey-custody/primitives.js +9 -39
  491. package/dist/esm/react/shared-ts/src/signing-lanes/index.js +4 -3
  492. package/dist/esm/react/shared-ts/src/signing-lanes/ownerContinuity.js +8 -7
  493. package/dist/esm/react/shared-ts/src/signing-lanes/participantDigest.js +2 -0
  494. package/dist/esm/react/shared-ts/src/signing-lanes/participants.js +2 -5
  495. package/dist/esm/react/shared-ts/src/signing-lanes/recordParsers.js +18 -22
  496. package/dist/esm/react/shared-ts/src/signing-lanes/rotationDigests.js +2 -0
  497. package/dist/esm/react/shared-ts/src/signing-lanes/rotationParsers.js +3 -3
  498. package/dist/esm/react/shared-ts/src/signing-lanes/rotationProtocolParsers.js +8 -0
  499. package/dist/esm/react/shared-ts/src/signing-lanes/rotationWireFields.js +3 -0
  500. package/dist/esm/react/shared-ts/src/threshold/ed25519OperationFingerprint.js +34 -42
  501. package/dist/esm/react/shared-ts/src/threshold/keyMaterialBrands.js +25 -0
  502. package/dist/esm/react/shared-ts/src/threshold/secp256k1.js +1 -2
  503. package/dist/esm/react/shared-ts/src/threshold/signingRootScope.js +4 -1
  504. package/dist/esm/react/shared-ts/src/utils/addAuthMethodRegistration.js +3 -4
  505. package/dist/esm/react/shared-ts/src/utils/canonicalPrimitives.js +8 -1
  506. package/dist/esm/react/shared-ts/src/utils/digestEncoding.js +63 -0
  507. package/dist/esm/react/shared-ts/src/utils/ecdsaKeyFactsInventory.js +3 -5
  508. package/dist/esm/react/shared-ts/src/utils/ecdsaServerTiming.js +0 -1
  509. package/dist/esm/react/shared-ts/src/utils/emailOtpDomain.js +3 -3
  510. package/dist/esm/react/shared-ts/src/utils/encoders.js +1 -1
  511. package/dist/esm/react/shared-ts/src/utils/errors.js +1 -1
  512. package/dist/esm/react/shared-ts/src/utils/exactKeys.js +17 -0
  513. package/dist/esm/react/shared-ts/src/utils/exactRecord.js +44 -0
  514. package/dist/esm/react/shared-ts/src/utils/index.js +12 -8
  515. package/dist/esm/react/shared-ts/src/utils/registrationAuthMethodInput.js +84 -0
  516. package/dist/esm/react/shared-ts/src/utils/registrationEstablishedSession.js +2 -2
  517. package/dist/esm/react/shared-ts/src/utils/registrationIds.js +226 -0
  518. package/dist/esm/react/shared-ts/src/utils/registrationIntent.js +6 -1089
  519. package/dist/esm/react/shared-ts/src/utils/registrationSignerPlan.js +439 -0
  520. package/dist/esm/react/shared-ts/src/utils/routerAbEcdsaDerivation.js +9 -8
  521. package/dist/esm/react/shared-ts/src/utils/routerAbEd25519Yao.js +3 -76
  522. package/dist/esm/react/shared-ts/src/utils/routerAbEd25519YaoDigests.js +76 -0
  523. package/dist/esm/react/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -4
  524. package/dist/esm/react/shared-ts/src/utils/routerAbPublicKeyset.js +2 -6
  525. package/dist/esm/react/shared-ts/src/utils/secureRandomId.js +1 -1
  526. package/dist/esm/react/shared-ts/src/utils/signerDomain.js +1 -16
  527. package/dist/esm/react/shared-ts/src/utils/thresholdEcdsaChainTarget.js +9 -0
  528. package/dist/esm/react/shared-ts/src/utils/validation.js +36 -2
  529. package/dist/esm/react/shared-ts/src/utils/walletAuthAuthority.js +1 -1
  530. package/dist/esm/react/shared-ts/src/utils/walletAuthMethodRecord.js +357 -0
  531. package/dist/esm/react/shared-ts/src/utils/walletCapabilityBindings.js +2 -2
  532. package/dist/esm/react/shared-ts/src/utils/wireSchema.js +66 -0
  533. package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +11 -17
  534. package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +4 -8
  535. package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -1
  536. package/dist/esm/react/styles/styles.css +17 -86
  537. package/dist/esm/react/utils/menuItemBlink.js +24 -0
  538. package/dist/esm/react/utils/qrScanner.js +2 -19
  539. package/dist/esm/sdk/{ConfirmationDrawer-G0bT0Dbu.js → ConfirmationDrawer-MgFTBwwK.js} +2 -1
  540. package/dist/esm/sdk/{EvmClient-CHw6txjt.js → EvmClient-f3gUhS2L.js} +1 -1
  541. package/dist/esm/sdk/{NearClient-BQgcqAzG.js → NearClient-DY4NfHeD.js} +194 -147
  542. package/dist/esm/sdk/{NonceCoordinator-C7mqpJiU.js → NonceCoordinator-4XWPhYww.js} +4 -4
  543. package/dist/esm/sdk/{accountIds-Ck4GAQfm.js → accountIds-DhIPGOSN.js} +1 -1
  544. package/dist/{public/sdk/accountLifecycle-Ddavc_FC.js → esm/sdk/accountLifecycle-zthG08aC.js} +253 -514
  545. package/dist/esm/sdk/{actions-DsBQcjBn.js → actions-CCvThiKe.js} +1 -1
  546. package/dist/esm/sdk/{adapters-m94YFj70.js → adapters-Dli9XAZp.js} +137 -136
  547. package/dist/esm/sdk/canonicalPrimitives-BTHWz80v.js +36 -0
  548. package/dist/esm/sdk/{canonicalSignerErrorCode-DAzYzisf.js → canonicalSignerErrorCode-BBIk365e.js} +3 -17
  549. package/dist/{public/sdk/capabilityKinds-jwCEaqBU.js → esm/sdk/capabilityKinds-hvYqa6S_.js} +1 -1
  550. package/dist/esm/sdk/chains-BMh3btVo.js +124 -0
  551. package/dist/{public/sdk/challengeDelivery-BjLKoou3.js → esm/sdk/challengeDelivery-DZtopOAG.js} +2 -2
  552. package/dist/esm/sdk/{configHelpers-DB73zYvO.js → configHelpers-D1EqxVxg.js} +3 -3
  553. package/dist/esm/sdk/{defaultConfigs-CyNOW4Sy.js → defaultConfigs-D_33pPT9.js} +5 -5
  554. package/dist/{public/sdk/display-DHdC2yXU.js → esm/sdk/display-P4nQF-yc.js} +3 -8
  555. package/dist/{public/sdk/normalize-BephcEIF.js → esm/sdk/domainIds-lcrFg6Sa.js} +84 -84
  556. package/dist/{public/sdk/ecdsaCapabilityManifest-C8itxV9S.js → esm/sdk/ecdsaCapabilityManifest-DuMs0VtU.js} +14 -22
  557. package/dist/esm/sdk/{ecdsaChainTarget-BOTPGIU_.js → ecdsaChainTarget-Bl-JWyuw.js} +2 -2
  558. package/dist/esm/sdk/ecdsaPresignLifecycle-Bfx2AQKb.js +1983 -0
  559. package/dist/{public/sdk/ecdsaPresignPoolIdentity-Yopr4jvS.js → esm/sdk/ecdsaPresignPoolIdentity-BjxZVIqn.js} +1 -1
  560. package/dist/{public/sdk/ecdsaWalletRecords-CAbbVhEY.js → esm/sdk/ecdsaWalletRecords-D42rtA9z.js} +6 -4
  561. package/dist/esm/sdk/encoders-D8d07vpx.js +0 -0
  562. package/dist/{public/sdk/enrichDisplayModelWithAbi-DnjR1CqT.js → esm/sdk/enrichDisplayModelWithAbi-CWggsykc.js} +2 -2
  563. package/dist/{public/sdk/evmCryptoWasm-BVj135bZ.js → esm/sdk/evmCryptoWasm-DWklhEEb.js} +1 -1
  564. package/dist/esm/sdk/evmFamilyEcdsaIdentity-CqGafQsI.js +4274 -0
  565. package/dist/{public/sdk/exactSessionState-Bt0HforB.js → esm/sdk/exactSessionState-LWDUXydN.js} +51 -80
  566. package/dist/esm/sdk/exactSigningLaneIdentity-m6uTXV_A.js +335 -0
  567. package/dist/{public/sdk/export-viewer-host-CbqG8ZQV.js → esm/sdk/export-viewer-host-rWMSQQMP.js} +3 -3
  568. package/dist/esm/sdk/{helpers-DpRjHMBx.js → helpers-ZrowMnev.js} +3 -6
  569. package/dist/{public/sdk/host-BPC1zSVg.js → esm/sdk/host-CnV8nAUe.js} +12 -12
  570. package/dist/{public/sdk/intentDigest-A1MbbJPu.js → esm/sdk/intentDigest-CvOSNlCH.js} +2 -2
  571. package/dist/esm/sdk/{jsxRuntime.module-FAP0NE9p.js → jsxRuntime.module-CuH5ZEIA.js} +1 -1
  572. package/dist/esm/sdk/{keyMaterialBrands-BbjCfzXv.js → keyMaterialBrands-CogGAAZn.js} +15 -13
  573. package/dist/esm/sdk/{localOnly-CbLYTVbo.js → localOnly-DTpa2jD5.js} +8 -10
  574. package/dist/{public/sdk/messages-B3UbNZYc.js → esm/sdk/messages-C7Dbx9iN.js} +6 -4
  575. package/dist/{public/sdk/mountExportPrivateKeySurface-CNc6Mch4.js → esm/sdk/mountExportPrivateKeySurface-DgX-IBG_.js} +4 -4
  576. package/dist/{public/sdk/mountRecoveryCodeBackupSurface-ChwzwnYG.js → esm/sdk/mountRecoveryCodeBackupSurface-DXrExiJ7.js} +2 -2
  577. package/dist/{public/sdk/nearEd25519YaoMaterialActivation-Cz5UJQ_7.js → esm/sdk/nearEd25519YaoMaterialActivation-B5GecIvq.js} +82 -55
  578. package/dist/{public/sdk/nearEd25519YaoSigningPreparation-DX6xG-IW.js → esm/sdk/nearEd25519YaoSigningPreparation-CdOT5RuC.js} +10 -8
  579. package/dist/{public/sdk/nonceLaneKeys-B_RcSS6M.js → esm/sdk/nonceLaneKeys-C3c9lG6u.js} +1 -1
  580. package/dist/{public/sdk/normalization-oJyXl3Vn.js → esm/sdk/normalization-CBt413-z.js} +2 -2
  581. package/dist/esm/sdk/{operationFingerprint-DEPg9A3h.js → operationFingerprint-C8Trar4R.js} +4 -4
  582. package/dist/esm/sdk/{operationFingerprint-CsYO6b0a.js → operationFingerprint-CGZui5dR.js} +2 -1
  583. package/dist/esm/sdk/{passkey-custody-BaHyYMhj.js → passkey-custody-UUHbC0pk.js} +7 -6
  584. package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-DyvRysWg.js → esm/sdk/pendingWalletRecoveryCodeBackup-BWluQMbt.js} +3 -3
  585. package/dist/esm/sdk/{recovery-entrypoint-D39R1avB.js → recovery-entrypoint-C3fydnRC.js} +19 -16
  586. package/dist/esm/sdk/{registration-PIBMSsQR.js → registration-Ct_7LdGf.js} +2871 -3182
  587. package/dist/esm/sdk/{registration-DtDICj-o.js → registration-DHERU8R_.js} +4 -4
  588. package/dist/{public/sdk/registrationAccounts-AO3QHjas.js → esm/sdk/registrationAccounts-DmWPzf3T.js} +6 -4
  589. package/dist/esm/sdk/registrationIds-DLSdEKSv.js +310 -0
  590. package/dist/esm/sdk/registrationIntent-4zwk16zQ.js +387 -0
  591. package/dist/esm/sdk/{registrationPreparationPreload-BZfAC_ba.js → registrationPreparationPreload-D6zpWp4O.js} +2 -2
  592. package/dist/esm/sdk/registrationSignerPlan-DhV8VAob.js +437 -0
  593. package/dist/{public/sdk/relayerHttp-LsVTZCxA.js → esm/sdk/relayerHttp-VC8Holz1.js} +1 -1
  594. package/dist/{public/sdk/routePlan-nLpPFHB-.js → esm/sdk/routePlan-D59x5xzQ.js} +1 -1
  595. package/dist/{public/sdk/router-CeFS9SgT.js → esm/sdk/router-B4ZWFy9E.js} +23 -25
  596. package/dist/{public/sdk/routerAbNormalSigning-DktZKnf1.js → esm/sdk/routerAbNormalSigning-CVFEOZ2m.js} +63 -92
  597. package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  598. package/dist/{public/sdk/runtime-auth-D_lUQQlc.js → esm/sdk/runtime-auth-DdfynDKt.js} +144 -301
  599. package/dist/{public/sdk/runtime-device-link-CEph1iM0.js → esm/sdk/runtime-device-link-HJ2ptFux.js} +25 -22
  600. package/dist/{public/sdk/runtime-ecdsa-tempo-tUWnafRo.js → esm/sdk/runtime-ecdsa-tempo-BGLsTAWR.js} +24 -21
  601. package/dist/esm/sdk/{runtime-email-otp-1wIPTDim.js → runtime-email-otp-CpX88VZJ.js} +23 -20
  602. package/dist/{public/sdk/runtime-export-Du2d4_Vu.js → esm/sdk/runtime-export-DIVY473L.js} +26 -22
  603. package/dist/{public/sdk/runtime-near-CGoWxu7u.js → esm/sdk/runtime-near-CxtQi4b2.js} +24 -22
  604. package/dist/{public/sdk/runtime-preferences-JwJK_xP3.js → esm/sdk/runtime-preferences-vnJc5Svg.js} +24 -21
  605. package/dist/esm/sdk/{runtime-recovery-codes-DW7bB2tO.js → runtime-recovery-codes-BSCLVHQj.js} +15 -19
  606. package/dist/{public/sdk/runtime-recovery-BEqBdpyo.js → esm/sdk/runtime-recovery-i08vCJST.js} +23 -20
  607. package/dist/esm/sdk/{runtimeContext-CTt9ON27.js → runtimeContext-D3TBExQ6.js} +915 -1109
  608. package/dist/{public/sdk/runtimeLoader-ZXsvx9zX.js → esm/sdk/runtimeLoader-DQVEFVaW.js} +12 -12
  609. package/dist/{public/sdk/sdkSentEvents-5Pi-hjHB.js → esm/sdk/sdkSentEvents-MqDkbQg1.js} +10 -8
  610. package/dist/esm/sdk/{secp256k1-CWDid9WH.js → secp256k1-D-I6Gh4D.js} +53 -176
  611. package/dist/esm/sdk/sessionPolicy-DO-MkL65.js +460 -0
  612. package/dist/{public/sdk/signEvmFamily-pbMepepQ.js → esm/sdk/signEvmFamily-C3C97Th-.js} +135 -185
  613. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-CxvfCI_o.js → signEvmFamilyWithUiConfirmForTempo-BI9DSTIS.js} +11 -15
  614. package/dist/{public/sdk/signEvmWithUiConfirm-nk-r3Rff.js → esm/sdk/signEvmWithUiConfirm-Bmcim5-g.js} +6 -10
  615. package/dist/{public/sdk/signNear-DVD9-IO5.js → esm/sdk/signNear-Bmb2fj_a.js} +729 -846
  616. package/dist/esm/sdk/{evmAdapter-C5NR5tiV.js → signatureUses-BkGyYt8F.js} +12 -3
  617. package/dist/esm/sdk/{signerDomain-DDLiwuYS.js → signerDomain-IEAVrOrc.js} +3 -18
  618. package/dist/{public/sdk/signerLoader-D_w-SfR9.js → esm/sdk/signerLoader-B7orgq5Z.js} +4 -4
  619. package/dist/esm/sdk/{signatureUses-BY1IY7uz.js → signingFlow-SZ8t_lxv.js} +24 -38
  620. package/dist/esm/sdk/{trace-08ayoiNp.js → trace-DKLQZvec.js} +1 -2
  621. package/dist/esm/sdk/{transaction-activity-DKgIGpKG.js → transaction-activity-CSMCveBn.js} +1 -1
  622. package/dist/{public/sdk/transactionReview-UoZQ2opj.js → esm/sdk/transactionReview-DpHLTznU.js} +4 -6
  623. package/dist/esm/sdk/{transactionReviewAdmission-Cv9kTr4c.js → transactionReviewAdmission-BCPvl8OZ.js} +2 -2
  624. package/dist/esm/sdk/{transactionState-Bpm4GamO.js → transactionState-CJ4U8pcl.js} +58 -47
  625. package/dist/esm/sdk/tx-confirm-ui.js +182 -189
  626. package/dist/esm/sdk/types-Dx9fczU7.js +111 -0
  627. package/dist/{public/sdk/validation-BphUDXs7.js → esm/sdk/validation-gat4LEKm.js} +36 -2
  628. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +2 -2
  629. package/dist/esm/sdk/wallet-iframe-host-full.js +2 -2
  630. package/dist/esm/sdk/wallet-iframe-host-near.js +2 -2
  631. package/dist/esm/sdk/wallet-iframe-host-runtime.js +2 -2
  632. package/dist/esm/sdk/{wallet-recovery-CKqoHbxT.js → wallet-recovery-BX61-79p.js} +20 -29
  633. package/dist/esm/sdk/wallet-service.css +21 -0
  634. package/dist/esm/sdk/wallet-ui.css +129 -345
  635. package/dist/{public/sdk/sessionPolicy-B4FsPuk2.js → esm/sdk/walletAuthority-DD9T25F6.js} +504 -447
  636. package/dist/{public/sdk/ed25519SeedMaterial-Cghz8-XB.js → esm/sdk/walletCustodyEcdsaContinuity-CF4bv9OI.js} +1951 -2216
  637. package/dist/esm/sdk/{walletRecoveryCommit-G6w6N5RV.js → walletRecoveryCommit-AI1AtIRP.js} +88 -151
  638. package/dist/{public/sdk/walletRecoveryRotate-BYOYJAyb.js → esm/sdk/walletRecoveryRotate-BgLlW5ih.js} +1 -1
  639. package/dist/esm/sdk/{warmSessionHydration-DDNYdTCz.js → warmSessionHydration-Os8niEm7.js} +1 -1
  640. package/dist/{public/sdk/webauthnP256-CHqprSh1.js → esm/sdk/webauthnP256-DC5EIbKN.js} +1 -1
  641. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +1 -1
  642. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +1 -2
  643. package/dist/esm/shared-ts/src/authorization/walletAuthority.js +93 -228
  644. package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +4 -6
  645. package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +5 -8
  646. package/dist/esm/shared-ts/src/authorization/walletSignerActivationEquality.js +12 -0
  647. package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +70 -1
  648. package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +142 -0
  649. package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +5 -8
  650. package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +3 -5
  651. package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +120 -0
  652. package/dist/esm/shared-ts/src/device-linking/digests.js +8 -63
  653. package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +13 -15
  654. package/dist/esm/shared-ts/src/device-linking/index.js +6 -4
  655. package/dist/esm/shared-ts/src/device-linking/parsers.js +550 -1311
  656. package/dist/esm/shared-ts/src/device-linking/requestProof.js +3 -3
  657. package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +11 -17
  658. package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +7 -7
  659. package/dist/esm/shared-ts/src/device-linking/wireFields.js +59 -0
  660. package/dist/esm/shared-ts/src/near/nearClient.js +252 -0
  661. package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +6 -4
  662. package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +6 -4
  663. package/dist/esm/shared-ts/src/passkey-custody/primitives.js +9 -39
  664. package/dist/esm/shared-ts/src/signing-lanes/index.js +4 -3
  665. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +8 -7
  666. package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +2 -0
  667. package/dist/esm/shared-ts/src/signing-lanes/participants.js +2 -5
  668. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +18 -22
  669. package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +2 -0
  670. package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +3 -3
  671. package/dist/esm/shared-ts/src/signing-lanes/rotationProtocolParsers.js +8 -0
  672. package/dist/esm/shared-ts/src/signing-lanes/rotationWireFields.js +3 -0
  673. package/dist/esm/shared-ts/src/threshold/ed25519OperationFingerprint.js +34 -42
  674. package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +25 -0
  675. package/dist/esm/shared-ts/src/threshold/secp256k1.js +1 -2
  676. package/dist/esm/shared-ts/src/threshold/signingRootScope.js +4 -1
  677. package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +3 -4
  678. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +8 -1
  679. package/dist/esm/shared-ts/src/utils/digestEncoding.js +63 -0
  680. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +3 -5
  681. package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +0 -1
  682. package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +3 -3
  683. package/dist/esm/shared-ts/src/utils/encoders.js +1 -1
  684. package/dist/esm/shared-ts/src/utils/errors.js +1 -1
  685. package/dist/esm/shared-ts/src/utils/exactKeys.js +17 -0
  686. package/dist/esm/shared-ts/src/utils/exactRecord.js +44 -0
  687. package/dist/esm/shared-ts/src/utils/index.js +18 -14
  688. package/dist/esm/shared-ts/src/utils/registrationAuthMethodInput.js +84 -0
  689. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +5 -5
  690. package/dist/esm/shared-ts/src/utils/registrationIds.js +226 -0
  691. package/dist/esm/shared-ts/src/utils/registrationIntent.js +6 -1089
  692. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +439 -0
  693. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +11 -10
  694. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +3 -76
  695. package/dist/esm/shared-ts/src/utils/routerAbEd25519YaoDigests.js +76 -0
  696. package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -4
  697. package/dist/esm/shared-ts/src/utils/routerAbPublicKeyset.js +2 -6
  698. package/dist/esm/shared-ts/src/utils/secureRandomId.js +1 -1
  699. package/dist/esm/shared-ts/src/utils/signerDomain.js +1 -16
  700. package/dist/esm/shared-ts/src/utils/thresholdEcdsaChainTarget.js +9 -0
  701. package/dist/esm/shared-ts/src/utils/validation.js +36 -2
  702. package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +1 -1
  703. package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +357 -0
  704. package/dist/esm/shared-ts/src/utils/walletCapabilityBindings.js +2 -2
  705. package/dist/esm/shared-ts/src/utils/wireSchema.js +66 -0
  706. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +1 -1
  707. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +1 -1
  708. package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +1 -1
  709. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +11 -17
  710. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +4 -8
  711. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -1
  712. package/dist/esm/utils/menuItemBlink.js +24 -0
  713. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.d.ts +19 -6
  714. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +44 -9
  715. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  716. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client.d.ts +10 -1
  717. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client.js +31 -1
  718. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
  719. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client.d.ts +1 -1
  720. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client.js +1 -1
  721. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
  722. package/dist/public/headers.manifest.json +1 -1
  723. package/dist/public/sdk/{ConfirmationDrawer-G0bT0Dbu.js → ConfirmationDrawer-MgFTBwwK.js} +2 -1
  724. package/dist/public/sdk/{EvmClient-CHw6txjt.js → EvmClient-f3gUhS2L.js} +1 -1
  725. package/dist/public/sdk/{NearClient-BQgcqAzG.js → NearClient-DY4NfHeD.js} +194 -147
  726. package/dist/public/sdk/{NonceCoordinator-C7mqpJiU.js → NonceCoordinator-4XWPhYww.js} +4 -4
  727. package/dist/public/sdk/{accountIds-Ck4GAQfm.js → accountIds-DhIPGOSN.js} +1 -1
  728. package/dist/{esm/sdk/accountLifecycle-Ddavc_FC.js → public/sdk/accountLifecycle-zthG08aC.js} +253 -514
  729. package/dist/public/sdk/{actions-DsBQcjBn.js → actions-CCvThiKe.js} +1 -1
  730. package/dist/public/sdk/{adapters-m94YFj70.js → adapters-Dli9XAZp.js} +137 -136
  731. package/dist/public/sdk/canonicalPrimitives-BTHWz80v.js +36 -0
  732. package/dist/public/sdk/{canonicalSignerErrorCode-DAzYzisf.js → canonicalSignerErrorCode-BBIk365e.js} +3 -17
  733. package/dist/{esm/sdk/capabilityKinds-jwCEaqBU.js → public/sdk/capabilityKinds-hvYqa6S_.js} +1 -1
  734. package/dist/public/sdk/chains-BMh3btVo.js +124 -0
  735. package/dist/{esm/sdk/challengeDelivery-BjLKoou3.js → public/sdk/challengeDelivery-DZtopOAG.js} +2 -2
  736. package/dist/public/sdk/{configHelpers-DB73zYvO.js → configHelpers-D1EqxVxg.js} +3 -3
  737. package/dist/public/sdk/{defaultConfigs-CyNOW4Sy.js → defaultConfigs-D_33pPT9.js} +5 -5
  738. package/dist/{esm/sdk/display-DHdC2yXU.js → public/sdk/display-P4nQF-yc.js} +3 -8
  739. package/dist/{esm/sdk/normalize-BephcEIF.js → public/sdk/domainIds-lcrFg6Sa.js} +84 -84
  740. package/dist/{esm/sdk/ecdsaCapabilityManifest-C8itxV9S.js → public/sdk/ecdsaCapabilityManifest-DuMs0VtU.js} +14 -22
  741. package/dist/public/sdk/{ecdsaChainTarget-BOTPGIU_.js → ecdsaChainTarget-Bl-JWyuw.js} +2 -2
  742. package/dist/public/sdk/ecdsaPresignLifecycle-Bfx2AQKb.js +1983 -0
  743. package/dist/{esm/sdk/ecdsaPresignPoolIdentity-Yopr4jvS.js → public/sdk/ecdsaPresignPoolIdentity-BjxZVIqn.js} +1 -1
  744. package/dist/{esm/sdk/ecdsaWalletRecords-CAbbVhEY.js → public/sdk/ecdsaWalletRecords-D42rtA9z.js} +6 -4
  745. package/dist/public/sdk/encoders-D8d07vpx.js +0 -0
  746. package/dist/{esm/sdk/enrichDisplayModelWithAbi-DnjR1CqT.js → public/sdk/enrichDisplayModelWithAbi-CWggsykc.js} +2 -2
  747. package/dist/{esm/sdk/evmCryptoWasm-BVj135bZ.js → public/sdk/evmCryptoWasm-DWklhEEb.js} +1 -1
  748. package/dist/public/sdk/evmFamilyEcdsaIdentity-CqGafQsI.js +4274 -0
  749. package/dist/{esm/sdk/exactSessionState-Bt0HforB.js → public/sdk/exactSessionState-LWDUXydN.js} +51 -80
  750. package/dist/public/sdk/exactSigningLaneIdentity-m6uTXV_A.js +335 -0
  751. package/dist/{esm/sdk/export-viewer-host-CbqG8ZQV.js → public/sdk/export-viewer-host-rWMSQQMP.js} +3 -3
  752. package/dist/public/sdk/{helpers-DpRjHMBx.js → helpers-ZrowMnev.js} +3 -6
  753. package/dist/{esm/sdk/host-BPC1zSVg.js → public/sdk/host-CnV8nAUe.js} +12 -12
  754. package/dist/{esm/sdk/intentDigest-A1MbbJPu.js → public/sdk/intentDigest-CvOSNlCH.js} +2 -2
  755. package/dist/public/sdk/{jsxRuntime.module-FAP0NE9p.js → jsxRuntime.module-CuH5ZEIA.js} +1 -1
  756. package/dist/public/sdk/{keyMaterialBrands-BbjCfzXv.js → keyMaterialBrands-CogGAAZn.js} +15 -13
  757. package/dist/public/sdk/{localOnly-CbLYTVbo.js → localOnly-DTpa2jD5.js} +8 -10
  758. package/dist/{esm/sdk/messages-B3UbNZYc.js → public/sdk/messages-C7Dbx9iN.js} +6 -4
  759. package/dist/{esm/sdk/mountExportPrivateKeySurface-CNc6Mch4.js → public/sdk/mountExportPrivateKeySurface-DgX-IBG_.js} +4 -4
  760. package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-ChwzwnYG.js → public/sdk/mountRecoveryCodeBackupSurface-DXrExiJ7.js} +2 -2
  761. package/dist/{esm/sdk/nearEd25519YaoMaterialActivation-Cz5UJQ_7.js → public/sdk/nearEd25519YaoMaterialActivation-B5GecIvq.js} +82 -55
  762. package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-DX6xG-IW.js → public/sdk/nearEd25519YaoSigningPreparation-CdOT5RuC.js} +10 -8
  763. package/dist/{esm/sdk/nonceLaneKeys-B_RcSS6M.js → public/sdk/nonceLaneKeys-C3c9lG6u.js} +1 -1
  764. package/dist/{esm/sdk/normalization-oJyXl3Vn.js → public/sdk/normalization-CBt413-z.js} +2 -2
  765. package/dist/public/sdk/{operationFingerprint-DEPg9A3h.js → operationFingerprint-C8Trar4R.js} +4 -4
  766. package/dist/public/sdk/{operationFingerprint-CsYO6b0a.js → operationFingerprint-CGZui5dR.js} +2 -1
  767. package/dist/public/sdk/{passkey-custody-BaHyYMhj.js → passkey-custody-UUHbC0pk.js} +7 -6
  768. package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-DyvRysWg.js → public/sdk/pendingWalletRecoveryCodeBackup-BWluQMbt.js} +3 -3
  769. package/dist/public/sdk/{recovery-entrypoint-D39R1avB.js → recovery-entrypoint-C3fydnRC.js} +19 -16
  770. package/dist/public/sdk/{registration-PIBMSsQR.js → registration-Ct_7LdGf.js} +2871 -3182
  771. package/dist/public/sdk/{registration-DtDICj-o.js → registration-DHERU8R_.js} +4 -4
  772. package/dist/{esm/sdk/registrationAccounts-AO3QHjas.js → public/sdk/registrationAccounts-DmWPzf3T.js} +6 -4
  773. package/dist/public/sdk/registrationIds-DLSdEKSv.js +310 -0
  774. package/dist/public/sdk/registrationIntent-4zwk16zQ.js +387 -0
  775. package/dist/public/sdk/{registrationPreparationPreload-BZfAC_ba.js → registrationPreparationPreload-D6zpWp4O.js} +2 -2
  776. package/dist/public/sdk/registrationSignerPlan-DhV8VAob.js +437 -0
  777. package/dist/{esm/sdk/relayerHttp-LsVTZCxA.js → public/sdk/relayerHttp-VC8Holz1.js} +1 -1
  778. package/dist/{esm/sdk/routePlan-nLpPFHB-.js → public/sdk/routePlan-D59x5xzQ.js} +1 -1
  779. package/dist/{esm/sdk/router-CeFS9SgT.js → public/sdk/router-B4ZWFy9E.js} +23 -25
  780. package/dist/{esm/sdk/routerAbNormalSigning-DktZKnf1.js → public/sdk/routerAbNormalSigning-CVFEOZ2m.js} +63 -92
  781. package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  782. package/dist/{esm/sdk/runtime-auth-D_lUQQlc.js → public/sdk/runtime-auth-DdfynDKt.js} +144 -301
  783. package/dist/{esm/sdk/runtime-device-link-CEph1iM0.js → public/sdk/runtime-device-link-HJ2ptFux.js} +25 -22
  784. package/dist/{esm/sdk/runtime-ecdsa-tempo-tUWnafRo.js → public/sdk/runtime-ecdsa-tempo-BGLsTAWR.js} +24 -21
  785. package/dist/public/sdk/{runtime-email-otp-1wIPTDim.js → runtime-email-otp-CpX88VZJ.js} +23 -20
  786. package/dist/{esm/sdk/runtime-export-Du2d4_Vu.js → public/sdk/runtime-export-DIVY473L.js} +26 -22
  787. package/dist/{esm/sdk/runtime-near-CGoWxu7u.js → public/sdk/runtime-near-CxtQi4b2.js} +24 -22
  788. package/dist/{esm/sdk/runtime-preferences-JwJK_xP3.js → public/sdk/runtime-preferences-vnJc5Svg.js} +24 -21
  789. package/dist/public/sdk/{runtime-recovery-codes-DW7bB2tO.js → runtime-recovery-codes-BSCLVHQj.js} +15 -19
  790. package/dist/{esm/sdk/runtime-recovery-BEqBdpyo.js → public/sdk/runtime-recovery-i08vCJST.js} +23 -20
  791. package/dist/public/sdk/{runtimeContext-CTt9ON27.js → runtimeContext-D3TBExQ6.js} +915 -1109
  792. package/dist/{esm/sdk/runtimeLoader-ZXsvx9zX.js → public/sdk/runtimeLoader-DQVEFVaW.js} +12 -12
  793. package/dist/{esm/sdk/sdkSentEvents-5Pi-hjHB.js → public/sdk/sdkSentEvents-MqDkbQg1.js} +10 -8
  794. package/dist/public/sdk/{secp256k1-CWDid9WH.js → secp256k1-D-I6Gh4D.js} +53 -176
  795. package/dist/public/sdk/sessionPolicy-DO-MkL65.js +460 -0
  796. package/dist/{esm/sdk/signEvmFamily-pbMepepQ.js → public/sdk/signEvmFamily-C3C97Th-.js} +135 -185
  797. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-CxvfCI_o.js → signEvmFamilyWithUiConfirmForTempo-BI9DSTIS.js} +11 -15
  798. package/dist/{esm/sdk/signEvmWithUiConfirm-nk-r3Rff.js → public/sdk/signEvmWithUiConfirm-Bmcim5-g.js} +6 -10
  799. package/dist/{esm/sdk/signNear-DVD9-IO5.js → public/sdk/signNear-Bmb2fj_a.js} +729 -846
  800. package/dist/public/sdk/{evmAdapter-C5NR5tiV.js → signatureUses-BkGyYt8F.js} +12 -3
  801. package/dist/public/sdk/{signerDomain-DDLiwuYS.js → signerDomain-IEAVrOrc.js} +3 -18
  802. package/dist/{esm/sdk/signerLoader-D_w-SfR9.js → public/sdk/signerLoader-B7orgq5Z.js} +4 -4
  803. package/dist/public/sdk/{signatureUses-BY1IY7uz.js → signingFlow-SZ8t_lxv.js} +24 -38
  804. package/dist/public/sdk/{trace-08ayoiNp.js → trace-DKLQZvec.js} +1 -2
  805. package/dist/public/sdk/{transaction-activity-DKgIGpKG.js → transaction-activity-CSMCveBn.js} +1 -1
  806. package/dist/{esm/sdk/transactionReview-UoZQ2opj.js → public/sdk/transactionReview-DpHLTznU.js} +4 -6
  807. package/dist/public/sdk/{transactionReviewAdmission-Cv9kTr4c.js → transactionReviewAdmission-BCPvl8OZ.js} +2 -2
  808. package/dist/public/sdk/{transactionState-Bpm4GamO.js → transactionState-CJ4U8pcl.js} +58 -47
  809. package/dist/public/sdk/tx-confirm-ui.js +182 -189
  810. package/dist/public/sdk/types-Dx9fczU7.js +111 -0
  811. package/dist/{esm/sdk/validation-BphUDXs7.js → public/sdk/validation-gat4LEKm.js} +36 -2
  812. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +2 -2
  813. package/dist/public/sdk/wallet-iframe-host-full.js +2 -2
  814. package/dist/public/sdk/wallet-iframe-host-near.js +2 -2
  815. package/dist/public/sdk/wallet-iframe-host-runtime.js +2 -2
  816. package/dist/public/sdk/{wallet-recovery-CKqoHbxT.js → wallet-recovery-BX61-79p.js} +20 -29
  817. package/dist/public/sdk/wallet-service.css +21 -0
  818. package/dist/public/sdk/wallet-ui.css +129 -345
  819. package/dist/{esm/sdk/sessionPolicy-B4FsPuk2.js → public/sdk/walletAuthority-DD9T25F6.js} +504 -447
  820. package/dist/{esm/sdk/ed25519SeedMaterial-Cghz8-XB.js → public/sdk/walletCustodyEcdsaContinuity-CF4bv9OI.js} +1951 -2216
  821. package/dist/public/sdk/{walletRecoveryCommit-G6w6N5RV.js → walletRecoveryCommit-AI1AtIRP.js} +88 -151
  822. package/dist/{esm/sdk/walletRecoveryRotate-BYOYJAyb.js → public/sdk/walletRecoveryRotate-BgLlW5ih.js} +1 -1
  823. package/dist/public/sdk/{warmSessionHydration-DDNYdTCz.js → warmSessionHydration-Os8niEm7.js} +1 -1
  824. package/dist/{esm/sdk/webauthnP256-CHqprSh1.js → public/sdk/webauthnP256-DC5EIbKN.js} +1 -1
  825. package/dist/public/sdk/workers/device-linking-key.worker.js +5638 -5817
  826. package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +1663 -2128
  827. package/dist/public/sdk/workers/ecdsa-online-client.worker.js +9 -117
  828. package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +102 -220
  829. package/dist/public/sdk/workers/email-otp.worker.js +8966 -9300
  830. package/dist/public/sdk/workers/evm-crypto.worker.js +8 -6
  831. package/dist/public/sdk/workers/evm_crypto.wasm +0 -0
  832. package/dist/public/sdk/workers/evm_crypto_bg.wasm +0 -0
  833. package/dist/public/sdk/workers/near-signer.worker.js +4 -4
  834. package/dist/public/sdk/workers/near_signer.wasm +0 -0
  835. package/dist/public/sdk/workers/passkey-confirm.worker.js +6 -3
  836. package/dist/public/sdk/workers/passkey-mpc-export.worker.js +95 -101
  837. package/dist/public/sdk/workers/passkey-mpc-session.worker.js +205 -202
  838. package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  839. package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  840. package/dist/public/sdk/workers/tempo-signer.worker.js +8 -6
  841. package/dist/public/sdk/workers/tempo_signer.wasm +0 -0
  842. package/dist/public/sdk/workers/tempo_signer_bg.wasm +0 -0
  843. package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +230 -222
  844. package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
  845. package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
  846. package/dist/public/wallet-assets.manifest.json +334 -214
  847. package/dist/public/wallet-service/index.html +4 -4
  848. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +8 -26
  849. package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +2 -9
  850. package/dist/types/shared-ts/src/authorization/operationFingerprint.d.ts +1 -3
  851. package/dist/types/shared-ts/src/authorization/walletAuthority.d.ts +25 -12
  852. package/dist/types/shared-ts/src/authorization/walletSessionIssuance.d.ts +8 -0
  853. package/dist/types/shared-ts/src/authorization/walletSignerActivationEquality.d.ts +4 -0
  854. package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +3 -2
  855. package/dist/types/shared-ts/src/device-linking/authorityActivation.d.ts +5 -0
  856. package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +4 -8
  857. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +13 -74
  858. package/dist/types/shared-ts/src/device-linking/contracts.typecheck.d.ts +2 -1
  859. package/dist/types/shared-ts/src/device-linking/deviceManagement.d.ts +7 -0
  860. package/dist/types/shared-ts/src/device-linking/digests.d.ts +0 -5
  861. package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +3 -2
  862. package/dist/types/shared-ts/src/device-linking/index.d.ts +2 -0
  863. package/dist/types/shared-ts/src/device-linking/parsers.d.ts +4 -41
  864. package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +0 -1
  865. package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +5 -2
  866. package/dist/types/shared-ts/src/device-linking/walletSessionCredentialDelivery.d.ts +2 -1
  867. package/dist/types/shared-ts/src/device-linking/wireFields.d.ts +26 -0
  868. package/dist/types/shared-ts/src/near/actions.d.ts +4 -4
  869. package/dist/types/shared-ts/src/near/delegate.d.ts +3 -2
  870. package/dist/types/shared-ts/src/near/nearClient.d.ts +145 -0
  871. package/dist/types/shared-ts/src/passkey-custody/ceremonyCommitPayload.d.ts +0 -22
  872. package/dist/types/shared-ts/src/passkey-custody/credentialActivity.d.ts +2 -4
  873. package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +14 -30
  874. package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +8 -24
  875. package/dist/types/shared-ts/src/passkey-custody/index.d.ts +0 -2
  876. package/dist/types/shared-ts/src/passkey-custody/primitives.d.ts +9 -14
  877. package/dist/types/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.d.ts +0 -15
  878. package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +11 -50
  879. package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +1 -10
  880. package/dist/types/shared-ts/src/signing-lanes/index.d.ts +1 -2
  881. package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +1 -2
  882. package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +5 -27
  883. package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +0 -11
  884. package/dist/types/shared-ts/src/signing-lanes/recordParsers.d.ts +6 -53
  885. package/dist/types/shared-ts/src/signing-lanes/records.d.ts +1 -2
  886. package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +18 -42
  887. package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +1 -20
  888. package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +4 -25
  889. package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +1 -41
  890. package/dist/types/shared-ts/src/signing-lanes/rotationProtocolParsers.d.ts +6 -0
  891. package/dist/types/shared-ts/src/signing-lanes/rotationWireFields.d.ts +20 -0
  892. package/dist/types/shared-ts/src/tenant-root/tenantRootIdentifier.d.ts +3 -0
  893. package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +2 -1
  894. package/dist/types/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.d.ts +8 -35
  895. package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +8 -35
  896. package/dist/types/shared-ts/src/threshold/keyMaterialBrands.d.ts +25 -0
  897. package/dist/types/shared-ts/src/threshold/participants.d.ts +3 -9
  898. package/dist/types/shared-ts/src/threshold/secp256k1.d.ts +0 -37
  899. package/dist/types/shared-ts/src/threshold/sessionPolicy.d.ts +24 -0
  900. package/dist/types/shared-ts/src/threshold/signingRootScope.d.ts +3 -5
  901. package/dist/types/shared-ts/src/utils/addAuthMethodRegistration.d.ts +3 -4
  902. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +7 -108
  903. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +16 -3
  904. package/dist/types/shared-ts/src/utils/canonicalPrimitives.d.ts +2 -0
  905. package/dist/types/shared-ts/src/utils/digestEncoding.d.ts +9 -0
  906. package/dist/types/shared-ts/src/utils/domainIds.d.ts +1 -2
  907. package/dist/types/shared-ts/src/utils/ecdsaKeyFactsInventory.d.ts +3 -13
  908. package/dist/types/shared-ts/src/utils/eip1559TxWasmJson.d.ts +16 -0
  909. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +7 -5
  910. package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +0 -2
  911. package/dist/types/shared-ts/src/utils/errors.d.ts +0 -7
  912. package/dist/types/shared-ts/src/utils/exactKeys.d.ts +11 -0
  913. package/dist/types/shared-ts/src/utils/exactRecord.d.ts +12 -0
  914. package/dist/types/shared-ts/src/utils/failure.d.ts +12 -0
  915. package/dist/types/shared-ts/src/utils/index.d.ts +5 -2
  916. package/dist/types/shared-ts/src/utils/jsonRpc.d.ts +6 -6
  917. package/dist/types/shared-ts/src/utils/near.d.ts +2 -1
  918. package/dist/types/shared-ts/src/utils/nearRpcResults.d.ts +8 -7
  919. package/dist/types/shared-ts/src/utils/normalize.d.ts +0 -4
  920. package/dist/types/shared-ts/src/utils/registrationAuthMethodInput.d.ts +179 -0
  921. package/dist/types/shared-ts/src/utils/registrationContracts.d.ts +76 -0
  922. package/dist/types/shared-ts/src/utils/registrationEstablishedSession.d.ts +1 -2
  923. package/dist/types/shared-ts/src/utils/registrationIds.d.ts +56 -0
  924. package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +9 -514
  925. package/dist/types/shared-ts/src/utils/registrationSignerPlan.d.ts +130 -0
  926. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +24 -93
  927. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +15 -99
  928. package/dist/types/shared-ts/src/utils/routerAbEd25519YaoDigests.d.ts +38 -0
  929. package/dist/types/shared-ts/src/utils/routerAbNormalSigningIdentity.d.ts +30 -8
  930. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +10 -15
  931. package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +2 -1
  932. package/dist/types/shared-ts/src/utils/routerApiKeyAuth.d.ts +2 -0
  933. package/dist/types/shared-ts/src/utils/secureRandomId.d.ts +0 -2
  934. package/dist/types/shared-ts/src/utils/signerDomain.d.ts +3 -35
  935. package/dist/types/shared-ts/src/utils/signerSlot.d.ts +0 -4
  936. package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +10 -17
  937. package/dist/types/shared-ts/src/utils/thresholdEcdsaChainTarget.d.ts +25 -0
  938. package/dist/types/shared-ts/src/utils/validation.d.ts +10 -10
  939. package/dist/types/shared-ts/src/utils/variant.d.ts +29 -0
  940. package/dist/types/shared-ts/src/utils/variant.typecheck.d.ts +22 -0
  941. package/dist/types/shared-ts/src/utils/walletAddSignerActivation.d.ts +2 -2
  942. package/dist/types/shared-ts/src/utils/walletAuthAuthority.d.ts +1 -58
  943. package/dist/types/shared-ts/src/utils/walletAuthMethodRecord.d.ts +101 -0
  944. package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +3 -7
  945. package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +5 -4
  946. package/dist/types/shared-ts/src/utils/wireSchema.d.ts +60 -0
  947. package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +2 -1
  948. package/dist/types/shared-ts/src/wallet-recovery/index.d.ts +0 -1
  949. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeLocator.d.ts +0 -16
  950. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +2 -11
  951. package/dist/types/shared-ts/src/wallet-recovery/recoveryEnvelopes.d.ts +3 -16
  952. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.d.ts +6 -18
  953. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.d.ts +0 -2
  954. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.d.ts +1 -3
  955. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryPreparation.d.ts +15 -0
  956. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryTarget.d.ts +3 -4
  957. package/dist/types/wallet/build-paths.d.ts +1 -2
  958. package/dist/types/wallet/src/SeamsWeb/SeamsWeb.d.ts +2 -12
  959. package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfaceAssembly.d.ts +3 -13
  960. package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfacePorts.d.ts +2 -1
  961. package/dist/types/wallet/src/SeamsWeb/assembly/browserWorkerWarmupPolicy.d.ts +1 -3
  962. package/dist/types/wallet/src/SeamsWeb/assembly/createBrowserSigningStores.d.ts +2 -1
  963. package/dist/types/wallet/src/SeamsWeb/assembly/initializeBrowserSigningRuntime.d.ts +2 -1
  964. package/dist/types/wallet/src/SeamsWeb/assembly/preconnectWalletAssets.d.ts +2 -3
  965. package/dist/types/wallet/src/SeamsWeb/operations/auth/login.d.ts +13 -88
  966. package/dist/types/wallet/src/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.d.ts +11 -0
  967. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletAuth.d.ts +4 -3
  968. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.d.ts +2 -18
  969. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletUnlockSubject.d.ts +7 -24
  970. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.d.ts +5 -6
  971. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.d.ts +1 -1
  972. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/challenge.d.ts +0 -13
  973. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +0 -1
  974. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.d.ts +2 -1
  975. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/registrationAuthority.d.ts +2 -2
  976. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.d.ts +1 -2
  977. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/walletActivation.d.ts +3 -4
  978. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.d.ts +20 -0
  979. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/localPasskeyProjection.d.ts +4 -42
  980. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/registrationAuthority.d.ts +2 -1
  981. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/revokeAuthMethod.d.ts +1 -9
  982. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/sourcePasskeyProof.d.ts +2 -7
  983. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.d.ts +2 -23
  984. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingComposition.d.ts +2 -21
  985. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.d.ts +2 -2
  986. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingHttpTransport.d.ts +4 -17
  987. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.d.ts +2 -1
  988. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingPorts.d.ts +10 -16
  989. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingResume.d.ts +4 -3
  990. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.d.ts +2 -14
  991. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDevice.d.ts +3 -91
  992. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceFlow.d.ts +88 -0
  993. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceFlowSupport.d.ts +53 -0
  994. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceTargetActivation.d.ts +149 -0
  995. package/dist/types/wallet/src/SeamsWeb/operations/devices/scanDevice.d.ts +2 -1
  996. package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostComposition.d.ts +4 -9
  997. package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostOwnerAuthority.d.ts +9 -5
  998. package/dist/types/wallet/src/SeamsWeb/operations/near/actions.d.ts +0 -46
  999. package/dist/types/wallet/src/SeamsWeb/operations/near/delegateAction.d.ts +2 -1
  1000. package/dist/types/wallet/src/SeamsWeb/operations/near/signingEventHelpers.d.ts +2 -1
  1001. package/dist/types/wallet/src/SeamsWeb/operations/recovery/accountSync.d.ts +2 -1
  1002. package/dist/types/wallet/src/SeamsWeb/operations/recovery/recoveryWalletBinding.d.ts +1 -2
  1003. package/dist/types/wallet/src/SeamsWeb/operations/recovery/syncAccount.d.ts +1 -77
  1004. package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecovery.d.ts +8 -7
  1005. package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecoveryCodeBackup.d.ts +1 -1
  1006. package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecoveryCommit.d.ts +0 -2
  1007. package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecoveryRotation.d.ts +0 -8
  1008. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.d.ts +1 -1
  1009. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.d.ts +2 -2
  1010. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +8 -10
  1011. package/dist/types/wallet/src/SeamsWeb/operations/registration/registration.d.ts +10 -233
  1012. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +18 -5
  1013. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +2 -6
  1014. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationStrictEcdsa.d.ts +1 -7
  1015. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTerminalCommit.d.ts +2 -2
  1016. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +49 -275
  1017. package/dist/types/wallet/src/SeamsWeb/operations/session/thresholdEcdsaProvisioning.d.ts +3 -2
  1018. package/dist/types/wallet/src/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.d.ts +2 -2
  1019. package/dist/types/wallet/src/SeamsWeb/publicApi/awaitNearReady.d.ts +0 -1
  1020. package/dist/types/wallet/src/SeamsWeb/publicApi/capabilitySelection.d.ts +1 -1
  1021. package/dist/types/wallet/src/SeamsWeb/publicApi/currentWallet.d.ts +2 -1
  1022. package/dist/types/wallet/src/SeamsWeb/publicApi/devices.d.ts +1 -1
  1023. package/dist/types/wallet/src/SeamsWeb/publicApi/keyExport.d.ts +1 -4
  1024. package/dist/types/wallet/src/SeamsWeb/publicApi/near.d.ts +0 -8
  1025. package/dist/types/wallet/src/SeamsWeb/publicApi/transactionReview.d.ts +2 -1
  1026. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +29 -36
  1027. package/dist/types/wallet/src/SeamsWeb/registrationIntent.typecheck.d.ts +8 -0
  1028. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +14 -61
  1029. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +2 -4
  1030. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/overlay/overlay-controller.d.ts +3 -3
  1031. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/overlay/overlay-styles.d.ts +3 -3
  1032. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.d.ts +0 -13
  1033. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +3 -4
  1034. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/domain.d.ts +8 -39
  1035. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/geometry.d.ts +3 -7
  1036. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/renderer.d.ts +2 -2
  1037. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/IframeTransport.d.ts +3 -7
  1038. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/iframe-transport-dom.d.ts +2 -3
  1039. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/iframe-transport-handshake.d.ts +1 -11
  1040. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/webauthn-bridge.d.ts +0 -6
  1041. package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +2 -1
  1042. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/controller.d.ts +2 -3
  1043. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +2 -8
  1044. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/passkey.d.ts +3 -3
  1045. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/session.d.ts +2 -4
  1046. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/bootstrap.d.ts +0 -4
  1047. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/canonicalSignerErrorCode.d.ts +2 -7
  1048. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/context.d.ts +0 -5
  1049. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/authMenu.d.ts +0 -1
  1050. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/walletIframeHandler.types.d.ts +0 -13
  1051. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/hostedWalletSeamsSession.d.ts +1 -2
  1052. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +10 -10
  1053. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.d.ts +2 -1
  1054. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeLoader.d.ts +2 -1
  1055. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +3 -3
  1056. package/dist/types/wallet/src/SeamsWeb/walletIframe/sanitization.d.ts +0 -7
  1057. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionReconciliation.d.ts +3 -2
  1058. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionState.d.ts +2 -2
  1059. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +57 -72
  1060. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/transactionReview.d.ts +3 -2
  1061. package/dist/types/wallet/src/core/accountData/near/accountProjection.d.ts +4 -49
  1062. package/dist/types/wallet/src/core/accountData/near/keyMaterial.d.ts +4 -21
  1063. package/dist/types/wallet/src/core/accountData/near/profileId.d.ts +2 -2
  1064. package/dist/types/wallet/src/core/browser/walletIframe/events.d.ts +0 -1
  1065. package/dist/types/wallet/src/core/config/chains.d.ts +0 -2
  1066. package/dist/types/wallet/src/core/config/configBuilder.d.ts +0 -4
  1067. package/dist/types/wallet/src/core/config/configHelpers.d.ts +1 -21
  1068. package/dist/types/wallet/src/core/config/defaultConfigs.d.ts +1 -4
  1069. package/dist/types/wallet/src/core/config/registrationConfig.typecheck.d.ts +1 -2
  1070. package/dist/types/wallet/src/core/indexedDB/accountKeyMaterial.d.ts +5 -4
  1071. package/dist/types/wallet/src/core/indexedDB/accountSignerLifecycle.d.ts +1 -1
  1072. package/dist/types/wallet/src/core/indexedDB/index.d.ts +1 -5
  1073. package/dist/types/wallet/src/core/indexedDB/keyMaterialEnvelope.d.ts +1 -2
  1074. package/dist/types/wallet/src/core/indexedDB/linkedAuthoritySignerMaterial.d.ts +3 -3
  1075. package/dist/types/wallet/src/core/indexedDB/normalization.d.ts +0 -3
  1076. package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +7 -26
  1077. package/dist/types/wallet/src/core/indexedDB/pendingWalletRegistrationCommit.d.ts +5 -8
  1078. package/dist/types/wallet/src/core/indexedDB/profileAccountProjection.d.ts +3 -14
  1079. package/dist/types/wallet/src/core/indexedDB/schemaNames.d.ts +2 -1
  1080. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.d.ts +172 -0
  1081. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.d.ts +155 -0
  1082. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.d.ts +15 -256
  1083. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +101 -0
  1084. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/laneHolderMaterialStore.d.ts +0 -1
  1085. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/manager.d.ts +2 -1
  1086. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.d.ts +3 -2
  1087. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +49 -44
  1088. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/signingSessionSeals.d.ts +2 -1
  1089. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.d.ts +47 -0
  1090. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.d.ts +5 -8
  1091. package/dist/types/wallet/src/core/indexedDB/unifiedIndexedDBManager.d.ts +7 -4
  1092. package/dist/types/wallet/src/core/platform/ecdsaRoleLocalRecords.d.ts +10 -78
  1093. package/dist/types/wallet/src/core/platform/http.d.ts +3 -5
  1094. package/dist/types/wallet/src/core/platform/ports.d.ts +3 -7
  1095. package/dist/types/wallet/src/core/platform/secretSources.d.ts +1 -1
  1096. package/dist/types/wallet/src/core/platform/signerCoreCommandAdapters.typecheck.d.ts +25 -0
  1097. package/dist/types/wallet/src/core/rpcClients/evm/EvmClient.d.ts +1 -2
  1098. package/dist/types/wallet/src/core/rpcClients/evm/nonceBackend.d.ts +6 -22
  1099. package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +13 -133
  1100. package/dist/types/wallet/src/core/rpcClients/near/NearRpcError.d.ts +1 -2
  1101. package/dist/types/wallet/src/core/rpcClients/near/rpcCalls.d.ts +5 -31
  1102. package/dist/types/wallet/src/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.d.ts +2 -12
  1103. package/dist/types/wallet/src/core/rpcClients/relayer/passkeyCustodyEnvelope.d.ts +4 -3
  1104. package/dist/types/wallet/src/core/rpcClients/relayer/registrationSignerSetRequest.d.ts +3 -2
  1105. package/dist/types/wallet/src/core/rpcClients/relayer/relayerHttp.d.ts +2 -2
  1106. package/dist/types/wallet/src/core/rpcClients/relayer/routerAbNormalSigning.d.ts +10 -39
  1107. package/dist/types/wallet/src/core/rpcClients/relayer/sealedRefreshCapabilities.d.ts +0 -14
  1108. package/dist/types/wallet/src/core/rpcClients/relayer/thresholdEcdsa.d.ts +4 -72
  1109. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryFinalize.d.ts +2 -5
  1110. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryGoogleEmailOtp.d.ts +4 -7
  1111. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryPrepare.d.ts +5 -17
  1112. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryRotate.d.ts +3 -19
  1113. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +32 -106
  1114. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistrationTerminalResponse.d.ts +2 -2
  1115. package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +2 -10
  1116. package/dist/types/wallet/src/core/runtime/runtime.types.d.ts +7 -6
  1117. package/dist/types/wallet/src/core/signingEngine/assembly/createManagers.d.ts +2 -1
  1118. package/dist/types/wallet/src/core/signingEngine/assembly/ports/warmSigning.d.ts +1 -1
  1119. package/dist/types/wallet/src/core/signingEngine/assembly/warmup.d.ts +2 -1
  1120. package/dist/types/wallet/src/core/signingEngine/chains/evm/bytes.d.ts +0 -2
  1121. package/dist/types/wallet/src/core/signingEngine/chains/evm/display/evmTx.d.ts +2 -1
  1122. package/dist/types/wallet/src/core/signingEngine/chains/evm/display/functionSelectors.d.ts +0 -1
  1123. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmAdapter.d.ts +2 -1
  1124. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmCryptoWasm.d.ts +0 -9
  1125. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmSigning.types.d.ts +2 -2
  1126. package/dist/types/wallet/src/core/signingEngine/chains/near/display.d.ts +4 -2
  1127. package/dist/types/wallet/src/core/signingEngine/chains/near/payloads.d.ts +5 -12
  1128. package/dist/types/wallet/src/core/signingEngine/chains/tempo/display.d.ts +2 -1
  1129. package/dist/types/wallet/src/core/signingEngine/chains/tempo/tempoAdapter.d.ts +2 -1
  1130. package/dist/types/wallet/src/core/signingEngine/chains/tempo/tempoSigning.types.d.ts +4 -7
  1131. package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaDerivationExport.d.ts +6 -104
  1132. package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaExportFlow.d.ts +4 -8
  1133. package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaExportMaterial.d.ts +1 -17
  1134. package/dist/types/wallet/src/core/signingEngine/flows/recovery/ed25519YaoExportFlow.d.ts +1 -1
  1135. package/dist/types/wallet/src/core/signingEngine/flows/recovery/exportKeypairOperation.d.ts +1 -1
  1136. package/dist/types/wallet/src/core/signingEngine/flows/recovery/keyExportConfirmation.d.ts +2 -5
  1137. package/dist/types/wallet/src/core/signingEngine/flows/recovery/keyExportFlow.d.ts +8 -7
  1138. package/dist/types/wallet/src/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.d.ts +3 -6
  1139. package/dist/types/wallet/src/core/signingEngine/flows/recovery/stepUpAuthorization.d.ts +3 -3
  1140. package/dist/types/wallet/src/core/signingEngine/flows/registration/accountLifecycle.d.ts +10 -30
  1141. package/dist/types/wallet/src/core/signingEngine/flows/registration/nearProvisioningRegistry.d.ts +2 -20
  1142. package/dist/types/wallet/src/core/signingEngine/flows/registration/services/ecdsaRegistrationSessions.d.ts +2 -1
  1143. package/dist/types/wallet/src/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.d.ts +5 -10
  1144. package/dist/types/wallet/src/core/signingEngine/flows/shared/signingConfirmation.d.ts +0 -15
  1145. package/dist/types/wallet/src/core/signingEngine/flows/shared/signingStateMachine.d.ts +7 -50
  1146. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/authPlanning.d.ts +1 -1
  1147. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/ecdsaSelection.d.ts +2 -6
  1148. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.d.ts +2 -2
  1149. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/errors.d.ts +3 -15
  1150. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/executorThresholdState.d.ts +0 -4
  1151. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/freshAuthRetryPolicy.d.ts +5 -6
  1152. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/freshWalletSessionRetry.d.ts +2 -1
  1153. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/nonceResolution.d.ts +3 -5
  1154. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/preparedSigning.d.ts +5 -14
  1155. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.d.ts +5 -13
  1156. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/requireEvmFamilyStepUpAuth.d.ts +7 -7
  1157. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signatureUses.d.ts +0 -2
  1158. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signerLoader.d.ts +5 -4
  1159. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.d.ts +1 -0
  1160. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +2 -3
  1161. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlow.d.ts +12 -12
  1162. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.d.ts +11 -46
  1163. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/stepUpAuthorization.d.ts +4 -22
  1164. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/thresholdAdmission.d.ts +2 -1
  1165. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/types.d.ts +2 -1
  1166. package/dist/types/wallet/src/core/signingEngine/flows/signNear/implicitAccountFunding.d.ts +1 -1
  1167. package/dist/types/wallet/src/core/signingEngine/flows/signNear/requireNearStepUpAuth.d.ts +3 -3
  1168. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoCapabilityResolution.d.ts +4 -11
  1169. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.d.ts +2 -2
  1170. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.d.ts +3 -5
  1171. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signatureOnlySigning.d.ts +126 -0
  1172. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signingMaterials.d.ts +2 -1
  1173. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.d.ts +3 -3
  1174. package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNear.d.ts +6 -5
  1175. package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNep413.d.ts +3 -7
  1176. package/dist/types/wallet/src/core/signingEngine/flows/signNear/stepUpAuthorization.d.ts +1 -6
  1177. package/dist/types/wallet/src/core/signingEngine/interfaces/accountAuthMetadata.d.ts +0 -1
  1178. package/dist/types/wallet/src/core/signingEngine/interfaces/display.d.ts +7 -6
  1179. package/dist/types/wallet/src/core/signingEngine/interfaces/ecdsaChainTarget.d.ts +1 -1
  1180. package/dist/types/wallet/src/core/signingEngine/interfaces/near.d.ts +8 -48
  1181. package/dist/types/wallet/src/core/signingEngine/interfaces/operationDeps.d.ts +5 -19
  1182. package/dist/types/wallet/src/core/signingEngine/interfaces/operationStepUpPreparation.d.ts +4 -6
  1183. package/dist/types/wallet/src/core/signingEngine/interfaces/signing.d.ts +8 -17
  1184. package/dist/types/wallet/src/core/signingEngine/nonce/evmNonceLane.d.ts +2 -2
  1185. package/dist/types/wallet/src/core/signingEngine/nonce/nearNonceLane.d.ts +3 -28
  1186. package/dist/types/wallet/src/core/signingEngine/nonce/nearNonceLaneIdentity.d.ts +0 -1
  1187. package/dist/types/wallet/src/core/signingEngine/nonce/nearTransactionReadiness.d.ts +5 -6
  1188. package/dist/types/wallet/src/core/signingEngine/nonce/nonceCoordinationRecordBoundary.d.ts +0 -1
  1189. package/dist/types/wallet/src/core/signingEngine/nonce/nonceDiagnostics.d.ts +3 -4
  1190. package/dist/types/wallet/src/core/signingEngine/nonce/nonceLaneKeys.d.ts +1 -3
  1191. package/dist/types/wallet/src/core/signingEngine/nonce/nonceLeaseState.d.ts +2 -1
  1192. package/dist/types/wallet/src/core/signingEngine/nonce/nonceTypes.d.ts +15 -15
  1193. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/clientCeremony.d.ts +6 -23
  1194. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/httpRequest.d.ts +0 -1
  1195. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.d.ts +7 -17
  1196. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.d.ts +1 -7
  1197. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignatureRefillProgress.d.ts +2 -1
  1198. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/registrationPendingFinalization.d.ts +1 -1
  1199. package/dist/types/wallet/src/core/signingEngine/session/SigningSessionCoordinator.d.ts +5 -8
  1200. package/dist/types/wallet/src/core/signingEngine/session/authority/authorityOperationResolver.d.ts +1 -1
  1201. package/dist/types/wallet/src/core/signingEngine/session/availability/availableSigningLanes.d.ts +14 -37
  1202. package/dist/types/wallet/src/core/signingEngine/session/availability/clientSessionExpiryInvalidator.d.ts +3 -2
  1203. package/dist/types/wallet/src/core/signingEngine/session/availability/persistedAvailableSigningLanes.d.ts +4 -3
  1204. package/dist/types/wallet/src/core/signingEngine/session/availability/readiness.d.ts +6 -31
  1205. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.d.ts +37 -14
  1206. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/challengeDelivery.d.ts +0 -5
  1207. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaBootstrapCommit.d.ts +1 -21
  1208. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaLogin.d.ts +6 -61
  1209. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaPublication.d.ts +7 -26
  1210. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaRecovery.d.ts +3 -19
  1211. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.d.ts +3 -2
  1212. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ed25519ExportContext.d.ts +6 -12
  1213. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecoveryRuntime.d.ts +0 -1
  1214. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ports.d.ts +2 -3
  1215. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/publicTypes.d.ts +4 -6
  1216. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/routePlan.d.ts +4 -15
  1217. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/runtimeConfig.d.ts +2 -1
  1218. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/sealedRefreshPolicy.d.ts +4 -17
  1219. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/sealedRestoreOrchestrator.d.ts +2 -1
  1220. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/sealedSessionRegistry.d.ts +2 -1
  1221. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/secretEscrow.d.ts +4 -11
  1222. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/walletUnlock.d.ts +6 -15
  1223. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/warmSessionRuntime.d.ts +2 -1
  1224. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/workerRequests.d.ts +1 -1
  1225. package/dist/types/wallet/src/core/signingEngine/session/holderShares/holderShareHandle.d.ts +0 -13
  1226. package/dist/types/wallet/src/core/signingEngine/session/identity/clientSessionPersistenceState.d.ts +6 -7
  1227. package/dist/types/wallet/src/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.d.ts +0 -3
  1228. package/dist/types/wallet/src/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.d.ts +19 -35
  1229. package/dist/types/wallet/src/core/signingEngine/session/identity/exactSigningLaneIdentity.d.ts +10 -27
  1230. package/dist/types/wallet/src/core/signingEngine/session/identity/exactWalletSessionCredential.d.ts +11 -11
  1231. package/dist/types/wallet/src/core/signingEngine/session/identity/exactWalletSessionReader.d.ts +3 -6
  1232. package/dist/types/wallet/src/core/signingEngine/session/identity/laneIdentity.d.ts +13 -20
  1233. package/dist/types/wallet/src/core/signingEngine/session/identity/ownerLaneScope.d.ts +9 -17
  1234. package/dist/types/wallet/src/core/signingEngine/session/identity/selectLane.d.ts +12 -28
  1235. package/dist/types/wallet/src/core/signingEngine/session/identity/signingLaneAuthBinding.d.ts +7 -8
  1236. package/dist/types/wallet/src/core/signingEngine/session/identity/walletUnlockSubject.d.ts +1 -1
  1237. package/dist/types/wallet/src/core/signingEngine/session/keyMaterialBrands.d.ts +3 -27
  1238. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/activationCoordinator.d.ts +0 -1
  1239. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/laneMaterialInvalidation.d.ts +2 -37
  1240. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/recipientPreparation.d.ts +4 -16
  1241. package/dist/types/wallet/src/core/signingEngine/session/lanes/walletExecutionLaneHydration.d.ts +5 -42
  1242. package/dist/types/wallet/src/core/signingEngine/session/lifecycle/canonicalWalletSessionStatus.d.ts +2 -1
  1243. package/dist/types/wallet/src/core/signingEngine/session/lifecycle/walletSessionStatus.d.ts +2 -6
  1244. package/dist/types/wallet/src/core/signingEngine/session/material/activeEcdsaCapabilityRuntime.d.ts +8 -12
  1245. package/dist/types/wallet/src/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.d.ts +7 -10
  1246. package/dist/types/wallet/src/core/signingEngine/session/material/capabilityPreparationResult.d.ts +3 -22
  1247. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaCapabilityHydration.d.ts +4 -5
  1248. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaCapabilityManifest.d.ts +5 -5
  1249. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.d.ts +2 -2
  1250. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSealedRuntime.d.ts +6 -35
  1251. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +10 -9
  1252. package/dist/types/wallet/src/core/signingEngine/session/material/mpcCapabilityHydration.d.ts +4 -5
  1253. package/dist/types/wallet/src/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.d.ts +9 -13
  1254. package/dist/types/wallet/src/core/signingEngine/session/material/walletSigningStateFailure.d.ts +9 -8
  1255. package/dist/types/wallet/src/core/signingEngine/session/operationState/authorizationAdmission.d.ts +7 -16
  1256. package/dist/types/wallet/src/core/signingEngine/session/operationState/lanes.d.ts +13 -16
  1257. package/dist/types/wallet/src/core/signingEngine/session/operationState/preparedOperation.d.ts +2 -1
  1258. package/dist/types/wallet/src/core/signingEngine/session/operationState/trace.d.ts +5 -10
  1259. package/dist/types/wallet/src/core/signingEngine/session/operationState/transactionState.d.ts +5 -26
  1260. package/dist/types/wallet/src/core/signingEngine/session/operationState/types.d.ts +18 -36
  1261. package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaBootstrap.d.ts +7 -8
  1262. package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaSessionProvision.d.ts +6 -23
  1263. package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.d.ts +4 -15
  1264. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519Provisioner.d.ts +2 -1
  1265. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519SessionProvision.d.ts +1 -1
  1266. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519SessionProvision.typecheck.d.ts +7 -1
  1267. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.d.ts +10 -94
  1268. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoSealedSession.d.ts +3 -2
  1269. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.d.ts +3 -13
  1270. package/dist/types/wallet/src/core/signingEngine/session/passkey/passkeyCustodySessionCache.d.ts +0 -40
  1271. package/dist/types/wallet/src/core/signingEngine/session/passkey/prfCache.d.ts +2 -1
  1272. package/dist/types/wallet/src/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.d.ts +12 -30
  1273. package/dist/types/wallet/src/core/signingEngine/session/passkey/warmSessionMaterialWriter.d.ts +1 -1
  1274. package/dist/types/wallet/src/core/signingEngine/session/persistence/durableSealedSessionCommands.d.ts +5 -7
  1275. package/dist/types/wallet/src/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.d.ts +0 -1
  1276. package/dist/types/wallet/src/core/signingEngine/session/persistence/ecdsaSealedRecordKey.d.ts +2 -1
  1277. package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionRecords.d.ts +212 -0
  1278. package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionStore.d.ts +4 -199
  1279. package/dist/types/wallet/src/core/signingEngine/session/postconditions/runtimePostconditions.d.ts +6 -35
  1280. package/dist/types/wallet/src/core/signingEngine/session/public.d.ts +1 -1
  1281. package/dist/types/wallet/src/core/signingEngine/session/routerAbSigningWalletSession.d.ts +4 -3
  1282. package/dist/types/wallet/src/core/signingEngine/session/sealedRecovery/recoveryRecord.d.ts +2 -2
  1283. package/dist/types/wallet/src/core/signingEngine/session/sealedRecovery/sealedRecovery.types.d.ts +3 -4
  1284. package/dist/types/wallet/src/core/signingEngine/session/userPreferences.d.ts +2 -1
  1285. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReader.d.ts +3 -6
  1286. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReaderCore.d.ts +7 -19
  1287. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/clearVolatileWarmSigningMaterial.d.ts +2 -1
  1288. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.d.ts +2 -1
  1289. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.d.ts +6 -40
  1290. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.typecheck.d.ts +4 -0
  1291. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.d.ts +8 -61
  1292. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/persistencePorts.d.ts +4 -73
  1293. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/readModel.d.ts +4 -12
  1294. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.d.ts +4 -3
  1295. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.d.ts +2 -1
  1296. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/transitions.d.ts +3 -2
  1297. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/types.d.ts +5 -36
  1298. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/types.typecheck.d.ts +10 -1
  1299. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.d.ts +1 -2
  1300. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmCommon.d.ts +3 -2
  1301. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmTypes.d.ts +17 -53
  1302. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/confirmOperation.d.ts +4 -5
  1303. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/methodRunners.d.ts +4 -3
  1304. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/methodSelection.d.ts +5 -10
  1305. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.d.ts +5 -8
  1306. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/exportAuthorization.d.ts +7 -6
  1307. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/signingPrompt.d.ts +2 -2
  1308. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.d.ts +5 -8
  1309. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.d.ts +6 -15
  1310. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/requireStepUpAuth.d.ts +2 -2
  1311. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/types.d.ts +13 -28
  1312. package/dist/types/wallet/src/core/signingEngine/threshold/commitQueueShared.d.ts +10 -10
  1313. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.d.ts +5 -17
  1314. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ecdsaLaneWasm.d.ts +0 -9
  1315. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.d.ts +5 -31
  1316. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/webauthn.d.ts +1 -46
  1317. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/activation.d.ts +2 -9
  1318. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/bootstrapSession.d.ts +3 -4
  1319. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/operationStepUp.d.ts +2 -1
  1320. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/postRegistrationSessionActivation.d.ts +5 -4
  1321. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/signingQueue.d.ts +2 -11
  1322. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/commitQueue.d.ts +2 -10
  1323. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/connectSession.d.ts +1 -1
  1324. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/walletSession.d.ts +7 -37
  1325. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.d.ts +2 -1
  1326. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +17 -49
  1327. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoPageLifecycleOwner.d.ts +2 -1
  1328. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.d.ts +5 -19
  1329. package/dist/types/wallet/src/core/signingEngine/threshold/sessionPolicy.d.ts +2 -53
  1330. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.d.ts +1 -1
  1331. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/adapters/request.d.ts +1 -5
  1332. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/signing.d.ts +1 -7
  1333. package/dist/types/wallet/src/core/signingEngine/uiConfirm/nearFundingNotice.d.ts +2 -5
  1334. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirm-surface-resize.d.ts +3 -32
  1335. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirm-ui-types.d.ts +2 -0
  1336. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/confirmation-model.d.ts +3 -2
  1337. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/export-private-key-reveal.d.ts +0 -1
  1338. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.d.ts +2 -1
  1339. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.d.ts +2 -1
  1340. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.d.ts +5 -9
  1341. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PadlockIcon.d.ts +2 -1
  1342. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.d.ts +1 -0
  1343. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.d.ts +11 -2
  1344. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReview.d.ts +4 -21
  1345. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionTree.d.ts +1 -1
  1346. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.d.ts +2 -1
  1347. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/email-otp-session.d.ts +2 -1
  1348. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.d.ts +2 -2
  1349. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/seamsWordmarkPaths.d.ts +0 -2
  1350. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/surface-resize-events.d.ts +2 -2
  1351. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/fallback.d.ts +0 -2
  1352. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/types.d.ts +2 -1
  1353. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/tree.d.ts +3 -3
  1354. package/dist/types/wallet/src/core/signingEngine/uiConfirm/uiConfirm.types.d.ts +9 -9
  1355. package/dist/types/wallet/src/core/signingEngine/walletCustody/activateEd25519Capability.d.ts +2 -1
  1356. package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.d.ts +3 -4
  1357. package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyDriver.d.ts +1 -1
  1358. package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyStepRunner.d.ts +4 -3
  1359. package/dist/types/wallet/src/core/signingEngine/walletCustody/ed25519SeedMaterial.d.ts +1 -1
  1360. package/dist/types/wallet/src/core/signingEngine/walletCustody/emailOtpLink.d.ts +2 -1
  1361. package/dist/types/wallet/src/core/signingEngine/walletCustody/joinCustodyWire.d.ts +2 -1
  1362. package/dist/types/wallet/src/core/signingEngine/walletCustody/openCustodyCache.d.ts +6 -5
  1363. package/dist/types/wallet/src/core/signingEngine/walletCustody/passkeyLink.d.ts +1 -52
  1364. package/dist/types/wallet/src/core/signingEngine/walletCustody/recoveryReplacementEnvelope.d.ts +0 -5
  1365. package/dist/types/wallet/src/core/signingEngine/walletCustody/registrationCeremony.d.ts +16 -26
  1366. package/dist/types/wallet/src/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.d.ts +22 -12
  1367. package/dist/types/wallet/src/core/signingEngine/walletCustody/walletRecoveryEd25519.d.ts +1 -1
  1368. package/dist/types/wallet/src/core/signingEngine/walletCustody/walletRecoveryRotation.d.ts +3 -2
  1369. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/collectAuthenticationCredentialForChallengeB64u.d.ts +1 -2
  1370. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/credentialExtensions.d.ts +2 -5
  1371. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/helpers.d.ts +0 -9
  1372. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/fallbacks/safari-fallbacks.d.ts +4 -9
  1373. package/dist/types/wallet/src/core/signingEngine/workerManager/deviceLinkingPorts.d.ts +3 -12
  1374. package/dist/types/wallet/src/core/signingEngine/workerManager/deviceLinkingSourceContribution.d.ts +17 -9
  1375. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaClientWorkerChannels.d.ts +7 -7
  1376. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignLifecycle.d.ts +5 -16
  1377. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +5 -5
  1378. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +78 -81
  1379. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ecdsaTargetShareHpke.d.ts +7 -0
  1380. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ordinaryMaterialState.d.ts +50 -0
  1381. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/requests.d.ts +89 -0
  1382. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key.worker.d.ts +1 -10
  1383. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/ecdsaLaneHolderWorkerRuntime.d.ts +2 -2
  1384. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/crypto.d.ts +57 -0
  1385. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/custodyRestore.d.ts +89 -0
  1386. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/dispatch.d.ts +4 -0
  1387. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/ed25519YaoExport.d.ts +45 -0
  1388. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/enrollment.d.ts +47 -0
  1389. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/fetch.d.ts +2 -1
  1390. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/materialParsing.d.ts +45 -0
  1391. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/operationRequestParsing.d.ts +7 -0
  1392. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/otpVerification.d.ts +53 -0
  1393. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/passkeyCustodyLink.d.ts +18 -0
  1394. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/payloadParsing.d.ts +48 -0
  1395. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/recovery.d.ts +9 -0
  1396. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/requestEnvelope.d.ts +11 -0
  1397. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/sessionState.d.ts +74 -0
  1398. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/unlock.d.ts +133 -0
  1399. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/opaqueEcdsaPresignAuthority.d.ts +6 -6
  1400. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/shamir3pass/clientSealPreparation.d.ts +2 -2
  1401. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/shamir3pass/runtime.d.ts +2 -1
  1402. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/workerErrorPayload.d.ts +16 -0
  1403. package/dist/types/wallet/src/core/types/accountIds.d.ts +2 -1
  1404. package/dist/types/wallet/src/core/types/authenticatorOptions.d.ts +0 -2
  1405. package/dist/types/wallet/src/core/types/confirmationConfig.d.ts +4 -4
  1406. package/dist/types/wallet/src/core/types/ecdsaSignerProvisioningDefaults.d.ts +2 -1
  1407. package/dist/types/wallet/src/core/types/errors.d.ts +2 -1
  1408. package/dist/types/wallet/src/core/types/linkDevice.d.ts +5 -21
  1409. package/dist/types/wallet/src/core/types/rpc.d.ts +0 -30
  1410. package/dist/types/wallet/src/core/types/sdkPublicResults.d.ts +5 -18
  1411. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +15 -32
  1412. package/dist/types/wallet/src/core/types/seams.d.ts +50 -124
  1413. package/dist/types/wallet/src/core/types/secure-confirm-worker.d.ts +3 -5
  1414. package/dist/types/wallet/src/core/types/signer-worker.d.ts +13 -70
  1415. package/dist/types/wallet/src/core/types/webauthn.d.ts +3 -12
  1416. package/dist/types/wallet/src/core/walletRuntimePaths/base.d.ts +0 -28
  1417. package/dist/types/wallet/src/core/walletRuntimePaths/wasm-loader.d.ts +2 -1
  1418. package/dist/types/wallet/src/core/walletRuntimePaths/workers.d.ts +0 -11
  1419. package/dist/types/wallet/src/externalEvm/boundary.d.ts +2 -2
  1420. package/dist/types/wallet/src/externalEvm/types.d.ts +5 -12
  1421. package/dist/types/wallet/src/index.d.ts +3 -1
  1422. package/dist/types/wallet/src/plugins/plugin-utils.d.ts +1 -3
  1423. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuDialog.d.ts +21 -0
  1424. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountsSection.d.ts +2 -1
  1425. package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsModal.d.ts +1 -1
  1426. package/dist/types/wallet/src/react/components/AccountMenuButton/ExportKeysSection.d.ts +2 -1
  1427. package/dist/types/wallet/src/react/components/AccountMenuButton/LinkedDevicesModal.d.ts +1 -1
  1428. package/dist/types/wallet/src/react/components/AccountMenuButton/SegmentedControl.d.ts +2 -2
  1429. package/dist/types/wallet/src/react/components/AccountMenuButton/UserAccountButton.d.ts +0 -7
  1430. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/GlobeIcon.d.ts +1 -4
  1431. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/KeyIcon.d.ts +1 -4
  1432. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LaptopIcon.d.ts +1 -4
  1433. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LinkIcon.d.ts +1 -4
  1434. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockIcon.d.ts +1 -4
  1435. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MailIcon.d.ts +1 -4
  1436. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MoonIcon.d.ts +1 -5
  1437. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/RecoveryCodesIcon.d.ts +1 -4
  1438. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ScanIcon.d.ts +1 -4
  1439. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SlidersIcon.d.ts +1 -4
  1440. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SmartphoneIcon.d.ts +1 -4
  1441. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SunIcon.d.ts +1 -5
  1442. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/lucideIcon.d.ts +5 -0
  1443. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/strokeIcon.d.ts +10 -0
  1444. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +1 -1
  1445. package/dist/types/wallet/src/react/components/QRCodeIcon.d.ts +1 -1
  1446. package/dist/types/wallet/src/react/components/theme/ThemeProvider.d.ts +0 -9
  1447. package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +2 -205
  1448. package/dist/types/wallet/src/react/context/reactLoginStateBuilders.d.ts +2 -9
  1449. package/dist/types/wallet/src/react/hooks/useAccountInput.d.ts +3 -24
  1450. package/dist/types/wallet/src/react/index.d.ts +3 -1
  1451. package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +108 -8
  1452. package/dist/types/wallet/src/react/transactionReview/controller.d.ts +3 -47
  1453. package/dist/types/wallet/src/react/types.d.ts +2 -2
  1454. package/dist/types/wallet/src/utils/deviceDetection.d.ts +2 -58
  1455. package/dist/types/wallet/src/utils/intentDigest.d.ts +1 -6
  1456. package/dist/types/wallet/src/utils/menuItemBlink.d.ts +9 -0
  1457. package/dist/types/wallet/src/utils/qrScanner.d.ts +4 -38
  1458. package/dist/workers/device-linking-key.worker.js +5638 -5817
  1459. package/dist/workers/ecdsa-derivation-client.worker.js +1663 -2128
  1460. package/dist/workers/ecdsa-online-client.worker.js +9 -117
  1461. package/dist/workers/ecdsa-presign-client.worker.js +102 -220
  1462. package/dist/workers/email-otp.worker.js +8966 -9300
  1463. package/dist/workers/evm-crypto.worker.js +8 -6
  1464. package/dist/workers/evm_crypto.wasm +0 -0
  1465. package/dist/workers/evm_crypto_bg.wasm +0 -0
  1466. package/dist/workers/near-signer.worker.js +4 -4
  1467. package/dist/workers/near_signer.wasm +0 -0
  1468. package/dist/workers/passkey-confirm.worker.js +6 -3
  1469. package/dist/workers/passkey-mpc-export.worker.js +95 -101
  1470. package/dist/workers/passkey-mpc-session.worker.js +205 -202
  1471. package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  1472. package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  1473. package/dist/workers/tempo-signer.worker.js +8 -6
  1474. package/dist/workers/tempo_signer.wasm +0 -0
  1475. package/dist/workers/tempo_signer_bg.wasm +0 -0
  1476. package/dist/workers/wallet-custody-ceremony.worker.js +230 -222
  1477. package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
  1478. package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
  1479. package/package.json +1 -1
  1480. package/dist/esm/components/AccountMenuButton/HaloBorder/HaloBorder.css +0 -101
  1481. package/dist/esm/core/signingEngine/session/emailOtp/coordinatorRuntime.js +0 -133
  1482. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/evm.js +0 -12
  1483. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/near.js +0 -12
  1484. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/tempo.js +0 -12
  1485. package/dist/esm/react/components/AccountMenuButton/HaloBorder/HaloBorder.css +0 -101
  1486. package/dist/esm/react/core/signingEngine/session/emailOtp/coordinatorRuntime.js +0 -133
  1487. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/renderers/evm.js +0 -12
  1488. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/renderers/near.js +0 -12
  1489. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/renderers/tempo.js +0 -12
  1490. package/dist/esm/react/core/types/rpc.js +0 -9
  1491. package/dist/esm/react/shared-ts/src/signing-lanes/linkedEcdsaScope.js +0 -1
  1492. package/dist/esm/react/shared-ts/src/utils/paillier.js +0 -3
  1493. package/dist/esm/sdk/device-linking-DpVGjSeq.js +0 -221
  1494. package/dist/esm/sdk/ecdsaPresignLifecycle-CnSnzoRJ.js +0 -5511
  1495. package/dist/esm/sdk/evmFamilyEcdsaIdentity-_kuKSW35.js +0 -1385
  1496. package/dist/esm/sdk/participants-Bcnsa_ip.js +0 -232
  1497. package/dist/esm/sdk/registrationIntent-DwAIMQYh.js +0 -1623
  1498. package/dist/esm/sdk/signer-worker-DYRteieu.js +0 -48
  1499. package/dist/esm/shared-ts/src/signing-lanes/linkedEcdsaScope.js +0 -1
  1500. package/dist/esm/shared-ts/src/utils/paillier.js +0 -3
  1501. package/dist/public/sdk/device-linking-DpVGjSeq.js +0 -221
  1502. package/dist/public/sdk/ecdsaPresignLifecycle-CnSnzoRJ.js +0 -5511
  1503. package/dist/public/sdk/evmFamilyEcdsaIdentity-_kuKSW35.js +0 -1385
  1504. package/dist/public/sdk/participants-Bcnsa_ip.js +0 -232
  1505. package/dist/public/sdk/registrationIntent-DwAIMQYh.js +0 -1623
  1506. package/dist/public/sdk/signer-worker-DYRteieu.js +0 -48
  1507. package/dist/types/shared-ts/src/passkey-custody/credentialObservations.d.ts +0 -74
  1508. package/dist/types/shared-ts/src/passkey-custody/kekContext.d.ts +0 -34
  1509. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.d.ts +0 -62
  1510. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.typecheck.d.ts +0 -2
  1511. package/dist/types/shared-ts/src/signing-lanes/validation.d.ts +0 -11
  1512. package/dist/types/shared-ts/src/utils/bigint.d.ts +0 -3
  1513. package/dist/types/shared-ts/src/utils/paillier.d.ts +0 -37
  1514. package/dist/types/shared-ts/src/utils/recoveryDomain.d.ts +0 -12
  1515. package/dist/types/shared-ts/src/utils/signerDomain.typecheck.d.ts +0 -2
  1516. package/dist/types/shared-ts/src/wallet-recovery/recoveryKekContext.d.ts +0 -37
  1517. package/dist/types/wallet/src/SeamsWeb/operations/devices/qrLinkSession.d.ts +0 -7
  1518. package/dist/types/wallet/src/SeamsWeb/operations/session/thresholdWarmSessionDefaults.d.ts +0 -11
  1519. package/dist/types/wallet/src/SeamsWeb/walletIframe/SeamsWebIframe.d.ts +0 -113
  1520. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/env.d.ts +0 -7
  1521. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/index.d.ts +0 -12
  1522. package/dist/types/wallet/src/SeamsWeb/walletIframe/index.d.ts +0 -21
  1523. package/dist/types/wallet/src/core/platform/webCryptoHkdf.d.ts +0 -7
  1524. package/dist/types/wallet/src/core/rpcClients/relayer/routerAbPublicKeyset.d.ts +0 -5
  1525. package/dist/types/wallet/src/core/rpcClients/relayer/thresholdEcdsa.typecheck.d.ts +0 -2
  1526. package/dist/types/wallet/src/core/rpcClients/relayer/walletCredentialActivity.d.ts +0 -48
  1527. package/dist/types/wallet/src/core/signingEngine/flows/recovery/recoveryStorePorts.d.ts +0 -7
  1528. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/coordinatorRuntime.d.ts +0 -44
  1529. package/dist/types/wallet/src/core/signingEngine/session/holderShares/holderShareEnvelopeAad.d.ts +0 -14
  1530. package/dist/types/wallet/src/core/signingEngine/session/identity/ecdsaDerivationSigningMaterialHandle.d.ts +0 -19
  1531. package/dist/types/wallet/src/core/signingEngine/session/identity/ecdsaDerivationSigningMaterialHandle.typecheck.d.ts +0 -2
  1532. package/dist/types/wallet/src/core/signingEngine/session/lanes/laneRecords.d.ts +0 -3
  1533. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/holderDeliveryCoordinator.d.ts +0 -29
  1534. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/ports.d.ts +0 -53
  1535. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/sourceLaneOperationCoordinator.d.ts +0 -24
  1536. package/dist/types/wallet/src/core/signingEngine/session/operationState/stepUpFreshness.d.ts +0 -135
  1537. package/dist/types/wallet/src/core/signingEngine/session/operationState/stepUpFreshness.typecheck.d.ts +0 -2
  1538. package/dist/types/wallet/src/core/signingEngine/session/passkey/envelopes/index.d.ts +0 -19
  1539. package/dist/types/wallet/src/core/signingEngine/session/passkey/runtime.d.ts +0 -23
  1540. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/walletAuthPolicyError.d.ts +0 -17
  1541. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ed25519WrapKeySalt.d.ts +0 -2
  1542. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/evm.d.ts +0 -5
  1543. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/near.d.ts +0 -5
  1544. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/tempo.d.ts +0 -5
  1545. package/dist/types/wallet/src/core/signingEngine/useCases/lifecycle.d.ts +0 -758
  1546. package/dist/types/wallet/src/core/signingEngine/useCases/lifecycle.typecheck.d.ts +0 -2
  1547. package/dist/types/wallet/src/core/signingEngine/useCases/registerWallet.d.ts +0 -71
  1548. package/dist/types/wallet/src/core/signingEngine/useCases/restorePersistedSessions.d.ts +0 -51
  1549. package/dist/types/wallet/src/core/signingEngine/useCases/signEvmFamily.d.ts +0 -47
  1550. package/dist/types/wallet/src/core/signingEngine/useCases/signNear.d.ts +0 -60
  1551. package/dist/types/wallet/src/core/signingEngine/useCases/unlockWallet.d.ts +0 -69
  1552. package/dist/types/wallet/src/core/signingEngine/walletCustody/coldUnlock.d.ts +0 -57
  1553. package/dist/types/wallet/src/core/signingEngine/workerManager/laneWorkerChannels.d.ts +0 -81
  1554. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/laneHolderWorkerBackend.d.ts +0 -54
  1555. package/dist/types/wallet/src/react/components/AccountMenuButton/HaloBorder/index.d.ts +0 -33
  1556. package/dist/types/wallet/src/react/components/AccountMenuButton/PasskeyHaloLoading.d.ts +0 -10
  1557. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/EclipseIcon.d.ts +0 -8
  1558. package/dist/types/wallet/src/react/components/ArrowRightAnim.d.ts +0 -19
  1559. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/index.d.ts +0 -5
  1560. package/dist/types/wallet/src/theme/base-styles.runtime.d.ts +0 -15
  1561. /package/dist/esm/sdk/{base-CMsoJcVv.js → base-D1B5mGin.js} +0 -0
  1562. /package/dist/esm/sdk/{bytes-CwytAKz8.js → bytes-qKxKn4gg.js} +0 -0
  1563. /package/dist/esm/sdk/{csp-stylesheet-DLj_a6t_.js → csp-stylesheet-btENhsNp.js} +0 -0
  1564. /package/dist/esm/sdk/{events-Z_Rmy0Hn.js → events-DYoBL2HO.js} +0 -0
  1565. /package/dist/esm/sdk/{executeWorkerOperation-Bn8GEuT_.js → executeWorkerOperation-Cl9whMK7.js} +0 -0
  1566. /package/dist/esm/sdk/{jsonRpc-MUsR5-C6.js → jsonRpc-VVkaQkFD.js} +0 -0
  1567. /package/dist/esm/sdk/{keccak-DY5wDsym.js → keccak-DUL3d8SF.js} +0 -0
  1568. /package/dist/esm/sdk/{nearRpcResults-DwvW43FL.js → nearRpcResults-DoUgDATm.js} +0 -0
  1569. /package/dist/esm/sdk/{prfCache-CgAr-VEU.js → prfCache-wqQSjYLn.js} +0 -0
  1570. /package/dist/esm/sdk/{profileAccountProjection-C9rVhbeJ.js → profileAccountProjection-uZVJuBvS.js} +0 -0
  1571. /package/dist/esm/sdk/{promptText-BEgOkGxB.js → promptText-CuRa_ivd.js} +0 -0
  1572. /package/dist/esm/sdk/{shared-Qy1DGMqH.js → shared-DkbeLCI3.js} +0 -0
  1573. /package/dist/esm/sdk/{signerSlot-DbNAs-kc.js → signerSlot-_ovonwVX.js} +0 -0
  1574. /package/dist/esm/sdk/{signingSessionSeal-CdtgXHSL.js → signingSessionSeal-Cu-GHm6y.js} +0 -0
  1575. /package/dist/esm/sdk/{surface-measurement-reporter-D7BNehf4.js → surface-measurement-reporter-CSTyRsMa.js} +0 -0
  1576. /package/dist/esm/sdk/{walletIframeIdentity-UmQTJsHc.js → walletIframeIdentity-DB6Z2EC9.js} +0 -0
  1577. /package/dist/esm/sdk/{webauthnPromptCoordinator-CLeba8ru.js → webauthnPromptCoordinator-L96oVvLz.js} +0 -0
  1578. /package/dist/public/sdk/{base-CMsoJcVv.js → base-D1B5mGin.js} +0 -0
  1579. /package/dist/public/sdk/{bytes-CwytAKz8.js → bytes-qKxKn4gg.js} +0 -0
  1580. /package/dist/public/sdk/{csp-stylesheet-DLj_a6t_.js → csp-stylesheet-btENhsNp.js} +0 -0
  1581. /package/dist/public/sdk/{events-Z_Rmy0Hn.js → events-DYoBL2HO.js} +0 -0
  1582. /package/dist/public/sdk/{executeWorkerOperation-Bn8GEuT_.js → executeWorkerOperation-Cl9whMK7.js} +0 -0
  1583. /package/dist/public/sdk/{jsonRpc-MUsR5-C6.js → jsonRpc-VVkaQkFD.js} +0 -0
  1584. /package/dist/public/sdk/{keccak-DY5wDsym.js → keccak-DUL3d8SF.js} +0 -0
  1585. /package/dist/public/sdk/{nearRpcResults-DwvW43FL.js → nearRpcResults-DoUgDATm.js} +0 -0
  1586. /package/dist/public/sdk/{prfCache-CgAr-VEU.js → prfCache-wqQSjYLn.js} +0 -0
  1587. /package/dist/public/sdk/{profileAccountProjection-C9rVhbeJ.js → profileAccountProjection-uZVJuBvS.js} +0 -0
  1588. /package/dist/public/sdk/{promptText-BEgOkGxB.js → promptText-CuRa_ivd.js} +0 -0
  1589. /package/dist/public/sdk/{shared-Qy1DGMqH.js → shared-DkbeLCI3.js} +0 -0
  1590. /package/dist/public/sdk/{signerSlot-DbNAs-kc.js → signerSlot-_ovonwVX.js} +0 -0
  1591. /package/dist/public/sdk/{signingSessionSeal-CdtgXHSL.js → signingSessionSeal-Cu-GHm6y.js} +0 -0
  1592. /package/dist/public/sdk/{surface-measurement-reporter-D7BNehf4.js → surface-measurement-reporter-CSTyRsMa.js} +0 -0
  1593. /package/dist/public/sdk/{walletIframeIdentity-UmQTJsHc.js → walletIframeIdentity-DB6Z2EC9.js} +0 -0
  1594. /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 { D as parseUnixMs, F as exactRecord, I as rejectUnknownFields, M as parseDelegatedWalletAuthorityV1, h as normalizeRuntimePolicyScope, v as deriveEvmFamilySigningKeySlotId } from "./sessionPolicy-DO-MkL65.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 { parseEmailOtpWalletAuthAuthority as $, wireLiteral as $t, parseRouterAbEcdsaVerifiedClientActivationFactsV1 as A, parseActiveWalletSessionV1 as At, sameRouterAbEcdsaDerivationNormalSigningStateV1 as B, parseDelegatedWalletAuthority as Bt, parseRouterAbEcdsaPostRegistrationSessionActivationPolicyV1 as C, parseRouterAbMpcMaterialActivationRef as Ct, parseRouterAbEcdsaRegistrationPublicActivationReceiptV1 as D, sameRouterAbMpcMaterialActivationRef as Dt, parseRouterAbEcdsaRegistrationActivationReceiptV1 as E, routerAbMpcMaterialActivationRefToWire as Et, routerAbEcdsaDerivationNormalSigningScopeCanonicalBytesV1 as F, digest as Ft, sameRouterAbServerIdentityV1 as G, rpId as Gt, sameRouterAbEcdsaDerivationPublicIdentityV1 as H, parseNonNegativeSafeInteger as Ht, routerAbEcdsaRerandomizationClientCommitmentV1 as I, enrollmentId as It, emailOtpWalletAuthAuthorityEmailHashHex as J, walletAuthorityId as Jt, buildEmailOtpWalletAuthAuthority as K, sessionId as Kt, sameRegistrationRecipientKeys as L, keyLabeled as Lt, routerAbEcdsaDerivationActiveStateId as M, walletSessionPreservesCapabilities as Mt, routerAbEcdsaDerivationEvmDigestSigningFinalizeCoreRequestDigestV1 as N, authorizationDeviceId as Nt, parseRouterAbEcdsaRegistrationRequestFactsV1 as O, requireRouterAbX25519PublicKey as Ot, routerAbEcdsaDerivationEvmDigestSigningRequestDigestV1 as P, credentialId as Pt, isPasskeyWalletAuthAuthority as Q, walletSessionId as Qt, sameRegistrationSignerSet as R, linkedDeviceId as Rt, parseRouterAbEcdsaOperationStepUpPreparationV1 as S, canonicalRouterAbMpcMaterialActivationRefBytes as St, parseRouterAbEcdsaPostRegistrationSessionActivationResponseV1 as T, routerAbMpcMaterialActivationRefFromWire as Tt, sameRouterAbEcdsaRegistrationActivationReceiptV1 as U, parseTargetEmail as Ut, sameRouterAbEcdsaDerivationPublicCapabilityV1 as V, parseNonEmptyToken as Vt, sameRouterAbEcdsaVerifiedClientActivationFactsV1 as W, parseUnixTime as Wt, emailOtpWalletAuthAuthorityProviderUserId as X, walletKeyId as Xt, emailOtpWalletAuthAuthorityProvider as Y, walletId as Yt, isEmailOtpWalletAuthAuthority as Z, walletSessionAuthorizationId as Zt, parseRouterAbEcdsaDerivationNormalSigningStateV1 as _, computeEcdsaDerivationRoleLocalRelayerKeyId as _t, ROUTER_AB_ECDSA_DERIVATION_OPERATION_STEP_UP_PATH as a, parseCanonicalEcdsaServerActivationRequest as at, parseRouterAbEcdsaOperationStepUpAuthorizationRequestV1 as b, parseSdkEcdsaDerivationSigningRootVersion as bt, ROUTER_AB_ECDSA_DERIVATION_SESSION_ACTIVATION_PATH as c, parseEcdsaCapabilityManifestRevision as ct, buildRouterAbEcdsaDerivationEvmDigestSigningRequestV1 as d, parseEcdsaIv12B64u as dt, wireNullable as en, parsePasskeyWalletAuthAuthority as et, computeRouterAbEcdsaOperationStepUpChallengeB64u as f, parseEcdsaLifecycleId as ft, parseRouterAbEcdsaDerivationNormalSigningScopeV1 as g, parseEvmFamilyEcdsaSignerId as gt, parseRouterAbEcdsaDerivationEvmDigestSigningResponseForCoreRequestV1 as h, parseEcdsaServerGeneration as ht, ROUTER_AB_ECDSA_DERIVATION_EXPORT_PATH as i, walletAuthAuthorityRef as it, requireRouterAbEcdsaDerivationNormalSigningStateV1 as j, parseWalletSessionOperationCredentialV1 as jt, parseRouterAbEcdsaStrictForwardedRegistrationResponseV1 as k, activeWalletSessionV1RecordsEqual as kt, ROUTER_AB_ECDSA_PRESIGN_CEREMONY_MAX_LIFETIME_MS as l, parseEcdsaCiphertextB64u as lt, parseRouterAbEcdsaDerivationEvmDigestSigningPrepareResponseForRequestV1 as m, parseEcdsaPendingCiphertextDigest as mt, UserVerificationPolicy as n, wireResult as nn, parseWalletAuthAuthorityRef as nt, ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_FILL_INIT_PATH as o, parseEcdsaActivationDigest as ot, parseRouterAbEcdsaCredentialFreeSessionActivationResponseV1 as p, parseEcdsaMaterialSealingKeyId as pt, buildPasskeyWalletAuthAuthority as q, walletAuthMethodId as qt, cloneAuthenticatorOptions as r, wireUnion as rn, walletAuthAuthoritiesMatch as rt, ROUTER_AB_ECDSA_DERIVATION_PRESIGNATURE_POOL_FILL_STEP_PATH as s, parseEcdsaCapabilityManifestId as st, MAX_DURABLE_CLIENT_PRESIGNATURE_LIFETIME_MS as t, wireObject as tn, parseWalletAuthAuthority as tt, buildRouterAbEcdsaDerivationEvmDigestSigningFinalizeRequestV1 as u, parseEcdsaCiphertextDigest as ut, parseRouterAbEcdsaDerivationPublicCapabilityV1 as v, ecdsaClientRootPublicKey33B64uFromString as vt, parseRouterAbEcdsaPostRegistrationSessionActivationRequestV1 as w, parseRouterAbNormalSigningAuthorization as wt, parseRouterAbEcdsaOperationStepUpAuthorizationResponseV1 as x, parseSdkEcdsaDerivationThresholdKeyId as xt, parseRouterAbEcdsaExplicitExportForwardedResponseV1 as y, parseSdkEcdsaDerivationSigningRootId as yt, sameRouterAbEcdsaDerivationNormalSigningScopeV1 as z, nullableToken as zt };