@seams/wallet 0.8.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1243) hide show
  1. package/README.md +140 -254
  2. package/THIRD_PARTY_NOTICES.md +7 -1
  3. package/dist/.build-inputs.sha256 +1 -1
  4. package/dist/esm/SeamsWeb/SeamsWeb.js +98 -1825
  5. package/dist/esm/SeamsWeb/assembly/createWalletIframeRouter.js +4 -15
  6. package/dist/esm/SeamsWeb/index.js +2 -2
  7. package/dist/esm/SeamsWeb/operations/devices/scanDevice.js +3 -361
  8. package/dist/esm/SeamsWeb/operations/near/delegateAction.js +18 -106
  9. package/dist/esm/SeamsWeb/operations/recovery/walletRecovery.js +3 -3
  10. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCommit.js +8 -209
  11. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +5 -5
  12. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryJournal.js +2 -64
  13. package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +1 -1
  14. package/dist/esm/SeamsWeb/operations/tempo/index.js +1 -13
  15. package/dist/esm/SeamsWeb/publicApi/auth.js +3 -19
  16. package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +59 -94
  17. package/dist/esm/SeamsWeb/publicApi/currentWallet.js +1 -1
  18. package/dist/esm/SeamsWeb/publicApi/devices.js +33 -64
  19. package/dist/esm/SeamsWeb/publicApi/evm.js +28 -93
  20. package/dist/esm/SeamsWeb/publicApi/keyExport.js +26 -52
  21. package/dist/esm/SeamsWeb/publicApi/near.js +140 -435
  22. package/dist/esm/SeamsWeb/publicApi/placement.js +206 -0
  23. package/dist/esm/SeamsWeb/publicApi/session.js +13 -0
  24. package/dist/esm/SeamsWeb/publicApi/tempo.js +64 -221
  25. package/dist/esm/SeamsWeb/publicApi/{awaitNearReady.js → waitForNearAccount.js} +12 -12
  26. package/dist/esm/SeamsWeb/walletIframe/client/deviceCommands.js +50 -0
  27. package/dist/esm/SeamsWeb/walletIframe/client/emailOtpCommands.js +25 -0
  28. package/dist/esm/SeamsWeb/walletIframe/client/evmFamilyCommands.js +118 -0
  29. package/dist/esm/SeamsWeb/walletIframe/client/inboundMessages.js +223 -0
  30. package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +153 -0
  31. package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +2 -2
  32. package/dist/esm/SeamsWeb/walletIframe/client/placementCommands.js +65 -0
  33. package/dist/esm/SeamsWeb/walletIframe/client/preferenceState.js +93 -0
  34. package/dist/esm/SeamsWeb/walletIframe/client/preferences.js +117 -0
  35. package/dist/esm/SeamsWeb/walletIframe/client/registrationCommands.js +92 -0
  36. package/dist/esm/SeamsWeb/walletIframe/client/router.js +241 -583
  37. package/dist/esm/SeamsWeb/walletIframe/client/sessionCommands.js +61 -0
  38. package/dist/esm/SeamsWeb/walletIframe/coordinator.js +175 -134
  39. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +13 -1
  40. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +1 -1
  41. package/dist/esm/SeamsWeb/walletIframe/shared/configuration.js +37 -0
  42. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +31 -11
  43. package/dist/esm/SeamsWeb/walletIframe/shared/facadeBoundary.js +96 -0
  44. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +6 -32
  45. package/dist/esm/advanced.js +3 -3
  46. package/dist/esm/build-paths.js +0 -4
  47. package/dist/esm/core/accountData/near/accountProjection.js +3 -3
  48. package/dist/esm/core/accountData/near/keyMaterial.js +2 -2
  49. package/dist/esm/core/config/chains.js +1 -28
  50. package/dist/esm/core/config/configBuilder.js +3 -14
  51. package/dist/esm/core/config/defaultConfigs.js +4 -6
  52. package/dist/esm/core/{signingEngine/workerManager/ecdsaPresignLifecycle.js → config/presignatures.js} +2 -2
  53. package/dist/esm/core/diagnostics/registration.js +8 -0
  54. package/dist/esm/core/indexedDB/accountKeyMaterial.js +1 -1
  55. package/dist/esm/core/indexedDB/linkedAuthoritySignerMaterial.js +4 -125
  56. package/dist/esm/core/indexedDB/normalization.js +7 -1
  57. package/dist/esm/core/indexedDB/pendingWalletRecoveryCommit.js +1 -1
  58. package/dist/esm/core/indexedDB/pendingWalletRegistrationCommit.js +3 -41
  59. package/dist/esm/core/indexedDB/seamsWalletDB/accountSignerRows.js +261 -0
  60. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +2 -201
  61. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +5 -736
  62. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +6 -1084
  63. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +20 -138
  64. package/dist/esm/core/indexedDB/seamsWalletDB/manager.js +100 -4
  65. package/dist/esm/core/indexedDB/seamsWalletDB/nonceLeaseRows.js +156 -0
  66. package/dist/esm/core/indexedDB/seamsWalletDB/registrationSetup.js +4 -11
  67. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +91 -547
  68. package/dist/esm/core/indexedDB/seamsWalletDB/signerOutboxRows.js +90 -0
  69. package/dist/esm/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +7 -92
  70. package/dist/esm/core/indexedDB/seamsWalletDB/walletOwnershipGeneration.js +43 -0
  71. package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +103 -157
  72. package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +2 -1
  73. package/dist/esm/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
  74. package/dist/esm/core/rpcClients/evm/nonceBackend.js +1 -176
  75. package/dist/esm/core/rpcClients/near/accountExists.js +34 -0
  76. package/dist/esm/core/rpcClients/relayer/ecdsaPrepareSession.js +42 -0
  77. package/dist/esm/core/rpcClients/relayer/relayerHttp.js +31 -1
  78. package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +47 -11
  79. package/dist/esm/core/rpcClients/relayer/walletRecoveryFinalize.js +2 -48
  80. package/dist/esm/core/rpcClients/relayer/walletRecoveryPrepare.js +9 -9
  81. package/dist/esm/core/rpcClients/relayer/walletRecoveryRotate.js +1 -223
  82. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +36 -2197
  83. package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +145 -14
  84. package/dist/esm/core/signingEngine/chains/evm/evmAdapter.js +1 -1
  85. package/dist/esm/core/signingEngine/chains/near/display.js +1 -27
  86. package/dist/esm/core/signingEngine/chains/near/nearSignerWasm.js +2 -2
  87. package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +6 -39
  88. package/dist/esm/core/signingEngine/flows/shared/signingConfirmation.js +2 -2
  89. package/dist/esm/core/signingEngine/flows/shared/signingStateMachine.js +1 -11
  90. package/dist/esm/core/signingEngine/flows/signEvmFamily/authPlanning.js +2 -2
  91. package/dist/esm/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +3 -3
  92. package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +3 -136
  93. package/dist/esm/core/signingEngine/flows/signEvmFamily/freshWalletSessionRetry.js +1 -1
  94. package/dist/esm/core/signingEngine/flows/signEvmFamily/operationIds.js +1 -1
  95. package/dist/esm/core/signingEngine/flows/signEvmFamily/preparedSigning.js +2 -3
  96. package/dist/esm/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.js +40 -5
  97. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +4 -4
  98. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js +1 -1
  99. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +27 -53
  100. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +5 -5
  101. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +40 -33
  102. package/dist/esm/core/signingEngine/flows/signEvmFamily/thresholdAdmission.js +8 -2
  103. package/dist/esm/core/signingEngine/flows/signNear/implicitAccountFunding.js +1 -1
  104. package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +177 -68
  105. package/dist/esm/core/signingEngine/flows/signNear/shared/implicitAccountFundingPort.js +1 -8
  106. package/dist/esm/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.js +1 -38
  107. package/dist/esm/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +53 -8
  108. package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +5 -5
  109. package/dist/esm/core/signingEngine/flows/signNear/signNear.js +30 -44
  110. package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +21 -12
  111. package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +59 -11
  112. package/dist/esm/core/signingEngine/interfaces/ecdsaChainTarget.js +1 -1
  113. package/dist/esm/core/signingEngine/nonce/nonceLaneKeys.js +1 -35
  114. package/dist/esm/core/signingEngine/nonce/nonceTypes.js +2 -26
  115. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/httpRequest.js +4 -3
  116. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.js +5 -1
  117. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +112 -162
  118. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePoolPolicy.js +31 -0
  119. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +1 -1
  120. package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +3 -913
  121. package/dist/esm/core/signingEngine/session/emailOtp/challengeDelivery.js +1 -45
  122. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.js +1 -81
  123. package/dist/esm/core/signingEngine/session/identity/clientSessionPersistenceState.js +1 -43
  124. package/dist/esm/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.js +1 -9
  125. package/dist/esm/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +3 -125
  126. package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +3 -19
  127. package/dist/esm/core/signingEngine/session/identity/laneIdentity.js +2 -106
  128. package/dist/esm/core/signingEngine/session/keyMaterialBrands.js +1 -1
  129. package/dist/esm/core/signingEngine/session/lifecycle/walletSessionFailure.js +1 -1
  130. package/dist/esm/core/signingEngine/session/material/activeEcdsaCapabilityRuntime.js +1 -114
  131. package/dist/esm/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +2 -2
  132. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +2 -187
  133. package/dist/esm/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.js +2 -18
  134. package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +2 -130
  135. package/dist/esm/core/signingEngine/session/material/linkedEcdsaHolderRuntime.js +1 -25
  136. package/dist/esm/core/signingEngine/session/material/nearEd25519YaoMaterialActivation.js +1 -73
  137. package/dist/esm/core/signingEngine/session/material/walletSigningStateFailure.js +1 -69
  138. package/dist/esm/core/signingEngine/session/operationState/preparedOperation.js +1 -5
  139. package/dist/esm/core/signingEngine/session/operationState/transactionState.js +0 -1
  140. package/dist/esm/core/signingEngine/session/passkey/prfCache.js +1 -5
  141. package/dist/esm/core/signingEngine/session/persistence/durableSealedSessionCommands.js +1 -9
  142. package/dist/esm/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.js +3 -202
  143. package/dist/esm/core/signingEngine/session/persistence/sealedSessionRecords.js +4 -83
  144. package/dist/esm/core/signingEngine/session/persistence/sealedSessionStore.js +2 -2
  145. package/dist/esm/core/signingEngine/session/planning/planner.js +2 -13
  146. package/dist/esm/core/signingEngine/session/sealedRecovery/materialActivationKey.js +1 -8
  147. package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.js +2 -1
  148. package/dist/esm/core/signingEngine/session/warmCapabilities/sealedRefreshParity.js +2 -41
  149. package/dist/esm/core/signingEngine/stepUpConfirmation/intentDigestPreparation.js +1 -14
  150. package/dist/esm/core/signingEngine/stepUpConfirmation/types.js +1 -7
  151. package/dist/esm/core/signingEngine/threshold/commitQueueShared.js +1 -127
  152. package/dist/esm/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +3 -297
  153. package/dist/esm/core/signingEngine/threshold/ecdsa/operationStepUp.js +10 -24
  154. package/dist/esm/core/signingEngine/threshold/ed25519/walletSession.js +7 -209
  155. package/dist/esm/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +5 -208
  156. package/dist/esm/core/signingEngine/threshold/sessionPolicy.js +3 -9
  157. package/dist/esm/core/signingEngine/uiConfirm/nearFundingNotice.js +1 -17
  158. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +2 -173
  159. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +3 -3
  160. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +2 -2
  161. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +1 -1
  162. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +5 -4
  163. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +2 -2
  164. package/dist/esm/core/signingEngine/uiConfirm/ui/surface-resize-events.js +1 -6
  165. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/abi/abiDecode.js +1 -1
  166. package/dist/esm/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +1 -19
  167. package/dist/esm/core/signingEngine/webauthnAuth/credentials/helpers.js +2 -170
  168. package/dist/esm/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.js +27 -5
  169. package/dist/esm/core/signingEngine/workerManager/validation.js +1 -104
  170. package/dist/esm/core/signingEngine/workerManager/workerTypes.js +1 -33
  171. package/dist/esm/core/types/rpc.js +1 -4
  172. package/dist/esm/core/types/sdkSentEvents.js +1 -24
  173. package/dist/esm/core/walletRuntimePaths/base.js +1 -28
  174. package/dist/esm/externalEvm/controller.js +7 -7
  175. package/dist/esm/index.js +8 -7
  176. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +9 -9
  177. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +1 -2
  178. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +9 -185
  179. package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +303 -0
  180. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +31 -5
  181. package/dist/esm/react/components/AccountMenuButton/index.js +21 -13
  182. package/dist/esm/react/components/AccountMenuButton/types.js +2 -1
  183. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +5 -17
  184. package/dist/esm/react/components/QRCodeScanner.js +5 -5
  185. package/dist/esm/react/components/ShowQRCode.js +13 -13
  186. package/dist/esm/react/context/SeamsWebProvider.js +1 -2
  187. package/dist/esm/react/context/index.js +8 -10
  188. package/dist/esm/react/context/seamsManagerSingleton.js +1 -1
  189. package/dist/esm/react/context/useLoginStateRefresher.js +10 -13
  190. package/dist/esm/react/context/useNearProvisioningStateRefresh.js +3 -3
  191. package/dist/esm/react/context/useSeamsContextValue.js +33 -81
  192. package/dist/esm/react/context/useSeamsWithSdkFlow.js +22 -51
  193. package/dist/esm/react/context/useWalletIframeLifecycle.js +20 -110
  194. package/dist/esm/react/hooks/useAccountInput.js +10 -13
  195. package/dist/esm/react/hooks/useDeviceLinking.js +1 -1
  196. package/dist/esm/react/hooks/useNearClient.js +1 -1
  197. package/dist/esm/react/hooks/useQRCamera.js +2 -8
  198. package/dist/esm/react/hooks/useWallet.js +5 -6
  199. package/dist/esm/react/hooks/useWalletAuth.js +3 -4
  200. package/dist/esm/react/hooks/useWalletDevices.js +2 -2
  201. package/dist/esm/react/index.js +4 -4
  202. package/dist/esm/react/transactionReview/TransactionReviewHost.js +1 -1
  203. package/dist/esm/react/transactionReview/boundCalls.js +5 -39
  204. package/dist/esm/react/transactionReview/controller.js +3 -4
  205. package/dist/esm/react/transactionReview/snapshot.js +1 -1
  206. package/dist/esm/react/utils/walletIframe.js +11 -52
  207. package/dist/esm/sdk/{ConfirmationDrawer-DrsREojk.js → ConfirmationDrawer-DY0_yeUV.js} +1 -1
  208. package/dist/esm/sdk/NonceCoordinator-CFFq8-Q9.js +1 -0
  209. package/dist/esm/sdk/accountLifecycle-CAMVowDl.js +1 -0
  210. package/dist/esm/sdk/activeWalletSession-DiZcKjB_.js +1 -0
  211. package/dist/esm/sdk/adapters-DdDOQzl4.js +2 -0
  212. package/dist/esm/sdk/appearance-ZGVLwA4N.js +1 -0
  213. package/dist/esm/sdk/authenticatorOptions-DMLnDWT2.js +1 -0
  214. package/dist/esm/sdk/authorizationAdmission-Ckx6q6tp.js +1 -0
  215. package/dist/esm/sdk/bytes-BBYkulRB.js +1 -0
  216. package/dist/esm/sdk/canonicalPrimitives-CKPGgpxg.js +1 -0
  217. package/dist/esm/sdk/canonicalSignerErrorCode-DEHsPxNm.js +1 -0
  218. package/dist/esm/sdk/{capabilityKinds-XaXXiD2B.js → capabilityKinds-CKQ4Uqnv.js} +1 -1
  219. package/dist/esm/sdk/chains-CiYQT1K4.js +1 -0
  220. package/dist/esm/sdk/challengeDelivery-DxXAkOfS.js +1 -0
  221. package/dist/esm/sdk/clientSessionPersistenceState-CImFWDj6.js +1 -0
  222. package/dist/esm/sdk/commitQueue-iBNUt9Bz.js +1 -0
  223. package/dist/esm/sdk/configBuilder-ZiZwFKt4.js +1 -0
  224. package/dist/esm/sdk/configHelpers-D8Ivi6p8.js +1 -0
  225. package/dist/esm/sdk/digestEncoding-Dzc1rzWV.js +1 -0
  226. package/dist/esm/sdk/display-ClqZq-Xt.js +1 -0
  227. package/dist/esm/sdk/ecdsaCapabilityManifest-BlzJAQF8.js +1 -0
  228. package/dist/{public/sdk/ecdsaChainTarget-CRcRR78w.js → esm/sdk/ecdsaChainTarget-C8ZtMZ8l.js} +1 -1
  229. package/dist/esm/sdk/ecdsaDerivationClientWasm-CVeNEou2.js +1 -0
  230. package/dist/esm/sdk/ecdsaDerivationExport-BZFHSMCv.js +1 -0
  231. package/dist/esm/sdk/{ecdsaWalletRecords-Cm1DdexN.js → ecdsaWalletRecords-D4WeYc7H.js} +1 -1
  232. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-B8HzTh4T.js +1 -0
  233. package/dist/esm/sdk/enrichDisplayModelWithAbi-69bNckvi.js +1 -0
  234. package/dist/esm/sdk/{evmCryptoWasm-CwEXiLrC.js → evmCryptoWasm-BXsIyRon.js} +1 -1
  235. package/dist/esm/sdk/export-viewer-host-CsFeiIhd.js +1 -0
  236. package/dist/esm/sdk/exportKeypairOperation-DGQIYML3.js +1 -0
  237. package/dist/esm/sdk/helpers-Ddy72ULN.js +1 -0
  238. package/dist/esm/sdk/host-c1__wJwz.js +1 -0
  239. package/dist/esm/sdk/intentDigest-CE-tLw87.js +1 -0
  240. package/dist/esm/sdk/jsxRuntime.module-BcZNe_OA.js +2 -0
  241. package/dist/esm/sdk/lanes-DnBwWv4l.js +1 -0
  242. package/dist/esm/sdk/localOnly-ClCo6602.js +1 -0
  243. package/dist/esm/sdk/messages-vxz27Way.js +1 -0
  244. package/dist/esm/sdk/mountExportPrivateKeySurface-CBZ0wRYj.js +1 -0
  245. package/dist/{public/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js → esm/sdk/mountRecoveryCodeBackupSurface-B1qhFF6G.js} +2 -2
  246. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-fWQI3rYj.js +1 -0
  247. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-B0d1AG3u.js +1 -0
  248. package/dist/{public/sdk/nonceLaneKeys-BBYi4g51.js → esm/sdk/nonceLaneKeys-Fkvk2UPy.js} +1 -1
  249. package/dist/esm/sdk/normalization-CpLZcL2f.js +1 -0
  250. package/dist/esm/sdk/normalization-DCvuCvh0.js +1 -0
  251. package/dist/esm/sdk/normalize-kUDm5zfS.js +1 -0
  252. package/dist/esm/sdk/{operationFingerprint-DtQb0pdp.js → operationFingerprint-CTR9G1NT.js} +1 -1
  253. package/dist/esm/sdk/passkey-custody-BQj44jEM.js +1 -0
  254. package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-yJN8VAHn.js +1 -0
  255. package/dist/esm/sdk/presignaturePool-DwlTReFO.js +1 -0
  256. package/dist/esm/sdk/presignatures-DB2IPD-A.js +1 -0
  257. package/dist/esm/sdk/{prfCache-Mbo7_USg.js → prfCache-BMpqZZ-v.js} +1 -1
  258. package/dist/esm/sdk/primitives-CAcl7ON7.js +1 -0
  259. package/dist/esm/sdk/promptText-D2f5Rg0h.js +1 -0
  260. package/dist/esm/sdk/recovery-entrypoint-Bl5GgbW9.js +1 -0
  261. package/dist/esm/sdk/registration-C4sALQZO.js +1 -0
  262. package/dist/esm/sdk/registration-CEqVAgNJ.js +1 -0
  263. package/dist/esm/sdk/{registrationAccounts-DIeEVy6W.js → registrationAccounts-D4RVetMz.js} +1 -1
  264. package/dist/esm/sdk/registrationAuthMethodInput-6ccY2Vuh.js +1 -0
  265. package/dist/esm/sdk/registrationIds-CdPqm-Ya.js +1 -0
  266. package/dist/esm/sdk/registrationIntent-DOkZcKSP.js +1 -0
  267. package/dist/esm/sdk/registrationSignerPlan-B9GCvpTV.js +1 -0
  268. package/dist/esm/sdk/requireStepUpAuth-DCVqmeee.js +1 -0
  269. package/dist/esm/sdk/routerAbNormalSigning-BG75eyI2.js +1 -0
  270. package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  271. package/dist/esm/sdk/runtime-auth-BKFyLISf.js +1 -0
  272. package/dist/esm/sdk/runtime-device-link-ENxdEXQW.js +1 -0
  273. package/dist/esm/sdk/runtime-ecdsa-tempo-DhGEb9U7.js +1 -0
  274. package/dist/esm/sdk/runtime-email-otp-dgsP7XZi.js +1 -0
  275. package/dist/esm/sdk/runtime-export-D2RCm5Gk.js +1 -0
  276. package/dist/esm/sdk/runtime-near-Bf-9MFBQ.js +1 -0
  277. package/dist/esm/sdk/runtime-preferences-LQ8SPE7o.js +1 -0
  278. package/dist/esm/sdk/runtime-recovery-BuEzJzuZ.js +1 -0
  279. package/dist/esm/sdk/runtime-recovery-codes-BZMiAR_5.js +1 -0
  280. package/dist/esm/sdk/sdkSentEvents-D3q1h-Uo.js +1 -0
  281. package/dist/esm/sdk/secp256k1-DSLttQND.js +1 -0
  282. package/dist/esm/sdk/{secureRandomId-CTdlJ5Mx.js → secureRandomId-BIekT8bE.js} +1 -1
  283. package/dist/esm/sdk/sessionPolicy-J-RrlPZQ.js +1 -0
  284. package/dist/esm/sdk/shared-8ffIBYw2.js +6 -0
  285. package/dist/esm/sdk/signEvmFamily-KUNWKVeh.js +1 -0
  286. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js → signEvmFamilyWithUiConfirmForTempo-Dc57bJ3V.js} +1 -1
  287. package/dist/esm/sdk/{signEvmWithUiConfirm-ChreN7aZ.js → signEvmWithUiConfirm-CqxL7UbT.js} +1 -1
  288. package/dist/esm/sdk/signNear-BhTkDm2-.js +1 -0
  289. package/dist/esm/sdk/{signatureUses-CQkkUcwT.js → signatureUses-CjJ233KX.js} +1 -1
  290. package/dist/esm/sdk/signerDomain-vQmlnsbF.js +1 -0
  291. package/dist/esm/sdk/signingFlow-vrXxrhlG.js +2 -0
  292. package/dist/esm/sdk/signingQueue-BrGJXBqe.js +1 -0
  293. package/dist/esm/sdk/{signingSessionSeal-Mr2Xp44o.js → signingSessionSeal-CDLUmAFY.js} +1 -1
  294. package/dist/esm/sdk/singletons-8UH3gOnZ.js +1 -0
  295. package/dist/esm/sdk/theme-_AUTWLS_.js +1 -0
  296. package/dist/esm/sdk/thresholdEcdsa-CO7xo1So.js +1 -0
  297. package/dist/esm/sdk/trace-BvbCxdXF.js +1 -0
  298. package/dist/esm/sdk/transaction-activity-D40ih2j-.js +1 -0
  299. package/dist/esm/sdk/transactionReviewAdmission-C-a3ctCJ.js +1 -0
  300. package/dist/esm/sdk/transactionState-DVinJk4K.js +1 -0
  301. package/dist/esm/sdk/tx-confirm-ui.js +7 -11
  302. package/dist/esm/sdk/{promptText-s8TQ6ckX.js → types-BNUuaUtl.js} +1 -1
  303. package/dist/esm/sdk/{types-M7vxrYtJ.js → types-D3GM-uHR.js} +1 -1
  304. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  305. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  306. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  307. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  308. package/dist/esm/sdk/wallet-recovery-C1kesLCF.js +1 -0
  309. package/dist/esm/sdk/wallet-ui.css +1 -1
  310. package/dist/esm/sdk/walletAuthMethodRecord-CXedSgpV.js +1 -0
  311. package/dist/esm/sdk/walletAuthority-B5hXHWpK.js +1 -0
  312. package/dist/esm/sdk/walletCustodyEcdsaContinuity-abNZ_dvX.js +1 -0
  313. package/dist/esm/sdk/{walletIframeIdentity-C0b0XMQF.js → walletIframeIdentity-DJ0KOBHg.js} +1 -1
  314. package/dist/esm/sdk/walletOwnershipGeneration-DoXVMDWe.js +1 -0
  315. package/dist/esm/sdk/walletRecoveryCommit-Cc9AqHr0.js +1 -0
  316. package/dist/esm/sdk/walletRecoveryRotate-DWTAFYiv.js +1 -0
  317. package/dist/esm/sdk/walletSessionAuthorizationProjection-DWBksIJR.js +1 -0
  318. package/dist/esm/sdk/walletSessionAuthorizationStatus-o1VgsLhA.js +1 -0
  319. package/dist/esm/sdk/walletSessionAuthorizationStore-gEYPmu-G.js +1 -0
  320. package/dist/esm/sdk/walletSessionFailure-Bu4VPKTz.js +1 -0
  321. package/dist/esm/sdk/warmSessionHydration-DgjuUacN.js +1 -0
  322. package/dist/esm/sdk/{webauthnP256-qu06GNFm.js → webauthnP256-BEz4DEAs.js} +1 -1
  323. package/dist/esm/sdk/{webauthnPromptCoordinator-DO-qfECu.js → webauthnPromptCoordinator-BEudHQBr.js} +1 -1
  324. package/dist/esm/shared-ts/src/authorization/capabilityKinds.js +1 -7
  325. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +2 -20
  326. package/dist/esm/shared-ts/src/authorization/index.js +1 -2
  327. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +1 -20
  328. package/dist/esm/shared-ts/src/authorization/walletAuthority.js +4 -51
  329. package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +1 -112
  330. package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +13 -3
  331. package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +6 -116
  332. package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +3 -270
  333. package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +2 -2
  334. package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +1 -12
  335. package/dist/esm/shared-ts/src/device-linking/digests.js +1 -109
  336. package/dist/esm/shared-ts/src/device-linking/index.js +0 -2
  337. package/dist/esm/shared-ts/src/device-linking/parsers.js +7 -921
  338. package/dist/esm/shared-ts/src/device-linking/requestProof.js +1 -19
  339. package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +5 -358
  340. package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +1 -172
  341. package/dist/esm/shared-ts/src/device-linking/wireFields.js +4 -5
  342. package/dist/esm/shared-ts/src/near/actions.js +1 -13
  343. package/dist/esm/shared-ts/src/near/nearClient.js +1 -1
  344. package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +3 -59
  345. package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +4 -8
  346. package/dist/esm/shared-ts/src/passkey-custody/index.js +0 -1
  347. package/dist/esm/shared-ts/src/signing-lanes/index.js +0 -1
  348. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +0 -59
  349. package/dist/esm/shared-ts/src/threshold/ed25519OperationFingerprint.js +1 -1
  350. package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +1 -4
  351. package/dist/esm/shared-ts/src/threshold/participants.js +1 -2
  352. package/dist/esm/shared-ts/src/threshold/signingRootScope.js +1 -4
  353. package/dist/esm/shared-ts/src/utils/authenticatorOptions.js +1 -12
  354. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +2 -5
  355. package/dist/esm/shared-ts/src/utils/domainIds.js +1 -7
  356. package/dist/esm/shared-ts/src/utils/ecdsaCapabilityActivation.js +1 -16
  357. package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +6 -1
  358. package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +1 -23
  359. package/dist/esm/shared-ts/src/utils/emailOtpRecoveryKey.js +1 -42
  360. package/dist/esm/shared-ts/src/utils/errors.js +1 -43
  361. package/dist/esm/shared-ts/src/utils/index.js +18 -22
  362. package/dist/esm/shared-ts/src/utils/near.js +2 -74
  363. package/dist/esm/shared-ts/src/utils/normalize.js +1 -22
  364. package/dist/esm/shared-ts/src/utils/registrationAuthMethodInput.js +1 -74
  365. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +6 -275
  366. package/dist/esm/shared-ts/src/utils/registrationIds.js +1 -203
  367. package/dist/esm/shared-ts/src/utils/registrationIntent.js +1 -389
  368. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +2 -434
  369. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +6 -414
  370. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +1 -334
  371. package/dist/esm/shared-ts/src/utils/routerAbEd25519YaoDigests.js +2 -40
  372. package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -1
  373. package/dist/esm/shared-ts/src/utils/signingSessionSeal.js +1 -6
  374. package/dist/esm/shared-ts/src/utils/thresholdEcdsaKeyHandle.js +1 -6
  375. package/dist/esm/shared-ts/src/utils/validation.js +2 -17
  376. package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +1 -28
  377. package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +1 -11
  378. package/dist/esm/shared-ts/src/utils/walletCapabilityBindings.js +1 -7
  379. package/dist/esm/shared-ts/src/wallet-recovery/index.js +3 -5
  380. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeIssuance.js +1 -35
  381. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +0 -32
  382. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +1 -15
  383. package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +0 -11
  384. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +1 -1
  385. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +2 -42
  386. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -53
  387. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryRotation.js +2 -63
  388. package/dist/esm/threshold.js +1 -1
  389. package/dist/esm/utils/intentDigest.js +1 -4
  390. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  391. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
  392. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
  393. package/dist/public/headers.manifest.json +1 -1
  394. package/dist/public/sdk/{ConfirmationDrawer-DrsREojk.js → ConfirmationDrawer-DY0_yeUV.js} +1 -1
  395. package/dist/public/sdk/NonceCoordinator-CFFq8-Q9.js +1 -0
  396. package/dist/public/sdk/accountLifecycle-CAMVowDl.js +1 -0
  397. package/dist/public/sdk/activeWalletSession-DiZcKjB_.js +1 -0
  398. package/dist/public/sdk/adapters-DdDOQzl4.js +2 -0
  399. package/dist/public/sdk/appearance-ZGVLwA4N.js +1 -0
  400. package/dist/public/sdk/authenticatorOptions-DMLnDWT2.js +1 -0
  401. package/dist/public/sdk/authorizationAdmission-Ckx6q6tp.js +1 -0
  402. package/dist/public/sdk/bytes-BBYkulRB.js +1 -0
  403. package/dist/public/sdk/canonicalPrimitives-CKPGgpxg.js +1 -0
  404. package/dist/public/sdk/canonicalSignerErrorCode-DEHsPxNm.js +1 -0
  405. package/dist/public/sdk/{capabilityKinds-XaXXiD2B.js → capabilityKinds-CKQ4Uqnv.js} +1 -1
  406. package/dist/public/sdk/chains-CiYQT1K4.js +1 -0
  407. package/dist/public/sdk/challengeDelivery-DxXAkOfS.js +1 -0
  408. package/dist/public/sdk/clientSessionPersistenceState-CImFWDj6.js +1 -0
  409. package/dist/public/sdk/commitQueue-iBNUt9Bz.js +1 -0
  410. package/dist/public/sdk/configBuilder-ZiZwFKt4.js +1 -0
  411. package/dist/public/sdk/configHelpers-D8Ivi6p8.js +1 -0
  412. package/dist/public/sdk/digestEncoding-Dzc1rzWV.js +1 -0
  413. package/dist/public/sdk/display-ClqZq-Xt.js +1 -0
  414. package/dist/public/sdk/ecdsaCapabilityManifest-BlzJAQF8.js +1 -0
  415. package/dist/{esm/sdk/ecdsaChainTarget-CRcRR78w.js → public/sdk/ecdsaChainTarget-C8ZtMZ8l.js} +1 -1
  416. package/dist/public/sdk/ecdsaDerivationClientWasm-CVeNEou2.js +1 -0
  417. package/dist/public/sdk/ecdsaDerivationExport-BZFHSMCv.js +1 -0
  418. package/dist/public/sdk/{ecdsaWalletRecords-Cm1DdexN.js → ecdsaWalletRecords-D4WeYc7H.js} +1 -1
  419. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-B8HzTh4T.js +1 -0
  420. package/dist/public/sdk/enrichDisplayModelWithAbi-69bNckvi.js +1 -0
  421. package/dist/public/sdk/{evmCryptoWasm-CwEXiLrC.js → evmCryptoWasm-BXsIyRon.js} +1 -1
  422. package/dist/public/sdk/export-viewer-host-CsFeiIhd.js +1 -0
  423. package/dist/public/sdk/exportKeypairOperation-DGQIYML3.js +1 -0
  424. package/dist/public/sdk/helpers-Ddy72ULN.js +1 -0
  425. package/dist/public/sdk/host-c1__wJwz.js +1 -0
  426. package/dist/public/sdk/intentDigest-CE-tLw87.js +1 -0
  427. package/dist/public/sdk/jsxRuntime.module-BcZNe_OA.js +2 -0
  428. package/dist/public/sdk/lanes-DnBwWv4l.js +1 -0
  429. package/dist/public/sdk/localOnly-ClCo6602.js +1 -0
  430. package/dist/public/sdk/messages-vxz27Way.js +1 -0
  431. package/dist/public/sdk/mountExportPrivateKeySurface-CBZ0wRYj.js +1 -0
  432. package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js → public/sdk/mountRecoveryCodeBackupSurface-B1qhFF6G.js} +2 -2
  433. package/dist/public/sdk/nearEd25519YaoMaterialActivation-fWQI3rYj.js +1 -0
  434. package/dist/public/sdk/nearEd25519YaoSigningPreparation-B0d1AG3u.js +1 -0
  435. package/dist/{esm/sdk/nonceLaneKeys-BBYi4g51.js → public/sdk/nonceLaneKeys-Fkvk2UPy.js} +1 -1
  436. package/dist/public/sdk/normalization-CpLZcL2f.js +1 -0
  437. package/dist/public/sdk/normalization-DCvuCvh0.js +1 -0
  438. package/dist/public/sdk/normalize-kUDm5zfS.js +1 -0
  439. package/dist/public/sdk/{operationFingerprint-DtQb0pdp.js → operationFingerprint-CTR9G1NT.js} +1 -1
  440. package/dist/public/sdk/passkey-custody-BQj44jEM.js +1 -0
  441. package/dist/public/sdk/pendingWalletRecoveryCodeBackup-yJN8VAHn.js +1 -0
  442. package/dist/public/sdk/presignaturePool-DwlTReFO.js +1 -0
  443. package/dist/public/sdk/presignatures-DB2IPD-A.js +1 -0
  444. package/dist/public/sdk/{prfCache-Mbo7_USg.js → prfCache-BMpqZZ-v.js} +1 -1
  445. package/dist/public/sdk/primitives-CAcl7ON7.js +1 -0
  446. package/dist/public/sdk/promptText-D2f5Rg0h.js +1 -0
  447. package/dist/public/sdk/recovery-entrypoint-Bl5GgbW9.js +1 -0
  448. package/dist/public/sdk/registration-C4sALQZO.js +1 -0
  449. package/dist/public/sdk/registration-CEqVAgNJ.js +1 -0
  450. package/dist/public/sdk/{registrationAccounts-DIeEVy6W.js → registrationAccounts-D4RVetMz.js} +1 -1
  451. package/dist/public/sdk/registrationAuthMethodInput-6ccY2Vuh.js +1 -0
  452. package/dist/public/sdk/registrationIds-CdPqm-Ya.js +1 -0
  453. package/dist/public/sdk/registrationIntent-DOkZcKSP.js +1 -0
  454. package/dist/public/sdk/registrationSignerPlan-B9GCvpTV.js +1 -0
  455. package/dist/public/sdk/requireStepUpAuth-DCVqmeee.js +1 -0
  456. package/dist/public/sdk/routerAbNormalSigning-BG75eyI2.js +1 -0
  457. package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  458. package/dist/public/sdk/runtime-auth-BKFyLISf.js +1 -0
  459. package/dist/public/sdk/runtime-device-link-ENxdEXQW.js +1 -0
  460. package/dist/public/sdk/runtime-ecdsa-tempo-DhGEb9U7.js +1 -0
  461. package/dist/public/sdk/runtime-email-otp-dgsP7XZi.js +1 -0
  462. package/dist/public/sdk/runtime-export-D2RCm5Gk.js +1 -0
  463. package/dist/public/sdk/runtime-near-Bf-9MFBQ.js +1 -0
  464. package/dist/public/sdk/runtime-preferences-LQ8SPE7o.js +1 -0
  465. package/dist/public/sdk/runtime-recovery-BuEzJzuZ.js +1 -0
  466. package/dist/public/sdk/runtime-recovery-codes-BZMiAR_5.js +1 -0
  467. package/dist/public/sdk/sdkSentEvents-D3q1h-Uo.js +1 -0
  468. package/dist/public/sdk/secp256k1-DSLttQND.js +1 -0
  469. package/dist/public/sdk/{secureRandomId-CTdlJ5Mx.js → secureRandomId-BIekT8bE.js} +1 -1
  470. package/dist/public/sdk/sessionPolicy-J-RrlPZQ.js +1 -0
  471. package/dist/public/sdk/shared-8ffIBYw2.js +6 -0
  472. package/dist/public/sdk/signEvmFamily-KUNWKVeh.js +1 -0
  473. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js → signEvmFamilyWithUiConfirmForTempo-Dc57bJ3V.js} +1 -1
  474. package/dist/public/sdk/{signEvmWithUiConfirm-ChreN7aZ.js → signEvmWithUiConfirm-CqxL7UbT.js} +1 -1
  475. package/dist/public/sdk/signNear-BhTkDm2-.js +1 -0
  476. package/dist/public/sdk/{signatureUses-CQkkUcwT.js → signatureUses-CjJ233KX.js} +1 -1
  477. package/dist/public/sdk/signerDomain-vQmlnsbF.js +1 -0
  478. package/dist/public/sdk/signingFlow-vrXxrhlG.js +2 -0
  479. package/dist/public/sdk/signingQueue-BrGJXBqe.js +1 -0
  480. package/dist/public/sdk/{signingSessionSeal-Mr2Xp44o.js → signingSessionSeal-CDLUmAFY.js} +1 -1
  481. package/dist/public/sdk/singletons-8UH3gOnZ.js +1 -0
  482. package/dist/public/sdk/theme-_AUTWLS_.js +1 -0
  483. package/dist/public/sdk/thresholdEcdsa-CO7xo1So.js +1 -0
  484. package/dist/public/sdk/trace-BvbCxdXF.js +1 -0
  485. package/dist/public/sdk/transaction-activity-D40ih2j-.js +1 -0
  486. package/dist/public/sdk/transactionReviewAdmission-C-a3ctCJ.js +1 -0
  487. package/dist/public/sdk/transactionState-DVinJk4K.js +1 -0
  488. package/dist/public/sdk/tx-confirm-ui.js +7 -11
  489. package/dist/public/sdk/{promptText-s8TQ6ckX.js → types-BNUuaUtl.js} +1 -1
  490. package/dist/public/sdk/{types-M7vxrYtJ.js → types-D3GM-uHR.js} +1 -1
  491. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  492. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  493. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  494. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  495. package/dist/public/sdk/wallet-recovery-C1kesLCF.js +1 -0
  496. package/dist/public/sdk/wallet-ui.css +1 -1
  497. package/dist/public/sdk/walletAuthMethodRecord-CXedSgpV.js +1 -0
  498. package/dist/public/sdk/walletAuthority-B5hXHWpK.js +1 -0
  499. package/dist/public/sdk/walletCustodyEcdsaContinuity-abNZ_dvX.js +1 -0
  500. package/dist/public/sdk/{walletIframeIdentity-C0b0XMQF.js → walletIframeIdentity-DJ0KOBHg.js} +1 -1
  501. package/dist/public/sdk/walletOwnershipGeneration-DoXVMDWe.js +1 -0
  502. package/dist/public/sdk/walletRecoveryCommit-Cc9AqHr0.js +1 -0
  503. package/dist/public/sdk/walletRecoveryRotate-DWTAFYiv.js +1 -0
  504. package/dist/public/sdk/walletSessionAuthorizationProjection-DWBksIJR.js +1 -0
  505. package/dist/public/sdk/walletSessionAuthorizationStatus-o1VgsLhA.js +1 -0
  506. package/dist/public/sdk/walletSessionAuthorizationStore-gEYPmu-G.js +1 -0
  507. package/dist/public/sdk/walletSessionFailure-Bu4VPKTz.js +1 -0
  508. package/dist/public/sdk/warmSessionHydration-DgjuUacN.js +1 -0
  509. package/dist/public/sdk/{webauthnP256-qu06GNFm.js → webauthnP256-BEz4DEAs.js} +1 -1
  510. package/dist/public/sdk/{webauthnPromptCoordinator-DO-qfECu.js → webauthnPromptCoordinator-BEudHQBr.js} +1 -1
  511. package/dist/public/sdk/workers/device-linking-key.worker.js +18 -0
  512. package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +1490 -1268
  513. package/dist/public/sdk/workers/ecdsa-online-client.worker.js +96 -0
  514. package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +101 -1
  515. package/dist/public/sdk/workers/email-otp.worker.js +267 -237
  516. package/dist/public/sdk/workers/evm-crypto.worker.js +12 -8
  517. package/dist/public/sdk/workers/passkey-mpc-export.worker.js +30 -1
  518. package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  519. package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  520. package/dist/public/sdk/workers/shamir3pass.worker.js +10 -8
  521. package/dist/public/sdk/workers/tempo-signer.worker.js +12 -8
  522. package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +3 -1
  523. package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
  524. package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
  525. package/dist/public/wallet-assets.manifest.json +391 -295
  526. package/dist/public/wallet-service/index.html +4 -4
  527. package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +2 -1
  528. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +10 -0
  529. package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +2 -1
  530. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +3 -1
  531. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +0 -9
  532. package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +1 -1
  533. package/dist/types/wallet/build-paths.d.ts +0 -4
  534. package/dist/types/wallet/src/SeamsWeb/SeamsWeb.d.ts +26 -146
  535. package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfaceAssembly.d.ts +7 -6
  536. package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfacePorts.d.ts +2 -4
  537. package/dist/types/wallet/src/SeamsWeb/assembly/createWalletIframeRouter.d.ts +2 -2
  538. package/dist/types/wallet/src/SeamsWeb/assembly/initializeBrowserSigningRuntime.d.ts +0 -2
  539. package/dist/types/wallet/src/SeamsWeb/index.d.ts +1 -1
  540. package/dist/types/wallet/src/SeamsWeb/operations/auth/login.d.ts +2 -8
  541. package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockCompletion.d.ts +26 -0
  542. package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockPendingRegistration.d.ts +14 -0
  543. package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockSessionPolicy.d.ts +16 -0
  544. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/challenge.d.ts +2 -2
  545. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +3 -2
  546. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/revokeAuthMethod.d.ts +17 -1
  547. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDevice.d.ts +0 -7
  548. package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostComposition.d.ts +2 -0
  549. package/dist/types/wallet/src/SeamsWeb/operations/near/actions.d.ts +4 -21
  550. package/dist/types/wallet/src/SeamsWeb/operations/near/delegateAction.d.ts +4 -14
  551. package/dist/types/wallet/src/SeamsWeb/operations/near/signDelegateAction.d.ts +14 -0
  552. package/dist/types/wallet/src/SeamsWeb/operations/near/signNEP413.d.ts +2 -2
  553. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.d.ts +11 -11
  554. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.d.ts +18 -4
  555. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +4 -20
  556. package/dist/types/wallet/src/SeamsWeb/operations/registration/registration.d.ts +10 -4
  557. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +1 -1
  558. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +1 -0
  559. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTerminalCommit.d.ts +0 -4
  560. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +2 -3
  561. package/dist/types/wallet/src/SeamsWeb/operations/tempo/index.d.ts +0 -3
  562. package/dist/types/wallet/src/SeamsWeb/publicApi/auth.d.ts +4 -13
  563. package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +22 -43
  564. package/dist/types/wallet/src/SeamsWeb/publicApi/devices.d.ts +3 -21
  565. package/dist/types/wallet/src/SeamsWeb/publicApi/evm.d.ts +10 -16
  566. package/dist/types/wallet/src/SeamsWeb/publicApi/evmFamilyCommands.d.ts +6 -0
  567. package/dist/types/wallet/src/SeamsWeb/publicApi/index.d.ts +2 -2
  568. package/dist/types/wallet/src/SeamsWeb/publicApi/keyExport.d.ts +8 -16
  569. package/dist/types/wallet/src/SeamsWeb/publicApi/near.d.ts +10 -10
  570. package/dist/types/wallet/src/SeamsWeb/publicApi/nearCommands.d.ts +17 -0
  571. package/dist/types/wallet/src/SeamsWeb/publicApi/placement.d.ts +90 -0
  572. package/dist/types/wallet/src/SeamsWeb/publicApi/placement.typecheck.d.ts +2 -0
  573. package/dist/types/wallet/src/SeamsWeb/publicApi/session.d.ts +3 -0
  574. package/dist/types/wallet/src/SeamsWeb/publicApi/tempo.d.ts +11 -11
  575. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +106 -243
  576. package/dist/types/wallet/src/SeamsWeb/publicApi/{awaitNearReady.d.ts → waitForNearAccount.d.ts} +7 -7
  577. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +33 -78
  578. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +8 -31
  579. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/deviceCommands.d.ts +4 -0
  580. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/emailOtpCommands.d.ts +4 -0
  581. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/evmFamilyCommands.d.ts +6 -0
  582. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/inboundMessages.d.ts +62 -0
  583. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/nearCommands.d.ts +6 -0
  584. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/placementCommands.d.ts +31 -0
  585. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/preferenceState.d.ts +35 -0
  586. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/preferences.d.ts +10 -0
  587. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/registrationCommands.d.ts +6 -0
  588. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +36 -121
  589. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/sessionCommands.d.ts +6 -0
  590. package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +29 -35
  591. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +98 -0
  592. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/controller.d.ts +2 -2
  593. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/context.d.ts +11 -9
  594. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createDeviceDomain.d.ts +20 -0
  595. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEmailOtpCommands.d.ts +11 -0
  596. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEvmFamilyCommands.d.ts +8 -0
  597. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createNearCommands.d.ts +4 -0
  598. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createPlacementCommands.d.ts +11 -0
  599. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createRegistrationCommands.d.ts +4 -0
  600. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createSessionCommands.d.ts +16 -0
  601. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/placement.d.ts +3 -0
  602. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/walletIframeHandler.types.d.ts +7 -3
  603. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/hostedWalletSeamsSession.d.ts +2 -0
  604. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/reconcileWalletPlacement.d.ts +10 -0
  605. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +4 -4
  606. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestWalletMove.d.ts +11 -0
  607. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeContext.d.ts +5 -3
  608. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeLoader.d.ts +0 -1
  609. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/sessionObserver.d.ts +39 -0
  610. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/walletMoveLocator.d.ts +5 -0
  611. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/walletMutationGuard.d.ts +3 -0
  612. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/configuration.d.ts +30 -0
  613. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/emailOtpLifecycle.d.ts +43 -0
  614. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionState.d.ts +15 -0
  615. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/facadeBoundary.d.ts +14 -0
  616. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +35 -100
  617. package/dist/types/wallet/src/core/config/chains.d.ts +1 -3
  618. package/dist/types/wallet/src/core/config/configBuilder.d.ts +16 -6
  619. package/dist/types/wallet/src/core/config/defaultConfigs.d.ts +3 -4
  620. package/dist/types/wallet/src/core/config/defineConfig.d.ts +3 -6
  621. package/dist/types/wallet/src/core/config/presignatures.d.ts +3 -0
  622. package/dist/types/wallet/src/core/diagnostics/registration.d.ts +2 -0
  623. package/dist/types/wallet/src/core/indexedDB/normalization.d.ts +5 -0
  624. package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +2 -2
  625. package/dist/types/wallet/src/core/indexedDB/pendingWalletRegistrationCommit.d.ts +0 -10
  626. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/accountSignerRows.d.ts +44 -0
  627. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.d.ts +0 -2
  628. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +0 -5
  629. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/manager.d.ts +11 -0
  630. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/nonceLeaseRows.d.ts +23 -0
  631. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +1 -0
  632. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/signerOutboxRows.d.ts +15 -0
  633. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletOwnershipGeneration.d.ts +6 -0
  634. package/dist/types/wallet/src/core/indexedDB/unifiedIndexedDBManager.d.ts +1 -1
  635. package/dist/types/wallet/src/core/rpcClients/near/accountExists.d.ts +3 -0
  636. package/dist/types/wallet/src/core/rpcClients/near/rpcCalls.d.ts +1 -14
  637. package/dist/types/wallet/src/core/rpcClients/relayer/ecdsaPrepareSession.d.ts +13 -0
  638. package/dist/types/wallet/src/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.d.ts +3 -3
  639. package/dist/types/wallet/src/core/rpcClients/relayer/relayerHttp.d.ts +17 -0
  640. package/dist/types/wallet/src/core/rpcClients/relayer/routerAbNormalSigning.d.ts +19 -3
  641. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +29 -40
  642. package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +34 -0
  643. package/dist/types/wallet/src/core/signingEngine/assembly/ports/shared.d.ts +1 -1
  644. package/dist/types/wallet/src/core/signingEngine/assembly/ports/warmSigning.d.ts +2 -1
  645. package/dist/types/wallet/src/core/signingEngine/assembly/warmup.d.ts +2 -14
  646. package/dist/types/wallet/src/core/signingEngine/chains/near/nearSignerWasm.d.ts +2 -6
  647. package/dist/types/wallet/src/core/signingEngine/flows/recovery/public.d.ts +1 -1
  648. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpPublic.d.ts +1 -32
  649. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.d.ts +3 -82
  650. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.d.ts +62 -1
  651. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/requireEvmFamilyStepUpAuth.d.ts +1 -1
  652. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +4 -55
  653. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlow.d.ts +1 -1
  654. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/thresholdAdmission.d.ts +3 -2
  655. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.d.ts +45 -1
  656. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signatureOnlySigning.d.ts +16 -2
  657. package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNear.d.ts +1 -2
  658. package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNep413.d.ts +1 -1
  659. package/dist/types/wallet/src/core/signingEngine/interfaces/ecdsaChainTarget.d.ts +1 -1
  660. package/dist/types/wallet/src/core/signingEngine/interfaces/near.d.ts +3 -0
  661. package/dist/types/wallet/src/core/signingEngine/nonce/nearTransactionReadiness.d.ts +3 -0
  662. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.d.ts +9 -5
  663. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePoolPolicy.d.ts +5 -0
  664. package/dist/types/wallet/src/core/signingEngine/session/SigningSessionCoordinator.d.ts +1 -7
  665. package/dist/types/wallet/src/core/signingEngine/session/availability/persistedAvailableSigningLanes.d.ts +1 -1
  666. package/dist/types/wallet/src/core/signingEngine/session/availability/readiness.d.ts +0 -17
  667. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.d.ts +2 -2
  668. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.d.ts +2 -33
  669. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecovery.d.ts +2 -2
  670. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecoveryRuntime.d.ts +14 -3
  671. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/publicTypes.d.ts +1 -2
  672. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/workerEnrollment.d.ts +0 -12
  673. package/dist/types/wallet/src/core/signingEngine/session/lanes/walletExecutionLaneHydration.d.ts +11 -25
  674. package/dist/types/wallet/src/core/signingEngine/session/lifecycle/walletSessionStatus.d.ts +0 -8
  675. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +2 -2
  676. package/dist/types/wallet/src/core/signingEngine/session/operationState/preparedOperation.d.ts +0 -8
  677. package/dist/types/wallet/src/core/signingEngine/session/operationState/trace.d.ts +1 -1
  678. package/dist/types/wallet/src/core/signingEngine/session/operationState/transactionState.d.ts +0 -1
  679. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.d.ts +2 -0
  680. package/dist/types/wallet/src/core/signingEngine/session/public.d.ts +1 -1
  681. package/dist/types/wallet/src/core/signingEngine/session/routerAbSigningWalletSession.d.ts +2 -0
  682. package/dist/types/wallet/src/core/signingEngine/session/userPreferences.d.ts +8 -11
  683. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReader.d.ts +2 -1
  684. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReaderCore.d.ts +2 -1
  685. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/confirmOperation.d.ts +3 -1
  686. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.d.ts +6 -12
  687. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/operationStepUp.d.ts +6 -5
  688. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +6 -17
  689. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/signing.d.ts +2 -0
  690. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/handlePromptFromWorker.d.ts +2 -0
  691. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.d.ts +1 -0
  692. package/dist/types/wallet/src/core/signingEngine/uiConfirm/uiConfirm.types.d.ts +3 -0
  693. package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyDriver.d.ts +0 -1
  694. package/dist/types/wallet/src/core/signingEngine/walletCustody/walletRegistrationEd25519.d.ts +17 -0
  695. package/dist/types/wallet/src/core/signingEngine/workerManager/SignerWorkerManager.d.ts +0 -1
  696. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignLifecycle.d.ts +0 -2
  697. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.d.ts +9 -0
  698. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +0 -5
  699. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +15 -27
  700. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/enrollment.d.ts +1 -17
  701. package/dist/types/wallet/src/core/types/rpc.d.ts +0 -1
  702. package/dist/types/wallet/src/core/types/sdkPublicResults.d.ts +1 -0
  703. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +2 -0
  704. package/dist/types/wallet/src/core/types/seams.d.ts +12 -9
  705. package/dist/types/wallet/src/core/types/signer-worker.d.ts +2 -1
  706. package/dist/types/wallet/src/externalEvm/controller.d.ts +5 -1
  707. package/dist/types/wallet/src/index.d.ts +5 -2
  708. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletRegionSection.d.ts +54 -0
  709. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +7 -2
  710. package/dist/types/wallet/src/react/components/AccountMenuButton/index.d.ts +1 -1
  711. package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +1 -0
  712. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/public.d.ts +1 -1
  713. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +2 -5
  714. package/dist/types/wallet/src/react/context/SeamsWebProvider.d.ts +0 -5
  715. package/dist/types/wallet/src/react/context/useLoginStateRefresher.d.ts +1 -1
  716. package/dist/types/wallet/src/react/context/useNearProvisioningStateRefresh.d.ts +1 -1
  717. package/dist/types/wallet/src/react/context/useSeamsContextValue.d.ts +2 -2
  718. package/dist/types/wallet/src/react/context/useWalletIframeLifecycle.d.ts +4 -2
  719. package/dist/types/wallet/src/react/hooks/useQRCamera.d.ts +1 -7
  720. package/dist/types/wallet/src/react/hooks/useWallet.d.ts +5 -6
  721. package/dist/types/wallet/src/react/hooks/useWalletAuth.d.ts +1 -1
  722. package/dist/types/wallet/src/react/hooks/useWalletDevices.d.ts +1 -1
  723. package/dist/types/wallet/src/react/index.d.ts +2 -2
  724. package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +0 -26
  725. package/dist/types/wallet/src/react/types.d.ts +12 -20
  726. package/dist/types/wallet/src/react/utils/walletIframe.d.ts +2 -6
  727. package/dist/workers/device-linking-key.worker.js +18 -0
  728. package/dist/workers/ecdsa-derivation-client.worker.js +1490 -1268
  729. package/dist/workers/ecdsa-online-client.worker.js +96 -0
  730. package/dist/workers/ecdsa-presign-client.worker.js +101 -1
  731. package/dist/workers/email-otp.worker.js +267 -237
  732. package/dist/workers/evm-crypto.worker.js +12 -8
  733. package/dist/workers/passkey-mpc-export.worker.js +30 -1
  734. package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  735. package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  736. package/dist/workers/shamir3pass.worker.js +10 -8
  737. package/dist/workers/tempo-signer.worker.js +12 -8
  738. package/dist/workers/wallet-custody-ceremony.worker.js +3 -1
  739. package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
  740. package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
  741. package/package.json +1 -1
  742. package/dist/esm/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +0 -817
  743. package/dist/esm/SeamsWeb/assembly/browserWorkerWarmupPolicy.js +0 -31
  744. package/dist/esm/SeamsWeb/assembly/configureBrowserIndexedDB.js +0 -10
  745. package/dist/esm/SeamsWeb/assembly/createBrowserRecoveryPublicDeps.js +0 -95
  746. package/dist/esm/SeamsWeb/assembly/createBrowserSigningRuntime.js +0 -34
  747. package/dist/esm/SeamsWeb/assembly/createBrowserSigningStores.js +0 -39
  748. package/dist/esm/SeamsWeb/assembly/createBrowserStepUpRuntime.js +0 -34
  749. package/dist/esm/SeamsWeb/assembly/createBrowserWarmSessionPublicDeps.js +0 -29
  750. package/dist/esm/SeamsWeb/assembly/initializeBrowserSigningRuntime.js +0 -19
  751. package/dist/esm/SeamsWeb/assembly/runtimeConfig.js +0 -12
  752. package/dist/esm/SeamsWeb/operations/auth/login.js +0 -4383
  753. package/dist/esm/SeamsWeb/operations/auth/scheduleEcdsaSessionPresignaturePrefill.js +0 -41
  754. package/dist/esm/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.js +0 -64
  755. package/dist/esm/SeamsWeb/operations/auth/walletAuth.js +0 -142
  756. package/dist/esm/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +0 -33
  757. package/dist/esm/SeamsWeb/operations/auth/walletUnlockSubject.js +0 -288
  758. package/dist/esm/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +0 -72
  759. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +0 -191
  760. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/challenge.js +0 -247
  761. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +0 -568
  762. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +0 -69
  763. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationAuthority.js +0 -62
  764. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +0 -69
  765. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +0 -95
  766. package/dist/esm/SeamsWeb/operations/authMethods/passkey/addPasskey.js +0 -260
  767. package/dist/esm/SeamsWeb/operations/authMethods/passkey/ecdsaBootstrap.js +0 -17
  768. package/dist/esm/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +0 -34
  769. package/dist/esm/SeamsWeb/operations/authMethods/passkey/localUnlock.js +0 -16
  770. package/dist/esm/SeamsWeb/operations/authMethods/passkey/loginAssertion.js +0 -25
  771. package/dist/esm/SeamsWeb/operations/authMethods/passkey/registrationAuthority.js +0 -84
  772. package/dist/esm/SeamsWeb/operations/authMethods/revokeAuthMethod.js +0 -205
  773. package/dist/esm/SeamsWeb/operations/authMethods/sourcePasskeyProof.js +0 -12
  774. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +0 -444
  775. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingComposition.js +0 -106
  776. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +0 -194
  777. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +0 -524
  778. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +0 -135
  779. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingResume.js +0 -212
  780. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingTargetCredential.js +0 -63
  781. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingTargetEd25519ExportRoot.js +0 -61
  782. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +0 -337
  783. package/dist/esm/SeamsWeb/operations/devices/linkDevice.js +0 -75
  784. package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlow.js +0 -1383
  785. package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +0 -143
  786. package/dist/esm/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +0 -119
  787. package/dist/esm/SeamsWeb/operations/devices/walletHostComposition.js +0 -130
  788. package/dist/esm/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +0 -191
  789. package/dist/esm/SeamsWeb/operations/evm/index.js +0 -35
  790. package/dist/esm/SeamsWeb/operations/near/actions.js +0 -484
  791. package/dist/esm/SeamsWeb/operations/near/commandSubject.js +0 -14
  792. package/dist/esm/SeamsWeb/operations/near/index.js +0 -37
  793. package/dist/esm/SeamsWeb/operations/near/signNEP413.js +0 -116
  794. package/dist/esm/SeamsWeb/operations/recovery/accountSync.js +0 -21
  795. package/dist/esm/SeamsWeb/operations/recovery/recoveryWalletBinding.js +0 -43
  796. package/dist/esm/SeamsWeb/operations/recovery/syncAccount.js +0 -912
  797. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCodeBackup.js +0 -100
  798. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryRotation.js +0 -213
  799. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +0 -184
  800. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +0 -247
  801. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +0 -134
  802. package/dist/esm/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +0 -354
  803. package/dist/esm/SeamsWeb/operations/registration/registration.js +0 -3818
  804. package/dist/esm/SeamsWeb/operations/registration/registrationEd25519Yao.js +0 -166
  805. package/dist/esm/SeamsWeb/operations/registration/registrationSignerSet.js +0 -60
  806. package/dist/esm/SeamsWeb/operations/registration/registrationStrictEcdsa.js +0 -343
  807. package/dist/esm/SeamsWeb/operations/registration/registrationTerminalCommit.js +0 -296
  808. package/dist/esm/SeamsWeb/operations/registration/registrationTiming.js +0 -682
  809. package/dist/esm/SeamsWeb/operations/session/thresholdEcdsaProvisioning.js +0 -36
  810. package/dist/esm/SeamsWeb/operations/session/thresholdWarmSessionBootstrap.js +0 -20
  811. package/dist/esm/SeamsWeb/publicApi/preferences.js +0 -61
  812. package/dist/esm/SeamsWeb/publicApi/recovery.js +0 -19
  813. package/dist/esm/SeamsWeb/publicApi/types.js +0 -10
  814. package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +0 -3917
  815. package/dist/esm/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.js +0 -29
  816. package/dist/esm/core/browser/walletIframe/events.js +0 -6
  817. package/dist/esm/core/browser/walletIframe/host-mode.js +0 -9
  818. package/dist/esm/core/config/managedRuntimeScope.js +0 -16
  819. package/dist/esm/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.js +0 -144
  820. package/dist/esm/core/platform/browser/createBrowserPlatformRuntime.js +0 -535
  821. package/dist/esm/core/platform/secretSources.js +0 -111
  822. package/dist/esm/core/platform/signerCoreCommandAdapters.js +0 -122
  823. package/dist/esm/core/rpcClients/near/rpcCalls.js +0 -376
  824. package/dist/esm/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.js +0 -67
  825. package/dist/esm/core/rpcClients/relayer/passkeyCustodyEnvelope.js +0 -218
  826. package/dist/esm/core/rpcClients/relayer/sealedRefreshCapabilities.js +0 -148
  827. package/dist/esm/core/rpcClients/relayer/thresholdEcdsa.js +0 -235
  828. package/dist/esm/core/rpcClients/relayer/walletRecoveryGoogleEmailOtp.js +0 -161
  829. package/dist/esm/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +0 -718
  830. package/dist/esm/core/signingEngine/assembly/createManagers.js +0 -80
  831. package/dist/esm/core/signingEngine/assembly/createPorts.js +0 -54
  832. package/dist/esm/core/signingEngine/assembly/ports/emailOtp.js +0 -30
  833. package/dist/esm/core/signingEngine/assembly/ports/evmFamily.js +0 -73
  834. package/dist/esm/core/signingEngine/assembly/ports/near.js +0 -21
  835. package/dist/esm/core/signingEngine/assembly/ports/recovery.js +0 -75
  836. package/dist/esm/core/signingEngine/assembly/ports/registration.js +0 -22
  837. package/dist/esm/core/signingEngine/assembly/ports/session.js +0 -25
  838. package/dist/esm/core/signingEngine/assembly/ports/shared.js +0 -39
  839. package/dist/esm/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -67
  840. package/dist/esm/core/signingEngine/assembly/ports/warmSigning.js +0 -92
  841. package/dist/esm/core/signingEngine/assembly/warmup.js +0 -64
  842. package/dist/esm/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +0 -427
  843. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportFlow.js +0 -660
  844. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +0 -249
  845. package/dist/esm/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +0 -353
  846. package/dist/esm/core/signingEngine/flows/recovery/exportKeypairOperation.js +0 -213
  847. package/dist/esm/core/signingEngine/flows/recovery/exportLaneSelection.js +0 -283
  848. package/dist/esm/core/signingEngine/flows/recovery/keyExportConfirmation.js +0 -325
  849. package/dist/esm/core/signingEngine/flows/recovery/keyExportFlow.js +0 -81
  850. package/dist/esm/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +0 -192
  851. package/dist/esm/core/signingEngine/flows/recovery/public.js +0 -26
  852. package/dist/esm/core/signingEngine/flows/recovery/stepUpAuthorization.js +0 -139
  853. package/dist/esm/core/signingEngine/flows/registration/nearProvisioningRegistry.js +0 -79
  854. package/dist/esm/core/signingEngine/flows/registration/public.js +0 -85
  855. package/dist/esm/core/signingEngine/flows/registration/services/ecdsaRegistrationSessions.js +0 -77
  856. package/dist/esm/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +0 -82
  857. package/dist/esm/core/signingEngine/flows/registration/session.js +0 -24
  858. package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpPublic.js +0 -123
  859. package/dist/esm/core/signingEngine/nonce/NonceCoordinator.js +0 -1026
  860. package/dist/esm/core/signingEngine/nonce/evmNonceLane.js +0 -182
  861. package/dist/esm/core/signingEngine/nonce/nearNonceLane.js +0 -669
  862. package/dist/esm/core/signingEngine/nonce/nonceDiagnostics.js +0 -232
  863. package/dist/esm/core/signingEngine/nonce/nonceLeaseState.js +0 -128
  864. package/dist/esm/core/signingEngine/nonce/nonceUtils.js +0 -33
  865. package/dist/esm/core/signingEngine/session/SigningSessionCoordinator.js +0 -344
  866. package/dist/esm/core/signingEngine/session/authority/authorityOperationResolver.js +0 -114
  867. package/dist/esm/core/signingEngine/session/availability/canonicalLaneInventory.js +0 -127
  868. package/dist/esm/core/signingEngine/session/availability/clientSessionExpiryInvalidator.js +0 -72
  869. package/dist/esm/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +0 -214
  870. package/dist/esm/core/signingEngine/session/availability/readiness.js +0 -464
  871. package/dist/esm/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +0 -130
  872. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaBootstrapCommit.js +0 -106
  873. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLifecycleRuntime.js +0 -47
  874. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLogin.js +0 -930
  875. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaPublication.js +0 -414
  876. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaRecovery.js +0 -264
  877. package/dist/esm/core/signingEngine/session/emailOtp/ed25519ExportContext.js +0 -373
  878. package/dist/esm/core/signingEngine/session/emailOtp/exportRecovery.js +0 -284
  879. package/dist/esm/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -50
  880. package/dist/esm/core/signingEngine/session/emailOtp/persistedSnapshot.js +0 -22
  881. package/dist/esm/core/signingEngine/session/emailOtp/publicTypes.js +0 -38
  882. package/dist/esm/core/signingEngine/session/emailOtp/routePlan.js +0 -60
  883. package/dist/esm/core/signingEngine/session/emailOtp/runtimeConfig.js +0 -24
  884. package/dist/esm/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -49
  885. package/dist/esm/core/signingEngine/session/emailOtp/sealedRestoreOrchestrator.js +0 -234
  886. package/dist/esm/core/signingEngine/session/emailOtp/sealedRuntimePurpose.js +0 -16
  887. package/dist/esm/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +0 -40
  888. package/dist/esm/core/signingEngine/session/emailOtp/status.js +0 -72
  889. package/dist/esm/core/signingEngine/session/emailOtp/walletUnlock.js +0 -168
  890. package/dist/esm/core/signingEngine/session/emailOtp/warmSessionRuntime.js +0 -70
  891. package/dist/esm/core/signingEngine/session/emailOtp/workerEnrollment.js +0 -159
  892. package/dist/esm/core/signingEngine/session/emailOtp/workerRequests.js +0 -84
  893. package/dist/esm/core/signingEngine/session/emailOtp/zeroize.js +0 -9
  894. package/dist/esm/core/signingEngine/session/identity/exactWalletSessionCredential.js +0 -104
  895. package/dist/esm/core/signingEngine/session/identity/exactWalletSessionReader.js +0 -54
  896. package/dist/esm/core/signingEngine/session/identity/ownerLaneScope.js +0 -185
  897. package/dist/esm/core/signingEngine/session/lanes/walletExecutionLaneHydration.js +0 -194
  898. package/dist/esm/core/signingEngine/session/lifecycle/canonicalWalletSessionStatus.js +0 -32
  899. package/dist/esm/core/signingEngine/session/lifecycle/walletSessionStatus.js +0 -123
  900. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityHydration.js +0 -75
  901. package/dist/esm/core/signingEngine/session/material/ecdsaSealedRuntime.js +0 -197
  902. package/dist/esm/core/signingEngine/session/material/mpcCapabilityHydration.js +0 -79
  903. package/dist/esm/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +0 -122
  904. package/dist/esm/core/signingEngine/session/material/restorableMpcMaterialRef.internal.js +0 -21
  905. package/dist/esm/core/signingEngine/session/passkey/ecdsaBootstrap.js +0 -184
  906. package/dist/esm/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +0 -205
  907. package/dist/esm/core/signingEngine/session/passkey/ecdsaRecovery.js +0 -84
  908. package/dist/esm/core/signingEngine/session/passkey/ecdsaSessionProvision.js +0 -224
  909. package/dist/esm/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.js +0 -147
  910. package/dist/esm/core/signingEngine/session/passkey/ed25519Provisioner.js +0 -55
  911. package/dist/esm/core/signingEngine/session/passkey/ed25519SessionProvision.js +0 -228
  912. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +0 -536
  913. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +0 -94
  914. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoSealedSession.js +0 -57
  915. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +0 -281
  916. package/dist/esm/core/signingEngine/session/passkey/passkeyCustodySessionCache.js +0 -90
  917. package/dist/esm/core/signingEngine/session/passkey/public.js +0 -15
  918. package/dist/esm/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.js +0 -247
  919. package/dist/esm/core/signingEngine/session/persistence/clientSessionPersistence.js +0 -135
  920. package/dist/esm/core/signingEngine/session/persistence/walletSessionAuthorizationProjection.js +0 -51
  921. package/dist/esm/core/signingEngine/session/planning/operationIdBinding.js +0 -36
  922. package/dist/esm/core/signingEngine/session/postconditions/runtimePostconditions.js +0 -163
  923. package/dist/esm/core/signingEngine/session/public.js +0 -44
  924. package/dist/esm/core/signingEngine/session/routerAbSigningWalletSession.js +0 -119
  925. package/dist/esm/core/signingEngine/session/sealedRecovery/exactRecordLookup.js +0 -148
  926. package/dist/esm/core/signingEngine/session/sealedRecovery/recoveryRecord.js +0 -248
  927. package/dist/esm/core/signingEngine/session/sealedRecovery/restoreCoordinator.js +0 -229
  928. package/dist/esm/core/signingEngine/session/userPreferences.js +0 -212
  929. package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReader.js +0 -62
  930. package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +0 -293
  931. package/dist/esm/core/signingEngine/session/warmCapabilities/clearVolatileWarmSigningMaterial.js +0 -44
  932. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaBootstrapPersistence.js +0 -107
  933. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaBootstrapQueue.js +0 -22
  934. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +0 -93
  935. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.js +0 -50
  936. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -9
  937. package/dist/esm/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +0 -251
  938. package/dist/esm/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +0 -98
  939. package/dist/esm/core/signingEngine/session/warmCapabilities/public.js +0 -31
  940. package/dist/esm/core/signingEngine/session/warmCapabilities/readModel.js +0 -155
  941. package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.js +0 -256
  942. package/dist/esm/core/signingEngine/session/warmCapabilities/statusReader.js +0 -100
  943. package/dist/esm/core/signingEngine/session/warmCapabilities/transitions.js +0 -47
  944. package/dist/esm/core/signingEngine/session/warmCapabilities/types.js +0 -122
  945. package/dist/esm/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +0 -45
  946. package/dist/esm/core/signingEngine/stepUpConfirmation/channel/confirmCommon.js +0 -89
  947. package/dist/esm/core/signingEngine/stepUpConfirmation/channel/confirmTypes.js +0 -12
  948. package/dist/esm/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.js +0 -31
  949. package/dist/esm/core/signingEngine/stepUpConfirmation/otpPrompt/exportAuthorization.js +0 -108
  950. package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +0 -271
  951. package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.js +0 -167
  952. package/dist/esm/core/signingEngine/stepUpConfirmation/userConfirmationType.js +0 -15
  953. package/dist/esm/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +0 -67
  954. package/dist/esm/core/signingEngine/threshold/ecdsa/activation.js +0 -267
  955. package/dist/esm/core/signingEngine/threshold/ecdsa/bootstrapSession.js +0 -115
  956. package/dist/esm/core/signingEngine/threshold/ecdsa/postRegistrationSessionActivation.js +0 -132
  957. package/dist/esm/core/signingEngine/threshold/ecdsa/signingQueue.js +0 -16
  958. package/dist/esm/core/signingEngine/threshold/ed25519/commitQueue.js +0 -16
  959. package/dist/esm/core/signingEngine/threshold/ed25519/connectSession.js +0 -137
  960. package/dist/esm/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.js +0 -146
  961. package/dist/esm/core/signingEngine/threshold/ed25519/yaoClient.js +0 -563
  962. package/dist/esm/core/signingEngine/threshold/ed25519/yaoPageLifecycleOwner.js +0 -23
  963. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcExportManager.js +0 -233
  964. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +0 -493
  965. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +0 -746
  966. package/dist/esm/core/signingEngine/uiConfirm/UiConfirmManager.js +0 -599
  967. package/dist/esm/core/signingEngine/uiConfirm/confirmationReadinessRegistry.js +0 -41
  968. package/dist/esm/core/signingEngine/uiConfirm/exportConfirmRequest.js +0 -149
  969. package/dist/esm/core/signingEngine/uiConfirm/handlers/determineConfirmationConfig.js +0 -82
  970. package/dist/esm/core/signingEngine/uiConfirm/handlers/flowOrchestrator.js +0 -363
  971. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +0 -337
  972. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/request.js +0 -120
  973. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/localOnly.js +0 -149
  974. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/registration.js +0 -235
  975. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/requestRegistrationCredentialConfirmation.js +0 -178
  976. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/signing.js +0 -684
  977. package/dist/esm/core/signingEngine/uiConfirm/handlers/handlePromptFromWorker.js +0 -90
  978. package/dist/esm/core/signingEngine/uiConfirm/ui/appearance.js +0 -27
  979. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-ui.js +0 -516
  980. package/dist/esm/core/signingEngine/uiConfirm/ui/export-private-key-reveal.js +0 -155
  981. package/dist/esm/core/signingEngine/uiConfirm/ui/export-viewer-host.js +0 -207
  982. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.js +0 -318
  983. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +0 -518
  984. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +0 -80
  985. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountExportPrivateKeySurface.js +0 -86
  986. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +0 -82
  987. package/dist/esm/core/signingEngine/uiConfirm/ui/surface-measurement-binding.js +0 -12
  988. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-activity.js +0 -46
  989. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/confirmation-tree.js +0 -27
  990. package/dist/esm/core/signingEngine/uiConfirm/warmSessionUiConfirm.js +0 -65
  991. package/dist/esm/core/signingEngine/walletCustody/activateEd25519Capability.js +0 -122
  992. package/dist/esm/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +0 -94
  993. package/dist/esm/core/signingEngine/walletCustody/ceremonyDriver.js +0 -171
  994. package/dist/esm/core/signingEngine/walletCustody/ceremonyStepRunner.js +0 -20
  995. package/dist/esm/core/signingEngine/walletCustody/ed25519ActiveClient.js +0 -100
  996. package/dist/esm/core/signingEngine/walletCustody/ed25519Projection.js +0 -32
  997. package/dist/esm/core/signingEngine/walletCustody/ed25519SeedMaterial.js +0 -92
  998. package/dist/esm/core/signingEngine/walletCustody/emailOtpLink.js +0 -132
  999. package/dist/esm/core/signingEngine/walletCustody/joinCustodyWire.js +0 -64
  1000. package/dist/esm/core/signingEngine/walletCustody/openCustodyCache.js +0 -126
  1001. package/dist/esm/core/signingEngine/walletCustody/passkeyLink.js +0 -180
  1002. package/dist/esm/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +0 -60
  1003. package/dist/esm/core/signingEngine/walletCustody/registrationCeremony.js +0 -460
  1004. package/dist/esm/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +0 -258
  1005. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryCredential.js +0 -23
  1006. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEcdsa.js +0 -75
  1007. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEd25519.js +0 -129
  1008. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryManifest.js +0 -178
  1009. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryRotation.js +0 -102
  1010. package/dist/esm/core/signingEngine/webauthnAuth/credentials/collectAuthenticationCredentialForChallengeB64u.js +0 -154
  1011. package/dist/esm/core/signingEngine/webauthnAuth/device/signerSlot.js +0 -25
  1012. package/dist/esm/core/signingEngine/webauthnAuth/walletOriginWebAuthn.js +0 -109
  1013. package/dist/esm/core/signingEngine/workerManager/SignerWorkerManager.js +0 -68
  1014. package/dist/esm/core/signingEngine/workerManager/deviceLinkingPorts.js +0 -342
  1015. package/dist/esm/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +0 -158
  1016. package/dist/esm/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +0 -13
  1017. package/dist/esm/core/signingEngine/workerManager/workerTransport.js +0 -734
  1018. package/dist/esm/core/types/confirmationConfig.js +0 -39
  1019. package/dist/esm/core/types/secure-confirm-worker.js +0 -22
  1020. package/dist/esm/core/walletRuntimePaths/emailOtpWorker.js +0 -12
  1021. package/dist/esm/core/walletRuntimePaths/multichainWorkers.js +0 -25
  1022. package/dist/esm/core/walletRuntimePaths/walletCustodyCeremonyWorker.js +0 -18
  1023. package/dist/esm/core/walletRuntimePaths/workers.js +0 -93
  1024. package/dist/esm/react/context/useEagerPrewarm.js +0 -38
  1025. package/dist/esm/sdk/EvmClient-DoxytQaJ.js +0 -1
  1026. package/dist/esm/sdk/NearClient-vJ65Wjrq.js +0 -1
  1027. package/dist/esm/sdk/NonceCoordinator-BBeadCSq.js +0 -1
  1028. package/dist/esm/sdk/accountLifecycle-EyfYPnuT.js +0 -1
  1029. package/dist/esm/sdk/actions-DZLxCcrU.js +0 -1
  1030. package/dist/esm/sdk/adapters-DtAyuoiA.js +0 -2
  1031. package/dist/esm/sdk/base-Xtd32asf.js +0 -1
  1032. package/dist/esm/sdk/bytes-t5S5mkat.js +0 -1
  1033. package/dist/esm/sdk/canonicalPrimitives-MPGET2cl.js +0 -1
  1034. package/dist/esm/sdk/canonicalSignerErrorCode-C0hh_SVi.js +0 -1
  1035. package/dist/esm/sdk/chains-yAls2d9X.js +0 -1
  1036. package/dist/esm/sdk/challengeDelivery-cAsaUC6U.js +0 -1
  1037. package/dist/esm/sdk/configHelpers-CseiVoZD.js +0 -1
  1038. package/dist/esm/sdk/csp-stylesheet-B1fAhrGB.js +0 -2
  1039. package/dist/esm/sdk/defaultConfigs-CWpApkMq.js +0 -1
  1040. package/dist/esm/sdk/display-jK7_hYho.js +0 -1
  1041. package/dist/esm/sdk/domainIds-GDzjOs6i.js +0 -1
  1042. package/dist/esm/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +0 -1
  1043. package/dist/esm/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +0 -1
  1044. package/dist/esm/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +0 -1
  1045. package/dist/esm/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +0 -1
  1046. package/dist/esm/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +0 -1
  1047. package/dist/esm/sdk/exactSessionState-CjD8gekO.js +0 -210
  1048. package/dist/esm/sdk/exactSigningLaneIdentity-olheZx_n.js +0 -1
  1049. package/dist/esm/sdk/export-viewer-host-jo7h_0wl.js +0 -1
  1050. package/dist/esm/sdk/helpers-D4QckQhq.js +0 -1
  1051. package/dist/esm/sdk/host-BAqOYnju.js +0 -1
  1052. package/dist/esm/sdk/intentDigest-CB6zy3lN.js +0 -1
  1053. package/dist/esm/sdk/jsxRuntime.module-CoHsKD_3.js +0 -1
  1054. package/dist/esm/sdk/keyMaterialBrands-uVZHfAh3.js +0 -1
  1055. package/dist/esm/sdk/localOnly-DBQRG6Qh.js +0 -1
  1056. package/dist/esm/sdk/messages-Cv2j4SKI.js +0 -1
  1057. package/dist/esm/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +0 -1
  1058. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +0 -1
  1059. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +0 -1
  1060. package/dist/esm/sdk/nearRpcResults--cBcfmp4.js +0 -1
  1061. package/dist/esm/sdk/normalization-BGPR6osg.js +0 -1
  1062. package/dist/esm/sdk/operationFingerprint-5-wH2Ht8.js +0 -1
  1063. package/dist/esm/sdk/passkey-custody-LP4UTFbn.js +0 -1
  1064. package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +0 -1
  1065. package/dist/esm/sdk/recovery-entrypoint-DkT8sFO5.js +0 -1
  1066. package/dist/esm/sdk/registration-Btozh7uh.js +0 -1
  1067. package/dist/esm/sdk/registration-CSAG_h4Y.js +0 -1
  1068. package/dist/esm/sdk/registrationIds-BIel5S0i.js +0 -1
  1069. package/dist/esm/sdk/registrationIntent-DV1GYZ3K.js +0 -1
  1070. package/dist/esm/sdk/registrationPreparationPreload-vOCqNuG4.js +0 -1
  1071. package/dist/esm/sdk/registrationSignerPlan-FzD3TwxB.js +0 -1
  1072. package/dist/esm/sdk/relayerHttp-DaPeS929.js +0 -1
  1073. package/dist/esm/sdk/routePlan-B_KJaPtm.js +0 -1
  1074. package/dist/esm/sdk/router-Dd3fFHk3.js +0 -1
  1075. package/dist/esm/sdk/routerAbNormalSigning-D_fHjq5l.js +0 -1
  1076. package/dist/esm/sdk/runtime-auth-B2M91rSx.js +0 -1
  1077. package/dist/esm/sdk/runtime-device-link-ojjPSRaG.js +0 -1
  1078. package/dist/esm/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +0 -1
  1079. package/dist/esm/sdk/runtime-email-otp-DDwtKVAe.js +0 -1
  1080. package/dist/esm/sdk/runtime-export-JXYk8sQ-.js +0 -1
  1081. package/dist/esm/sdk/runtime-near-BB8AG6dV.js +0 -1
  1082. package/dist/esm/sdk/runtime-preferences-DKFZYccW.js +0 -1
  1083. package/dist/esm/sdk/runtime-recovery-C_XjsDBg.js +0 -1
  1084. package/dist/esm/sdk/runtime-recovery-codes-CWp839mH.js +0 -1
  1085. package/dist/esm/sdk/runtimeContext-BpObgzbj.js +0 -6
  1086. package/dist/esm/sdk/runtimeLoader-DjgBf_yF.js +0 -1
  1087. package/dist/esm/sdk/sdkSentEvents-_RGAEeld.js +0 -1
  1088. package/dist/esm/sdk/secp256k1-B_6W9QDJ.js +0 -1
  1089. package/dist/esm/sdk/sessionPolicy-CNVK7nJ6.js +0 -1
  1090. package/dist/esm/sdk/shared-j_KsFbCT.js +0 -1
  1091. package/dist/esm/sdk/signEvmFamily-CcLVBm0f.js +0 -1
  1092. package/dist/esm/sdk/signNear-mWbTE2Dl.js +0 -1
  1093. package/dist/esm/sdk/signerDomain-BhUTzDmF.js +0 -1
  1094. package/dist/esm/sdk/signerLoader-By0IY24G.js +0 -1
  1095. package/dist/esm/sdk/signingFlow-LUWrZi2d.js +0 -2
  1096. package/dist/esm/sdk/trace-M34pNGuF.js +0 -1
  1097. package/dist/esm/sdk/transaction-activity-BbDod7ji.js +0 -1
  1098. package/dist/esm/sdk/transactionReview-CBE5oH4c.js +0 -1
  1099. package/dist/esm/sdk/transactionReviewAdmission-0ZgWs6q3.js +0 -1
  1100. package/dist/esm/sdk/transactionState-9d7f3xVj.js +0 -1
  1101. package/dist/esm/sdk/validation-dC1-_uyG.js +0 -1
  1102. package/dist/esm/sdk/wallet-recovery-CcDZ1hMH.js +0 -1
  1103. package/dist/esm/sdk/walletAuthority-CoWSeqvQ.js +0 -1
  1104. package/dist/esm/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +0 -1
  1105. package/dist/esm/sdk/walletRecoveryCommit-ljxVeo-d.js +0 -1
  1106. package/dist/esm/sdk/walletRecoveryRotate-HztDcDaY.js +0 -1
  1107. package/dist/esm/sdk/warmSessionHydration-BPGM0YRU.js +0 -1
  1108. package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +0 -16
  1109. package/dist/esm/shared-ts/src/device-linking/contracts.js +0 -8
  1110. package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +0 -167
  1111. package/dist/esm/shared-ts/src/passkey-custody/ceremonyCommitPayload.js +0 -43
  1112. package/dist/esm/shared-ts/src/signing-lanes/participants.js +0 -256
  1113. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +0 -479
  1114. package/dist/esm/shared-ts/src/threshold/secp256k1.js +0 -6
  1115. package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +0 -103
  1116. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +0 -43
  1117. package/dist/esm/shared-ts/src/utils/exactKeys.js +0 -17
  1118. package/dist/esm/shared-ts/src/utils/routerAbTraceContext.js +0 -36
  1119. package/dist/esm/shared-ts/src/utils/walletAddSignerActivation.js +0 -32
  1120. package/dist/public/sdk/EvmClient-DoxytQaJ.js +0 -1
  1121. package/dist/public/sdk/NearClient-vJ65Wjrq.js +0 -1
  1122. package/dist/public/sdk/NonceCoordinator-BBeadCSq.js +0 -1
  1123. package/dist/public/sdk/accountLifecycle-EyfYPnuT.js +0 -1
  1124. package/dist/public/sdk/actions-DZLxCcrU.js +0 -1
  1125. package/dist/public/sdk/adapters-DtAyuoiA.js +0 -2
  1126. package/dist/public/sdk/base-Xtd32asf.js +0 -1
  1127. package/dist/public/sdk/bytes-t5S5mkat.js +0 -1
  1128. package/dist/public/sdk/canonicalPrimitives-MPGET2cl.js +0 -1
  1129. package/dist/public/sdk/canonicalSignerErrorCode-C0hh_SVi.js +0 -1
  1130. package/dist/public/sdk/chains-yAls2d9X.js +0 -1
  1131. package/dist/public/sdk/challengeDelivery-cAsaUC6U.js +0 -1
  1132. package/dist/public/sdk/configHelpers-CseiVoZD.js +0 -1
  1133. package/dist/public/sdk/csp-stylesheet-B1fAhrGB.js +0 -2
  1134. package/dist/public/sdk/defaultConfigs-CWpApkMq.js +0 -1
  1135. package/dist/public/sdk/display-jK7_hYho.js +0 -1
  1136. package/dist/public/sdk/domainIds-GDzjOs6i.js +0 -1
  1137. package/dist/public/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +0 -1
  1138. package/dist/public/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +0 -1
  1139. package/dist/public/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +0 -1
  1140. package/dist/public/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +0 -1
  1141. package/dist/public/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +0 -1
  1142. package/dist/public/sdk/exactSessionState-CjD8gekO.js +0 -210
  1143. package/dist/public/sdk/exactSigningLaneIdentity-olheZx_n.js +0 -1
  1144. package/dist/public/sdk/export-viewer-host-jo7h_0wl.js +0 -1
  1145. package/dist/public/sdk/helpers-D4QckQhq.js +0 -1
  1146. package/dist/public/sdk/host-BAqOYnju.js +0 -1
  1147. package/dist/public/sdk/intentDigest-CB6zy3lN.js +0 -1
  1148. package/dist/public/sdk/jsxRuntime.module-CoHsKD_3.js +0 -1
  1149. package/dist/public/sdk/keyMaterialBrands-uVZHfAh3.js +0 -1
  1150. package/dist/public/sdk/localOnly-DBQRG6Qh.js +0 -1
  1151. package/dist/public/sdk/messages-Cv2j4SKI.js +0 -1
  1152. package/dist/public/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +0 -1
  1153. package/dist/public/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +0 -1
  1154. package/dist/public/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +0 -1
  1155. package/dist/public/sdk/nearRpcResults--cBcfmp4.js +0 -1
  1156. package/dist/public/sdk/normalization-BGPR6osg.js +0 -1
  1157. package/dist/public/sdk/operationFingerprint-5-wH2Ht8.js +0 -1
  1158. package/dist/public/sdk/passkey-custody-LP4UTFbn.js +0 -1
  1159. package/dist/public/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +0 -1
  1160. package/dist/public/sdk/recovery-entrypoint-DkT8sFO5.js +0 -1
  1161. package/dist/public/sdk/registration-Btozh7uh.js +0 -1
  1162. package/dist/public/sdk/registration-CSAG_h4Y.js +0 -1
  1163. package/dist/public/sdk/registrationIds-BIel5S0i.js +0 -1
  1164. package/dist/public/sdk/registrationIntent-DV1GYZ3K.js +0 -1
  1165. package/dist/public/sdk/registrationPreparationPreload-vOCqNuG4.js +0 -1
  1166. package/dist/public/sdk/registrationSignerPlan-FzD3TwxB.js +0 -1
  1167. package/dist/public/sdk/relayerHttp-DaPeS929.js +0 -1
  1168. package/dist/public/sdk/routePlan-B_KJaPtm.js +0 -1
  1169. package/dist/public/sdk/router-Dd3fFHk3.js +0 -1
  1170. package/dist/public/sdk/routerAbNormalSigning-D_fHjq5l.js +0 -1
  1171. package/dist/public/sdk/runtime-auth-B2M91rSx.js +0 -1
  1172. package/dist/public/sdk/runtime-device-link-ojjPSRaG.js +0 -1
  1173. package/dist/public/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +0 -1
  1174. package/dist/public/sdk/runtime-email-otp-DDwtKVAe.js +0 -1
  1175. package/dist/public/sdk/runtime-export-JXYk8sQ-.js +0 -1
  1176. package/dist/public/sdk/runtime-near-BB8AG6dV.js +0 -1
  1177. package/dist/public/sdk/runtime-preferences-DKFZYccW.js +0 -1
  1178. package/dist/public/sdk/runtime-recovery-C_XjsDBg.js +0 -1
  1179. package/dist/public/sdk/runtime-recovery-codes-CWp839mH.js +0 -1
  1180. package/dist/public/sdk/runtimeContext-BpObgzbj.js +0 -6
  1181. package/dist/public/sdk/runtimeLoader-DjgBf_yF.js +0 -1
  1182. package/dist/public/sdk/sdkSentEvents-_RGAEeld.js +0 -1
  1183. package/dist/public/sdk/secp256k1-B_6W9QDJ.js +0 -1
  1184. package/dist/public/sdk/sessionPolicy-CNVK7nJ6.js +0 -1
  1185. package/dist/public/sdk/shared-j_KsFbCT.js +0 -1
  1186. package/dist/public/sdk/signEvmFamily-CcLVBm0f.js +0 -1
  1187. package/dist/public/sdk/signNear-mWbTE2Dl.js +0 -1
  1188. package/dist/public/sdk/signerDomain-BhUTzDmF.js +0 -1
  1189. package/dist/public/sdk/signerLoader-By0IY24G.js +0 -1
  1190. package/dist/public/sdk/signingFlow-LUWrZi2d.js +0 -2
  1191. package/dist/public/sdk/trace-M34pNGuF.js +0 -1
  1192. package/dist/public/sdk/transaction-activity-BbDod7ji.js +0 -1
  1193. package/dist/public/sdk/transactionReview-CBE5oH4c.js +0 -1
  1194. package/dist/public/sdk/transactionReviewAdmission-0ZgWs6q3.js +0 -1
  1195. package/dist/public/sdk/transactionState-9d7f3xVj.js +0 -1
  1196. package/dist/public/sdk/validation-dC1-_uyG.js +0 -1
  1197. package/dist/public/sdk/wallet-recovery-CcDZ1hMH.js +0 -1
  1198. package/dist/public/sdk/walletAuthority-CoWSeqvQ.js +0 -1
  1199. package/dist/public/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +0 -1
  1200. package/dist/public/sdk/walletRecoveryCommit-ljxVeo-d.js +0 -1
  1201. package/dist/public/sdk/walletRecoveryRotate-HztDcDaY.js +0 -1
  1202. package/dist/public/sdk/warmSessionHydration-BPGM0YRU.js +0 -1
  1203. package/dist/public/sdk/workers/evm_crypto.wasm +0 -0
  1204. package/dist/public/sdk/workers/near_signer.wasm +0 -0
  1205. package/dist/public/sdk/workers/tempo_signer.wasm +0 -0
  1206. package/dist/types/wallet/src/SeamsWeb/assembly/browserWorkerWarmupPolicy.d.ts +0 -4
  1207. package/dist/types/wallet/src/SeamsWeb/assembly/configureBrowserIndexedDB.d.ts +0 -3
  1208. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletAuth.d.ts +0 -56
  1209. package/dist/types/wallet/src/SeamsWeb/operations/evm/index.d.ts +0 -9
  1210. package/dist/types/wallet/src/SeamsWeb/operations/near/index.d.ts +0 -11
  1211. package/dist/types/wallet/src/SeamsWeb/operations/recovery/accountSync.d.ts +0 -19
  1212. package/dist/types/wallet/src/SeamsWeb/publicApi/devices.typecheck.d.ts +0 -2
  1213. package/dist/types/wallet/src/SeamsWeb/publicApi/preferences.d.ts +0 -8
  1214. package/dist/types/wallet/src/SeamsWeb/publicApi/recovery.d.ts +0 -14
  1215. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/config-guards.d.ts +0 -15
  1216. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/registrationPreparationPreload.d.ts +0 -2
  1217. package/dist/types/wallet/src/core/signingEngine/flows/registration/public.d.ts +0 -68
  1218. package/dist/types/wallet/src/react/context/useEagerPrewarm.d.ts +0 -3
  1219. package/dist/workers/evm_crypto.wasm +0 -0
  1220. package/dist/workers/near_signer.wasm +0 -0
  1221. package/dist/workers/tempo_signer.wasm +0 -0
  1222. /package/dist/esm/sdk/{accountIds-C3Ihsd2c.js → accountIds-BzZs7YoX.js} +0 -0
  1223. /package/dist/esm/sdk/{base64-ojm5DKcF.js → base64-CsEj-_bC.js} +0 -0
  1224. /package/dist/esm/sdk/{browser-CsOGMbMy.js → browser-D4wUl_77.js} +0 -0
  1225. /package/dist/esm/sdk/{errors-DfbnsXjO.js → errors-BZO3LF6G.js} +0 -0
  1226. /package/dist/esm/sdk/{events-BJyVcnsn.js → events-DsQJQ0Cl.js} +0 -0
  1227. /package/dist/esm/sdk/{executeWorkerOperation-CrFf3FkL.js → executeWorkerOperation-BInr8RYN.js} +0 -0
  1228. /package/dist/esm/sdk/{jsonRpc-C85RYR0A.js → jsonRpc-DrCYQIM9.js} +0 -0
  1229. /package/dist/esm/sdk/{keccak-zexutGfG.js → keccak-B02Fekdh.js} +0 -0
  1230. /package/dist/esm/sdk/{profileAccountProjection-DHCaMtOu.js → profileAccountProjection-DmmfMood.js} +0 -0
  1231. /package/dist/esm/sdk/{signerSlot-BQ1g5JNV.js → signerSlot-Dto7dObP.js} +0 -0
  1232. /package/dist/esm/sdk/{surface-measurement-reporter-OICExWKE.js → surface-measurement-reporter-IlPOI3QK.js} +0 -0
  1233. /package/dist/public/sdk/{accountIds-C3Ihsd2c.js → accountIds-BzZs7YoX.js} +0 -0
  1234. /package/dist/public/sdk/{base64-ojm5DKcF.js → base64-CsEj-_bC.js} +0 -0
  1235. /package/dist/public/sdk/{browser-CsOGMbMy.js → browser-D4wUl_77.js} +0 -0
  1236. /package/dist/public/sdk/{errors-DfbnsXjO.js → errors-BZO3LF6G.js} +0 -0
  1237. /package/dist/public/sdk/{events-BJyVcnsn.js → events-DsQJQ0Cl.js} +0 -0
  1238. /package/dist/public/sdk/{executeWorkerOperation-CrFf3FkL.js → executeWorkerOperation-BInr8RYN.js} +0 -0
  1239. /package/dist/public/sdk/{jsonRpc-C85RYR0A.js → jsonRpc-DrCYQIM9.js} +0 -0
  1240. /package/dist/public/sdk/{keccak-zexutGfG.js → keccak-B02Fekdh.js} +0 -0
  1241. /package/dist/public/sdk/{profileAccountProjection-DHCaMtOu.js → profileAccountProjection-DmmfMood.js} +0 -0
  1242. /package/dist/public/sdk/{signerSlot-BQ1g5JNV.js → signerSlot-Dto7dObP.js} +0 -0
  1243. /package/dist/public/sdk/{surface-measurement-reporter-OICExWKE.js → surface-measurement-reporter-IlPOI3QK.js} +0 -0
@@ -1 +0,0 @@
1
- const e={};let t=null,n=null,r=null;function i(n){return n.type===`PM_ACKNOWLEDGE_WALLET_RECOVERY_CODE_BACKUP`?(t??=import(`./runtime-recovery-codes-CWp839mH.js`),t):(e[n.kind]??=c(n.kind),e[n.kind])}async function a(){e.near??=c(`near`),await Promise.all([e.near,s()])}async function o(){t??=import(`./runtime-recovery-codes-CWp839mH.js`),r??=Promise.all([t,import(`./mountRecoveryCodeBackupSurface-BBCTaQsu.js`)]).then(()=>void 0),await r}async function s(){n??=import(`./registrationPreparationPreload-vOCqNuG4.js`),await(await n).preloadWalletHostRegistrationPreparation()}function c(e){switch(e){case`auth`:return import(`./runtime-auth-B2M91rSx.js`);case`near`:return import(`./runtime-near-BB8AG6dV.js`);case`ecdsa`:return import(`./runtime-ecdsa-tempo-CE4JLgmn.js`);case`email_otp`:return import(`./runtime-email-otp-DDwtKVAe.js`);case`recovery`:return import(`./runtime-recovery-C_XjsDBg.js`);case`export`:return import(`./runtime-export-JXYk8sQ-.js`);case`device_link`:return import(`./runtime-device-link-ojjPSRaG.js`);case`preferences`:return import(`./runtime-preferences-DKFZYccW.js`)}return l(e)}function l(e){throw Error(`Unhandled wallet host runtime route: ${String(e)}`)}export{o as n,a as r,i as t};
@@ -1 +0,0 @@
1
- import{O as e,u as t}from"./domainIds-GDzjOs6i.js";import{h as n}from"./capabilityKinds-XaXXiD2B.js";import{o as r}from"./signerDomain-BhUTzDmF.js";const i={restore:`restore`,visibility:`visibility`,focus:`focus`,operationPreflight:`operation_preflight`,serverRejection:`server_rejection`};function a(e){return{version:1,event:`registration.near_provisioning_changed`,walletId:e.walletId,state:e.state}}function o(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0}function s(e){return typeof e==`string`&&e.trim().length>0}function c(e){switch(e){case`near_provisioning_interrupted`:case`near_finalize_failed`:case`near_capability_persist_failed`:case`near_seal_failed`:case`near_provisioning_failed`:return e;default:return null}}function l(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=Reflect.get(e,`updatedAtMs`);if(!o(t))return null;switch(Reflect.get(e,`status`)){case`near_pending`:return{status:`near_pending`,updatedAtMs:t};case`near_provisioning`:return{status:`near_provisioning`,updatedAtMs:t};case`near_ready`:{let n=Reflect.get(e,`nearAccountId`);return s(n)?{status:`near_ready`,updatedAtMs:t,nearAccountId:n}:null}case`near_failed_retryable`:{let n=Reflect.get(e,`error`);if(!s(n))return null;let r=c(Reflect.get(e,`errorCode`));return r?{status:`near_failed_retryable`,updatedAtMs:t,error:n,errorCode:r}:null}default:return null}}function u(e){switch(e){case i.restore:case i.visibility:case i.focus:case i.operationPreflight:case i.serverRejection:return e;default:return null}}function d(e){if(!o(e.expiresAtMs))throw Error(`signing_session.expired expiresAtMs must be a positive safe integer`);if(!o(e.detectedAtMs))throw Error(`signing_session.expired detectedAtMs must be a positive safe integer`);if(e.expiresAtMs>e.detectedAtMs)throw Error(`signing_session.expired timeline is invalid`);return{version:1,event:`signing_session.expired`,walletId:e.walletId,walletSessionId:e.walletSessionId,authMethod:e.authMethod,expiresAtMs:e.expiresAtMs,detectedAtMs:e.detectedAtMs,source:e.source}}function f(t){if(typeof t!=`object`||!t||Array.isArray(t)||Reflect.get(t,`version`)!==1)return null;switch(Reflect.get(t,`event`)){case`registration.near_provisioning_changed`:{let n=e(Reflect.get(t,`walletId`)),r=l(Reflect.get(t,`state`));return!n.ok||!r?null:{version:1,event:`registration.near_provisioning_changed`,walletId:n.value,state:r}}case`signing_session.expired`:break;default:return null}let i=e(Reflect.get(t,`walletId`));if(!i.ok)return null;let a=n(Reflect.get(t,`walletSessionId`));if(!a.ok)return null;let s=Reflect.get(t,`authMethod`);if(!r(s))return null;let c=Reflect.get(t,`expiresAtMs`);if(!o(c))return null;let d=Reflect.get(t,`detectedAtMs`);if(!o(d)||c>d)return null;let f=u(Reflect.get(t,`source`));return f?{version:1,event:`signing_session.expired`,walletId:i.value,walletSessionId:a.value,authMethod:s,expiresAtMs:c,detectedAtMs:d,source:f}:null}let p=function(e){return e.STEP_01_STARTED=`registration.started`,e.STEP_02_ACCOUNT_PREFLIGHT_STARTED=`registration.account.preflight.started`,e.STEP_02_ACCOUNT_PREFLIGHT_SUCCEEDED=`registration.account.preflight.succeeded`,e.STEP_03_SESSION_EXCHANGE_STARTED=`registration.session.exchange.started`,e.STEP_03_SESSION_EXCHANGE_SUCCEEDED=`registration.session.exchange.succeeded`,e.STEP_04_PASSKEY_CREATE_STARTED=`registration.auth.passkey.create.started`,e.STEP_04_PASSKEY_CREATE_SUCCEEDED=`registration.auth.passkey.create.succeeded`,e.STEP_04_OTP_CHALLENGE_STARTED=`registration.otp.challenge.started`,e.STEP_04_OTP_CHALLENGE_SENT=`registration.otp.challenge.sent`,e.STEP_04_OTP_INPUT_REQUIRED=`registration.otp.input.required`,e.STEP_04_OTP_VERIFY_STARTED=`registration.otp.verify.started`,e.STEP_04_OTP_VERIFY_SUCCEEDED=`registration.otp.verify.succeeded`,e.STEP_05_ED25519_SIGNER_PREPARE_STARTED=`registration.signer.ed25519.prepare.started`,e.STEP_05_ED25519_SIGNER_PREPARE_SUCCEEDED=`registration.signer.ed25519.prepare.succeeded`,e.STEP_05_ED25519_SIGNER_PROVISION_STARTED=`registration.signer.ed25519.provision.started`,e.STEP_05_ED25519_SIGNER_PROVISION_SUCCEEDED=`registration.signer.ed25519.provision.succeeded`,e.STEP_05_ED25519_SIGNER_PROVISION_SKIPPED=`registration.signer.ed25519.provision.skipped`,e.STEP_06_RELAY_BOOTSTRAP_STARTED=`registration.relay.bootstrap.started`,e.STEP_06_RELAY_BOOTSTRAP_SUCCEEDED=`registration.relay.bootstrap.succeeded`,e.STEP_07_ACCOUNT_VERIFY_STARTED=`registration.account.verify.started`,e.STEP_07_ACCOUNT_VERIFY_SUCCEEDED=`registration.account.verify.succeeded`,e.STEP_08_STORAGE_PERSIST_STARTED=`registration.storage.persist.started`,e.STEP_08_STORAGE_PERSIST_SUCCEEDED=`registration.storage.persist.succeeded`,e.STEP_09_EMAIL_OTP_SIGNER_ENROLL_STARTED=`registration.signer.email_otp.enroll.started`,e.STEP_09_EMAIL_OTP_SIGNER_ENROLL_SUCCEEDED=`registration.signer.email_otp.enroll.succeeded`,e.STEP_10_ECDSA_SIGNER_PROVISION_STARTED=`registration.signer.ecdsa.provision.started`,e.STEP_10_ECDSA_SIGNER_PROVISION_SUCCEEDED=`registration.signer.ecdsa.provision.succeeded`,e.STEP_10_ECDSA_SIGNER_PROVISION_SKIPPED=`registration.signer.ecdsa.provision.skipped`,e.STEP_10_ECDSA_SIGNER_BOOTSTRAP_STARTED=`registration.signer.ecdsa.bootstrap.started`,e.STEP_10_ECDSA_SIGNER_BOOTSTRAP_SUCCEEDED=`registration.signer.ecdsa.bootstrap.succeeded`,e.STEP_11_COMPLETED=`registration.completed`,e.FAILED=`registration.failed`,e.CANCELLED=`registration.cancelled`,e}({}),m=function(e){return e.STEP_01_STARTED=`unlock.started`,e.STEP_02_ACCOUNT_LOOKUP_STARTED=`unlock.account.lookup.started`,e.STEP_02_ACCOUNT_LOOKUP_SUCCEEDED=`unlock.account.lookup.succeeded`,e.STEP_03_PASSKEY_CHALLENGE_STARTED=`unlock.auth.passkey.challenge.started`,e.STEP_03_PASSKEY_PROMPT_STARTED=`unlock.auth.passkey.prompt.started`,e.STEP_03_PASSKEY_PROMPT_SUCCEEDED=`unlock.auth.passkey.prompt.succeeded`,e.STEP_03_EMAIL_OTP_CHALLENGE_STARTED=`unlock.auth.email_otp.challenge.started`,e.STEP_03_EMAIL_OTP_CHALLENGE_SENT=`unlock.auth.email_otp.challenge.sent`,e.STEP_03_EMAIL_OTP_INPUT_REQUIRED=`unlock.auth.email_otp.input.required`,e.STEP_03_EMAIL_OTP_VERIFY_STARTED=`unlock.auth.email_otp.verify.started`,e.STEP_03_EMAIL_OTP_VERIFY_SUCCEEDED=`unlock.auth.email_otp.verify.succeeded`,e.STEP_04_WALLET_UNLOCK_EXCHANGE_STARTED=`unlock.wallet.exchange.started`,e.STEP_04_WALLET_UNLOCK_EXCHANGE_SUCCEEDED=`unlock.wallet.exchange.succeeded`,e.STEP_04_WALLET_UNLOCK_EXCHANGE_SKIPPED=`unlock.wallet.exchange.skipped`,e.STEP_05_SIGNING_SESSION_WARMUP_STARTED=`unlock.signing_session.warmup.started`,e.STEP_05_ED25519_SIGNING_SESSION_READY=`unlock.signing_session.ed25519.ready`,e.STEP_05_ECDSA_SIGNING_SESSION_READY=`unlock.signing_session.ecdsa.ready`,e.STEP_06_SESSION_READY=`unlock.session.ready`,e.STEP_07_COMPLETED=`unlock.completed`,e.FAILED=`unlock.failed`,e.CANCELLED=`unlock.cancelled`,e}({}),h=function(e){return e.STEP_01_STARTED=`signing.started`,e.STEP_02_REQUEST_PREPARED=`signing.request.prepared`,e.STEP_03_NONCE_RESERVE_STARTED=`signing.nonce.reserve.started`,e.STEP_03_NONCE_RESERVE_SUCCEEDED=`signing.nonce.reserve.succeeded`,e.STEP_04_ACCOUNT_READINESS_STARTED=`signing.account.readiness.started`,e.STEP_04_ACCOUNT_READINESS_SUCCEEDED=`signing.account.readiness.succeeded`,e.STEP_04_ACCOUNT_READINESS_SKIPPED=`signing.account.readiness.skipped`,e.STEP_05_CONFIRMATION_DISPLAYED=`signing.confirmation.displayed`,e.STEP_05_CONFIRMATION_APPROVED=`signing.confirmation.approved`,e.STEP_05_CONFIRMATION_CANCELLED=`signing.confirmation.cancelled`,e.STEP_06_AUTH_WARM_SESSION_CLAIMED=`signing.auth.warm_session.claimed`,e.STEP_06_AUTH_PASSKEY_PROMPT_STARTED=`signing.auth.passkey.prompt.started`,e.STEP_06_AUTH_PASSKEY_PROMPT_SUCCEEDED=`signing.auth.passkey.prompt.succeeded`,e.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_STARTED=`signing.auth.email_otp.challenge.started`,e.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_SENT=`signing.auth.email_otp.challenge.sent`,e.STEP_06_AUTH_EMAIL_OTP_INPUT_REQUIRED=`signing.auth.email_otp.input.required`,e.STEP_06_AUTH_EMAIL_OTP_VERIFY_STARTED=`signing.auth.email_otp.verify.started`,e.STEP_06_AUTH_EMAIL_OTP_VERIFY_SUCCEEDED=`signing.auth.email_otp.verify.succeeded`,e.STEP_07_AUTHENTICATION_COMPLETE=`signing.authentication.complete`,e.STEP_08_SIGNER_PREPARE_STARTED=`signing.signer.prepare.started`,e.STEP_08_SIGNER_PREPARE_SUCCEEDED=`signing.signer.prepare.succeeded`,e.STEP_08_PRESIGN_REFILL_SCHEDULED=`signing.presign.refill.scheduled`,e.STEP_09_THRESHOLD_SESSION_RECONNECT_STARTED=`signing.threshold_session.reconnect.started`,e.STEP_09_THRESHOLD_SESSION_RECONNECT_SUCCEEDED=`signing.threshold_session.reconnect.succeeded`,e.STEP_10_COMMIT_QUEUED=`signing.commit.queued`,e.STEP_10_COMMIT_STARTED=`signing.commit.started`,e.STEP_10_COMMIT_SUCCEEDED=`signing.commit.succeeded`,e.STEP_11_TRANSACTION_SIGNED=`signing.transaction.signed`,e.STEP_11_REMAINING_SPEND_UPDATED=`signing.remaining_spend.updated`,e.STEP_12_BROADCAST_STARTED=`signing.broadcast.started`,e.STEP_12_BROADCAST_ACCEPTED=`signing.broadcast.accepted`,e.STEP_12_BROADCAST_REJECTED=`signing.broadcast.rejected`,e.STEP_13_NONCE_RECONCILE_STARTED=`signing.nonce.reconcile.started`,e.STEP_13_NONCE_RECONCILE_SUCCEEDED=`signing.nonce.reconcile.succeeded`,e.STEP_13_RECEIPT_FINALIZED=`signing.receipt.finalized`,e.STEP_13_RECEIPT_REVERTED=`signing.receipt.reverted`,e.STEP_13_TRANSACTION_DROPPED=`signing.transaction.dropped`,e.STEP_13_TRANSACTION_REPLACED=`signing.transaction.replaced`,e.STEP_13_BROADCAST_SKIPPED=`signing.broadcast.skipped`,e.STEP_14_APP_STATE_SYNC_STARTED=`signing.app_state.sync.started`,e.STEP_14_APP_STATE_SYNC_SUCCEEDED=`signing.app_state.sync.succeeded`,e.STEP_15_COMPLETED=`signing.completed`,e.FAILED=`signing.failed`,e.CANCELLED=`signing.cancelled`,e}({}),g=function(e){return e.STEP_01_QR_PREPARE_STARTED=`link_device.qr.prepare.started`,e.STEP_02_QR_SCAN_STARTED=`link_device.qr.scan.started`,e.FAILED=`link_device.failed`,e.CANCELLED=`link_device.cancelled`,e}({}),_=function(e){return e.STEP_01_STARTED=`account_sync.started`,e.STEP_02_PASSKEY_PROMPT_STARTED=`account_sync.auth.passkey.prompt.started`,e.STEP_02_PASSKEY_PROMPT_SUCCEEDED=`account_sync.auth.passkey.prompt.succeeded`,e.STEP_03_RELAY_VERIFY_STARTED=`account_sync.relay.verify.started`,e.STEP_03_RELAY_VERIFY_SUCCEEDED=`account_sync.relay.verify.succeeded`,e.STEP_04_AUTHENTICATOR_SAVED=`account_sync.authenticator.saved`,e.STEP_05_THRESHOLD_SESSION_READY=`account_sync.threshold_session.ready`,e.STEP_06_COMPLETED=`account_sync.completed`,e.FAILED=`account_sync.failed`,e.CANCELLED=`account_sync.cancelled`,e}({}),v=function(e){return e.STEP_01_STARTED=`key_export.started`,e.STEP_02_AUTH_PASSKEY_PROMPT_STARTED=`key_export.auth.passkey.prompt.started`,e.STEP_02_AUTH_PASSKEY_PROMPT_SUCCEEDED=`key_export.auth.passkey.prompt.succeeded`,e.STEP_02_AUTH_EMAIL_OTP_INPUT_REQUIRED=`key_export.auth.email_otp.input.required`,e.STEP_03_MATERIAL_PREPARE_STARTED=`key_export.material.prepare.started`,e.STEP_03_MATERIAL_PREPARE_SUCCEEDED=`key_export.material.prepare.succeeded`,e.STEP_04_VIEWER_OPENED=`key_export.viewer.opened`,e.STEP_05_VIEWER_CLOSED=`key_export.viewer.closed`,e.STEP_06_COMPLETED=`key_export.completed`,e.FAILED=`key_export.failed`,e.CANCELLED=`key_export.cancelled`,e}({});function y(n){if(n.phase===g.FAILED||n.status===`failed`)return{kind:`failed`};if(n.phase===g.CANCELLED||n.status===`cancelled`)return{kind:`cancelled`};if(n.phase!==g.STEP_02_QR_SCAN_STARTED||n.status!==`succeeded`)return{kind:`pending`};let r=e(String(n.walletId??``)),i=t(n.data?.enrollmentId);return r.ok&&i.ok?{kind:`active`,walletId:r.value}:{kind:`invalid_active`}}const b={[p.STEP_01_STARTED]:1,[p.STEP_02_ACCOUNT_PREFLIGHT_STARTED]:2,[p.STEP_02_ACCOUNT_PREFLIGHT_SUCCEEDED]:2,[p.STEP_03_SESSION_EXCHANGE_STARTED]:3,[p.STEP_03_SESSION_EXCHANGE_SUCCEEDED]:3,[p.STEP_04_PASSKEY_CREATE_STARTED]:4,[p.STEP_04_PASSKEY_CREATE_SUCCEEDED]:4,[p.STEP_04_OTP_CHALLENGE_STARTED]:4,[p.STEP_04_OTP_CHALLENGE_SENT]:4,[p.STEP_04_OTP_INPUT_REQUIRED]:4,[p.STEP_04_OTP_VERIFY_STARTED]:4,[p.STEP_04_OTP_VERIFY_SUCCEEDED]:4,[p.STEP_05_ED25519_SIGNER_PREPARE_STARTED]:5,[p.STEP_05_ED25519_SIGNER_PREPARE_SUCCEEDED]:5,[p.STEP_05_ED25519_SIGNER_PROVISION_STARTED]:5,[p.STEP_05_ED25519_SIGNER_PROVISION_SUCCEEDED]:5,[p.STEP_05_ED25519_SIGNER_PROVISION_SKIPPED]:5,[p.STEP_06_RELAY_BOOTSTRAP_STARTED]:6,[p.STEP_06_RELAY_BOOTSTRAP_SUCCEEDED]:6,[p.STEP_07_ACCOUNT_VERIFY_STARTED]:7,[p.STEP_07_ACCOUNT_VERIFY_SUCCEEDED]:7,[p.STEP_08_STORAGE_PERSIST_STARTED]:8,[p.STEP_08_STORAGE_PERSIST_SUCCEEDED]:8,[p.STEP_09_EMAIL_OTP_SIGNER_ENROLL_STARTED]:9,[p.STEP_09_EMAIL_OTP_SIGNER_ENROLL_SUCCEEDED]:9,[p.STEP_10_ECDSA_SIGNER_PROVISION_STARTED]:10,[p.STEP_10_ECDSA_SIGNER_PROVISION_SUCCEEDED]:10,[p.STEP_10_ECDSA_SIGNER_PROVISION_SKIPPED]:10,[p.STEP_10_ECDSA_SIGNER_BOOTSTRAP_STARTED]:10,[p.STEP_10_ECDSA_SIGNER_BOOTSTRAP_SUCCEEDED]:10,[p.STEP_11_COMPLETED]:11,[p.FAILED]:0,[p.CANCELLED]:0,[m.STEP_01_STARTED]:1,[m.STEP_02_ACCOUNT_LOOKUP_STARTED]:2,[m.STEP_02_ACCOUNT_LOOKUP_SUCCEEDED]:2,[m.STEP_03_PASSKEY_CHALLENGE_STARTED]:3,[m.STEP_03_PASSKEY_PROMPT_STARTED]:3,[m.STEP_03_PASSKEY_PROMPT_SUCCEEDED]:3,[m.STEP_03_EMAIL_OTP_CHALLENGE_STARTED]:3,[m.STEP_03_EMAIL_OTP_CHALLENGE_SENT]:3,[m.STEP_03_EMAIL_OTP_INPUT_REQUIRED]:3,[m.STEP_03_EMAIL_OTP_VERIFY_STARTED]:3,[m.STEP_03_EMAIL_OTP_VERIFY_SUCCEEDED]:3,[m.STEP_04_WALLET_UNLOCK_EXCHANGE_STARTED]:4,[m.STEP_04_WALLET_UNLOCK_EXCHANGE_SUCCEEDED]:4,[m.STEP_04_WALLET_UNLOCK_EXCHANGE_SKIPPED]:4,[m.STEP_05_SIGNING_SESSION_WARMUP_STARTED]:5,[m.STEP_05_ED25519_SIGNING_SESSION_READY]:5,[m.STEP_05_ECDSA_SIGNING_SESSION_READY]:5,[m.STEP_06_SESSION_READY]:6,[m.STEP_07_COMPLETED]:7,[m.FAILED]:0,[m.CANCELLED]:0,[h.STEP_01_STARTED]:1,[h.STEP_02_REQUEST_PREPARED]:2,[h.STEP_03_NONCE_RESERVE_STARTED]:3,[h.STEP_03_NONCE_RESERVE_SUCCEEDED]:3,[h.STEP_04_ACCOUNT_READINESS_STARTED]:4,[h.STEP_04_ACCOUNT_READINESS_SUCCEEDED]:4,[h.STEP_04_ACCOUNT_READINESS_SKIPPED]:4,[h.STEP_05_CONFIRMATION_DISPLAYED]:5,[h.STEP_05_CONFIRMATION_APPROVED]:5,[h.STEP_05_CONFIRMATION_CANCELLED]:5,[h.STEP_06_AUTH_WARM_SESSION_CLAIMED]:6,[h.STEP_06_AUTH_PASSKEY_PROMPT_STARTED]:6,[h.STEP_06_AUTH_PASSKEY_PROMPT_SUCCEEDED]:6,[h.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_STARTED]:6,[h.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_SENT]:6,[h.STEP_06_AUTH_EMAIL_OTP_INPUT_REQUIRED]:6,[h.STEP_06_AUTH_EMAIL_OTP_VERIFY_STARTED]:6,[h.STEP_06_AUTH_EMAIL_OTP_VERIFY_SUCCEEDED]:6,[h.STEP_07_AUTHENTICATION_COMPLETE]:7,[h.STEP_08_SIGNER_PREPARE_STARTED]:8,[h.STEP_08_SIGNER_PREPARE_SUCCEEDED]:8,[h.STEP_08_PRESIGN_REFILL_SCHEDULED]:8,[h.STEP_09_THRESHOLD_SESSION_RECONNECT_STARTED]:9,[h.STEP_09_THRESHOLD_SESSION_RECONNECT_SUCCEEDED]:9,[h.STEP_10_COMMIT_QUEUED]:10,[h.STEP_10_COMMIT_STARTED]:10,[h.STEP_10_COMMIT_SUCCEEDED]:10,[h.STEP_11_TRANSACTION_SIGNED]:11,[h.STEP_11_REMAINING_SPEND_UPDATED]:11,[h.STEP_12_BROADCAST_STARTED]:12,[h.STEP_12_BROADCAST_ACCEPTED]:12,[h.STEP_12_BROADCAST_REJECTED]:12,[h.STEP_13_NONCE_RECONCILE_STARTED]:13,[h.STEP_13_NONCE_RECONCILE_SUCCEEDED]:13,[h.STEP_13_RECEIPT_FINALIZED]:13,[h.STEP_13_RECEIPT_REVERTED]:13,[h.STEP_13_TRANSACTION_DROPPED]:13,[h.STEP_13_TRANSACTION_REPLACED]:13,[h.STEP_13_BROADCAST_SKIPPED]:13,[h.STEP_14_APP_STATE_SYNC_STARTED]:14,[h.STEP_14_APP_STATE_SYNC_SUCCEEDED]:14,[h.STEP_15_COMPLETED]:15,[h.FAILED]:0,[h.CANCELLED]:0,[g.STEP_01_QR_PREPARE_STARTED]:1,[g.STEP_02_QR_SCAN_STARTED]:2,[g.FAILED]:0,[g.CANCELLED]:0,[_.STEP_01_STARTED]:1,[_.STEP_02_PASSKEY_PROMPT_STARTED]:2,[_.STEP_02_PASSKEY_PROMPT_SUCCEEDED]:2,[_.STEP_03_RELAY_VERIFY_STARTED]:3,[_.STEP_03_RELAY_VERIFY_SUCCEEDED]:3,[_.STEP_04_AUTHENTICATOR_SAVED]:4,[_.STEP_05_THRESHOLD_SESSION_READY]:5,[_.STEP_06_COMPLETED]:6,[_.FAILED]:0,[_.CANCELLED]:0,[v.STEP_01_STARTED]:1,[v.STEP_02_AUTH_PASSKEY_PROMPT_STARTED]:2,[v.STEP_02_AUTH_PASSKEY_PROMPT_SUCCEEDED]:2,[v.STEP_02_AUTH_EMAIL_OTP_INPUT_REQUIRED]:2,[v.STEP_03_MATERIAL_PREPARE_STARTED]:3,[v.STEP_03_MATERIAL_PREPARE_SUCCEEDED]:3,[v.STEP_04_VIEWER_OPENED]:4,[v.STEP_05_VIEWER_CLOSED]:5,[v.STEP_06_COMPLETED]:6,[v.FAILED]:0,[v.CANCELLED]:0},x={[p.STEP_01_STARTED]:`Starting registration`,[p.STEP_02_ACCOUNT_PREFLIGHT_STARTED]:`Checking account details`,[p.STEP_02_ACCOUNT_PREFLIGHT_SUCCEEDED]:`Account details ready`,[p.STEP_03_SESSION_EXCHANGE_STARTED]:`Checking registration session`,[p.STEP_03_SESSION_EXCHANGE_SUCCEEDED]:`Registration session ready`,[p.STEP_04_PASSKEY_CREATE_STARTED]:`Create your passkey`,[p.STEP_04_PASSKEY_CREATE_SUCCEEDED]:`Passkey created`,[p.STEP_04_OTP_CHALLENGE_STARTED]:`Sending registration email code`,[p.STEP_04_OTP_CHALLENGE_SENT]:`Registration email code sent`,[p.STEP_04_OTP_INPUT_REQUIRED]:`Enter the registration code`,[p.STEP_04_OTP_VERIFY_STARTED]:`Verifying registration code`,[p.STEP_04_OTP_VERIFY_SUCCEEDED]:`Registration email verified`,[p.STEP_05_ED25519_SIGNER_PREPARE_STARTED]:`Preparing NEAR signer`,[p.STEP_05_ED25519_SIGNER_PREPARE_SUCCEEDED]:`NEAR signer ready`,[p.STEP_05_ED25519_SIGNER_PROVISION_STARTED]:`Preparing NEAR signer`,[p.STEP_05_ED25519_SIGNER_PROVISION_SUCCEEDED]:`NEAR signer ready`,[p.STEP_05_ED25519_SIGNER_PROVISION_SKIPPED]:`NEAR signer setup skipped`,[p.STEP_06_RELAY_BOOTSTRAP_STARTED]:`Creating wallet account`,[p.STEP_06_RELAY_BOOTSTRAP_SUCCEEDED]:`Wallet account created`,[p.STEP_07_ACCOUNT_VERIFY_STARTED]:`Verifying wallet account`,[p.STEP_07_ACCOUNT_VERIFY_SUCCEEDED]:`Wallet account verified`,[p.STEP_08_STORAGE_PERSIST_STARTED]:`Saving wallet metadata`,[p.STEP_08_STORAGE_PERSIST_SUCCEEDED]:`Wallet metadata saved`,[p.STEP_09_EMAIL_OTP_SIGNER_ENROLL_STARTED]:`Securing Email OTP registration`,[p.STEP_09_EMAIL_OTP_SIGNER_ENROLL_SUCCEEDED]:`Email OTP registration secured`,[p.STEP_10_ECDSA_SIGNER_PROVISION_STARTED]:`Preparing EVM signing session`,[p.STEP_10_ECDSA_SIGNER_PROVISION_SUCCEEDED]:`EVM signing session ready`,[p.STEP_10_ECDSA_SIGNER_PROVISION_SKIPPED]:`EVM signer setup skipped`,[p.STEP_10_ECDSA_SIGNER_BOOTSTRAP_STARTED]:`Preparing EVM signer`,[p.STEP_10_ECDSA_SIGNER_BOOTSTRAP_SUCCEEDED]:`EVM signer ready`,[p.STEP_11_COMPLETED]:`Registration complete`,[p.FAILED]:`Registration failed`,[p.CANCELLED]:`Registration cancelled`,[m.STEP_01_STARTED]:`Unlocking wallet`,[m.STEP_02_ACCOUNT_LOOKUP_STARTED]:`Finding wallet account`,[m.STEP_02_ACCOUNT_LOOKUP_SUCCEEDED]:`Wallet account found`,[m.STEP_03_PASSKEY_CHALLENGE_STARTED]:`Preparing passkey check`,[m.STEP_03_PASSKEY_PROMPT_STARTED]:`Confirm with passkey`,[m.STEP_03_PASSKEY_PROMPT_SUCCEEDED]:`Passkey confirmed`,[m.STEP_03_EMAIL_OTP_CHALLENGE_STARTED]:`Sending email code`,[m.STEP_03_EMAIL_OTP_CHALLENGE_SENT]:`Email code sent`,[m.STEP_03_EMAIL_OTP_INPUT_REQUIRED]:`Enter the email code`,[m.STEP_03_EMAIL_OTP_VERIFY_STARTED]:`Verifying email code`,[m.STEP_03_EMAIL_OTP_VERIFY_SUCCEEDED]:`Email verified`,[m.STEP_04_WALLET_UNLOCK_EXCHANGE_STARTED]:`Creating wallet session`,[m.STEP_04_WALLET_UNLOCK_EXCHANGE_SUCCEEDED]:`Wallet session ready`,[m.STEP_04_WALLET_UNLOCK_EXCHANGE_SKIPPED]:`Wallet session skipped`,[m.STEP_05_SIGNING_SESSION_WARMUP_STARTED]:`Preparing transaction signing`,[m.STEP_05_ED25519_SIGNING_SESSION_READY]:`NEAR signing authorization ready`,[m.STEP_05_ECDSA_SIGNING_SESSION_READY]:`EVM signing session ready`,[m.STEP_06_SESSION_READY]:`Wallet session ready`,[m.STEP_07_COMPLETED]:`Wallet unlocked`,[m.FAILED]:`Wallet unlock failed`,[m.CANCELLED]:`Wallet unlock cancelled`,[h.STEP_01_STARTED]:`Preparing transaction`,[h.STEP_02_REQUEST_PREPARED]:`Transaction ready for review`,[h.STEP_03_NONCE_RESERVE_STARTED]:`Reserving nonce`,[h.STEP_03_NONCE_RESERVE_SUCCEEDED]:`Nonce reserved`,[h.STEP_04_ACCOUNT_READINESS_STARTED]:`Checking account setup`,[h.STEP_04_ACCOUNT_READINESS_SUCCEEDED]:`Account setup verified`,[h.STEP_04_ACCOUNT_READINESS_SKIPPED]:`Account setup check skipped`,[h.STEP_05_CONFIRMATION_DISPLAYED]:`Review transaction`,[h.STEP_05_CONFIRMATION_APPROVED]:`Transaction approved`,[h.STEP_05_CONFIRMATION_CANCELLED]:`Transaction rejected`,[h.STEP_06_AUTH_WARM_SESSION_CLAIMED]:`Signing session authorized`,[h.STEP_06_AUTH_PASSKEY_PROMPT_STARTED]:`Confirm with passkey`,[h.STEP_06_AUTH_PASSKEY_PROMPT_SUCCEEDED]:`Passkey confirmed`,[h.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_STARTED]:`Sending email code`,[h.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_SENT]:`Email code sent`,[h.STEP_06_AUTH_EMAIL_OTP_INPUT_REQUIRED]:`Enter the email code`,[h.STEP_06_AUTH_EMAIL_OTP_VERIFY_STARTED]:`Verifying email code`,[h.STEP_06_AUTH_EMAIL_OTP_VERIFY_SUCCEEDED]:`Email verified`,[h.STEP_07_AUTHENTICATION_COMPLETE]:`Authentication complete`,[h.STEP_08_SIGNER_PREPARE_STARTED]:`Preparing secure signer`,[h.STEP_08_SIGNER_PREPARE_SUCCEEDED]:`Secure signer ready`,[h.STEP_08_PRESIGN_REFILL_SCHEDULED]:`Preparing future signatures`,[h.STEP_09_THRESHOLD_SESSION_RECONNECT_STARTED]:`Preparing signing session`,[h.STEP_09_THRESHOLD_SESSION_RECONNECT_SUCCEEDED]:`Secure signer loaded`,[h.STEP_10_COMMIT_QUEUED]:`Waiting to sign`,[h.STEP_10_COMMIT_STARTED]:`Signing transaction`,[h.STEP_10_COMMIT_SUCCEEDED]:`Transaction signature ready`,[h.STEP_11_TRANSACTION_SIGNED]:`Transaction signed`,[h.STEP_11_REMAINING_SPEND_UPDATED]:`Signing spend updated`,[h.STEP_12_BROADCAST_STARTED]:`Broadcasting transaction`,[h.STEP_12_BROADCAST_ACCEPTED]:`Transaction submitted`,[h.STEP_12_BROADCAST_REJECTED]:`Transaction broadcast failed`,[h.STEP_13_NONCE_RECONCILE_STARTED]:`Checking nonce state`,[h.STEP_13_NONCE_RECONCILE_SUCCEEDED]:`Nonce state updated`,[h.STEP_13_RECEIPT_FINALIZED]:`Transaction finalized`,[h.STEP_13_RECEIPT_REVERTED]:`Transaction reverted`,[h.STEP_13_TRANSACTION_DROPPED]:`Transaction dropped`,[h.STEP_13_TRANSACTION_REPLACED]:`Transaction replaced`,[h.STEP_13_BROADCAST_SKIPPED]:`Broadcast skipped`,[h.STEP_14_APP_STATE_SYNC_STARTED]:`Refreshing app state`,[h.STEP_14_APP_STATE_SYNC_SUCCEEDED]:`App state refreshed`,[h.STEP_15_COMPLETED]:`Transaction complete`,[h.FAILED]:`Transaction signing failed`,[h.CANCELLED]:`Transaction signing cancelled`,[g.STEP_01_QR_PREPARE_STARTED]:`Preparing device link`,[g.STEP_02_QR_SCAN_STARTED]:`Scanning QR code`,[g.FAILED]:`Device link failed`,[g.CANCELLED]:`Device link cancelled`,[_.STEP_01_STARTED]:`Starting account sync`,[_.STEP_02_PASSKEY_PROMPT_STARTED]:`Confirm with passkey`,[_.STEP_02_PASSKEY_PROMPT_SUCCEEDED]:`Passkey confirmed`,[_.STEP_03_RELAY_VERIFY_STARTED]:`Verifying account access`,[_.STEP_03_RELAY_VERIFY_SUCCEEDED]:`Account access verified`,[_.STEP_04_AUTHENTICATOR_SAVED]:`Passkey saved locally`,[_.STEP_05_THRESHOLD_SESSION_READY]:`Signing session ready`,[_.STEP_06_COMPLETED]:`Account synced`,[_.FAILED]:`Account sync failed`,[_.CANCELLED]:`Account sync cancelled`,[v.STEP_01_STARTED]:`Preparing key export`,[v.STEP_02_AUTH_PASSKEY_PROMPT_STARTED]:`Confirm with passkey`,[v.STEP_02_AUTH_PASSKEY_PROMPT_SUCCEEDED]:`Passkey confirmed`,[v.STEP_02_AUTH_EMAIL_OTP_INPUT_REQUIRED]:`Enter the email code`,[v.STEP_03_MATERIAL_PREPARE_STARTED]:`Preparing key material`,[v.STEP_03_MATERIAL_PREPARE_SUCCEEDED]:`Key material ready`,[v.STEP_04_VIEWER_OPENED]:`Review private key`,[v.STEP_05_VIEWER_CLOSED]:`Key export closed`,[v.STEP_06_COMPLETED]:`Key export complete`,[v.FAILED]:`Key export failed`,[v.CANCELLED]:`Key export cancelled`};function S(e){let t=e.interaction??(e.status===`failed`||e.status===`cancelled`?{kind:`none`,overlay:`hide`}:void 0);return{...e,...t?{interaction:t}:{},version:2,step:b[e.phase],message:e.message??x[e.phase]}}function C(e){return S({...e,flow:`registration`})}function w(e){return S({...e,flow:`unlock`})}function T(e){return S({...e,flow:`link_device`})}function E(e){return S({...e,flow:`account_sync`})}function D(e){return S({...e,flow:`key_export`})}function O(e){return S({...e,flow:`signing`})}function k(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.version===2&&typeof t.flow==`string`}export{k as _,i as a,y as c,T as d,a as f,w as g,d as h,p as i,E as l,O as m,v as n,h as o,C as p,g as r,m as s,_ as t,D as u,l as v,f as y};
@@ -1 +0,0 @@
1
- import{n as e}from"./chunk-dVx5-UGu.js";import{B as t,V as n,h as r,r as i}from"./domainIds-GDzjOs6i.js";import{i as a,r as o}from"./base64-ojm5DKcF.js";import{r as s}from"./secureRandomId-CTdlJ5Mx.js";import{Et as c,F as l,I as u,St as d,d as f,g as p,l as m,nt as h,o as g,s as _,t as v,u as y}from"./ecdsaPresignLifecycle-CQnCxSlq.js";import{a as ee,c as te,l as ne,o as re,s as ie,u as ae}from"./keyMaterialBrands-uVZHfAh3.js";import{n as b,t as oe}from"./ecdsaPresignPoolIdentity-Ci-ovDlv.js";import{i as x,n as S,r as se,u as C}from"./trace-M34pNGuF.js";import{t as w}from"./defaultConfigs-CWpApkMq.js";import{t as T}from"./executeWorkerOperation-CrFf3FkL.js";import{c as ce,o as le,t as E}from"./routerAbNormalSigning-D_fHjq5l.js";import{o as D,s as ue,t as O}from"./evmCryptoWasm-CwEXiLrC.js";const de={WORKER_READY:`WORKER_READY`},k={PrepareThresholdEcdsaDerivationRoleLocalClientBootstrap:7e4,FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrap:70001,CreateRouterAbEcdsaRegistrationCeremony:70005,VerifyRouterAbEcdsaRegistrationClientProofs:70006,CloseRouterAbEcdsaRegistrationCeremony:70007,FinalizeRouterAbEcdsaRegistrationActivation:70008,CreateRouterAbEcdsaPostRegistrationCeremony:70009,FinalizeRouterAbEcdsaExplicitExport:70010,CloseRouterAbEcdsaPostRegistrationCeremony:70011,StoreThresholdEcdsaRoleLocalSigningMaterial:70004,RehydrateEcdsaRoleLocalSigningMaterial:70015,PersistInitialCanonicalEcdsaActivation:70016,ReconcileCanonicalEcdsaActivation:70017,PrewarmEcdsaRegistrationCrypto:70018,VerifyRouterAbEcdsaPostRegistrationProofs:70019,SignWalletRecoveryEcdsaMaterialPossessionProof:70020,PrepareLinkedDeviceEcdsaSourceContribution:70022,StoreLinkedDeviceEcdsaHolderMaterial:70023,DisposeLinkedDeviceEcdsaHolderMaterials:70024,CreateEcdsaHolderOrdinaryExportRequest:70027,FinalizeEcdsaHolderOrdinaryExport:70028},A={PrepareThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess:70100,FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess:70101,CreateRouterAbEcdsaRegistrationCeremonySuccess:70105,VerifyRouterAbEcdsaRegistrationClientProofsSuccess:70106,CloseRouterAbEcdsaRegistrationCeremonySuccess:70107,FinalizeRouterAbEcdsaRegistrationActivationSuccess:70108,CreateRouterAbEcdsaPostRegistrationCeremonySuccess:70109,FinalizeRouterAbEcdsaExplicitExportSuccess:70110,CloseRouterAbEcdsaPostRegistrationCeremonySuccess:70111,StoreThresholdEcdsaRoleLocalSigningMaterialSuccess:70104,RehydrateEcdsaRoleLocalSigningMaterialSuccess:70115,PersistInitialCanonicalEcdsaActivationSuccess:70116,ReconcileCanonicalEcdsaActivationSuccess:70117,PrewarmEcdsaRegistrationCryptoSuccess:70118,VerifyRouterAbEcdsaPostRegistrationProofsSuccess:70119,SignWalletRecoveryEcdsaMaterialPossessionProofSuccess:70120,PrepareLinkedDeviceEcdsaSourceContributionSuccess:70122,StoreLinkedDeviceEcdsaHolderMaterialSuccess:70123,DisposeLinkedDeviceEcdsaHolderMaterialsSuccess:70124,CreateEcdsaHolderOrdinaryExportRequestSuccess:70127,FinalizeEcdsaHolderOrdinaryExportSuccess:70128},j={SessionInit:71e3,SessionStep:71001,SessionAbort:71002,Admit:71003,Destroy:71004,Reserve:71005,Commit:71006,ListAvailable:71007,ClearWallet:71008},M={SessionInitSuccess:71100,SessionStepSuccess:71101,SessionAbortSuccess:71102,AdmitSuccess:71103,DestroySuccess:71104,ReserveSuccess:71105,CommitSuccess:71106,ListAvailableSuccess:71107,ClearWalletSuccess:71108},fe={ComputeSignatureShare:72e3},N={ComputeSignatureShareSuccess:72100};var pe=class extends Error{constructor(e){super(e.message),this.name=`SignerWorkerOperationError`,this.code=(e.code||`SIGNER_INTERNAL`).trim(),this.coreCode=e.coreCode?.trim()||void 0,this.workerKind=e.workerKind}};function me(e){if(!e||typeof e!=`object`)return;let t=e.code;if(typeof t!=`string`)return;let n=t.trim();return n.length?n:void 0}function he(e){if(!e||typeof e!=`object`)return;let t=e.coreCode;if(typeof t!=`string`)return;let n=t.trim();return n.length?n:void 0}const P=2e4;function ge(e){return{presignatureId:e.presignatureId,materialHandle:e.materialHandle,bigR33:new Uint8Array(e.bigR33),createdAtMs:e.createdAtMs,expiresAtMs:e.expiresAtMs}}async function F(e){return await T({ctx:e.workerCtx,kind:`ecdsaDerivationClient`,request:e.request})}async function _e(e){return await T({ctx:e.workerCtx,kind:`ecdsaDerivationClient`,request:e.request})}async function I(e){return await T({ctx:e.workerCtx,kind:`ecdsaPresignClient`,request:e.request})}async function ve(e){return await T({ctx:e.workerCtx,kind:`ecdsaOnlineClient`,request:e.request})}async function ye(e){let t=await F({workerCtx:e.workerCtx,request:{type:k.PrepareThresholdEcdsaDerivationRoleLocalClientBootstrap,timeoutMs:P,payload:e.command}});if(t.type!==A.PrepareThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess)throw Error(`PrepareThresholdEcdsaDerivationRoleLocalClientBootstrap failed`);return t.payload}async function be(e){let t=await F({workerCtx:e.workerCtx,request:{type:k.FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrap,timeoutMs:P,payload:e.command}});if(t.type!==A.FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrapSuccess)throw Error(`FinalizeThresholdEcdsaDerivationRoleLocalClientBootstrap failed`);return t.payload}async function xe(e){let t=await F({workerCtx:e.workerCtx,request:{type:k.CreateRouterAbEcdsaRegistrationCeremony,timeoutMs:P,payload:e.command}});if(t.type!==A.CreateRouterAbEcdsaRegistrationCeremonySuccess)throw Error(`Router A/B ECDSA registration ceremony creation failed`);return t.payload}async function Se(e){let t=await F({workerCtx:e.workerCtx,request:{type:k.VerifyRouterAbEcdsaRegistrationClientProofs,timeoutMs:P,payload:e.command}});if(t.type!==A.VerifyRouterAbEcdsaRegistrationClientProofsSuccess)throw Error(`Router A/B ECDSA registration client proof verification failed`);return t.payload}async function Ce(e){let t=await F({workerCtx:e.workerCtx,request:{type:k.FinalizeRouterAbEcdsaRegistrationActivation,timeoutMs:P,payload:e.command}});if(t.type!==A.FinalizeRouterAbEcdsaRegistrationActivationSuccess)throw Error(`Router A/B ECDSA registration activation finalization failed`);return t.payload}async function we(e){let t=await F({workerCtx:e.workerCtx,request:{type:k.PersistInitialCanonicalEcdsaActivation,timeoutMs:P,payload:e.command}});if(t.type!==A.PersistInitialCanonicalEcdsaActivationSuccess)throw Error(`Initial canonical ECDSA activation persistence failed`);return t.payload}async function Te(e){let t=await F({workerCtx:e.workerCtx,request:{type:k.ReconcileCanonicalEcdsaActivation,timeoutMs:P,payload:e.command}});if(t.type!==A.ReconcileCanonicalEcdsaActivationSuccess)throw Error(`Canonical ECDSA activation reconciliation failed`);let n=t.payload;return n.kind===`canonical_ecdsa_activation_committed_finalization_required_v1`?{kind:`canonical_ecdsa_activation_reconciliation_pending_v1`,journalId:n.journalId,reason:`wallet_custody_rejoin_required`,activationCommand:null}:n}async function Ee(e){let t=await F({workerCtx:e.workerCtx,request:{type:k.CloseRouterAbEcdsaRegistrationCeremony,timeoutMs:P,payload:e.command}});if(t.type!==A.CloseRouterAbEcdsaRegistrationCeremonySuccess)throw Error(`Router A/B ECDSA registration ceremony close failed`);return t.payload}async function De(e){let t=await F({workerCtx:e.workerCtx,request:{type:k.CreateRouterAbEcdsaPostRegistrationCeremony,timeoutMs:P,payload:e.command}});if(t.type!==A.CreateRouterAbEcdsaPostRegistrationCeremonySuccess)throw Error(`Router A/B ECDSA post-registration ceremony creation failed`);return t.payload}async function Oe(e){let t=await F({workerCtx:e.workerCtx,request:{type:k.FinalizeRouterAbEcdsaExplicitExport,timeoutMs:P,payload:e.command}});if(t.type!==A.FinalizeRouterAbEcdsaExplicitExportSuccess)throw Error(`Router A/B ECDSA post-registration client proof finalization failed`);return t.payload}async function ke(e){let t=await F({workerCtx:e.workerCtx,request:{type:k.CloseRouterAbEcdsaPostRegistrationCeremony,timeoutMs:P,payload:e.command}});if(t.type!==A.CloseRouterAbEcdsaPostRegistrationCeremonySuccess)throw Error(`Router A/B ECDSA post-registration ceremony close failed`);return t.payload}async function Ae(e){let t=await F({workerCtx:e.workerCtx,request:{type:k.StoreThresholdEcdsaRoleLocalSigningMaterial,timeoutMs:P,payload:{materialHandle:e.materialHandle,bindingDigest:e.bindingDigest,stateBlob:e.stateBlob}}});if(t.type!==A.StoreThresholdEcdsaRoleLocalSigningMaterialSuccess)throw Error(`StoreThresholdEcdsaRoleLocalSigningMaterial failed`);return t.payload}function je(e,t){return t.durableMaterialRef===e.durableMaterialRef&&t.bindingDigest===e.bindingDigest}async function Me(e){let t=h(e.authority);if(!t)throw Error(`ECDSA role-local signing material authority is invalid`);let n=r(e.materialActivation);if(!n.ok)throw Error(n.error.message);let a=n.value,o=await F({workerCtx:e.workerCtx,request:{type:k.RehydrateEcdsaRoleLocalSigningMaterial,timeoutMs:P,payload:{kind:`open_ecdsa_role_local_signing_material_v1`,authority:t,materialActivation:a}}});if(o.type!==A.RehydrateEcdsaRoleLocalSigningMaterialSuccess)throw Error(`OpenEcdsaRoleLocalSigningMaterial failed`);let s=o.payload;switch(s.kind){case`ecdsa_role_local_signing_material_unavailable_v1`:return{ok:!1,reason:s.reason};case`ecdsa_role_local_signing_material_opened_v1`:{let e=ee(s.materialRef);if(!i(a,e.materialActivation))throw Error(`ECDSA role-local signing material open changed its activation identity`);let t=re(s.liveHandle);if(!je(e,t))throw Error(`ECDSA role-local signing material hydration changed its identity`);return{ok:!0,liveHandle:t,materialRef:e}}default:{let e=s;throw Error(`ECDSA role-local signing material hydration response kind is invalid: ${String(e)}`)}}}async function Ne(e){let t=await F({workerCtx:e.workerCtx,request:{type:k.SignWalletRecoveryEcdsaMaterialPossessionProof,timeoutMs:P,payload:{kind:`sign_wallet_recovery_ecdsa_material_possession_proof_v1`,challenge:e.challenge,stateBlob:e.stateBlob}}});if(t.type!==A.SignWalletRecoveryEcdsaMaterialPossessionProofSuccess)throw Error(`Wallet recovery ECDSA possession proof signing failed`);return t.payload}async function Pe(e){let t=await F({workerCtx:e.workerCtx,request:{type:k.PrepareLinkedDeviceEcdsaSourceContribution,timeoutMs:P,payload:{kind:`prepare_linked_device_ecdsa_source_contribution_v1`,preparation:e.preparation,...e.linkedHolderHandleId===void 0?{}:{linkedHolderHandleId:e.linkedHolderHandleId}}}});if(t.type!==A.PrepareLinkedDeviceEcdsaSourceContributionSuccess)throw Error(`Linked-device ECDSA source contribution preparation failed`);return t.payload}function Fe(e){let t=Array.isArray(e.outgoingMessages)?e.outgoingMessages.map(e=>new Uint8Array(e)):[];switch(e.event){case`final_batch_ready`:return{stage:`presign`,event:e.event,outgoingMessages:t,candidateBigR33:new Uint8Array(e.candidateBigR33)};case`presign_done`:return{stage:`done`,event:e.event,outgoingMessages:t,presignatureHandle:e.presignatureHandle,presignatureBigR33:new Uint8Array(e.presignatureBigR33)};case`none`:case`triples_done`:return{stage:e.stage,event:e.event,outgoingMessages:t}}}async function Ie(e){let t=e.groupPublicKey33.slice(),n=await I({workerCtx:e.workerCtx,request:{type:j.SessionInit,timeoutMs:P,payload:{authority:{kind:`role_local_derivation_handle`,materialHandle:e.materialHandle,material:e.material},sessionId:e.sessionId,groupPublicKey33:t.buffer,ceremonyExpiresAtMs:e.ceremonyExpiresAtMs,materialExpiresAtMs:e.materialExpiresAtMs,poolIdentity:e.poolIdentity},transfer:[t.buffer]}});if(n.type!==M.SessionInitSuccess)throw Error(`ThresholdEcdsaRoleLocalPresignSessionInitFromMaterialHandle failed`);if(n.payload.authority.kind!==`role_local_derivation_handle`)throw Error(`ECDSA role-local presign returned a different authority`);return Fe(n.payload.progress)}async function Le(e){let t=e.groupPublicKey33.slice(),n=await I({workerCtx:e.workerCtx,request:{type:j.SessionInit,timeoutMs:P,payload:{authority:{kind:`linked_holder_signing_material`,holderHandleId:e.holderHandleId},sessionId:e.sessionId,groupPublicKey33:t.buffer,ceremonyExpiresAtMs:e.ceremonyExpiresAtMs,materialExpiresAtMs:e.materialExpiresAtMs,poolIdentity:e.poolIdentity},transfer:[t.buffer]}});if(n.type!==M.SessionInitSuccess)throw Error(`Linked holder ECDSA presign initialization failed`);if(n.payload.authority.kind!==`linked_holder_signing_material`)throw Error(`Linked holder ECDSA presign returned a different authority`);return Fe(n.payload.progress)}async function Re(e){if(e.holderHandleId.trim().length===0)throw Error(`ECDSA holder handle must be non-empty`);let t=await _e({workerCtx:e.workerCtx,request:{type:k.CreateEcdsaHolderOrdinaryExportRequest,timeoutMs:P,payload:{kind:`create_ecdsa_holder_ordinary_export_request_v1`,holderHandleId:e.holderHandleId,request:e.request},transfer:[]}});if(t.type!==A.CreateEcdsaHolderOrdinaryExportRequestSuccess)throw Error(`ECDSA holder ordinary-export request preparation failed`);if(t.payload.holderHandleId!==e.holderHandleId)throw Error(`ECDSA holder ordinary-export request returned a different holder`);if(t.payload.requestDigestB64u.trim().length===0)throw Error(`ECDSA holder ordinary-export request digest is empty`);return t.payload}async function ze(e){if(e.holderHandleId.trim().length===0)throw Error(`ECDSA holder handle must be non-empty`);if(e.requestDigestB64u!==e.expectedBinding.export_request_digest_b64u)throw Error(`ECDSA holder ordinary-export request digest differs from its binding`);let t=await _e({workerCtx:e.workerCtx,request:{type:k.FinalizeEcdsaHolderOrdinaryExport,timeoutMs:P,payload:{kind:`finalize_ecdsa_holder_ordinary_export_v1`,holderHandleId:e.holderHandleId,requestDigestB64u:e.requestDigestB64u,expectedBinding:e.expectedBinding,forwardedResponse:e.forwardedResponse},transfer:[]}});if(t.type!==A.FinalizeEcdsaHolderOrdinaryExportSuccess)throw Error(`ECDSA holder ordinary-export finalization failed`);if(t.payload.holderHandleId!==e.holderHandleId)throw Error(`ECDSA holder ordinary-export finalization returned a different holder`);return t.payload}async function Be(e){if(e.holderHandleId.trim().length===0)throw Error(`Linked holder ECDSA handle must be non-empty`);if(e.ownedSigningShare32.byteLength!==32)throw Error(`Linked holder ECDSA signing share must contain 32 bytes`);if(e.activationReceiptJson.trim().length===0)throw Error(`Linked holder ECDSA activation receipt must be non-empty`);let t=e.ownedSigningShare32.slice();try{let n=await T({kind:`ecdsaDerivationClient`,ctx:e.workerCtx,request:{type:k.StoreLinkedDeviceEcdsaHolderMaterial,timeoutMs:P,payload:{holderHandleId:e.holderHandleId,ownedSigningShare32:t.buffer,activationReceiptJson:e.activationReceiptJson},transfer:[t.buffer]}});if(n.type!==A.StoreLinkedDeviceEcdsaHolderMaterialSuccess)throw Error(`Linked holder ECDSA material import failed`);if(n.payload.holderHandleId!==e.holderHandleId)throw Error(`Linked holder ECDSA material import returned a different handle`);return n.payload}finally{t.byteLength>0&&t.fill(0)}}async function Ve(e){let t=await T({kind:`ecdsaDerivationClient`,ctx:e.workerCtx,request:{type:k.DisposeLinkedDeviceEcdsaHolderMaterials,timeoutMs:P,payload:e.disposal,transfer:[]}});if(t.type!==A.DisposeLinkedDeviceEcdsaHolderMaterialsSuccess)throw Error(`Linked holder ECDSA material disposal failed`);if(t.payload.kind!==e.disposal.kind)throw Error(`Linked holder ECDSA material disposal returned a different scope`);if(e.disposal.kind===`one`&&t.payload.kind===`one`&&t.payload.holderHandleId!==e.disposal.holderHandleId)throw Error(`Linked holder ECDSA material disposal returned a different handle`)}async function He(e){if(e.holderHandleId.trim().length===0)throw Error(`Linked holder ECDSA handle must be non-empty`);await Ve({disposal:{kind:`one`,holderHandleId:e.holderHandleId},workerCtx:e.workerCtx})}async function Ue(e){let t=!1,n;for(let r of e.holderHandleIds)try{await He({holderHandleId:r,workerCtx:e.workerCtx})}catch(e){t||(t=!0,n=e)}if(t)throw n}async function We(e){await Ve({disposal:{kind:`all`},workerCtx:e.workerCtx})}async function Ge(e){let t=e.incomingMessages.map(e=>e.slice()),n=t.map(e=>e.buffer),r=await I({workerCtx:e.workerCtx,request:{type:j.SessionStep,timeoutMs:P,payload:{sessionId:e.sessionId,stage:e.stage,incomingMessages:t.map(e=>e.buffer)},transfer:n}});if(r.type!==M.SessionStepSuccess)throw Error(`ThresholdEcdsaRoleLocalPresignSessionStep failed`);return Fe(r.payload)}async function Ke(e){let t=await I({workerCtx:e.workerCtx,request:{type:j.SessionAbort,timeoutMs:P,payload:{sessionId:e.sessionId}}});if(t.type!==M.SessionAbortSuccess)throw Error(`ThresholdEcdsaRoleLocalPresignSessionAbort failed`);let n=t.payload;if(n.kind!==`threshold_ecdsa_presign_session_aborted`||n.sessionId!==e.sessionId)throw Error(`ThresholdEcdsaRoleLocalPresignSessionAbort returned invalid result`)}async function qe(e){let t=await I({workerCtx:e.workerCtx,request:{type:j.Admit,timeoutMs:P,payload:{materialHandle:e.materialHandle,expectedPresignatureId:e.expectedPresignatureId,poolIdentity:e.poolIdentity,admissionMode:e.admissionMode}}});if(t.type!==M.AdmitSuccess)throw Error(`ThresholdEcdsaRoleLocalAdmitPresignature failed`);if(t.payload.kind!==`ecdsa_client_presignature_admitted_v1`||t.payload.materialHandle!==e.materialHandle||t.payload.presignatureId!==e.expectedPresignatureId)throw Error(`ThresholdEcdsaRoleLocalAdmitPresignature returned invalid binding`);return t.payload.storage}async function Je(e){let t=await I({workerCtx:e.workerCtx,request:{type:j.Destroy,timeoutMs:P,payload:{materialHandle:e.materialHandle,poolIdentity:e.poolIdentity}}});if(t.type!==M.DestroySuccess)throw Error(`ThresholdEcdsaRoleLocalDestroyPresignature failed`);if(t.payload.kind!==`ecdsa_client_presignature_destroyed_v1`||t.payload.materialHandle!==e.materialHandle)throw Error(`ThresholdEcdsaRoleLocalDestroyPresignature returned invalid handle`)}async function Ye(e){let t=await I({workerCtx:e.workerCtx,request:{type:j.Reserve,timeoutMs:P,payload:{materialHandle:e.materialHandle,expectedPresignatureId:e.expectedPresignatureId,poolIdentity:e.poolIdentity,requestBinding:e.requestBinding,reservationId:e.reservationId,leaseExpiresAtMs:e.leaseExpiresAtMs}}});if(t.type!==M.ReserveSuccess)throw Error(`ThresholdEcdsaRoleLocalReservePresignature failed`);return t.payload}async function Xe(e){if((await I({workerCtx:e.workerCtx,request:{type:j.Commit,timeoutMs:P,payload:{materialHandle:e.materialHandle,poolIdentity:e.poolIdentity,requestBinding:e.requestBinding,reservationId:e.reservationId}}})).type!==M.CommitSuccess)throw Error(`ThresholdEcdsaRoleLocalCommitPresignature failed`)}async function Ze(e,t){let n=await I({workerCtx:t.workerCtx,request:{type:j.ListAvailable,timeoutMs:P,payload:{authority:{kind:e},poolIdentity:t.poolIdentity}}});if(n.type!==M.ListAvailableSuccess)throw Error(`ThresholdEcdsaListAvailablePresignatures failed`);return n.payload.map(ge)}async function Qe(e){let t=e.groupPublicKey33.slice(),n=e.expectedPresignBigR33.slice(),r=e.digest32.slice(),i=e.clientRerandomizationContribution32.slice(),a=e.signingWorkerRerandomizationContribution32.slice(),o=await ve({workerCtx:e.workerCtx,request:{type:fe.ComputeSignatureShare,timeoutMs:P,payload:{materialHandle:e.materialHandle,poolIdentity:e.poolIdentity,requestBinding:e.requestBinding,reservationId:e.reservationId,groupPublicKey33:t.buffer,expectedPresignBigR33:n.buffer,digest32:r.buffer,clientRerandomizationContribution32:i.buffer,signingWorkerRerandomizationContribution32:a.buffer},transfer:[t.buffer,n.buffer,r.buffer,i.buffer,a.buffer]}});if(o.type!==N.ComputeSignatureShareSuccess)throw Error(`ThresholdEcdsaRoleLocalComputeSignatureShareFromPresignatureHandle failed`);return new Uint8Array(o.payload)}function $e(e){let t=Math.floor(Number(e));return Number.isFinite(t)&&t>0?t:2e4}function et(e){return String(e&&typeof e==`object`&&`message`in e?e.message:e||``)}function tt(e){return Error(`[router-ab-ecdsa-derivation] ${e.operation} request timed out after ${e.timeoutMs}ms`)}async function nt(e){let t=$e(e.timeoutMs),n=typeof AbortController==`function`?new AbortController:null,r={...e.init},i=null,a=null,o=!1;try{let s;if(n){let c=e.init.signal;if(c){if(c.aborted)n.abort();else if(typeof c.addEventListener==`function`){let e=()=>n.abort();c.addEventListener(`abort`,e,{once:!0}),a=()=>c.removeEventListener(`abort`,e)}}i=setTimeout(()=>{o=!0,n.abort()},t),s=await fetch(e.url,{...r,signal:n.signal})}else s=await Promise.race([fetch(e.url,r),new Promise((n,r)=>{i=setTimeout(()=>{o=!0,r(tt({operation:e.operation,timeoutMs:t}))},t)})]);let c=await s.json().catch(()=>({}));if(o)throw tt({operation:e.operation,timeoutMs:t});return{response:s,data:c}}catch(n){if(o)throw tt({operation:e.operation,timeoutMs:t});let r=et(n);throw Error(r||`[router-ab-ecdsa-derivation] ${e.operation} request failed`)}finally{i&&clearTimeout(i),a?.()}}const rt=5e3;function it(e,t){let n=Math.min(e-Date.now(),t??rt,rt);return Number.isFinite(n)&&n>0?n:null}function at(e){return n(t(e))||null}function ot(e){let t={"Content-Type":`application/json`};switch(e.credential.kind){case`operation_step_up`:return{ok:!0,headers:t,credentials:`omit`};case`wallet_session_opaque`:{let n=String(e.credential.walletSessionToken||``).trim();return n?(t.Authorization=`Bearer ${n}`,{ok:!0,headers:t,credentials:`omit`}):{ok:!1,code:`invalid_args`,message:`Missing opaque Wallet Session token for Router A/B ECDSA derivation presign pool fill`}}}}function st(e){switch(e.authorization.kind){case`reusable_wallet_session`:return{authorization:e.authorization};case`operation_step_up`:{let t=e.operation;if(!t)throw Error(`Operation step-up pool fill requires exact operation preparation`);return{authorization:e.authorization,operation:t}}}}function ct(e){let t=String(e.keyHandle||``).trim();return t?{ok:!0,value:{keyHandle:t}}:{ok:!1,code:`invalid_args`,message:`Missing keyHandle for Router A/B ECDSA derivation pool-fill init`}}async function lt(e){let t=at(e.relayerUrl);if(!t)return{ok:!1,code:`invalid_args`,message:`Missing relayerUrl for Router A/B ECDSA derivation pool-fill init`};if(typeof fetch!=`function`)return{ok:!1,code:`unsupported`,message:`fetch is not available for Router A/B ECDSA derivation pool-fill init`};let n=ct(e);if(!n.ok)return n;let r=String(e.requestTag||``).trim(),i=ot(e);if(!i.ok)return i;let a=it(e.poolFill.ceremonyExpiresAtMs,e.requestTimeoutMs);if(a===null)return{ok:!1,code:`presign_timeout`,message:`Presign ceremony deadline has elapsed`};try{let{response:o,data:s}=await nt({url:`${t}${e.path}`,operation:`presign/init`,timeoutMs:a,init:{method:`POST`,headers:i.headers,credentials:i.credentials,body:JSON.stringify({...n.value,count:Number.isFinite(e.count)?Math.max(1,Math.floor(Number(e.count))):1,...r?{requestTag:r}:{},poolFill:e.poolFill,presignSessionId:e.presignSessionId,firstMessageB64u:e.firstMessageB64u,...st(e)})}});return typeof s.presignSessionId==`string`&&S(s.presignSessionId,`init`,o.headers.get(`Server-Timing`)),o.ok?{ok:s.ok===!0,presignSessionId:s.presignSessionId,...Number.isSafeInteger(s.ceremonyExpiresAtMs)?{ceremonyExpiresAtMs:s.ceremonyExpiresAtMs}:{},...Number.isSafeInteger(s.materialExpiresAtMs)?{materialExpiresAtMs:s.materialExpiresAtMs}:{},stage:s.stage,outgoingMessagesB64u:Array.isArray(s.outgoingMessagesB64u)?s.outgoingMessagesB64u:[],...s.code?{code:s.code}:{},...s.message?{message:s.message}:{}}:{ok:!1,code:s.code||`http_error`,message:s.message||`HTTP ${o.status}`}}catch(e){return{ok:!1,code:`network_error`,message:String(e&&typeof e==`object`&&`message`in e?e.message:e||`Failed Router A/B ECDSA derivation pool-fill init`)}}}async function ut(e){return lt({...e,path:g})}async function dt(e){let t=at(e.relayerUrl);if(!t)return{ok:!1,code:`invalid_args`,message:`Missing relayerUrl for Router A/B ECDSA derivation pool-fill step`};if(typeof fetch!=`function`)return{ok:!1,code:`unsupported`,message:`fetch is not available for Router A/B ECDSA derivation pool-fill step`};let n=String(e.presignSessionId||``).trim();if(!n)return{ok:!1,code:`invalid_args`,message:`Missing presignSessionId for Router A/B ECDSA derivation pool-fill step`};let r=String(e.requestTag||``).trim(),i=ot(e);if(!i.ok)return i;let a=it(e.ceremonyExpiresAtMs,e.requestTimeoutMs);if(a===null)return{ok:!1,code:`presign_timeout`,message:`Presign ceremony deadline has elapsed`};try{let{response:o,data:s}=await nt({url:`${t}${e.path}`,operation:`presign/step`,timeoutMs:a,init:{method:`POST`,headers:i.headers,credentials:i.credentials,body:JSON.stringify({presignSessionId:n,ceremonyExpiresAtMs:e.ceremonyExpiresAtMs,materialExpiresAtMs:e.materialExpiresAtMs,stage:e.stage,outgoingMessagesB64u:Array.isArray(e.outgoingMessagesB64u)?e.outgoingMessagesB64u:[],...r?{requestTag:r}:{},...st(e)})}});return S(n,`step`,o.headers.get(`Server-Timing`)),o.ok?{ok:s.ok===!0,stage:s.stage,event:s.event,outgoingMessagesB64u:Array.isArray(s.outgoingMessagesB64u)?s.outgoingMessagesB64u:[],...s.presignatureId?{presignatureId:s.presignatureId}:{},...s.bigRB64u?{bigRB64u:s.bigRB64u}:{},...s.code?{code:s.code}:{},...s.message?{message:s.message}:{}}:{ok:!1,code:s.code||`http_error`,message:s.message||`HTTP ${o.status}`}}catch(e){return{ok:!1,code:`network_error`,message:String(e&&typeof e==`object`&&`message`in e?e.message:e||`Failed Router A/B ECDSA derivation pool-fill step`)}}}async function ft(e){return dt({...e,path:_})}var pt=class{constructor(){this.state={kind:`refilling`,revision:0},this.waiters=new Map}snapshot(){return this.state}hasForegroundWaiters(){for(let e of this.waiters.values())if(e===`foreground`)return!0;return!1}publishAvailable(){this.state.kind!==`settled`&&(this.state={kind:`refilling`,revision:this.state.revision+1},this.flushWaiters())}settle(){this.state.kind!==`settled`&&(this.state={kind:`settled`,revision:this.state.revision},this.flushWaiters())}waitForChange(e,t){return this.state.kind===`settled`||this.state.revision!==e.revision?Promise.resolve(this.state):new Promise(n=>{this.waiters.set(n,t),(this.state.kind===`settled`||this.state.revision!==e.revision)&&(this.waiters.delete(n),n(this.state))})}flushWaiters(){let e=this.state,t=[...this.waiters.keys()];this.waiters.clear();for(let n of t)n(e)}};function mt(){let e=globalThis.crypto;if(!e||typeof e.getRandomValues!=`function`)throw Error(`WebCrypto getRandomValues is required for ECDSA rerandomization`);return e.getRandomValues(new Uint8Array(32))}function L(e){switch(e.authorization.kind){case`reusable_wallet_session`:return{authorization:e.authorization};case`operation_step_up`:{let t=e.operation;if(!t)throw Error(`Operation step-up pool fill requires exact operation preparation`);return{authorization:e.authorization,operation:t}}}}function ht(e){return String(e&&typeof e==`object`&&`message`in e?e.message:e||`signature recovery failed`)}function R(e){e instanceof Uint8Array&&e.fill(0)}function gt(e){if(e?.kind!==`router_ab_ecdsa_derivation_client_signing_material_source_v1`)throw Error(`Router A/B ECDSA derivation client signing material source is required`)}const _t=6e4,z=new Map,B=new Map,V=new Map,H=new Map,U=new Map,W=new Map;function vt(e){return e===`triples_done`||e===`presign`||e===`done`}function yt(e){return vt(e.clientStage)&&vt(e.serverStage)?`presign`:`triples`}function bt(e,t,n,r){let i=Math.floor(Number(e));return Number.isFinite(i)?i<n?n:i>r?r:i:t}function xt(e,t){return bt(e,t,1,5)}function St(e,t,n){return bt(e,t,0,n)}function Ct(e){let t=e||w,n=xt(t.targetDepth,w.targetDepth),r=St(t.lowWatermark,w.lowWatermark,n);return{enabled:typeof t.enabled==`boolean`?t.enabled:w.enabled,targetDepth:n,lowWatermark:r,maxRefillInFlight:bt(t.maxRefillInFlight,w.maxRefillInFlight,1,8),refillAttemptTimeoutMs:bt(t.refillAttemptTimeoutMs,w.refillAttemptTimeoutMs,5e3,12e4)}}function G(e){let t=p(e.scope),n=e.materialActivation;return{relayerUrl:String(e.relayerUrl||``).trim().replace(/\/+$/g,``),materialActivationB64u:a(d(n)),materialActivationId:n.activation_id,capability:n.capability,keyBinding:n.key_binding,walletId:t.wallet_id,signingScopeB64u:a(l(t)),pairRole:`client`,keyEpoch:t.signing_worker.key_epoch,activationEpoch:t.activation_epoch,protocolId:oe}}function wt(e){let t=z.get(e);if(!t?.length)return null;let n=t.shift()??null;return t.length?z.set(e,t):z.delete(e),n}async function Tt(e){return await kt(e),wt(e.poolKey)}function Et(e,t,n){if(!Mt(n))return`invalid`;let r=z.get(e)||[];for(let e of r)if(e.materialHandle===n.materialHandle)return`duplicate`;return r.filter(e=>Mt(e)).length>=5?`capacity_full`:(r.push(n),z.set(e,r),B.set(e,t),`stored`)}function Dt(e,t=Date.now()){let n=z.get(e);if(!n?.length)return[];let r=[],i=[];for(let e of n)Mt(e,t)?r.push(e):i.push(e);return r.length>0?z.set(e,r):z.delete(e),i}async function Ot(e){for(let t of e.refs)await e.clientSigningMaterial.destroyClientPresignature({materialHandle:t.materialHandle,poolIdentity:e.poolIdentity,workerCtx:e.workerCtx}).catch(()=>{})}async function kt(e){await Ot({refs:Dt(e.poolKey),poolIdentity:e.poolIdentity,clientSigningMaterial:e.clientSigningMaterial,workerCtx:e.workerCtx})}async function At(e){let t=H.get(e.poolKey);if(t){await t;return}let n=jt(e);H.set(e.poolKey,n);try{await n}finally{H.get(e.poolKey)===n&&H.delete(e.poolKey)}}async function jt(e){await kt(e);let t;if(t=await e.clientSigningMaterial.listAvailableClientPresignatures({poolIdentity:e.poolIdentity,workerCtx:e.workerCtx}),q(e.poolKey)!==e.generation){for(let n of t)R(n.bigR33),await e.clientSigningMaterial.destroyClientPresignature({materialHandle:n.materialHandle,poolIdentity:e.poolIdentity,workerCtx:e.workerCtx}).catch(()=>{});return}for(let n of t){let t=Et(e.poolKey,e.poolIdentity,{presignatureId:n.presignatureId,materialHandle:n.materialHandle,bigRB64u:a(n.bigR33),createdAtMs:n.createdAtMs,expiresAtMs:n.expiresAtMs});R(n.bigR33),(t===`invalid`||t===`capacity_full`)&&await e.clientSigningMaterial.destroyClientPresignature({materialHandle:n.materialHandle,poolIdentity:e.poolIdentity,workerCtx:e.workerCtx}).catch(()=>{})}}function K(e){let t=z.get(e);return t?t.reduce((e,t)=>e+(Mt(t)?1:0),0):0}function Mt(e,t=Date.now()){let n=Math.floor(Number(e.expiresAtMs));return!!(e.presignatureId&&e.bigRB64u&&e.materialHandle)&&Number.isSafeInteger(n)&&n>t+2e3}function q(e){let t=W.get(e);return t===void 0?(W.set(e,0),0):t}function Nt(e){Z(e);let t=q(e)+1;return W.set(e,t),t}async function Pt(e){let t=z.get(e.poolKey)??[];z.delete(e.poolKey),B.delete(e.poolKey),Nt(e.poolKey),await Ot({...e,refs:t})}function J(e){return U.get(e)||0}function Ft(e){let t=J(e);U.set(e,t+1)}function It(e){let t=J(e);if(t<=1){U.delete(e),Q(e,0);return}U.set(e,t-1)}async function Lt(e,t){let n=V.get(e);if(!n)return;let r=n.snapshot();for(;K(e)===0&&r.kind===`refilling`;)r=await n.waitForChange(r,t)}async function Rt(e){let t=b(G({relayerUrl:e.relayerUrl,scope:e.scope,materialActivation:e.materialActivation}));return K(t)>0?!0:(await Lt(t,`background`),K(t)>0)}function Y(e,t,n){return{scheduled:!1,reason:e,depth:t,targetDepth:n}}function zt(){let e=new Set([...X.keys(),...z.keys(),...V.keys(),...U.keys(),...W.keys()]);for(let t of e)Nt(t);z.clear(),B.clear();for(let e of V.values())e.settle();V.clear(),U.clear()}function Bt(e){let t=String(e).trim();if(!t)throw Error(`ECDSA presignature wallet id is required`);for(let[e,n]of[...B])n.walletId===t&&(z.delete(e),B.delete(e),Nt(e),V.get(e)?.settle(),V.delete(e),U.delete(e))}const X=new Map;function Z(e){let t=X.get(e);t&&t.timer!==null&&clearTimeout(t.timer),X.delete(e),X.size===0&&typeof window<`u`&&(window.removeEventListener(`online`,$),document.removeEventListener(`visibilitychange`,$))}function Q(e,t){let n=X.get(e);if(!n)return;n.timer!==null&&clearTimeout(n.timer);let r=n.input.routerAbEcdsaDerivationPoolFill.ceremonyExpiresAtMs-Date.now();if(r<=0||q(e)!==n.generation){Z(e);return}n.timer=setTimeout(Vt,Math.min(t,r),e)}function $(){if(!(typeof document<`u`&&document.visibilityState===`hidden`))for(let e of X.keys())Q(e,0)}function Vt(e){let t=X.get(e);if(!t)return;if(t.timer=null,Date.now()>=t.input.routerAbEcdsaDerivationPoolFill.ceremonyExpiresAtMs){Z(e);return}if(typeof navigator<`u`&&navigator.onLine===!1){Q(e,3e4);return}let n=Gt(t.input);n.scheduled||Q(e,n.depth>=n.targetDepth?3e4:5e3)}function Ht(e,t){t.authorization.kind===`reusable_wallet_session`&&X.get(e)?.input!==t&&(Z(e),X.size===0&&typeof window<`u`&&(window.addEventListener(`online`,$),document.addEventListener(`visibilitychange`,$)),X.set(e,{input:t,generation:q(e),failures:0,timer:null}),Q(e,3e4))}function Ut(e,t,n){let r=X.get(e);if(!(!r||r!==t)){switch(n){case`network_error`:case`internal`:case`presign_timeout`:case`temporarily_unavailable`:case`service_unavailable`:case`wallet_session_unavailable`:if(r.failures+=1,r.failures<=3)return}Z(e)}}async function Wt(e){let{args:t,refillInput:n,poolKey:r,poolIdentity:i,scheduledGeneration:a,targetDepth:o,refillAttemptTimeoutMs:s,progress:c}=e,l=X.get(r)??null;try{if(await At({poolKey:r,poolIdentity:i,clientSigningMaterial:t.clientSigningMaterial,workerCtx:t.workerCtx,generation:a}),K(r)>0&&(c.publishAvailable(),J(r)>0))return;for(;Date.now()<t.routerAbEcdsaDerivationPoolFill.ceremonyExpiresAtMs;){if(q(r)!==a||(X.get(r)??null)!==l||K(r)>=o||typeof navigator<`u`&&navigator.onLine===!1)return;let e=Math.min(Date.now()+s,t.routerAbEcdsaDerivationPoolFill.ceremonyExpiresAtMs),i=await rn({...n,routerAbEcdsaDerivationPoolFill:{kind:`router_ab_ecdsa_derivation_signing_worker_pool`,scope:n.routerAbEcdsaDerivationPoolFill.scope,ceremonyExpiresAtMs:e,materialExpiresAtMs:n.routerAbEcdsaDerivationPoolFill.materialExpiresAtMs},trafficClass:`background`});if(C(`evm-family`,{event:`ecdsa_background_refill_result`,authorization:t.authorization.kind,outcome:i.ok?`available`:`failed`,code:i.ok?null:i.code,depth:K(r),targetDepth:o}),!i.ok){Ut(r,l,i.code);return}let u=X.get(r);if(u&&u===l&&(u.failures=0),c.publishAvailable(),J(r)>0)return}}catch{Ut(r,l,`internal`)}finally{c.settle(),V.get(r)===c&&V.delete(r);let e=X.get(r);if(e){let t=e.failures>0?2e3*2**e.failures:1e3;K(r)>=o&&(t=3e4),e!==l&&(t=0),Q(r,t)}}}function Gt(e){try{let t=Ct(e.poolPolicy),n=G({relayerUrl:e.relayerUrl,scope:e.routerAbEcdsaDerivationPoolFill.scope,materialActivation:e.materialActivation}),r=b(n);B.set(r,n);let i=xt(e.targetDepth,t.targetDepth),a=St(e.triggerIfDepthAtOrBelow,t.lowWatermark,i),o=K(r),s=q(r);if(!t.enabled)return Y(`disabled`,o,i);if(e.routerAbEcdsaDerivationPoolFill.ceremonyExpiresAtMs<=Date.now())return Z(r),Y(`invalid_args`,o,i);if(Ht(r,e),o>a)return Y(`depth_above_trigger`,o,i);if(o>=i)return Y(`depth_at_or_above_target`,o,i);if(V.has(r)||J(r)>0)return Y(`in_flight_for_pool_key`,o,i);if(V.size>=t.maxRefillInFlight)return Y(`global_in_flight_limit`,o,i);let c={relayerUrl:e.relayerUrl,keyHandle:e.keyHandle,ecdsaThresholdKeyId:e.ecdsaThresholdKeyId,clientVerifyingShareB64u:e.clientVerifyingShareB64u,clientSigningMaterial:e.clientSigningMaterial,thresholdEcdsaPublicKeyB64u:e.thresholdEcdsaPublicKeyB64u,relayerVerifyingShareB64u:e.relayerVerifyingShareB64u,credential:e.credential,materialActivation:e.materialActivation,routerAbEcdsaDerivationPoolFill:e.routerAbEcdsaDerivationPoolFill,workerCtx:e.workerCtx,...L(e)},l=new pt;return V.set(r,l),Wt({args:e,refillInput:c,poolKey:r,poolIdentity:n,scheduledGeneration:s,targetDepth:i,refillAttemptTimeoutMs:t.refillAttemptTimeoutMs,progress:l}),{scheduled:!0,reason:`scheduled`,depth:o,targetDepth:i}}catch{return Y(`invalid_args`,0,0)}}function Kt(e){return e.map(e=>a(e))}function qt(e){return Array.isArray(e)?e.map(e=>String(e||``).trim()).filter(e=>!!e).map(e=>o(e)):[]}async function Jt(e){let t=String(e.thresholdEcdsaPublicKeyB64u||``).trim();if(t){let n=o(t);if(n.length!==33)throw Error(`thresholdEcdsaPublicKeyB64u must decode to 33 bytes`);return await D({publicKey33:n,workerCtx:e.workerCtx})}let n=String(e.clientVerifyingShareB64u||``).trim(),r=String(e.relayerVerifyingShareB64u||``).trim();if(!n||!r)throw Error(`Missing thresholdEcdsaPublicKeyB64u (or relayerVerifyingShareB64u fallback) for Router A/B ECDSA derivation signing`);let i=o(n),a=o(r);if(i.length!==33)throw Error(`clientVerifyingShareB64u must decode to 33 bytes`);if(a.length!==33)throw Error(`relayerVerifyingShareB64u must decode to 33 bytes`);return await O({left33:await D({publicKey33:i,workerCtx:e.workerCtx}),right33:await D({publicKey33:a,workerCtx:e.workerCtx}),workerCtx:e.workerCtx})}function Yt(e){return e.trafficClass===`foreground`||V.get(e.poolKey)?.hasForegroundWaiters()?`foreground_presign_pool_refill`:`background_presign_pool_refill`}async function Xt(e){for(let t=0;t<2;t+=1){let n=await Zt(e);if(n.ok||!Qt(n)||t===1)return n}return{ok:!1,code:`stale_session_state`,message:`Router A/B ECDSA derivation pool-fill session stayed stale after retry`}}async function Zt(e){gt(e.clientSigningMaterial);let t=performance.now(),n=e.routerAbEcdsaDerivationPoolFill.ceremonyExpiresAtMs,r=e.routerAbEcdsaDerivationPoolFill.materialExpiresAtMs,i=`ecdsa-presign-v2:${n}:${a(crypto.getRandomValues(new Uint8Array(32)))}`,o=i,s=G({relayerUrl:e.relayerUrl,scope:e.routerAbEcdsaDerivationPoolFill.scope,materialActivation:e.materialActivation}),c=null,l=null,u=null,d=null,f=!1,p=`triples`,m=[],h=!0,g=!1;try{let t=await e.clientSigningMaterial.initClientPresignSession({sessionId:o,groupPublicKey33:e.groupPublicKey33,ceremonyExpiresAtMs:n,materialExpiresAtMs:r,poolIdentity:s,workerCtx:e.workerCtx});if(t.stage!==`triples`||t.outgoingMessages.length!==1)return{ok:!1,code:`presign_init_failed`,message:`Client presign init must emit exactly one first message`};p=t.stage;let _=await ut({relayerUrl:e.relayerUrl,...e.poolFillInitKeySelector,count:1,presignSessionId:i,firstMessageB64u:a(t.outgoingMessages[0]),credential:e.credential,requestTag:Yt(e),poolFill:e.routerAbEcdsaDerivationPoolFill,...L(e)});if(!_.ok)return{ok:!1,code:_.code||`presign_init_failed`,message:_.message||`Presign initialization failed`};if(_.presignSessionId!==i||_.ceremonyExpiresAtMs!==n||_.materialExpiresAtMs!==r||n<=Date.now())return{ok:!1,code:`invalid_pool_fill_expiry`,message:`Presign initialization changed the bound identity or deadlines`};let v=_.stage||`triples`,y=qt(_.outgoingMessagesB64u);for(let t=0;t<64;t++){if(y.length>0&&!c){let t=await e.clientSigningMaterial.stepClientPresignSession({sessionId:o,stage:yt({clientStage:p,serverStage:v}),incomingMessages:y,workerCtx:e.workerCtx});p=t.stage,y=[],m.push(...t.outgoingMessages),t.presignatureHandle&&t.presignatureBigR33&&(c=t.presignatureHandle,l=t.presignatureBigR33)}if(!f){let a=performance.now(),o=Yt(e),s={relayerUrl:e.relayerUrl,presignSessionId:i,ceremonyExpiresAtMs:n,materialExpiresAtMs:r,stage:yt({clientStage:p,serverStage:v}),outgoingMessagesB64u:Kt(m),credential:e.credential,requestTag:o,...L(e)},c=await ft(s);if(C(`evm-family`,{event:`ecdsa_presignature_round`,requestTag:o,presignSessionId:i,authorization:e.authorization.kind,round:t,stage:s.stage,durationMs:performance.now()-a,outcome:c.ok?`succeeded`:`failed`}),m=[],!c.ok)return{ok:!1,code:c.code||`presign_step_failed`,message:c.message||`Router A/B ECDSA derivation pool-fill step failed`};y=qt(c.outgoingMessagesB64u),v=c.stage||v,c.event===`presign_done`&&(u=String(c.presignatureId||``).trim()||null,d=String(c.bigRB64u||``).trim()||null,f=!0)}if(c&&l&&u&&d)break}if(!c||!l)return{ok:!1,code:`presign_timeout`,message:`Client presign session did not reach done state`};if(!u||!d)return{ok:!1,code:`presign_timeout`,message:`Server presign session did not reach done state`};if(l.length!==33)return{ok:!1,code:`internal`,message:`Invalid local presignature bigR bytes (expected 33, got ${l.length})`};try{let t=Date.now(),n=a(l);if(n!==d)return{ok:!1,code:`presign_mismatch`,message:`Client/server presignature mismatch (bigR mismatch)`};let i=await e.clientSigningMaterial.admitClientPresignature({materialHandle:c,expectedPresignatureId:u,poolIdentity:s,admissionMode:e.authorization.kind===`operation_step_up`?`resident`:`durable`,workerCtx:e.workerCtx});return i.kind===`discarded_capacity`?{ok:!1,code:`pool_full`,message:`Router A/B ECDSA derivation client presignature pool is full`}:i.kind===`discarded_ambiguous`?{ok:!1,code:`presign_failed`,message:`Router A/B ECDSA derivation client presignature admission was ambiguous`}:(g=!0,h=!1,{ok:!0,kind:`available`,presignature:{presignatureId:u,bigRB64u:n,materialHandle:c,createdAtMs:t,expiresAtMs:r}})}finally{R(l)}}catch(e){return{ok:!1,code:`presign_failed`,message:String(e&&typeof e==`object`&&`message`in e?e.message:e||`Router A/B ECDSA derivation pool-fill handshake failed`)}}finally{C(`evm-family`,{event:`ecdsa_presignature_generation`,requestTag:Yt(e),presignSessionId:i,authorization:e.authorization.kind,durationMs:performance.now()-t,outcome:g?`available`:`failed`}),R(l),!g&&c&&await e.clientSigningMaterial.destroyClientPresignature({materialHandle:c,poolIdentity:s,workerCtx:e.workerCtx}).catch(()=>{}),h&&await e.clientSigningMaterial.abortClientPresignSession({sessionId:o,workerCtx:e.workerCtx}).catch(()=>{})}}function Qt(e){return e.code===`stale_session_state`||e.code===`stale_pool_fill_session`}function $t(e){let t=p(e);return{ecdsaThresholdKeyId:ie(t.ecdsa_threshold_key_id),clientVerifyingShareB64u:ne(t.public_identity.derivation_client_share_public_key33_b64u),thresholdEcdsaPublicKeyB64u:t.public_identity.threshold_public_key33_b64u}}function en(e){let t=Math.floor(Number(e.materialExpiresAtMs)),n=Number.isSafeInteger(e.authorizationExpiresAtMs)?Math.floor(Number(e.authorizationExpiresAtMs)):e.nowMs+_t,r=Math.min(t,n,e.nowMs+_t);return Number.isSafeInteger(r)&&r>e.nowMs?r:null}async function tn(e,t,n){let r=null,i=null,c=!1,l=null,d=null,p=null,m={kind:`unclaimed`},h=null,g={kind:`before_prepare`};try{let _=String(e.relayerUrl||``).trim().replace(/\/+$/g,``);if(!_)return{ok:!1,code:`invalid_args`,message:`Missing relayerUrl for Router A/B ECDSA derivation signing`};let v=$t(e.scope);if(!v.ecdsaThresholdKeyId)return{ok:!1,code:`invalid_args`,message:`Missing ecdsaThresholdKeyId for Router A/B ECDSA derivation signing`};let ee=v.clientVerifyingShareB64u;if(!ee)return{ok:!1,code:`invalid_args`,message:`Missing clientVerifyingShareB64u for Router A/B ECDSA derivation signing`};if(!(e.signingDigest32 instanceof Uint8Array)||e.signingDigest32.length!==32)return{ok:!1,code:`invalid_args`,message:`signingDigest32 must be 32 bytes for Router A/B ECDSA derivation signing`};let te=performance.now(),ne=await Jt({clientVerifyingShareB64u:ee,thresholdEcdsaPublicKeyB64u:v.thresholdEcdsaPublicKeyB64u,workerCtx:e.workerCtx});x(e.operationId,`public_key_validation`,te),i=G({relayerUrl:_,scope:e.scope,materialActivation:e.materialActivation}),r=b(i),B.set(r,i),Ft(r),c=!0,h=q(r);let re=performance.now();if(l=await Tt({poolKey:r,poolIdentity:i,clientSigningMaterial:e.clientSigningMaterial,workerCtx:e.workerCtx}),x(e.operationId,`pool_lookup`,re),!l){let t=performance.now();await At({poolKey:r,poolIdentity:i,clientSigningMaterial:e.clientSigningMaterial,workerCtx:e.workerCtx,generation:h}),x(e.operationId,`pool_restore`,t),h=q(r),l=await Tt({poolKey:r,poolIdentity:i,clientSigningMaterial:e.clientSigningMaterial,workerCtx:e.workerCtx})}if(!l){let t=performance.now();await Lt(r,`foreground`),x(e.operationId,`refill_wait`,t),h=q(r),l=await Tt({poolKey:r,poolIdentity:i,clientSigningMaterial:e.clientSigningMaterial,workerCtx:e.workerCtx})}if(!l&&n.kind===`on_demand`){let t=performance.now(),a=await rn({...n.refill,trafficClass:`foreground`});if(!a.ok&&a.code===`invalidated`&&(a=await rn({...n.refill,trafficClass:`foreground`})),!a.ok&&a.code!==`pool_full`)return a;!a.ok&&a.code===`pool_full`&&await At({poolKey:r,poolIdentity:i,clientSigningMaterial:e.clientSigningMaterial,workerCtx:e.workerCtx,generation:q(r)}),h=q(r),l=await Tt({poolKey:r,poolIdentity:i,clientSigningMaterial:e.clientSigningMaterial,workerCtx:e.workerCtx}),x(e.operationId,`foreground_refill`,t)}if(C(`evm-family`,{event:`ecdsa_presignature_selection`,operationId:e.operationId,authorization:e.authorization.kind,outcome:l?`available`:`empty`,remainingDepth:K(r),attempt:t}),!l)return{ok:!1,code:`pool_empty`,message:`Router A/B ECDSA derivation client presignature pool is empty`};let ie=Date.now(),ae=en({authorizationExpiresAtMs:e.expiresAtMs,materialExpiresAtMs:l.expiresAtMs,nowMs:ie});if(!ae)return{ok:!1,code:`pool_entry_expired`,message:`Router A/B ECDSA derivation client presignature is expired`};if(h!==q(r))return{ok:!1,code:`pool_entry_unavailable`,message:`Router A/B ECDSA derivation client presignature pool was invalidated before prepare`};p=mt();let oe=await u(p),S=f({scope:e.scope,requestId:s(`router-ab-ecdsa-sign`,32,`Router A/B ECDSA derivation sign request`),operationId:e.operationId,operationDigests:e.operationDigests,authorization:e.authorization,materialActivation:e.materialActivation,clientPresignatureId:l.presignatureId,expiresAtMs:ae,signingDigest32:e.signingDigest32,clientRerandomizationCommitment32:oe});R(oe);let w=s(`router-ab-ecdsa-reservation`,32,`Router A/B ECDSA Client presignature reservation`);m={kind:`destroy`};let T=performance.now(),E=await e.clientSigningMaterial.reserveClientPresignature({materialHandle:l.materialHandle,expectedPresignatureId:l.presignatureId,poolIdentity:i,requestBinding:S.request_id,reservationId:w,leaseExpiresAtMs:S.expires_at_ms,workerCtx:e.workerCtx});if(x(e.operationId,`presignature_reserve`,T),E.kind===`unavailable`)return E.reason===`claimed_elsewhere`&&(m={kind:`owned_elsewhere`}),t<4?await tn(e,t+1,n):{ok:!1,code:E.reason===`expired`?`pool_entry_expired`:`pool_entry_unavailable`,message:`Router A/B ECDSA derivation client presignature is unavailable: ${E.reason}`};if(h!==q(r))return{ok:!1,code:`pool_entry_unavailable`,message:`Router A/B ECDSA derivation client presignature pool was invalidated before prepare`};g={kind:`prepare_submitted`};let D=performance.now(),O=await ce({relayServerUrl:_,credential:e.credential,request:S,onServerTiming:se.bind(void 0,e.operationId,`prepare`)});if(x(e.operationId,`prepare`,D),O.server_big_r33_b64u!==l.bigRB64u)return{ok:!1,code:`presign_mismatch`,message:`Router A/B ECDSA derivation SigningWorker returned a different presignature bigR`};let de=performance.now();await e.clientSigningMaterial.commitClientPresignature({materialHandle:l.materialHandle,poolIdentity:i,requestBinding:S.request_id,reservationId:w,workerCtx:e.workerCtx}),x(e.operationId,`presignature_commit`,de);let k=o(l.bigRB64u),A=o(O.signing_worker_rerandomization_contribution32_b64u);try{if(k.length!==33)return{ok:!1,code:`internal`,message:`Router A/B ECDSA derivation presign bigR must decode to 33 bytes`};if(A.length!==32)return{ok:!1,code:`internal`,message:`Router A/B ECDSA derivation SigningWorker rerandomization contribution must decode to 32 bytes`};let t=performance.now();d=await e.clientSigningMaterial.computeSignatureShareFromPresignatureHandle({materialHandle:l.materialHandle,poolIdentity:i,requestBinding:S.request_id,reservationId:w,groupPublicKey33:ne,expectedPresignBigR33:k,digest32:e.signingDigest32,clientRerandomizationContribution32:p,signingWorkerRerandomizationContribution32:A,workerCtx:e.workerCtx}),x(e.operationId,`client_share`,t),m={kind:`consumed`}}finally{R(k),R(A)}if(d.length!==32)return{ok:!1,code:`internal`,message:`Invalid Router A/B ECDSA derivation client signature share length (expected 32, got ${d.length})`};let j=y({scope:e.scope,requestId:S.request_id,operationId:S.operation_id,operationDigests:S.operation_digests,authorization:e.authorization,materialActivation:e.materialActivation,expiresAtMs:S.expires_at_ms,signingDigest32:e.signingDigest32,serverPresignatureId:O.server_presignature_id,clientSignatureShare32:d,clientRerandomizationContribution32:p}),M=performance.now(),fe=await le({relayServerUrl:_,credential:e.credential,request:j,onServerTiming:se.bind(void 0,e.operationId,`finalize`)});x(e.operationId,`finalize`,M);let N=o(fe.signature65_b64u);if(N.length!==65)return{ok:!1,code:`internal`,message:`Router A/B ECDSA derivation returned invalid signature length (expected 65, got ${N.length})`};try{let t=performance.now();await ue({digest32:e.signingDigest32,signature65:N,publicKey33:ne,workerCtx:e.workerCtx}),x(e.operationId,`signature_verify`,t)}catch(e){return{ok:!1,code:`internal`,message:`Router A/B ECDSA derivation returned a signature that does not recover to the threshold group public key: ${ht(e)}`}}return{ok:!0,signature65:N,signature65B64u:fe.signature65_b64u,rB64u:a(N.slice(0,32)),sB64u:a(N.slice(32,64)),recId:N[64]}}catch(t){let n=String(t&&typeof t==`object`&&`message`in t?t.message:t||`Router A/B ECDSA derivation signing failed`);return t instanceof E&&t.code===`expired_local_request`?{ok:!1,code:`pool_entry_expired`,message:n}:r&&i&&h!==null&&g.kind===`before_prepare`&&q(r)!==h?(await Pt({poolKey:r,poolIdentity:i,clientSigningMaterial:e.clientSigningMaterial,workerCtx:e.workerCtx}),{ok:!1,code:`pool_entry_unavailable`,message:`Router A/B ECDSA derivation client presignature pool was invalidated before prepare`}):{ok:!1,code:`router_ab_sign_failed`,message:n}}finally{if(R(d),R(p),l&&i&&m.kind!==`consumed`&&m.kind!==`owned_elsewhere`){let t=!1;if(m.kind===`unclaimed`&&r&&h!==null&&h===q(r)){let e=Et(r,i,l);t=e===`stored`||e===`duplicate`}t||await e.clientSigningMaterial.destroyClientPresignature({materialHandle:l.materialHandle,poolIdentity:i,workerCtx:e.workerCtx}).catch(()=>{})}r&&c&&It(r)}}async function nn(e){let t=$t(e.scope),n=Math.floor(Number(e.expiresAtMs));if(!Number.isSafeInteger(n)||n<=Date.now())return{ok:!1,code:`invalid_pool_fill_expiry`,message:`Router A/B ECDSA derivation pool fill expiry is unavailable or expired`};let r=b(G({relayerUrl:e.relayerUrl,scope:e.scope,materialActivation:e.materialActivation}));Ft(r);try{let r={kind:`on_demand`,refill:{relayerUrl:e.relayerUrl,keyHandle:e.keyHandle,ecdsaThresholdKeyId:t.ecdsaThresholdKeyId,clientVerifyingShareB64u:t.clientVerifyingShareB64u,clientSigningMaterial:e.clientSigningMaterial,thresholdEcdsaPublicKeyB64u:t.thresholdEcdsaPublicKeyB64u,credential:e.credential,materialActivation:e.materialActivation,routerAbEcdsaDerivationPoolFill:{kind:`router_ab_ecdsa_derivation_signing_worker_pool`,scope:e.scope,ceremonyExpiresAtMs:Math.min(n,Date.now()+m-3e4),materialExpiresAtMs:e.authorization.kind===`operation_step_up`?n:Date.now()+v},workerCtx:e.workerCtx,...L(e)}},i=await tn(e,0,r);return!i.ok&&(i.code===`pool_entry_expired`||i.code===`pool_entry_unavailable`)?await tn(e,0,r):i}finally{It(r)}}async function rn(e){try{let t=G({relayerUrl:e.relayerUrl,scope:e.routerAbEcdsaDerivationPoolFill.scope,materialActivation:e.materialActivation}),n=b(t);await kt({poolKey:n,poolIdentity:t,clientSigningMaterial:e.clientSigningMaterial,workerCtx:e.workerCtx});let r=q(n),i=await Jt({clientVerifyingShareB64u:e.clientVerifyingShareB64u,thresholdEcdsaPublicKeyB64u:e.thresholdEcdsaPublicKeyB64u,relayerVerifyingShareB64u:e.relayerVerifyingShareB64u,workerCtx:e.workerCtx}),a=await Xt({relayerUrl:e.relayerUrl,poolFillInitKeySelector:{keyHandle:te(e.keyHandle)},clientSigningMaterial:e.clientSigningMaterial,groupPublicKey33:i,materialActivation:e.materialActivation,credential:e.credential,poolKey:n,trafficClass:e.trafficClass,routerAbEcdsaDerivationPoolFill:e.routerAbEcdsaDerivationPoolFill,workerCtx:e.workerCtx,...L(e)});if(!a.ok)return a;if(q(n)!==r)return await e.clientSigningMaterial.destroyClientPresignature({materialHandle:a.presignature.materialHandle,poolIdentity:t,workerCtx:e.workerCtx}).catch(()=>{}),{ok:!1,code:`invalidated`,message:`Router A/B ECDSA derivation presignature pool invalidated`};let o=Et(n,t,a.presignature);return(o===`capacity_full`||o===`invalid`)&&await e.clientSigningMaterial.destroyClientPresignature({materialHandle:a.presignature.materialHandle,poolIdentity:t,workerCtx:e.workerCtx}).catch(()=>{}),{ok:!0,presignatureId:a.presignature.presignatureId}}catch(e){return{ok:!1,code:`internal`,message:String(e&&typeof e==`object`&&`message`in e?e.message:e||`Router A/B ECDSA derivation presignature refill failed`)}}}async function an(e){let t=e.clientShare.material;if(t.kind===`worker_loaded`)return;let n=await Ae({materialHandle:e.clientShare.handle.materialHandle,bindingDigest:e.clientShare.handle.bindingDigest,stateBlob:t.stateBlob,workerCtx:e.workerCtx});if(n.materialHandle!==e.clientShare.handle.materialHandle||n.bindingDigest!==e.clientShare.handle.bindingDigest)throw Error(`[multichain] ECDSA role-local worker material handle mismatch`)}async function on(e){let t=e.signerSession,n=t.clientShare;if(n.kind===`linked_holder_worker_share`){let e=n.holderHandleId;return{signerSession:t,clientSigningMaterial:cn(e),cleanupAfterSign:async()=>void 0}}let r=n;return{signerSession:t,clientSigningMaterial:{kind:`router_ab_ecdsa_derivation_client_signing_material_source_v1`,initClientPresignSession:async t=>(await an({workerCtx:e.workerCtx,clientShare:r}),await Ie({materialHandle:r.handle.materialHandle,material:r.material.kind===`worker_loaded`?{kind:`persisted`,materialRef:r.material.materialRef}:{kind:`runtime_loaded`,expectedBindingDigest:r.handle.bindingDigest},...t})),stepClientPresignSession:Ge,abortClientPresignSession:Ke,admitClientPresignature:qe,destroyClientPresignature:Je,reserveClientPresignature:Ye,commitClientPresignature:Xe,listAvailableClientPresignatures:Ze.bind(void 0,`role_local_derivation_handle`),computeSignatureShareFromPresignatureHandle:Qe},cleanupAfterSign:async()=>void 0}}async function sn(e,t){return await Le({holderHandleId:e,...t})}function cn(e){return{kind:`router_ab_ecdsa_derivation_client_signing_material_source_v1`,initClientPresignSession:sn.bind(void 0,e),stepClientPresignSession:Ge,abortClientPresignSession:Ke,admitClientPresignature:qe,destroyClientPresignature:Je,reserveClientPresignature:Ye,commitClientPresignature:Xe,listAvailableClientPresignatures:Ze.bind(void 0,`linked_holder_signing_material`),computeSignatureShareFromPresignatureHandle:Qe}}var ln=e({Secp256k1Engine:()=>hn,buildReadySecp256k1SigningMaterial:()=>un});function un(e){let t=String(e.walletId||``).trim();if(!t)throw Error(`[multichain] Missing wallet id for ready secp256k1 signing material`);let n=e.signerSession;if(t!==String(n.walletId))throw Error(`[multichain] ready secp256k1 material wallet identity mismatch`);let r=Math.floor(Number(e.expiresAtMs));if(!Number.isSafeInteger(r)||r<=Date.now())throw Error(`[multichain] ready secp256k1 authorization expiry is invalid`);let i={kind:`ready_secp256k1_signing_material`,walletId:t,signerSession:n,expiresAtMs:r,singleUseEmailOtpSession:e.singleUseEmailOtpSession};switch(e.authorization.kind){case`reusable_wallet_session`:if(e.credential.kind!==`reusable_wallet_session`)throw Error(`[multichain] exact Wallet Session authorization requires its operation credential`);return{...i,authorization:e.authorization,credential:e.credential};case`operation_step_up`:if(!e.operationStepUpPreparation)throw Error(`[multichain] operation step-up preparation is required`);return{...i,authorization:e.authorization,credential:e.credential,operationStepUpPreparation:e.operationStepUpPreparation}}}function dn(e){return e.kind===`digest`&&e.algorithm===`secp256k1`}function fn(e){let t=String(e.intent.operationId||``).trim();if(!t)throw Error(`[multichain] exact EVM signing operation id is required`);return t}function pn(e){switch(e.kind){case`reusable_wallet_session`:return{kind:`wallet_session_opaque`,walletSessionToken:e.walletSessionToken};case`operation_step_up`:return{kind:`wallet_session_opaque`,walletSessionToken:e.walletSessionToken}}throw Error(`[multichain] unsupported ECDSA signing credential`)}function mn(e){let t=e.loadedMaterial.signerSession,n=t.publicFacts,r=t.transport.signingMaterial,i=Gt({relayerUrl:t.transport.relayerUrl,keyHandle:ae(n.keyHandle),ecdsaThresholdKeyId:r.ecdsaThresholdKeyId,clientVerifyingShareB64u:r.clientVerifier33B64u,clientSigningMaterial:e.loadedMaterial.clientSigningMaterial,thresholdEcdsaPublicKeyB64u:n.publicKeyB64u,relayerVerifyingShareB64u:t.transport.relayerVerifyingShareB64u,credential:e.credential,materialActivation:c(t.materialActivation),routerAbEcdsaDerivationPoolFill:{kind:`router_ab_ecdsa_derivation_signing_worker_pool`,scope:t.routerAbEcdsaDerivationNormalSigning.state.scope,ceremonyExpiresAtMs:e.expiresAtMs,materialExpiresAtMs:Date.now()+v},workerCtx:e.workerCtx,authorization:e.authorization});C(`evm-family`,{event:`ecdsa_post_sign_refill`,operationId:e.operationId,scheduled:i.scheduled,reason:i.reason,depth:i.depth,targetDepth:i.targetDepth})}var hn=class{constructor(e){this.algorithm=`secp256k1`,this.beforeSigning=e.beforeSigning,this.shouldAbort=e.shouldAbort,this.workerCtx=e.workerCtx}async signReadySecp256k1Digest(e,t,n,r){let i=fn(n),a=performance.now(),o=await on({signerSession:t.signerSession,workerCtx:this.workerCtx});x(i,`material_load`,a);let s=o.signerSession,l=s.publicFacts,u=s.transport,d=pn(t.credential),f=!1;try{let n={relayerUrl:u.relayerUrl,scope:s.routerAbEcdsaDerivationNormalSigning.state.scope,operationId:i,operationDigests:{lane_digest_b64u:r.laneDigest,intent_digest_b64u:r.intentDigest,display_digest_b64u:r.displayDigest},materialActivation:c(s.materialActivation),credential:d,keyHandle:ae(l.keyHandle),signingDigest32:e.digest32,clientSigningMaterial:o.clientSigningMaterial,expiresAtMs:t.expiresAtMs,workerCtx:this.workerCtx};this.beforeSigning?.();let a;if(t.authorization.kind===`reusable_wallet_session`)a=await nn({...n,authorization:t.authorization});else{let e=t.operationStepUpPreparation;if(!e)throw Error(`[multichain] operation step-up preparation is required for signing`);a=await nn({...n,authorization:t.authorization,operation:e})}if(!a.ok)throw Error(a.message||a.code||`[multichain] Router A/B ECDSA derivation signing failed`);return t.authorization.kind===`reusable_wallet_session`?mn({operationId:i,loadedMaterial:o,workerCtx:this.workerCtx,credential:d,expiresAtMs:t.expiresAtMs,authorization:t.authorization}):C(`evm-family`,{event:`ecdsa_post_sign_refill`,operationId:i,scheduled:!1,reason:`operation_step_up`}),f=!0,a.signature65}finally{await o.cleanupAfterSign({singleUseEmailOtpSession:t.singleUseEmailOtpSession}),x(i,`sign_total`,a,f?`succeeded`:`failed`)}}async signReady(e,t,n,r){if(!dn(e))throw Error(`[Secp256k1Engine] unsupported sign request`);if(e.digest32.length!==32)throw Error(`[Secp256k1Engine] digest32 must be 32 bytes`);if(this.shouldAbort?.()){let e=Error(`Request cancelled`);throw e.code=`cancelled`,e}return await this.signReadySecp256k1Digest(e,t,n,r)}};export{qe as A,j as B,ye as C,Ae as D,Ne as E,Ie as F,de as H,Ge as I,Ye as L,Qe as M,Je as N,Be as O,Ke as P,Se as R,we as S,Te as T,he as U,pe as V,me as W,be as _,Bt as a,Ce as b,Rt as c,Ee as d,Re as f,Ue as g,He as h,zt as i,Xe as j,Ze as k,We as l,xe as m,ln as n,Ct as o,De as p,cn as r,Gt as s,un as t,ke as u,ze as v,Pe as w,Me as x,Oe as y,k as z};
@@ -1 +0,0 @@
1
- import{k as e,z as t}from"./domainIds-GDzjOs6i.js";import{_ as n}from"./validation-dC1-_uyG.js";import{i as r,r as i}from"./base64-ojm5DKcF.js";import{r as a}from"./secureRandomId-CTdlJ5Mx.js";import{f as o,m as s}from"./chains-yAls2d9X.js";import{r as c}from"./canonicalPrimitives-MPGET2cl.js";const l=[`prf`,`kek`,`seed`,`scalar`,`secretkey`,`privatekey`,`plaintext`,`recoverycode`,`clientroot`,`holdershare`];function u(e,t,n,r=[]){let i=new Set(t),a=new Set(r);for(let t of Object.keys(e)){if(i.has(t))continue;if(a.has(t))throw Error(`${n}.${t} is not part of ${n}`);let e=t.toLowerCase().replace(/_/g,``);throw!e.includes(`publickey`)&&l.some(t=>e.includes(t))?Error(`${n}.${t} must never carry plaintext custody material`):Error(`${n}.${t} is not part of ${n}`)}}function d(e,t,r){let i=n(e,r);u(i,t,r);for(let e of t)if(!Object.prototype.hasOwnProperty.call(i,e)||i[e]===void 0)throw Error(`${r}.${e} is required`);return i}const f=Object.freeze([`export_keys`,`link_devices`,`revoke_devices`,`sign`]);Object.freeze([`sign`]);const p=new Set([`export_keys`,`link_devices`,`revoke_devices`,`sign`]),ee=Symbol(`canonicalPermissionSetBrand`);var te=class e extends Array{constructor(e){super(...e),this[ee]=!0,Object.freeze(this)}static create(t){return new e(t)}static get[Symbol.species](){return Array}};function m(e){return typeof e==`string`&&p.has(e)}function h(e){if(!Array.isArray(e))return S(e==null?`delegated wallet permissions are required`:`delegated wallet permissions must be an array`);if(e.length===0)return S(`delegated wallet permissions must be non-empty`);let t=[],n=new Set;for(let r of e){if(!m(r))return S(`delegated wallet permission is unsupported`);if(n.has(r))return S(`delegated wallet permission ${r} is duplicated`);n.add(r),t.push(r)}return t.sort(ie),{ok:!0,value:te.create(ae(t))}}function g(e){return{kind:`delegated_wallet_authority_v1`,permissions:e.permissions}}function _(e){if(!oe(e))return C(`delegated wallet authority must contain exactly kind and permissions`);if(e.kind!==`delegated_wallet_authority_v1`)return C(`delegated wallet authority kind is unsupported`);let t=h(e.permissions);return t.ok?{ok:!0,value:g({permissions:t.value})}:t}function v(){return re(f)}function y(){return g({permissions:v()})}function b(e,t){return e.permissions.includes(t)}function x(e){return Object.freeze([...e.permissions])}function ne(e,t){if(e.kind!==t.kind||e.permissions.length!==t.permissions.length)return!1;for(let n=0;n<e.permissions.length;n+=1)if(e.permissions[n]!==t.permissions[n])return!1;return!0}function re(e){let t=h(e);if(!t.ok)throw Error(t.error.message);return t.value}function ie(e,t){return e<t?-1:e>t?1:0}function ae(e){let[t,...n]=e;if(!t)throw Error(`delegated wallet permissions must be non-empty`);return[t,...n]}function oe(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.keys(e);return t.length===2&&t.includes(`kind`)&&t.includes(`permissions`)}function S(e){return{ok:!1,error:{code:`invalid`,message:e}}}function C(e){return{ok:!1,error:{code:`invalid`,message:e}}}const w=/^[A-Za-z0-9_-]+$/;function T(e,t){if(typeof e!=`string`||!w.test(e))throw Error(`${t} must be unpadded base64url`);let n;try{n=i(e)}catch{throw Error(`${t} must be valid base64url`)}if(r(n)!==e)throw Error(`${t} must be canonical base64url`);return n}function E(e,t){if(e.ok)return e.value;throw Error(`${t} ${e.error.message}`)}function D(e,t){try{return c(e)}catch(e){throw Error(`${t} ${e instanceof Error?e.message:`is not a digest`}`)}}function O(e,t=`nonceB64u`){if(T(e,t).length!==12)throw Error(`${t} must decode to a 12-byte ChaCha20Poly1305 nonce`);return e}function k(e,t=`ciphertextB64u`){if(T(e,t).length<17)throw Error(`${t} must decode to sealed ciphertext with an authentication tag`);return e}function A(e,t=`registeredPublicKeyB64u`){if(T(e,t).length!==32)throw Error(`${t} must decode to a 32-byte Ed25519 public key`);return e}function j(e,t=`publicKey33B64u`){let n=T(e,t);if(n.length!==33)throw Error(`${t} must decode to a 33-byte compressed secp256k1 point`);if(n[0]!==2&&n[0]!==3)throw Error(`${t} must be a compressed secp256k1 public key`);return e}function M(e,t=`keyCreationSignerSlot`){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0||e>4294967295)throw Error(`${t} must be a positive u32`);return e}function N(e,t=`envelopeRevision`){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive integer revision`);return e}function P(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive unix-millisecond timestamp`);return e}function F(e,t){if(typeof e!=`string`)throw Error(`EVM-family signing key slot id requires ${t}`);let n=e.trim();if(!n)throw Error(`EVM-family signing key slot id requires ${t}`);return n}function I(e){return encodeURIComponent(F(e,`non-empty components`))}function L(e){let t=e.split(`:`);return t.length===5&&t[0]===`wallet-key`&&t[1]===`evm-family`&&t.slice(2).every(e=>e.length>0)}function R(t){let n=e(t);return n.ok?L(String(n.value))?{ok:!0,value:String(n.value)}:{ok:!1,error:{code:`invalid`,message:`EVM-family signing key slot id must be wallet-key:evm-family:<walletId>:<signingRootId>:<signingRootVersion>`}}:n}function z(e,t=`evmFamilySigningKeySlotId`){let n=R(e);if(n.ok)return n.value;throw n.error.code===`missing`?Error(`${t} is required`):Error(`${t} must be an EVM-family signing key slot id`)}function B(e){return z([`wallet-key`,`evm-family`,I(e.walletId),I(e.signingRootId),I(e.signingRootVersion)].join(`:`))}function V(e,n){let r=t(n);if(!r)throw Error(`${e} is required`);return r}function H(e){return`${V(`projectId`,e.projectId)}:${V(`envId`,e.envId)}`}function U(e){let t=W(e);return{...t,signingRootVersion:V(`signingRootVersion`,t.signingRootVersion)}}function W(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`runtimePolicyScope must be an object`);let n=e;if(Object.prototype.hasOwnProperty.call(n,`environmentId`))throw Error(`runtimePolicyScope.environmentId is stale; use envId`);if(Object.prototype.hasOwnProperty.call(n,`runtimeSnapshotScope`))throw Error(`runtimePolicyScope.runtimeSnapshotScope is stale; use runtimePolicyScope`);return{orgId:V(`orgId`,n.orgId),projectId:V(`projectId`,n.projectId),envId:V(`envId`,n.envId),...t(n.signingRootVersion)?{signingRootVersion:t(n.signingRootVersion)}:{}}}function G(e,t){return e.orgId===t.orgId&&e.projectId===t.projectId&&e.envId===t.envId&&e.signingRootVersion===t.signingRootVersion}function K(e){return{signingRootId:H(e),signingRootVersion:V(`signingRootVersion`,e.signingRootVersion)}}function q(e){return e===`light`||e===`dark`?e:void 0}const se=[1,2];function J(e){let t=Number(e);return!Number.isSafeInteger(t)||t<1||t>65535?null:t}function Y(e){if(!Array.isArray(e)||e.length===0)return null;let t=[],n=new Set;for(let r of e){let e=J(r);if(!e)return null;n.has(e)||(n.add(e),t.push(e))}return t.sort((e,t)=>e-t),t.length?t:null}function ce(e){if(!Array.isArray(e)||e.length===0)return null;let n=[];for(let r of e){if(!r||typeof r!=`object`||Array.isArray(r))return null;let e=r,i=J(e.id),a=t(e.role);if(!i||a!==`client`&&a!==`relayer`)return null;let o={id:i,role:a},s=t(e.relayerUrl);s&&(o.relayerUrl=s);let c=t(e.relayerKeyId);c&&(o.relayerKeyId=c);let l=t(e.shareDerivation);(l===`prf_first_v1`||l===`derived_master_secret_v1`||l===`kv_random_v1`||l===`unknown`)&&(o.shareDerivation=l),n.push(o)}return n.length?n:null}function le(e){let n=t(e.relayerKeyId),r=t(e.relayerUrl),i=J(e.clientParticipantId)??1,a=J(e.relayerParticipantId)??2;return[{id:i,role:`client`,shareDerivation:e.clientShareDerivation||`prf_first_v1`},{id:a,role:`relayer`,...r?{relayerUrl:r}:{},...n?{relayerKeyId:n}:{},...e.relayerShareDerivation?{shareDerivation:e.relayerShareDerivation}:{}}]}function X(e){try{return U(e)}catch{return}}const Z=864e5,Q={ttlMs:Z,remainingUses:3},ue=3;function de(e,t){let n=Math.floor(Number(e)||0);if(!Number.isFinite(n)||n<=0)throw Error(`[ThresholdSessionPolicy] ${t} must be a positive integer`);return n}function fe(e){let t=Math.floor(Number(e.requestedRemainingUses)||0);return!Number.isFinite(t)||t<=0?null:Math.min(t,3)}function $(e){let t=Math.max(0,Math.floor(Number(e.ttlMs)||0)),n=Math.max(0,Math.floor(Number(e.remainingUses)||0));return{ttlMs:Math.min(t,2592e6),remainingUses:Math.min(n,1e6)}}function pe(){return a(`tsess`,32,`threshold session IDs`)}async function me(e){return r(await s(o(e)))}async function he(e){return ge({nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,authority:e.authority.authority,relayerKeyId:e.relayerKeyId,runtimePolicyScope:e.runtimePolicyScope,routerAbNormalSigning:e.routerAbNormalSigning,participantIds:e.participantIds,thresholdSessionId:e.thresholdSessionId,ttlMs:e.ttlMs,remainingUses:e.remainingUses})}async function ge(e){let t=e.thresholdSessionId||pe(),{ttlMs:n,remainingUses:r}=$({ttlMs:e.ttlMs??Q.ttlMs,remainingUses:e.remainingUses??Q.remainingUses}),i=Y(e.participantIds),a=X(e.runtimePolicyScope),o={version:`threshold_session_v1`,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,authority:e.authority,relayerKeyId:e.relayerKeyId,thresholdSessionId:t,...a?{runtimePolicyScope:a}:{},routerAbNormalSigning:e.routerAbNormalSigning,...i?{participantIds:i}:{},ttlMs:n,remainingUses:r},s=await me(o);return{policy:o,policyJson:JSON.stringify(o),sessionPolicyDigest32:s}}export{x as A,O as C,P as D,j as E,d as F,u as I,_ as M,h as N,E as O,ne as P,k as S,M as T,K as _,$ as a,D as b,fe as c,Y as d,ce as f,G as g,U as h,he as i,b as j,y as k,se as l,H as m,Z as n,X as o,q as p,ue as r,de as s,Q as t,le as u,B as v,N as w,A as x,z as y};
@@ -1 +0,0 @@
1
- function e(e,t){e.post({type:`PM_RESULT`,requestId:t,payload:{ok:!0}})}function t(e,t,n){e.post({type:`PM_RESULT`,requestId:t,payload:{ok:!0,result:n}})}function n(e,t,n){return{...n||{},onEvent:n=>e.postProgress(t,n)}}function r(e,t,n){return{...n||{},onEvent:n=>e.postProgress(t,n),onTimingSpan:n=>e.postProgress(t,n)}}export{r as i,t as n,n as r,e as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./chunk-dVx5-UGu.js";import{h as t,r as n}from"./domainIds-GDzjOs6i.js";import{r}from"./transactionReviewAdmission-0ZgWs6q3.js";import{r as i}from"./base64-ojm5DKcF.js";import{n as a}from"./secureRandomId-CTdlJ5Mx.js";import{h as o}from"./sessionPolicy-CNVK7nJ6.js";import{$ as s,Et as c,M as l,Mt as u,Q as d,Tt as f,Z as p,_t as m,a as h,b as g,f as _,g as v,it as y,j as b,nt as ee,rt as x,x as te,z as S}from"./ecdsaPresignLifecycle-CQnCxSlq.js";import{t as ne}from"./chains-yAls2d9X.js";import{c as C,o as w,s as T}from"./ecdsaChainTarget-CRcRR78w.js";import{f as re,n as E}from"./signerDomain-BhUTzDmF.js";import{a as ie}from"./normalization-BGPR6osg.js";import{C as ae,It as oe,Lt as D,c as se,f as ce,l as le,n as ue,o as O,s as de,u as k,x as A,y as fe}from"./evmFamilyEcdsaIdentity-Br3iFdQx.js";import{a as pe,l as me,s as he}from"./walletAuthority-CoWSeqvQ.js";import{a as ge,l as _e,s as ve}from"./keyMaterialBrands-uVZHfAh3.js";import{a as ye,m as be,o as j}from"./sdkSentEvents-_RGAEeld.js";import{t as xe}from"./signerSlot-BQ1g5JNV.js";import{c as Se,i as Ce,n as we,r as Te,s as Ee}from"./types-M7vxrYtJ.js";import{t as De}from"./challengeDelivery-cAsaUC6U.js";import{O as Oe,y as ke}from"./ecdsaCapabilityManifest-CHFu-QrV.js";import{c as Ae,l as je,s as Me}from"./nonceLaneKeys-BBYi4g51.js";import{c as M,g as N,n as Ne,r as P,s as Pe,t as Fe}from"./exactSigningLaneIdentity-olheZx_n.js";import{c as Ie,o as Le,x as Re,y as F}from"./nearEd25519YaoSigningPreparation-Bp_CvWRz.js";import{a as ze,o as Be}from"./routePlan-B_KJaPtm.js";import{r as Ve}from"./operationFingerprint-DtQb0pdp.js";import{c as He,l as Ue,o as We,s as Ge,t as Ke,u as I}from"./trace-M34pNGuF.js";import{i as qe,n as Je,r as Ye,t as Xe}from"./signerLoader-By0IY24G.js";import{t as Ze,x as Qe}from"./secp256k1-B_6W9QDJ.js";import{a as $e,i as et,n as L}from"./promptText-s8TQ6ckX.js";import{t as tt,u as nt}from"./operationFingerprint-5-wH2Ht8.js";import{_ as rt,b as it,g as at,h as ot,p as st,v as ct,x as lt}from"./routerAbNormalSigning-D_fHjq5l.js";import{C as ut,S as dt,b as ft,f as pt,h as mt,o as ht,r as gt,u as _t}from"./transactionState-9d7f3xVj.js";import{t as vt}from"./bytes-t5S5mkat.js";import{d as yt,l as bt,n as xt,u as St}from"./signingFlow-LUWrZi2d.js";import{t as Ct}from"./display-jK7_hYho.js";const R=new Map;function wt(e){return`${String(e.walletId)}\0${e.materialActivation.activationId}`}function Tt(e){let t=wt(e),r=R.get(t);if(r&&(r.authorityId!==e.authorityId||r.walletAuthMethodId!==e.walletAuthMethodId||r.factorAuthority.walletId!==e.factorAuthority.walletId||r.factorAuthority.bindingId!==e.factorAuthority.bindingId||r.holderHandleId!==e.holderHandleId||!n(r.materialActivation,e.materialActivation)))throw Error(`linked ECDSA holder runtime conflicts with the active authority`);R.set(t,e)}function Et(e){return R.get(wt(e))??null}function Dt(e){return[...R.values()].filter(t=>e===void 0||t.walletId===e)}function Ot(e){let t=wt(e),n=R.get(t);if(n){if(n.holderHandleId!==e.holderHandleId)throw Error(`linked ECDSA holder runtime changed before removal`);R.delete(t)}}function kt(e){if(!e){R.clear();return}for(let[t,n]of R)n.walletId===e&&R.delete(t)}function z(e){let t=e&&typeof e==`object`&&`code`in e?String(e.code||``).trim():``;if(t===`sealed_refresh_parity_fetch_failed`||t===`sealed_refresh_parity_http_error`||t===`sealed_refresh_parity_aborted`)return!0;let n=String(e instanceof Error?e.message:e||``);return n.includes(`Failed to fetch relayer well-known capabilities`)||/Well-known endpoint returned HTTP 5\d\d/.test(n)}function B(e){return e instanceof Error?e.message:String(e||`unknown error`)}async function At(e,t){try{await e()}catch(e){if(t.kind===`key_enrollment_bootstrap_parity`){console.warn(`[threshold-ecdsa] key enrollment bootstrap skipped sealed-refresh startup parity enforcement`,{walletId:String(t.walletId||``).trim(),chainTarget:w(t.chainTarget),error:B(e)});return}if(t.kind===`transaction_bootstrap_parity`&&z(e)){console.warn(`[threshold-ecdsa] transaction bootstrap skipped retryable sealed-refresh capability fetch failure`,{walletId:String(t.walletId||``).trim(),chainTarget:w(t.chainTarget),error:B(e)});return}if(t.kind===`email_otp_bootstrap_parity`&&t.authMethod===E.emailOtp&&z(e)){console.warn(`[threshold-ecdsa] Email OTP bootstrap skipped retryable sealed-refresh capability fetch failure`,{walletId:String(t.walletId||``).trim(),chainTarget:w(t.chainTarget),error:B(e)});return}if(t.kind===`default_bootstrap_parity`&&z(e)){console.warn(`[threshold-ecdsa] default bootstrap skipped retryable sealed-refresh capability fetch failure`,{walletId:String(t.walletId||``).trim(),chainTarget:w(t.chainTarget),error:B(e)});return}throw e}}async function jt(e,t){try{await e()}catch(e){if(!z(e))throw e;console.warn(`[threshold-ecdsa] transaction signing skipped retryable sealed-refresh capability fetch failure`,{walletId:String(t.walletId||``).trim(),chainTarget:w(t.chainTarget),error:B(e)})}}function Mt(e){if(e.kind===`tempoTransaction`)return`tempo`;if(e.kind===`eip1559`)return`evm_compatible`;let t=String(e.chain||``).trim();if(t===`tempo`||t===`evm`)return t;throw Error(`[SigningEngine][ecdsa] transaction request requires a concrete chain family`)}function Nt(e){let t=Number(e.request.tx.chainId);if(!Number.isSafeInteger(t)||t<=0)throw Error(`[SigningEngine][ecdsa] transaction request requires a concrete chainId`);if(t!==e.chainTarget.chainId)throw Error(`[SigningEngine][ecdsa] transaction request chainId does not match chainTarget`);let n=Mt(e.request);if(n!==`evm_compatible`&&n!==e.chainTarget.kind)throw Error(`[SigningEngine][ecdsa] transaction request chain does not match chainTarget`);return e.chainTarget}function Pt(){let e=Error(`Request cancelled`);return e.code=`cancelled`,e}function Ft(e){if(typeof e==`function`&&e())throw Pt()}function It(e){return String(e||``).trim().toLowerCase().replace(/[\s-]+/g,`_`)}function V(e){return!e||typeof e!=`object`||!(`code`in e)?``:It(e.code)}function Lt(e){return e?typeof e==`string`?e.trim():e instanceof Error||typeof e==`object`&&`message`in e?String(e.message||``).trim():String(e).trim():``}function Rt(e){let t=`${e.code} ${e.message}`.toLowerCase();return t.trim()?t.includes(`nonce_too_low`)||t.includes(`nonce too low`)?`nonce_too_low`:t.includes(`nonce_too_high`)||t.includes(`nonce too high`)?`nonce_too_high`:t.includes(`already_known`)||t.includes(`already known`)?`already_known`:t.includes(`replacement_transaction_underpriced`)||t.includes(`replacement transaction underpriced`)?`replacement_underpriced`:t.includes(`nonce_conflict`)||t.includes(`nonce`)&&t.includes(`conflict`)||t.includes(`invalid nonce`)||t.includes(`nonce has already been used`)?`nonce_conflict`:null:null}function zt(e){let t=e.chain===`tempo`?`Tempo`:`EVM`,n=Error(`[SigningEngine] ${t} nonce conflict (${e.reason}) on ${e.networkKey}. Refresh nonce context and retry.`);if(n.code=`nonce_conflict_retryable`,n.retryable=!0,n.details={chain:e.chain,reason:e.reason,networkKey:e.networkKey,chainId:e.chainId},e.cause!==void 0)try{n.cause=e.cause}catch{}return n}function Bt(e){let t=e.chain===`tempo`?`Tempo`:`EVM`,n=Error(`[SigningEngine] ${t} nonce lane blocked on ${e.networkKey} (nonce=${e.blockedNonce}). Reconcile lane and retry.`);if(n.code=`nonce_lane_blocked`,n.retryable=!0,n.details={chain:e.chain,networkKey:e.networkKey,chainId:e.chainId,blockedNonce:e.blockedNonce,...typeof e.ageMs==`number`?{ageMs:e.ageMs}:{}},e.cause!==void 0)try{n.cause=e.cause}catch{}return n}function Vt(e){if(!e.error||typeof e.error!=`object`)return e.error;let t=V(e.error);if(t===`nonce_conflict_retryable`)return e.error;let n=Rt({code:t,message:Lt(e.error)});return n?zt({chain:e.chain,networkKey:e.networkKey,chainId:e.chainId,reason:n,cause:e.error}):e.error}function Ht(e){if(!e.error||typeof e.error!=`object`)return e.error;if(V(e.error)===`nonce_lane_blocked`){let t=typeof e.error.details==`object`&&e.error.details||{},n=String(t?.blockedNonce||``).trim(),r=Number(t?.ageMs);return Bt({chain:e.chain,networkKey:e.networkKey,chainId:e.chainId,blockedNonce:n||`unknown`,...Number.isFinite(r)?{ageMs:r}:{},cause:e.error})}let t=Lt(e.error).toLowerCase();return t.includes(`nonce lane blocked`)||t.includes(`nonce`)&&t.includes(`blocked`)?Bt({chain:e.chain,networkKey:e.networkKey,chainId:e.chainId,blockedNonce:`unknown`,cause:e.error}):e.error}function Ut(e){let t=Vt(e);return Ht({...e,error:t})}function Wt(e){return!e||typeof e!=`object`?!1:V(e)===`nonce_conflict_retryable`}function Gt(e){return!e||typeof e!=`object`?!1:V(e)===`nonce_lane_blocked`}function H(e){if(!e)return{present:!1};let t=N(e.identity,`ECDSA lane summary`);return{present:!0,walletId:t.walletId,authMethod:Se(e.auth),curve:e.curve,chain:e.chain,chainFamily:`chainFamily`in e?e.chainFamily:e.chain,keyKind:`keyKind`in e?e.keyKind:`threshold_ecdsa_secp256k1`,sessionOrigin:`sessionOrigin`in e?e.sessionOrigin:void 0,storageSource:`storageSource`in e?e.storageSource:void 0,retention:`retention`in e?e.retention:void 0,walletSessionId:e.authorization.operationCredential.walletSessionId,materialActivationId:e.materialActivation.activationId,chainTarget:t.chainTarget,evmFamilyKeyPresent:!!t.key}}function U(e,t){try{console.warn(`[SigningEngine][ecdsa] ${e}`,JSON.stringify(t,null,2))}catch{}}function Kt(e){let t=e.lane;if(!t)throw U(`missing selected signing lane`,{context:e.context,chain:e.chain,...e.diagnostics}),Error(`[SigningEngine][ecdsa] missing selected signing lane for ${e.context}`);if(t.curve!==`ecdsa`||t.keyKind!==`threshold_ecdsa_secp256k1`)throw U(`selected signing lane is not ECDSA`,{context:e.context,expectedChain:e.chain,lane:H(t),...e.diagnostics}),Error(`[SigningEngine][ecdsa] ${e.context} requires an ECDSA signing lane`);let n=t.identity,r=N(n,`${e.context} resolved ECDSA lane`),i=r.chainTarget;if(i.kind!==e.chain)throw U(`selected signing lane chain mismatch`,{context:e.context,expectedChain:e.chain,lane:H(t),...e.diagnostics}),Error(`[SigningEngine][ecdsa] ${e.context} chain does not match selected lane`);let a=r.key;if(!a?.ecdsaThresholdKeyId||!a.signingRootId||!a.signingRootVersion)throw U(`selected signing lane missing full ECDSA identity`,{context:e.context,expectedChain:e.chain,lane:H(t),...e.diagnostics}),Error(`[SigningEngine][ecdsa] incomplete ECDSA lane identity for ${e.context}`);if(!a||String(a.walletId)!==String(r.walletId)||String(r.keyHandle||``).trim()===``)throw U(`selected signing lane missing matching shared key identity`,{context:e.context,expectedChain:e.chain,lane:H(t),...e.diagnostics}),Error(`[SigningEngine][ecdsa] missing shared key identity for ${e.context}`);let o=Re({key:a,materialActivation:r.materialActivation,keyHandle:r.keyHandle,walletId:r.walletId,auth:n.auth,authorization:t.authorization,chainTarget:i});return{...t,...o,key:a,keyHandle:r.keyHandle,chainTarget:i,keyKind:`threshold_ecdsa_secp256k1`,chainFamily:r.chainTarget.kind}}function qt(e){let t=e.authMethod;return{primaryAuthMethod:t,linkedAuthMethods:[t],...e.email?{email:e.email}:{},...e.passkeyCredentialIds?.length?{passkeyCredentialIds:e.passkeyCredentialIds}:{}}}async function Jt(e){if(e.senderSignatureAlgorithm===`webauthnP256`)return qt({authMethod:E.passkey});if(e.signerAuthMethod!==void 0)return qt({authMethod:e.signerAuthMethod});throw Error(`[SigningEngine][ecdsa] signer auth method is unavailable`)}function Yt(e){return e.session.capabilitySubjects.filter(t=>t.kind===`sign`&&t.keyFamily===`ecdsa_secp256k1`&&n(t.materialActivation,e.materialActivation)).length===1}function Xt(e){return e.capability.manifest.signer.scope.targetMemberships.some(t=>T(t,e.chainTarget))}function Zt(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function Qt(e){let{selectedAuthority:t,selectedAuthMethod:n}=e;return n.walletId===e.walletId&&n.status===`active`&&n.walletAuthorityId===t.authorityId&&t.walletId===e.walletId&&t.state===`active`}function $t(e){let t=e.capability.authority,n=e.runtime.authBinding;switch(n.kind){case`email_otp`:return p(t)&&x(t,n.emailOtpAuthority);case`passkey`:return d(t)&&t.verifier.rpId===n.rpId&&t.factor.credentialIdB64u===n.credentialIdB64u;default:return n}}function en(e){switch(e.runtime.authBinding.kind){case`email_otp`:return e.selectedAuthMethod.kind===`email_otp`&&e.selectedAuthMethod.emailHashHex===e.runtime.authBinding.emailHashHex;case`passkey`:return e.selectedAuthMethod.kind===`passkey`&&String(e.selectedAuthMethod.rpId)===String(e.runtime.authBinding.rpId)&&e.selectedAuthMethod.credentialIdB64u===e.runtime.authBinding.credentialIdB64u;default:return e.runtime.authBinding}}function tn(e){if(!Number.isSafeInteger(e.nowMs)||e.nowMs<0)return!1;let{capability:t,authorization:r}=e,i=r.session,a=r.operationCredential,o=r.runtime,s=t.manifest.signer,c=r.selectedAuthority.signerActivations.ecdsa;if(!c||!Qt({selectedAuthority:r.selectedAuthority,selectedAuthMethod:r.selectedAuthMethod,walletId:i.walletId})||i.walletId!==s.walletId||i.authorityId!==r.selectedAuthority.authorityId||i.authMethodId!==r.selectedAuthMethod.walletAuthMethodId||i.authorityDigestB64u!==r.selectedAuthority.authorityDigestB64u||i.authorityRevocationEpoch!==r.selectedAuthority.revocationEpoch||s.authority.walletId!==r.selectedAuthority.walletId||s.authority.walletAuthMethodId!==r.selectedAuthMethod.walletAuthMethodId||i.authorizationId.trim().length===0||i.quotaId.trim().length===0||a.walletSessionId.trim().length===0||a.token.trim().length===0||o.walletId!==i.walletId||!en({selectedAuthMethod:r.selectedAuthMethod,runtime:o})||!n(o.materialActivation,t.manifest.activation.materialActivation)||!n(o.roleLocalMaterialRef.materialActivation,o.materialActivation)||!Xt({capability:t,chainTarget:o.chainTarget})||!$t({capability:t,runtime:o})||!Yt({session:i,materialActivation:t.manifest.activation.materialActivation})||!n(c.materialActivation,t.manifest.activation.materialActivation)||c.signer.walletId!==i.walletId||o.expiresAtMs<=0||!Number.isSafeInteger(o.remainingUses)||o.remainingUses<0)return!1;switch(o.kind){case`exact_ecdsa_direct_capability_runtime_v1`:break;case`exact_ecdsa_sealed_runtime_v1`:if(o.sealedRecord.authMethod!==r.selectedAuthMethod.kind||o.sealedRecord.storeKey.trim().length===0||o.sealedRecord.thresholdSessionId.trim().length===0)return!1;break;default:return o}return!(i.expiresAtMs<=e.nowMs||o.expiresAtMs<=e.nowMs||o.keyHandle!==String(t.material.publicFacts.keyHandle)||o.ecdsaThresholdKeyId!==String(t.material.publicFacts.ecdsaThresholdKeyId)||o.thresholdEcdsaPublicKeyB64u!==String(t.material.publicFacts.groupPublicKey33B64u)||!Zt(o.participantIds,t.material.publicFacts.participantIds))}function nn(e){return e.authBinding.kind===`passkey`}function rn(e){return e.authBinding.kind===`email_otp`}function an(e){if(nn(e.runtime)&&e.selected.authMethod.kind===`passkey`||rn(e.runtime)&&e.selected.authMethod.kind===`email_otp`)return{kind:`ecdsa_preprocessing_session`,selectedAuthority:e.selected.authority,selectedAuthMethod:e.selected.authMethod,session:e.session,operationCredential:e.operationCredential,runtime:e.runtime};throw Error(`ECDSA preprocessing session auth method is inconsistent`)}function on(e){return d(e)?{kind:`passkey`,rpId:String(e.verifier.rpId),credentialIdB64u:String(e.factor.credentialIdB64u)}:p(e)?{kind:`email_otp`,providerSubjectId:String(e.factor.providerUserId),emailHashHex:String(e.verifier.emailHashHex),emailOtpAuthority:e}:e}function sn(e){if(!Number.isSafeInteger(e.status.expiresAtMs)||e.status.expiresAtMs<=0||!Number.isSafeInteger(e.status.remainingUses)||e.status.remainingUses<0)throw Error(`Exact ECDSA direct capability requires valid session facts`);return{kind:`exact_ecdsa_direct_capability_runtime_v1`,walletId:e.runtime.walletId,chainTarget:e.runtime.chainTarget,materialActivation:e.runtime.materialActivation,normalSigning:e.runtime.normalSigning,relayerUrl:e.runtime.relayerUrl,relayerKeyId:e.runtime.relayerKeyId,clientVerifyingPublicKey33B64u:e.runtime.clientVerifyingPublicKey33B64u,participantIds:e.runtime.participantIds,ecdsaThresholdKeyId:e.runtime.ecdsaThresholdKeyId,thresholdEcdsaPublicKeyB64u:e.runtime.thresholdEcdsaPublicKeyB64u,keyHandle:e.runtime.keyHandle,runtimePolicyScope:e.runtime.runtimePolicyScope,roleLocalMaterialRef:e.runtime.roleLocalMaterialRef,authBinding:on(e.authority),expiresAtMs:e.status.expiresAtMs,remainingUses:e.status.remainingUses}}function cn(e,t){if(e.kind!==t.kind)return!1;switch(e.kind){case`email_otp`:return t.kind===`email_otp`&&e.providerSubjectId===t.providerSubjectId&&e.emailHashHex===t.emailHashHex&&x(e.emailOtpAuthority,t.emailOtpAuthority);case`passkey`:return t.kind===`passkey`&&e.rpId===t.rpId&&e.credentialIdB64u===t.credentialIdB64u;default:return e}}function ln(e,t){if(e.kind!==t.kind||e.walletId!==t.walletId||!T(e.chainTarget,t.chainTarget)||!n(e.materialActivation,t.materialActivation)||e.keyHandle!==t.keyHandle||e.ecdsaThresholdKeyId!==t.ecdsaThresholdKeyId||!cn(e.authBinding,t.authBinding))return!1;switch(e.kind){case`exact_ecdsa_direct_capability_runtime_v1`:return t.kind===`exact_ecdsa_direct_capability_runtime_v1`;case`exact_ecdsa_sealed_runtime_v1`:return t.kind===`exact_ecdsa_sealed_runtime_v1`&&e.sealedRecord.authMethod===t.sealedRecord.authMethod&&e.sealedRecord.storeKey===t.sealedRecord.storeKey&&e.sealedRecord.thresholdSessionId===t.sealedRecord.thresholdSessionId;default:return e}}function un(e){let t=e.session.walletId;if(!Number.isSafeInteger(e.nowMs)||e.nowMs<0)throw Error(`Exact EVM-family Wallet Session authorization requires a valid timestamp`);if(!Qt({selectedAuthority:e.selected.authority,selectedAuthMethod:e.selected.authMethod,walletId:t})||e.selected.selection.walletId!==t||e.selected.selection.walletAuthMethodId!==e.selected.authMethod.walletAuthMethodId||e.selected.selection.lockState!==`unlocked`)throw Error(`Exact EVM-family Wallet Session authorization selected authority is invalid`);let n=an(e);if(!tn({capability:e.capability,authorization:n,nowMs:e.nowMs}))throw Error(`Exact EVM-family Wallet Session authorization identity is inconsistent`);return n}function dn(e){let t=pn(fn(e),e.nowMs);if(!t)throw Error(`Exact ECDSA signing authorization requires remaining signing uses`);return t}function fn(e){return{kind:`authorized_ecdsa_preprocessing_capability`,capability:e.capability,authorization:un(e)}}function pn(e,t){let n=e.authorization,r=n.runtime;return r.remainingUses<=0||!tn({capability:e.capability,authorization:n,nowMs:t})?null:nn(r)&&n.selectedAuthMethod.kind===`passkey`||rn(r)&&n.selectedAuthMethod.kind===`email_otp`?{kind:`exact_evm_family_wallet_session_authorization_v1`,selectedAuthority:n.selectedAuthority,selectedAuthMethod:n.selectedAuthMethod,session:n.session,operationCredential:n.operationCredential,runtime:r}:null}function mn(e){if(e.authorization.runtime.remainingUses<=0||!tn({capability:e.capability,authorization:e.authorization,nowMs:e.nowMs}))throw Error(`Exact Wallet Session authorization does not bind the ECDSA signing capability`);return{kind:`authorized_evm_family_ecdsa_signing_capability`,capability:e.capability,authorization:e.authorization}}async function hn(e){let t=e.manifest.signer,r=t.registeredPublicFacts,i=e.material.publicFacts,a=await y({authority:e.authority});if(a.authorityDigest!==t.authority.authorityDigest||a.walletId!==t.walletId||e.material.authority.walletId!==t.walletId||e.material.authority.authorityDigest!==t.authority.authorityDigest||!n(e.material.materialActivation,e.manifest.activation.materialActivation)||i.walletId!==t.walletId||i.keyHandle!==r.keyHandle||String(i.groupPublicKey33B64u)!==String(r.publicKeyB64u)||i.ethereumAddress!==r.thresholdOwnerAddress||i.participantIds.length!==r.participantIds.length||i.participantIds.some((e,t)=>e!==r.participantIds[t]))throw Error(`Canonical EVM-family ECDSA signing capability identity is inconsistent`);return{kind:`canonical_evm_family_ecdsa_signing_capability`,authority:e.authority,manifest:e.manifest,material:e.material}}const gn=Symbol(`persisted-ecdsa-role-local-material`);function _n(e,t){return e.bindingDigest===t.contextBinding32B64u}function vn(e,t){return e.durableMaterialRef===t.durableMaterialRef&&e.bindingDigest===t.bindingDigest}function yn(e){return e instanceof Error?e.message:String(e)}function W(e){return{kind:`corrupt`,reason:e.reason,message:e.message}}function bn(e){switch(e.failure.reason){case`missing`:return{kind:`device_link_required`,reason:`missing_local_material`};case`expired`:return W({reason:`expired`,message:`ECDSA role-local persisted material has expired`});case`binding_mismatch`:return W({reason:`binding_mismatch`,message:`ECDSA role-local persisted material binding does not match its public facts`});case`corrupt`:return W({reason:`corrupt_persistence`,message:`ECDSA role-local persisted material is corrupt`});default:{let t=e.failure.reason;throw Error(`Unsupported ECDSA role-local restoration failure: ${String(t)}`)}}}function xn(e){let n=ee(e.authority);if(!n)throw Error(`ECDSA role-local persisted material authority is invalid`);let r=t(e.materialActivation);if(!r.ok)throw Error(r.error.message);if(n.walletId!==e.publicFacts.walletId)throw Error(`ECDSA role-local persisted material authority does not match its wallet`);return{[gn]:!0,kind:`persisted_ecdsa_role_local_material_v1`,authority:n,materialActivation:r.value,publicFacts:e.publicFacts}}function Sn(e){return{kind:`persisted`,authority:e.authority,materialActivation:e.materialActivation,publicFacts:e.publicFacts}}async function Cn(e){switch(e.source.kind){case`unavailable`:return{kind:`device_link_required`,reason:e.source.reason};case`persisted`:try{let t=await Qe({authority:e.source.authority,materialActivation:e.source.materialActivation,workerCtx:e.workerCtx});return t.ok?!n(t.materialRef.materialActivation,e.source.materialActivation)||!_n(t.materialRef,e.source.publicFacts)?W({reason:`worker_identity_mismatch`,message:`ECDSA role-local worker restored a different material identity`}):vn(t.liveHandle,t.materialRef)?{kind:`rehydrated`,liveHandle:t.liveHandle,materialRef:t.materialRef}:W({reason:`worker_identity_mismatch`,message:`ECDSA role-local worker restored a different durable material`}):bn({failure:t})}catch(e){return W({reason:`persistence_unavailable`,message:yn(e)})}default:{let t=e.source;throw Error(`Unsupported ECDSA role-local material source: ${String(t)}`)}}}var G=class extends Error{constructor(e){super(`[OwnerLaneScope] ${e}`),this.name=`OwnerLaneScopeIntegrityError`}},wn=class extends Error{constructor(e){super(`[OwnerLaneScope] relink_required: no active canonical wallet auth method (${e})`),this.code=`relink_required`,this.reason=`missing_canonical_owner_binding`,this.name=`OwnerRelinkRequiredError`}};function Tn(e){return e instanceof wn&&e.name===`OwnerRelinkRequiredError`&&e.code===`relink_required`}function En(e){return{walletId:e.walletId,factor:{kind:`passkey`,credentialIdB64u:e.credentialIdB64u},verifier:{kind:`webauthn`,rpId:e.rpId},bindingId:e.walletAuthMethodId}}function Dn(e){let t=String(e.providerSubjectId||``).trim();if(!t)throw new G(`active Email OTP method has no exact local factor`);let n=s({walletId:e.authMethod.walletId,factor:{kind:`email_otp`,provider:t.startsWith(`google:`)?`google`:`email`,providerUserId:t},verifier:{kind:`email_otp_wallet_auth_method`,emailHashHex:e.authMethod.emailHashHex},bindingId:e.authMethod.walletAuthMethodId});if(!n)throw new G(`active Email OTP method has no exact local factor`);return n}function On(e){let t=e.localMethods.filter(t=>t.kind===`email_otp`&&t.status===`active`&&t.walletId===e.authMethod.walletId&&t.emailHashHex===e.authMethod.emailHashHex),n=t[0],r=n?s(n.authority):null;if(t.length!==1||!r||r.walletId!==e.authMethod.walletId||r.bindingId!==e.authMethod.walletAuthMethodId||r.verifier.emailHashHex!==e.authMethod.emailHashHex)throw new G(`active Email OTP method has no exact local factor`);return r}async function kn(e){let t=String(e.authMethod.walletId);try{return On({authMethod:e.authMethod,localMethods:await e.stores.listWalletAuthMethodsForWallet(t)})}catch(n){if(!e.stores.readEmailOtpProviderSubjectForWallet)throw n;let r=await e.stores.readEmailOtpProviderSubjectForWallet(t);if(!r)throw n;return Dn({authMethod:e.authMethod,providerSubjectId:r})}}function An(e){if(e.authority.walletId!==e.authMethod.walletId||e.authority.bindingId!==e.authMethod.walletAuthMethodId)throw new G(`active wallet auth method does not have an exact factor authority binding`);return e.authority}async function jn(e){return e.authMethod.kind===`passkey`?An({authMethod:e.authMethod,authority:En(e.authMethod)}):An({authMethod:e.authMethod,authority:await kn({authMethod:e.authMethod,stores:e.stores})})}function Mn(e){return{auth:{kind:`passkey`,rpId:A(e.authMethod.rpId),credentialIdB64u:e.authMethod.credentialIdB64u},signerSlot:e.signerSlot}}function Nn(e){return{auth:{kind:`passkey`,rpId:A(e.authMethod.rpId),credentialIdB64u:e.authMethod.credentialIdB64u},keyFamily:`ecdsa`}}function Pn(e){if(e.factorAuthority.walletId!==e.authMethod.walletId||e.factorAuthority.bindingId!==e.authMethod.walletAuthMethodId||e.factorAuthority.verifier.emailHashHex!==e.authMethod.emailHashHex||e.authorityRef.walletId!==e.authMethod.walletId||e.authorityRef.walletAuthMethodId!==e.authMethod.walletAuthMethodId)throw new G(`linked Email OTP authority does not match the selected V2 method`);return{auth:{kind:`email_otp`,providerSubjectId:String(e.factorAuthority.factor.providerUserId)},ownerAuthority:{walletAuthMethodId:e.authorityRef.walletAuthMethodId,authorityDigest:e.authorityRef.authorityDigest}}}async function Fn(e){let t=await e.stores.getWalletPasskeyAuthenticator({walletId:String(e.authMethod.walletId),credentialId:e.authMethod.credentialIdB64u});if(!t||t.credentialId!==e.authMethod.credentialIdB64u)throw new G(`active Passkey auth method has no exact local authenticator`);let n=xe(t.signerSlot,{min:1});if(n===null)throw new G(`local authenticator signer slot is invalid`);return Mn({authMethod:e.authMethod,signerSlot:n})}async function In(e){if(e.authMethod.kind===`passkey`)return await Fn({authMethod:e.authMethod,stores:e.stores});let t=await kn({authMethod:e.authMethod,stores:e.stores}),n=await y({authority:t});return{auth:{kind:`email_otp`,providerSubjectId:String(t.factor.providerUserId)},ownerAuthority:{walletAuthMethodId:n.walletAuthMethodId,authorityDigest:n.authorityDigest}}}function Ln(e){return e.kind===`resolved`&&e.authMethod.status===`active`&&e.authority.state===`active`}function Rn(e){if(e.selectedAuthMethod.kind!==`email_otp`||e.runtime.kind!==`exact_ecdsa_sealed_runtime_v1`||e.runtime.authBinding.kind!==`email_otp`||e.operationCredential.token.trim().length===0||e.runtime.sealedRecord.thresholdSessionId.trim().length===0)throw Error(`Exact Email OTP ECDSA signing-session authorization is incomplete`);return{kind:`signing_session`,operationCredential:e.operationCredential,thresholdSessionId:e.runtime.sealedRecord.thresholdSessionId,curve:`ecdsa`,chainTarget:e.runtime.chainTarget}}async function zn(e,t){if(t.runtime.kind!==`exact_ecdsa_sealed_runtime_v1`||t.runtime.walletId!==t.walletId||!T(t.runtime.chainTarget,t.chainTarget)||!n(t.runtime.materialActivation,t.manifest.activation.materialActivation)||t.manifest.signer.walletId!==t.walletId||t.runtime.authBinding.kind!==`email_otp`)return null;let r;try{r=await y({authority:t.runtime.authBinding.emailOtpAuthority})}catch{return null}let i=t.manifest.signer.authority;if(r.walletId!==t.walletId||r.walletAuthMethodId!==i.walletAuthMethodId||r.authorityDigest!==i.authorityDigest||i.walletId!==t.walletId)return null;let a;try{a=await e.resolveSelectedWalletAuthority(String(t.walletId))}catch{return null}if(!Ln(a))return null;let{selection:o,authMethod:s,authority:c}=a,l=c.signerActivations.ecdsa;if(o.lockState!==`unlocked`||o.walletId!==t.walletId||s.kind!==`email_otp`||s.status!==`active`||s.walletId!==t.walletId||c.state!==`active`||c.walletId!==t.walletId||o.walletAuthMethodId!==s.walletAuthMethodId||s.walletAuthorityId!==c.authorityId||s.walletAuthMethodId!==r.walletAuthMethodId||!l||l.signer.walletId!==t.walletId||!n(l.materialActivation,t.runtime.materialActivation))return null;let u;try{u=await jn({authMethod:s,stores:e.factorStores})}catch{return null}if(!x(u,t.runtime.authBinding.emailOtpAuthority))return null;let d;try{d=await e.readExactWalletSessionAuthorization({walletId:t.walletId,authorityId:c.authorityId,authMethodId:s.walletAuthMethodId})}catch{return null}if(d.kind!==`found`)return null;let{record:f,operationCredential:p}=d;if(f.walletId!==t.walletId||f.authorityId!==c.authorityId||f.authMethodId!==s.walletAuthMethodId||f.authorityDigestB64u!==c.authorityDigestB64u||f.authorityRevocationEpoch!==c.revocationEpoch||f.expiresAtMs<=Date.now()||p.walletSessionId.trim().length===0||p.token.trim().length===0||f.capabilitySubjects.filter(e=>e.kind===`sign`&&e.keyFamily===`ecdsa_secp256k1`&&n(e.materialActivation,t.runtime.materialActivation)).length!==1)return null;try{return dn({capability:await hn({authority:t.runtime.authBinding.emailOtpAuthority,manifest:t.manifest,material:xn({authority:t.manifest.signer.authority,materialActivation:t.manifest.activation.materialActivation,publicFacts:t.manifest.durableMaterial.roleLocalPublicFacts})}),selected:a,session:f,operationCredential:p,runtime:t.runtime,nowMs:Date.now()})}catch{return null}}function K(e,t){try{e?.(be({...t,flowId:t.flowId??Bn(t)}))}catch{}}function Bn(e){let t=e.data||{};return[`signing`,String(t.chain||`evm_family`),String(t.networkKey||`unknown_network`),String(t.nonce||``)||String(e.phase)].join(`:`)}function Vn(e,t){K(e,t)}function Hn(e){if(Un())try{console.debug(`[SigningOperationMachine][evm-family]`,e)}catch{}}function Un(){try{return globalThis.localStorage?.getItem(`seams:debug:signing-operation`)===`1`}catch{return!1}}async function Wn(e){return await ut({...e,labels:{queue:`threshold ECDSA signing queue`,queuedOperation:`threshold ECDSA queued signing operation`},owner:String(e.walletId).trim()})}function Gn(e){let t=e.capability.authority;if(!p(t))throw Error(`[SigningEngine] Email OTP operation step-up requires an Email OTP capability authority`);if(e.claimedAuthority&&!x(t,e.claimedAuthority))throw Error(`[SigningEngine] Email OTP step-up authority does not match the selected capability`);if(!n(e.capability.manifest.activation.materialActivation,e.materialActivation))throw Error(`[SigningEngine] Email OTP step-up material activation does not match the selected capability`);let r=String(e.operationFingerprint||``).trim();if(!r)throw Error(`[SigningEngine] Email OTP operation step-up requires an operation fingerprint`);return{kind:`capability_step_up`,capabilityAuthority:t,materialActivation:e.materialActivation,operationFingerprint:r}}function Kn(e){switch(e.kind){case`live_session`:if(e.committedLane.authority.factor.kind!==`email_otp`)throw Error(`[SigningEngine][ecdsa] Email OTP challenge requires Email OTP authority`);return{kind:`live_session`,authLane:e.committedLane.authLane};case`capability_step_up`:return{kind:`capability_step_up`,capabilityAuthority:e.capabilityAuthority,materialActivation:e.materialActivation,operationFingerprint:e.operationFingerprint}}}function qn(e){let t=null;return{challenge:async()=>{if(typeof e.requestEmailOtpTransactionSigningChallenge!=`function`)throw Error(`[SigningEngine] Email OTP ECDSA signing step-up is not configured`);if(e.authority.kind===`capability_step_up`){if(t!==null&&t!==e.authority.operationFingerprint)throw Error(`[SigningEngine] Email OTP step-up challenge is bound to a different operation`);t=e.authority.operationFingerprint}Vn(e.onEvent,{phase:j.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_STARTED,status:`running`,walletId:e.walletId,interaction:{kind:`none`,overlay:`none`}}),We(`evm-family`,Ke({event:`auth_side_effect_started`,lane:e.selectedLane,sideEffect:`email_otp_challenge`,phase:`confirmed`}));let n=await e.requestEmailOtpTransactionSigningChallenge({walletSession:e.walletSession,chain:e.chain,authority:Kn(e.authority),operationFingerprintDigest:e.operationFingerprintDigest}),r=String(n.challengeId||``).trim();if(!r)throw Error(`[SigningEngine] Email OTP challenge response did not include challengeId`);return Vn(e.onEvent,{phase:j.STEP_06_AUTH_EMAIL_OTP_INPUT_REQUIRED,status:`waiting_for_user`,walletId:e.walletId,interaction:{kind:`otp_input`,overlay:`show`},data:{emailHint:n.emailHint,demoOtpCode:De(n.delivery)}}),{challengeId:r,email:String(n.emailHint||``).trim()}}}}async function Jn(e,t){let n=await t.resolveActiveEcdsaCapabilityRuntime({walletId:e.walletId,chainTarget:e.chainTarget});n.kind!==`resolved`&&ze({kind:`auth_lane_missing`,source:`evm_signing_refresh`,expectedCurve:`ecdsa`});let r=await zn(t,{walletId:e.walletId,chainTarget:e.chainTarget,manifest:n.manifest,runtime:n.runtime});return r||ze({kind:`auth_lane_missing`,source:`evm_signing_refresh`,expectedCurve:`ecdsa`}),{manifest:n.manifest,runtime:n.runtime,authority:r}}async function Yn(e,t){let{authority:n}=await e.resolveSigningSessionAuth({walletId:t.walletSession.walletId,chainTarget:t.chainTarget});return await e.emailOtpSessions.requestTransactionSigningChallenge({kind:`wallet_session_challenge`,walletSession:t.walletSession,chain:t.chainTarget.kind,authLane:Rn(n)})}async function Xn(e){let t;try{t=await e.deps.resolveSigningSessionAuth({walletId:e.args.walletSession.walletId,chainTarget:e.args.chainTarget})}catch{throw Error(`[SigningEngine][ecdsa] Email OTP signing-session refresh material was superseded ${e.phase}`)}if(!n(t.runtime.materialActivation,e.activationBeforeRefresh))throw Error(`[SigningEngine][ecdsa] Email OTP signing-session refresh material was superseded ${e.phase}`);return t}async function Zn(e){let{manifest:t,runtime:n,authority:r}=await Xn({deps:e.deps,args:e.args,activationBeforeRefresh:e.activationBeforeRefresh,phase:`before use`}),i=Be({routeFamily:`signing_session`,authLane:Rn(r),operation:re}),a=le({keyHandle:fe(String(t.durableMaterial.roleLocalPublicFacts.keyHandle)),publicKeyB64u:n.thresholdEcdsaPublicKeyB64u,participantIds:[...n.participantIds],thresholdOwnerAddress:t.durableMaterial.roleLocalPublicFacts.ethereumAddress}),o=n.authBinding;if(o.kind!==`email_otp`)throw Error(`Email OTP signing-session refresh requires an Email OTP sealed runtime`);let s=await e.deps.emailOtpSessions.loginWithEcdsaCapabilityInternal({walletSession:e.args.walletSession,authoritySelector:{kind:`wallet_auth_method`,walletAuthMethodId:String((await y({authority:o.emailOtpAuthority})).walletAuthMethodId)},chainTarget:e.args.chainTarget,emailOtpAuthPolicy:`session`,emailOtpAuthReason:`sign`,challengeId:e.args.challengeId,otpCode:e.args.otpCode,operation:re,routePlan:i,publicFacts:a,ecdsaBootstrapAuthorization:{kind:`route_plan_auth`},providerIdentity:{kind:`explicit_provider_user`,provider:o.emailOtpAuthority.factor.provider,providerUserId:o.providerSubjectId},emailHashHex:o.emailHashHex,...typeof e.args.ttlMs==`number`?{ttlMs:e.args.ttlMs}:{},...typeof e.args.remainingUses==`number`?{remainingUses:e.args.remainingUses}:{},...n.runtimePolicyScope?{runtimePolicyScope:n.runtimePolicyScope}:{}});return await Xn({deps:e.deps,args:e.args,activationBeforeRefresh:e.activationBeforeRefresh,phase:`during refresh`}),s}async function Qn(e,t){let n=(await e.resolveSigningSessionAuth({walletId:t.walletSession.walletId,chainTarget:t.chainTarget})).runtime.materialActivation;return await e.withThresholdEcdsaSigningQueue({queueKey:dt({materialActivation:n}),walletId:t.walletSession.walletId,enabled:!0,task:Zn.bind(void 0,{deps:e,args:t,activationBeforeRefresh:n})})}function $n(e){return p(e.authority)}function er(e){let t=e.selection.committedLane;if(!$n(t))throw Error(`[SigningEngine][ecdsa] Email OTP step-up requires Email OTP authority`);return t.authLane?{kind:`live_session`,committedLane:t}:{kind:`capability_step_up`,capabilityAuthority:t.authority,materialActivation:t.authorization.runtime.materialActivation,operationFingerprint:`sha256:${String(e.operationFingerprintDigest)}`}}function tr(e){if(e.selection)return p(e.selection.committedLane.authority)?er({selection:e.selection,operationFingerprintDigest:e.operationFingerprintDigest}):void 0}async function nr(e){let t=C(e.walletSession.walletId),n=e.senderSignatureAlgorithm===`secp256k1`&&e.ecdsaAuthorization===`reusable_wallet_session`?e.preparedOperation:null,r=n?n.metadata:null,i=n?.lane,a=r?.selection,o=e.confirmedDeps,s=(e.ecdsaAuthorization===`operation_step_up`&&p(e.capability.authority)?Gn({capability:e.capability,materialActivation:e.materialActivation,operationFingerprint:e.operationFingerprint}):void 0)??(i&&Se(i.auth)===E.emailOtp?tr({selection:a,operationFingerprintDigest:e.operationFingerprintDigest}):void 0),c=s?qn({walletId:t,walletSession:e.walletSession,chain:e.chain,...i?{selectedLane:i}:{},authority:s,operationFingerprintDigest:e.operationFingerprintDigest,onEvent:e.onEvent,requestEmailOtpTransactionSigningChallenge:o.requestEmailOtpTransactionSigningChallenge}):null,l=we.TransactionSign,u=null,f;if(n){let e=n,r=e.signingSessionPlan;if(f=r,r.kind===Ce.NotReady)throw Error(`[SigningEngine] ECDSA signing session is not ready: ${r.reason}`);u=nt({plan:r,accountId:String(t),intent:l,curve:`ecdsa`,expiresAtMs:e.expiresAtMs,remainingUses:e.remainingUses})}let m=u?null:await v(),h=u||m.signingAuthPlan,g=m?.emailOtpAuthBridge||c;if(h.kind!==L.EmailOtpReauth||!g)return{signingAuthPlan:h,...f?{signingSessionPlan:f}:{}};let _=async()=>{let e=await g.challenge();return{challengeId:e.challengeId,...e.email?{emailHint:e.email}:{}}};return{signingAuthPlan:h,...f?{signingSessionPlan:f}:{},emailOtpSigning:{prepare:_,resend:async()=>await _()}};async function v(){if(e.ecdsaAuthorization===`operation_step_up`){if(d(e.capability.authority))return{signingAuthPlan:{kind:L.PasskeyReauth,method:`passkey`}};if(p(e.capability.authority)){if(!c)throw Error(`[SigningEngine] Email OTP step-up authority is unavailable for the selected capability`);return{signingAuthPlan:{kind:L.EmailOtpReauth,method:`email_otp`},emailOtpAuthBridge:c}}e.capability.authority}if(!(Array.isArray(e.accountAuth.linkedAuthMethods)?e.accountAuth.linkedAuthMethods:[]).includes(e.accountAuth.primaryAuthMethod))throw Error(`[SigningEngine] primary auth method is not linked: ${String(e.accountAuth.primaryAuthMethod||``)}`);if(e.accountAuth.primaryAuthMethod===E.passkey)return{signingAuthPlan:{kind:L.PasskeyReauth,method:`passkey`}};if(e.accountAuth.primaryAuthMethod===E.emailOtp){if(!c)throw Error(`[SigningEngine] Email OTP transaction signing requires ECDSA lane state`);return{signingAuthPlan:{kind:L.EmailOtpReauth,method:`email_otp`},emailOtpAuthBridge:c}}throw Error(`[SigningEngine] unsupported primary auth method: ${String(e.accountAuth.primaryAuthMethod||``)}`)}}function rr(e){switch(F(e)){case E.emailOtp:return E.emailOtp;case E.passkey:return E.passkey}throw Error(`[SigningEngine][ecdsa] unsupported ECDSA lane auth method`)}function ir(e,t){return{...e,primaryAuthMethod:t,linkedAuthMethods:Array.from(new Set([...e.linkedAuthMethods,t]))}}function ar(e){let t=e.chainTarget.kind===`tempo`?Ie:Le,n={key:e.key,materialActivation:e.materialActivation,keyHandle:e.keyHandle,walletId:e.walletId,chainTarget:e.chainTarget,authorization:e.authorization};return Kt({lane:t(e.auth.kind===`email_otp`?{...n,auth:e.auth,retention:`session`,sessionOrigin:`per_operation`}:{...n,auth:e.auth,storageSource:`manual-bootstrap`}),chain:e.chain,context:`build exact ECDSA candidate signing lane`})}function or(e){return{authMethod:rr(e),chain:e.chain,chainTarget:e.chainTarget,state:e.state,walletSessionId:e.authorization.operationCredential.walletSessionId,materialActivationId:e.materialActivation.activationId,remainingUses:e.authorization.runtime.remainingUses,expiresAtMs:e.authorization.runtime.expiresAtMs}}function q(e){return{...or(e),source:`canonical_capability`}}function sr(e){return e.selectedAuthMethod.kind===`email_otp`&&e.runtime.authBinding.kind===`email_otp`}function cr(e){return e.runtime.kind===`exact_ecdsa_direct_capability_runtime_v1`}function lr(e){return e.runtime.kind===`exact_ecdsa_sealed_runtime_v1`}function ur(e){if(e.auth.kind!==`passkey`)throw Error(`[SigningEngine][ecdsa] passkey committed lane requires passkey candidate`);return{...e,auth:e.auth}}function dr(e){let t=String(e.authority.walletId);if(!(String(e.lane.key.walletId)===t&&String(e.candidate.walletId)===t))throw Error(`[SigningEngine][ecdsa] ${e.context} committed lane authority wallet mismatch`)}function fr(e){return{selectedLaneCandidate:q(e.candidate)}}async function pr(e){let t=ur(e.candidate),n=(await e.deps.resolveCanonicalEcdsaSigningCapability({walletId:t.walletId,chainTarget:t.chainTarget,materialActivation:t.materialActivation})).authority;if(!d(n)||String(n.verifier.rpId)!==String(t.auth.rpId)||n.factor.credentialIdB64u!==t.auth.credentialIdB64u)throw Error(`[SigningEngine][ecdsa] exact Passkey capability authority changed`);return dr({authority:n,lane:e.lane,candidate:t,context:`Passkey`}),{lane:e.lane,authority:n,authorization:e.lane.authorization}}async function mr(e){let t=P(e.lane),n=await e.deps.resolveDurableEmailOtpEcdsaSigningSessionAuthority({lane:t,chain:e.lane.chainTarget.kind});return n?sr(n)?{kind:`durable_authority_backed`,authorization:n}:null:(U(`Email OTP exact ECDSA authority not found`,{lane:H(e.lane),candidate:q(e.candidate)}),null)}function hr(e){if(e.authority)return e.authority;throw U(`Email OTP exact ECDSA signing-session authority missing`,{lane:H(e.lane),candidate:q(e.candidate)}),Error(`Email OTP ECDSA committed lane is missing wallet-session authority; unlock wallet again`)}function gr(e){let t=Rn(e.authority.authorization);if(t.kind===`signing_session`&&t.curve===`ecdsa`&&T(t.chainTarget,e.lane.chainTarget))return t;throw U(`Email OTP ECDSA committed lane rejected for authority shape`,{authorityKind:t.kind,authorityCurve:t.kind===`signing_session`?t.curve:null,lane:H(e.lane),candidate:q(e.candidate)}),Error(`Email OTP ECDSA committed lane authority is not an ECDSA signing session; unlock wallet again`)}function _r(e){if(e.committedLane&&e.committedLane.authority.factor.kind===e.expectedFactor)return e.committedLane;throw U(`ECDSA committed lane missing for ready signing`,{expectedFactor:e.expectedFactor,lane:H(e.lane),candidate:q(e.candidate)}),Error(`[SigningEngine][ecdsa] committed lane is unavailable for ready signing`)}function vr(e){let t=e.authority.authorization;if(t.runtime.authBinding.kind!==`email_otp`)throw Error(`[SigningEngine][ecdsa] Email OTP authority runtime binding is invalid`);let n=t.runtime.authBinding.emailOtpAuthority;if(dr({authority:n,lane:e.lane,candidate:e.candidate,context:`Email OTP`}),cr(t))return{lane:e.lane,authority:n,authorization:t};if(lr(t))return{lane:e.lane,authority:n,authorization:t,authLane:gr({authority:e.authority,lane:e.lane,candidate:e.candidate})};throw Error(`[SigningEngine][ecdsa] Email OTP authorization runtime is unsupported`)}async function yr(e){let t=ar(e.laneCandidate),n=t,r=rr(e.laneCandidate),i=r===E.emailOtp?await mr({deps:e.deps,lane:n,candidate:e.laneCandidate}):null,a=r===E.emailOtp?hr({authority:i,lane:n,candidate:e.laneCandidate}):null,o=r===E.emailOtp&&a?vr({authority:a,lane:n,candidate:e.laneCandidate}):null,s=r===E.passkey?await pr({deps:e.deps,lane:t,candidate:e.laneCandidate}):null,c=o??s,l=c?.authority.factor.kind,u=ir(await Jt({senderSignatureAlgorithm:e.senderSignatureAlgorithm,signerAuthMethod:l??r}),r),d=fr({candidate:e.laneCandidate});return{kind:`ready`,accountAuth:u,lane:t,committedLane:_r({committedLane:c,expectedFactor:r,lane:t,candidate:e.laneCandidate}),diagnostics:d}}function br(e){let t={walletId:e.walletId,curve:`ecdsa`,authSelectionPolicy:e.authSelectionPolicy,operationUsesNeeded:e.operationUsesNeeded,...e.operationId?{operationId:e.operationId}:{}};return e.signingTarget.kind===`tempo`?{...t,chain:`tempo`,chainTarget:e.signingTarget}:{...t,chain:`evm`,chainTarget:e.signingTarget}}function xr(e){return{kind:`account_class`,authMethod:e.candidateAuthMethod}}function Sr(e){let t=new Set;for(let n of pt(e.availableLanes,e.signingTarget))mt(n)&&T(n.chainTarget,e.signingTarget)&&t.add(_t(n));if(t.size!==1)throw Error(`[SigningEngine][ecdsa] exact capability authority is unavailable or ambiguous`);return Array.from(t)[0]}function Cr(e){if(!e)return{present:!1};if(!mt(e))return{present:!0,curve:e.curve,chain:e.chainTarget.kind,chainTarget:e.chainTarget,state:e.state};let t=ce({walletId:e.key.walletId,publicFacts:e.publicFacts});return{present:!0,authMethod:_t(e),curve:e.curve,chain:e.chainTarget?.kind,chainTarget:e.chainTarget,...t?{evmFamilyKeyFingerprint:t}:{},state:e.state,source:e.source,walletSessionId:e.authorization?.operationCredential.walletSessionId,materialActivationId:e.materialActivation.activationId,remainingUses:e.remainingUses,expiresAtMs:e.expiresAtMs}}function wr(e){return Object.fromEntries(Object.entries(e.ecdsa.candidatesByTarget).map(([e,t])=>[e,t.map(e=>Cr(e))]))}function Tr(e,t){try{console.warn(e,JSON.stringify(t,null,2))}catch{try{console.warn(e,t)}catch{}}}function Er(e){return Object.fromEntries(Object.entries(e.ecdsa.lanesByTarget).map(([e,t])=>[e,Cr(t)]))}function Dr(e){return e?{present:!0,authMethod:F(e),curve:e.curve,chain:e.chainTarget.kind,chainTarget:e.chainTarget,state:e.state,source:e.source,materialActivationId:e.materialActivation.activationId,authorizationState:e.authorizationState,...e.authorizationState===`authorized`?{walletSessionId:e.authorization.operationCredential.walletSessionId,remainingUses:e.authorization.runtime.remainingUses,expiresAtMs:e.authorization.runtime.expiresAtMs}:{}}:{present:!1}}function Or(e,t){let n=e.session,r=t.session;return e.selectedAuthority.authorityId===t.selectedAuthority.authorityId&&e.selectedAuthMethod.kind===t.selectedAuthMethod.kind&&e.selectedAuthMethod.walletAuthMethodId===t.selectedAuthMethod.walletAuthMethodId&&n.walletId===r.walletId&&n.authorityId===r.authorityId&&n.authMethodId===r.authMethodId&&n.authorizationId===r.authorizationId&&n.quotaId===r.quotaId&&n.authorityDigestB64u===r.authorityDigestB64u&&n.authorityRevocationEpoch===r.authorityRevocationEpoch&&e.operationCredential.walletSessionId===t.operationCredential.walletSessionId&&e.operationCredential.token===t.operationCredential.token&&ln(e.runtime,t.runtime)}function kr(e){let t=e.candidate,n=F(t),r=e.selection.committedLane.authority.factor.kind;if(n!==r)throw Error(`[SigningEngine][ecdsa] prepared auth method ${n} did not match committed lane auth method ${r}`);let i=Se(e.selection.lane.auth);if(i!==r)throw Error(`[SigningEngine][ecdsa] selected lane auth method ${i} did not match committed lane auth method ${r}`);if(!Or(t.authorization,e.selection.lane.authorization))throw Error(`[SigningEngine][ecdsa] prepared authorization did not match lane`);if(M(P(e.selection.committedLane.lane))!==M(P(e.selection.lane)))throw Error(`[SigningEngine][ecdsa] committed lane did not match selected lane`)}function Ar(e){let t=e.diagnostics.selectedLaneCandidate.state,{expiresAtMs:n,remainingUses:r}=e.lane.authorization.runtime;return t===`expired`?{readiness:{status:`expired`,curve:`ecdsa`,materialActivation:e.lane.materialActivation,authorization:e.lane.authorization,expiresAtMs:n},expiresAtMs:n,remainingUses:r}:t===`exhausted`?{readiness:{status:`exhausted`,curve:`ecdsa`,materialActivation:e.lane.materialActivation,authorization:e.lane.authorization,expiresAtMs:n,remainingUses:r},expiresAtMs:n,remainingUses:r}:{readiness:{status:`ready`,curve:`ecdsa`,materialActivation:e.lane.materialActivation,authorization:e.lane.authorization,expiresAtMs:n,remainingUses:r},expiresAtMs:n,remainingUses:r}}function jr(e){let t=e.preparedOperation.operation;if(!t)throw Error(`[SigningEngine][ecdsa] prepared material requires an operation identity`);if(e.metadata.materialBinding.operationId!==t.operationId)throw Error(`[SigningEngine][ecdsa] prepared material operation identity mismatch`);if(e.metadata.materialBinding.operationFingerprint&&t.operationFingerprint&&e.metadata.materialBinding.operationFingerprint!==t.operationFingerprint)throw Error(`[SigningEngine][ecdsa] prepared material fingerprint mismatch`);let n=M(Pe(e.preparedOperation.lane));if(e.metadata.materialBinding.laneIdentityKey!==n)throw Error(`[SigningEngine][ecdsa] prepared material lane identity mismatch`)}async function Mr(e){let t=e.signingTarget,n=t.kind,r=C(e.walletSession.walletId),i=await e.deps.resolveOwnerLaneScope(r),a=await e.deps.readAvailableSigningLanesForSigning({walletId:r,curve:`ecdsa`,ecdsaChainTargets:[t],ownerScope:i}),o={walletId:r,chain:n,chainTarget:t,targetKey:w(t),candidateCount:pt(a,t).length,selectedLanesByTarget:Er(a),candidatesByTarget:wr(a)};o.candidateCount===0&&Tr(`[ECDSA_LANE_READ_DIAGNOSTIC][no-candidates]`,o),I(`evm-family`,{stage:`ecdsa_prepare.available_lanes_read`,...o});let s=Sr({availableLanes:a,signingTarget:e.signingTarget}),c=br({walletId:r,authSelectionPolicy:xr({candidateAuthMethod:s}),operationUsesNeeded:1,signingTarget:e.signingTarget,...e.signingOperation.operationId?{operationId:e.signingOperation.operationId}:{}}),l=ht({intent:c,availableLanes:a});if(I(`evm-family`,{stage:`ecdsa_prepare.material_candidate_selected`,walletId:r,chain:n,chainTarget:t,primaryAuthMethod:l.ok?F(l.candidate):s,selectionOk:l.ok,...l.ok?{authorizationState:l.kind,selectedAvailableLane:Cr(l.availableLane),selectedLaneCandidate:Dr(l.candidate),...l.kind===`authorized`?{transactionLane:l.lane}:{}}:{failure:l.failure}}),!l.ok){let e={stage:`ecdsa_prepare.exact_material_candidate_missing`,walletId:r,chain:n,chainTarget:t,targetKey:w(t),primaryAuthMethod:s,candidateCount:o.candidateCount,ecdsaTargets:a.ecdsa.targets,selectedLanesByTarget:o.selectedLanesByTarget,candidatesByTarget:o.candidatesByTarget,selectionFailure:l.failure};throw Tr(`[ECDSA_NO_LANE_DIAGNOSTIC]`,e),Ue(`evm-family`,e),Error(`[SigningEngine][ecdsa] transaction signing requires exact ECDSA material for ${n}`)}if(l.kind===`authorization_required`){let t=l.candidate;return e.diagnostics.selection={kind:`authorization_required`,authMethod:_t(l.availableLane),candidate:Dr(t)},{kind:`authorization_required`,authMethod:_t(l.availableLane),availableLanesGeneration:a.generation,identity:Ne({signer:Fe({walletId:t.walletId,chainTarget:t.chainTarget,keyHandle:t.keyHandle,key:t.key,materialActivation:t.materialActivation}),auth:t.auth}),candidate:t,intent:c}}let u=l.candidate,d=l.lane,f=await gt({intent:c,coordinator:e.signingSessionCoordinator,operation:e.signingOperation,forceFreshAuth:e.forceFreshAuth===!0,missingWhenExpiresAtMissing:!0,onPlannerTrace:e=>He(`evm-family`,e),lifecycleAdapter:{prepare:async()=>{let i=await yr({deps:e.deps,walletId:r,chainTarget:t,senderSignatureAlgorithm:`secp256k1`,laneCandidate:u});I(`evm-family`,{stage:`ecdsa_prepare.material_selected`,walletId:r,chain:n,chainTarget:t,selectionKind:i.kind,authMethod:i.committedLane.authority.factor.kind,lane:H(i.lane),diagnostics:i.diagnostics});let o=i.committedLane.authority.factor.kind;Ge(`evm-family`,i.lane,{reason:`evm_family_ecdsa_selection`}),e.diagnostics.selection={kind:i.kind,authMethod:o,lane:H(i.lane),diagnostics:i.diagnostics};let s=Kt({lane:i.lane,chain:n,context:`EVM-family signing preparation`,diagnostics:e.diagnostics});kr({candidate:u,selection:i});let l=Ar(i);return I(`evm-family`,{stage:`ecdsa_prepare.readiness`,walletId:r,chain:n,chainTarget:t,authMethod:o,lane:H(s),readinessStatus:l.readiness.status}),We(`evm-family`,Ke({event:`pre_confirm_readiness_checked`,lane:s,readinessStatus:l.readiness.status,phase:`pre_confirm`})),{lane:s,transactionLane:d,transactionIntent:c,readiness:{readiness:l.readiness,expiresAtMs:l.expiresAtMs,remainingUses:l.remainingUses},availableLanesGeneration:a.generation,metadata:{accountAuth:i.accountAuth,authMethod:o,source:i.diagnostics.selectedLaneCandidate.source,selection:i,materialBinding:{operationId:e.signingOperation.operationId,...e.signingOperation.operationFingerprint?{operationFingerprint:e.signingOperation.operationFingerprint}:{},laneIdentityKey:M(Pe(s))},availableLanesGeneration:a.generation}}}}}),p=f.thresholdOperation,m=p.metadata;return jr({metadata:m,preparedOperation:p}),{kind:`authorized`,accountAuth:m.accountAuth,authMethod:m.authMethod,source:m.source,selection:m.selection,availableLanesGeneration:m.availableLanesGeneration,signingLane:p.lane,preparedOperation:p,transactionOperation:f.transactionOperation}}function J(e){let t=e.signedResult.managedNonce;if(!t||typeof t!=`object`)throw Error(`[SigningEngine][evm-family] managedNonce is required for nonce lifecycle`);try{let n=bt(t);return e.walletId,n}catch(e){throw Error(`[SigningEngine][evm-family] invalid managedNonce: ${e instanceof Error?e.message:String(e||`unknown error`)}`)}}async function Nr(e,t){let n=Y(t);await e.nonceCoordinator.release({...n,reason:`signing_failed`})}function Pr(e){return{chainNextNonce:e.chainNextNonce.toString(),unresolvedInFlightNonces:e.unresolvedInFlightNonces.map(e=>e.toString()),blocked:e.blocked,...e.blockedNonce==null?{}:{blockedNonce:e.blockedNonce.toString()}}}async function Fr(e,t){let n=J({signedResult:t.signedResult,walletId:t.walletId});K(t.onEvent,{walletId:t.walletId,phase:j.STEP_12_BROADCAST_ACCEPTED,status:`running`,message:`Marking managed nonce lane as in-flight`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),nonce:n.nonce.toString()}});let r=Ir(t.txHash||(t.signedResult.chain===`evm`?t.signedResult.txHashHex:void 0));await e.nonceCoordinator.markBroadcastAccepted({...Y(n),txHash:r}),K(t.onEvent,{walletId:t.walletId,phase:j.STEP_12_BROADCAST_ACCEPTED,status:`succeeded`,message:`Managed nonce lane marked in-flight`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),nonce:n.nonce.toString(),txHash:r}})}function Ir(e){let t=String(e||``).trim().toLowerCase();if(!/^0x[0-9a-f]{64}$/.test(t))throw Error(`[SigningEngine][evm-family] broadcast acceptance requires txHash`);return t}async function Lr(e,t){let n=J({signedResult:t.signedResult,walletId:t.walletId});K(t.onEvent,{walletId:t.walletId,phase:j.STEP_12_BROADCAST_REJECTED,status:`running`,message:`Marking managed nonce reservation rejected`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),nonce:n.nonce.toString()}}),await e.nonceCoordinator.markBroadcastRejected({...Y(n),error:t.error});let r=Ut({error:t.error,chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId});if(K(t.onEvent,{walletId:t.walletId,phase:j.STEP_12_BROADCAST_REJECTED,status:`failed`,message:`Managed nonce reservation marked rejected`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),nonce:n.nonce.toString()}}),!Wt(r)&&!Gt(r))return;K(t.onEvent,{walletId:t.walletId,phase:j.STEP_13_NONCE_RECONCILE_STARTED,status:`running`,message:`Reconciling managed nonce lane after broadcast error`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),nonce:n.nonce.toString(),errorCode:V(r)}});let i=await e.nonceCoordinator.reconcile({lane:Me(n)}).catch(()=>null);throw K(t.onEvent,{walletId:t.walletId,phase:j.STEP_13_NONCE_RECONCILE_SUCCEEDED,status:`succeeded`,message:`Managed nonce lane reconciled`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),...i?{laneStatus:Pr(i)}:{}}}),r}async function Rr(e,t){t.receiptStatus;let n=J({signedResult:t.signedResult,walletId:t.walletId}),r=t.txHash||(t.signedResult.chain===`evm`?t.signedResult.txHashHex:void 0);await e.nonceCoordinator.markFinalized({...Y(n),...r?{txHash:r}:{}})}async function zr(e,t){let n=J({signedResult:t.signedResult,walletId:t.walletId});K(t.onEvent,{walletId:t.walletId,phase:t.reason===`replaced`?j.STEP_13_TRANSACTION_REPLACED:j.STEP_13_TRANSACTION_DROPPED,status:`running`,message:t.reason===`replaced`?`Marking managed nonce lane replaced`:`Marking managed nonce lane dropped`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),nonce:n.nonce.toString(),reason:t.reason,...t.txHash?{txHash:t.txHash}:{}}}),await e.nonceCoordinator.markDroppedOrReplaced({...Y(n),reason:t.reason,...t.txHash?{txHash:t.txHash}:{}}),K(t.onEvent,{walletId:t.walletId,phase:t.reason===`replaced`?j.STEP_13_TRANSACTION_REPLACED:j.STEP_13_TRANSACTION_DROPPED,status:t.reason===`replaced`?`succeeded`:`failed`,message:t.reason===`replaced`?`Managed nonce lane marked replaced`:`Managed nonce lane marked dropped`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),nonce:n.nonce.toString(),reason:t.reason,...t.txHash?{txHash:t.txHash}:{}}})}async function Br(e,t){let n=J({signedResult:t.signedResult,walletId:t.walletId});K(t.onEvent,{walletId:t.walletId,phase:j.STEP_13_NONCE_RECONCILE_STARTED,status:`running`,message:`Reconciling managed nonce lane`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString()}});let r=await e.nonceCoordinator.reconcile({lane:Me(n)}),i=Pr(r);if(K(t.onEvent,{walletId:t.walletId,phase:j.STEP_13_NONCE_RECONCILE_SUCCEEDED,status:`succeeded`,message:`Managed nonce lane reconciled`,data:{chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId.toString(),laneStatus:i}}),r.blocked)throw Bt({chain:n.chainTarget.kind,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId,blockedNonce:String(i.blockedNonce||`unknown`)});return i}function Y(e){let t=String(e.leaseId||``).trim(),n=String(e.operationId||``).trim(),r=String(e.operationFingerprint||``).trim();if(!t||!n||!r)throw Error(`[SigningEngine][evm-family] managedNonce lease metadata is required`);return{leaseId:t,operationId:n,operationFingerprint:r}}function Vr(e){let t=String(e||``).trim().toLowerCase();if(/^0x[0-9a-f]{40}$/.test(t))return t}function Hr(e){if(`chainId`in e)return typeof e.chainId==`number`?e.chainId:void 0}function Ur(e){return String(ne(e.network))===`evm`}function Wr(e){return String(ne(e.network))===`tempo`}function Gr(e){let t=qr(e);if(t)return t;let n=e.request.tx.chainId;throw Error(`[SigningEngine] unable to resolve nonce network for ${e.request.chain} chainId=${String(n)} from configured chains`)}function Kr(e){return qr(e)||`${e.request.chain}:${String(e.request.tx.chainId)}`}function qr(e){let t=e.request.tx.chainId,n=e.configs.network.chains.filter(e=>{let n=Hr(e);return typeof n==`number`&&n===t});if(!n.length)return null;if(e.request.chain===`tempo`){let t=n.filter(e=>Wr(e));if(t.length===1)return t[0].network;if(t.length>1){let n=t.map(e=>e.network).join(`, `);throw Error(`[SigningEngine] ambiguous nonce network for tempo chainId=${String(e.request.tx.chainId)} across [${n}]`)}return null}let r=n.filter(e=>Ur(e));if(r.length===1)return r[0].network;if(r.length>1){let t=r.map(e=>e.network).join(`, `);throw Error(`[SigningEngine] ambiguous nonce network for evm chainId=${String(e.request.tx.chainId)} across [${t}]`)}let i=n.filter(e=>Wr(e));if(i.length===1)return i[0].network;if(i.length>1){let t=i.map(e=>e.network).join(`, `);throw Error(`[SigningEngine] ambiguous nonce network for evm->tempo chainId=${String(e.request.tx.chainId)} across [${t}]`)}return null}function Jr(e){return{kind:`threshold_owner`,thresholdOwnerAddress:e}}function Yr(e){return{kind:`chain_account`,chainAccountAddress:e}}function Xr(e){switch(e.kind){case`threshold_owner`:return e.thresholdOwnerAddress;case`chain_account`:return e.chainAccountAddress;default:return e}}async function Zr(e){let t=(await e.deps.walletSignerStore.getActiveWalletSignerForChainTarget({walletId:e.walletId,chainTarget:e.chainTarget}))?.metadata||{},n=Vr(t.thresholdOwnerAddress);if(n)return Jr(n);let r=Vr(t.accountAddress);if(r)return Yr(r);let i=ie(e.chainTarget);throw Error(`[SigningEngine] unable to resolve managed nonce wallet signer for ${e.walletId} (${i})`)}async function Qr(e){return Xr(e.senderIdentity)}async function $r(e){let t=await Qr({senderIdentity:e.senderIdentity});return St({chain:`evm`,networkKey:Gr({configs:e.deps.seamsWebConfigs,request:e.request}),chainId:e.request.tx.chainId,sender:t,walletId:e.walletId})}async function ei(e){let t=e.reservationInput,n;try{n=Ae(await e.deps.nonceCoordinator.reserve({lane:je(t),operation:e.operation}))}catch(e){throw Ut({error:e,chain:`evm`,networkKey:t.chainTarget.networkSlug,chainId:t.chainTarget.chainId})}return{request:{...e.request,tx:{...e.request.tx,nonce:n.nonce}},reservation:n}}async function ti(e){let t=await Qr({senderIdentity:e.senderIdentity}),n=St({chain:`tempo`,networkKey:Gr({configs:e.deps.seamsWebConfigs,request:e.request}),chainId:e.request.tx.chainId,sender:t,nonceKey:e.request.tx.nonceKey,walletId:e.walletId}),r;try{r=Ae(await e.deps.nonceCoordinator.reserve({lane:je(n),operation:e.operation}))}catch(e){throw Ut({error:e,chain:`tempo`,networkKey:n.chainTarget.networkSlug,chainId:n.chainTarget.chainId})}return{request:{...e.request,tx:{...e.request.tx,nonce:r.nonce}},reservation:r}}function ni(e){if(e.state.kind!==`not_required`)return Jr(e.state.thresholdOwnerAddress)}function ri(e){if(e.state.kind===`not_required`)throw Error(`[SigningEngine][evm-family] raw EIP-1559 signing requires prepared threshold ECDSA owner address for ${e.walletId}`);return Jr(e.state.thresholdOwnerAddress)}function ii(e){return Zr({deps:e.deps,walletId:e.walletId,chainTarget:e.chainTarget})}async function ai(e,t){let n=e.deps.nonceCoordinator.recoverDurableLeases({walletId:e.walletId});n.catch(()=>{});let r=await t.loadSigner();try{return await r({...e.flowArgs,authorization:e.flowArgs.authorization??{kind:`owner`},request:e.request,onConfirmationDisplayed:e.onConfirmationDisplayed,thresholdEcdsaStepUp:e.thresholdEcdsaStepUp,prepareRequestWithManagedNonce:async()=>(await n,await t.prepareRequestWithManagedNonce({deps:e.deps,walletId:e.walletId,request:e.request,nonceOperation:e.nonceOperation})),releaseNonceReservation:async t=>{await Nr(e.deps,t)}})}catch(n){let r=await e.retryWithFreshEmailOtpAuth(n);if(r)return r;throw Ut({error:n,chain:t.targetKind,networkKey:Kr({configs:e.deps.seamsWebConfigs,request:e.request}),chainId:e.chainTarget.chainId})}}async function oi(e){if(e.chainTarget.kind===`evm`||e.request.kind===`eip1559`){let t=null,n=null,r=e.request.kind===`eip1559`?ri({state:e.thresholdEcdsaState,walletId:e.walletId}):void 0,i=ni({state:e.thresholdEcdsaState}),a=t=>{let a=r||i;return a?Promise.resolve(a):(n||=ii({deps:t.deps,walletId:t.walletId,chainTarget:e.chainTarget}),n)},o=e=>(t||=a(e).then(t=>$r({deps:e.deps,walletId:e.walletId,request:e.request,senderIdentity:t})),t),s=e.chainTarget.kind;return await ai({...e,request:e.request},{targetKind:s,loadSigner:s===`tempo`?Je:Ye,prepareRequestWithManagedNonce:async e=>{let t=await o(e);return await ei({deps:e.deps,request:e.request,reservationInput:t,operation:e.nonceOperation})}})}let t=null,n=ni({state:e.thresholdEcdsaState}),r=r=>n?Promise.resolve(n):(t||=ii({deps:r.deps,walletId:r.walletId,chainTarget:e.chainTarget}),t);return await ai({...e,request:e.request},{targetKind:`tempo`,loadSigner:Je,prepareRequestWithManagedNonce:async e=>{let t=await r(e);return await ti({deps:e.deps,walletId:e.walletId,request:e.request,operation:e.nonceOperation,senderIdentity:t})}})}function si(e){let t=b(e.routerAbState);return{kind:`router_ab_ecdsa_derivation_signing_material_ref_v1`,activeStateId:l(t),ecdsaThresholdKeyId:ve(t.scope.ecdsa_threshold_key_id),clientVerifier33B64u:_e(t.scope.public_identity.derivation_client_share_public_key33_b64u),serverVerifier33B64u:t.scope.public_identity.server_public_key33_b64u,thresholdVerifier33B64u:t.scope.public_identity.threshold_public_key33_b64u}}async function ci(e){return Cn({purpose:`transaction_signing`,source:Sn(e.persistedMaterial),workerCtx:e.workerCtx})}async function li(e){let t=e.capability,r=t.manifest,i=t.material,a=e.runtime,o=i.publicFacts;if(!n(e.materialActivation,r.activation.materialActivation))return{kind:`unavailable`,reason:`material_activation_mismatch`};if(!n(a.materialActivation,r.activation.materialActivation))return{kind:`unavailable`,reason:`runtime_correlation_mismatch`};let s=r.signer.scope.targetMemberships.some(e=>T(e,o.chainTarget)),c=r.signer.scope.targetMemberships.find(t=>T(t,e.chainTarget));if(!s||!c||!T(a.chainTarget,c))return{kind:`unavailable`,reason:`chain_mismatch`};let u=Oe({publicFacts:o,chainTarget:c});if(!a.runtimePolicyScope)return{kind:`unavailable`,reason:`runtime_policy_scope_missing`};let d=await ci({persistedMaterial:i,workerCtx:e.workerCtx}),f;switch(d.kind){case`rehydrated`:f=d;break;case`device_link_required`:return{kind:`unavailable`,reason:`device_link_required`};case`corrupt`:return{kind:`unavailable`,reason:`material_corrupt`};default:return d}let p=a.normalSigning,m=si({routerAbState:p});return{kind:`ready`,material:O({walletId:r.signer.walletId,materialActivation:r.activation.materialActivation,publicFacts:r.signer.registeredPublicFacts,transport:{kind:`threshold_ecdsa_signer_transport`,relayerUrl:a.relayerUrl,relayerKeyId:r.durableMaterial.roleLocalBinding.relayerKeyId,signingMaterial:m,relayerVerifyingShareB64u:u.relayerPublicKey33B64u},clientShare:{kind:`role_local_worker_share`,handle:f.liveHandle,material:{kind:`worker_loaded`,materialRef:f.materialRef}},routerAbEcdsaDerivationNormalSigning:{kind:`router_ab_ecdsa_derivation_normal_signing_hydrated_v1`,state:p,activeStateId:l(p)}})}}function ui(e){let t=mn({capability:e.capability,authorization:e.authorization,nowMs:e.nowMs}),r=t.authorization.session,i=t.authorization.operationCredential;if(r.walletId!==e.material.walletId||!n(e.material.materialActivation,e.capability.manifest.activation.materialActivation))throw Error(`Exact Wallet Session authorization wallet does not match hydrated material`);if(i.token.trim().length===0)throw Error(`Exact Wallet Session authorization is unavailable`);return Ze({walletId:e.material.walletId,signerSession:e.material,authorization:{kind:`reusable_wallet_session`,wallet_session_id:i.walletSessionId},credential:{kind:`reusable_wallet_session`,walletSessionToken:i.token},expiresAtMs:r.expiresAtMs,singleUseEmailOtpSession:!1})}function di(e){return e.session.capabilitySubjects.some(t=>t.kind===`sign`&&t.keyFamily===`ecdsa_secp256k1`&&n(t.materialActivation,e.materialActivation))}function fi(e){let t=e.authorityRuntime,r=t.holderRuntime,i=t.session,a=t.operationCredential,o=r.activationReceipt.normalSigning,s=o.scope;if(i.walletId!==r.walletId||i.authorityId!==r.authorityId||i.authMethodId!==r.walletAuthMethodId||a.walletSessionId!==t.walletSessionId||i.expiresAtMs<=Date.now()||!di({session:i,materialActivation:r.materialActivation})||s.wallet_id!==r.walletId||s.ecdsa_threshold_key_id!==r.ecdsaThresholdKeyId||!n(f(s.material_activation),r.materialActivation))throw Error(`[SigningEngine] active Wallet Authority session does not bind the ECDSA holder runtime`);let c=String(e.relayerUrl||``).trim();if(!c)throw Error(`[SigningEngine] active Wallet Authority ECDSA signing requires relayerUrl`);let u=O({walletId:C(r.walletId),materialActivation:r.materialActivation,publicFacts:t.publicFacts,transport:{kind:`threshold_ecdsa_signer_transport`,relayerUrl:c,relayerKeyId:t.relayerKeyId,signingMaterial:si({routerAbState:o}),relayerVerifyingShareB64u:s.public_identity.server_public_key33_b64u},clientShare:{kind:`linked_holder_worker_share`,holderHandleId:r.holderHandleId},routerAbEcdsaDerivationNormalSigning:{kind:`router_ab_ecdsa_derivation_normal_signing_hydrated_v1`,state:o,activeStateId:l(o)}});return Ze({walletId:r.walletId,signerSession:u,authorization:{kind:`reusable_wallet_session`,wallet_session_id:a.walletSessionId},credential:{kind:`reusable_wallet_session`,walletSessionToken:a.token},expiresAtMs:i.expiresAtMs,singleUseEmailOtpSession:!1})}function pi(e){return{kind:`blocked`,reason:e}}function mi(e){switch(e){case`email_otp`:return`email_otp`;case`login`:case`registration`:case`manual-bootstrap`:return`passkey`;default:throw Error(`[SigningEngine] unsupported sealed ECDSA source`)}}function X(e){return String(e??``).trim()}function hi(e){let t=e.record.ecdsaRestore,r=e.manifest.durableMaterial;return X(e.record.walletId)!==String(e.walletId)||!T(t.chainTarget,e.chainTarget)||!n(t.roleLocalMaterialRef.materialActivation,r.materialActivation)||!n(r.materialActivation,e.manifest.activation.materialActivation)?!1:X(t.roleLocalMaterialRef.durableMaterialRef)===X(r.durableMaterialRef)}function gi(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function _i(e,t){return e.kind===t.kind&&String(e.walletId)===String(t.walletId)&&String(e.authorityDigest)===String(t.authorityDigest)}function vi(e){return e.manifest.signer.scope.targetMemberships.some(t=>T(t,e.chainTarget))}function yi(e){let t=e.record.ecdsaRestore,n=e.manifest.durableMaterial,r=n.roleLocalBinding,i=n.roleLocalPublicFacts,a=t.routerAbEcdsaDerivationNormalSigning.scope,o=mi(t.source),s=X(t.ecdsaThresholdKeyId)||X(a.ecdsa_threshold_key_id),l=`recordKind`in e.record?X(r.clientVerifyingPublicKey33B64u):X(t.clientVerifyingShareB64u)||X(a.public_identity.derivation_client_share_public_key33_b64u),u=X(t.thresholdEcdsaPublicKeyB64u)||X(a.public_identity.threshold_public_key33_b64u);return String(e.manifest.signer.walletId)===String(e.walletId)&&String(i.walletId)===String(e.walletId)&&vi(e)&&e.record.authMethod===o&&_i(t.authority,e.manifest.signer.authority)&&X(t.roleLocalMaterialRef.bindingDigest)===X(n.bindingDigest)&&X(t.keyHandle)===X(r.keyHandle)&&X(t.keyHandle)===X(i.keyHandle)&&s===X(r.ecdsaThresholdKeyId)&&s===X(i.ecdsaThresholdKeyId)&&l===X(r.clientVerifyingPublicKey33B64u)&&l===X(i.derivationClientSharePublicKey33B64u)&&u===X(i.groupPublicKey33B64u)&&X(t.relayerKeyId)===X(r.relayerKeyId)&&gi(t.participantIds,r.participantIds)&&gi(t.participantIds,i.participantIds)&&X(t.signingRootId)===X(e.manifest.signer.signingRootId)&&X(t.signingRootId)===X(i.signingRootId)&&X(t.signingRootVersion)===X(e.manifest.signer.signingRootVersion)&&X(t.signingRootVersion)===X(i.signingRootVersion)&&X(t.ethereumAddress).toLowerCase()===X(i.ethereumAddress).toLowerCase()&&ke(t.publicCapability,i.publicCapability)&&S(a,{wallet_id:String(e.walletId),ecdsa_threshold_key_id:String(i.ecdsaThresholdKeyId),signing_root_id:String(i.signingRootId),signing_root_version:String(i.signingRootVersion),context:i.publicCapability.context,public_identity:i.publicCapability.public_identity,signing_worker:i.publicCapability.signer_set.selected_server,activation_epoch:i.publicCapability.activation_epoch,material_activation:c(n.materialActivation)})}function bi(e){let t=e.restore;if(t.source===`email_otp`){let n=X(t.providerSubjectId),r=X(t.emailHashHex),i=t.emailOtpAuthority,a=e.manifest.signer.authority;return!n||!r||!i||String(i.walletId)!==String(a.walletId)||String(i.factor.providerUserId)!==n||String(i.verifier.emailHashHex)!==r?null:{kind:`email_otp`,providerSubjectId:n,emailHashHex:r,emailOtpAuthority:{walletId:i.walletId,factor:i.factor,verifier:i.verifier,bindingId:a.walletAuthMethodId}}}let n=X(t.rpId),r=X(t.credentialIdB64u);return n&&r?{kind:`passkey`,rpId:n,credentialIdB64u:r}:null}function xi(e){if(e.length!==2)return null;let t=e[0],n=e[1];return!Number.isSafeInteger(t)||!Number.isSafeInteger(n)||t<=0||n<=0||t===n?null:[t,n]}function Si(e){let t=e.record.ecdsaRestore,n=bi({manifest:e.manifest,restore:t}),r=X(e.record.relayerUrl).replace(/\/+$/g,``),i=X(t.relayerKeyId),a=e.manifest.durableMaterial.roleLocalBinding.clientVerifyingPublicKey33B64u,s=X(t.ecdsaThresholdKeyId)||X(t.routerAbEcdsaDerivationNormalSigning.scope.ecdsa_threshold_key_id),c=X(t.thresholdEcdsaPublicKeyB64u)||X(t.routerAbEcdsaDerivationNormalSigning.scope.public_identity.threshold_public_key33_b64u),l=X(t.keyHandle),u=Array.isArray(t.participantIds)?xi(t.participantIds):null,d;try{d=ge(t.roleLocalMaterialRef)}catch{return null}let f=null;try{f=o(t.runtimePolicyScope)}catch{f=null}return!n||!r||!i||!a||!s||!c||!l||!u?null:{walletId:e.walletId,chainTarget:e.chainTarget,materialActivation:t.roleLocalMaterialRef.materialActivation,normalSigning:t.routerAbEcdsaDerivationNormalSigning,relayerUrl:r,relayerKeyId:i,clientVerifyingPublicKey33B64u:a,participantIds:u,ecdsaThresholdKeyId:s,thresholdEcdsaPublicKeyB64u:c,keyHandle:l,runtimePolicyScope:f,roleLocalMaterialRef:d,authBinding:n}}function Ci(e){let t=Si(e),n=Number(e.record.expiresAtMs),r=Number(e.record.remainingUses),i=X(e.record.thresholdSessionIds.ecdsa),a=X(e.record.storeKey);return!t||!a||!i||!Number.isSafeInteger(n)||n<=0||!Number.isSafeInteger(r)||r<0?null:{...t,kind:`exact_ecdsa_sealed_runtime_v1`,expiresAtMs:n,remainingUses:r,sealedRecord:{storeKey:a,thresholdSessionId:i,authMethod:e.record.authMethod}}}function wi(e){let t=e.sealedRecords.filter(t=>hi({manifest:e.manifest,walletId:e.walletId,chainTarget:e.chainTarget,record:t}));if(t.length===0)return pi(`missing_material`);if(t.length>1)return pi(`exact_record_conflict`);let n=Ci({manifest:e.manifest,walletId:e.walletId,chainTarget:e.chainTarget,record:t[0]});return n?yi({manifest:e.manifest,walletId:e.walletId,chainTarget:e.chainTarget,record:t[0]})?{kind:`resolved`,runtime:n}:pi(`binding_mismatch`):pi(`corrupt`)}function Ti(e){return e.manifest.signer.scope.targetMemberships.some(t=>T(t,e.chainTarget))}async function Ei(e){return(await e.ports.listActiveEcdsaCapabilityManifestsForWallet(e.walletId)).filter(t=>Ti({manifest:t,chainTarget:e.chainTarget}))}async function Di(e){let t=[],n=e.authMethod?[e.authMethod]:[`passkey`,`email_otp`];for(let r of n){let n=await e.ports.listExactSealedSessionsForWallet({walletId:String(e.walletId),filter:{authMethod:r,curve:`ecdsa`,chainTarget:e.chainTarget}}).catch(()=>[]);for(let e of n)e.curve===`ecdsa`&&t.push(e)}return t}async function Oi(e){if(!Ti({manifest:e.manifest,chainTarget:e.chainTarget}))return{kind:`blocked`,reason:`chain_mismatch`};let t=e.manifest.durableMaterial,n=t.roleLocalPublicFacts,r=ki(n.participantIds),i=String(e.relayerUrl).trim().replace(/\/+$/g,``);return!r||!i?{kind:`blocked`,reason:`corrupt`}:{kind:`resolved`,manifest:e.manifest,runtime:{kind:`exact_ecdsa_capability_runtime_v1`,walletId:e.manifest.signer.walletId,chainTarget:e.chainTarget,materialActivation:t.materialActivation,normalSigning:t.routerAbEcdsaDerivationNormalSigning,relayerUrl:i,relayerKeyId:String(t.roleLocalBinding.relayerKeyId),clientVerifyingPublicKey33B64u:t.roleLocalBinding.clientVerifyingPublicKey33B64u,participantIds:r,ecdsaThresholdKeyId:String(n.ecdsaThresholdKeyId),thresholdEcdsaPublicKeyB64u:n.groupPublicKey33B64u,keyHandle:String(n.keyHandle),runtimePolicyScope:t.runtimePolicyScope,roleLocalMaterialRef:{kind:`ecdsa_role_local_persisted_material_ref_v1`,durableMaterialRef:t.durableMaterialRef,bindingDigest:t.bindingDigest,materialActivation:t.materialActivation}}}}function ki(e){if(e.length!==2)return null;let t=e[0],n=e[1];return!Number.isSafeInteger(t)||!Number.isSafeInteger(n)||t<=0||n<=0||t===n?null:[t,n]}async function Ai(e,t,n){let r=await e.resolveSelectedWalletAuthority(String(t));if(r.kind!==`resolved`)return n;let i=String(r.authMethod.walletAuthMethodId),a=n.filter(e=>String(e.signer.authority.walletAuthMethodId)===i);return a.length>0?a:n}async function ji(e,t){let n=await Ei({ports:e,...t});if(n.length===0)return{kind:`blocked`,reason:`missing_capability`};let r=n.length>1?await Ai(e,t.walletId,n):n;if(r.length!==1)return{kind:`blocked`,reason:`exact_record_conflict`};let i=r[0],a=await Di({ports:e,...t}),o=wi({manifest:i,walletId:t.walletId,chainTarget:t.chainTarget,sealedRecords:a});return o.kind===`resolved`?{kind:`resolved`,manifest:i,runtime:o.runtime}:{kind:`blocked`,reason:o.reason}}function Mi(e){return ji.bind(null,e)}async function Ni(e,t){let n=await e.listActiveEcdsaCapabilityManifestsForWallet(t.walletId),r=[];for(let e of n)for(let n of e.signer.scope.targetMemberships)n.kind===t.chain&&r.push({manifest:e,chainTarget:n});if(r.length===0)return{kind:`blocked`,reason:`missing_capability`};if(r.length>1)return{kind:`blocked`,reason:`exact_record_conflict`};let i=r[0],a=await Di({ports:e,walletId:t.walletId,chainTarget:i.chainTarget}),o=wi({manifest:i.manifest,walletId:t.walletId,chainTarget:i.chainTarget,sealedRecords:a});return o.kind===`resolved`?{kind:`resolved`,manifest:i.manifest,runtime:o.runtime}:{kind:`blocked`,reason:o.reason}}function Pi(e){return Ni.bind(null,e)}function Fi(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`ECDSA operation step-up response must be an object`);return e}function Ii(e){try{return te(e)}catch(e){throw Error(e instanceof Error?e.message:`ECDSA operation step-up response is invalid`)}}function Li(e){let t=String(e||``).trim().replace(/\/+$/g,``);if(!t)throw Error(`ECDSA operation step-up relayerUrl is required`);return`${t}${h}`}function Ri(e){let t=String(e.walletId||``).trim(),n=String(e.operationId||``).trim(),r=Math.floor(Number(e.expiresAtMs));if(!t||!n)throw Error(`ECDSA operation step-up identity is required`);if(!Number.isSafeInteger(r)||r<=Date.now())throw Error(`ECDSA operation step-up expiry is invalid`);let i=c(e.materialActivation),a=v(e.normalSigningScope),o=String(e.keyHandle||``).trim(),s=String(e.relayerKeyId||``).trim(),l=e.participantIds;if(a.wallet_id!==t||a.signing_worker.server_id!==i.signing_worker||!o||!s||l.length!==2||l.some(e=>!Number.isSafeInteger(e)||e<=0))throw Error(`ECDSA operation step-up signing identity is inconsistent`);return{wallet_id:t,operation_kind:e.operationKind,operation_id:n,operation_digests:{lane_digest_b64u:e.operationDigests.laneDigest,intent_digest_b64u:e.operationDigests.intentDigest,display_digest_b64u:e.operationDigests.displayDigest},material_activation:i,normal_signing_scope:a,signing_worker_id:i.signing_worker,key_handle:o,relayer_key_id:s,participant_ids:[l[0],l[1]],expires_at_ms:r}}async function zi(e){let t=Ri(e);return{operation:t,challengeB64u:await _(t)}}function Bi(e,t){switch(e){case at.expired:case at.missing:return`Signing session expired. Sign in again to continue.`;case at.budgetExhausted:return`Signing session budget is used up. Sign in again to continue.`;default:return`ECDSA operation step-up failed: ${t}`}}async function Vi(e){let t=g(e.request),n=e.fetchImpl??globalThis.fetch;if(typeof n!=`function`)throw Error(`fetch is unavailable for ECDSA operation step-up`);if(e.transport?.kind===`wallet_session_bearer`&&e.transport.token.trim().length===0)throw Error(`Wallet Session operation credential is required for ECDSA operation step-up`);let r=await(e.transport?.kind===`wallet_session_bearer`?Hi(n,e.transport.token):n)(Li(e.relayerUrl),{method:`POST`,headers:{"Content-Type":`application/json`},credentials:`omit`,body:JSON.stringify(t)}),i=await r.json().catch(()=>null);if(!r.ok){let e=Fi(i),t=String(e.message||`HTTP ${r.status}`);throw st({code:e.code,message:Bi(e.code,t)})||Error(`ECDSA operation step-up failed: ${t}`)}return Ii(i)}function Hi(e,t){return async(n,r)=>{let i=new Headers(r?.headers);return i.set(`Authorization`,`Bearer ${t}`),await e(n,{...r,headers:i})}}async function Ui(e){let t=e.material,n=t.publicFacts.participantIds;if(n.length!==2)throw Error(`[chains] ECDSA operation step-up requires exactly two participants`);let r=String(e.operation.intent.operationId||``).trim(),i=Math.min(Date.now()+5*6e4,e.sessionExpiresAtMs);return await zi({walletId:t.walletId,operationKind:`evm.sign_transaction`,operationId:r,operationDigests:e.operationDigests,materialActivation:t.materialActivation,normalSigningScope:t.routerAbEcdsaDerivationNormalSigning.state.scope,keyHandle:t.publicFacts.keyHandle,relayerKeyId:t.transport.relayerKeyId,participantIds:[Number(n[0]),Number(n[1])],expiresAtMs:i})}async function Wi(e){let t=Gi({authority:e.authority,authorization:e.authorization}),n=await Vi({relayerUrl:e.relayerUrl,request:{kind:`router_ab_ecdsa_operation_step_up_v1`,operation:e.prepared.operation,proof:t}}),r={kind:`operation_step_up`,walletSessionToken:e.walletSessionToken};return Ze({walletId:e.material.walletId,signerSession:e.material,authorization:{kind:`operation_step_up`},credential:r,expiresAtMs:n.expires_at_ms,singleUseEmailOtpSession:!1,operationStepUpPreparation:e.prepared.operation})}function Gi(e){switch(e.authorization.kind){case`passkey`:{if(!d(e.authority))throw Error(`[chains] passkey step-up requires the exact passkey authority`);let t=e.authorization.credential;return{kind:`passkey`,authority:e.authority,webauthn_authentication:{id:t.id,rawId:t.rawId,type:t.type,authenticatorAttachment:t.authenticatorAttachment??null,response:{clientDataJSON:t.response.clientDataJSON,authenticatorData:t.response.authenticatorData,signature:t.response.signature,userHandle:t.response.userHandle??null},clientExtensionResults:t.clientExtensionResults??null}}}case`email_otp`:if(!p(e.authority))throw Error(`[chains] Email OTP step-up requires the exact Email OTP authority`);return{kind:`email_otp`,authority:e.authority,challenge_id:e.authorization.challengeId,otp_code:e.authorization.otpCode}}}function Z(e,t){return t?{kind:`blocked`,reason:e,message:t}:{kind:`blocked`,reason:e}}function Ki(e){return pe(e)||he(e.signerActivations)?e.signerActivations:null}function qi(e){if(e.kind!==`resolved`)switch(e.kind){case`missing_selection`:return Z(`missing_selected_authority`);case`missing_auth_method`:case`missing_authority`:case`integrity_error`:return Z(`invalid_selected_authority`);default:return e}return e.selection.walletId!==e.authMethod.walletId||e.selection.walletAuthMethodId!==e.authMethod.walletAuthMethodId||e.authMethod.walletAuthorityId!==e.authority.authorityId||e.authority.walletId!==e.selection.walletId?Z(`authority_identity_mismatch`):e.selection.lockState===`unlocked`?e.authMethod.status===`active`?e.authority.state===`active`?{authMethod:e.authMethod,authority:e.authority,signerMaterials:e.signerMaterials}:Z(`authority_inactive`):Z(`auth_method_inactive`):Z(`wallet_locked`)}function Ji(e){let t=e.materials.filter(t=>t.kind===`wallet_authority_linked_signer_material_v1`&&t.keyFamily===`ecdsa_secp256k1`&&t.authorityId===e.authority.authorityId&&t.walletAuthMethodId===e.authMethod.walletAuthMethodId&&t.activationId===e.materialActivation.activationId&&n(t.materialActivation,e.materialActivation)),[r]=t;return t.length===1&&r?r:null}function Yi(e){let t=e.material.targetFactor;return t.walletAuthMethodId===e.authMethod.walletAuthMethodId?e.authMethod.kind===`passkey`?t.kind===`passkey`&&t.rpId===e.authMethod.rpId&&t.credentialIdB64u===e.authMethod.credentialIdB64u:t.kind===`email_otp`&&t.emailHashHex===e.authMethod.emailHashHex&&t.registrationAuthorityId===e.authMethod.registrationAuthorityId:!1}function Xi(e){return e.session.capabilitySubjects.filter(t=>t.kind===e.capability&&t.keyFamily===`ecdsa_secp256k1`&&n(t.materialActivation,e.materialActivation)).length===1}function Zi(e){try{return f(e.scope.material_activation)}catch{return null}}function Qi(e){try{return vt(i(e.scope.public_identity.ethereum_address20_b64u))}catch{return null}}function $i(e,t){return e.linkSessionId===t.linkSessionId&&e.enrollmentId===t.enrollmentId&&e.sourceAuthorityId===t.sourceAuthorityId&&oe(e.source,t.source)&&D(e.target,t.target)&&e.targetClientPublicKey33B64u===t.targetClientPublicKey33B64u}function ea(e,t){return e.kind===t.kind&&S(e.scope,t.scope)}function ta(e,t){return e.applicationBindingDigestB64u===t.applicationBindingDigestB64u&&e.clientShareRetryCounter===t.clientShareRetryCounter&&e.ecdsaThresholdKeyId===t.ecdsaThresholdKeyId&&ea(e.sourceNormalSigning,t.sourceNormalSigning)}function na(e,t){return e.state===t.state&&$i(e.binding,t.binding)&&ta(e.sourceDerivation,t.sourceDerivation)&&e.targetRelayerPublicKey33B64u===t.targetRelayerPublicKey33B64u&&e.thresholdPublicKey33B64u===t.thresholdPublicKey33B64u&&e.thresholdEthereumAddress20B64u===t.thresholdEthereumAddress20B64u&&ea(e.normalSigning,t.normalSigning)}function ra(e){let t=Et({walletId:e.walletId,materialActivation:e.materialActivation});return!t||t.walletId!==e.walletId||t.authorityId!==e.authority.authorityId||t.walletAuthMethodId!==e.authMethod.walletAuthMethodId||t.factorAuthority.walletId!==e.walletId||t.factorAuthority.bindingId!==e.authMethod.walletAuthMethodId||t.ecdsaThresholdKeyId!==e.ecdsaThresholdKeyId||!n(t.materialActivation,e.materialActivation)||!Yi({material:e.material,authMethod:e.authMethod})||!na(t.activationReceipt,e.material.publicFacts.activationReceipt)?null:t}async function ia(e){let t=e.holderRuntime.activationReceipt.normalSigning,r=t.scope,i=Zi(t),a=Qi(t);if(!i||!a||!n(i,e.materialActivation)||e.signer.walletId!==e.selected.authority.walletId||r.wallet_id!==String(e.selected.authority.walletId)||r.ecdsa_threshold_key_id!==String(e.holderRuntime.ecdsaThresholdKeyId)||r.public_identity.threshold_public_key33_b64u!==String(e.signer.thresholdPublicKey33B64u)||a.toLowerCase()!==String(e.signer.evmAddress).trim().toLowerCase()||String(e.holderRuntime.activationReceipt.thresholdPublicKey33B64u)!==String(r.public_identity.threshold_public_key33_b64u)||String(e.holderRuntime.activationReceipt.thresholdEthereumAddress20B64u)!==String(r.public_identity.ethereum_address20_b64u))return Z(`normal_signing_identity_mismatch`);let o,s,c,l;try{l=await k({ecdsaThresholdKeyId:r.ecdsa_threshold_key_id,signingRootId:r.signing_root_id,signingRootVersion:r.signing_root_version});let t=ae(e.signer.evmAddress);o=ue({walletId:e.selected.authority.walletId,ecdsaThresholdKeyId:r.ecdsa_threshold_key_id,signingRootId:r.signing_root_id,signingRootVersion:r.signing_root_version,participantIds:[1,2],thresholdOwnerAddress:t}),s=le({keyHandle:l,publicKeyB64u:r.public_identity.threshold_public_key33_b64u,participantIds:[1,2],thresholdOwnerAddress:t}),c=await m({walletId:String(o.walletId),signingRootId:String(o.signingRootId),signingRootVersion:String(o.signingRootVersion)})}catch(e){return Z(`invalid_public_facts`,e instanceof Error?e.message:String(e))}if(o.ecdsaThresholdKeyId!==e.holderRuntime.ecdsaThresholdKeyId)return Z(`normal_signing_identity_mismatch`);let u;try{u=await y({authority:e.factorAuthority})}catch(e){return Z(`authority_identity_mismatch`,e instanceof Error?e.message:String(e))}let f={kind:`active_wallet_authority_ecdsa_runtime_v1`,walletId:e.selected.authority.walletId,authorityId:e.selected.authority.authorityId,walletAuthMethodId:e.selected.authMethod.walletAuthMethodId,authorityDigestB64u:e.selected.authority.authorityDigestB64u,factorAuthorityRef:u,authorityRevocationEpoch:e.selected.authority.revocationEpoch,walletSessionId:e.operationCredential.walletSessionId,operationCredential:e.operationCredential,session:e.session,requiredCapability:e.requiredCapability,materialActivation:e.materialActivation,ecdsaThresholdKeyId:o.ecdsaThresholdKeyId,relayerKeyId:c,authority:e.selected.authority,authMethod:e.selected.authMethod,holderRuntime:e.holderRuntime,normalSigning:t,key:o,publicFacts:s};if(e.selected.authMethod.kind===`passkey`){let t={kind:`passkey`,rpId:A(e.selected.authMethod.rpId),credentialIdB64u:e.selected.authMethod.credentialIdB64u};if(!d(e.factorAuthority)||e.factorAuthority.walletId!==o.walletId||e.factorAuthority.bindingId!==e.selected.authMethod.walletAuthMethodId||e.factorAuthority.factor.credentialIdB64u!==t.credentialIdB64u||String(e.factorAuthority.verifier.rpId)!==String(t.rpId))return Z(`authority_identity_mismatch`);let n=se({walletId:o.walletId,publicFacts:s,authBinding:de({rpId:t.rpId,credentialIdB64u:t.credentialIdB64u})});return{...f,auth:t,factorAuthority:e.factorAuthority,resolvedKey:n}}if(!p(e.factorAuthority)||e.factorAuthority.walletId!==o.walletId||e.factorAuthority.bindingId!==e.selected.authMethod.walletAuthMethodId||e.factorAuthority.verifier.emailHashHex!==e.selected.authMethod.emailHashHex)return Z(`authority_identity_mismatch`);let h={kind:`email_otp`,providerSubjectId:String(e.factorAuthority.factor.providerUserId)};return{...f,auth:h,factorAuthority:e.factorAuthority}}function aa(e){if(!e.chainTarget)return null;let t={kind:`active_wallet_authority_ecdsa_lane_projection_v1`,source:`active_wallet_authority`,chainTarget:e.chainTarget,runtime:e.runtime,key:e.runtime.key,materialActivation:e.runtime.materialActivation,publicFacts:e.runtime.publicFacts,state:`deferred`,authorizationState:`authorization_required`};return e.runtime.auth.kind===`passkey`?e.runtime.resolvedKey?{...t,auth:e.runtime.auth,resolvedKey:e.runtime.resolvedKey}:null:{...t,auth:e.runtime.auth}}async function oa(e){let{input:t,ports:r}=e,i=t.requiredCapability||`sign`,a=Math.floor(Number(t.nowMs)||Date.now()),o;try{o=C(t.walletId)}catch(e){return Z(`invalid_selected_authority`,e instanceof Error?e.message:String(e))}let s;try{s=await r.resolveSelectedWalletAuthority(String(o))}catch(e){return Z(`persistence_unavailable`,e instanceof Error?e.message:String(e))}let c=qi(s);if(`kind`in c)return c;let l=Ki(c.authority);if(!l)return Z(`missing_ecdsa_signer`);let u=l.ecdsa.signer,d=l.ecdsa.materialActivation;if(t.materialActivation&&!n(t.materialActivation,d))return Z(`authority_identity_mismatch`);let f=Ji({materials:c.signerMaterials,authority:c.authority,authMethod:c.authMethod,materialActivation:d});if(!f||!Yi({material:f,authMethod:c.authMethod}))return Z(`missing_holder_runtime`);if(String(f.publicFacts.ecdsaThresholdKeyId)!==String(f.ecdsaThresholdKeyId))return Z(`holder_runtime_identity_mismatch`);let p=ra({walletId:o,authority:c.authority,authMethod:c.authMethod,materialActivation:d,ecdsaThresholdKeyId:String(f.ecdsaThresholdKeyId),material:f});if(!p)return Z(`holder_runtime_identity_mismatch`);let m;try{m=await r.readExactWithOperationCredential({walletId:o,authorityId:c.authority.authorityId,authMethodId:c.authMethod.walletAuthMethodId})}catch(e){return Z(`persistence_unavailable`,e instanceof Error?e.message:String(e))}switch(m.kind){case`found`:break;case`missing`:return Z(`missing_wallet_session`);case`upgrade_required`:return Z(`upgrade_required`,`Wallet Session authorization requires a newer client`)}let h=m.record,g=m.operationCredential;if(h.expiresAtMs<=a)return Z(`wallet_session_expired`);if(h.walletId!==o||h.authorityId!==c.authority.authorityId||h.authMethodId!==c.authMethod.walletAuthMethodId||h.authorityDigestB64u!==c.authority.authorityDigestB64u||h.authorityRevocationEpoch!==c.authority.revocationEpoch||g.walletSessionId.length===0||g.token.trim().length===0)return Z(`wallet_session_identity_mismatch`);if(!Xi({session:h,capability:i,materialActivation:d}))return Z(`wallet_session_capability_mismatch`);let _=p.factorAuthority,v=await ia({selected:c,session:h,operationCredential:g,requiredCapability:i,signer:u,materialActivation:d,holderRuntime:p,factorAuthority:_});return v.kind===`active_wallet_authority_ecdsa_runtime_v1`?{kind:`resolved`,runtime:v,lane:aa({runtime:v,chainTarget:t.chainTarget})}:v}function sa(e){return{kind:`active_wallet_authority`,method:e.auth.kind,accountId:String(e.walletId),intent:`transaction_sign`,curve:`ecdsa`,walletSessionId:e.operationCredential.walletSessionId,authorityId:e.authorityId,authMethodId:e.walletAuthMethodId,expiresAtMs:e.session.expiresAtMs}}function ca(e){switch(e.factor.kind){case`passkey`:return`passkey`;case`email_otp`:return`email_otp`;default:throw e.factor,Error(`[SigningEngine] unsupported wallet authorization factor`)}}function la(e){let t=e.capability.manifest;return t.signer.walletId===e.scope.walletId&&n(t.activation.materialActivation,e.scope.materialActivation)&&t.signer.scope.targetMemberships.some(t=>T(t,e.scope.chainTarget))}function ua(e){let t=e.capability.manifest.activation.materialActivation;return e.session.capabilitySubjects.filter(e=>e.kind===`sign`&&e.keyFamily===`ecdsa_secp256k1`&&n(e.materialActivation,t)).length===1}async function da(e){if(!la(e))throw Error(`[SigningEngine] exact ECDSA Wallet Session material changed`);let t=e.ports,r=await t.resolveSelectedWalletAuthority(String(e.scope.walletId)),i=pa(r,e.scope.walletId);if(i||r.kind!==`resolved`)throw fa(i??`selected_authority_invalid`);let a=await y({authority:e.capability.authority}),o=e.capability.manifest.signer.authority,s=r.authority.signerActivations.ecdsa;if(a.walletId!==o.walletId||a.walletAuthMethodId!==o.walletAuthMethodId||a.authorityDigest!==o.authorityDigest||o.walletId!==r.authority.walletId||o.walletAuthMethodId!==r.authMethod.walletAuthMethodId||!s||!n(s.materialActivation,e.scope.materialActivation))throw Error(`[SigningEngine] exact ECDSA Wallet Session material changed`);let c=await t.readExactWithOperationCredential({walletId:e.scope.walletId,authorityId:r.authority.authorityId,authMethodId:r.authMethod.walletAuthMethodId});if(c.kind!==`found`)throw fa(c.kind===`missing`?`wallet_session_missing`:`wallet_session_upgrade_required`);let l=c.record,u=ma({session:l,operationCredential:c.operationCredential,walletId:e.scope.walletId,authority:r.authority,authMethod:r.authMethod,capability:e.capability});if(u)throw fa(u);return{credential:c.operationCredential,expiresAtMs:l.expiresAtMs}}function fa(e){return Error(`[SigningEngine] exact ECDSA Wallet Session is unavailable: ${e}`)}function pa(e,t){return e.kind===`resolved`?e.selection.walletId!==t||e.authMethod.walletId!==t||e.authority.walletId!==t||e.selection.walletAuthMethodId!==e.authMethod.walletAuthMethodId||e.authMethod.walletAuthorityId!==e.authority.authorityId?`authority_identity_mismatch`:e.selection.lockState===`unlocked`?e.authMethod.status===`active`?e.authority.state===`active`?null:`authority_inactive`:`auth_method_inactive`:`wallet_locked`:e.kind===`missing_selection`?`selected_authority_missing`:`selected_authority_invalid`}function ma(e){let{session:t}=e;return t.walletId!==e.walletId||t.authorityId!==e.authority.authorityId||t.authMethodId!==e.authMethod.walletAuthMethodId?`wallet_session_identity_mismatch (authority or method)`:t.authorityDigestB64u===e.authority.authorityDigestB64u?t.authorityRevocationEpoch===e.authority.revocationEpoch?e.operationCredential.token.trim()?t.expiresAtMs<=Date.now()?`wallet_session_expired`:ua({session:t,capability:e.capability})?null:`wallet_session_capability_mismatch`:`wallet_session_identity_mismatch (operation credential)`:`wallet_session_identity_mismatch (authority revocation epoch)`:`wallet_session_identity_mismatch (authority digest)`}async function ha(e,t){let n=await da(e);return await Ui({operation:t.operation,operationDigests:t.operationDigests,material:t.material,sessionExpiresAtMs:n.expiresAtMs})}async function ga(e,t){return await e.deps.withThresholdEcdsaSigningQueue({queueKey:dt({materialActivation:e.materialActivation}),walletId:e.walletId,enabled:!0,...e.shouldAbort?{shouldAbort:e.shouldAbort}:{},task:t})}function _a(e){let t=String(e.seamsWebConfigs.network.relayer?.url||``).trim();if(!t)throw Error(`[SigningEngine] EVM-family signing requires relayerUrl`);return t}async function va(e){let t=await oa({ports:e.deps.activeWalletAuthorityEcdsaRuntimeReadPorts,input:{walletId:e.signer.walletId,chainTarget:e.signer.chainTarget,requiredCapability:`sign`,materialActivation:e.signer.materialActivation,nowMs:Date.now()}});if(t.kind!==`resolved`)throw Error(`[SigningEngine] active Wallet Authority ECDSA runtime is ${t.reason}`);let n=t.runtime;if(n.authorityId!==e.prepared.authorityId||n.walletAuthMethodId!==e.prepared.walletAuthMethodId||n.authorityDigestB64u!==e.prepared.authorityDigestB64u||n.authorityRevocationEpoch!==e.prepared.authorityRevocationEpoch||n.walletSessionId!==e.prepared.walletSessionId||n.publicFacts.keyHandle!==e.signer.keyHandle)throw Error(`[SigningEngine] active Wallet Authority ECDSA runtime was replaced`);return n}function ya(e){return n(e.currentMaterialActivation,e.preparedMaterialActivation)?null:{kind:`superseded`,supersessionKind:`material_activation_replaced`,preparedMaterialActivation:e.preparedMaterialActivation,currentMaterialActivation:e.currentMaterialActivation}}function ba(e){let t=e.preparedCapability.manifest,n=t.activation.materialActivation,r=e.currentManifest.activation.materialActivation,i=ya({preparedMaterialActivation:n,currentMaterialActivation:r});if(i)return i;let a=t.signer,o=e.currentManifest.signer;return String(t.identity.manifestId)===String(e.currentManifest.identity.manifestId)&&Number(t.identity.manifestRevision)===Number(e.currentManifest.identity.manifestRevision)&&String(a.capability)===String(o.capability)&&String(a.authority.walletId)===String(o.authority.walletId)&&String(a.authority.authorityDigest)===String(o.authority.authorityDigest)?null:{kind:`superseded`,supersessionKind:`capability_authority_replaced`,preparedMaterialActivation:n,currentMaterialActivation:r}}function xa(e){let t=e.preparedAuthorization,r=e.currentAuthorization;return r&&t.selectedAuthority.authorityId===r.selectedAuthority.authorityId&&t.selectedAuthMethod.kind===r.selectedAuthMethod.kind&&t.selectedAuthMethod.walletAuthMethodId===r.selectedAuthMethod.walletAuthMethodId&&t.session.walletId===r.session.walletId&&t.session.authorityId===r.session.authorityId&&t.session.authMethodId===r.session.authMethodId&&t.session.authorizationId===r.session.authorizationId&&t.session.quotaId===r.session.quotaId&&(t.session.authorityDigestB64u===r.session.authorityDigestB64u||me(t.selectedAuthority,r.selectedAuthority)&&u(t.session,r.session))&&t.session.issuedAtMs===r.session.issuedAtMs&&t.session.expiresAtMs===r.session.expiresAtMs&&t.session.authorityRevocationEpoch===r.session.authorityRevocationEpoch&&t.operationCredential.walletSessionId===r.operationCredential.walletSessionId&&t.operationCredential.token===r.operationCredential.token&&ln(t.runtime,r.runtime)&&n(r.runtime.materialActivation,e.materialActivation)?null:{kind:`superseded`,supersessionKind:`reusable_authorization_replaced`,preparedMaterialActivation:e.materialActivation,currentMaterialActivation:e.materialActivation}}async function Sa(e){let t=await Oi({manifest:e.capability.manifest,chainTarget:e.chainTarget,relayerUrl:e.relayerUrl});if(t.kind!==`resolved`)return{kind:`failed`,failure:{kind:`unavailable`,reason:`runtime_correlation_mismatch`}};let n=ba({preparedCapability:e.capability,currentManifest:t.manifest});if(n)return{kind:`superseded`,replacement:n};if(e.preparedAuthorization){let t=xa({preparedAuthorization:e.preparedAuthorization,currentAuthorization:e.currentAuthorization,materialActivation:e.materialActivation});if(t)return{kind:`superseded`,replacement:t}}let r=await li({capability:e.capability,runtime:t.runtime,chainTarget:e.chainTarget,materialActivation:e.materialActivation,workerCtx:e.workerCtx});return r.kind===`unavailable`?{kind:`failed`,failure:r}:e.preparedAuthorization?e.currentAuthorization?{kind:`ready`,value:{kind:`material_from_canonical_capability`,material:ui({material:r.material,capability:e.capability,authorization:e.currentAuthorization,nowMs:Date.now()})}}:{kind:`superseded`,replacement:{kind:`superseded`,supersessionKind:`reusable_authorization_replaced`,preparedMaterialActivation:e.materialActivation,currentMaterialActivation:e.materialActivation}}:{kind:`authorization_required`,requirement:{kind:`material_for_step_up`,material:r.material}}}async function Ca(e){let[t,n]=await Promise.all([Xe(),qe()]),r=e.deps.getSignerWorkerContext(),i=e.deps.touchConfirm.getContext(),a=C(e.walletSession.walletId),o=_a(e.deps),s=e.senderSignatureAlgorithm===`secp256k1`?N(e.preparedSession.kind===`authorized`?e.preparedSession.signingLane.identity:e.preparedSession.identity,`ECDSA signing material hydration`):void 0;if(e.activeWalletAuthority&&!s)throw Error(`[SigningEngine] active Wallet Authority runtime requires a threshold ECDSA signer`);let c=s&&!e.activeWalletAuthority?await e.deps.resolveCanonicalEcdsaSigningCapability({walletId:s.walletId,chainTarget:s.chainTarget,materialActivation:s.materialActivation}):void 0,l=e.preparedSession?.kind===`authorized`?e.preparedSession.selection.lane.authorization:null,u=c&&l&&l.runtime.remainingUses>0&&tn({capability:c,authorization:l,nowMs:Date.now()})?l:null,d=s&&c&&!e.activeWalletAuthority?{walletId:s.walletId,chainTarget:s.chainTarget,materialActivation:s.materialActivation}:void 0,f=!e.activeWalletAuthority&&c&&d?{...e.emailOtpSigningForFlow?{emailOtpSigning:e.emailOtpSigningForFlow}:{},reusableAuthorization:u?{kind:`active`}:{kind:`absent`,requiredFactor:ca(c.authority)},operationStepUp:{prepare:ha.bind(void 0,{ports:e.deps.activeWalletAuthorityEcdsaRuntimeReadPorts,scope:d,capability:c}),authorize:async({authorization:t,prepared:n,material:r})=>{e.onAuthSideEffectStarted?.(t.kind===`passkey`?`passkey_reauth`:`email_otp_challenge`);let i=await da({ports:e.deps.activeWalletAuthorityEcdsaRuntimeReadPorts,scope:d,capability:c});return await Wi({relayerUrl:o,authority:c.authority,authorization:t,prepared:n,material:r,walletSessionToken:i.credential.token})}},...e.onAuthSideEffectStarted?{onAuthSideEffectStarted:e.onAuthSideEffectStarted}:{}}:void 0,p=new t({beforeSigning:e.deps.beforeSigning,getRpId:()=>i.touchIdPrompt.getRpId(),workerCtx:r,shouldAbort:e.shouldAbort}),m=e.activeWalletAuthority,h=m&&s?{kind:`active_wallet_authority`,confirmationAuthPlan:m.confirmationAuthPlan,sign:async t=>{if(String(m.intent.operationId)!==t.operationId)throw Error(`[SigningEngine] active Wallet Authority signing operation identity changed`);return await ga({deps:e.deps,walletId:s.walletId,materialActivation:s.materialActivation,...e.shouldAbort?{shouldAbort:e.shouldAbort}:{}},async()=>{let n=fi({authorityRuntime:await va({deps:e.deps,prepared:m.runtime,signer:s}),chainTarget:s.chainTarget,relayerUrl:o});return await p.signReady({kind:`digest`,algorithm:`secp256k1`,digest32:t.signingDigest32},n,{intent:m.intent,authPlan:m.confirmationAuthPlan},t.operationDigests)})}}:void 0;return{flowArgs:{ctx:i,touchConfirm:e.deps.touchConfirm,workerCtx:r,walletId:a,onEvent:e.onEvent,engines:{secp256k1:p,webauthnP256:new n(r,e.deps.beforeSigning)},...s&&c?{runEcdsaMaterialUse:ga.bind(null,{deps:e.deps,walletId:s.walletId,materialActivation:s.materialActivation,...e.shouldAbort?{shouldAbort:e.shouldAbort}:{}}),resolveEcdsaSigningMaterialPlan:async()=>await Sa({capability:c,preparedAuthorization:u,currentAuthorization:u?await e.deps.resolveActiveEcdsaWalletSessionAuthorization({walletId:s.walletId,chainTarget:s.chainTarget,materialActivation:s.materialActivation}):null,walletId:s.walletId,chainTarget:s.chainTarget,materialActivation:s.materialActivation,relayerUrl:o,workerCtx:r})}:{},...h?{authorization:h}:{},...e.signingSessionPlan?{signingSessionPlan:e.signingSessionPlan}:{},...e.signingOperation?{signingOperation:e.signingOperation}:{},onSigningOperationTransition:e.onSigningOperationTransition||Hn,...f?{thresholdEcdsaStepUpRuntime:f}:{},confirmationConfigOverride:e.confirmationConfigOverride}}}function wa(e){return e instanceof rt?e.authorizationDecision:void 0}async function Ta(e){switch(e.decision.retryMode){case`await_admission_owner_completion`:return await e.signingSessionCoordinator.runWalletSessionQuotaAdmissionRetry({queueKey:e.queueKey,refresh:e.rereadAuthoritativeReadiness,retryAfterRefresh:e.rereadAuthoritativeReadiness});case`email_otp_single_operation_step_up`:case`fresh_auth`:return await e.signingSessionCoordinator.runWalletSessionQuotaAdmissionRetry({queueKey:e.queueKey,refresh:e.performFreshAuth,retryAfterRefresh:e.rereadAuthoritativeReadiness});default:return Ea(e.decision)}}function Ea(e){throw Error(`[SigningEngine][ecdsa] unsupported fresh-auth retry mode: ${String(e)}`)}function Da(e){return{kind:`do_not_retry`,trigger:e.trigger,sideEffectState:e.sideEffectState,blockedReason:e.blockedReason}}function Q(e,t){return Da({trigger:e.trigger,sideEffectState:e.sideEffectState,blockedReason:t})}function Oa(e){if(e.current===`threshold_reconnect_started`)return e.current;switch(e.sideEffect){case`auth_prompt_shown`:case`email_otp_challenge`:case`passkey_reauth`:return e.current===`no_auth_side_effect_started`?`auth_prompt_shown`:e.current;case`auth_confirmed`:return`auth_confirmed`;case`threshold_reconnect`:return`threshold_reconnect_started`}}function ka(e){if(e.alreadyRetryingFreshAuth)return Q(e,`already_retrying`);if(e.senderSignatureAlgorithm!==`secp256k1`)return Q(e,`non_secp256k1_sender`);let t=wa(e.error),n=it(e.error),r=e.trigger===`wallet_signing_budget_exhausted`?t?.kind===`step_up_required`?lt(n??{kind:`exhausted`,source:`server_prepare`,detail:`Server requires owner operation step-up`}):n?.kind===`in_flight`?lt(n):null:null,i=r?.kind===`request_fresh_step_up`||r?.kind===`wait_and_retry_admission`;if(e.sideEffectState!==`no_auth_side_effect_started`&&!i)return Q(e,`auth_side_effect_started`);if(e.trigger===`wallet_session_reauthorization_required`){if(e.hasEmailOtpSigningPlan||e.hasStepUpAuthPlan)return Q(e,`signing_auth_plan_already_selected`);if(t?.kind!==`step_up_required`)return Q(e,`error_not_retryable`);if(e.accountAuth.primaryAuthMethod!==E.emailOtp&&e.accountAuth.primaryAuthMethod!==E.passkey)return Q(e,`unsupported_primary_auth`)}else{if(!r)return Q(e,`error_not_retryable`);if(e.hasStepUpAuthPlan&&r.kind!==`request_fresh_step_up`&&r.kind!==`wait_and_retry_admission`)return Q(e,`step_up_auth_plan_already_selected`);if(r.kind===`wait_and_retry_admission`)return e.admissionRetryState.kind===`authoritative_readiness_reread`?Q(e,`authoritative_readiness_still_in_flight`):{kind:`retry`,trigger:e.trigger,sideEffectState:e.sideEffectState,retryMode:`await_admission_owner_completion`,admissionDecision:r};if(e.activeSigningAuthMethod===E.emailOtp)return{kind:`retry`,trigger:e.trigger,sideEffectState:e.sideEffectState,retryMode:`email_otp_single_operation_step_up`,admissionDecision:r}}return{kind:`retry`,trigger:e.trigger,sideEffectState:e.sideEffectState,retryMode:`fresh_auth`}}function Aa(e){return ot(e.error)?.kind===`expired`?e.candidate.kind===`unavailable`?{kind:`expired_without_exact_lane`}:{kind:`authoritative_expiry`,state:ft({source:{kind:`ecdsa`,laneIdentity:e.candidate.identity,authorization:e.candidate.authorization},expiresAtMs:e.candidate.expiresAtMs,detectedAtMs:e.detectedAtMs})}:{kind:`not_expired`}}async function ja(e){switch(e.context.kind){case`not_expired`:case`expired_without_exact_lane`:return;case`authoritative_expiry`:if((await e.coordinator.invalidateExpiredWalletSession({state:e.context.state,source:ye.serverRejection})).kind===`unavailable`)throw Error(`[SigningEngine][ecdsa] expired Wallet Session cleanup failed`);return;default:return Ma(e.context)}}function Ma(e){throw Error(`[SigningEngine][ecdsa] unsupported Wallet Session expiry context: ${String(e)}`)}async function Na(e){let t=ka({trigger:`wallet_session_reauthorization_required`,error:e.error,senderSignatureAlgorithm:e.senderSignatureAlgorithm,accountAuth:e.accountAuth,alreadyRetryingFreshAuth:e.alreadyRetryingFreshEmailOtpAuth,hasEmailOtpSigningPlan:e.hasEmailOtpSigningPlan,sideEffectState:e.sideEffectState});if(e.onDecision?.(t),t.kind!==`retry`)return null;await ja({context:e.expiryContext,coordinator:e.signingSessionCoordinator});let n=e.accountAuth.primaryAuthMethod===E.emailOtp;return Vn(e.onEvent,{phase:n?j.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_STARTED:j.STEP_09_THRESHOLD_SESSION_RECONNECT_STARTED,status:`running`,walletId:e.walletId,message:n?`Signing session expired; requesting Email OTP reauthorization`:`Signing session expired; requesting passkey reauthorization`,interaction:{kind:`none`,overlay:`none`},data:{chain:e.chain,reason:`threshold_session_expired`}}),await e.retry()}function Pa(){let e=a(32,`EVM family signing operation IDs`);return Te.signingOperation(`evm-family-sign:${e}`)}function Fa(e){return e?{planningOperationId:e,confirmationOperationId:e,callerProvided:!0}:{planningOperationId:Pa(),callerProvided:!1}}function Ia(e){return e.confirmationOperationId=e.confirmationOperationId||Pa(),e.confirmationOperationId}function La(e,t,n){e.callerProvided&&n.bindCallerProvidedOperationIdToFingerprint({operationId:e.planningOperationId,operationFingerprint:t})}function Ra(e){switch(e.publicIdentityContinuity.kind){case`lane_identity_only`:return e.laneThresholdOwnerAddress;case`verified_material_identity`:if(e.publicIdentityContinuity.verifiedMaterialThresholdOwnerAddress!==e.laneThresholdOwnerAddress)throw Error(`[SigningEngine][ecdsa] prepared material owner address does not match the exact signing lane`);return e.laneThresholdOwnerAddress;default:throw e.publicIdentityContinuity,Error(`[SigningEngine][ecdsa] unsupported prepared public identity state`)}}function za(e){return{kind:`prepared`,thresholdOwnerAddress:Ra(e)}}var Ba=e({reconcileEvmFamilyNonceLane:()=>Br,reconcileTempoNonceLane:()=>Qa,reportEvmFamilyBroadcastAccepted:()=>Fr,reportEvmFamilyBroadcastRejected:()=>Lr,reportEvmFamilyDroppedOrReplaced:()=>zr,reportEvmFamilyFinalized:()=>Rr,reportTempoBroadcastAccepted:()=>Ja,reportTempoBroadcastRejected:()=>Ya,reportTempoDroppedOrReplaced:()=>Za,reportTempoFinalized:()=>Xa,signEvmFamily:()=>qa});function Va(e){return!e.prepared||e.prepared.kind!==`authorized`?{kind:`unavailable`}:{kind:`exact_ecdsa_lane`,identity:P(e.prepared.signingLane),authorization:e.prepared.signingLane.authorization,expiresAtMs:e.prepared.signingLane.authorization.session.expiresAtMs}}function Ha(e){let t=e.prepared.signingLane.authorization.session.authorizationId;return ct({walletId:e.walletId,materialActivationId:e.prepared.signingLane.materialActivation.activationId,authorizationId:t,authorityKey:Ee(e.prepared.signingLane.auth),targetKey:w(e.prepared.signingLane.chainTarget)})}function Ua(e){if(e.kind!==`authorization_required`||e.candidate.source!==`active_wallet_authority`)return null;let t=sa(e.candidate.runtime);return{runtime:e.candidate.runtime,intent:e.intent,confirmationAuthPlan:t}}function Wa(e){let t=e.chainTarget.kind===`tempo`?`Sign Tempo Transaction`:`Sign EVM Transaction`,n={request:e.request,signerAccount:String(e.walletSession.walletId),title:t,subtitle:``};return e.request.kind===`eip1559`?yt({...n,request:e.request}):Ct({...n,request:e.request})}async function Ga(e){let t=$.bind(null,e.deps,e.signingArgs,{admissionRetryState:{kind:`authoritative_readiness_reread`},forceFreshAuth:!1,operationIds:e.operationIds,retryingFreshAuth:e.retryingFreshAuth,signingSessionCoordinator:e.signingSessionCoordinator}),n=$.bind(null,e.deps,e.signingArgs,{admissionRetryState:{kind:`initial_admission`},forceFreshAuth:!0,operationIds:e.operationIds,retryingFreshAuth:!0,signingSessionCoordinator:e.signingSessionCoordinator});return await Ta({decision:e.decision,queueKey:e.queueKey,signingSessionCoordinator:e.signingSessionCoordinator,rereadAuthoritativeReadiness:t,performFreshAuth:n})}function Ka(e){let t=e.accountAuth.primaryAuthMethod===E.emailOtp;Vn(e.onEvent,{phase:t?j.STEP_06_AUTH_EMAIL_OTP_CHALLENGE_STARTED:j.STEP_09_THRESHOLD_SESSION_RECONNECT_STARTED,status:`running`,walletId:e.walletId,message:t?`Signing session needs reauthorization; requesting Email OTP`:`Signing session needs reauthorization; requesting passkey`,interaction:{kind:`none`,overlay:`none`},data:{chain:e.chain,reason:`wallet_signing_budget_reserved`}})}async function qa(e,t){let n=r(e.touchConfirm.getContext().surfaceMeasurementBinding);n&&(n.assertPending(),e={...e,beforeSigning:n.beforeSigning});let i={admissionRetryState:{kind:`initial_admission`},operationIds:Fa(t.signingOperationId)};await e.touchConfirm.openTransactionPreparationModal({chain:`evm_family`,walletLabel:String(t.walletSession.walletId),model:Wa(t),confirmationConfigOverride:t.confirmationConfigOverride});try{return await $(e,t,i)}finally{e.touchConfirm.closeTransactionPreparationModal()}}async function $(e,t,n){Ft(t.shouldAbort);let r=C(t.walletSession.walletId),i=Nt({request:t.request,chainTarget:t.chainTarget});await jt(e.ensureSealedRefreshStartupParity,{walletId:r,chainTarget:i});let a=i.kind,o=i,s,c,l,u,d,f={walletId:r,chain:a,chainTarget:o,senderSignatureAlgorithm:t.request.senderSignatureAlgorithm},p=n.signingSessionCoordinator||e.signingSessionCoordinator;if(!p)throw Error(`[SigningEngine][ecdsa] production signing session coordinator is required`);let m=n.operationIds||Fa(t.signingOperationId),h=await tt({kind:`evm-family:${a}`,payload:{walletId:r,chainTarget:o,request:t.request}}),g=Ve(h);La(m,h,p);let _=()=>Ia(m),v=()=>({operationId:_(),operationFingerprint:h,intent:we.TransactionSign}),y=e=>void 0,b=`no_auth_side_effect_started`,ee=e=>{b=Oa({current:b,sideEffect:e})},x=(e,t)=>{let n=t instanceof Error?t.message:String(t||`unknown error`);f.freshAuthRetry={decision:e,sideEffectState:b,errorMessage:n},I(`evm-family`,{stage:`fresh_auth_retry.decision`,walletId:r,chain:a,chainTarget:o,decision:e,sideEffectState:b,errorMessage:n})},te=()=>(ee(`auth_prompt_shown`),_());t.request.senderSignatureAlgorithm===`secp256k1`?(u=await Mr({deps:e,walletSession:t.walletSession,signingTarget:i,signingOperation:v(),diagnostics:f,signingSessionCoordinator:p,forceFreshAuth:n.forceFreshAuth===!0}),d=Ua(u)??void 0,c=u.kind===`authorized`?u.signingLane:void 0,l=u.authMethod,s=u.kind===`authorized`?u.accountAuth:await Jt({senderSignatureAlgorithm:`secp256k1`,signerAuthMethod:u.authMethod}),I(`evm-family`,{stage:`ecdsa_attempt.prepared`,walletId:r,chain:a,chainTarget:o,...y(u)?{evmFamilyKeyFingerprint:y(u)}:{},authorizationState:u.kind,authMethod:l,lane:H(c)})):s=await Jt({senderSignatureAlgorithm:t.request.senderSignatureAlgorithm});let S=s;Ft(t.shouldAbort);let ne=e.requestEmailOtpTransactionSigningChallenge,w={confirmedDeps:{...e,requestEmailOtpTransactionSigningChallenge:ne},walletSession:t.walletSession,chain:a,accountAuth:S,operationFingerprintDigest:g,onEvent:t.onEvent},T=()=>{if(u)return u;throw Error(`[SigningEngine][ecdsa] prepared signing session is required`)},re=()=>t.request.senderSignatureAlgorithm===`secp256k1`?T():void 0,E=async i=>!xt(i)||n.reResolvedAfterSupersession?null:(I(`evm-family`,{stage:`ecdsa_attempt.material_superseded`,walletId:r,chain:a,chainTarget:o,supersessionKind:i.superseded.supersessionKind,preparedMaterialActivationId:String(i.superseded.preparedMaterialActivation.activationId),currentMaterialActivationId:String(i.superseded.currentMaterialActivation.activationId)}),await $(e,t,{admissionRetryState:{kind:`initial_admission`},operationIds:m,signingSessionCoordinator:p,reResolvedAfterSupersession:!0,...n.retryingFreshAuth?{retryingFreshAuth:!0}:{}})),ie=async()=>t.request.senderSignatureAlgorithm===`secp256k1`?await(async()=>{let t=T();return d?{signingAuthPlan:d.confirmationAuthPlan}:t.kind===`authorized`?await nr({...w,chainTarget:i,senderSignatureAlgorithm:`secp256k1`,ecdsaAuthorization:`reusable_wallet_session`,preparedOperation:t.preparedOperation}):await(async()=>{let n=N(t.identity,`auth-neutral ECDSA step-up planning`),r=await e.resolveCanonicalEcdsaSigningCapability({walletId:n.walletId,chainTarget:n.chainTarget,materialActivation:n.materialActivation});return await nr({...w,chainTarget:i,senderSignatureAlgorithm:`secp256k1`,ecdsaAuthorization:`operation_step_up`,capability:r,materialActivation:n.materialActivation,operationFingerprint:h})})()})():await nr({...w,chainTarget:i,senderSignatureAlgorithm:t.request.senderSignatureAlgorithm}),ae=async()=>{let{signingAuthPlan:n,signingSessionPlan:r,emailOtpSigning:i}=await ie(),a=i?{prepare:i.prepare,...i.resend?{resend:i.resend}:{}}:void 0,{flowArgs:s}=await Ca({deps:e,walletSession:t.walletSession,request:t.request,chainTarget:o,...t.request.senderSignatureAlgorithm===`secp256k1`?{senderSignatureAlgorithm:t.request.senderSignatureAlgorithm,preparedSession:T(),...d?{activeWalletAuthority:d}:{}}:{senderSignatureAlgorithm:t.request.senderSignatureAlgorithm},...r?{signingSessionPlan:r}:{},signingOperation:v(),onSigningOperationTransition:Hn,...a?{emailOtpSigningForFlow:a}:{},confirmationConfigOverride:t.confirmationConfigOverride,shouldAbort:t.shouldAbort,onEvent:t.onEvent,onAuthSideEffectStarted:ee});return{signingAuthPlan:n,signingSessionPlan:r,emailOtpSigning:i,flowArgs:s}},oe;try{oe=await ae()}catch(e){let t=await E(e);if(t)return t;throw e}let{signingAuthPlan:D,emailOtpSigning:se,flowArgs:ce}=oe,le=async i=>await Na({error:i,walletId:r,chain:t.request.chain,senderSignatureAlgorithm:t.request.senderSignatureAlgorithm,accountAuth:S,alreadyRetryingFreshEmailOtpAuth:n.retryingFreshAuth,hasEmailOtpSigningPlan:!!se,sideEffectState:b,signingSessionCoordinator:p,expiryContext:Aa({error:i,candidate:Va({prepared:u}),detectedAtMs:Date.now()}),onDecision:e=>x(e,i),onEvent:t.onEvent,retry:async()=>await $(e,t,{admissionRetryState:{kind:`initial_admission`},forceFreshAuth:!0,operationIds:m,retryingFreshAuth:!0,signingSessionCoordinator:p})}),ue=async i=>{if(xt(i))return await E(i)||null;let a=await le(i);if(a)return a;let o=ka({trigger:`wallet_signing_budget_exhausted`,error:i,senderSignatureAlgorithm:t.request.senderSignatureAlgorithm,accountAuth:S,activeSigningAuthMethod:T().authMethod,admissionRetryState:n.admissionRetryState,alreadyRetryingFreshAuth:n.retryingFreshAuth,hasStepUpAuthPlan:et(D)||$e(D),sideEffectState:b});if(x(o,i),o.kind!==`retry`)return null;let s=T();return s.kind===`authorized`?(o.retryMode!==`await_admission_owner_completion`&&Ka({walletId:r,chain:t.request.chain,accountAuth:S,onEvent:t.onEvent}),await Ga({deps:e,signingArgs:t,decision:o,queueKey:Ha({walletId:r,prepared:s}),operationIds:m,retryingFreshAuth:n.retryingFreshAuth===!0,signingSessionCoordinator:p})):null},O=re(),de={...v(),accountId:String(r)};if(O){let e=y(O);I(`evm-family`,{stage:`ecdsa_attempt.nonce_operation_prepared`,walletId:r,chain:a,chainTarget:o,...e?{evmFamilyKeyFingerprint:e}:{},...O.kind===`authorized`?{walletSessionId:O.signingLane.authorization.operationCredential.walletSessionId}:{},materialActivationId:O.kind===`authorized`?O.signingLane.materialActivation.activationId:O.candidate.materialActivation.activationId})}let k=re(),A=k&&!d?{kind:`required`,authPlan:{kind:`planned`,signingAuthPlan:D},operation:{intent:k.kind===`authorized`?k.transactionOperation.intent:k.intent,authPlan:D},runtime:(()=>{let e=ce.thresholdEcdsaStepUpRuntime;if(!e)throw Error(`[SigningEngine][ecdsa] prepared executor requires threshold step-up runtime`);return e})()}:{kind:`not_required`},fe;return fe=k?za({laneThresholdOwnerAddress:k.kind===`authorized`?k.signingLane.key.thresholdOwnerAddress:k.candidate.key.thresholdOwnerAddress,publicIdentityContinuity:{kind:`lane_identity_only`}}):{kind:`not_required`},await oi({deps:e,walletId:r,request:t.request,chainTarget:o,flowArgs:ce,nonceOperation:de,thresholdEcdsaState:fe,onConfirmationDisplayed:te,thresholdEcdsaStepUp:A,retryWithFreshEmailOtpAuth:ue})}async function Ja(e,t){await Fr(e,t)}async function Ya(e,t){await Lr(e,t)}async function Xa(e,t){await Rr(e,t)}async function Za(e,t){await zr(e,t)}async function Qa(e,t){return await Br(e,t)}export{hn as A,Ot as B,Tn as C,Sn as D,xn as E,At as F,z as I,kt as L,sn as M,dn as N,Cn as O,pn as P,Tt as R,Mn as S,jn as T,Et as V,Yn as _,Xa as a,Nn as b,oa as c,Pi as d,Mi as f,Qn as g,si as h,Za as i,fn as j,mn as k,Vi as l,wi as m,Ja as n,qa as o,Oi as p,Ya as r,Ba as s,Qa as t,zi as u,Jn as v,In as w,Pn as x,Wn as y,Dt as z};