@seams/wallet 0.24.0 → 0.27.0

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 (543) hide show
  1. package/dist/.build-inputs.sha256 +1 -1
  2. package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +1 -0
  3. package/dist/esm/SeamsWeb/publicApi/near.js +22 -11
  4. package/dist/esm/SeamsWeb/walletIframe/client/evmFamilyCommands.js +1 -0
  5. package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +9 -10
  6. package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +73 -39
  7. package/dist/esm/SeamsWeb/walletIframe/client/router.js +61 -38
  8. package/dist/esm/SeamsWeb/walletIframe/host/auth-menu/domain.js +1 -0
  9. package/dist/esm/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +1 -0
  10. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +1 -1
  11. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +28 -0
  12. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +6 -0
  13. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +8 -1
  14. package/dist/esm/core/rpcClients/near/NearClient.js +7 -0
  15. package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +7 -0
  16. package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +3 -0
  17. package/dist/esm/core/signingEngine/nearTransactionSubmission.js +89 -0
  18. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +2 -2
  19. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +7 -1
  20. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +123 -14
  21. package/dist/esm/core/ui/messages.js +12 -0
  22. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonMock.js +5 -7
  23. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +21 -5
  24. package/dist/esm/react/components/AccountMenuButton/AccountMenuModal.js +66 -0
  25. package/dist/esm/react/components/AccountMenuButton/AccountsSection.css +18 -11
  26. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +5 -11
  27. package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.css +17 -15
  28. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +156 -106
  29. package/dist/esm/react/components/AccountMenuButton/MenuItem.css +37 -29
  30. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.css +53 -21
  31. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.css +124 -82
  32. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.css +45 -27
  33. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.css +115 -93
  34. package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +179 -92
  35. package/dist/esm/react/components/AccountMenuButton/hooks/useProfileState.js +62 -49
  36. package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.css +36 -12
  37. package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.js +10 -2
  38. package/dist/esm/react/components/AccountMenuButton/icons/Icon.css +10 -0
  39. package/dist/esm/react/components/AccountMenuButton/icons/LogOutIcon2.js +15 -16
  40. package/dist/esm/react/components/AccountMenuButton/icons/SpinnerIcon.js +12 -18
  41. package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon.css +3 -3
  42. package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon.js +11 -5
  43. package/dist/esm/react/components/AccountMenuButton/icons/lucideIcon.js +20 -6
  44. package/dist/esm/react/components/AccountMenuButton/index.js +18 -42
  45. package/dist/esm/react/components/ExternalNearWalletIcon.js +32 -0
  46. package/dist/esm/react/components/FingerprintIcon.js +13 -19
  47. package/dist/esm/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.js +13 -2
  48. package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.css +182 -0
  49. package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.js +315 -0
  50. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +20 -5
  51. package/dist/esm/react/components/QRCodeIcon.js +37 -43
  52. package/dist/esm/react/components/QRCodeScanner.css +65 -60
  53. package/dist/esm/react/components/ShowQRCode.css +145 -40
  54. package/dist/esm/react/components/ShowQRCode.js +27 -37
  55. package/dist/esm/react/components/externalWalletBrandImages.js +7 -0
  56. package/dist/esm/react/components/theme/Theme.css +67 -0
  57. package/dist/esm/react/components/theme/ThemeProvider.js +6 -6
  58. package/dist/esm/react/externalEvm.js +11 -4
  59. package/dist/esm/react/externalNear.js +15 -10
  60. package/dist/esm/react/externalWalletPicker.css +117 -0
  61. package/dist/esm/react/index.js +3 -2
  62. package/dist/esm/react/styles/styles.css +2148 -550
  63. package/dist/esm/react/styles.css +7 -1
  64. package/dist/esm/react/transactionReview/TransactionReviewHost.js +3 -0
  65. package/dist/esm/react/transactionReview/boundCalls.js +31 -26
  66. package/dist/esm/sdk/{ConfirmationDrawer-CTaGM1AE.js → ConfirmationDrawer-AZruQmhP.js} +1 -1
  67. package/dist/esm/sdk/NonceCoordinator-3YhmDTS5.js +1 -0
  68. package/dist/{public/sdk/SeamsWordmark-CFpsGoLw.js → esm/sdk/SeamsWordmark-DwvPx2UA.js} +1 -1
  69. package/dist/esm/sdk/accountLifecycle-6DHYWf0v.js +1 -0
  70. package/dist/esm/sdk/actions-DrtSTGus.js +1 -0
  71. package/dist/esm/sdk/activeWalletSession-BJ4B-nJo.js +1 -0
  72. package/dist/esm/sdk/adapters-d9yh1bdC.js +1 -0
  73. package/dist/esm/sdk/appearance-DL7c6bML.js +1 -0
  74. package/dist/esm/sdk/appearance-token-vars-BJydfWT_.js +1 -0
  75. package/dist/esm/sdk/canonicalPrimitives-Jd3i_Ngz.js +1 -0
  76. package/dist/esm/sdk/chains-B72I4PDH.js +1 -0
  77. package/dist/esm/sdk/challengeDelivery-Dj9HrjW9.js +1 -0
  78. package/dist/esm/sdk/clientSessionPersistenceState-BCkJAYSz.js +1 -0
  79. package/dist/esm/sdk/{collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js → collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js} +1 -1
  80. package/dist/esm/sdk/{commitQueue-Bs23Rs57.js → commitQueue-CYruPlkm.js} +1 -1
  81. package/dist/esm/sdk/configBuilder-CSwJrmcR.js +1 -0
  82. package/dist/esm/sdk/configuration-DBEc3bsj.js +1 -0
  83. package/dist/esm/sdk/confirm-ui-nU6ymgiv.js +2 -0
  84. package/dist/esm/sdk/confirmTypes-BvVtQs-M.js +1 -0
  85. package/dist/esm/sdk/device-linking-DiCNt3iA.js +1 -0
  86. package/dist/esm/sdk/deviceLinkApproval-CfEiotVt.js +2 -0
  87. package/dist/esm/sdk/digestEncoding-CqNXPZY9.js +1 -0
  88. package/dist/esm/sdk/{chains-gV2K9gA4.js → digests-BIaE0DMd.js} +1 -1
  89. package/dist/esm/sdk/{display-BXjW58UF.js → display-D0EPmU4w.js} +1 -1
  90. package/dist/esm/sdk/ecdsaCapabilityManifest-DAJEVjlP.js +1 -0
  91. package/dist/esm/sdk/{ecdsaChainTarget-DbLthshF.js → ecdsaChainTarget-Bm5X4k-V.js} +1 -1
  92. package/dist/esm/sdk/ecdsaDerivationClientWasm-AYOJgTJm.js +1 -0
  93. package/dist/esm/sdk/ecdsaDerivationExport-DJKOzDbS.js +1 -0
  94. package/dist/esm/sdk/{ecdsaWalletRecords-BgcXXCZy.js → ecdsaWalletRecords-WLyq414E.js} +1 -1
  95. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js +1 -0
  96. package/dist/esm/sdk/{enrichDisplayModelWithAbi-CudPUW0T.js → enrichDisplayModelWithAbi-O6Mw4i2E.js} +1 -1
  97. package/dist/esm/sdk/errors-BJBDbwHk.js +1 -0
  98. package/dist/esm/sdk/{evmCryptoWasm-DacbCVNM.js → evmCryptoWasm-BUPb4hBH.js} +1 -1
  99. package/dist/esm/sdk/{export-viewer-host-DsWOvc0t.js → export-viewer-host-BtrKVXxu.js} +1 -1
  100. package/dist/esm/sdk/exportKeypairOperation-CGE9ZU1m.js +1 -0
  101. package/dist/esm/sdk/helpers-Dubwo5uK.js +1 -0
  102. package/dist/esm/sdk/host-DayrOrgm.js +1 -0
  103. package/dist/esm/sdk/icons-BlMXolHv.js +1 -0
  104. package/dist/esm/sdk/indexedDB-C4SDsyOG.js +1 -0
  105. package/dist/esm/sdk/intentDigest-HvRsBQ1z.js +1 -0
  106. package/dist/esm/sdk/keyMaterialEnvelope-Dm2ZEilb.js +1 -0
  107. package/dist/esm/sdk/{lanes-C7OvAK_L.js → lanes-BU-fGqY4.js} +1 -1
  108. package/dist/esm/sdk/localOnly-BATWJj78.js +1 -0
  109. package/dist/{public/sdk/mountExportPrivateKeySurface-CV1KrFWg.js → esm/sdk/mountExportPrivateKeySurface-CyHU8bVc.js} +1 -1
  110. package/dist/esm/sdk/{mountRecoveryCodeBackupSurface-CVXU1zzl.js → mountRecoveryCodeBackupSurface-C7aglQxf.js} +1 -1
  111. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +1 -0
  112. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +1 -0
  113. package/dist/esm/sdk/nearRpcResults-CeHdqaS4.js +1 -0
  114. package/dist/esm/sdk/{nonceLaneKeys-BS4fek17.js → nonceLaneKeys-BF_UpvIy.js} +1 -1
  115. package/dist/esm/sdk/{normalization-BN-2VWZf.js → normalization-Df9fZWJC.js} +1 -1
  116. package/dist/esm/sdk/operationFingerprint-Bas59T7L.js +1 -0
  117. package/dist/esm/sdk/participants-BXdREC5k.js +1 -0
  118. package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js → esm/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js} +1 -1
  119. package/dist/esm/sdk/presignaturePool-BbvqRWYw.js +1 -0
  120. package/dist/{public/sdk/presignatures-B9GrGx0L.js → esm/sdk/presignatures-BCeq56DG.js} +1 -1
  121. package/dist/esm/sdk/recovery-entrypoint-DJbMDC_m.js +1 -0
  122. package/dist/esm/sdk/recoveryAuthorization-CQsjb8Tm.js +1 -0
  123. package/dist/esm/sdk/registration-CNLUYN-p.js +1 -0
  124. package/dist/esm/sdk/registration-HSwOHZOo.js +1 -0
  125. package/dist/esm/sdk/{registrationAccounts-BHikxS5q.js → registrationAccounts-4r74gX1l.js} +1 -1
  126. package/dist/esm/sdk/registrationIntent-Do1tD1V7.js +1 -0
  127. package/dist/esm/sdk/registrationSignerPlan-DK2b3N_p.js +1 -0
  128. package/dist/esm/sdk/requireStepUpAuth-COqCGb1i.js +1 -0
  129. package/dist/esm/sdk/resealedEnvelopeResult-B1p5UkYg.js +1 -0
  130. package/dist/esm/sdk/routerAbNormalSigning-D-UZmCBS.js +1 -0
  131. package/dist/esm/sdk/runtime-auth-BCoj7_-G.js +1 -0
  132. package/dist/esm/sdk/runtime-device-link-DAsq5tGT.js +1 -0
  133. package/dist/esm/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js +1 -0
  134. package/dist/esm/sdk/runtime-email-otp-BxSKK9AG.js +1 -0
  135. package/dist/esm/sdk/runtime-export-BWnQXMzT.js +1 -0
  136. package/dist/esm/sdk/runtime-near-CuzPZrDS.js +1 -0
  137. package/dist/esm/sdk/runtime-preferences-B-nDWlm3.js +1 -0
  138. package/dist/esm/sdk/runtime-recovery-DpOdEJ8N.js +1 -0
  139. package/dist/esm/sdk/runtime-recovery-codes-DeUjQsxZ.js +1 -0
  140. package/dist/esm/sdk/runtimeContext-5JcewRo3.js +6 -0
  141. package/dist/esm/sdk/secp256k1-CE7-q9Sn.js +1 -0
  142. package/dist/esm/sdk/sessionObservationRevision-JOvVF4Hf.js +1 -0
  143. package/dist/esm/sdk/signEvmFamily-BY5jlZEG.js +1 -0
  144. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js → signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js} +1 -1
  145. package/dist/esm/sdk/{signEvmWithUiConfirm-BNkupz3z.js → signEvmWithUiConfirm-CGrLtMV6.js} +1 -1
  146. package/dist/esm/sdk/signNear-DMpJFkwF.js +1 -0
  147. package/dist/esm/sdk/{signatureUses-DrqCoN12.js → signatureUses-kSrUHSSH.js} +1 -1
  148. package/dist/esm/sdk/signerSlot-D2RZnb27.js +1 -0
  149. package/dist/esm/sdk/{signingFlow-BVvteILM.js → signingFlow-BcetvUeS.js} +2 -2
  150. package/dist/esm/sdk/signingQueue-dMFOFOP5.js +1 -0
  151. package/dist/esm/sdk/surface-measurement-reporter-DXsvq401.js +1 -0
  152. package/dist/esm/sdk/thresholdEcdsa-CqR1fFA-.js +1 -0
  153. package/dist/esm/sdk/{trace-CGNqO1FV.js → trace--mRP2OQc.js} +1 -1
  154. package/dist/esm/sdk/{transaction-activity-DPq9RTh5.js → transaction-activity-DCzHGg3b.js} +1 -1
  155. package/dist/esm/sdk/transactionReview-CGIlI835.js +1 -0
  156. package/dist/esm/sdk/{transactionReviewAdmission--8tDis7M.js → transactionReviewAdmission-Cf_qUZJt.js} +1 -1
  157. package/dist/{public/sdk/transactionState-BS1VLT7B.js → esm/sdk/transactionState-29T9xfvL.js} +1 -1
  158. package/dist/esm/sdk/tx-confirm-ui.js +173 -18
  159. package/dist/esm/sdk/{types-DdzuHlAQ.js → types-f7dyj5N6.js} +1 -1
  160. package/dist/esm/sdk/unlockedEd25519ExportRootCapability-yzxQjIFd.js +1 -0
  161. package/dist/esm/sdk/voiceid-host.js +1 -1
  162. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  163. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  164. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  165. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  166. package/dist/esm/sdk/wallet-recovery-BZB2Vu3X.js +1 -0
  167. package/dist/esm/sdk/wallet-ui.css +1 -1
  168. package/dist/esm/sdk/walletAuthMethodRecord-DLBB5fez.js +1 -0
  169. package/dist/esm/sdk/walletAuthority-BTGAuOi8.js +1 -0
  170. package/dist/esm/sdk/walletCapabilityBindings-D5YYB7nN.js +1 -0
  171. package/dist/esm/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js +1 -0
  172. package/dist/esm/sdk/walletCustodyOperation-DimzAbCB.js +1 -0
  173. package/dist/esm/sdk/walletDbName-Ca0rCq5r.js +1 -0
  174. package/dist/esm/sdk/walletOwnershipGeneration-CgjCtPrV.js +1 -0
  175. package/dist/esm/sdk/walletRecoveryAdminProof-CvSYbyg5.js +1 -0
  176. package/dist/esm/sdk/walletRecoveryCommit-Cc2LAkCS.js +1 -0
  177. package/dist/esm/sdk/walletRegistrationSetupPrewarm-CEvGKQSg.js +1 -0
  178. package/dist/esm/sdk/{walletSessionAuthorizationProjection-BJgnZaBc.js → walletSessionAuthorizationProjection-BzUH6gHV.js} +1 -1
  179. package/dist/esm/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js +1 -0
  180. package/dist/esm/sdk/{walletSessionAuthorizationStore-zkxcMdSp.js → walletSessionAuthorizationStore-B9Vwkshr.js} +1 -1
  181. package/dist/esm/sdk/warmSessionHydration-B-A5Tdx7.js +1 -0
  182. package/dist/{public/sdk/webauthnP256-BvTL8nq4.js → esm/sdk/webauthnP256-BsQQPurm.js} +1 -1
  183. package/dist/esm/shared-ts/src/near/nearClient.js +1 -1
  184. package/dist/esm/shared-ts/src/utils/errors.js +56 -3
  185. package/dist/esm/shared-ts/src/utils/index.js +1 -1
  186. package/dist/esm/voiceid-host.js +1 -1
  187. package/dist/public/headers.manifest.json +1 -1
  188. package/dist/public/sdk/{ConfirmationDrawer-CTaGM1AE.js → ConfirmationDrawer-AZruQmhP.js} +1 -1
  189. package/dist/public/sdk/NonceCoordinator-3YhmDTS5.js +1 -0
  190. package/dist/{esm/sdk/SeamsWordmark-CFpsGoLw.js → public/sdk/SeamsWordmark-DwvPx2UA.js} +1 -1
  191. package/dist/public/sdk/accountLifecycle-6DHYWf0v.js +1 -0
  192. package/dist/public/sdk/actions-DrtSTGus.js +1 -0
  193. package/dist/public/sdk/activeWalletSession-BJ4B-nJo.js +1 -0
  194. package/dist/public/sdk/adapters-d9yh1bdC.js +1 -0
  195. package/dist/public/sdk/appearance-DL7c6bML.js +1 -0
  196. package/dist/public/sdk/appearance-token-vars-BJydfWT_.js +1 -0
  197. package/dist/public/sdk/canonicalPrimitives-Jd3i_Ngz.js +1 -0
  198. package/dist/public/sdk/chains-B72I4PDH.js +1 -0
  199. package/dist/public/sdk/challengeDelivery-Dj9HrjW9.js +1 -0
  200. package/dist/public/sdk/clientSessionPersistenceState-BCkJAYSz.js +1 -0
  201. package/dist/public/sdk/{collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js → collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js} +1 -1
  202. package/dist/public/sdk/{commitQueue-Bs23Rs57.js → commitQueue-CYruPlkm.js} +1 -1
  203. package/dist/public/sdk/configBuilder-CSwJrmcR.js +1 -0
  204. package/dist/public/sdk/configuration-DBEc3bsj.js +1 -0
  205. package/dist/public/sdk/confirm-ui-nU6ymgiv.js +2 -0
  206. package/dist/public/sdk/confirmTypes-BvVtQs-M.js +1 -0
  207. package/dist/public/sdk/device-linking-DiCNt3iA.js +1 -0
  208. package/dist/public/sdk/deviceLinkApproval-CfEiotVt.js +2 -0
  209. package/dist/public/sdk/digestEncoding-CqNXPZY9.js +1 -0
  210. package/dist/public/sdk/{chains-gV2K9gA4.js → digests-BIaE0DMd.js} +1 -1
  211. package/dist/public/sdk/{display-BXjW58UF.js → display-D0EPmU4w.js} +1 -1
  212. package/dist/public/sdk/ecdsaCapabilityManifest-DAJEVjlP.js +1 -0
  213. package/dist/public/sdk/{ecdsaChainTarget-DbLthshF.js → ecdsaChainTarget-Bm5X4k-V.js} +1 -1
  214. package/dist/public/sdk/ecdsaDerivationClientWasm-AYOJgTJm.js +1 -0
  215. package/dist/public/sdk/ecdsaDerivationExport-DJKOzDbS.js +1 -0
  216. package/dist/public/sdk/{ecdsaWalletRecords-BgcXXCZy.js → ecdsaWalletRecords-WLyq414E.js} +1 -1
  217. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js +1 -0
  218. package/dist/public/sdk/{enrichDisplayModelWithAbi-CudPUW0T.js → enrichDisplayModelWithAbi-O6Mw4i2E.js} +1 -1
  219. package/dist/public/sdk/errors-BJBDbwHk.js +1 -0
  220. package/dist/public/sdk/{evmCryptoWasm-DacbCVNM.js → evmCryptoWasm-BUPb4hBH.js} +1 -1
  221. package/dist/public/sdk/{export-viewer-host-DsWOvc0t.js → export-viewer-host-BtrKVXxu.js} +1 -1
  222. package/dist/public/sdk/exportKeypairOperation-CGE9ZU1m.js +1 -0
  223. package/dist/public/sdk/helpers-Dubwo5uK.js +1 -0
  224. package/dist/public/sdk/host-DayrOrgm.js +1 -0
  225. package/dist/public/sdk/icons-BlMXolHv.js +1 -0
  226. package/dist/public/sdk/indexedDB-C4SDsyOG.js +1 -0
  227. package/dist/public/sdk/intentDigest-HvRsBQ1z.js +1 -0
  228. package/dist/public/sdk/keyMaterialEnvelope-Dm2ZEilb.js +1 -0
  229. package/dist/public/sdk/{lanes-C7OvAK_L.js → lanes-BU-fGqY4.js} +1 -1
  230. package/dist/public/sdk/localOnly-BATWJj78.js +1 -0
  231. package/dist/{esm/sdk/mountExportPrivateKeySurface-CV1KrFWg.js → public/sdk/mountExportPrivateKeySurface-CyHU8bVc.js} +1 -1
  232. package/dist/public/sdk/{mountRecoveryCodeBackupSurface-CVXU1zzl.js → mountRecoveryCodeBackupSurface-C7aglQxf.js} +1 -1
  233. package/dist/public/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +1 -0
  234. package/dist/public/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +1 -0
  235. package/dist/public/sdk/nearRpcResults-CeHdqaS4.js +1 -0
  236. package/dist/public/sdk/{nonceLaneKeys-BS4fek17.js → nonceLaneKeys-BF_UpvIy.js} +1 -1
  237. package/dist/public/sdk/{normalization-BN-2VWZf.js → normalization-Df9fZWJC.js} +1 -1
  238. package/dist/public/sdk/operationFingerprint-Bas59T7L.js +1 -0
  239. package/dist/public/sdk/participants-BXdREC5k.js +1 -0
  240. package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js → public/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js} +1 -1
  241. package/dist/public/sdk/presignaturePool-BbvqRWYw.js +1 -0
  242. package/dist/{esm/sdk/presignatures-B9GrGx0L.js → public/sdk/presignatures-BCeq56DG.js} +1 -1
  243. package/dist/public/sdk/recovery-entrypoint-DJbMDC_m.js +1 -0
  244. package/dist/public/sdk/recoveryAuthorization-CQsjb8Tm.js +1 -0
  245. package/dist/public/sdk/registration-CNLUYN-p.js +1 -0
  246. package/dist/public/sdk/registration-HSwOHZOo.js +1 -0
  247. package/dist/public/sdk/{registrationAccounts-BHikxS5q.js → registrationAccounts-4r74gX1l.js} +1 -1
  248. package/dist/public/sdk/registrationIntent-Do1tD1V7.js +1 -0
  249. package/dist/public/sdk/registrationSignerPlan-DK2b3N_p.js +1 -0
  250. package/dist/public/sdk/requireStepUpAuth-COqCGb1i.js +1 -0
  251. package/dist/public/sdk/resealedEnvelopeResult-B1p5UkYg.js +1 -0
  252. package/dist/public/sdk/routerAbNormalSigning-D-UZmCBS.js +1 -0
  253. package/dist/public/sdk/runtime-auth-BCoj7_-G.js +1 -0
  254. package/dist/public/sdk/runtime-device-link-DAsq5tGT.js +1 -0
  255. package/dist/public/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js +1 -0
  256. package/dist/public/sdk/runtime-email-otp-BxSKK9AG.js +1 -0
  257. package/dist/public/sdk/runtime-export-BWnQXMzT.js +1 -0
  258. package/dist/public/sdk/runtime-near-CuzPZrDS.js +1 -0
  259. package/dist/public/sdk/runtime-preferences-B-nDWlm3.js +1 -0
  260. package/dist/public/sdk/runtime-recovery-DpOdEJ8N.js +1 -0
  261. package/dist/public/sdk/runtime-recovery-codes-DeUjQsxZ.js +1 -0
  262. package/dist/public/sdk/runtimeContext-5JcewRo3.js +6 -0
  263. package/dist/public/sdk/secp256k1-CE7-q9Sn.js +1 -0
  264. package/dist/public/sdk/sessionObservationRevision-JOvVF4Hf.js +1 -0
  265. package/dist/public/sdk/signEvmFamily-BY5jlZEG.js +1 -0
  266. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js → signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js} +1 -1
  267. package/dist/public/sdk/{signEvmWithUiConfirm-BNkupz3z.js → signEvmWithUiConfirm-CGrLtMV6.js} +1 -1
  268. package/dist/public/sdk/signNear-DMpJFkwF.js +1 -0
  269. package/dist/public/sdk/{signatureUses-DrqCoN12.js → signatureUses-kSrUHSSH.js} +1 -1
  270. package/dist/public/sdk/signerSlot-D2RZnb27.js +1 -0
  271. package/dist/public/sdk/{signingFlow-BVvteILM.js → signingFlow-BcetvUeS.js} +2 -2
  272. package/dist/public/sdk/signingQueue-dMFOFOP5.js +1 -0
  273. package/dist/public/sdk/surface-measurement-reporter-DXsvq401.js +1 -0
  274. package/dist/public/sdk/thresholdEcdsa-CqR1fFA-.js +1 -0
  275. package/dist/public/sdk/{trace-CGNqO1FV.js → trace--mRP2OQc.js} +1 -1
  276. package/dist/public/sdk/{transaction-activity-DPq9RTh5.js → transaction-activity-DCzHGg3b.js} +1 -1
  277. package/dist/public/sdk/transactionReview-CGIlI835.js +1 -0
  278. package/dist/public/sdk/{transactionReviewAdmission--8tDis7M.js → transactionReviewAdmission-Cf_qUZJt.js} +1 -1
  279. package/dist/{esm/sdk/transactionState-BS1VLT7B.js → public/sdk/transactionState-29T9xfvL.js} +1 -1
  280. package/dist/public/sdk/tx-confirm-ui.js +173 -18
  281. package/dist/public/sdk/{types-DdzuHlAQ.js → types-f7dyj5N6.js} +1 -1
  282. package/dist/public/sdk/unlockedEd25519ExportRootCapability-yzxQjIFd.js +1 -0
  283. package/dist/public/sdk/voiceid-host.js +1 -1
  284. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  285. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  286. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  287. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  288. package/dist/public/sdk/wallet-recovery-BZB2Vu3X.js +1 -0
  289. package/dist/public/sdk/wallet-ui.css +1 -1
  290. package/dist/public/sdk/walletAuthMethodRecord-DLBB5fez.js +1 -0
  291. package/dist/public/sdk/walletAuthority-BTGAuOi8.js +1 -0
  292. package/dist/public/sdk/walletCapabilityBindings-D5YYB7nN.js +1 -0
  293. package/dist/public/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js +1 -0
  294. package/dist/public/sdk/walletCustodyOperation-DimzAbCB.js +1 -0
  295. package/dist/public/sdk/walletDbName-Ca0rCq5r.js +1 -0
  296. package/dist/public/sdk/walletOwnershipGeneration-CgjCtPrV.js +1 -0
  297. package/dist/public/sdk/walletRecoveryAdminProof-CvSYbyg5.js +1 -0
  298. package/dist/public/sdk/walletRecoveryCommit-Cc2LAkCS.js +1 -0
  299. package/dist/public/sdk/walletRegistrationSetupPrewarm-CEvGKQSg.js +1 -0
  300. package/dist/public/sdk/{walletSessionAuthorizationProjection-BJgnZaBc.js → walletSessionAuthorizationProjection-BzUH6gHV.js} +1 -1
  301. package/dist/public/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js +1 -0
  302. package/dist/public/sdk/{walletSessionAuthorizationStore-zkxcMdSp.js → walletSessionAuthorizationStore-B9Vwkshr.js} +1 -1
  303. package/dist/public/sdk/warmSessionHydration-B-A5Tdx7.js +1 -0
  304. package/dist/{esm/sdk/webauthnP256-BvTL8nq4.js → public/sdk/webauthnP256-BsQQPurm.js} +1 -1
  305. package/dist/public/wallet-assets.manifest.json +476 -260
  306. package/dist/public/wallet-service/index.html +4 -4
  307. package/dist/types/shared-ts/src/utils/errors.d.ts +1 -0
  308. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.d.ts +24 -0
  309. package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostOwnerAuthority.d.ts +2 -0
  310. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +3 -0
  311. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +2 -0
  312. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +1 -0
  313. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createDeviceDomain.d.ts +2 -1
  314. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/deviceLinkApproval.d.ts +27 -0
  315. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.d.ts +1 -0
  316. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +4 -1
  317. package/dist/types/wallet/src/core/authMethods/hostPlugin.d.ts +1 -0
  318. package/dist/types/wallet/src/core/authMethods/plugins.d.ts +4 -0
  319. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/recoveredEd25519Authority.d.ts +8 -0
  320. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +1 -0
  321. package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +13 -0
  322. package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +2 -0
  323. package/dist/types/wallet/src/core/signingEngine/nearTransactionSubmission.d.ts +24 -0
  324. package/dist/types/wallet/src/core/signingEngine/session/persistence/walletSessionAuthorizationProjection.d.ts +1 -0
  325. package/dist/types/wallet/src/core/signingEngine/uiConfirm/transactionReviewAdmission.d.ts +2 -0
  326. package/dist/types/wallet/src/core/types/linkDevice.d.ts +4 -5
  327. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +2 -0
  328. package/dist/types/wallet/src/core/types/seams.d.ts +15 -3
  329. package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
  330. package/dist/types/wallet/src/index.d.ts +1 -1
  331. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonMock.d.ts +11 -2
  332. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonView.d.ts +2 -1
  333. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuModal.d.ts +9 -0
  334. package/dist/types/wallet/src/react/components/AccountMenuButton/hooks/useProfileState.d.ts +13 -5
  335. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/HoverArrowIcon.d.ts +2 -1
  336. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/lucideIcon.d.ts +1 -1
  337. package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +19 -3
  338. package/dist/types/wallet/src/react/components/ExternalNearWalletIcon.d.ts +5 -0
  339. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.d.ts +31 -0
  340. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +4 -0
  341. package/dist/types/wallet/src/react/components/ShowQRCode.d.ts +1 -1
  342. package/dist/types/wallet/src/react/components/externalWalletBrandImages.d.ts +3 -0
  343. package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +2 -0
  344. package/dist/types/wallet/src/react/externalNear.d.ts +3 -23
  345. package/dist/types/wallet/src/react/index.d.ts +3 -1
  346. package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +7 -0
  347. package/dist/types/wallet/src/voiceid-host.d.ts +1 -1
  348. package/package.json +1 -1
  349. package/dist/esm/react/externalNear.css +0 -90
  350. package/dist/esm/sdk/NonceCoordinator-Bti1HQPo.js +0 -1
  351. package/dist/esm/sdk/accountLifecycle-B98g9zN9.js +0 -1
  352. package/dist/esm/sdk/actions-GYsSR2Q2.js +0 -1
  353. package/dist/esm/sdk/activeWalletSession-H9JBdHyQ.js +0 -1
  354. package/dist/esm/sdk/adapters-D5MZ5NG5.js +0 -2
  355. package/dist/esm/sdk/appearance-DVFno9Tv.js +0 -1
  356. package/dist/esm/sdk/appearance-token-vars-CgYTfCKg.js +0 -1
  357. package/dist/esm/sdk/canonicalPrimitives-B6YMrI3W.js +0 -1
  358. package/dist/esm/sdk/challengeDelivery-FW9gYyr0.js +0 -1
  359. package/dist/esm/sdk/clientSessionPersistenceState-BPYK9PYV.js +0 -1
  360. package/dist/esm/sdk/configBuilder-DrxXNUpV.js +0 -1
  361. package/dist/esm/sdk/configuration-CAqANpTI.js +0 -1
  362. package/dist/esm/sdk/ecdsaCapabilityManifest--FjbES8k.js +0 -1
  363. package/dist/esm/sdk/ecdsaDerivationClientWasm-7Rp4TmYE.js +0 -1
  364. package/dist/esm/sdk/ecdsaDerivationExport-dInN7N6e.js +0 -1
  365. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +0 -1
  366. package/dist/esm/sdk/errors-ADOZT8oV.js +0 -1
  367. package/dist/esm/sdk/exportKeypairOperation-BazJvSov.js +0 -1
  368. package/dist/esm/sdk/helpers-CXqXyyCU.js +0 -1
  369. package/dist/esm/sdk/host-C0Is56lU.js +0 -1
  370. package/dist/esm/sdk/icons-DyndJzSh.js +0 -1
  371. package/dist/esm/sdk/indexedDB-C1odKEC6.js +0 -1
  372. package/dist/esm/sdk/intentDigest-BMXki7yB.js +0 -1
  373. package/dist/esm/sdk/keyMaterialEnvelope-B-Q5KTJC.js +0 -1
  374. package/dist/esm/sdk/localOnly-BB3Rx3J6.js +0 -1
  375. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +0 -1
  376. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +0 -1
  377. package/dist/esm/sdk/operationFingerprint-Bn0lUYlm.js +0 -1
  378. package/dist/esm/sdk/presignaturePool-CultzkOG.js +0 -1
  379. package/dist/esm/sdk/recovery-entrypoint-QBvJBngm.js +0 -1
  380. package/dist/esm/sdk/recoveryAuthorization-DB-zxeHq.js +0 -1
  381. package/dist/esm/sdk/registration-CM5a7WYO.js +0 -1
  382. package/dist/esm/sdk/registration-Hv0xi7-L.js +0 -1
  383. package/dist/esm/sdk/registrationIntent-DTs2SR9E.js +0 -1
  384. package/dist/esm/sdk/registrationSignerPlan-CgbFVsAp.js +0 -1
  385. package/dist/esm/sdk/requireStepUpAuth-B7tC4MrA.js +0 -1
  386. package/dist/esm/sdk/resealedEnvelopeResult--iCVt_Bh.js +0 -1
  387. package/dist/esm/sdk/routerAbNormalSigning-Div3lZWV.js +0 -1
  388. package/dist/esm/sdk/runtime-auth-CVw1KoVD.js +0 -1
  389. package/dist/esm/sdk/runtime-device-link-Dp0YMZTQ.js +0 -1
  390. package/dist/esm/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +0 -1
  391. package/dist/esm/sdk/runtime-email-otp-gsr_FsQn.js +0 -1
  392. package/dist/esm/sdk/runtime-export-upMPrZ4V.js +0 -1
  393. package/dist/esm/sdk/runtime-near-B64Hn3nc.js +0 -1
  394. package/dist/esm/sdk/runtime-preferences-CULdHkbg.js +0 -1
  395. package/dist/esm/sdk/runtime-recovery-D2saBaJy.js +0 -1
  396. package/dist/esm/sdk/runtime-recovery-codes-Bvc0IXMJ.js +0 -1
  397. package/dist/esm/sdk/runtimeContext-CNFJjcns.js +0 -6
  398. package/dist/esm/sdk/secp256k1-BGVlx50C.js +0 -1
  399. package/dist/esm/sdk/sessionObservationRevision-84ZzJ-fC.js +0 -1
  400. package/dist/esm/sdk/signEvmFamily-PjwUc5MT.js +0 -1
  401. package/dist/esm/sdk/signNear-r8VCOoTh.js +0 -1
  402. package/dist/esm/sdk/signerSlot-D4ZOuK7e.js +0 -1
  403. package/dist/esm/sdk/signingQueue-BJzOrwDq.js +0 -1
  404. package/dist/esm/sdk/surface-measurement-reporter-NUm_54LH.js +0 -1
  405. package/dist/esm/sdk/thresholdEcdsa-tnY83qyG.js +0 -1
  406. package/dist/esm/sdk/transactionReview-DSGnpreN.js +0 -1
  407. package/dist/esm/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +0 -1
  408. package/dist/esm/sdk/wallet-recovery-BjIQdOha.js +0 -1
  409. package/dist/esm/sdk/walletAuthMethodRecord-yIqCeE-o.js +0 -1
  410. package/dist/esm/sdk/walletCapabilityBindings-CUPk3mVH.js +0 -1
  411. package/dist/esm/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +0 -1
  412. package/dist/esm/sdk/walletCustodyOperation-DzPcxEBS.js +0 -1
  413. package/dist/esm/sdk/walletDbName-DDJXrgA5.js +0 -1
  414. package/dist/esm/sdk/walletOwnershipGeneration-DI9ogcXF.js +0 -1
  415. package/dist/esm/sdk/walletRecoveryAdminProof-BJxmg3f7.js +0 -1
  416. package/dist/esm/sdk/walletRecoveryCommit-B7WsdR7y.js +0 -1
  417. package/dist/esm/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +0 -1
  418. package/dist/esm/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +0 -1
  419. package/dist/esm/sdk/warmSessionHydration-DqZyfi1h.js +0 -1
  420. package/dist/public/sdk/NonceCoordinator-Bti1HQPo.js +0 -1
  421. package/dist/public/sdk/accountLifecycle-B98g9zN9.js +0 -1
  422. package/dist/public/sdk/actions-GYsSR2Q2.js +0 -1
  423. package/dist/public/sdk/activeWalletSession-H9JBdHyQ.js +0 -1
  424. package/dist/public/sdk/adapters-D5MZ5NG5.js +0 -2
  425. package/dist/public/sdk/appearance-DVFno9Tv.js +0 -1
  426. package/dist/public/sdk/appearance-token-vars-CgYTfCKg.js +0 -1
  427. package/dist/public/sdk/canonicalPrimitives-B6YMrI3W.js +0 -1
  428. package/dist/public/sdk/challengeDelivery-FW9gYyr0.js +0 -1
  429. package/dist/public/sdk/clientSessionPersistenceState-BPYK9PYV.js +0 -1
  430. package/dist/public/sdk/configBuilder-DrxXNUpV.js +0 -1
  431. package/dist/public/sdk/configuration-CAqANpTI.js +0 -1
  432. package/dist/public/sdk/ecdsaCapabilityManifest--FjbES8k.js +0 -1
  433. package/dist/public/sdk/ecdsaDerivationClientWasm-7Rp4TmYE.js +0 -1
  434. package/dist/public/sdk/ecdsaDerivationExport-dInN7N6e.js +0 -1
  435. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +0 -1
  436. package/dist/public/sdk/errors-ADOZT8oV.js +0 -1
  437. package/dist/public/sdk/exportKeypairOperation-BazJvSov.js +0 -1
  438. package/dist/public/sdk/helpers-CXqXyyCU.js +0 -1
  439. package/dist/public/sdk/host-C0Is56lU.js +0 -1
  440. package/dist/public/sdk/icons-DyndJzSh.js +0 -1
  441. package/dist/public/sdk/indexedDB-C1odKEC6.js +0 -1
  442. package/dist/public/sdk/intentDigest-BMXki7yB.js +0 -1
  443. package/dist/public/sdk/keyMaterialEnvelope-B-Q5KTJC.js +0 -1
  444. package/dist/public/sdk/localOnly-BB3Rx3J6.js +0 -1
  445. package/dist/public/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +0 -1
  446. package/dist/public/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +0 -1
  447. package/dist/public/sdk/operationFingerprint-Bn0lUYlm.js +0 -1
  448. package/dist/public/sdk/presignaturePool-CultzkOG.js +0 -1
  449. package/dist/public/sdk/recovery-entrypoint-QBvJBngm.js +0 -1
  450. package/dist/public/sdk/recoveryAuthorization-DB-zxeHq.js +0 -1
  451. package/dist/public/sdk/registration-CM5a7WYO.js +0 -1
  452. package/dist/public/sdk/registration-Hv0xi7-L.js +0 -1
  453. package/dist/public/sdk/registrationIntent-DTs2SR9E.js +0 -1
  454. package/dist/public/sdk/registrationSignerPlan-CgbFVsAp.js +0 -1
  455. package/dist/public/sdk/requireStepUpAuth-B7tC4MrA.js +0 -1
  456. package/dist/public/sdk/resealedEnvelopeResult--iCVt_Bh.js +0 -1
  457. package/dist/public/sdk/routerAbNormalSigning-Div3lZWV.js +0 -1
  458. package/dist/public/sdk/runtime-auth-CVw1KoVD.js +0 -1
  459. package/dist/public/sdk/runtime-device-link-Dp0YMZTQ.js +0 -1
  460. package/dist/public/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +0 -1
  461. package/dist/public/sdk/runtime-email-otp-gsr_FsQn.js +0 -1
  462. package/dist/public/sdk/runtime-export-upMPrZ4V.js +0 -1
  463. package/dist/public/sdk/runtime-near-B64Hn3nc.js +0 -1
  464. package/dist/public/sdk/runtime-preferences-CULdHkbg.js +0 -1
  465. package/dist/public/sdk/runtime-recovery-D2saBaJy.js +0 -1
  466. package/dist/public/sdk/runtime-recovery-codes-Bvc0IXMJ.js +0 -1
  467. package/dist/public/sdk/runtimeContext-CNFJjcns.js +0 -6
  468. package/dist/public/sdk/secp256k1-BGVlx50C.js +0 -1
  469. package/dist/public/sdk/sessionObservationRevision-84ZzJ-fC.js +0 -1
  470. package/dist/public/sdk/signEvmFamily-PjwUc5MT.js +0 -1
  471. package/dist/public/sdk/signNear-r8VCOoTh.js +0 -1
  472. package/dist/public/sdk/signerSlot-D4ZOuK7e.js +0 -1
  473. package/dist/public/sdk/signingQueue-BJzOrwDq.js +0 -1
  474. package/dist/public/sdk/surface-measurement-reporter-NUm_54LH.js +0 -1
  475. package/dist/public/sdk/thresholdEcdsa-tnY83qyG.js +0 -1
  476. package/dist/public/sdk/transactionReview-DSGnpreN.js +0 -1
  477. package/dist/public/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +0 -1
  478. package/dist/public/sdk/wallet-recovery-BjIQdOha.js +0 -1
  479. package/dist/public/sdk/walletAuthMethodRecord-yIqCeE-o.js +0 -1
  480. package/dist/public/sdk/walletCapabilityBindings-CUPk3mVH.js +0 -1
  481. package/dist/public/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +0 -1
  482. package/dist/public/sdk/walletCustodyOperation-DzPcxEBS.js +0 -1
  483. package/dist/public/sdk/walletDbName-DDJXrgA5.js +0 -1
  484. package/dist/public/sdk/walletOwnershipGeneration-DI9ogcXF.js +0 -1
  485. package/dist/public/sdk/walletRecoveryAdminProof-BJxmg3f7.js +0 -1
  486. package/dist/public/sdk/walletRecoveryCommit-B7WsdR7y.js +0 -1
  487. package/dist/public/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +0 -1
  488. package/dist/public/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +0 -1
  489. package/dist/public/sdk/warmSessionHydration-DqZyfi1h.js +0 -1
  490. /package/dist/esm/sdk/{accountIds-D5NI31F2.js → accountIds-CW2BP-d9.js} +0 -0
  491. /package/dist/esm/sdk/{authenticatorOptions-EF_Rps52.js → authenticatorOptions-WCDKYRux.js} +0 -0
  492. /package/dist/esm/sdk/{authorizationAdmission-DbhNiY3X.js → authorizationAdmission-28jo_IVJ.js} +0 -0
  493. /package/dist/esm/sdk/{browser-B2RI00tM.js → browser-CKS7Tq2r.js} +0 -0
  494. /package/dist/esm/sdk/{bytes-DVe42j_r.js → bytes-DXo6uALR.js} +0 -0
  495. /package/dist/esm/sdk/{canonicalSignerErrorCode-AwNMAn8S.js → canonicalSignerErrorCode-CX5PBpkt.js} +0 -0
  496. /package/dist/esm/sdk/{capabilityKinds-BzrNeEyO.js → capabilityKinds-DVlGMspk.js} +0 -0
  497. /package/dist/esm/sdk/{configHelpers-BNqoU2cv.js → configHelpers-CXDY3bKC.js} +0 -0
  498. /package/dist/esm/sdk/{csp-stylesheet-DeuiM0Mo.js → csp-stylesheet-DUSqfXvZ.js} +0 -0
  499. /package/dist/esm/sdk/{events-1dzC4Ocx.js → events-D6l0_ugy.js} +0 -0
  500. /package/dist/esm/sdk/{executeWorkerOperation-B-9JuL55.js → executeWorkerOperation-C9FOCCR7.js} +0 -0
  501. /package/dist/esm/sdk/{jsonRpc-CHutSlC9.js → jsonRpc-BVDv1wfm.js} +0 -0
  502. /package/dist/esm/sdk/{keccak-C9kCkZem.js → keccak-mS0Mejjx.js} +0 -0
  503. /package/dist/esm/sdk/{normalization-DtruiNPw.js → normalization-B3i1-rPQ.js} +0 -0
  504. /package/dist/esm/sdk/{prfCache-8Wm3etlV.js → prfCache-DEHaUPSW.js} +0 -0
  505. /package/dist/esm/sdk/{profileAccountProjection-D01e10UY.js → profileAccountProjection-C5sNt-s2.js} +0 -0
  506. /package/dist/esm/sdk/{promptText-Bz3YRl9D.js → promptText-bcKcsSka.js} +0 -0
  507. /package/dist/esm/sdk/{registrationAuthMethodInput-BvbWl0y_.js → registrationAuthMethodInput-BR1WVbK3.js} +0 -0
  508. /package/dist/esm/sdk/{sdkSentEvents-DUht3AOD.js → sdkSentEvents-DjOlKtdW.js} +0 -0
  509. /package/dist/esm/sdk/{shared-DcHtE-D-.js → shared-CkHhXgFB.js} +0 -0
  510. /package/dist/esm/sdk/{signer-worker-DlK58rEA.js → signer-worker-BNodGJKY.js} +0 -0
  511. /package/dist/esm/sdk/{signerDomain-D-EUTlLK.js → signerDomain-BAsLT3XN.js} +0 -0
  512. /package/dist/esm/sdk/{signingSessionSeal-DqbjG8c8.js → signingSessionSeal-BFOBKj-J.js} +0 -0
  513. /package/dist/esm/sdk/{types-fJKfUgTi.js → types-C4OErbBf.js} +0 -0
  514. /package/dist/esm/sdk/{walletIframeIdentity-Cz82I_Uh.js → walletIframeIdentity-CpgyEnKg.js} +0 -0
  515. /package/dist/esm/sdk/{walletSessionFailure-CLUIF3Eh.js → walletSessionFailure-CxsVtroW.js} +0 -0
  516. /package/dist/esm/sdk/{webauthnPromptCoordinator-CU9ag7vz.js → webauthnPromptCoordinator-npsSRD51.js} +0 -0
  517. /package/dist/public/sdk/{accountIds-D5NI31F2.js → accountIds-CW2BP-d9.js} +0 -0
  518. /package/dist/public/sdk/{authenticatorOptions-EF_Rps52.js → authenticatorOptions-WCDKYRux.js} +0 -0
  519. /package/dist/public/sdk/{authorizationAdmission-DbhNiY3X.js → authorizationAdmission-28jo_IVJ.js} +0 -0
  520. /package/dist/public/sdk/{browser-B2RI00tM.js → browser-CKS7Tq2r.js} +0 -0
  521. /package/dist/public/sdk/{bytes-DVe42j_r.js → bytes-DXo6uALR.js} +0 -0
  522. /package/dist/public/sdk/{canonicalSignerErrorCode-AwNMAn8S.js → canonicalSignerErrorCode-CX5PBpkt.js} +0 -0
  523. /package/dist/public/sdk/{capabilityKinds-BzrNeEyO.js → capabilityKinds-DVlGMspk.js} +0 -0
  524. /package/dist/public/sdk/{configHelpers-BNqoU2cv.js → configHelpers-CXDY3bKC.js} +0 -0
  525. /package/dist/public/sdk/{csp-stylesheet-DeuiM0Mo.js → csp-stylesheet-DUSqfXvZ.js} +0 -0
  526. /package/dist/public/sdk/{events-1dzC4Ocx.js → events-D6l0_ugy.js} +0 -0
  527. /package/dist/public/sdk/{executeWorkerOperation-B-9JuL55.js → executeWorkerOperation-C9FOCCR7.js} +0 -0
  528. /package/dist/public/sdk/{jsonRpc-CHutSlC9.js → jsonRpc-BVDv1wfm.js} +0 -0
  529. /package/dist/public/sdk/{keccak-C9kCkZem.js → keccak-mS0Mejjx.js} +0 -0
  530. /package/dist/public/sdk/{normalization-DtruiNPw.js → normalization-B3i1-rPQ.js} +0 -0
  531. /package/dist/public/sdk/{prfCache-8Wm3etlV.js → prfCache-DEHaUPSW.js} +0 -0
  532. /package/dist/public/sdk/{profileAccountProjection-D01e10UY.js → profileAccountProjection-C5sNt-s2.js} +0 -0
  533. /package/dist/public/sdk/{promptText-Bz3YRl9D.js → promptText-bcKcsSka.js} +0 -0
  534. /package/dist/public/sdk/{registrationAuthMethodInput-BvbWl0y_.js → registrationAuthMethodInput-BR1WVbK3.js} +0 -0
  535. /package/dist/public/sdk/{sdkSentEvents-DUht3AOD.js → sdkSentEvents-DjOlKtdW.js} +0 -0
  536. /package/dist/public/sdk/{shared-DcHtE-D-.js → shared-CkHhXgFB.js} +0 -0
  537. /package/dist/public/sdk/{signer-worker-DlK58rEA.js → signer-worker-BNodGJKY.js} +0 -0
  538. /package/dist/public/sdk/{signerDomain-D-EUTlLK.js → signerDomain-BAsLT3XN.js} +0 -0
  539. /package/dist/public/sdk/{signingSessionSeal-DqbjG8c8.js → signingSessionSeal-BFOBKj-J.js} +0 -0
  540. /package/dist/public/sdk/{types-fJKfUgTi.js → types-C4OErbBf.js} +0 -0
  541. /package/dist/public/sdk/{walletIframeIdentity-Cz82I_Uh.js → walletIframeIdentity-CpgyEnKg.js} +0 -0
  542. /package/dist/public/sdk/{walletSessionFailure-CLUIF3Eh.js → walletSessionFailure-CxsVtroW.js} +0 -0
  543. /package/dist/public/sdk/{webauthnPromptCoordinator-CU9ag7vz.js → webauthnPromptCoordinator-npsSRD51.js} +0 -0
@@ -1,2 +1,2 @@
1
- import{c as e,t}from"./chains-gV2K9gA4.js";import{i as n}from"./base64-BmKR3UqU.js";import{o as r,r as i}from"./canonicalPrimitives-B6YMrI3W.js";import{a,c as o,r as s}from"./ecdsaChainTarget-DbLthshF.js";import{m as c,o as l}from"./sdkSentEvents-DUht3AOD.js";import{t as u}from"./jsonRpc-CHutSlC9.js";import{r as d}from"./types-DdzuHlAQ.js";import{i as f}from"./helpers-CXqXyyCU.js";import{r as p}from"./operationFingerprint-Bn0lUYlm.js";import{i as m}from"./trace-CGNqO1FV.js";import{t as h}from"./bytes-DVe42j_r.js";import{n as g,r as _,t as v}from"./normalization-DtruiNPw.js";import{a as y,i as b,n as x,r as S}from"./types-fJKfUgTi.js";import{T as C,a as w,g as T,i as ee,o as te,r as ne,s as re,t as ie,v as ae,w as oe,y as se}from"./requireStepUpAuth-B7tC4MrA.js";const ce=/^0x[0-9a-f]{40}$/,E=Object.freeze({"0x06fdde03":`name()`,"0x095ea7b3":`approve(address,uint256)`,"0x18160ddd":`totalSupply()`,"0x23b872dd":`transferFrom(address,address,uint256)`,"0x2e1a7d4d":`withdraw(uint256)`,"0x313ce567":`decimals()`,"0x42842e0e":`safeTransferFrom(address,address,uint256)`,"0x47e1da2a":`executeBatch(address[],uint256[],bytes[])`,"0x6352211e":`ownerOf(uint256)`,"0x70a08231":`balanceOf(address)`,"0x081812fc":`getApproved(uint256)`,"0x95d89b41":`symbol()`,"0xa22cb465":`setApprovalForAll(address,bool)`,"0xa9059cbb":`transfer(address,uint256)`,"0xb61d27f6":`execute(address,uint256,bytes)`,"0xb88d4fde":`safeTransferFrom(address,address,uint256,bytes)`,"0xd0e30db0":`deposit()`,"0xd505accf":`permit(address,address,uint256,uint256,uint8,bytes32,bytes32)`,"0xdd62ed3e":`allowance(address,address)`,"0xe985e9c5":`isApprovedForAll(address,address)`,"0xe7897444":`setUserToken(address)`,"0xf2fde38b":`transferOwnership(address)`}),D=Object.freeze({"0xbb442b54c85efba2d7b81ea52990ad638cdba483":Object.freeze({"0xa4136862":`setGreeting(string)`,"0xef690cc0":`greeting()`,"0x867ae9d4":`dripTo(address,address[])`}),"0xeb7ab5a6f761072c96147a54b8a15f012e836691":Object.freeze({"0xa4136862":`setGreeting(string)`,"0xcfae3217":`greet()`})});function O(e){let t=String(e||``).trim().toLowerCase();if(ce.test(t))return t}function k(e){return v(e)}function A(e,t){let n=_(e);if(!n)return;let r=O(t);if(r){let e=D[r];if(e&&e[n])return e[n]}return E[n]}function j(e,t){let n=A(e,t);if(n){let e=n.indexOf(`(`),t=(e>0?n.slice(0,e):n).trim();if(t)return`${t}()`}let r=_(e);if(r)return`function ${r}`}function le(e,t){let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function M(e){let t=g(e,{lowercase:!0});if(t===`0x`)return`data: 0x`;let n=t.slice(2);if(!n)return`data: 0x`;if(n.length<=8)return`data: 0x${n}`;let r=n.slice(0,8),i=le(n.slice(8),64);return[`data: 0x${r}`,...i].join(`
2
- `)}function N(e,t){let n=e/t,r=e%t;if(r===0n)return n.toString();let i=r*100n/t;if(i===0n)return n.toString();let a=i.toString().padStart(2,`0`).replace(/0+$/,``);return a?`${n.toString()}.${a}`:n.toString()}function P(e){return e>=1000000n?`${N(e,1000000n)}mil`:e>=1000n?`${N(e,1000n)}k`:e.toString()}function F(e){try{return JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t,2)}catch{return String(e)}}function I(e,t,n){let r=String(t??``).trim();if(r)return{label:e,value:r,...typeof n==`string`&&n.trim()?{copyValue:n}:{}}}function L(e){let t=g(e.dataHex);if(t!==`0x`&&!(!Array.isArray(e.abi)||e.abi.length===0))return{dataHex:t,abi:e.abi}}function R(e){let t=j(e.selector,e.to),n=!!e.to&&e.dataHex!==`0x`,r=P(e.tx.gasLimit),i=e.to?`Transaction to contract`:`Contract Deployment`,a=I(`Data`,M(e.dataHex),e.dataHex);a&&(a.renderAs=`file-content`,a.hideLabel=!0,a.hideChevron=!0);let o=[a,I(`Value (wei)`,e.valueWei)].filter(Boolean),s;if(n){let n={id:`evm.eip1559.call`,kind:`generic.contractCall`,label:`Calling ${t||`contract function`} using ${r} gas`,to:e.to,value:e.valueWei,selector:e.selector,fields:o},i=L({dataHex:e.dataHex,abi:e.tx.abi});i&&(n.abiDecodeHint=i),s=[n]}return{id:`evm.eip1559`,kind:`generic.contractCall`,label:i,to:e.to,value:e.valueWei,selector:e.selector,...s?{children:s}:{}}}function z(e){let t=e.request;if(t.kind!==`eip1559`)return{chain:`evm`,intentDigest:e.intentDigest,signerAccount:e.signerAccount,title:e.title||`EVM Transaction`,subtitle:e.subtitle,operations:[{id:`evm.raw`,kind:`raw.fallback`,label:`Unsupported EVM Payload`,raw:F(t)}],raw:{format:`json`,value:F(t)}};let n=t.tx,r=n.to==null?void 0:String(n.to).toLowerCase(),i=n.value.toString(),a=g(String(n.data||`0x`)),o=R({to:r,valueWei:i,tx:n,dataHex:a,selector:k(a)}),s=n.value>0n?n.value:void 0;return{chain:`evm`,chainId:n.chainId,intentDigest:e.intentDigest,signerAccount:e.signerAccount,title:e.title||`EVM Transaction`,subtitle:e.subtitle,operations:[o],...s==null?{}:{totals:{nativeValue:s.toString(),nativeSymbol:`wei`}}}}function B(e,t){let n=typeof e==`string`?e.trim():``;if(!/^0x[0-9a-fA-F]+$/.test(n))throw Error(`Invalid ${t} quantity`);return BigInt(n)}function V(e,t,n){let r=e[t];if(r!==void 0){if(r===null)return null;if(typeof r!=`string`)throw Error(`Invalid ${n} result: ${t}`);return r}}function H(e,t,n){let r=V(e,t,n);if(typeof r==`string`&&!/^0x[0-9a-fA-F]+$/.test(r))throw Error(`Invalid ${n} result: ${t}`);return r}function U(e,t,n){let r=V(e,t,n);if(typeof r==`string`&&!/^0x[0-9a-fA-F]{40}$/.test(r))throw Error(`Invalid ${n} result: ${t}`);return r}function W(e,t,n){let r=V(e,t,n);if(typeof r==`string`&&!/^0x(?:[0-9a-fA-F]{2})*$/.test(r))throw Error(`Invalid ${n} result: ${t}`);return r}function ue(e){if(e===null)return null;if(typeof e!=`object`||Array.isArray(e))throw Error(`Invalid eth_getTransactionReceipt result`);let t=e,n=W(t,`transactionHash`,`eth_getTransactionReceipt`);if(typeof n!=`string`||!/^0x[0-9a-fA-F]{64}$/.test(n))throw Error(`Invalid eth_getTransactionReceipt result: transactionHash`);let r=U(t,`from`,`eth_getTransactionReceipt`),i=H(t,`blockNumber`,`eth_getTransactionReceipt`),a=H(t,`status`,`eth_getTransactionReceipt`);if(typeof i!=`string`||typeof a!=`string`)throw Error(`Invalid eth_getTransactionReceipt result: missing blockNumber or status`);let o=H(t,`gasUsed`,`eth_getTransactionReceipt`),s=H(t,`effectiveGasPrice`,`eth_getTransactionReceipt`),c=H(t,`gasPrice`,`eth_getTransactionReceipt`);return{transactionHash:n,...r===void 0?{}:{from:r},blockNumber:i,status:a,...o===void 0?{}:{gasUsed:o},...s===void 0?{}:{effectiveGasPrice:s},...c===void 0?{}:{gasPrice:c}}}function de(e){if(e===null)return null;if(typeof e!=`object`||Array.isArray(e))throw Error(`Invalid eth_getBlockByNumber result`);let t=e,n=H(t,`number`,`eth_getBlockByNumber`),r=H(t,`baseFeePerGas`,`eth_getBlockByNumber`);return{...n===void 0?{}:{number:n},...r===void 0?{}:{baseFeePerGas:r}}}function fe(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`Invalid eth_getTransactionByHash result: calls`);let t=e,n=U(t,`to`,`eth_getTransactionByHash`),r=W(t,`input`,`eth_getTransactionByHash`),i=W(t,`data`,`eth_getTransactionByHash`),a=H(t,`value`,`eth_getTransactionByHash`);return{...n===void 0?{}:{to:n},...r===void 0?{}:{input:r},...i===void 0?{}:{data:i},...a===void 0?{}:{value:a}}}function pe(e){if(e===null)return null;if(typeof e!=`object`||Array.isArray(e))throw Error(`Invalid eth_getTransactionByHash result`);let t=e,n=H(t,`blockNumber`,`eth_getTransactionByHash`),r=U(t,`from`,`eth_getTransactionByHash`),i=H(t,`nonce`,`eth_getTransactionByHash`),a=U(t,`to`,`eth_getTransactionByHash`),o=W(t,`input`,`eth_getTransactionByHash`),s=H(t,`value`,`eth_getTransactionByHash`),c=t.calls;if(c!=null&&!Array.isArray(c))throw Error(`Invalid eth_getTransactionByHash result: calls`);let l=Array.isArray(c)?c.map(fe):c;return{...n===void 0?{}:{blockNumber:n},...r===void 0?{}:{from:r},...i===void 0?{}:{nonce:i},...a===void 0?{}:{to:a},...o===void 0?{}:{input:o},...s===void 0?{}:{value:s},...l===void 0?{}:{calls:l}}}function me(e){let t=e?.reason;if(t instanceof Error)return t;let n=String(t||``).trim()||`Operation aborted`,r=Error(n);return r.code=`aborted`,r}function G(e){if(e?.aborted)throw me(e)}async function he(e,t){G(t);let n=Math.max(0,Math.floor(Number(e)||0));await new Promise((e,r)=>{let i=null,a=()=>{i&&=(globalThis.clearTimeout(i),null),t?.removeEventListener(`abort`,o)},o=()=>{a(),r(me(t))};i=globalThis.setTimeout(()=>{a(),e()},n),t?.addEventListener(`abort`,o,{once:!0})})}function ge(e){let t=e/1000000000n,n=e%1000000000n;if(n===0n)return t.toString();let r=n.toString().padStart(9,`0`).replace(/0+$/,``);return`${t.toString()}.${r}`}function K(e){let t=String(e||``).trim();return/^0x[0-9a-fA-F]{40}$/.test(t)?t:null}function q(e){let t=String(e||``).trim();return/^0x[0-9a-fA-F]+$/.test(t)?t:null}function _e(e){let t=e.split(/[\s,]+/).map(e=>e.trim()).filter(Boolean).map(e=>new URL(e).toString());if(t.length===0)throw Error(`RPC URL is not configured`);return Array.from(new Set(t))}function J(e){let t=_e(String(e.rpcUrl||``).trim()),n=e.fetchImpl||fetch.bind(globalThis),r=Math.max(1,Math.floor(Number(e.requestTimeoutMs??15e3)||0)),i=async e=>{let i=Math.max(1,Math.floor(Number(e.timeoutMs??r)||0)),a=Date.now(),o=()=>Math.max(1,i-Math.max(0,Date.now()-a)),s=new AbortController,c=async e=>{let t=o(),n=null,r=!1;try{return await new Promise((a,o)=>{n=setTimeout(()=>{if(!r){r=!0;try{e.onTimeout?.()}catch{}o(Error(`${e.label} timed out after ${i}ms`))}},t),e.promise.then(e=>{r||(r=!0,n&&clearTimeout(n),a(e))},e=>{r||(r=!0,n&&clearTimeout(n),o(e))})})}finally{n&&clearTimeout(n)}},l=JSON.stringify({jsonrpc:`2.0`,id:Date.now(),method:e.method,params:e.params}),d=null,f=null;for(let[r,i]of t.entries()){let a=r<t.length-1;s=new AbortController;try{let t=await c({promise:n(i,{method:`POST`,headers:{"content-type":`application/json`},body:l,signal:s.signal}),label:`${e.method} request`,onTimeout:()=>{s.abort()}});if((t.status===429||t.status>=500)&&a){await t.body?.cancel();continue}d=t;break}catch(e){if(f=e,a)continue}}if(!d)throw f?.name===`AbortError`?Error(`${e.method} request timed out after ${i}ms`):f instanceof Error?f:Error(`RPC request failed`);if(d.status===429)throw Error(`RPC throttled; retry shortly`);if(!d.ok)throw Error(`RPC HTTP ${d.status}`);let p=u(await c({promise:d.json(),label:`${e.method} response`,onTimeout:()=>{s.abort();try{d.body?.cancel()}catch{}}}).catch(t=>{throw t?.name===`AbortError`?Error(`${e.method} response timed out after ${i}ms`):t}));if(!p.ok)throw Error(`Invalid ${e.method} response: ${p.error}`);let m=p.value;if(m.kind===`failure`){let t=String(m.error.message||`${e.method} failed`).trim(),n=m.error.code!==void 0&&m.error.code!==null?String(m.error.code).trim():``,r=m.error.data===void 0?``:(()=>{try{return JSON.stringify(m.error.data)}catch{return String(m.error.data)}})(),i=[t];n&&i.push(`code=${n}`),r&&i.push(`data=${r}`);let a=Error(i.join(` | `));throw n&&(a.code=n),m.error.data!==void 0&&(a.data=m.error.data),a.rpcMethod=e.method,a}return m.result},a=async e=>{let t=ue(await i({method:`eth_getTransactionReceipt`,params:[e.txHash],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}}));if(t&&t.transactionHash.toLowerCase()!==e.txHash.toLowerCase())throw Error(`Receipt transactionHash does not match the requested transaction`);return t},o=async e=>de(await i({method:`eth_getBlockByNumber`,params:[e.blockTag,!1],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}})),s=async e=>pe(await i({method:`eth_getTransactionByHash`,params:[e.txHash],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}})),c=async e=>B(await i({method:`eth_getTransactionCount`,params:[e.address,e.blockTag??`latest`],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}}),`eth_getTransactionCount`);return{request:i,getTransactionReceipt:a,getBlockByNumber:o,getTransactionByHash:s,getTransactionCount:c,waitForTransactionReceipt:async e=>{let t=Math.max(1,Math.floor(Number(e.timeoutMs??9e4)||0)),n=Math.max(1,Math.floor(Number(e.pollIntervalMs??1250)||0)),i=Math.max(1,Math.floor(Number(e.confirmations??1)||0)),l=Date.now()+t,u=Date.now(),d=Math.min(3e4,Math.max(n*3,Math.floor(t/3))),f=Math.min(15e3,Math.max(n*3,Math.floor(t/6))),p=Math.min(1e4,Math.max(n*3,Math.floor(t/5))),m=null,h=null,g=null,_=null,v=0,y=!1,b=0,x=0,S=0;for(K(e.transactionSenderAddress)&&(g=e.transactionSenderAddress),typeof e.nonceHint==`bigint`&&e.nonceHint>=0n&&(_=e.nonceHint);Date.now()<l;){G(e.signal);let C=null;try{let t=Math.max(1,l-Date.now());C=await a({txHash:e.txHash,timeoutMs:Math.min(r,t)}),m=null}catch(e){m=e instanceof Error?e.message:String(e)}if(C){let t=B(C.blockNumber,`receipt.blockNumber`);if(i<=1)return C;let a=Math.max(1,l-Date.now()),s=q((await o({blockTag:`latest`,timeoutMs:Math.min(r,a)}).catch(()=>null))?.number);if(s){let e=B(s,`latest.number`);if(e>=t&&e-t+1n>=BigInt(i))return C}await he(n,e.signal);continue}let w;if(g===null||_===null||!y){let t=Math.max(1,l-Date.now()),n=await s({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null);w=n;let i=K(n?.from),a=q(n?.nonce);if(i&&a){let e=B(a,`tx.nonce`);g===null&&(g=i),_===null&&(_=e),g.toLowerCase()===i.toLowerCase()&&_===e&&(y=!0,b=0,x=0)}}if(g&&_!==null){let t=g,n=_,m=e=>{let r=K(e?.from),i=q(e?.nonce);if(!r||!i||r.toLowerCase()!==t.toLowerCase())return!1;try{return B(i,`tx.nonce`)===n}catch{return!1}},h=Math.max(1,l-Date.now()),C=await c({address:g,blockTag:`latest`,timeoutMs:Math.min(r,h)}).catch(()=>null);if(C!==null&&C>_){let t=Math.max(1,l-Date.now()),n=w===void 0?await s({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null):w;w=n;let u=q(n?.blockNumber);if(m(n)&&(y=!0),u)v=0,b=0,x=0;else if(m(n))v=0,b=0,x=0;else{let e=Math.max(1,l-Date.now()),t=await c({address:g,blockTag:`pending`,timeoutMs:Math.min(r,e)}).catch(()=>null);t!==null&&t<=_?(v=0,x=0):(v+=1,x=0)}if(v>=2){let t=Math.max(1,l-Date.now()),n=await a({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null);if(n&&typeof n.blockNumber==`string`){let e=q(n.blockNumber);if(e){let t=B(e,`receipt.blockNumber`);if(i<=1)return n;let a=Math.max(1,l-Date.now()),s=q((await o({blockTag:`latest`,timeoutMs:Math.min(r,a)}).catch(()=>null))?.number);if(s){let e=B(s,`latest.number`);if(e>=t&&e-t+1n>=BigInt(i))return n}v=0}}if(v>=2){let e=Error(`Transaction dropped or replaced: account nonce advanced past tx nonce (${_.toString()} -> ${C.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`dropped`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_nonce_advanced`,e}}}else if(C!==null&&C<=_){if(v=0,C<_&&!y){let t=Math.max(1,l-Date.now()),n=w===void 0?await s({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null):w;if(w=n,m(n))y=!0,S=0,b=0,x=0;else{let e=Math.max(1,l-Date.now()),t=await c({address:g,blockTag:`pending`,timeoutMs:Math.min(r,e)}).catch(()=>null);t!==null&&t<=_?(S+=1,b=0,x=0):t!==null&&t>_?(S=0,b=0,x+=1):(S=0,b=0,x=0)}let i=Date.now()-u;if(S>=2&&i>=p){let e=Error(`Transaction dropped or queued behind a nonce gap: tx hash never became visible while account nonce stayed behind tx nonce (${C.toString()} < ${_.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`dropped`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_nonce_gap`,e}if(x>=2&&i>=f){let e=Error(`Transaction dropped or replaced: tx hash never became visible and pending nonce moved ahead of tx nonce (${_.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`replaced`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_hash_disappeared`,e}}if(y){let t=Math.max(1,l-Date.now()),n=w===void 0?await s({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null):w;if(w=n,m(n))b=0,x=0;else{let e=Math.max(1,l-Date.now()),t=await c({address:g,blockTag:`pending`,timeoutMs:Math.min(r,e)}).catch(()=>null);t!==null&&t<=_?x=0:t!==null&&t>_?x+=1:x=0}let i=Date.now()-u;if(x>=2&&i>=f){let e=Error(`Transaction dropped or replaced: tx hash disappeared and pending nonce moved ahead of tx nonce (${_.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`replaced`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_hash_disappeared`,e}}if(!y){let t=Math.max(1,l-Date.now()),n=w===void 0?await s({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null):w;if(w=n,m(n))y=!0,b=0,x=0;else{let e=Math.max(1,l-Date.now()),t=await c({address:g,blockTag:`pending`,timeoutMs:Math.min(r,e)}).catch(()=>null);t!==null&&t===_&&C===_?(b+=1,x=0):t!==null&&t>_?(b=0,x+=1):(b=0,x=0)}let i=Date.now()-u;if(b>=3&&i>=d){let e=Error(`Transaction dropped or replaced: tx hash never became visible to RPC pending pool at nonce ${_.toString()}.`);throw e.code=`tx_dropped_or_replaced`,e.reason=`dropped`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_hash_disappeared`,e}if(x>=2&&i>=f){let e=Error(`Transaction dropped or replaced: tx hash never became visible and pending nonce moved ahead of tx nonce (${_.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`replaced`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_hash_disappeared`,e}}}}if(typeof e.maxFeePerGasHint==`bigint`){let n=Math.max(1,l-Date.now()),i=await o({blockTag:`latest`,timeoutMs:Math.min(r,n)}).catch(()=>null),a=String(i?.baseFeePerGas||``).trim();if(/^0x[0-9a-fA-F]+$/.test(a)){let n=null;try{n=B(a,`baseFeePerGas`)}catch{n=null}if(n!==null&&n>e.maxFeePerGasHint){h===null&&(h=Date.now());let r=Math.min(3e4,Math.floor(t/3));if(Date.now()-h>=r){let t=Error(`Transaction pending due to underpriced fees: maxFeePerGas=${ge(e.maxFeePerGasHint)} gwei, latest baseFee=${ge(n)} gwei. Retry to re-sign with refreshed fee caps.`);throw t.finalizationBranch=`underpriced_fee`,t}}else h=null}}await he(n,e.signal)}G(e.signal);let C=m?`; last RPC error: ${m}`:``,w=Error(`Timed out waiting for tx receipt after ${t}ms${C}`);throw w.finalizationBranch=`timeout`,w}}}function ve(e){let t=o(e.subjectId),n=X(e.leaseId,`leaseId`),r=X(e.operationId,`operationId`),i=X(e.operationFingerprint,`operationFingerprint`),a={chainTarget:e.chainTarget,subjectId:t,sender:Re(e.sender),nonce:Y(e.nonce,`nonce`).toString(),leaseId:n,operationId:r,operationFingerprint:i};return e.nonceKey!=null&&(a.nonceKey=Y(e.nonceKey,`nonceKey`).toString()),Number.isSafeInteger(e.reservedAtMs)&&(a.reservedAtMs=e.reservedAtMs),Number.isSafeInteger(e.expiresAtMs)&&(a.expiresAtMs=e.expiresAtMs),a}function ye(e){if(!e||typeof e!=`object`)throw Error(`[evmNonceBackend] invalid managed nonce snapshot: object`);let t=Ie(e),n=o(e.subjectId??e.walletId),r=Re(e.sender),i=Y(e.nonce,`nonce`),a=e.nonceKey==null?void 0:Y(e.nonceKey,`nonceKey`),s=X(e.leaseId,`leaseId`),c=X(e.operationId,`operationId`),l=X(e.operationFingerprint,`operationFingerprint`),u=Be(e.reservedAtMs),d=Be(e.expiresAtMs);return{chainTarget:t,subjectId:n,sender:r,...a==null?{}:{nonceKey:a},nonce:i,leaseId:s,operationId:c,operationFingerprint:l,...u==null?{}:{reservedAtMs:u},...d==null?{}:{expiresAtMs:d}}}function be(e){let t={chainTarget:s({chain:e.chain,chainId:e.chainId,networkSlug:e.networkKey}),subjectId:o(e.walletId),sender:Re(e.sender)};return e.nonceKey!=null&&(t.nonceKey=Y(e.nonceKey,`nonceKey`)),t}const xe=15e3;function Se(e){return{async fetchChainNonce(t){let n=Fe(t);return await e.fetchChainNonce(n)},async fetchBroadcastTransactionStatus(t){let n=Fe(t);return await e.fetchBroadcastTransactionStatus({...n,txHash:ze(t.txHash)})}}}function Ce(e){let t=e.fetchImpl||fetch.bind(globalThis);return Se({fetchChainNonce:async n=>await Ee({chains:e.chains,input:n,fetchImpl:t}),fetchBroadcastTransactionStatus:async n=>await we({chains:e.chains,input:n,fetchImpl:t})})}async function we(e){let t=De(e.chains,e.input),n=await Te({rpcUrl:t,method:`eth_getTransactionReceipt`,params:[e.input.txHash],fetchImpl:e.fetchImpl});if(n&&typeof n==`object`)return{kind:`finalized`};let r=await Te({rpcUrl:t,method:`eth_getTransactionByHash`,params:[e.input.txHash],fetchImpl:e.fetchImpl});return r&&typeof r==`object`?{kind:`pending`}:{kind:`missing`}}async function Te(e){return await J({rpcUrl:e.rpcUrl,fetchImpl:e.fetchImpl,requestTimeoutMs:xe}).request({method:e.method,params:e.params})}async function Ee(e){return Ve(await J({rpcUrl:De(e.chains,e.input),fetchImpl:e.fetchImpl,requestTimeoutMs:xe}).request({method:`eth_getTransactionCount`,params:[e.input.sender,`pending`]}),`eth_getTransactionCount`)}function De(e,n){let r=n.chain,i=n.chainId,a=String(n.networkKey||``).trim().toLowerCase(),o=e=>e.filter(e=>{let t=Me(e);return typeof t==`number`&&t===i}),s=e=>e.filter(e=>String(e.network||``).trim().toLowerCase()===a),c=e.filter(e=>Oe(e));if(!c.length)throw Error(`[evmNonceBackend] missing RPC config for nonce-enabled chains`);let l=s(c);if(l.length===1){let e=l[0];return je({chain:e,requestedChain:r,networkKey:n.networkKey,chainId:i}),Ae({chain:e,chainId:i,networkKey:n.networkKey}),Pe(e.rpcUrl,e.network)}if(l.length>1){let e=o(l).filter(e=>ke(e,r));if(e.length===1){let t=e[0];return Pe(t.rpcUrl,t.network)}throw Error(`[evmNonceBackend] ambiguous networkKey mapping for ${n.networkKey} (chainId=${String(i)})`)}let u=o(c),d=u.filter(e=>ke(e,r));if(d.length===1){let e=d[0];return Pe(e.rpcUrl,e.network)}if(d.length>1){let e=d.map(e=>String(e.network||``).trim()).join(`, `);throw Error(`[evmNonceBackend] ambiguous chainId routing for ${r} chainId=${String(i)} across [${e}]`)}if(u.length>0){let e=Array.from(new Set(u.map(e=>t(e.network))));throw Error(`[evmNonceBackend] chainId=${String(i)} is configured for [${e.join(`, `)}] but is incompatible with ${r} routing`)}throw Error(`[evmNonceBackend] unable to resolve RPC URL for ${r} ${n.networkKey} (chainId=${String(i)})`)}function Oe(e){let n=t(e.network);return n===`evm`||n===`tempo`}function ke(e,n){let r=t(e.network);return n===`tempo`?r===`tempo`:r===`evm`||r===`tempo`}function Ae(e){let t=Me(e.chain);if(typeof t!=`number`)throw Error(`[evmNonceBackend] configured network ${e.chain.network} is missing numeric chainId`);if(t!==e.chainId)throw Error(`[evmNonceBackend] chainId mismatch for network ${e.networkKey}: expected ${t}, received ${String(e.chainId)}`)}function je(e){if(ke(e.chain,e.requestedChain))return;let n=t(e.chain.network);throw Error(`[evmNonceBackend] network ${e.networkKey} (family=${n}) is incompatible with ${e.requestedChain} request (chainId=${String(e.chainId)})`)}function Me(e){return Ne(e)?e.chainId:void 0}function Ne(e){return t(e.network)!==`near`}function Pe(e,t){let n=String(e||``).trim();if(!n)throw Error(`[evmNonceBackend] missing rpcUrl for ${t}`);return n}function Fe(e){let t=e.chainTarget.kind;if(t!==`evm`&&t!==`tempo`)throw Error(`[evmNonceBackend] invalid chain '${String(t)}'`);let n=String(e.chainTarget.networkSlug||``).trim().toLowerCase();if(!n)throw Error(`[evmNonceBackend] networkKey is required`);return{chain:t,networkKey:n,chainId:e.chainTarget.chainId,sender:Le(e.sender,`sender`),nonceKey:t===`tempo`?Y(e.nonceKey,`nonceKey`):0n,walletId:String(o(e.subjectId))}}function Ie(e){if(e.chainTarget)return a(e.chainTarget);let t=e.chain;if(t!==`evm`&&t!==`tempo`)throw Error(`[evmNonceBackend] invalid managed nonce snapshot: chain`);let n=String(e.networkKey||``).trim();if(!n)throw Error(`[evmNonceBackend] invalid managed nonce snapshot: networkKey`);let r=e.chainId;if(typeof r!=`number`||!Number.isSafeInteger(r)||r<=0)throw Error(`[evmNonceBackend] invalid managed nonce snapshot: chainId`);return s({chain:t,chainId:r,networkSlug:n})}function Le(e,t){let n=String(e||``).trim().toLowerCase();if(!/^0x[0-9a-f]{40}$/.test(n))throw Error(`[evmNonceBackend] invalid ${t}: expected 20-byte 0x-prefixed hex`);return n}function Re(e){return Le(e,`sender`)}function ze(e){let t=String(e||``).trim().toLowerCase();if(!/^0x[0-9a-f]{64}$/.test(t))throw Error(`[evmNonceBackend] invalid txHash: expected 32-byte 0x-prefixed hex`);return t}function Y(e,t){try{let n=BigInt(e);if(n<0n)throw Error(`[evmNonceBackend] ${t} must be non-negative`);return n}catch{throw Error(`[evmNonceBackend] invalid ${t}: expected bigint-compatible value`)}}function X(e,t){let n=String(e||``).trim();if(!n)throw Error(`[evmNonceBackend] invalid managed nonce snapshot: ${t}`);return n}function Be(e){if(e==null)return;let t=Math.floor(Number(e));return Number.isSafeInteger(t)?t:void 0}function Ve(e,t){let n=String(e||``).trim();if(!/^0x[0-9a-fA-F]+$/.test(n))throw Error(`[evmNonceBackend] invalid ${t} result: expected hex quantity`);return BigInt(n)}function He(e){return e.kind===`required`?e.authPlan.signingAuthPlan:void 0}async function Ue(e){let t=He(e.thresholdEcdsaStepUp),n=e.thresholdEcdsaStepUp.kind===`required`?e.thresholdEcdsaStepUp.runtime:void 0,r=n?.reusableAuthorization??{kind:`active`},i=We({signingAuthPlan:t,hasEmailOtpSigning:!!n?.emailOtpSigning,hasThresholdEcdsaRequest:e.hasThresholdEcdsaRequest,needsWebAuthn:e.needsWebAuthn,reusableAuthorization:r});if(!i)throw Error(`[chains] ${e.explicitAuthErrorLabel} signing requires explicit auth input`);let a=await ie({operation:{kind:`evm_family_threshold_ecdsa_step_up`,usesNeeded:Math.max(1,Math.floor(Number(e.requiredSignatureUses)||1))},selectedLane:i,policy:Ge(t,r),methods:{...n?.emailOtpSigning?{emailOtp:{method:`email_otp`,prepareChallenge:n.emailOtpSigning.prepare,...n.emailOtpSigning.resend?{resendChallenge:n.emailOtpSigning.resend}:{},complete:async()=>void 0}}:{},passkey:{method:`passkey`,prepare:async()=>({}),complete:async()=>void 0}}});if(a.method===`warm_session`){if(!t||!Ke(t))throw Error(`[chains] warm-session step-up requires an existing warm-session plan`);return{kind:`warm_session`,confirmationAuthPayload:{signingAuthPlan:t}}}if(a.method===`email_otp`){let e=qe({signingAuthPlan:t,prepared:a});if(!S(e))throw Error(`[chains] Email OTP step-up requires an Email OTP signing auth plan`);return{kind:`email_otp`,confirmationAuthPayload:{signingAuthPlan:e},emailOtpPrompt:a.prompt}}let o=qe({signingAuthPlan:t,prepared:a});if(!b(o))throw Error(`[chains] passkey step-up requires a passkey signing auth plan`);return{kind:`passkey`,confirmationAuthPayload:{signingAuthPlan:o}}}function We(e){return e.reusableAuthorization.kind===`absent`?{authMethod:e.reusableAuthorization.requiredFactor}:e.signingAuthPlan?S(e.signingAuthPlan)?{authMethod:`email_otp`}:b(e.signingAuthPlan)?{authMethod:`passkey`}:{authMethod:e.signingAuthPlan.method}:e.hasEmailOtpSigning?{authMethod:`email_otp`}:!e.hasThresholdEcdsaRequest&&e.needsWebAuthn?{authMethod:`passkey`}:null}function Ge(e,t){if(t.kind===`absent`)return{kind:`use_selected_lane`};if(e&&y(e)){if(e.curve!==`ecdsa`)throw Error(`[chains] EVM-family warm-session step-up requires an ECDSA auth plan`);return{kind:`reuse_warm_session`,authorization:{method:e.method,curve:`ecdsa`,materialActivation:e.materialActivation,authorization:e.authorization,expiresAtMs:e.expiresAtMs,remainingUses:e.remainingUses}}}return{kind:`use_selected_lane`}}function Ke(e){return y(e)&&e.curve===`ecdsa`}function qe(e){if(e.signingAuthPlan)return e.prepared.method===`email_otp`?{kind:`emailOtpReauth`,method:`email_otp`,emailOtpPrompt:e.prepared.prompt}:e.prepared.method===`passkey`&&!b(e.signingAuthPlan)?{kind:`passkeyReauth`,method:`passkey`}:e.signingAuthPlan;if(e.prepared.method===`email_otp`)return{kind:`emailOtpReauth`,method:`email_otp`,emailOtpPrompt:e.prepared.prompt};if(e.prepared.method===`passkey`)return{kind:`passkeyReauth`,method:`passkey`};throw Error(`[chains] warm-session step-up requires an existing signing auth plan`)}function Je(e){return{kind:`warm_session`,signingAuthPlan:e.signingAuthPlan,materialActivation:e.signingAuthPlan.materialActivation,authorization:e.signingAuthPlan.authorization,expiresAtMs:e.signingAuthPlan.expiresAtMs,remainingUses:e.signingAuthPlan.remainingUses}}function Ye(e){return{kind:`email_otp`,signingAuthPlan:e.signingAuthPlan,challengeId:$e(e.confirmation.emailOtpChallengeId,e.prompt,`EVM-family step-up authorization`),otpCode:Qe(e.confirmation.otpCode),...e.prompt.emailHint?{emailHint:e.prompt.emailHint}:{}}}function Xe(e){if(!e.confirmation.credential)throw Error(`[chains] missing WebAuthn credential for EVM-family step-up authorization`);return{kind:`passkey`,signingAuthPlan:e.signingAuthPlan,credential:f(e.confirmation.credential)}}function Ze(e){if(e.prepared.kind===`active_wallet_authority`)throw Error(`[chains] active Wallet Authority confirmation has no threshold step-up`);return e.prepared.kind===`warm_session`?Je({signingAuthPlan:e.prepared.confirmationAuthPayload.signingAuthPlan}):e.prepared.kind===`email_otp`?Ye({signingAuthPlan:e.prepared.confirmationAuthPayload.signingAuthPlan,prompt:e.prepared.emailOtpPrompt,confirmation:e.confirmation}):Xe({signingAuthPlan:e.prepared.confirmationAuthPayload.signingAuthPlan,confirmation:e.confirmation})}function Qe(e){let t=String(e||``).trim();if(!/^\d{6}$/.test(t))throw Error(`[chains] missing Email OTP code from touchConfirm`);return t}function $e(e,t,n){let r=String(e||t.challengeId||``).trim();if(!r)throw Error(`[chains] missing Email OTP challenge id for ${n}`);return r}const et=`AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`,tt=`pending-intent-digest`,Z=new Map;function nt(e){return String(e||``).trim()}function rt(e){let t=nt(e.requestId);t&&Z.set(t,e.preparation)}function it(e){let t=nt(e);if(!t)return;let n=Z.get(t);if(n)return Z.delete(t),n}function at(e){let t=nt(e);t&&Z.delete(t)}var Q=class extends Error{superseded;constructor(e){super(`[chains] threshold ECDSA material was superseded (${e.supersessionKind}): prepared ${String(e.preparedMaterialActivation.activationId)}, current ${String(e.currentMaterialActivation.activationId)}`),this.name=`EvmFamilyEcdsaMaterialSupersededError`,this.superseded=e}};function ot(e){return e instanceof Q}function st(e){return e.curve===`ed25519`?{curve:e.curve,thresholdSessionId:e.thresholdSessionId,expiresAtMs:e.expiresAtMs,remainingUses:e.remainingUses}:{curve:e.curve,materialActivationId:String(e.materialActivation.activationId),expiresAtMs:e.expiresAtMs,remainingUses:e.remainingUses}}function ct(e){switch(e.kind){case`material_for_step_up`:return e.material;case`material_from_canonical_capability`:case`material_from_step_up`:return e.material.signerSession}}function lt(e){return typeof e?.signReady==`function`}async function ut(t){let a=String(t.operationFingerprint||``).trim();if(!a)throw Error(`[chains] exact EVM signing operation fingerprint digest is required`);return{laneDigest:p(d.signingOperationFingerprint(a)),intentDigest:i(n(t.signingDigest32)),displayDigest:await r(e(t.displayModel))}}function dt(e){return{intentDigest:e.intentDigestHex,challengeB64u:e.challengeB64u,displayModel:e.displayModel}}function ft(e,t){return String(e.laneDigest)===String(t.laneDigest)&&String(e.intentDigest)===String(t.intentDigest)&&String(e.displayDigest)===String(t.displayDigest)}function pt(e){if(e.prepared.operation!==e.operation)throw Error(`[chains] prepared ECDSA operation step-up does not match the operation being signed`);if(!ft(e.prepared.operationDigests,e.operationDigests))throw Error(`[chains] prepared ECDSA operation step-up digest drift`)}function mt(e){if(!e.prepared)throw Error(`[chains] passkey ECDSA step-up requires an operation prepared before confirmation`);let t=String(e.prepared.prepared.challengeB64u||``).trim();if(!t||t!==String(e.challengeB64u||``).trim())throw Error(`[chains] passkey ECDSA step-up challenge does not match the prepared operation`);return t}function $(e){throw Error(`[chains] unsupported EVM-family signing authorization: ${String(e)}`)}async function ht(e){switch(e.authorization.kind){case`active_wallet_authority`:return{kind:`active_wallet_authority`,confirmationAuthPayload:{signingAuthPlan:e.authorization.confirmationAuthPlan}};case`owner`:return await Ue({thresholdEcdsaStepUp:e.thresholdEcdsaStepUp,hasThresholdEcdsaRequest:e.hasThresholdEcdsaRequest,needsWebAuthn:e.needsWebAuthn,requiredSignatureUses:e.requiredSignatureUses,explicitAuthErrorLabel:e.explicitAuthErrorLabel});default:return $(e.authorization)}}function gt(e){if(e.input.authorization.kind!==`active_wallet_authority`)throw Error(`[chains] pending active Wallet Authority confirmation requires exact authorization`);return{ctx:{touchConfirm:e.input.touchConfirm},sessionId:e.sessionId,chain:e.config.targetKind,kind:`intentDigest`,signingSubject:{kind:`evm_wallet`,walletId:e.input.walletId},signingAuthPlan:e.input.authorization.confirmationAuthPlan,challengeB64u:et,intentDigest:tt,displayModel:e.config.buildDisplayModel({request:e.input.request,signerAccount:e.input.walletId,title:e.config.title,subtitle:e.config.body}),title:e.config.title,body:e.config.body,confirmationConfigOverride:e.input.confirmationConfigOverride}}async function _t(e){let t=String(e.operation.intent.operationId);m(t,`material_queue`,e.queuedAt);let n=performance.now(),r=await e.resolveMaterial(e.request,e.operation,e.operationDigests);return m(t,`material_authorization`,n),await e.engine.signReady(e.request,r.material,e.operation,e.operationDigests)}async function vt(e){let{config:t,input:r}=e,i=w(`intent`),a=`signing:${t.flowName}:${r.walletId}:${i}`,o=r.request.senderSignatureAlgorithm===`secp256k1`,s=r.thresholdEcdsaStepUp,u=s.kind===`not_required`?void 0:s.runtime,d=He(s),p=r.authorization.kind===`owner`&&s.kind===`required`&&(s.runtime.reusableAuthorization.kind===`absent`||!y(s.authPlan.signingAuthPlan));if(o&&!d)switch(r.authorization.kind){case`owner`:throw Error(`[chains] threshold ECDSA transaction signing requires an explicit auth plan`);case`active_wallet_authority`:break;default:$(r.authorization)}let g=d??(r.authorization.kind===`active_wallet_authority`?r.authorization.confirmationAuthPlan:null),_=g?re(g):`passkey`,v=e=>{try{r.onEvent?.(c({...e,flowId:a,walletId:r.walletId,authMethod:_}))}catch{}},b=new Set,S=e=>{if(!b.has(e)){b.add(e);try{u?.onAuthSideEffectStarted?.(e)}catch{}}},ie=e=>{e.phase===`auth.passkey.prompt.started`&&S(`passkey_reauth`);let t=te(e,_);t&&v(t)},ce=async(e,t)=>{let n=async e=>{await t[e]?.()};if(!r.signingSessionPlan){await C({commands:e,execute:n});return}let i=await oe({steps:ae(se({sessionPlan:r.signingSessionPlan,operation:r.signingOperation||null,commands:e})),executor:{execute:async e=>{await n(e.kind)}},onTransition:r.onSigningOperationTransition});if(!i.ok)throw i.error;if(i.finalState.kind===`failed`)throw Error(i.finalState.reason)},E=t.webauthn.kind===`supported`&&t.webauthn.requestNeedsWebAuthn(r.request),D=r.request,O=null,k=!1,A=!1,j=s.kind===`required`?s.operation:null,le=async()=>{if(j)return j;throw Error(`[chains] threshold ECDSA transaction signing requires an operation`)},M=async()=>{if(!(k||!O||!r.releaseNonceReservation)){k=!0;try{await r.releaseNonceReservation(O)}catch{}}},N=async()=>{if(!O)return;let e=String(O.leaseId||``).trim(),n=String(O.operationId||``).trim(),i=String(O.operationFingerprint||``).trim();if(!e||!n||!i)throw Error(`[chains] managed ${t.nonceErrorLabel} nonce reservation is missing lease metadata`);await r.ctx.nonceCoordinator.markSigned({leaseId:e,operationId:n,operationFingerprint:i})},P=null,F=null,I=(async()=>{if(r.prepareRequestWithManagedNonce){let e=await r.prepareRequestWithManagedNonce();D=e.request,O=e.reservation}let e=await t.buildIntent({workerCtx:r.workerCtx,request:D});t.webauthn.kind===`supported`&&t.webauthn.validateIntent(e);let i=e.signRequests[0];if(!i)throw Error(`[chains] signing intent has no sign requests`);let a=ee(i),o=h(a),s=t.buildDisplayModel({request:D,intentDigest:o,signerAccount:r.walletId,title:t.title,subtitle:t.body}),c=n(a);if(p&&i.algorithm===`secp256k1`&&u&&j&&r.resolveEcdsaSigningMaterialPlan){let e=await ut({operationFingerprint:r.signingOperation?.operationFingerprint,signingDigest32:ee(i),displayModel:s}),t=await r.resolveEcdsaSigningMaterialPlan();switch(t.kind){case`ready`:P=t.value;break;case`authorization_required`:P=t.requirement;break;case`superseded`:throw new Q(t.replacement);case`failed`:throw Error(`[chains] threshold ECDSA material is unavailable: ${t.failure.reason}`)}let n=P;if(!n)throw Error(`[chains] ECDSA preparation did not produce signing material`);let a=await u.operationStepUp.prepare({operation:j,operationDigests:e,material:ct(n)});F={prepared:a,operation:j,operationDigests:e},c=a.challengeB64u}return{intent:e,challengeB64u:c,intentDigestHex:o,displayModel:s}})();r.authorization.kind===`active_wallet_authority`&&rt({requestId:i,preparation:I.then(dt)});let L=null,R=null,z=null,B=null,V=!1,H=null,U=async(e,t,n)=>{if(r.resolveEcdsaSigningMaterialPlan){let e=await r.resolveEcdsaSigningMaterialPlan();switch(e.kind){case`ready`:P=e.value;break;case`authorization_required`:P=e.requirement;break;case`superseded`:throw new Q(e.replacement);case`failed`:throw Error(`[chains] threshold ECDSA material is unavailable: ${e.failure.reason}`)}}let i=P;if(!i)throw Error(`[chains] missing ready threshold ECDSA material for secp256k1 signing`);if(!R||R.kind===`warm_session`){if(i.kind===`material_for_step_up`)throw Error(`[chains] auth-neutral ECDSA material reached signing without a same-method step-up`);return i}if(!u)throw Error(`[chains] ECDSA operation step-up runtime is unavailable`);let a=F;if(!a)throw Error(`[chains] ECDSA step-up signing requires an operation prepared before confirmation`);return pt({prepared:a,operation:t,operationDigests:n}),{kind:`material_from_step_up`,material:await u.operationStepUp.authorize({authorization:R,prepared:a.prepared,material:ct(i)})}},W=async()=>{if(r.authorization.kind===`active_wallet_authority`){v({phase:l.STEP_05_CONFIRMATION_DISPLAYED,status:`waiting_for_user`,interaction:{kind:`transaction_confirmation`,overlay:`show`}}),r.onConfirmationDisplayed?.();let e=gt({config:t,input:r,sessionId:i});z=await ne({runtime:r.touchConfirm,request:e})(),B=await I,V=B.intent.signRequests.some(e=>e.algorithm===`secp256k1`);let n=await ht({authorization:r.authorization,thresholdEcdsaStepUp:s,hasThresholdEcdsaRequest:o,needsWebAuthn:E,requiredSignatureUses:t.requiredSignatureUsesForRequest(r.request),explicitAuthErrorLabel:t.explicitAuthErrorLabel});if(!y(n.confirmationAuthPayload.signingAuthPlan)&&!x(n.confirmationAuthPayload.signingAuthPlan))throw Error(`[chains] active Wallet Authority signing requires a session auth plan`);L=n;let a=n.confirmationAuthPayload.signingAuthPlan;v({phase:l.STEP_06_AUTH_WARM_SESSION_CLAIMED,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},data:x(a)?{walletSessionId:String(a.walletSessionId),expiresAtMs:a.expiresAtMs,authorityId:String(a.authorityId),authMethodId:String(a.authMethodId)}:st(a)}),S(`auth_confirmed`),v({phase:l.STEP_05_CONFIRMATION_APPROVED,status:`succeeded`,interaction:{kind:`transaction_confirmation`,overlay:`hide`}});return}B=await I,V=B.intent.signRequests.some(e=>e.algorithm===`secp256k1`),v({phase:l.STEP_05_CONFIRMATION_DISPLAYED,status:`waiting_for_user`,interaction:{kind:`transaction_confirmation`,overlay:`show`}}),r.onConfirmationDisplayed?.();let e=await ht({authorization:r.authorization,thresholdEcdsaStepUp:s,hasThresholdEcdsaRequest:o,needsWebAuthn:E,requiredSignatureUses:t.requiredSignatureUsesForRequest(r.request),explicitAuthErrorLabel:t.explicitAuthErrorLabel});L=e;let n=e.confirmationAuthPayload;if(y(n.signingAuthPlan)||x(n.signingAuthPlan)){let e=n.signingAuthPlan;v({phase:l.STEP_06_AUTH_WARM_SESSION_CLAIMED,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},data:x(e)?{walletSessionId:String(e.walletSessionId),expiresAtMs:e.expiresAtMs,authorityId:String(e.authorityId),authMethodId:String(e.authMethodId)}:st(e)})}let a={ctx:{touchConfirm:r.touchConfirm},sessionId:i,chain:t.targetKind,kind:`intentDigest`,signingSubject:{kind:`evm_wallet`,walletId:r.walletId},challengeB64u:B.challengeB64u,intentDigest:B.intentDigestHex,displayModel:B.displayModel,title:t.title,body:t.body,onProgress:ie,confirmationConfigOverride:r.confirmationConfigOverride},c=e.kind===`passkey`?{...a,...e.confirmationAuthPayload,webauthnChallenge:{kind:`intent_digest`,challengeB64u:mt({prepared:F,challengeB64u:B.challengeB64u})}}:e.kind===`email_otp`?{...a,...e.confirmationAuthPayload,emailOtpPrompt:e.emailOtpPrompt}:{...a,...e.confirmationAuthPayload};z=await ne({runtime:r.touchConfirm,request:c})();let u=z;if(!u)throw Error(`[chains] signing confirmation did not produce a decision`);switch(S(`auth_confirmed`),r.authorization.kind){case`owner`:R=Ze({prepared:e,confirmation:u});break;default:$(r.authorization)}v({phase:l.STEP_05_CONFIRMATION_APPROVED,status:`succeeded`,interaction:{kind:`transaction_confirmation`,overlay:`hide`}})},ue=async()=>{if(!B)throw Error(`[chains] signing intent must be prepared before threshold admission`);if(!z)throw Error(`[chains] signing confirmation is required before threshold admission`);if(!L)throw Error(`[chains] signing auth payload is required before threshold admission`);switch(r.authorization.kind){case`owner`:if(!R)throw Error(`[chains] signing step-up authorization is required before threshold admission`);if(V&&!j)throw Error(`[chains] threshold ECDSA operation must be prepared before signing`);break;case`active_wallet_authority`:break;default:$(r.authorization)}},de=async()=>{let e=performance.now();if(!B)throw Error(`[chains] signing intent must be prepared before signing`);if(!z)throw Error(`[chains] signing confirmation must complete before signing`);let n=B.intent;V&&v({phase:l.STEP_10_COMMIT_STARTED,status:`running`,interaction:{kind:`none`,overlay:`none`}});let a=[];for(let e of n.signRequests){let n;if(e.kind===`webauthn`){if(t.webauthn.kind!==`supported`)throw Error(`[chains] WebAuthn signing is not supported for this chain`);if(!z.credential)throw Error(`[chains] missing WebAuthn credential from touchConfirm`);n=(await t.webauthn.resolveKeyRef({ctx:r.ctx,walletId:r.walletId,workerCtx:r.workerCtx,signReq:e,credential:f(z.credential)})).keyRef}else if(e.algorithm===`secp256k1`){let t=await ut({operationFingerprint:r.signingOperation?.operationFingerprint,signingDigest32:e.digest32,displayModel:B.displayModel});switch(r.authorization.kind){case`active_wallet_authority`:{let n=r.signingOperation?.operationId;if(!n)throw Error(`[chains] active Wallet Authority ECDSA signing requires an operation id`);a.push(await r.authorization.sign({requestId:i,operationId:String(n),operationDigests:t,signingDigest32:e.digest32}));continue}case`owner`:break;default:$(r.authorization)}let n=await le(),o=r.engines.secp256k1;if(!o)throw Error(`[chains] missing engine for algorithm: ${e.algorithm}`);if(!lt(o))throw Error(`[chains] secp256k1 signing engine requires ready material support`);if(!r.runEcdsaMaterialUse)throw Error(`[chains] secp256k1 signing requires exact material serialization`);a.push(await r.runEcdsaMaterialUse(_t.bind(void 0,{request:e,engine:o,operation:n,operationDigests:t,queuedAt:performance.now(),resolveMaterial:U})));continue}else throw Error(`[chains] unsupported ${t.explicitAuthErrorLabel} signing algorithm: ${e.algorithm}`);let o=r.engines.webauthnP256;if(!o)throw Error(`[chains] missing engine for algorithm: ${e.algorithm}`);a.push(await o.sign(e,n))}let o=performance.now();H=await n.finalize(a),A=!0,await N();let s=null;j?s=String(j.intent.operationId):r.authorization.kind===`active_wallet_authority`&&r.signingOperation&&(s=String(r.signingOperation.operationId)),s!==null&&(m(s,`transaction_assembly`,o),m(s,`commit_total`,e)),v({phase:l.STEP_11_TRANSACTION_SIGNED,status:`succeeded`,interaction:{kind:`none`,overlay:`hide`}}),v({phase:l.STEP_15_COMPLETED,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},data:{operation:`sign`}})};try{if(await ce([T.ShowConfirmation,T.PreparePayload,T.Sign],{[T.ShowConfirmation]:W,[T.PreparePayload]:ue,[T.Sign]:de}),!H)throw Error(`[chains] signing operation completed without a signed result`);let e=H;return O?{...e,managedNonce:ve(O)}:e}catch(e){throw A||(O?await M():r.releaseNonceReservation&&await I.then(async()=>{await M()}).catch(()=>void 0)),e}}export{k as _,tt as a,Ce as c,J as d,B as f,j as g,M as h,et as i,ye as l,P as m,ot as n,at as o,z as p,vt as r,it as s,Q as t,be as u};
1
+ import{t as e}from"./digests-BIaE0DMd.js";import{i as t}from"./base64-BmKR3UqU.js";import{t as n}from"./chains-B72I4PDH.js";import{o as r,r as i}from"./canonicalPrimitives-Jd3i_Ngz.js";import{a,c as o,r as s}from"./ecdsaChainTarget-Bm5X4k-V.js";import{m as c,o as l}from"./sdkSentEvents-DjOlKtdW.js";import{t as u}from"./jsonRpc-BVDv1wfm.js";import{r as d}from"./types-f7dyj5N6.js";import{i as f}from"./helpers-Dubwo5uK.js";import{r as p}from"./operationFingerprint-Bas59T7L.js";import{i as m}from"./trace--mRP2OQc.js";import{t as h}from"./bytes-DXo6uALR.js";import{n as g,r as _,t as v}from"./normalization-B3i1-rPQ.js";import{a as y,i as b,n as x,r as S}from"./types-C4OErbBf.js";import{T as C,a as w,g as T,i as ee,o as te,r as ne,s as re,t as ie,v as ae,w as oe,y as se}from"./requireStepUpAuth-COqCGb1i.js";const ce=/^0x[0-9a-f]{40}$/,E=Object.freeze({"0x06fdde03":`name()`,"0x095ea7b3":`approve(address,uint256)`,"0x18160ddd":`totalSupply()`,"0x23b872dd":`transferFrom(address,address,uint256)`,"0x2e1a7d4d":`withdraw(uint256)`,"0x313ce567":`decimals()`,"0x42842e0e":`safeTransferFrom(address,address,uint256)`,"0x47e1da2a":`executeBatch(address[],uint256[],bytes[])`,"0x6352211e":`ownerOf(uint256)`,"0x70a08231":`balanceOf(address)`,"0x081812fc":`getApproved(uint256)`,"0x95d89b41":`symbol()`,"0xa22cb465":`setApprovalForAll(address,bool)`,"0xa9059cbb":`transfer(address,uint256)`,"0xb61d27f6":`execute(address,uint256,bytes)`,"0xb88d4fde":`safeTransferFrom(address,address,uint256,bytes)`,"0xd0e30db0":`deposit()`,"0xd505accf":`permit(address,address,uint256,uint256,uint8,bytes32,bytes32)`,"0xdd62ed3e":`allowance(address,address)`,"0xe985e9c5":`isApprovedForAll(address,address)`,"0xe7897444":`setUserToken(address)`,"0xf2fde38b":`transferOwnership(address)`}),D=Object.freeze({"0xbb442b54c85efba2d7b81ea52990ad638cdba483":Object.freeze({"0xa4136862":`setGreeting(string)`,"0xef690cc0":`greeting()`,"0x867ae9d4":`dripTo(address,address[])`}),"0xeb7ab5a6f761072c96147a54b8a15f012e836691":Object.freeze({"0xa4136862":`setGreeting(string)`,"0xcfae3217":`greet()`})});function O(e){let t=String(e||``).trim().toLowerCase();if(ce.test(t))return t}function k(e){return v(e)}function A(e,t){let n=_(e);if(!n)return;let r=O(t);if(r){let e=D[r];if(e&&e[n])return e[n]}return E[n]}function j(e,t){let n=A(e,t);if(n){let e=n.indexOf(`(`),t=(e>0?n.slice(0,e):n).trim();if(t)return`${t}()`}let r=_(e);if(r)return`function ${r}`}function le(e,t){let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function M(e){let t=g(e,{lowercase:!0});if(t===`0x`)return`data: 0x`;let n=t.slice(2);if(!n)return`data: 0x`;if(n.length<=8)return`data: 0x${n}`;let r=n.slice(0,8),i=le(n.slice(8),64);return[`data: 0x${r}`,...i].join(`
2
+ `)}function N(e,t){let n=e/t,r=e%t;if(r===0n)return n.toString();let i=r*100n/t;if(i===0n)return n.toString();let a=i.toString().padStart(2,`0`).replace(/0+$/,``);return a?`${n.toString()}.${a}`:n.toString()}function P(e){return e>=1000000n?`${N(e,1000000n)}mil`:e>=1000n?`${N(e,1000n)}k`:e.toString()}function F(e){try{return JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t,2)}catch{return String(e)}}function I(e,t,n){let r=String(t??``).trim();if(r)return{label:e,value:r,...typeof n==`string`&&n.trim()?{copyValue:n}:{}}}function L(e){let t=g(e.dataHex);if(t!==`0x`&&!(!Array.isArray(e.abi)||e.abi.length===0))return{dataHex:t,abi:e.abi}}function R(e){let t=j(e.selector,e.to),n=!!e.to&&e.dataHex!==`0x`,r=P(e.tx.gasLimit),i=e.to?`Transaction to contract`:`Contract Deployment`,a=I(`Data`,M(e.dataHex),e.dataHex);a&&(a.renderAs=`file-content`,a.hideLabel=!0,a.hideChevron=!0);let o=[a,I(`Value (wei)`,e.valueWei)].filter(Boolean),s;if(n){let n={id:`evm.eip1559.call`,kind:`generic.contractCall`,label:`Calling ${t||`contract function`} using ${r} gas`,to:e.to,value:e.valueWei,selector:e.selector,fields:o},i=L({dataHex:e.dataHex,abi:e.tx.abi});i&&(n.abiDecodeHint=i),s=[n]}return{id:`evm.eip1559`,kind:`generic.contractCall`,label:i,to:e.to,value:e.valueWei,selector:e.selector,...s?{children:s}:{}}}function z(e){let t=e.request;if(t.kind!==`eip1559`)return{chain:`evm`,intentDigest:e.intentDigest,signerAccount:e.signerAccount,title:e.title||`EVM Transaction`,subtitle:e.subtitle,operations:[{id:`evm.raw`,kind:`raw.fallback`,label:`Unsupported EVM Payload`,raw:F(t)}],raw:{format:`json`,value:F(t)}};let n=t.tx,r=n.to==null?void 0:String(n.to).toLowerCase(),i=n.value.toString(),a=g(String(n.data||`0x`)),o=R({to:r,valueWei:i,tx:n,dataHex:a,selector:k(a)}),s=n.value>0n?n.value:void 0;return{chain:`evm`,chainId:n.chainId,intentDigest:e.intentDigest,signerAccount:e.signerAccount,title:e.title||`EVM Transaction`,subtitle:e.subtitle,operations:[o],...s==null?{}:{totals:{nativeValue:s.toString(),nativeSymbol:`wei`}}}}function B(e,t){let n=typeof e==`string`?e.trim():``;if(!/^0x[0-9a-fA-F]+$/.test(n))throw Error(`Invalid ${t} quantity`);return BigInt(n)}function V(e,t,n){let r=e[t];if(r!==void 0){if(r===null)return null;if(typeof r!=`string`)throw Error(`Invalid ${n} result: ${t}`);return r}}function H(e,t,n){let r=V(e,t,n);if(typeof r==`string`&&!/^0x[0-9a-fA-F]+$/.test(r))throw Error(`Invalid ${n} result: ${t}`);return r}function U(e,t,n){let r=V(e,t,n);if(typeof r==`string`&&!/^0x[0-9a-fA-F]{40}$/.test(r))throw Error(`Invalid ${n} result: ${t}`);return r}function W(e,t,n){let r=V(e,t,n);if(typeof r==`string`&&!/^0x(?:[0-9a-fA-F]{2})*$/.test(r))throw Error(`Invalid ${n} result: ${t}`);return r}function ue(e){if(e===null)return null;if(typeof e!=`object`||Array.isArray(e))throw Error(`Invalid eth_getTransactionReceipt result`);let t=e,n=W(t,`transactionHash`,`eth_getTransactionReceipt`);if(typeof n!=`string`||!/^0x[0-9a-fA-F]{64}$/.test(n))throw Error(`Invalid eth_getTransactionReceipt result: transactionHash`);let r=U(t,`from`,`eth_getTransactionReceipt`),i=H(t,`blockNumber`,`eth_getTransactionReceipt`),a=H(t,`status`,`eth_getTransactionReceipt`);if(typeof i!=`string`||typeof a!=`string`)throw Error(`Invalid eth_getTransactionReceipt result: missing blockNumber or status`);let o=H(t,`gasUsed`,`eth_getTransactionReceipt`),s=H(t,`effectiveGasPrice`,`eth_getTransactionReceipt`),c=H(t,`gasPrice`,`eth_getTransactionReceipt`);return{transactionHash:n,...r===void 0?{}:{from:r},blockNumber:i,status:a,...o===void 0?{}:{gasUsed:o},...s===void 0?{}:{effectiveGasPrice:s},...c===void 0?{}:{gasPrice:c}}}function de(e){if(e===null)return null;if(typeof e!=`object`||Array.isArray(e))throw Error(`Invalid eth_getBlockByNumber result`);let t=e,n=H(t,`number`,`eth_getBlockByNumber`),r=H(t,`baseFeePerGas`,`eth_getBlockByNumber`);return{...n===void 0?{}:{number:n},...r===void 0?{}:{baseFeePerGas:r}}}function fe(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`Invalid eth_getTransactionByHash result: calls`);let t=e,n=U(t,`to`,`eth_getTransactionByHash`),r=W(t,`input`,`eth_getTransactionByHash`),i=W(t,`data`,`eth_getTransactionByHash`),a=H(t,`value`,`eth_getTransactionByHash`);return{...n===void 0?{}:{to:n},...r===void 0?{}:{input:r},...i===void 0?{}:{data:i},...a===void 0?{}:{value:a}}}function pe(e){if(e===null)return null;if(typeof e!=`object`||Array.isArray(e))throw Error(`Invalid eth_getTransactionByHash result`);let t=e,n=H(t,`blockNumber`,`eth_getTransactionByHash`),r=U(t,`from`,`eth_getTransactionByHash`),i=H(t,`nonce`,`eth_getTransactionByHash`),a=U(t,`to`,`eth_getTransactionByHash`),o=W(t,`input`,`eth_getTransactionByHash`),s=H(t,`value`,`eth_getTransactionByHash`),c=t.calls;if(c!=null&&!Array.isArray(c))throw Error(`Invalid eth_getTransactionByHash result: calls`);let l=Array.isArray(c)?c.map(fe):c;return{...n===void 0?{}:{blockNumber:n},...r===void 0?{}:{from:r},...i===void 0?{}:{nonce:i},...a===void 0?{}:{to:a},...o===void 0?{}:{input:o},...s===void 0?{}:{value:s},...l===void 0?{}:{calls:l}}}function me(e){let t=e?.reason;if(t instanceof Error)return t;let n=String(t||``).trim()||`Operation aborted`,r=Error(n);return r.code=`aborted`,r}function G(e){if(e?.aborted)throw me(e)}async function he(e,t){G(t);let n=Math.max(0,Math.floor(Number(e)||0));await new Promise((e,r)=>{let i=null,a=()=>{i&&=(globalThis.clearTimeout(i),null),t?.removeEventListener(`abort`,o)},o=()=>{a(),r(me(t))};i=globalThis.setTimeout(()=>{a(),e()},n),t?.addEventListener(`abort`,o,{once:!0})})}function ge(e){let t=e/1000000000n,n=e%1000000000n;if(n===0n)return t.toString();let r=n.toString().padStart(9,`0`).replace(/0+$/,``);return`${t.toString()}.${r}`}function K(e){let t=String(e||``).trim();return/^0x[0-9a-fA-F]{40}$/.test(t)?t:null}function q(e){let t=String(e||``).trim();return/^0x[0-9a-fA-F]+$/.test(t)?t:null}function _e(e){let t=e.split(/[\s,]+/).map(e=>e.trim()).filter(Boolean).map(e=>new URL(e).toString());if(t.length===0)throw Error(`RPC URL is not configured`);return Array.from(new Set(t))}function J(e){let t=_e(String(e.rpcUrl||``).trim()),n=e.fetchImpl||fetch.bind(globalThis),r=Math.max(1,Math.floor(Number(e.requestTimeoutMs??15e3)||0)),i=async e=>{let i=Math.max(1,Math.floor(Number(e.timeoutMs??r)||0)),a=Date.now(),o=()=>Math.max(1,i-Math.max(0,Date.now()-a)),s=new AbortController,c=async e=>{let t=o(),n=null,r=!1;try{return await new Promise((a,o)=>{n=setTimeout(()=>{if(!r){r=!0;try{e.onTimeout?.()}catch{}o(Error(`${e.label} timed out after ${i}ms`))}},t),e.promise.then(e=>{r||(r=!0,n&&clearTimeout(n),a(e))},e=>{r||(r=!0,n&&clearTimeout(n),o(e))})})}finally{n&&clearTimeout(n)}},l=JSON.stringify({jsonrpc:`2.0`,id:Date.now(),method:e.method,params:e.params}),d=null,f=null;for(let[r,i]of t.entries()){let a=r<t.length-1;s=new AbortController;try{let t=await c({promise:n(i,{method:`POST`,headers:{"content-type":`application/json`},body:l,signal:s.signal}),label:`${e.method} request`,onTimeout:()=>{s.abort()}});if((t.status===429||t.status>=500)&&a){await t.body?.cancel();continue}d=t;break}catch(e){if(f=e,a)continue}}if(!d)throw f?.name===`AbortError`?Error(`${e.method} request timed out after ${i}ms`):f instanceof Error?f:Error(`RPC request failed`);if(d.status===429)throw Error(`RPC throttled; retry shortly`);if(!d.ok)throw Error(`RPC HTTP ${d.status}`);let p=u(await c({promise:d.json(),label:`${e.method} response`,onTimeout:()=>{s.abort();try{d.body?.cancel()}catch{}}}).catch(t=>{throw t?.name===`AbortError`?Error(`${e.method} response timed out after ${i}ms`):t}));if(!p.ok)throw Error(`Invalid ${e.method} response: ${p.error}`);let m=p.value;if(m.kind===`failure`){let t=String(m.error.message||`${e.method} failed`).trim(),n=m.error.code!==void 0&&m.error.code!==null?String(m.error.code).trim():``,r=m.error.data===void 0?``:(()=>{try{return JSON.stringify(m.error.data)}catch{return String(m.error.data)}})(),i=[t];n&&i.push(`code=${n}`),r&&i.push(`data=${r}`);let a=Error(i.join(` | `));throw n&&(a.code=n),m.error.data!==void 0&&(a.data=m.error.data),a.rpcMethod=e.method,a}return m.result},a=async e=>{let t=ue(await i({method:`eth_getTransactionReceipt`,params:[e.txHash],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}}));if(t&&t.transactionHash.toLowerCase()!==e.txHash.toLowerCase())throw Error(`Receipt transactionHash does not match the requested transaction`);return t},o=async e=>de(await i({method:`eth_getBlockByNumber`,params:[e.blockTag,!1],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}})),s=async e=>pe(await i({method:`eth_getTransactionByHash`,params:[e.txHash],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}})),c=async e=>B(await i({method:`eth_getTransactionCount`,params:[e.address,e.blockTag??`latest`],...e.timeoutMs==null?{}:{timeoutMs:e.timeoutMs}}),`eth_getTransactionCount`);return{request:i,getTransactionReceipt:a,getBlockByNumber:o,getTransactionByHash:s,getTransactionCount:c,waitForTransactionReceipt:async e=>{let t=Math.max(1,Math.floor(Number(e.timeoutMs??9e4)||0)),n=Math.max(1,Math.floor(Number(e.pollIntervalMs??1250)||0)),i=Math.max(1,Math.floor(Number(e.confirmations??1)||0)),l=Date.now()+t,u=Date.now(),d=Math.min(3e4,Math.max(n*3,Math.floor(t/3))),f=Math.min(15e3,Math.max(n*3,Math.floor(t/6))),p=Math.min(1e4,Math.max(n*3,Math.floor(t/5))),m=null,h=null,g=null,_=null,v=0,y=!1,b=0,x=0,S=0;for(K(e.transactionSenderAddress)&&(g=e.transactionSenderAddress),typeof e.nonceHint==`bigint`&&e.nonceHint>=0n&&(_=e.nonceHint);Date.now()<l;){G(e.signal);let C=null;try{let t=Math.max(1,l-Date.now());C=await a({txHash:e.txHash,timeoutMs:Math.min(r,t)}),m=null}catch(e){m=e instanceof Error?e.message:String(e)}if(C){let t=B(C.blockNumber,`receipt.blockNumber`);if(i<=1)return C;let a=Math.max(1,l-Date.now()),s=q((await o({blockTag:`latest`,timeoutMs:Math.min(r,a)}).catch(()=>null))?.number);if(s){let e=B(s,`latest.number`);if(e>=t&&e-t+1n>=BigInt(i))return C}await he(n,e.signal);continue}let w;if(g===null||_===null||!y){let t=Math.max(1,l-Date.now()),n=await s({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null);w=n;let i=K(n?.from),a=q(n?.nonce);if(i&&a){let e=B(a,`tx.nonce`);g===null&&(g=i),_===null&&(_=e),g.toLowerCase()===i.toLowerCase()&&_===e&&(y=!0,b=0,x=0)}}if(g&&_!==null){let t=g,n=_,m=e=>{let r=K(e?.from),i=q(e?.nonce);if(!r||!i||r.toLowerCase()!==t.toLowerCase())return!1;try{return B(i,`tx.nonce`)===n}catch{return!1}},h=Math.max(1,l-Date.now()),C=await c({address:g,blockTag:`latest`,timeoutMs:Math.min(r,h)}).catch(()=>null);if(C!==null&&C>_){let t=Math.max(1,l-Date.now()),n=w===void 0?await s({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null):w;w=n;let u=q(n?.blockNumber);if(m(n)&&(y=!0),u)v=0,b=0,x=0;else if(m(n))v=0,b=0,x=0;else{let e=Math.max(1,l-Date.now()),t=await c({address:g,blockTag:`pending`,timeoutMs:Math.min(r,e)}).catch(()=>null);t!==null&&t<=_?(v=0,x=0):(v+=1,x=0)}if(v>=2){let t=Math.max(1,l-Date.now()),n=await a({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null);if(n&&typeof n.blockNumber==`string`){let e=q(n.blockNumber);if(e){let t=B(e,`receipt.blockNumber`);if(i<=1)return n;let a=Math.max(1,l-Date.now()),s=q((await o({blockTag:`latest`,timeoutMs:Math.min(r,a)}).catch(()=>null))?.number);if(s){let e=B(s,`latest.number`);if(e>=t&&e-t+1n>=BigInt(i))return n}v=0}}if(v>=2){let e=Error(`Transaction dropped or replaced: account nonce advanced past tx nonce (${_.toString()} -> ${C.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`dropped`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_nonce_advanced`,e}}}else if(C!==null&&C<=_){if(v=0,C<_&&!y){let t=Math.max(1,l-Date.now()),n=w===void 0?await s({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null):w;if(w=n,m(n))y=!0,S=0,b=0,x=0;else{let e=Math.max(1,l-Date.now()),t=await c({address:g,blockTag:`pending`,timeoutMs:Math.min(r,e)}).catch(()=>null);t!==null&&t<=_?(S+=1,b=0,x=0):t!==null&&t>_?(S=0,b=0,x+=1):(S=0,b=0,x=0)}let i=Date.now()-u;if(S>=2&&i>=p){let e=Error(`Transaction dropped or queued behind a nonce gap: tx hash never became visible while account nonce stayed behind tx nonce (${C.toString()} < ${_.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`dropped`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_nonce_gap`,e}if(x>=2&&i>=f){let e=Error(`Transaction dropped or replaced: tx hash never became visible and pending nonce moved ahead of tx nonce (${_.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`replaced`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_hash_disappeared`,e}}if(y){let t=Math.max(1,l-Date.now()),n=w===void 0?await s({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null):w;if(w=n,m(n))b=0,x=0;else{let e=Math.max(1,l-Date.now()),t=await c({address:g,blockTag:`pending`,timeoutMs:Math.min(r,e)}).catch(()=>null);t!==null&&t<=_?x=0:t!==null&&t>_?x+=1:x=0}let i=Date.now()-u;if(x>=2&&i>=f){let e=Error(`Transaction dropped or replaced: tx hash disappeared and pending nonce moved ahead of tx nonce (${_.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`replaced`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_hash_disappeared`,e}}if(!y){let t=Math.max(1,l-Date.now()),n=w===void 0?await s({txHash:e.txHash,timeoutMs:Math.min(r,t)}).catch(()=>null):w;if(w=n,m(n))y=!0,b=0,x=0;else{let e=Math.max(1,l-Date.now()),t=await c({address:g,blockTag:`pending`,timeoutMs:Math.min(r,e)}).catch(()=>null);t!==null&&t===_&&C===_?(b+=1,x=0):t!==null&&t>_?(b=0,x+=1):(b=0,x=0)}let i=Date.now()-u;if(b>=3&&i>=d){let e=Error(`Transaction dropped or replaced: tx hash never became visible to RPC pending pool at nonce ${_.toString()}.`);throw e.code=`tx_dropped_or_replaced`,e.reason=`dropped`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_hash_disappeared`,e}if(x>=2&&i>=f){let e=Error(`Transaction dropped or replaced: tx hash never became visible and pending nonce moved ahead of tx nonce (${_.toString()}).`);throw e.code=`tx_dropped_or_replaced`,e.reason=`replaced`,e.txNonce=_.toString(),e.latestNonce=C.toString(),e.txFrom=g,e.finalizationBranch=`dropped_hash_disappeared`,e}}}}if(typeof e.maxFeePerGasHint==`bigint`){let n=Math.max(1,l-Date.now()),i=await o({blockTag:`latest`,timeoutMs:Math.min(r,n)}).catch(()=>null),a=String(i?.baseFeePerGas||``).trim();if(/^0x[0-9a-fA-F]+$/.test(a)){let n=null;try{n=B(a,`baseFeePerGas`)}catch{n=null}if(n!==null&&n>e.maxFeePerGasHint){h===null&&(h=Date.now());let r=Math.min(3e4,Math.floor(t/3));if(Date.now()-h>=r){let t=Error(`Transaction pending due to underpriced fees: maxFeePerGas=${ge(e.maxFeePerGasHint)} gwei, latest baseFee=${ge(n)} gwei. Retry to re-sign with refreshed fee caps.`);throw t.finalizationBranch=`underpriced_fee`,t}}else h=null}}await he(n,e.signal)}G(e.signal);let C=m?`; last RPC error: ${m}`:``,w=Error(`Timed out waiting for tx receipt after ${t}ms${C}`);throw w.finalizationBranch=`timeout`,w}}}function ve(e){let t=o(e.subjectId),n=X(e.leaseId,`leaseId`),r=X(e.operationId,`operationId`),i=X(e.operationFingerprint,`operationFingerprint`),a={chainTarget:e.chainTarget,subjectId:t,sender:Re(e.sender),nonce:Y(e.nonce,`nonce`).toString(),leaseId:n,operationId:r,operationFingerprint:i};return e.nonceKey!=null&&(a.nonceKey=Y(e.nonceKey,`nonceKey`).toString()),Number.isSafeInteger(e.reservedAtMs)&&(a.reservedAtMs=e.reservedAtMs),Number.isSafeInteger(e.expiresAtMs)&&(a.expiresAtMs=e.expiresAtMs),a}function ye(e){if(!e||typeof e!=`object`)throw Error(`[evmNonceBackend] invalid managed nonce snapshot: object`);let t=Ie(e),n=o(e.subjectId??e.walletId),r=Re(e.sender),i=Y(e.nonce,`nonce`),a=e.nonceKey==null?void 0:Y(e.nonceKey,`nonceKey`),s=X(e.leaseId,`leaseId`),c=X(e.operationId,`operationId`),l=X(e.operationFingerprint,`operationFingerprint`),u=Be(e.reservedAtMs),d=Be(e.expiresAtMs);return{chainTarget:t,subjectId:n,sender:r,...a==null?{}:{nonceKey:a},nonce:i,leaseId:s,operationId:c,operationFingerprint:l,...u==null?{}:{reservedAtMs:u},...d==null?{}:{expiresAtMs:d}}}function be(e){let t={chainTarget:s({chain:e.chain,chainId:e.chainId,networkSlug:e.networkKey}),subjectId:o(e.walletId),sender:Re(e.sender)};return e.nonceKey!=null&&(t.nonceKey=Y(e.nonceKey,`nonceKey`)),t}const xe=15e3;function Se(e){return{async fetchChainNonce(t){let n=Fe(t);return await e.fetchChainNonce(n)},async fetchBroadcastTransactionStatus(t){let n=Fe(t);return await e.fetchBroadcastTransactionStatus({...n,txHash:ze(t.txHash)})}}}function Ce(e){let t=e.fetchImpl||fetch.bind(globalThis);return Se({fetchChainNonce:async n=>await Ee({chains:e.chains,input:n,fetchImpl:t}),fetchBroadcastTransactionStatus:async n=>await we({chains:e.chains,input:n,fetchImpl:t})})}async function we(e){let t=De(e.chains,e.input),n=await Te({rpcUrl:t,method:`eth_getTransactionReceipt`,params:[e.input.txHash],fetchImpl:e.fetchImpl});if(n&&typeof n==`object`)return{kind:`finalized`};let r=await Te({rpcUrl:t,method:`eth_getTransactionByHash`,params:[e.input.txHash],fetchImpl:e.fetchImpl});return r&&typeof r==`object`?{kind:`pending`}:{kind:`missing`}}async function Te(e){return await J({rpcUrl:e.rpcUrl,fetchImpl:e.fetchImpl,requestTimeoutMs:xe}).request({method:e.method,params:e.params})}async function Ee(e){return Ve(await J({rpcUrl:De(e.chains,e.input),fetchImpl:e.fetchImpl,requestTimeoutMs:xe}).request({method:`eth_getTransactionCount`,params:[e.input.sender,`pending`]}),`eth_getTransactionCount`)}function De(e,t){let r=t.chain,i=t.chainId,a=String(t.networkKey||``).trim().toLowerCase(),o=e=>e.filter(e=>{let t=Me(e);return typeof t==`number`&&t===i}),s=e=>e.filter(e=>String(e.network||``).trim().toLowerCase()===a),c=e.filter(e=>Oe(e));if(!c.length)throw Error(`[evmNonceBackend] missing RPC config for nonce-enabled chains`);let l=s(c);if(l.length===1){let e=l[0];return je({chain:e,requestedChain:r,networkKey:t.networkKey,chainId:i}),Ae({chain:e,chainId:i,networkKey:t.networkKey}),Pe(e.rpcUrl,e.network)}if(l.length>1){let e=o(l).filter(e=>ke(e,r));if(e.length===1){let t=e[0];return Pe(t.rpcUrl,t.network)}throw Error(`[evmNonceBackend] ambiguous networkKey mapping for ${t.networkKey} (chainId=${String(i)})`)}let u=o(c),d=u.filter(e=>ke(e,r));if(d.length===1){let e=d[0];return Pe(e.rpcUrl,e.network)}if(d.length>1){let e=d.map(e=>String(e.network||``).trim()).join(`, `);throw Error(`[evmNonceBackend] ambiguous chainId routing for ${r} chainId=${String(i)} across [${e}]`)}if(u.length>0){let e=Array.from(new Set(u.map(e=>n(e.network))));throw Error(`[evmNonceBackend] chainId=${String(i)} is configured for [${e.join(`, `)}] but is incompatible with ${r} routing`)}throw Error(`[evmNonceBackend] unable to resolve RPC URL for ${r} ${t.networkKey} (chainId=${String(i)})`)}function Oe(e){let t=n(e.network);return t===`evm`||t===`tempo`}function ke(e,t){let r=n(e.network);return t===`tempo`?r===`tempo`:r===`evm`||r===`tempo`}function Ae(e){let t=Me(e.chain);if(typeof t!=`number`)throw Error(`[evmNonceBackend] configured network ${e.chain.network} is missing numeric chainId`);if(t!==e.chainId)throw Error(`[evmNonceBackend] chainId mismatch for network ${e.networkKey}: expected ${t}, received ${String(e.chainId)}`)}function je(e){if(ke(e.chain,e.requestedChain))return;let t=n(e.chain.network);throw Error(`[evmNonceBackend] network ${e.networkKey} (family=${t}) is incompatible with ${e.requestedChain} request (chainId=${String(e.chainId)})`)}function Me(e){return Ne(e)?e.chainId:void 0}function Ne(e){return n(e.network)!==`near`}function Pe(e,t){let n=String(e||``).trim();if(!n)throw Error(`[evmNonceBackend] missing rpcUrl for ${t}`);return n}function Fe(e){let t=e.chainTarget.kind;if(t!==`evm`&&t!==`tempo`)throw Error(`[evmNonceBackend] invalid chain '${String(t)}'`);let n=String(e.chainTarget.networkSlug||``).trim().toLowerCase();if(!n)throw Error(`[evmNonceBackend] networkKey is required`);return{chain:t,networkKey:n,chainId:e.chainTarget.chainId,sender:Le(e.sender,`sender`),nonceKey:t===`tempo`?Y(e.nonceKey,`nonceKey`):0n,walletId:String(o(e.subjectId))}}function Ie(e){if(e.chainTarget)return a(e.chainTarget);let t=e.chain;if(t!==`evm`&&t!==`tempo`)throw Error(`[evmNonceBackend] invalid managed nonce snapshot: chain`);let n=String(e.networkKey||``).trim();if(!n)throw Error(`[evmNonceBackend] invalid managed nonce snapshot: networkKey`);let r=e.chainId;if(typeof r!=`number`||!Number.isSafeInteger(r)||r<=0)throw Error(`[evmNonceBackend] invalid managed nonce snapshot: chainId`);return s({chain:t,chainId:r,networkSlug:n})}function Le(e,t){let n=String(e||``).trim().toLowerCase();if(!/^0x[0-9a-f]{40}$/.test(n))throw Error(`[evmNonceBackend] invalid ${t}: expected 20-byte 0x-prefixed hex`);return n}function Re(e){return Le(e,`sender`)}function ze(e){let t=String(e||``).trim().toLowerCase();if(!/^0x[0-9a-f]{64}$/.test(t))throw Error(`[evmNonceBackend] invalid txHash: expected 32-byte 0x-prefixed hex`);return t}function Y(e,t){try{let n=BigInt(e);if(n<0n)throw Error(`[evmNonceBackend] ${t} must be non-negative`);return n}catch{throw Error(`[evmNonceBackend] invalid ${t}: expected bigint-compatible value`)}}function X(e,t){let n=String(e||``).trim();if(!n)throw Error(`[evmNonceBackend] invalid managed nonce snapshot: ${t}`);return n}function Be(e){if(e==null)return;let t=Math.floor(Number(e));return Number.isSafeInteger(t)?t:void 0}function Ve(e,t){let n=String(e||``).trim();if(!/^0x[0-9a-fA-F]+$/.test(n))throw Error(`[evmNonceBackend] invalid ${t} result: expected hex quantity`);return BigInt(n)}function He(e){return e.kind===`required`?e.authPlan.signingAuthPlan:void 0}async function Ue(e){let t=He(e.thresholdEcdsaStepUp),n=e.thresholdEcdsaStepUp.kind===`required`?e.thresholdEcdsaStepUp.runtime:void 0,r=n?.reusableAuthorization??{kind:`active`},i=We({signingAuthPlan:t,hasEmailOtpSigning:!!n?.emailOtpSigning,hasThresholdEcdsaRequest:e.hasThresholdEcdsaRequest,needsWebAuthn:e.needsWebAuthn,reusableAuthorization:r});if(!i)throw Error(`[chains] ${e.explicitAuthErrorLabel} signing requires explicit auth input`);let a=await ie({operation:{kind:`evm_family_threshold_ecdsa_step_up`,usesNeeded:Math.max(1,Math.floor(Number(e.requiredSignatureUses)||1))},selectedLane:i,policy:Ge(t,r),methods:{...n?.emailOtpSigning?{emailOtp:{method:`email_otp`,prepareChallenge:n.emailOtpSigning.prepare,...n.emailOtpSigning.resend?{resendChallenge:n.emailOtpSigning.resend}:{},complete:async()=>void 0}}:{},passkey:{method:`passkey`,prepare:async()=>({}),complete:async()=>void 0}}});if(a.method===`warm_session`){if(!t||!Ke(t))throw Error(`[chains] warm-session step-up requires an existing warm-session plan`);return{kind:`warm_session`,confirmationAuthPayload:{signingAuthPlan:t}}}if(a.method===`email_otp`){let e=qe({signingAuthPlan:t,prepared:a});if(!S(e))throw Error(`[chains] Email OTP step-up requires an Email OTP signing auth plan`);return{kind:`email_otp`,confirmationAuthPayload:{signingAuthPlan:e},emailOtpPrompt:a.prompt}}let o=qe({signingAuthPlan:t,prepared:a});if(!b(o))throw Error(`[chains] passkey step-up requires a passkey signing auth plan`);return{kind:`passkey`,confirmationAuthPayload:{signingAuthPlan:o}}}function We(e){return e.reusableAuthorization.kind===`absent`?{authMethod:e.reusableAuthorization.requiredFactor}:e.signingAuthPlan?S(e.signingAuthPlan)?{authMethod:`email_otp`}:b(e.signingAuthPlan)?{authMethod:`passkey`}:{authMethod:e.signingAuthPlan.method}:e.hasEmailOtpSigning?{authMethod:`email_otp`}:!e.hasThresholdEcdsaRequest&&e.needsWebAuthn?{authMethod:`passkey`}:null}function Ge(e,t){if(t.kind===`absent`)return{kind:`use_selected_lane`};if(e&&y(e)){if(e.curve!==`ecdsa`)throw Error(`[chains] EVM-family warm-session step-up requires an ECDSA auth plan`);return{kind:`reuse_warm_session`,authorization:{method:e.method,curve:`ecdsa`,materialActivation:e.materialActivation,authorization:e.authorization,expiresAtMs:e.expiresAtMs,remainingUses:e.remainingUses}}}return{kind:`use_selected_lane`}}function Ke(e){return y(e)&&e.curve===`ecdsa`}function qe(e){if(e.signingAuthPlan)return e.prepared.method===`email_otp`?{kind:`emailOtpReauth`,method:`email_otp`,emailOtpPrompt:e.prepared.prompt}:e.prepared.method===`passkey`&&!b(e.signingAuthPlan)?{kind:`passkeyReauth`,method:`passkey`}:e.signingAuthPlan;if(e.prepared.method===`email_otp`)return{kind:`emailOtpReauth`,method:`email_otp`,emailOtpPrompt:e.prepared.prompt};if(e.prepared.method===`passkey`)return{kind:`passkeyReauth`,method:`passkey`};throw Error(`[chains] warm-session step-up requires an existing signing auth plan`)}function Je(e){return{kind:`warm_session`,signingAuthPlan:e.signingAuthPlan,materialActivation:e.signingAuthPlan.materialActivation,authorization:e.signingAuthPlan.authorization,expiresAtMs:e.signingAuthPlan.expiresAtMs,remainingUses:e.signingAuthPlan.remainingUses}}function Ye(e){return{kind:`email_otp`,signingAuthPlan:e.signingAuthPlan,challengeId:$e(e.confirmation.emailOtpChallengeId,e.prompt,`EVM-family step-up authorization`),otpCode:Qe(e.confirmation.otpCode),...e.prompt.emailHint?{emailHint:e.prompt.emailHint}:{}}}function Xe(e){if(!e.confirmation.credential)throw Error(`[chains] missing WebAuthn credential for EVM-family step-up authorization`);return{kind:`passkey`,signingAuthPlan:e.signingAuthPlan,credential:f(e.confirmation.credential)}}function Ze(e){if(e.prepared.kind===`active_wallet_authority`)throw Error(`[chains] active Wallet Authority confirmation has no threshold step-up`);return e.prepared.kind===`warm_session`?Je({signingAuthPlan:e.prepared.confirmationAuthPayload.signingAuthPlan}):e.prepared.kind===`email_otp`?Ye({signingAuthPlan:e.prepared.confirmationAuthPayload.signingAuthPlan,prompt:e.prepared.emailOtpPrompt,confirmation:e.confirmation}):Xe({signingAuthPlan:e.prepared.confirmationAuthPayload.signingAuthPlan,confirmation:e.confirmation})}function Qe(e){let t=String(e||``).trim();if(!/^\d{6}$/.test(t))throw Error(`[chains] missing Email OTP code from touchConfirm`);return t}function $e(e,t,n){let r=String(e||t.challengeId||``).trim();if(!r)throw Error(`[chains] missing Email OTP challenge id for ${n}`);return r}const et=`AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`,tt=`pending-intent-digest`,Z=new Map;function nt(e){return String(e||``).trim()}function rt(e){let t=nt(e.requestId);t&&Z.set(t,e.preparation)}function it(e){let t=nt(e);if(!t)return;let n=Z.get(t);if(n)return Z.delete(t),n}function at(e){let t=nt(e);t&&Z.delete(t)}var Q=class extends Error{superseded;constructor(e){super(`[chains] threshold ECDSA material was superseded (${e.supersessionKind}): prepared ${String(e.preparedMaterialActivation.activationId)}, current ${String(e.currentMaterialActivation.activationId)}`),this.name=`EvmFamilyEcdsaMaterialSupersededError`,this.superseded=e}};function ot(e){return e instanceof Q}function st(e){return e.curve===`ed25519`?{curve:e.curve,thresholdSessionId:e.thresholdSessionId,expiresAtMs:e.expiresAtMs,remainingUses:e.remainingUses}:{curve:e.curve,materialActivationId:String(e.materialActivation.activationId),expiresAtMs:e.expiresAtMs,remainingUses:e.remainingUses}}function ct(e){switch(e.kind){case`material_for_step_up`:return e.material;case`material_from_canonical_capability`:case`material_from_step_up`:return e.material.signerSession}}function lt(e){return typeof e?.signReady==`function`}async function ut(n){let a=String(n.operationFingerprint||``).trim();if(!a)throw Error(`[chains] exact EVM signing operation fingerprint digest is required`);return{laneDigest:p(d.signingOperationFingerprint(a)),intentDigest:i(t(n.signingDigest32)),displayDigest:await r(e(n.displayModel))}}function dt(e){return{intentDigest:e.intentDigestHex,challengeB64u:e.challengeB64u,displayModel:e.displayModel}}function ft(e,t){return String(e.laneDigest)===String(t.laneDigest)&&String(e.intentDigest)===String(t.intentDigest)&&String(e.displayDigest)===String(t.displayDigest)}function pt(e){if(e.prepared.operation!==e.operation)throw Error(`[chains] prepared ECDSA operation step-up does not match the operation being signed`);if(!ft(e.prepared.operationDigests,e.operationDigests))throw Error(`[chains] prepared ECDSA operation step-up digest drift`)}function mt(e){if(!e.prepared)throw Error(`[chains] passkey ECDSA step-up requires an operation prepared before confirmation`);let t=String(e.prepared.prepared.challengeB64u||``).trim();if(!t||t!==String(e.challengeB64u||``).trim())throw Error(`[chains] passkey ECDSA step-up challenge does not match the prepared operation`);return t}function $(e){throw Error(`[chains] unsupported EVM-family signing authorization: ${String(e)}`)}async function ht(e){switch(e.authorization.kind){case`active_wallet_authority`:return{kind:`active_wallet_authority`,confirmationAuthPayload:{signingAuthPlan:e.authorization.confirmationAuthPlan}};case`owner`:return await Ue({thresholdEcdsaStepUp:e.thresholdEcdsaStepUp,hasThresholdEcdsaRequest:e.hasThresholdEcdsaRequest,needsWebAuthn:e.needsWebAuthn,requiredSignatureUses:e.requiredSignatureUses,explicitAuthErrorLabel:e.explicitAuthErrorLabel});default:return $(e.authorization)}}function gt(e){if(e.input.authorization.kind!==`active_wallet_authority`)throw Error(`[chains] pending active Wallet Authority confirmation requires exact authorization`);return{ctx:{touchConfirm:e.input.touchConfirm},sessionId:e.sessionId,chain:e.config.targetKind,kind:`intentDigest`,signingSubject:{kind:`evm_wallet`,walletId:e.input.walletId},signingAuthPlan:e.input.authorization.confirmationAuthPlan,challengeB64u:et,intentDigest:tt,displayModel:e.config.buildDisplayModel({request:e.input.request,signerAccount:e.input.walletId,title:e.config.title,subtitle:e.config.body}),title:e.config.title,body:e.config.body,confirmationConfigOverride:e.input.confirmationConfigOverride}}async function _t(e){let t=String(e.operation.intent.operationId);m(t,`material_queue`,e.queuedAt);let n=performance.now(),r=await e.resolveMaterial(e.request,e.operation,e.operationDigests);return m(t,`material_authorization`,n),await e.engine.signReady(e.request,r.material,e.operation,e.operationDigests)}async function vt(e){let{config:n,input:r}=e,i=w(`intent`),a=`signing:${n.flowName}:${r.walletId}:${i}`,o=r.request.senderSignatureAlgorithm===`secp256k1`,s=r.thresholdEcdsaStepUp,u=s.kind===`not_required`?void 0:s.runtime,d=He(s),p=r.authorization.kind===`owner`&&s.kind===`required`&&(s.runtime.reusableAuthorization.kind===`absent`||!y(s.authPlan.signingAuthPlan));if(o&&!d)switch(r.authorization.kind){case`owner`:throw Error(`[chains] threshold ECDSA transaction signing requires an explicit auth plan`);case`active_wallet_authority`:break;default:$(r.authorization)}let g=d??(r.authorization.kind===`active_wallet_authority`?r.authorization.confirmationAuthPlan:null),_=g?re(g):`passkey`,v=e=>{try{r.onEvent?.(c({...e,flowId:a,walletId:r.walletId,authMethod:_}))}catch{}},b=new Set,S=e=>{if(!b.has(e)){b.add(e);try{u?.onAuthSideEffectStarted?.(e)}catch{}}},ie=e=>{e.phase===`auth.passkey.prompt.started`&&S(`passkey_reauth`);let t=te(e,_);t&&v(t)},ce=async(e,t)=>{let n=async e=>{await t[e]?.()};if(!r.signingSessionPlan){await C({commands:e,execute:n});return}let i=await oe({steps:ae(se({sessionPlan:r.signingSessionPlan,operation:r.signingOperation||null,commands:e})),executor:{execute:async e=>{await n(e.kind)}},onTransition:r.onSigningOperationTransition});if(!i.ok)throw i.error;if(i.finalState.kind===`failed`)throw Error(i.finalState.reason)},E=n.webauthn.kind===`supported`&&n.webauthn.requestNeedsWebAuthn(r.request),D=r.request,O=null,k=!1,A=!1,j=s.kind===`required`?s.operation:null,le=async()=>{if(j)return j;throw Error(`[chains] threshold ECDSA transaction signing requires an operation`)},M=async()=>{if(!(k||!O||!r.releaseNonceReservation)){k=!0;try{await r.releaseNonceReservation(O)}catch{}}},N=async()=>{if(!O)return;let e=String(O.leaseId||``).trim(),t=String(O.operationId||``).trim(),i=String(O.operationFingerprint||``).trim();if(!e||!t||!i)throw Error(`[chains] managed ${n.nonceErrorLabel} nonce reservation is missing lease metadata`);await r.ctx.nonceCoordinator.markSigned({leaseId:e,operationId:t,operationFingerprint:i})},P=null,F=null,I=(async()=>{if(r.prepareRequestWithManagedNonce){let e=await r.prepareRequestWithManagedNonce();D=e.request,O=e.reservation}let e=await n.buildIntent({workerCtx:r.workerCtx,request:D});n.webauthn.kind===`supported`&&n.webauthn.validateIntent(e);let i=e.signRequests[0];if(!i)throw Error(`[chains] signing intent has no sign requests`);let a=ee(i),o=h(a),s=n.buildDisplayModel({request:D,intentDigest:o,signerAccount:r.walletId,title:n.title,subtitle:n.body}),c=t(a);if(p&&i.algorithm===`secp256k1`&&u&&j&&r.resolveEcdsaSigningMaterialPlan){let e=await ut({operationFingerprint:r.signingOperation?.operationFingerprint,signingDigest32:ee(i),displayModel:s}),t=await r.resolveEcdsaSigningMaterialPlan();switch(t.kind){case`ready`:P=t.value;break;case`authorization_required`:P=t.requirement;break;case`superseded`:throw new Q(t.replacement);case`failed`:throw Error(`[chains] threshold ECDSA material is unavailable: ${t.failure.reason}`)}let n=P;if(!n)throw Error(`[chains] ECDSA preparation did not produce signing material`);let a=await u.operationStepUp.prepare({operation:j,operationDigests:e,material:ct(n)});F={prepared:a,operation:j,operationDigests:e},c=a.challengeB64u}return{intent:e,challengeB64u:c,intentDigestHex:o,displayModel:s}})();r.authorization.kind===`active_wallet_authority`&&rt({requestId:i,preparation:I.then(dt)});let L=null,R=null,z=null,B=null,V=!1,H=null,U=async(e,t,n)=>{if(r.resolveEcdsaSigningMaterialPlan){let e=await r.resolveEcdsaSigningMaterialPlan();switch(e.kind){case`ready`:P=e.value;break;case`authorization_required`:P=e.requirement;break;case`superseded`:throw new Q(e.replacement);case`failed`:throw Error(`[chains] threshold ECDSA material is unavailable: ${e.failure.reason}`)}}let i=P;if(!i)throw Error(`[chains] missing ready threshold ECDSA material for secp256k1 signing`);if(!R||R.kind===`warm_session`){if(i.kind===`material_for_step_up`)throw Error(`[chains] auth-neutral ECDSA material reached signing without a same-method step-up`);return i}if(!u)throw Error(`[chains] ECDSA operation step-up runtime is unavailable`);let a=F;if(!a)throw Error(`[chains] ECDSA step-up signing requires an operation prepared before confirmation`);return pt({prepared:a,operation:t,operationDigests:n}),{kind:`material_from_step_up`,material:await u.operationStepUp.authorize({authorization:R,prepared:a.prepared,material:ct(i)})}},W=async()=>{if(r.authorization.kind===`active_wallet_authority`){v({phase:l.STEP_05_CONFIRMATION_DISPLAYED,status:`waiting_for_user`,interaction:{kind:`transaction_confirmation`,overlay:`show`}}),r.onConfirmationDisplayed?.();let e=gt({config:n,input:r,sessionId:i});z=await ne({runtime:r.touchConfirm,request:e})(),B=await I,V=B.intent.signRequests.some(e=>e.algorithm===`secp256k1`);let t=await ht({authorization:r.authorization,thresholdEcdsaStepUp:s,hasThresholdEcdsaRequest:o,needsWebAuthn:E,requiredSignatureUses:n.requiredSignatureUsesForRequest(r.request),explicitAuthErrorLabel:n.explicitAuthErrorLabel});if(!y(t.confirmationAuthPayload.signingAuthPlan)&&!x(t.confirmationAuthPayload.signingAuthPlan))throw Error(`[chains] active Wallet Authority signing requires a session auth plan`);L=t;let a=t.confirmationAuthPayload.signingAuthPlan;v({phase:l.STEP_06_AUTH_WARM_SESSION_CLAIMED,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},data:x(a)?{walletSessionId:String(a.walletSessionId),expiresAtMs:a.expiresAtMs,authorityId:String(a.authorityId),authMethodId:String(a.authMethodId)}:st(a)}),S(`auth_confirmed`),v({phase:l.STEP_05_CONFIRMATION_APPROVED,status:`succeeded`,interaction:{kind:`transaction_confirmation`,overlay:`hide`}});return}B=await I,V=B.intent.signRequests.some(e=>e.algorithm===`secp256k1`),v({phase:l.STEP_05_CONFIRMATION_DISPLAYED,status:`waiting_for_user`,interaction:{kind:`transaction_confirmation`,overlay:`show`}}),r.onConfirmationDisplayed?.();let e=await ht({authorization:r.authorization,thresholdEcdsaStepUp:s,hasThresholdEcdsaRequest:o,needsWebAuthn:E,requiredSignatureUses:n.requiredSignatureUsesForRequest(r.request),explicitAuthErrorLabel:n.explicitAuthErrorLabel});L=e;let t=e.confirmationAuthPayload;if(y(t.signingAuthPlan)||x(t.signingAuthPlan)){let e=t.signingAuthPlan;v({phase:l.STEP_06_AUTH_WARM_SESSION_CLAIMED,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},data:x(e)?{walletSessionId:String(e.walletSessionId),expiresAtMs:e.expiresAtMs,authorityId:String(e.authorityId),authMethodId:String(e.authMethodId)}:st(e)})}let a={ctx:{touchConfirm:r.touchConfirm},sessionId:i,chain:n.targetKind,kind:`intentDigest`,signingSubject:{kind:`evm_wallet`,walletId:r.walletId},challengeB64u:B.challengeB64u,intentDigest:B.intentDigestHex,displayModel:B.displayModel,title:n.title,body:n.body,onProgress:ie,confirmationConfigOverride:r.confirmationConfigOverride},c=e.kind===`passkey`?{...a,...e.confirmationAuthPayload,webauthnChallenge:{kind:`intent_digest`,challengeB64u:mt({prepared:F,challengeB64u:B.challengeB64u})}}:e.kind===`email_otp`?{...a,...e.confirmationAuthPayload,emailOtpPrompt:e.emailOtpPrompt}:{...a,...e.confirmationAuthPayload};z=await ne({runtime:r.touchConfirm,request:c})();let u=z;if(!u)throw Error(`[chains] signing confirmation did not produce a decision`);switch(S(`auth_confirmed`),r.authorization.kind){case`owner`:R=Ze({prepared:e,confirmation:u});break;default:$(r.authorization)}v({phase:l.STEP_05_CONFIRMATION_APPROVED,status:`succeeded`,interaction:{kind:`transaction_confirmation`,overlay:`hide`}})},ue=async()=>{if(!B)throw Error(`[chains] signing intent must be prepared before threshold admission`);if(!z)throw Error(`[chains] signing confirmation is required before threshold admission`);if(!L)throw Error(`[chains] signing auth payload is required before threshold admission`);switch(r.authorization.kind){case`owner`:if(!R)throw Error(`[chains] signing step-up authorization is required before threshold admission`);if(V&&!j)throw Error(`[chains] threshold ECDSA operation must be prepared before signing`);break;case`active_wallet_authority`:break;default:$(r.authorization)}},de=async()=>{let e=performance.now();if(!B)throw Error(`[chains] signing intent must be prepared before signing`);if(!z)throw Error(`[chains] signing confirmation must complete before signing`);let t=B.intent;V&&v({phase:l.STEP_10_COMMIT_STARTED,status:`running`,interaction:{kind:`none`,overlay:`none`}});let a=[];for(let e of t.signRequests){let t;if(e.kind===`webauthn`){if(n.webauthn.kind!==`supported`)throw Error(`[chains] WebAuthn signing is not supported for this chain`);if(!z.credential)throw Error(`[chains] missing WebAuthn credential from touchConfirm`);t=(await n.webauthn.resolveKeyRef({ctx:r.ctx,walletId:r.walletId,workerCtx:r.workerCtx,signReq:e,credential:f(z.credential)})).keyRef}else if(e.algorithm===`secp256k1`){let t=await ut({operationFingerprint:r.signingOperation?.operationFingerprint,signingDigest32:e.digest32,displayModel:B.displayModel});switch(r.authorization.kind){case`active_wallet_authority`:{let n=r.signingOperation?.operationId;if(!n)throw Error(`[chains] active Wallet Authority ECDSA signing requires an operation id`);a.push(await r.authorization.sign({requestId:i,operationId:String(n),operationDigests:t,signingDigest32:e.digest32}));continue}case`owner`:break;default:$(r.authorization)}let n=await le(),o=r.engines.secp256k1;if(!o)throw Error(`[chains] missing engine for algorithm: ${e.algorithm}`);if(!lt(o))throw Error(`[chains] secp256k1 signing engine requires ready material support`);if(!r.runEcdsaMaterialUse)throw Error(`[chains] secp256k1 signing requires exact material serialization`);a.push(await r.runEcdsaMaterialUse(_t.bind(void 0,{request:e,engine:o,operation:n,operationDigests:t,queuedAt:performance.now(),resolveMaterial:U})));continue}else throw Error(`[chains] unsupported ${n.explicitAuthErrorLabel} signing algorithm: ${e.algorithm}`);let o=r.engines.webauthnP256;if(!o)throw Error(`[chains] missing engine for algorithm: ${e.algorithm}`);a.push(await o.sign(e,t))}let o=performance.now();H=await t.finalize(a),A=!0,await N();let s=null;j?s=String(j.intent.operationId):r.authorization.kind===`active_wallet_authority`&&r.signingOperation&&(s=String(r.signingOperation.operationId)),s!==null&&(m(s,`transaction_assembly`,o),m(s,`commit_total`,e)),v({phase:l.STEP_11_TRANSACTION_SIGNED,status:`succeeded`,interaction:{kind:`none`,overlay:`hide`}}),v({phase:l.STEP_15_COMPLETED,status:`succeeded`,interaction:{kind:`none`,overlay:`none`},data:{operation:`sign`}})};try{if(await ce([T.ShowConfirmation,T.PreparePayload,T.Sign],{[T.ShowConfirmation]:W,[T.PreparePayload]:ue,[T.Sign]:de}),!H)throw Error(`[chains] signing operation completed without a signed result`);let e=H;return O?{...e,managedNonce:ve(O)}:e}catch(e){throw A||(O?await M():r.releaseNonceReservation&&await I.then(async()=>{await M()}).catch(()=>void 0)),e}}export{k as _,tt as a,Ce as c,J as d,B as f,j as g,M as h,et as i,ye as l,P as m,ot as n,at as o,z as p,vt as r,it as s,Q as t,be as u};
@@ -0,0 +1 @@
1
+ import{g as e,i as t}from"./domainIds-t1lp25yU.js";import{S as n}from"./digests-BIaE0DMd.js";import{c as r,l as i,o as a}from"./participants-BXdREC5k.js";import{r as o}from"./base64-BmKR3UqU.js";import{c as s}from"./ecdsaChainTarget-Bm5X4k-V.js";import{C as c,S as l,a as u,c as d}from"./walletAuthority-BTGAuOi8.js";import{Ct as f,Nt as p,Pt as m,T as h,U as g,b as _,ct as v,g as y,l as b,nt as x,rt as S,ut as C,w}from"./digestEncoding-CqNXPZY9.js";import{D as T,T as E,d as ee,f as te,m as D,o as O,p as k}from"./emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js";import{p as A}from"./ecdsaDerivationClientWasm-AYOJgTJm.js";import{a as j,n as M}from"./walletSessionFailure-CxsVtroW.js";import{a as N}from"./clientSessionPersistenceState-BCkJAYSz.js";import{t as P}from"./bytes-DXo6uALR.js";const F=new Map;function I(e){return`${String(e.walletId)}\0${e.materialActivation.activationId}`}function L(e){let n=I(e),r=F.get(n);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||!t(r.materialActivation,e.materialActivation)))throw Error(`linked ECDSA holder runtime conflicts with the active authority`);F.set(n,e)}function R(e){return F.get(I(e))??null}function z(e){return[...F.values()].filter(t=>e===void 0||t.walletId===e)}function B(e){let t=I(e),n=F.get(t);if(n){if(n.holderHandleId!==e.holderHandleId)throw Error(`linked ECDSA holder runtime changed before removal`);F.delete(t)}}function V(e){if(!e){F.clear();return}for(let[t,n]of F)n.walletId===e&&F.delete(t)}function H(e,t){return t?{kind:`blocked`,reason:e,message:t}:{kind:`blocked`,reason:e}}function U(e){return u(e)||d(e.signerActivations)?e.signerActivations:null}function W(e){if(e.kind!==`resolved`)switch(e.kind){case`missing_selection`:return H(`missing_selected_authority`);case`missing_auth_method`:case`missing_authority`:case`integrity_error`:return H(`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?H(`authority_identity_mismatch`):e.selection.lockState===`unlocked`?e.authMethod.status===`active`?e.authority.state===`active`?{authMethod:e.authMethod,authority:e.authority,signerMaterials:e.signerMaterials}:H(`authority_inactive`):H(`auth_method_inactive`):H(`wallet_locked`)}function G(e){let n=e.materials.filter(n=>n.kind===`wallet_authority_linked_signer_material_v1`&&n.keyFamily===`ecdsa_secp256k1`&&n.authorityId===e.authority.authorityId&&n.walletAuthMethodId===e.authMethod.walletAuthMethodId&&n.activationId===e.materialActivation.activationId&&t(n.materialActivation,e.materialActivation)),[r]=n;return n.length===1&&r?r:null}function K(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 ne(e){return e.session.capabilitySubjects.filter(n=>n.kind===e.capability&&n.keyFamily===`ecdsa_secp256k1`&&t(n.materialActivation,e.materialActivation)).length===1}function q(e){try{return p(e.scope.material_activation)}catch{return null}}function J(e){try{return P(o(e.scope.public_identity.ethereum_address20_b64u))}catch{return null}}function Y(e,t){return e.linkSessionId===t.linkSessionId&&e.enrollmentId===t.enrollmentId&&e.sourceAuthorityId===t.sourceAuthorityId&&l(e.source,t.source)&&c(e.target,t.target)&&e.targetClientPublicKey33B64u===t.targetClientPublicKey33B64u}function X(e,t){return e.kind===t.kind&&g(e.scope,t.scope)}function Z(e,t){return e.applicationBindingDigestB64u===t.applicationBindingDigestB64u&&e.clientShareRetryCounter===t.clientShareRetryCounter&&e.ecdsaThresholdKeyId===t.ecdsaThresholdKeyId&&X(e.sourceNormalSigning,t.sourceNormalSigning)}function re(e,t){return e.state===t.state&&Y(e.binding,t.binding)&&Z(e.sourceDerivation,t.sourceDerivation)&&e.targetRelayerPublicKey33B64u===t.targetRelayerPublicKey33B64u&&e.thresholdPublicKey33B64u===t.thresholdPublicKey33B64u&&e.thresholdEthereumAddress20B64u===t.thresholdEthereumAddress20B64u&&X(e.normalSigning,t.normalSigning)}function ie(e){let n=R({walletId:e.walletId,materialActivation:e.materialActivation});return!n||n.walletId!==e.walletId||n.authorityId!==e.authority.authorityId||n.walletAuthMethodId!==e.authMethod.walletAuthMethodId||n.factorAuthority.walletId!==e.walletId||n.factorAuthority.bindingId!==e.authMethod.walletAuthMethodId||n.ecdsaThresholdKeyId!==e.ecdsaThresholdKeyId||!t(n.materialActivation,e.materialActivation)||!K({material:e.material,authMethod:e.authMethod})||!re(n.activationReceipt,e.material.publicFacts.activationReceipt)?null:n}async function ae(e){let n=e.holderRuntime.activationReceipt.normalSigning,r=n.scope,i=q(n),a=J(n);if(!i||!a||!t(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 H(`normal_signing_identity_mismatch`);let o,s,c,l;try{l=await D({ecdsaThresholdKeyId:r.ecdsa_threshold_key_id,signingRootId:r.signing_root_id,signingRootVersion:r.signing_root_version});let t=T(e.signer.evmAddress);o=O({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=k({keyHandle:l,publicKeyB64u:r.public_identity.threshold_public_key33_b64u,participantIds:[1,2],thresholdOwnerAddress:t}),c=await f({walletId:String(o.walletId),signingRootId:String(o.signingRootId),signingRootVersion:String(o.signingRootVersion)})}catch(e){return H(`invalid_public_facts`,e instanceof Error?e.message:String(e))}if(o.ecdsaThresholdKeyId!==e.holderRuntime.ecdsaThresholdKeyId)return H(`normal_signing_identity_mismatch`);let u;try{u=await C({authority:e.factorAuthority})}catch(e){return H(`authority_identity_mismatch`,e instanceof Error?e.message:String(e))}let d={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:n,key:o,publicFacts:s};if(e.selected.authMethod.kind===`passkey`){let t={kind:`passkey`,rpId:E(e.selected.authMethod.rpId),credentialIdB64u:e.selected.authMethod.credentialIdB64u};if(!S(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 H(`authority_identity_mismatch`);let n=te({walletId:o.walletId,publicFacts:s,authBinding:ee({rpId:t.rpId,credentialIdB64u:t.credentialIdB64u})});return{...d,auth:t,factorAuthority:e.factorAuthority,resolvedKey:n}}if(!x(e.factorAuthority)||e.factorAuthority.walletId!==o.walletId||e.factorAuthority.bindingId!==e.selected.authMethod.walletAuthMethodId||e.factorAuthority.verifier.emailHashHex!==e.selected.authMethod.emailHashHex)return H(`authority_identity_mismatch`);let p={kind:`email_otp`,providerSubjectId:String(e.factorAuthority.factor.providerUserId)};return{...d,auth:p,factorAuthority:e.factorAuthority}}function oe(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 se(e){let{input:n,ports:r}=e,i=n.requiredCapability||`sign`,a=Math.floor(Number(n.nowMs)||Date.now()),o;try{o=s(n.walletId)}catch(e){return H(`invalid_selected_authority`,e instanceof Error?e.message:String(e))}let c;try{c=await r.resolveSelectedWalletAuthority(String(o))}catch(e){return H(`persistence_unavailable`,e instanceof Error?e.message:String(e))}let l=W(c);if(`kind`in l)return l;let u=U(l.authority);if(!u)return H(`missing_ecdsa_signer`);let d=u.ecdsa.signer,f=u.ecdsa.materialActivation;if(n.materialActivation&&!t(n.materialActivation,f))return H(`authority_identity_mismatch`);let p=G({materials:l.signerMaterials,authority:l.authority,authMethod:l.authMethod,materialActivation:f});if(!p||!K({material:p,authMethod:l.authMethod}))return H(`missing_holder_runtime`);if(String(p.publicFacts.ecdsaThresholdKeyId)!==String(p.ecdsaThresholdKeyId))return H(`holder_runtime_identity_mismatch`);let m=ie({walletId:o,authority:l.authority,authMethod:l.authMethod,materialActivation:f,ecdsaThresholdKeyId:String(p.ecdsaThresholdKeyId),material:p});if(!m)return H(`holder_runtime_identity_mismatch`);let h;try{h=await r.readExactWithOperationCredential({walletId:o,authorityId:l.authority.authorityId,authMethodId:l.authMethod.walletAuthMethodId})}catch(e){return H(`persistence_unavailable`,e instanceof Error?e.message:String(e))}switch(h.kind){case`found`:break;case`missing`:return H(`missing_wallet_session`);case`upgrade_required`:return H(`upgrade_required`,`Wallet Session authorization requires a newer client`)}let g=h.record,_=h.operationCredential;if(g.expiresAtMs<=a)return H(`wallet_session_expired`);if(g.walletId!==o||g.authorityId!==l.authority.authorityId||g.authMethodId!==l.authMethod.walletAuthMethodId||g.authorityDigestB64u!==l.authority.authorityDigestB64u||g.authorityRevocationEpoch!==l.authority.revocationEpoch||_.walletSessionId.length===0||_.token.trim().length===0)return H(`wallet_session_identity_mismatch`);if(!ne({session:g,capability:i,materialActivation:f}))return H(`wallet_session_capability_mismatch`);let v=m.factorAuthority,y=await ae({selected:l,session:g,operationCredential:_,requiredCapability:i,signer:d,materialActivation:f,holderRuntime:m,factorAuthority:v});return y.kind===`active_wallet_authority_ecdsa_runtime_v1`?{kind:`resolved`,runtime:y,lane:oe({runtime:y,chainTarget:n.chainTarget})}:y}const ce=Symbol(`persisted-ecdsa-role-local-material`);function le(e,t){return e.bindingDigest===t.contextBinding32B64u}function ue(e,t){return e.durableMaterialRef===t.durableMaterialRef&&e.bindingDigest===t.bindingDigest}function de(e){return e instanceof Error?e.message:String(e)}function Q(e){return{kind:`corrupt`,reason:e.reason,message:e.message}}function fe(e){switch(e.failure.reason){case`missing`:return{kind:`device_link_required`,reason:`missing_local_material`};case`expired`:return Q({reason:`expired`,message:`ECDSA role-local persisted material has expired`});case`binding_mismatch`:return Q({reason:`binding_mismatch`,message:`ECDSA role-local persisted material binding does not match its public facts`});case`corrupt`:return Q({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 pe(t){let n=v(t.authority);if(!n)throw Error(`ECDSA role-local persisted material authority is invalid`);let r=e(t.materialActivation);if(!r.ok)throw Error(r.error.message);if(n.walletId!==t.publicFacts.walletId)throw Error(`ECDSA role-local persisted material authority does not match its wallet`);return{[ce]:!0,kind:`persisted_ecdsa_role_local_material_v1`,authority:n,materialActivation:r.value,publicFacts:t.publicFacts}}function $(e){return{kind:`persisted`,authority:e.authority,materialActivation:e.materialActivation,publicFacts:e.publicFacts}}async function me(e){switch(e.source.kind){case`unavailable`:return{kind:`device_link_required`,reason:e.source.reason};case`persisted`:try{let n=await A({authority:e.source.authority,materialActivation:e.source.materialActivation,workerCtx:e.workerCtx});return n.ok?!t(n.materialRef.materialActivation,e.source.materialActivation)||!le(n.materialRef,e.source.publicFacts)?Q({reason:`worker_identity_mismatch`,message:`ECDSA role-local worker restored a different material identity`}):ue(n.liveHandle,n.materialRef)?{kind:`rehydrated`,liveHandle:n.liveHandle,materialRef:n.materialRef}:Q({reason:`worker_identity_mismatch`,message:`ECDSA role-local worker restored a different durable material`}):fe({failure:n})}catch(e){return Q({reason:`persistence_unavailable`,message:de(e)})}default:{let t=e.source;throw Error(`Unsupported ECDSA role-local material source: ${String(t)}`)}}}function he(e){try{return h(e)}catch(e){throw Error(e instanceof Error?e.message:`ECDSA operation step-up response is invalid`)}}function ge(e){let t=String(e||``).trim().replace(/\/+$/g,``);if(!t)throw Error(`ECDSA operation step-up relayerUrl is required`);return`${t}${b}`}function _e(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=m(e.materialActivation),a=_(e.normalSigningScope),o=String(e.keyHandle||``).trim(),s=String(e.relayerKeyId||``).trim(),c=e.participantIds;if(a.wallet_id!==t||a.signing_worker.server_id!==i.signing_worker||!o||!s||c.length!==2||c.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:[c[0],c[1]],expires_at_ms:r}}async function ve(e){let t=_e(e);return{operation:t,challengeB64u:await y(t)}}function ye(e,t){switch(e){case j.expired:case j.missing:return`Signing session expired. Sign in again to continue.`;case j.budgetExhausted:return`Signing session budget is used up. Sign in again to continue.`;default:return`ECDSA operation step-up failed: ${t}`}}async function be(e){let t=w(e.request),o=e.transport.kind===`wallet_session`?r(e.transport.credential):{};if(e.transport.kind===`factor_proof`&&t.operation.operation_kind!==`evm.export_key`)throw Error(`ECDSA signing step-up requires its Wallet Session credential`);let s=new Request(ge(e.relayerUrl),a({headers:o,body:t})),c=e.transport.kind===`wallet_session`?await i(s):await fetch(s),l=await c.json().catch(()=>null);if(!c.ok){let e=n(l,`ECDSA operation step-up response`),t=String(e.message||`HTTP ${c.status}`);throw M({code:e.code,message:ye(e.code,t)})||Error(`ECDSA operation step-up failed: ${t}`)}return he(l)}async function xe(e){return await N({...e,labels:{queue:`threshold ECDSA signing queue`,queuedOperation:`threshold ECDSA queued signing operation`},owner:String(e.walletId).trim()})}export{$ as a,V as c,B as d,R as f,pe as i,L as l,be as n,me as o,ve as r,se as s,xe as t,z as u};
@@ -0,0 +1 @@
1
+ function e(e){if(!Number.isFinite(e)||e<=0)return null;let t=Math.round(e);return t>0&&Number.isSafeInteger(t)?t:null}function t(t){let n=e(t.width),r=e(t.height);return n===null||r===null?null:{widthCssPx:n,heightCssPx:r}}function n(e,n){let r=n?.borderBoxSize[0];return t(r?{width:r.inlineSize,height:r.blockSize}:e.getBoundingClientRect())}function r(e,r){if(e.kind===`request_scroll_surface`){let n=e.element.getBoundingClientRect();return e.element.classList.contains(`seams-confirm-surface-pinned`)?t(n):t({width:Math.max(e.element.scrollWidth,n.width),height:Math.max(e.element.scrollHeight,n.height)})}return n(e.element,r)}function i(e,t,n){switch(e.kind){case`request_surface`:case`request_scroll_surface`:return{kind:`measured_v1`,requestId:e.requestId,sequence:t,widthCssPx:n.widthCssPx,heightCssPx:n.heightCssPx};case`auth_menu_surface`:return{kind:`measured_auth_menu_v1`,requestId:e.requestId,authMenuSessionId:e.authMenuSessionId,sequence:t,widthCssPx:n.widthCssPx,heightCssPx:n.heightCssPx}}}let a=1;function o(){let e=a;return!Number.isSafeInteger(e)||e<=0?null:(a=e===2**53-1?1/0:e+1,e)}var s=class{observer;latestEntry=null;recentPostTimes=[];warnedAboutStreaming=!1;surfaceHasSettled=!1;animationFrame=null;lastSize=null;disconnected=!1;constructor(e){if(this.options=e,typeof ResizeObserver==`function`){this.observer=new ResizeObserver(this.onResize),this.observer.observe(e.element,{box:`border-box`}),e.kind===`request_scroll_surface`&&e.element.firstElementChild&&this.observer.observe(e.element.firstElementChild),this.reportLatestSize();return}this.observer=null,this.reportLatestSize()}disconnect(){this.disconnected||(this.disconnected=!0,this.observer?.disconnect(),this.animationFrame!==null&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(this.animationFrame),this.animationFrame=null,this.latestEntry=null)}onResize=e=>{this.disconnected||(this.latestEntry=e.at(-1)??null,this.scheduleReport())};scheduleReport(){this.disconnected||(this.animationFrame!==null&&typeof cancelAnimationFrame==`function`&&(cancelAnimationFrame(this.animationFrame),this.animationFrame=null),this.reportLatestSize())}reportLatestSize(){if(this.disconnected)return;let e=r(this.options,this.latestEntry);if(this.latestEntry=null,!e||this.sameSize(e))return;this.lastSize=e;let t=o();if(t===null){this.disconnect();return}this.noteStreaming(),this.options.postMeasurement(i(this.options,t,e))}noteStreaming(){if(this.options.kind===`auth_menu_surface`||this.warnedAboutStreaming)return;let e=typeof performance==`object`?performance.now():Date.now(),t=this.recentPostTimes.at(-1);for(t!==void 0&&e-t>400&&(this.surfaceHasSettled=!0,this.recentPostTimes.length=0),this.recentPostTimes.push(e);this.recentPostTimes.length&&e-this.recentPostTimes[0]>150;)this.recentPostTimes.shift();this.surfaceHasSettled&&(this.recentPostTimes.length<4||(this.warnedAboutStreaming=!0,console.warn(`[SEAMS] ${this.options.kind} posted ${this.recentPostTimes.length} surface measurements in 150ms after it had settled. Content inside a measured surface must announce a height change once (announceSurfaceResize) instead of animating its own height; the host box cannot follow a moving target.`)))}sameSize(e){return this.lastSize?.widthCssPx===e.widthCssPx&&this.lastSize?.heightCssPx===e.heightCssPx}};function c(e){return new s(e)}export{c as t};
@@ -0,0 +1 @@
1
+ import{b as e}from"./domainIds-t1lp25yU.js";import{a as t,c as n,o as r,u as i}from"./participants-BXdREC5k.js";import{t as a}from"./errors-BJBDbwHk.js";import{c as o}from"./ecdsaChainTarget-Bm5X4k-V.js";import{F as s,f as c,k as l}from"./digestEncoding-CqNXPZY9.js";import{r as u}from"./emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js";const d=`Your worker restarted mid-request`;function f(t,n){let r=e(t);if(!r.ok)throw Error(`${n} is invalid`);return r.value}function p(e,t){let n=typeof e==`string`?e.trim():``;if(!n)throw Error(`Missing ${t}`);return n}function m(e,t){if(typeof e!=`number`||!Number.isFinite(e))throw Error(`Missing ${t}`);return e}function h(e,t){let n=m(e,t);if(!Number.isSafeInteger(n)||n<0)throw Error(`${t} must be a non-negative integer`);return n}function g(e){if(!Array.isArray(e)||e.length===0)throw Error(`participantIds must be a non-empty array`);return e.map(e=>{let t=Number(e);if(!Number.isSafeInteger(t)||t<=0)throw Error(`participantIds must contain positive integer ids`);return t})}function _(e,t,n){if(typeof e!=`object`||!e||Array.isArray(e)||Object.getPrototypeOf(e)!==Object.prototype&&Object.getPrototypeOf(e)!==null)throw Error(`Missing ${n}`);let r=new Set(t),i=Object.keys(e);if(i.length!==r.size||i.some(e=>!r.has(e)))throw Error(`${n} contains unexpected fields`);return e}function v(e,t,n){let r=Object.getOwnPropertyDescriptor(e,t);if(!r||!(`value`in r))throw Error(`Missing ${n}`);return r.value}const y=[`formatVersion`,`walletId`,`evmFamilySigningKeySlotId`,`ecdsaThresholdKeyId`,`relayerKeyId`,`applicationBindingDigestB64u`,`contextBinding32B64u`,`publicIdentity`,`clientShareRetryCounter`,`relayerShareRetryCounter`,`keyHandle`,`signingRootId`,`signingRootVersion`,`thresholdEcdsaPublicKeyB64u`,`ethereumAddress`,`relayerVerifyingShareB64u`,`participantIds`,`thresholdSessionId`,`activationEpoch`,`expiresAtMs`,`expiresAt`,`remainingUses`,`routerAbEcdsaDerivationNormalSigning`];function b(e){let t=_(e,[`derivationClientSharePublicKey33B64u`,`relayerPublicKey33B64u`,`groupPublicKey33B64u`,`ethereumAddress`],`publicIdentity`);return{derivationClientSharePublicKey33B64u:p(v(t,`derivationClientSharePublicKey33B64u`,`publicIdentity.derivationClientSharePublicKey33B64u`),`publicIdentity.derivationClientSharePublicKey33B64u`),relayerPublicKey33B64u:p(v(t,`relayerPublicKey33B64u`,`publicIdentity.relayerPublicKey33B64u`),`publicIdentity.relayerPublicKey33B64u`),groupPublicKey33B64u:p(v(t,`groupPublicKey33B64u`,`publicIdentity.groupPublicKey33B64u`),`publicIdentity.groupPublicKey33B64u`),ethereumAddress:p(v(t,`ethereumAddress`,`publicIdentity.ethereumAddress`),`publicIdentity.ethereumAddress`)}}function x(e){let t=_(e,y,`value`);if(v(t,`formatVersion`,`value.formatVersion`)!==`ecdsa-derivation-role-local`)throw Error(`value.formatVersion is invalid`);let n=o(v(t,`walletId`,`value.walletId`)),r=p(v(t,`evmFamilySigningKeySlotId`,`value.evmFamilySigningKeySlotId`),`evmFamilySigningKeySlotId`),i=u(v(t,`ecdsaThresholdKeyId`,`value.ecdsaThresholdKeyId`)),a=p(v(t,`relayerKeyId`,`value.relayerKeyId`),`relayerKeyId`),c=p(v(t,`applicationBindingDigestB64u`,`value.applicationBindingDigestB64u`),`applicationBindingDigestB64u`),l=p(v(t,`contextBinding32B64u`,`value.contextBinding32B64u`),`contextBinding32B64u`),d=b(v(t,`publicIdentity`,`value.publicIdentity`)),x=h(v(t,`clientShareRetryCounter`,`value.clientShareRetryCounter`),`clientShareRetryCounter`),S=h(v(t,`relayerShareRetryCounter`,`value.relayerShareRetryCounter`),`relayerShareRetryCounter`),C=p(v(t,`keyHandle`,`value.keyHandle`),`keyHandle`),w=p(v(t,`signingRootId`,`value.signingRootId`),`signingRootId`),T=p(v(t,`signingRootVersion`,`value.signingRootVersion`),`signingRootVersion`),E=g(v(t,`participantIds`,`value.participantIds`)),D=p(v(t,`thresholdSessionId`,`value.thresholdSessionId`),`thresholdSessionId`),O=f(v(t,`activationEpoch`,`value.activationEpoch`),`activationEpoch`),k=m(v(t,`expiresAtMs`,`value.expiresAtMs`),`expiresAtMs`),A=s(v(t,`routerAbEcdsaDerivationNormalSigning`,`value.routerAbEcdsaDerivationNormalSigning`));return{formatVersion:`ecdsa-derivation-role-local`,walletId:n,evmFamilySigningKeySlotId:r,ecdsaThresholdKeyId:i,relayerKeyId:a,applicationBindingDigestB64u:c,contextBinding32B64u:l,publicIdentity:d,clientShareRetryCounter:x,relayerShareRetryCounter:S,keyHandle:C,signingRootId:w,signingRootVersion:T,thresholdEcdsaPublicKeyB64u:p(v(t,`thresholdEcdsaPublicKeyB64u`,`value.thresholdEcdsaPublicKeyB64u`),`thresholdEcdsaPublicKeyB64u`),ethereumAddress:p(v(t,`ethereumAddress`,`value.ethereumAddress`),`ethereumAddress`),relayerVerifyingShareB64u:p(v(t,`relayerVerifyingShareB64u`,`value.relayerVerifyingShareB64u`),`relayerVerifyingShareB64u`),participantIds:E,thresholdSessionId:D,activationEpoch:O,expiresAtMs:k,expiresAt:p(v(t,`expiresAt`,`value.expiresAt`),`expiresAt`),remainingUses:m(v(t,`remainingUses`,`value.remainingUses`),`remainingUses`),routerAbEcdsaDerivationNormalSigning:A}}function S(e){return e?e.kind===`opaque_wallet_session_operation_credential_v1`?e.token:String(e.token||``).trim():``}function C(e){if(e.auth?.kind===`opaque_wallet_session_operation_credential_v1`)return r({headers:n(e.auth),body:e.body});let i=S(e.auth),a=String(e.publishableKeyAuth||``).trim();return r({headers:i?t({token:i,missingMessage:`bearer token is required`}):a?t({token:a,missingMessage:`publishable key auth is required`}):void 0,body:e.body})}function w(e){return{code:`http_error`,message:`HTTP ${e}`}}function T(e){try{let t=_(e,[`ok`,`code`,`message`],`relayer failure`);if(v(t,`ok`,`relayer failure.ok`)!==!1)throw Error(`invalid ok`);let n=v(t,`code`,`relayer failure.code`),r=v(t,`message`,`relayer failure.message`);if(typeof n!=`string`||!n.trim())throw Error(`invalid code`);if(typeof r!=`string`||!r.trim())throw Error(`invalid message`);return{code:n.trim(),message:r.trim()}}catch{return null}}async function E(e){let t=await O(e);return k(t)?{ok:!1,code:`worker_restarted_mid_request`,message:d}:A(t)}async function D(e,t){try{let n=i(e);if(!n)throw Error(`Missing relayServerUrl`);let r=await fetch(`${n}${c}`,C({auth:t.auth,body:t.request})),a=await E(r);if(!r.ok){let e=T(a)??w(r.status);return{ok:!1,code:e.code,message:e.message}}return{ok:!0,value:l(a)}}catch(e){return{ok:!1,error:a(e)||`Router A/B ECDSA session activation failed`}}}async function O(e){try{return await e.text()}catch{return``}}function k(e){return e.includes(d)}function A(e){try{return JSON.parse(e||`{}`)}catch(e){throw Error(`Failed to parse threshold ECDSA relayer response JSON: ${a(e)}`)}}export{x as n,D as t};
@@ -1 +1 @@
1
- import{a as e}from"./types-DdzuHlAQ.js";const t=new Set([`wallet_gateway_binding`,`wallet_gateway_total`,`wallet_console_binding_d1`,`wallet_console_binding_sql`,`ecdsa_sign_authorize`,`ecdsa_sign_admit`,`ecdsa_sign_proxy`,`ecdsa_sign_complete`,`ecdsa_sign_total`,`ecdsa_presign_authenticate`,`ecdsa_presign_material`,`ecdsa_presign_admit`,`ecdsa_presign_proxy`,`ecdsa_presign_total`,`ecdsa_presign_sw_material`,`ecdsa_presign_sw_session`,`ecdsa_presign_sw_do_response_headers`,`ecdsa_presign_sw_do_response_body`,`ecdsa_presign_sw_admit`,`ecdsa_presign_sw_total`]);function n(e){let n=new Map;if(!e)return n;for(let r of e.split(`,`)){let[e,...i]=r.trim().split(`;`);if(!(!t.has(e)||n.has(e)))for(let t of i){let[r,i]=t.trim().split(`=`);if(r!==`dur`||!i?.trim())continue;let a=Number(i);Number.isFinite(a)&&a>=0&&n.set(e,a);break}}return n}function r(e,t,r){if(!(!r||!p()))for(let[i,a]of n(r))d(`evm-family`,{event:`ecdsa_server_timing`,operationId:e,phase:t,stage:i,durationMs:a})}function i(e,t,r){if(!(!r||!p()))for(let[i,a]of n(r))d(`evm-family`,{event:`ecdsa_presign_server_timing`,presignSessionId:e,phase:t,stage:i,durationMs:a})}function a(e,t,n,r=`succeeded`){d(`evm-family`,{event:`ecdsa_signing_timing`,operationId:e,stage:t,durationMs:Math.max(0,performance.now()-n),outcome:r})}function o(e,t,n,r=`succeeded`){d(`near`,{event:`ed25519_signing_timing`,operationId:e,stage:t,durationMs:Math.max(0,performance.now()-n),outcome:r})}function s(t,n,r={}){if(!(!n||!p()))try{console.debug(`[SigningLane][${t}]`,{event:`signing_lane_resolved`,lane:e(n),...r.reason?{reason:r.reason}:{}})}catch{}}function c(e,t){if(p())try{console.debug(`[SigningBoundary][${e}]`,t)}catch{}}function l(t){return{event:t.event,...t.lane?{lane:e(t.lane)}:{},...t.readinessStatus?{readinessStatus:t.readinessStatus}:{},...t.sideEffect?{sideEffect:t.sideEffect}:{},phase:t.phase}}function u(e,t){if(p())try{console.debug(`[SigningSessionPlanner][${e}]`,t)}catch{}}function d(e,t){if(p())try{console.info(`[SigningFlow][${e}]`,JSON.stringify(t))}catch{}}function f(e,t){try{console.warn(`[SigningFlow][${e}][failure]`,t)}catch{}}function p(){try{return globalThis.localStorage?.getItem(`seams:debug:signing-session`)===`1`}catch{return!1}}export{o as a,u as c,a as i,f as l,i as n,c as o,r,s,l as t,d as u};
1
+ import{a as e}from"./types-f7dyj5N6.js";const t=new Set([`wallet_gateway_binding`,`wallet_gateway_total`,`wallet_console_binding_d1`,`wallet_console_binding_sql`,`ecdsa_sign_authorize`,`ecdsa_sign_admit`,`ecdsa_sign_proxy`,`ecdsa_sign_complete`,`ecdsa_sign_total`,`ecdsa_presign_authenticate`,`ecdsa_presign_material`,`ecdsa_presign_admit`,`ecdsa_presign_proxy`,`ecdsa_presign_total`,`ecdsa_presign_sw_material`,`ecdsa_presign_sw_session`,`ecdsa_presign_sw_do_response_headers`,`ecdsa_presign_sw_do_response_body`,`ecdsa_presign_sw_admit`,`ecdsa_presign_sw_total`]);function n(e){let n=new Map;if(!e)return n;for(let r of e.split(`,`)){let[e,...i]=r.trim().split(`;`);if(!(!t.has(e)||n.has(e)))for(let t of i){let[r,i]=t.trim().split(`=`);if(r!==`dur`||!i?.trim())continue;let a=Number(i);Number.isFinite(a)&&a>=0&&n.set(e,a);break}}return n}function r(e,t,r){if(!(!r||!p()))for(let[i,a]of n(r))d(`evm-family`,{event:`ecdsa_server_timing`,operationId:e,phase:t,stage:i,durationMs:a})}function i(e,t,r){if(!(!r||!p()))for(let[i,a]of n(r))d(`evm-family`,{event:`ecdsa_presign_server_timing`,presignSessionId:e,phase:t,stage:i,durationMs:a})}function a(e,t,n,r=`succeeded`){d(`evm-family`,{event:`ecdsa_signing_timing`,operationId:e,stage:t,durationMs:Math.max(0,performance.now()-n),outcome:r})}function o(e,t,n,r=`succeeded`){d(`near`,{event:`ed25519_signing_timing`,operationId:e,stage:t,durationMs:Math.max(0,performance.now()-n),outcome:r})}function s(t,n,r={}){if(!(!n||!p()))try{console.debug(`[SigningLane][${t}]`,{event:`signing_lane_resolved`,lane:e(n),...r.reason?{reason:r.reason}:{}})}catch{}}function c(e,t){if(p())try{console.debug(`[SigningBoundary][${e}]`,t)}catch{}}function l(t){return{event:t.event,...t.lane?{lane:e(t.lane)}:{},...t.readinessStatus?{readinessStatus:t.readinessStatus}:{},...t.sideEffect?{sideEffect:t.sideEffect}:{},phase:t.phase}}function u(e,t){if(p())try{console.debug(`[SigningSessionPlanner][${e}]`,t)}catch{}}function d(e,t){if(p())try{console.info(`[SigningFlow][${e}]`,JSON.stringify(t))}catch{}}function f(e,t){try{console.warn(`[SigningFlow][${e}][failure]`,t)}catch{}}function p(){try{return globalThis.localStorage?.getItem(`seams:debug:signing-session`)===`1`}catch{return!1}}export{o as a,u as c,a as i,f as l,i as n,c as o,r,s,l as t,d as u};
@@ -1 +1 @@
1
- import{n as e}from"./chunk-dVx5-UGu.js";import{_ as t}from"./sdkSentEvents-DUht3AOD.js";var n=e({beginTransactionActivity:()=>i,failTransactionActivity:()=>m,observeTransactionActivity:()=>p,observeTransactionLifecycleReport:()=>_,retainTransactionActivity:()=>a,setTransactionActivityView:()=>l,transactionBroadcastStarted:()=>h});let r=null;function i(e,t){if(e.requestId)switch(e.type){case`PM_SIGN_TX_WITH_ACTIONS`:case`PM_SIGN_AND_SEND_TX`:case`PM_SIGN_DELEGATE_ACTION`:case`PM_SIGN_NEP413`:case`PM_SIGN_TEMPO`:r?.surface?.dispose(),r={requestId:e.requestId,post:t,surface:null,view:`expanded`,retained:!1,signingHash:null,progress:e.type===`PM_SIGN_NEP413`?{subject:`message`,state:{kind:`signing`}}:{subject:`transaction`,state:{kind:`signing`}}};return;default:return}}function a(e,t){return!r||r.requestId!==e?!1:(r.surface=t,r.retained=!0,o(),!0)}function o(){if(!(!r?.retained||!r.surface)){if(!r.surface.element.isConnected){r=null;return}r.surface.showReceipt({...r.progress,view:r.view,onView:s,onDismiss:c}),r.post({type:`TRANSACTION_ACTIVITY`,requestId:r.requestId,payload:r.view})}}function s(e){r&&(r.view=e,o())}function c(){let e=r;r=null,e?.surface?.dispose(),e?.retained&&e.post({type:`TRANSACTION_ACTIVITY`,requestId:e.requestId,payload:`closed`})}function l(e,t){r?.requestId===e&&(t===`closed`?c():s(`toast`))}function u(e,t){e.progress=e.progress.subject===`message`?{subject:`message`,state:t}:{subject:`transaction`,state:t.kind===`failed`?{...t,hash:null}:t}}function d(e,t){e.progress.subject===`transaction`&&(e.progress={subject:`transaction`,state:t})}function f(e,t){if(!e||typeof e!=`object`)return null;let n=Reflect.get(e,t);return typeof n==`string`&&n.length>0?n:null}function p(e){if(!(!r||e.requestId!==r.requestId)){if(e.type===`PM_RESULT`){let t=e.payload?.result;r.signingHash=f(t,`rawTxHex`),r.progress.state.kind===`signing`&&u(r,{kind:`signed`}),t&&typeof t==`object`&&Reflect.get(t,`success`)===!1&&u(r,{kind:`failed`,message:f(t,`error`)??`The operation did not complete.`});let n=g(t);n&&d(r,n)}else if(e.type===`PROGRESS`&&t(e.payload)&&e.payload.flow===`signing`){let t=e.payload,n=f(t.data,`txHash`)??f(t.data,`txId`),{kind:i}=r.progress.state;if(i===`confirmed`||i===`reverted`)return;switch(t.phase){case`signing.transaction.signed`:u(r,{kind:`signed`});break;case`signing.broadcast.started`:d(r,{kind:`broadcasting`});break;case`signing.broadcast.accepted`:d(r,{kind:`submitted`,hash:n});break;case`signing.receipt.finalized`:d(r,{kind:`confirmed`,hash:n});break;case`signing.receipt.reverted`:d(r,{kind:`reverted`,hash:n,message:`The network reverted this transaction. Network fees may still apply.`});break;case`signing.failed`:case`signing.broadcast.rejected`:r.progress.subject===`message`?u(r,{kind:`failed`,message:t.message}):d(r,{kind:`failed`,hash:n,message:t.message});break;default:return}}else return;o()}}function m(e,t){!r||r.requestId!==e||(u(r,{kind:`failed`,message:t instanceof Error?t.message:`The operation did not complete.`}),o())}function h(e){!r||r.signingHash!==e||r.progress.state.kind!==`signed`||(d(r,{kind:`broadcasting`}),o())}function g(e){if(!e||typeof e!=`object`)return null;let t=f(e,`transactionId`);if(!t)return null;let n=Reflect.get(e,`result`),r=n&&typeof n==`object`?Reflect.get(n,`status`):null;if(r&&typeof r==`object`){if(Object.hasOwn(r,`SuccessValue`))return{kind:`confirmed`,hash:t};if(Object.hasOwn(r,`Failure`))return{kind:`reverted`,hash:t,message:`The network could not execute this transaction. Network fees may still apply.`}}return{kind:`unknown`,hash:t,message:`Submitted to the network. The response did not include a final execution outcome.`}}function _(e){if(r?.signingHash)switch(e.type){case`PM_REPORT_TEMPO_BROADCAST_ACCEPTED`:case`PM_REPORT_TEMPO_BROADCAST_REJECTED`:case`PM_REPORT_TEMPO_FINALIZED`:case`PM_REPORT_TEMPO_DROPPED_OR_REPLACED`:{let t=e.payload;if(!t||t.signedResult.rawTxHex!==r.signingHash)return;let{kind:n}=r.progress.state;if(n===`confirmed`||n===`reverted`)return;e.type===`PM_REPORT_TEMPO_BROADCAST_ACCEPTED`?d(r,{kind:`submitted`,hash:e.payload?.txHash??null}):e.type===`PM_REPORT_TEMPO_FINALIZED`?d(r,e.payload?.receiptStatus===`reverted`?{kind:`reverted`,hash:e.payload.txHash??null,message:`The network reverted this transaction. Network fees may still apply.`}:e.payload?.receiptStatus===`success`?{kind:`confirmed`,hash:e.payload.txHash??null}:{kind:`unknown`,hash:e.payload?.txHash??null,message:`The network response did not include an execution status.`}):d(r,{kind:`unknown`,hash:null,message:`The transaction did not complete as expected. Check its network status before retrying.`}),o();return}default:return}}export{a,_ as i,m as n,n as o,p as r,i as t};
1
+ import{n as e}from"./chunk-dVx5-UGu.js";import{_ as t}from"./sdkSentEvents-DjOlKtdW.js";var n=e({beginTransactionActivity:()=>i,failTransactionActivity:()=>m,observeTransactionActivity:()=>p,observeTransactionLifecycleReport:()=>_,retainTransactionActivity:()=>a,setTransactionActivityView:()=>l,transactionBroadcastStarted:()=>h});let r=null;function i(e,t){if(e.requestId)switch(e.type){case`PM_SIGN_TX_WITH_ACTIONS`:case`PM_SIGN_AND_SEND_TX`:case`PM_SIGN_DELEGATE_ACTION`:case`PM_SIGN_NEP413`:case`PM_SIGN_TEMPO`:r?.surface?.dispose(),r={requestId:e.requestId,post:t,surface:null,view:`expanded`,retained:!1,signingHash:null,progress:e.type===`PM_SIGN_NEP413`?{subject:`message`,state:{kind:`signing`}}:{subject:`transaction`,state:{kind:`signing`}}};return;default:return}}function a(e,t){return!r||r.requestId!==e?!1:(r.surface=t,r.retained=!0,o(),!0)}function o(){if(!(!r?.retained||!r.surface)){if(!r.surface.element.isConnected){r=null;return}r.surface.showReceipt({...r.progress,view:r.view,onView:s,onDismiss:c}),r.post({type:`TRANSACTION_ACTIVITY`,requestId:r.requestId,payload:r.view})}}function s(e){r&&(r.view=e,o())}function c(){let e=r;r=null,e?.surface?.dispose(),e?.retained&&e.post({type:`TRANSACTION_ACTIVITY`,requestId:e.requestId,payload:`closed`})}function l(e,t){r?.requestId===e&&(t===`closed`?c():s(`toast`))}function u(e,t){e.progress=e.progress.subject===`message`?{subject:`message`,state:t}:{subject:`transaction`,state:t.kind===`failed`?{...t,hash:null}:t}}function d(e,t){e.progress.subject===`transaction`&&(e.progress={subject:`transaction`,state:t})}function f(e,t){if(!e||typeof e!=`object`)return null;let n=Reflect.get(e,t);return typeof n==`string`&&n.length>0?n:null}function p(e){if(!(!r||e.requestId!==r.requestId)){if(e.type===`PM_RESULT`){let t=e.payload?.result;r.signingHash=f(t,`rawTxHex`),r.progress.state.kind===`signing`&&u(r,{kind:`signed`}),t&&typeof t==`object`&&Reflect.get(t,`success`)===!1&&u(r,{kind:`failed`,message:f(t,`error`)??`The operation did not complete.`});let n=g(t);n&&d(r,n)}else if(e.type===`PROGRESS`&&t(e.payload)&&e.payload.flow===`signing`){let t=e.payload,n=f(t.data,`txHash`)??f(t.data,`txId`),{kind:i}=r.progress.state;if(i===`confirmed`||i===`reverted`)return;switch(t.phase){case`signing.transaction.signed`:u(r,{kind:`signed`});break;case`signing.broadcast.started`:d(r,{kind:`broadcasting`});break;case`signing.broadcast.accepted`:d(r,{kind:`submitted`,hash:n});break;case`signing.receipt.finalized`:d(r,{kind:`confirmed`,hash:n});break;case`signing.receipt.reverted`:d(r,{kind:`reverted`,hash:n,message:`The network reverted this transaction. Network fees may still apply.`});break;case`signing.failed`:case`signing.broadcast.rejected`:r.progress.subject===`message`?u(r,{kind:`failed`,message:t.message}):d(r,{kind:`failed`,hash:n,message:t.message});break;default:return}}else return;o()}}function m(e,t){!r||r.requestId!==e||(u(r,{kind:`failed`,message:t instanceof Error?t.message:`The operation did not complete.`}),o())}function h(e){!r||r.signingHash!==e||r.progress.state.kind!==`signed`||(d(r,{kind:`broadcasting`}),o())}function g(e){if(!e||typeof e!=`object`)return null;let t=f(e,`transactionId`);if(!t)return null;let n=Reflect.get(e,`result`),r=n&&typeof n==`object`?Reflect.get(n,`status`):null;if(r&&typeof r==`object`){if(Object.hasOwn(r,`SuccessValue`))return{kind:`confirmed`,hash:t};if(Object.hasOwn(r,`Failure`))return{kind:`reverted`,hash:t,message:`The network could not execute this transaction. Network fees may still apply.`}}return{kind:`unknown`,hash:t,message:`Submitted to the network. The response did not include a final execution outcome.`}}function _(e){if(r?.signingHash)switch(e.type){case`PM_REPORT_TEMPO_BROADCAST_ACCEPTED`:case`PM_REPORT_TEMPO_BROADCAST_REJECTED`:case`PM_REPORT_TEMPO_FINALIZED`:case`PM_REPORT_TEMPO_DROPPED_OR_REPLACED`:{let t=e.payload;if(!t||t.signedResult.rawTxHex!==r.signingHash)return;let{kind:n}=r.progress.state;if(n===`confirmed`||n===`reverted`)return;e.type===`PM_REPORT_TEMPO_BROADCAST_ACCEPTED`?d(r,{kind:`submitted`,hash:e.payload?.txHash??null}):e.type===`PM_REPORT_TEMPO_FINALIZED`?d(r,e.payload?.receiptStatus===`reverted`?{kind:`reverted`,hash:e.payload.txHash??null,message:`The network reverted this transaction. Network fees may still apply.`}:e.payload?.receiptStatus===`success`?{kind:`confirmed`,hash:e.payload.txHash??null}:{kind:`unknown`,hash:e.payload?.txHash??null,message:`The network response did not include an execution status.`}):d(r,{kind:`unknown`,hash:null,message:`The transaction did not complete as expected. Check its network status before retrying.`}),o();return}default:return}}export{a,_ as i,m as n,n as o,p as r,i as t};
@@ -0,0 +1 @@
1
+ import{g as e}from"./digests-BIaE0DMd.js";var t=class extends Error{constructor(e,t,n){super(t,n),this.code=e,this.name=`TransactionReviewError`}};function n(e,t){for(let n of Object.keys(e))if(!t.includes(n))return!1;return!0}function r(r){if(e(r)){if(r.kind===`unbounded`&&n(r,[`kind`]))return Object.freeze({kind:`unbounded`});if(r.kind===`expires_at`&&n(r,[`kind`,`atMs`])&&typeof r.atMs==`number`&&Number.isSafeInteger(r.atMs)&&r.atMs>0)return Object.freeze({kind:`expires_at`,atMs:r.atMs})}throw new t(`review_invalid_input`,`Review requires explicit validity and a positive safe-integer expiry`)}function i(e){if(e.kind===`expires_at`&&Date.now()>=e.atMs)throw new t(`review_expired`,`This review has expired. Refresh the quote and try again.`)}function a(e){if(typeof e.connectionId!=`string`||!e.connectionId.trim()||typeof e.requestId!=`string`||!e.requestId.trim()||typeof e.surfaceId!=`string`||!e.surfaceId.trim()||typeof e.generation!=`number`||!Number.isSafeInteger(e.generation)||e.generation<=0)throw new t(`review_invalid_input`,`Invalid transaction review identity`);return Object.freeze({connectionId:e.connectionId,requestId:e.requestId,surfaceId:e.surfaceId,generation:e.generation})}function o(i){if(!e(i)||i.kind!==`transaction_review_v1`||!n(i,[`kind`,`connectionId`,`requestId`,`surfaceId`,`generation`,`validity`]))throw new t(`review_invalid_input`,`Invalid transaction review metadata`);let o=a(i);return Object.freeze({kind:`transaction_review_v1`,connectionId:o.connectionId,requestId:o.requestId,surfaceId:o.surfaceId,generation:o.generation,validity:r(i.validity)})}function s(t){if(!e(t)||!n(t,[`connectionId`,`requestId`,`surfaceId`,`generation`,`phase`]))return null;let r=t.phase;if(r!==`prepared`&&r!==`activated`&&r!==`reviewing`&&r!==`signing`&&r!==`cancelled`)return null;try{let e=a(t);return{connectionId:e.connectionId,requestId:e.requestId,surfaceId:e.surfaceId,generation:e.generation,phase:r}}catch{return null}}function c(e,t){return e.connectionId===t.connectionId&&e.requestId===t.requestId&&e.surfaceId===t.surfaceId&&e.generation===t.generation}function l(e){switch(e){case`review_expired`:case`review_prepare_timeout`:case`review_owner_disposed`:case`review_identity_changed`:return e;default:return`cancelled`}}export{c as a,o as i,i as n,l as o,s as r,t};
@@ -1 +1 @@
1
- import{a as e,n as t,t as n}from"./transactionReview-DSGnpreN.js";import{t as r}from"./events-1dzC4Ocx.js";const i=new Map;var a=class{abortController=new AbortController;state={kind:`preparing`};element=null;observer=null;timer=null;constructor(e,r,a,o,s){if(this.metadata=e,this.signatureBoundary=r,this.post=a,this.reject=o,this.authMethodPolicy=s,t(e.validity),i.has(e.requestId))throw new n(`review_invalid_input`,`Duplicate reviewed request`);i.set(e.requestId,this),this.scheduleExpiry()}notify(e){let t=this.metadata;this.post({connectionId:t.connectionId,requestId:t.requestId,surfaceId:t.surfaceId,generation:t.generation,phase:e})}scheduleExpiry=()=>{if(this.metadata.validity.kind===`unbounded`||this.state.kind===`settled`||this.state.kind===`cancelled`||this.state.kind===`signing`)return;let e=this.metadata.validity.atMs-Date.now();if(e<=0){this.cancel(new n(`review_expired`,`This review has expired.`));return}this.timer=setTimeout(this.scheduleExpiry,Math.min(e,2147483647))};attach(e){if(this.element!==e){if(this.observer?.disconnect(),this.element=e,this.observer=new MutationObserver(this.prepared),this.observer.observe(e,{subtree:!0,childList:!0,attributes:!0}),e.inert=this.state.kind!==`active`&&this.state.kind!==`signing`,e.setAttribute(`aria-hidden`,String(e.inert)),this.state.kind===`cancelled`||this.state.kind===`settled`){this.closeSurface();return}this.state.kind===`preparing`&&requestAnimationFrame(this.prepared)}}prepared=()=>{this.state.kind!==`preparing`||!this.element?.isConnected||this.element.dataset.seamsConfirmReady!==`true`||(this.observer?.disconnect(),this.state={kind:`prepared`},this.notify(`prepared`))};activate(n){if(!(n.phase!==`activated`||!e(this.metadata,n)||this.state.kind!==`prepared`)){try{t(this.metadata.validity)}catch(e){this.cancel(e instanceof Error?e:Error(String(e)));return}this.state={kind:`active`},this.element&&(this.element.inert=!1,this.element.removeAttribute(`aria-hidden`),this.element.tabIndex=-1,this.element.focus({preventScroll:!0})),this.notify(`activated`)}}assertPending(){if(this.state.kind===`cancelled`)throw this.state.error;if(this.state.kind===`settled`)throw new n(`cancelled`,`The reviewed request has already settled`)}returnToReview=()=>{this.state.kind!==`active`||!this.allowInteraction()||(this.state={kind:`prepared`},this.element&&(this.element.inert=!0,this.element.setAttribute(`aria-hidden`,`true`)),this.notify(`reviewing`))};assertActive(){if(this.state.kind===`cancelled`)throw this.state.error;if(this.state.kind!==`active`&&this.state.kind!==`signing`)throw new n(`cancelled`,`Wallet approval is not active`);t(this.metadata.validity)}allowInteraction(){if(this.state.kind!==`active`&&this.state.kind!==`signing`)return!1;try{return this.assertActive(),!0}catch(e){return this.cancel(e instanceof Error?e:Error(String(e))),!1}}assertAuthMethodPolicy(e){if(this.assertPending(),e===`voiceid`!=(this.authMethodPolicy.kind===`required`))throw new n(`review_identity_changed`,`The authentication method changed. Review the transaction again.`)}beforeCredential=()=>{this.signatureBoundary===`credential`?this.beforeSigning():this.assertActive()};afterCredential(){this.state.kind!==`signing`&&this.assertActive()}beforeSigning=()=>{this.assertActive(),this.state.kind!==`signing`&&this.authMethodPolicy.kind===`required`&&this.authMethodPolicy.approval.consume(),this.state={kind:`signing`},this.timer&&clearTimeout(this.timer),this.timer=null,this.notify(`signing`)};async approveAuthMethod(){if(this.assertActive(),this.authMethodPolicy.kind===`disabled`)return{kind:`approved`};let e=await this.authMethodPolicy.approval.approve(this.abortController.signal);return this.assertActive(),e}get authMethodApprovalSurface(){return this.authMethodPolicy.kind===`required`?this.authMethodPolicy.approval.surface:null}get authMethodApprovalMessages(){return this.authMethodPolicy.kind===`required`?this.authMethodPolicy.approval.messages:null}cancel(e){return this.state.kind===`signing`?(this.notify(`signing`),!1):this.state.kind===`settled`||this.state.kind===`cancelled`?!1:(this.state={kind:`cancelled`,error:e},this.timer&&clearTimeout(this.timer),this.timer=null,this.abortController.abort(e),this.closeSurface(),this.notify(`cancelled`),!0)}closeSurface(){this.element&&(this.element.inert=!0,this.element.dispatchEvent(new Event(`cancel`,{cancelable:!0})),this.element.dispatchEvent(new CustomEvent(r.TX_CONFIRMER_CANCEL,{bubbles:!0,composed:!0})))}get cancelled(){return this.state.kind===`cancelled`}finish(){this.state.kind===`cancelled`&&this.reject(this.state.error),this.abortController.abort(Error(`The reviewed request has settled.`)),this.observer?.disconnect(),this.observer=null,this.timer&&clearTimeout(this.timer),this.timer=null,this.state={kind:`settled`},this.element=null,i.get(this.metadata.requestId)===this&&i.delete(this.metadata.requestId)}};function o(e){return i.get(e)}function s(e){return e?.kind===`wallet_iframe`?e.transactionReview:void 0}function c(e){for(let t of i.values())t.cancel(e)}export{o as i,c as n,s as r,a as t};
1
+ import{a as e,n as t,t as n}from"./transactionReview-CGIlI835.js";import{t as r}from"./events-D6l0_ugy.js";const i=new Map;var a=class{abortController=new AbortController;state={kind:`preparing`};element=null;observer=null;timer=null;constructor(e,r,a,o,s){if(this.metadata=e,this.signatureBoundary=r,this.post=a,this.reject=o,this.authMethodPolicy=s,t(e.validity),i.has(e.requestId))throw new n(`review_invalid_input`,`Duplicate reviewed request`);i.set(e.requestId,this),this.scheduleExpiry()}notify(e){let t=this.metadata;this.post({connectionId:t.connectionId,requestId:t.requestId,surfaceId:t.surfaceId,generation:t.generation,phase:e})}scheduleExpiry=()=>{if(this.metadata.validity.kind===`unbounded`||this.state.kind===`settled`||this.state.kind===`cancelled`||this.state.kind===`signing`)return;let e=this.metadata.validity.atMs-Date.now();if(e<=0){this.cancel(new n(`review_expired`,`This review has expired.`));return}this.timer=setTimeout(this.scheduleExpiry,Math.min(e,2147483647))};attach(e){if(this.element!==e){if(this.observer?.disconnect(),this.element=e,this.observer=new MutationObserver(this.prepared),this.observer.observe(e,{subtree:!0,childList:!0,attributes:!0}),e.inert=this.state.kind!==`active`&&this.state.kind!==`signing`,e.setAttribute(`aria-hidden`,String(e.inert)),this.state.kind===`cancelled`||this.state.kind===`settled`){this.closeSurface();return}this.state.kind===`preparing`&&requestAnimationFrame(this.prepared)}}prepared=()=>{this.state.kind!==`preparing`||!this.element?.isConnected||this.element.dataset.seamsConfirmReady!==`true`||(this.observer?.disconnect(),this.state={kind:`prepared`},this.notify(`prepared`))};activate(n){if(!(n.phase!==`activated`||!e(this.metadata,n)||this.state.kind!==`prepared`)){try{t(this.metadata.validity)}catch(e){this.cancel(e instanceof Error?e:Error(String(e)));return}this.state={kind:`active`},this.element&&(this.element.inert=!1,this.element.removeAttribute(`aria-hidden`),this.element.tabIndex=-1,this.element.focus({preventScroll:!0})),this.notify(`activated`)}}assertPending(){if(this.state.kind===`cancelled`)throw this.state.error;if(this.state.kind===`settled`)throw new n(`cancelled`,`The reviewed request has already settled`)}returnToReview=()=>{this.state.kind!==`active`||!this.allowInteraction()||(this.state={kind:`prepared`},this.element&&(this.element.inert=!0,this.element.setAttribute(`aria-hidden`,`true`)),this.notify(`reviewing`))};assertActive(){if(this.state.kind===`cancelled`)throw this.state.error;if(this.state.kind!==`active`&&this.state.kind!==`signing`)throw new n(`cancelled`,`Wallet approval is not active`);t(this.metadata.validity)}allowInteraction(){if(this.state.kind!==`active`&&this.state.kind!==`signing`)return!1;try{return this.assertActive(),!0}catch(e){return this.cancel(e instanceof Error?e:Error(String(e))),!1}}assertAuthMethodPolicy(e){if(this.assertPending(),e===`voiceid`!=(this.authMethodPolicy.kind===`required`))throw new n(`review_identity_changed`,`The authentication method changed. Review the transaction again.`)}beforeCredential=()=>{this.signatureBoundary===`credential`?this.beforeSigning():this.assertActive()};afterCredential(){this.state.kind!==`signing`&&this.assertActive()}beforeSigning=()=>{this.assertActive(),this.state.kind!==`signing`&&this.authMethodPolicy.kind===`required`&&this.authMethodPolicy.approval.consume(),this.state={kind:`signing`},this.timer&&clearTimeout(this.timer),this.timer=null,this.notify(`signing`)};async prepareAuthMethod(){this.assertPending(),this.authMethodPolicy.kind===`required`&&await this.authMethodPolicy.approval.prepare(this.abortController.signal),this.assertPending(),t(this.metadata.validity)}get requiresAuthMethodApproval(){return this.authMethodPolicy.kind===`required`}async approveAuthMethod(){if(this.assertActive(),this.authMethodPolicy.kind===`disabled`)return{kind:`approved`};let e=await this.authMethodPolicy.approval.approve(this.abortController.signal);return this.assertActive(),e}get authMethodApprovalSurface(){return this.authMethodPolicy.kind===`required`?this.authMethodPolicy.approval.surface:null}get authMethodApprovalMessages(){return this.authMethodPolicy.kind===`required`?this.authMethodPolicy.approval.messages:null}cancel(e){return this.state.kind===`signing`?(this.notify(`signing`),!1):this.state.kind===`settled`||this.state.kind===`cancelled`?!1:(this.state={kind:`cancelled`,error:e},this.timer&&clearTimeout(this.timer),this.timer=null,this.abortController.abort(e),this.closeSurface(),this.notify(`cancelled`),!0)}closeSurface(){this.element&&(this.element.inert=!0,this.element.dispatchEvent(new Event(`cancel`,{cancelable:!0})),this.element.dispatchEvent(new CustomEvent(r.TX_CONFIRMER_CANCEL,{bubbles:!0,composed:!0})))}get cancelled(){return this.state.kind===`cancelled`}finish(){this.state.kind===`cancelled`&&this.reject(this.state.error),this.abortController.abort(Error(`The reviewed request has settled.`)),this.observer?.disconnect(),this.observer=null,this.timer&&clearTimeout(this.timer),this.timer=null,this.state={kind:`settled`},this.element=null,i.get(this.metadata.requestId)===this&&i.delete(this.metadata.requestId)}};function o(e){return i.get(e)}function s(e){return e?.kind===`wallet_iframe`?e.transactionReview:void 0}function c(e){for(let t of i.values())t.cancel(e)}export{o as i,c as n,s as r,a as t};
@@ -1 +1 @@
1
- import{s as e}from"./ecdsaChainTarget-DbLthshF.js";import{c as t}from"./types-DdzuHlAQ.js";import{g as n,v as r,y as i}from"./nearEd25519YaoSigningPreparation-D_Jvj7ht.js";import{f as a,h as o,l as s,m as c,p as l}from"./clientSessionPersistenceState-BPYK9PYV.js";function u(e){return{tag:`IntentReceived`,intent:e}}function d(e,t){return{tag:`AvailableLanesRead`,intent:e.intent,availableLanes:t.availableLanes}}function f(e){return!!e&&e.curve===`ed25519`&&e.chain===`near`&&o(e)}function p(e){return!!e&&e.curve===`ecdsa`&&!!e.chainTarget&&o(e)}function m(e){return l(e)||null}function h(e){return e.state===`ready`?`ready`:e.state===`restorable`?`restorable`:null}function g(e){return e.state===`expired`?`expired`:e.state===`exhausted`?`exhausted`:null}function _(e,t){return{auth:e.auth,curve:`ed25519`,chain:`near`,materialActivation:e.materialActivation,walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,authorizationState:`authorized`,authorization:e.authorization,state:t,thresholdSessionId:e.thresholdSessionId,...e.remainingUses==null?{}:{remainingUses:e.remainingUses},...e.expiresAtMs==null?{}:{expiresAtMs:e.expiresAtMs},...e.policyHint?{policyHint:e.policyHint}:{},...e.updatedAtMs==null?{}:{updatedAtMs:e.updatedAtMs}}}function v(e){let t=h(e);if(!t)throw Error(`[SigningSessionSelectLane] Ed25519 lane is not transaction-ready`);return _(e,t)}function y(e){let t=g(e);if(!t)throw Error(`[SigningSessionSelectLane] Ed25519 lane is not transaction-reauthable`);return _(e,t)}function b(e){return i({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,auth:e.auth,walletSessionId:e.authorization.operationCredential.walletSessionId,quotaId:e.authorization.session.quotaId,thresholdSessionId:e.thresholdSessionId})}function x(e){return{kind:`near_ed25519_transaction_ready_lane`,candidate:e.candidate,availableLane:v(e.lane),selectedLane:b(e.candidate),authorityKey:e.authorityKey}}function S(e){return{kind:`near_ed25519_transaction_reauth_lane`,candidate:e.candidate,availableLane:y(e.lane),selectedLane:b(e.candidate),authorityKey:e.authorityKey}}function C(e){if(!f(e)||e.authorizationState!==`authorized`)return null;let t=h(e),n=g(e);if(!t&&!n)return null;let r=m(e);if(!r)return null;let i=c({lane:e});return!i||i.authorizationState!==`authorized`?null:t?x({lane:e,candidate:i,authorityKey:r}):S({lane:e,candidate:i,authorityKey:r})}function w(e){if(e.curve===`ed25519`){if(e.authorizationState!==`authorized`||!e.authorization)throw Error(`[SigningSessionSelectLane] Ed25519 lane requires active authorization`);return i({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,auth:e.auth,walletSessionId:e.authorization.operationCredential.walletSessionId,quotaId:e.authorization.session.quotaId,thresholdSessionId:e.thresholdSessionId})}if(e.authorizationState!==`authorized`)throw Error(`[SigningSessionSelectLane] ECDSA lane requires active authorization`);return r({key:e.key,materialActivation:e.materialActivation,keyHandle:e.keyHandle,walletId:e.walletId,auth:e.auth,authorization:e.authorization,chainTarget:e.chainTarget})}function T(e){return[...new Set(e.map(e=>n(e.candidate)))].sort()}function E(e){switch(e.length){case 0:return null;case 1:{let[t]=e;return t||null}default:return null}}function D(e){let t=e.intent;return t.curve===`ed25519`&&t.chain===`near`?O({...e,intent:t}):t.curve===`ecdsa`?j({...e,intent:t}):{ok:!1,failure:{kind:`unsupported_intent`,curve:t.curve||`unknown`,chain:t.chain||`unknown`}}}function O(e){let t=A(e);if(!t.ok)return t;if(t.kind===`authorization_required`)return{ok:!1,failure:{kind:`no_candidate`,authMethod:n(t.candidate)}};let r=C(t.availableLane);if(!r)throw Error(`[SigningSessionSelectLane] authorized Ed25519 lane is not selectable`);return{ok:!0,lane:t.lane,candidate:t.candidate,availableLane:r.availableLane,selectionCandidate:r}}function k(e,t){if(e.candidate.walletId!==t.walletId||e.candidate.nearAccountId!==t.signerSelection.nearAccountId)return!1;switch(t.signerSelection.kind){case`near_account`:return!0;case`signer_slot`:return e.candidate.signerSlot===t.signerSelection.signerSlot}}function A(e){let t=e.intent,n=P(t,(e.availableLanes?.candidates.ed25519.near||[]).filter(f).map(e=>({availableLane:e,candidate:c({lane:e})})).filter(e=>e.candidate!==null).filter(e=>k(e,t)));if(!n.length)return{ok:!1,failure:t.authSelectionPolicy.kind===`any`?{kind:`no_candidate`}:{kind:`no_candidate`,authMethod:t.authSelectionPolicy.authMethod}};let r=E(n);if(!r)return{ok:!1,failure:{kind:`ambiguous_material`,allowedAuthMethods:T(n)}};if(r.candidate.authorizationState===`authorization_required`){if(r.availableLane.authorizationState!==`authorization_required`)throw Error(`[SigningSessionSelectLane] Ed25519 material authorization mismatch`);return{ok:!0,kind:`authorization_required`,candidate:r.candidate,availableLane:r.availableLane}}if(r.availableLane.authorizationState!==`authorized`)throw Error(`[SigningSessionSelectLane] Ed25519 material authorization mismatch`);return{ok:!0,kind:`authorized`,lane:b(r.candidate),candidate:r.candidate,availableLane:r.availableLane}}function j(e){let t=M(e);return t.ok?t.kind===`authorization_required`?{ok:!1,failure:{kind:`no_candidate`,authMethod:n(t.candidate)}}:{ok:!0,lane:t.lane,candidate:t.candidate,availableLane:t.availableLane,selectionCandidate:{candidate:t.candidate,availableLane:t.availableLane}}:t}function M(e){let t=e.intent,n=P(t,e.availableLanes?s(e.availableLanes,t.chainTarget).filter(p).map(e=>({availableLane:e,candidate:a({walletId:t.walletId,lane:e})})).filter(e=>e.candidate!==null):[]);if(!n.length)return{ok:!1,failure:t.authSelectionPolicy.kind===`any`?{kind:`no_candidate`}:{kind:`no_candidate`,authMethod:t.authSelectionPolicy.authMethod}};let r=E(n);return r?r.candidate.authorizationState===`authorization_required`?{ok:!0,kind:`authorization_required`,candidate:r.candidate,availableLane:r.availableLane}:{ok:!0,kind:`authorized`,lane:N({intent:t,candidate:r.candidate}),candidate:r.candidate,availableLane:r.availableLane}:{ok:!1,failure:{kind:`ambiguous_material`,allowedAuthMethods:T(n)}}}function N(t){if(!e(t.candidate.chainTarget,t.intent.chainTarget))throw Error(`[SigningSessionSelectLane] ECDSA available lane target mismatch`);return w(t.candidate)}function P(e,t){if(e.authSelectionPolicy.kind===`any`)return t;let r=e.authSelectionPolicy.authMethod;return t.filter(e=>n(e.candidate)===r)}function F(e){let t=D({intent:e.intent,availableLanes:e.availableLanes});return t.ok?{tag:`LaneSelected`,intent:e.intent,lane:t.lane,candidate:t.candidate,availableLane:t.availableLane,selectionCandidate:t.selectionCandidate}:{tag:`LaneSelectionFailed`,intent:e.intent,failure:t.failure}}async function I(e){let n=await e.lifecycleAdapter.prepare({...e.operation?{operation:e.operation}:{}});if(n.lane.curve!==n.readiness.readiness.curve)throw Error(`[SigningSession] prepared lane and readiness curves do not match`);let r={lane:n.lane,readiness:n.readiness.readiness,expiresAtMs:n.readiness.expiresAtMs,remainingUses:n.readiness.remainingUses,forceFreshAuth:e.forceFreshAuth||n.forceFreshAuth,sensitiveOperationPolicy:e.sensitiveOperationPolicy},i=await e.coordinator.resolveAuthPlanFromReadiness(r,e.onPlannerTrace);return{...e.operation?{operation:e.operation}:{},lane:n.lane,authMethod:t(n.lane.auth),signingSessionPlan:i.signingSessionPlan,readiness:i.readiness,expiresAtMs:i.expiresAtMs,remainingUses:i.remainingUses,availableLanesGeneration:Math.max(0,Math.floor(Number(n.availableLanesGeneration)||0)),metadata:n.metadata||{}}}function L(e,t){return{tag:`ReadinessClassified`,intent:e.intent,lane:e.lane,candidate:e.candidate,availableLane:e.availableLane,readiness:t}}function R(e){return{intent:e.intent,lane:e.lane,readiness:e.readiness}}async function z(e){let t=null,n=null,r=null,i=await I({intent:B(e.intent),lifecycleAdapter:{prepare:async r=>{let i=await e.lifecycleAdapter.prepare({intent:e.intent,...r.operation?{operation:r.operation}:{}});return t=i.transactionLane,n=i.transactionIntent||e.intent,{lane:i.lane,readiness:i.readiness,availableLanesGeneration:i.availableLanesGeneration,forceFreshAuth:i.forceFreshAuth,metadata:{...i.metadata||{},transactionLane:i.transactionLane,transactionOperation:null}}}},coordinator:e.coordinator,...e.operation?{operation:e.operation}:{},forceFreshAuth:e.forceFreshAuth,sensitiveOperationPolicy:e.sensitiveOperationPolicy,onPlannerTrace:e.onPlannerTrace});if(!t)throw Error(`[SigningSession] transaction prepare did not return a transaction lane`);return r={intent:n||e.intent,lane:t,readiness:V(i)},i.metadata.transactionOperation=r,{thresholdOperation:i,transactionOperation:r}}function B(e){return{kind:`transaction_sign`,chain:e.chain,curve:e.curve,walletId:String(e.walletId),reason:`transaction`}}function V(e){let t=e.readiness.status;return t===`ready`?{status:`ready`,remainingUses:Math.max(0,Math.floor(Number(e.remainingUses)||0)),expiresAtMs:Math.max(0,Math.floor(Number(e.expiresAtMs)||0))}:t===`missing_session`?{status:`status_unavailable`,reason:`missing_session`}:t===`expired`?{status:`expired`}:t===`exhausted`?{status:`exhausted`}:t===`auth_unavailable`?{status:`auth_unavailable`,reason:`auth_unavailable`}:t===`status_unavailable`?{status:`status_unavailable`,reason:`status_unavailable`}:t===`status_unknown`?{status:`status_unknown`,reason:`status_unknown`}:{status:`policy_blocked`,reason:t}}export{d as a,F as c,u as i,R as n,M as o,z as r,A as s,L as t};
1
+ import{s as e}from"./ecdsaChainTarget-Bm5X4k-V.js";import{c as t}from"./types-f7dyj5N6.js";import{g as n,v as r,y as i}from"./nearEd25519YaoSigningPreparation-DHNk0F8e.js";import{f as a,h as o,l as s,m as c,p as l}from"./clientSessionPersistenceState-BCkJAYSz.js";function u(e){return{tag:`IntentReceived`,intent:e}}function d(e,t){return{tag:`AvailableLanesRead`,intent:e.intent,availableLanes:t.availableLanes}}function f(e){return!!e&&e.curve===`ed25519`&&e.chain===`near`&&o(e)}function p(e){return!!e&&e.curve===`ecdsa`&&!!e.chainTarget&&o(e)}function m(e){return l(e)||null}function h(e){return e.state===`ready`?`ready`:e.state===`restorable`?`restorable`:null}function g(e){return e.state===`expired`?`expired`:e.state===`exhausted`?`exhausted`:null}function _(e,t){return{auth:e.auth,curve:`ed25519`,chain:`near`,materialActivation:e.materialActivation,walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,authorizationState:`authorized`,authorization:e.authorization,state:t,thresholdSessionId:e.thresholdSessionId,...e.remainingUses==null?{}:{remainingUses:e.remainingUses},...e.expiresAtMs==null?{}:{expiresAtMs:e.expiresAtMs},...e.policyHint?{policyHint:e.policyHint}:{},...e.updatedAtMs==null?{}:{updatedAtMs:e.updatedAtMs}}}function v(e){let t=h(e);if(!t)throw Error(`[SigningSessionSelectLane] Ed25519 lane is not transaction-ready`);return _(e,t)}function y(e){let t=g(e);if(!t)throw Error(`[SigningSessionSelectLane] Ed25519 lane is not transaction-reauthable`);return _(e,t)}function b(e){return i({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,auth:e.auth,walletSessionId:e.authorization.operationCredential.walletSessionId,quotaId:e.authorization.session.quotaId,thresholdSessionId:e.thresholdSessionId})}function x(e){return{kind:`near_ed25519_transaction_ready_lane`,candidate:e.candidate,availableLane:v(e.lane),selectedLane:b(e.candidate),authorityKey:e.authorityKey}}function S(e){return{kind:`near_ed25519_transaction_reauth_lane`,candidate:e.candidate,availableLane:y(e.lane),selectedLane:b(e.candidate),authorityKey:e.authorityKey}}function C(e){if(!f(e)||e.authorizationState!==`authorized`)return null;let t=h(e),n=g(e);if(!t&&!n)return null;let r=m(e);if(!r)return null;let i=c({lane:e});return!i||i.authorizationState!==`authorized`?null:t?x({lane:e,candidate:i,authorityKey:r}):S({lane:e,candidate:i,authorityKey:r})}function w(e){if(e.curve===`ed25519`){if(e.authorizationState!==`authorized`||!e.authorization)throw Error(`[SigningSessionSelectLane] Ed25519 lane requires active authorization`);return i({walletId:e.walletId,nearAccountId:e.nearAccountId,nearEd25519SigningKeyId:e.nearEd25519SigningKeyId,signerSlot:e.signerSlot,auth:e.auth,walletSessionId:e.authorization.operationCredential.walletSessionId,quotaId:e.authorization.session.quotaId,thresholdSessionId:e.thresholdSessionId})}if(e.authorizationState!==`authorized`)throw Error(`[SigningSessionSelectLane] ECDSA lane requires active authorization`);return r({key:e.key,materialActivation:e.materialActivation,keyHandle:e.keyHandle,walletId:e.walletId,auth:e.auth,authorization:e.authorization,chainTarget:e.chainTarget})}function T(e){return[...new Set(e.map(e=>n(e.candidate)))].sort()}function E(e){switch(e.length){case 0:return null;case 1:{let[t]=e;return t||null}default:return null}}function D(e){let t=e.intent;return t.curve===`ed25519`&&t.chain===`near`?O({...e,intent:t}):t.curve===`ecdsa`?j({...e,intent:t}):{ok:!1,failure:{kind:`unsupported_intent`,curve:t.curve||`unknown`,chain:t.chain||`unknown`}}}function O(e){let t=A(e);if(!t.ok)return t;if(t.kind===`authorization_required`)return{ok:!1,failure:{kind:`no_candidate`,authMethod:n(t.candidate)}};let r=C(t.availableLane);if(!r)throw Error(`[SigningSessionSelectLane] authorized Ed25519 lane is not selectable`);return{ok:!0,lane:t.lane,candidate:t.candidate,availableLane:r.availableLane,selectionCandidate:r}}function k(e,t){if(e.candidate.walletId!==t.walletId||e.candidate.nearAccountId!==t.signerSelection.nearAccountId)return!1;switch(t.signerSelection.kind){case`near_account`:return!0;case`signer_slot`:return e.candidate.signerSlot===t.signerSelection.signerSlot}}function A(e){let t=e.intent,n=P(t,(e.availableLanes?.candidates.ed25519.near||[]).filter(f).map(e=>({availableLane:e,candidate:c({lane:e})})).filter(e=>e.candidate!==null).filter(e=>k(e,t)));if(!n.length)return{ok:!1,failure:t.authSelectionPolicy.kind===`any`?{kind:`no_candidate`}:{kind:`no_candidate`,authMethod:t.authSelectionPolicy.authMethod}};let r=E(n);if(!r)return{ok:!1,failure:{kind:`ambiguous_material`,allowedAuthMethods:T(n)}};if(r.candidate.authorizationState===`authorization_required`){if(r.availableLane.authorizationState!==`authorization_required`)throw Error(`[SigningSessionSelectLane] Ed25519 material authorization mismatch`);return{ok:!0,kind:`authorization_required`,candidate:r.candidate,availableLane:r.availableLane}}if(r.availableLane.authorizationState!==`authorized`)throw Error(`[SigningSessionSelectLane] Ed25519 material authorization mismatch`);return{ok:!0,kind:`authorized`,lane:b(r.candidate),candidate:r.candidate,availableLane:r.availableLane}}function j(e){let t=M(e);return t.ok?t.kind===`authorization_required`?{ok:!1,failure:{kind:`no_candidate`,authMethod:n(t.candidate)}}:{ok:!0,lane:t.lane,candidate:t.candidate,availableLane:t.availableLane,selectionCandidate:{candidate:t.candidate,availableLane:t.availableLane}}:t}function M(e){let t=e.intent,n=P(t,e.availableLanes?s(e.availableLanes,t.chainTarget).filter(p).map(e=>({availableLane:e,candidate:a({walletId:t.walletId,lane:e})})).filter(e=>e.candidate!==null):[]);if(!n.length)return{ok:!1,failure:t.authSelectionPolicy.kind===`any`?{kind:`no_candidate`}:{kind:`no_candidate`,authMethod:t.authSelectionPolicy.authMethod}};let r=E(n);return r?r.candidate.authorizationState===`authorization_required`?{ok:!0,kind:`authorization_required`,candidate:r.candidate,availableLane:r.availableLane}:{ok:!0,kind:`authorized`,lane:N({intent:t,candidate:r.candidate}),candidate:r.candidate,availableLane:r.availableLane}:{ok:!1,failure:{kind:`ambiguous_material`,allowedAuthMethods:T(n)}}}function N(t){if(!e(t.candidate.chainTarget,t.intent.chainTarget))throw Error(`[SigningSessionSelectLane] ECDSA available lane target mismatch`);return w(t.candidate)}function P(e,t){if(e.authSelectionPolicy.kind===`any`)return t;let r=e.authSelectionPolicy.authMethod;return t.filter(e=>n(e.candidate)===r)}function F(e){let t=D({intent:e.intent,availableLanes:e.availableLanes});return t.ok?{tag:`LaneSelected`,intent:e.intent,lane:t.lane,candidate:t.candidate,availableLane:t.availableLane,selectionCandidate:t.selectionCandidate}:{tag:`LaneSelectionFailed`,intent:e.intent,failure:t.failure}}async function I(e){let n=await e.lifecycleAdapter.prepare({...e.operation?{operation:e.operation}:{}});if(n.lane.curve!==n.readiness.readiness.curve)throw Error(`[SigningSession] prepared lane and readiness curves do not match`);let r={lane:n.lane,readiness:n.readiness.readiness,expiresAtMs:n.readiness.expiresAtMs,remainingUses:n.readiness.remainingUses,forceFreshAuth:e.forceFreshAuth||n.forceFreshAuth,sensitiveOperationPolicy:e.sensitiveOperationPolicy},i=await e.coordinator.resolveAuthPlanFromReadiness(r,e.onPlannerTrace);return{...e.operation?{operation:e.operation}:{},lane:n.lane,authMethod:t(n.lane.auth),signingSessionPlan:i.signingSessionPlan,readiness:i.readiness,expiresAtMs:i.expiresAtMs,remainingUses:i.remainingUses,availableLanesGeneration:Math.max(0,Math.floor(Number(n.availableLanesGeneration)||0)),metadata:n.metadata||{}}}function L(e,t){return{tag:`ReadinessClassified`,intent:e.intent,lane:e.lane,candidate:e.candidate,availableLane:e.availableLane,readiness:t}}function R(e){return{intent:e.intent,lane:e.lane,readiness:e.readiness}}async function z(e){let t=null,n=null,r=null,i=await I({intent:B(e.intent),lifecycleAdapter:{prepare:async r=>{let i=await e.lifecycleAdapter.prepare({intent:e.intent,...r.operation?{operation:r.operation}:{}});return t=i.transactionLane,n=i.transactionIntent||e.intent,{lane:i.lane,readiness:i.readiness,availableLanesGeneration:i.availableLanesGeneration,forceFreshAuth:i.forceFreshAuth,metadata:{...i.metadata||{},transactionLane:i.transactionLane,transactionOperation:null}}}},coordinator:e.coordinator,...e.operation?{operation:e.operation}:{},forceFreshAuth:e.forceFreshAuth,sensitiveOperationPolicy:e.sensitiveOperationPolicy,onPlannerTrace:e.onPlannerTrace});if(!t)throw Error(`[SigningSession] transaction prepare did not return a transaction lane`);return r={intent:n||e.intent,lane:t,readiness:V(i)},i.metadata.transactionOperation=r,{thresholdOperation:i,transactionOperation:r}}function B(e){return{kind:`transaction_sign`,chain:e.chain,curve:e.curve,walletId:String(e.walletId),reason:`transaction`}}function V(e){let t=e.readiness.status;return t===`ready`?{status:`ready`,remainingUses:Math.max(0,Math.floor(Number(e.remainingUses)||0)),expiresAtMs:Math.max(0,Math.floor(Number(e.expiresAtMs)||0))}:t===`missing_session`?{status:`status_unavailable`,reason:`missing_session`}:t===`expired`?{status:`expired`}:t===`exhausted`?{status:`exhausted`}:t===`auth_unavailable`?{status:`auth_unavailable`,reason:`auth_unavailable`}:t===`status_unavailable`?{status:`status_unavailable`,reason:`status_unavailable`}:t===`status_unknown`?{status:`status_unknown`,reason:`status_unknown`}:{status:`policy_blocked`,reason:t}}export{d as a,F as c,u as i,R as n,M as o,z as r,A as s,L as t};