@dcl/account-site 6.4.0 → 6.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1142) hide show
  1. package/assets/{ConstantsUtil-ZeZY4fD4.js → ConstantsUtil-DAlK9cbP.js} +1 -1
  2. package/assets/{ExchangeController-DItf36nL.js → ExchangeController-CSobTIN3.js} +1 -1
  3. package/assets/{HelpersUtil-CoQ2Mose.js → HelpersUtil-LoXn6_a9.js} +1 -1
  4. package/assets/NetworkUtil-D7oIM7ZR.js +7 -0
  5. package/assets/{SwapController-B1ubGFV-.js → SwapController-DgIPmsS0.js} +1 -1
  6. package/assets/arweave-CAGvOb64.js +1 -0
  7. package/assets/biconomy-Cd_cGJnS.js +1 -0
  8. package/assets/browser-DvQJ0ksv.js +8 -0
  9. package/assets/ccip-BSsJ40KM.js +1 -0
  10. package/assets/{ccip-B3gLSyxa.js → ccip-BeMRlRG6.js} +1 -1
  11. package/assets/chains-hIiZgy8u.js +1 -0
  12. package/assets/common-B6DEpf0d.js +1 -0
  13. package/assets/controller-CuDfLRRv.js +2 -0
  14. package/assets/{data-capture-HjWJvyUN.js → data-capture-UMtJXiUu.js} +1 -1
  15. package/assets/decimals-Bv_RfCT9.js +1 -0
  16. package/assets/decimals-DOYR5J7r.js +1 -0
  17. package/assets/detectExtension-Cx6QckBV.js +1 -0
  18. package/assets/{email-BoHg4MC1.js → email-HyF8d31i.js} +1 -1
  19. package/assets/{embedded-wallet-B8uZWxEh.js → embedded-wallet-Dj8lw64G.js} +1 -1
  20. package/assets/engine-yPbc6kua.js +1 -0
  21. package/assets/estimate-l1-fee-3ZvALnoT.js +1 -0
  22. package/assets/eth_estimateGas-BF7gwBZi.js +1 -0
  23. package/assets/eth_getStorageAt-DKz_yEDy.js +1 -0
  24. package/assets/eth_getTransactionCount-D49xmvBM.js +1 -0
  25. package/assets/ethereum-CNH2Sem3.js +1 -0
  26. package/assets/extractIPFS-PcxBlJd1.js +1 -0
  27. package/assets/{features-icUSTLoJ.js → features-BHAaOwHA.js} +2 -2
  28. package/assets/fetchTokenMetadata-C3z4b5X9.js +2 -0
  29. package/assets/{fortmatic-BGvr_u34.js → fortmatic-D5NEr47B.js} +1 -1
  30. package/assets/get-ecosystem-wallet-info-BaurHiI0.js +1 -0
  31. package/assets/getBalance-Clxu7Rba.js +2 -0
  32. package/assets/getInstalledModules-Dq-Sc-5S.js +1 -0
  33. package/assets/getNFT-B7aS-Cml.js +1 -0
  34. package/assets/getNFT-ThvGwtMC.js +2 -0
  35. package/assets/hashTypedData-DgpCHXeW.js +1 -0
  36. package/assets/hmac-Bk4Z90TB.js +1 -0
  37. package/assets/hooks.module-MHgUT2ti.js +1 -0
  38. package/assets/{if-defined-DobOMrnd.js → if-defined-Dkmiq4D-.js} +1 -1
  39. package/assets/image--EMjkbyZ.js +1 -0
  40. package/assets/image--O11VYbP.js +1 -0
  41. package/assets/image--fcqsYch.js +1 -0
  42. package/assets/image-1-dOu4Yt.js +1 -0
  43. package/assets/image-139plIjh.js +1 -0
  44. package/assets/image-1epPqHV4.js +1 -0
  45. package/assets/image-29vwsAfI.js +1 -0
  46. package/assets/image-2s8lIjLJ.js +1 -0
  47. package/assets/image-2wmDBIB6.js +1 -0
  48. package/assets/image-3-p5LJAk.js +1 -0
  49. package/assets/image-3Q7PfsJG.js +1 -0
  50. package/assets/image-4bx5chOJ.js +1 -0
  51. package/assets/image-5CGX_QL3.js +1 -0
  52. package/assets/image-5QXPaavh.js +1 -0
  53. package/assets/image-5mReG_-1.js +1 -0
  54. package/assets/image-5xiz28Wo.js +1 -0
  55. package/assets/image-6levnvAC.js +1 -0
  56. package/assets/image-6ouyxZRt.js +1 -0
  57. package/assets/image-8DkN4eFx.js +1 -0
  58. package/assets/image-8LnJ1bNt.js +1 -0
  59. package/assets/image-8Zz6I0OH.js +1 -0
  60. package/assets/image-8r04P3UP.js +1 -0
  61. package/assets/image-8u03hBEl.js +1 -0
  62. package/assets/image-8vXf4Xjy.js +1 -0
  63. package/assets/image-9509MPsE.js +1 -0
  64. package/assets/image-9BTuaiXb.js +1 -0
  65. package/assets/image-9Jtg22X3.js +1 -0
  66. package/assets/image-AlOoIjkb.js +1 -0
  67. package/assets/image-Atwyf6cQ.js +1 -0
  68. package/assets/image-B-l20wIO.js +1 -0
  69. package/assets/image-B02ECgsY.js +1 -0
  70. package/assets/image-B14TCFf5.js +1 -0
  71. package/assets/image-B3lDLhwe.js +1 -0
  72. package/assets/image-B3sWXgWp.js +1 -0
  73. package/assets/image-B4MULACL.js +1 -0
  74. package/assets/image-B5M2ftPa.js +1 -0
  75. package/assets/image-B5ZxW0VG.js +1 -0
  76. package/assets/image-B6SAWLjq.js +1 -0
  77. package/assets/image-B6VmDbM6.js +1 -0
  78. package/assets/image-B6ncW7rJ.js +1 -0
  79. package/assets/image-B6woX8-F.js +1 -0
  80. package/assets/image-B7QIFAir.js +1 -0
  81. package/assets/image-B7h27Vsd.js +1 -0
  82. package/assets/image-BAS5CqSz.js +1 -0
  83. package/assets/image-BAl5qyeX.js +1 -0
  84. package/assets/image-BBFbQZtc.js +1 -0
  85. package/assets/image-BBZFtk5k.js +1 -0
  86. package/assets/image-BBez6ov1.js +1 -0
  87. package/assets/image-BBk5bBxJ.js +1 -0
  88. package/assets/image-BCXqBewH.js +1 -0
  89. package/assets/image-BDOqiI6p.js +1 -0
  90. package/assets/image-BFzDP99B.js +1 -0
  91. package/assets/image-BGSprUxs.js +1 -0
  92. package/assets/image-BGZ2pFmO.js +1 -0
  93. package/assets/image-BGxqJH7c.js +1 -0
  94. package/assets/image-BH6pi8gb.js +1 -0
  95. package/assets/image-BHJFFIIN.js +1 -0
  96. package/assets/image-BI-5Z38o.js +1 -0
  97. package/assets/image-BI8lK7Gl.js +1 -0
  98. package/assets/image-BIDqxk8w.js +1 -0
  99. package/assets/image-BIIaxSfC.js +1 -0
  100. package/assets/image-BJAlBW3-.js +1 -0
  101. package/assets/image-BJ_lqI1X.js +1 -0
  102. package/assets/image-BJbq9ykO.js +1 -0
  103. package/assets/image-BKNtkg6s.js +1 -0
  104. package/assets/image-BKSQyIc5.js +1 -0
  105. package/assets/image-BKjOwOZU.js +1 -0
  106. package/assets/image-BMgLTkFN.js +1 -0
  107. package/assets/image-BMh4HSr7.js +1 -0
  108. package/assets/image-BN4ovMrn.js +1 -0
  109. package/assets/image-BNA4BP9T.js +1 -0
  110. package/assets/image-BNvlqRxs.js +1 -0
  111. package/assets/image-BOJcifnx.js +1 -0
  112. package/assets/image-BP17CoHz.js +1 -0
  113. package/assets/image-BP2Ox9Qn.js +1 -0
  114. package/assets/image-BPAkEl8k.js +1 -0
  115. package/assets/image-BPqXYngz.js +1 -0
  116. package/assets/image-BQTKy54v.js +1 -0
  117. package/assets/image-BQUnnXTb.js +1 -0
  118. package/assets/image-BQXnGJhx.js +1 -0
  119. package/assets/image-BQcTbEVl.js +1 -0
  120. package/assets/image-BRPzDWpX.js +1 -0
  121. package/assets/image-BSLjXnNe.js +1 -0
  122. package/assets/image-BTZyVpoA.js +1 -0
  123. package/assets/image-BULUy74S.js +1 -0
  124. package/assets/image-BUsH-M52.js +1 -0
  125. package/assets/image-BVO9IT_6.js +1 -0
  126. package/assets/image-BX4sAPzh.js +1 -0
  127. package/assets/image-BXzPnbc4.js +1 -0
  128. package/assets/image-BYUgGshq.js +1 -0
  129. package/assets/image-B_0Cqkss.js +1 -0
  130. package/assets/image-B_AAvjJY.js +1 -0
  131. package/assets/image-B_ozWfd0.js +1 -0
  132. package/assets/image-BaRuJqy0.js +1 -0
  133. package/assets/image-BanazMP9.js +1 -0
  134. package/assets/image-Bb4ZLG-2.js +1 -0
  135. package/assets/image-BbH7e9pw.js +1 -0
  136. package/assets/image-BbeMBRJP.js +1 -0
  137. package/assets/image-BbwfB3J_.js +1 -0
  138. package/assets/image-BcNLqzB4.js +1 -0
  139. package/assets/image-BcfiUDv-.js +1 -0
  140. package/assets/image-BdJA4XzW.js +1 -0
  141. package/assets/image-BdLvgjKp.js +1 -0
  142. package/assets/image-BdqmMP8T.js +1 -0
  143. package/assets/image-Bdtwdp85.js +1 -0
  144. package/assets/image-BfGkQCHU.js +1 -0
  145. package/assets/image-BfmBx3-B.js +1 -0
  146. package/assets/image-BhECDi_9.js +1 -0
  147. package/assets/image-BhmKXBqm.js +1 -0
  148. package/assets/image-Bi1elmSL.js +1 -0
  149. package/assets/image-BjFjHCOg.js +1 -0
  150. package/assets/image-BjKXKIhU.js +1 -0
  151. package/assets/image-BjTMD2k8.js +1 -0
  152. package/assets/image-BkKo9DtA.js +1 -0
  153. package/assets/image-Bkj-ZRbS.js +1 -0
  154. package/assets/image-Bktw-NJ-.js +1 -0
  155. package/assets/image-BlZLdRma.js +1 -0
  156. package/assets/image-BlogSp8o.js +1 -0
  157. package/assets/image-Bm-o9RF3.js +1 -0
  158. package/assets/image-Bn2sAgXJ.js +1 -0
  159. package/assets/image-BnT6IaIq.js +1 -0
  160. package/assets/image-BnXzDKuV.js +1 -0
  161. package/assets/image-BnYtBA0B.js +1 -0
  162. package/assets/image-Bo8CHmCG.js +1 -0
  163. package/assets/image-BoANtDMS.js +1 -0
  164. package/assets/image-BoS2kgXC.js +1 -0
  165. package/assets/image-BocNs9ze.js +1 -0
  166. package/assets/image-Bq1UxveY.js +1 -0
  167. package/assets/image-BqQffU2u.js +1 -0
  168. package/assets/image-BqmT5urK.js +1 -0
  169. package/assets/image-BqtrMo-7.js +1 -0
  170. package/assets/image-BsQYdoXP.js +1 -0
  171. package/assets/image-BstOz2Sd.js +1 -0
  172. package/assets/image-Bsv1aEQB.js +1 -0
  173. package/assets/image-BszqTwo7.js +1 -0
  174. package/assets/image-BtnrRGhZ.js +1 -0
  175. package/assets/image-BuqgjEJD.js +1 -0
  176. package/assets/image-Bv8VGwx8.js +1 -0
  177. package/assets/image-BvEJhPGs.js +1 -0
  178. package/assets/image-BvJKCSpY.js +1 -0
  179. package/assets/image-BvkSxpXq.js +1 -0
  180. package/assets/image-Bvw8wNRu.js +1 -0
  181. package/assets/image-BwBO8BTi.js +1 -0
  182. package/assets/image-BwjeUYie.js +1 -0
  183. package/assets/image-Bx8ULApC.js +1 -0
  184. package/assets/image-Bx8buncY.js +1 -0
  185. package/assets/image-BxeDPEwg.js +1 -0
  186. package/assets/image-BxfO9qDl.js +1 -0
  187. package/assets/image-ByHnaba8.js +1 -0
  188. package/assets/image-Bz03or90.js +1 -0
  189. package/assets/image-BzGwleUn.js +1 -0
  190. package/assets/image-C1w2WpL5.js +1 -0
  191. package/assets/image-C2QANSRr.js +1 -0
  192. package/assets/image-C2Wl7RAy.js +1 -0
  193. package/assets/image-C3Va51zP.js +1 -0
  194. package/assets/image-C46yxCl4.js +1 -0
  195. package/assets/image-C4ELurjg.js +1 -0
  196. package/assets/image-C4KoLZ1v.js +1 -0
  197. package/assets/image-C4hEqt6v.js +1 -0
  198. package/assets/image-C6EsuPXB.js +1 -0
  199. package/assets/image-C6LRjQzh.js +1 -0
  200. package/assets/image-C6NJnfCW.js +1 -0
  201. package/assets/image-C6QSWUy4.js +1 -0
  202. package/assets/image-C6aZzydG.js +1 -0
  203. package/assets/image-C6ewnpHo.js +1 -0
  204. package/assets/image-C7H4CQ65.js +1 -0
  205. package/assets/image-C7tHBnQp.js +1 -0
  206. package/assets/image-C8_9fy1e.js +1 -0
  207. package/assets/image-CAIffJi4.js +1 -0
  208. package/assets/image-CC2_AL18.js +1 -0
  209. package/assets/image-CCDmsN6r.js +1 -0
  210. package/assets/image-CCgX-pcz.js +1 -0
  211. package/assets/image-CD3he1Tj.js +1 -0
  212. package/assets/image-CE6B5igp.js +1 -0
  213. package/assets/image-CECsJh3H.js +1 -0
  214. package/assets/image-CEuSmI3b.js +1 -0
  215. package/assets/image-CGobRsqC.js +1 -0
  216. package/assets/image-CHotlokX.js +1 -0
  217. package/assets/image-CI3i53ES.js +1 -0
  218. package/assets/image-CIhcwJo_.js +1 -0
  219. package/assets/image-CJb0NNxX.js +1 -0
  220. package/assets/image-CLUlwzEU.js +1 -0
  221. package/assets/image-CMJsc-Ir.js +1 -0
  222. package/assets/image-COKP1J8V.js +1 -0
  223. package/assets/image-COnY36UD.js +1 -0
  224. package/assets/image-COwCE3RO.js +1 -0
  225. package/assets/image-CPMDxql6.js +1 -0
  226. package/assets/image-CPrfOTN2.js +1 -0
  227. package/assets/image-CQKjvlto.js +1 -0
  228. package/assets/image-CQm90J-d.js +1 -0
  229. package/assets/image-CRU88082.js +1 -0
  230. package/assets/image-CRsMfPT0.js +1 -0
  231. package/assets/image-CSAN5rKt.js +1 -0
  232. package/assets/image-CSyxcTwp.js +1 -0
  233. package/assets/image-CTAbQz5j.js +1 -0
  234. package/assets/image-CTBdimeM.js +1 -0
  235. package/assets/image-CTLwieHz.js +1 -0
  236. package/assets/image-CTsHGgDx.js +1 -0
  237. package/assets/image-CUFBkGzy.js +1 -0
  238. package/assets/image-CUPOo6zK.js +1 -0
  239. package/assets/image-CVAbhfmI.js +1 -0
  240. package/assets/image-CVBI4BwD.js +1 -0
  241. package/assets/image-CVPmP4Bl.js +1 -0
  242. package/assets/image-CVrpZdwi.js +1 -0
  243. package/assets/image-CWCOKSln.js +1 -0
  244. package/assets/image-CWG4tRzZ.js +1 -0
  245. package/assets/image-CXpsLPxr.js +1 -0
  246. package/assets/image-CYFfk7g3.js +1 -0
  247. package/assets/image-CZ2qSHpt.js +1 -0
  248. package/assets/image-CZ9z1ucT.js +1 -0
  249. package/assets/image-CZLdphQJ.js +1 -0
  250. package/assets/image-C_JPqQZj.js +1 -0
  251. package/assets/image-C_rXI8lY.js +1 -0
  252. package/assets/image-CaBQfcNB.js +1 -0
  253. package/assets/image-CaHdVXd1.js +1 -0
  254. package/assets/image-CaoCxndE.js +1 -0
  255. package/assets/image-CaqftHzf.js +1 -0
  256. package/assets/image-CawBnBIo.js +1 -0
  257. package/assets/image-CbmAI5Wi.js +1 -0
  258. package/assets/image-CbnSXqJS.js +1 -0
  259. package/assets/image-Cc6jyxLi.js +1 -0
  260. package/assets/image-CcKS-8-S.js +1 -0
  261. package/assets/image-CcPbeTXv.js +1 -0
  262. package/assets/image-Ccx8wDSE.js +1 -0
  263. package/assets/image-CdGvq_lV.js +1 -0
  264. package/assets/image-CfglWSsQ.js +1 -0
  265. package/assets/image-CgHABHdL.js +1 -0
  266. package/assets/image-CgzMLfDa.js +1 -0
  267. package/assets/image-ChDeiuh7.js +1 -0
  268. package/assets/image-Chg2WzE1.js +1 -0
  269. package/assets/image-Ci0UFTFy.js +1 -0
  270. package/assets/image-CirJIT7l.js +1 -0
  271. package/assets/image-CisWvLpc.js +1 -0
  272. package/assets/image-Ck2fht2U.js +1 -0
  273. package/assets/image-CkQb0YUH.js +1 -0
  274. package/assets/image-CkSdZpFq.js +1 -0
  275. package/assets/image-CljvD_on.js +1 -0
  276. package/assets/image-ClyvBbEv.js +1 -0
  277. package/assets/image-CmVMIVLM.js +1 -0
  278. package/assets/image-CmWdSXJI.js +1 -0
  279. package/assets/image-CmkiYZaU.js +1 -0
  280. package/assets/image-CmrOpLf4.js +1 -0
  281. package/assets/image-CmzmxiTz.js +1 -0
  282. package/assets/image-CnDG0aor.js +1 -0
  283. package/assets/image-Co9P7WAh.js +1 -0
  284. package/assets/image-Covp72ND.js +1 -0
  285. package/assets/image-CpFHTO_m.js +1 -0
  286. package/assets/image-Cq54pcgl.js +1 -0
  287. package/assets/image-CqLwuE__.js +1 -0
  288. package/assets/image-Crp2YP47.js +1 -0
  289. package/assets/image-CruMo9Ar.js +1 -0
  290. package/assets/image-Cs2bevZt.js +1 -0
  291. package/assets/image-CsH_NRy-.js +1 -0
  292. package/assets/image-CsNgSbbt.js +1 -0
  293. package/assets/image-CsTNl20e.js +1 -0
  294. package/assets/image-CsUCYFyx.js +1 -0
  295. package/assets/image-CsmwtAjX.js +1 -0
  296. package/assets/image-CtZg2vKX.js +1 -0
  297. package/assets/image-CtiFcEL8.js +1 -0
  298. package/assets/image-CwDXHpUj.js +1 -0
  299. package/assets/image-CwaGmiHI.js +1 -0
  300. package/assets/image-Cwg1QVuh.js +1 -0
  301. package/assets/image-CwsKp0mM.js +1 -0
  302. package/assets/image-CxvWjDXv.js +1 -0
  303. package/assets/image-CxyHP7w7.js +1 -0
  304. package/assets/image-Cy0vmJls.js +1 -0
  305. package/assets/image-CyE6Mi3e.js +1 -0
  306. package/assets/image-CyF2UJbG.js +1 -0
  307. package/assets/image-CyLv-qKv.js +1 -0
  308. package/assets/image-CyezMyAx.js +1 -0
  309. package/assets/image-CypdirPa.js +1 -0
  310. package/assets/image-Cyu_SKNX.js +1 -0
  311. package/assets/image-Cyy1KupU.js +1 -0
  312. package/assets/image-CzKmxeZp.js +1 -0
  313. package/assets/image-CzL8n4ZU.js +1 -0
  314. package/assets/image-D13kcv8b.js +1 -0
  315. package/assets/image-D1eN-vq9.js +1 -0
  316. package/assets/image-D1qvgd7h.js +1 -0
  317. package/assets/image-D2051qUc.js +1 -0
  318. package/assets/image-D2QL-j27.js +1 -0
  319. package/assets/image-D3ALeCj7.js +1 -0
  320. package/assets/image-D3VAu6BC.js +1 -0
  321. package/assets/image-D3tLM-DF.js +1 -0
  322. package/assets/image-D3z3GjMO.js +1 -0
  323. package/assets/image-D4-YMi52.js +1 -0
  324. package/assets/image-D4PYvYqY.js +1 -0
  325. package/assets/image-D4nkyGrg.js +1 -0
  326. package/assets/image-D55LvXjp.js +1 -0
  327. package/assets/image-D5wxf47e.js +1 -0
  328. package/assets/image-D6x5dtDG.js +1 -0
  329. package/assets/image-D7P0qSfx.js +1 -0
  330. package/assets/image-D7Sd6W8U.js +1 -0
  331. package/assets/image-D7wXb0Un.js +1 -0
  332. package/assets/image-D8ARN-Gu.js +1 -0
  333. package/assets/image-D8scG8aP.js +1 -0
  334. package/assets/image-D9OC6Qfy.js +1 -0
  335. package/assets/image-D9i7y0RW.js +1 -0
  336. package/assets/image-DA8Sg5HZ.js +1 -0
  337. package/assets/image-DBFrM6tr.js +1 -0
  338. package/assets/image-DBehogZh.js +1 -0
  339. package/assets/image-DC2DOoz2.js +1 -0
  340. package/assets/image-DC9Wj56E.js +1 -0
  341. package/assets/image-DDBzbPSl.js +1 -0
  342. package/assets/image-DDUR5y02.js +1 -0
  343. package/assets/image-DDso8kuB.js +1 -0
  344. package/assets/image-DETlLb_v.js +1 -0
  345. package/assets/image-DFF2Z6Pk.js +1 -0
  346. package/assets/image-DFYGQEwh.js +1 -0
  347. package/assets/image-DFYwzuHA.js +1 -0
  348. package/assets/image-DFf3lDA_.js +1 -0
  349. package/assets/image-DFo7XMVJ.js +1 -0
  350. package/assets/image-DGLcwgsS.js +1 -0
  351. package/assets/image-DGhNZ1rS.js +1 -0
  352. package/assets/image-DH5ootHk.js +1 -0
  353. package/assets/image-DHHZDLK-.js +1 -0
  354. package/assets/image-DHnnMCFG.js +1 -0
  355. package/assets/image-DIDeRhKH.js +1 -0
  356. package/assets/image-DJLc6AlW.js +1 -0
  357. package/assets/image-DJYKaoNi.js +1 -0
  358. package/assets/image-DKBlkqWK.js +1 -0
  359. package/assets/image-DKcWaLtu.js +1 -0
  360. package/assets/image-DLiMUWBI.js +1 -0
  361. package/assets/image-DLtkWmCC.js +1 -0
  362. package/assets/image-DLvMDcgw.js +1 -0
  363. package/assets/image-DLwHWQ4l.js +1 -0
  364. package/assets/image-DMTT8AeN.js +1 -0
  365. package/assets/image-DNtaIeSw.js +1 -0
  366. package/assets/image-DNyYhMNV.js +1 -0
  367. package/assets/image-DOcz3CQ4.js +1 -0
  368. package/assets/image-DOwBqPVS.js +1 -0
  369. package/assets/image-DPzEe6a_.js +1 -0
  370. package/assets/image-DQzzFCs2.js +1 -0
  371. package/assets/image-DRpXk5be.js +1 -0
  372. package/assets/image-DRqNpoe6.js +1 -0
  373. package/assets/image-DSGxNIm1.js +1 -0
  374. package/assets/image-DT5Fvf2s.js +1 -0
  375. package/assets/image-DTa4RXUa.js +1 -0
  376. package/assets/image-DTy0DgOV.js +1 -0
  377. package/assets/image-DUcJQ0b3.js +1 -0
  378. package/assets/image-DUk3AUBd.js +1 -0
  379. package/assets/image-DUs_WIFe.js +1 -0
  380. package/assets/image-DVyDRAAO.js +1 -0
  381. package/assets/image-DWR067hG.js +1 -0
  382. package/assets/image-DZ-B-aVa.js +1 -0
  383. package/assets/image-DZc2BYzk.js +1 -0
  384. package/assets/image-DZpGtN5l.js +1 -0
  385. package/assets/image-DZplWZyD.js +1 -0
  386. package/assets/image-D_0i3ZH4.js +1 -0
  387. package/assets/image-D_cIj1db.js +1 -0
  388. package/assets/image-D_i0o0Nv.js +1 -0
  389. package/assets/image-Da2xkAVi.js +1 -0
  390. package/assets/image-DaaIjpQJ.js +1 -0
  391. package/assets/image-DaxrbegS.js +1 -0
  392. package/assets/image-DbBiNCFK.js +1 -0
  393. package/assets/image-DbpOM2LD.js +1 -0
  394. package/assets/image-Dc5zhKf6.js +1 -0
  395. package/assets/image-DcIu3U38.js +1 -0
  396. package/assets/image-DcM8byf5.js +1 -0
  397. package/assets/image-DcX8AUYd.js +1 -0
  398. package/assets/image-DdicXBNF.js +1 -0
  399. package/assets/image-De2xpum1.js +1 -0
  400. package/assets/image-DecSbpNG.js +1 -0
  401. package/assets/image-DesBMjvP.js +1 -0
  402. package/assets/image-Dfhapk7_.js +1 -0
  403. package/assets/image-DfzpWAED.js +1 -0
  404. package/assets/image-DgU8tR58.js +1 -0
  405. package/assets/image-Dgb3Vdrr.js +1 -0
  406. package/assets/image-DgkgLcDL.js +1 -0
  407. package/assets/image-Dh9w9A8z.js +1 -0
  408. package/assets/image-DhOOZChF.js +1 -0
  409. package/assets/image-DjXN5hvv.js +1 -0
  410. package/assets/image-Dkp4M1ik.js +1 -0
  411. package/assets/image-DmNOl1OW.js +1 -0
  412. package/assets/image-DmhgJWq-.js +1 -0
  413. package/assets/image-Dmp2jTO0.js +1 -0
  414. package/assets/image-Do8rO3zE.js +1 -0
  415. package/assets/image-DooF_Vfs.js +1 -0
  416. package/assets/image-DpGIEKrK.js +1 -0
  417. package/assets/image-DpHbdMp9.js +1 -0
  418. package/assets/image-DpeCw-px.js +1 -0
  419. package/assets/image-Dpgf4dcg.js +1 -0
  420. package/assets/image-DpjDzWCs.js +1 -0
  421. package/assets/image-DqH_Lyo9.js +1 -0
  422. package/assets/image-Dqbrewdt.js +1 -0
  423. package/assets/image-DrH3Wn2w.js +1 -0
  424. package/assets/image-DrHhCSDD.js +1 -0
  425. package/assets/image-DrobCWF2.js +1 -0
  426. package/assets/image-DrraBYJZ.js +1 -0
  427. package/assets/image-Ds78yECl.js +1 -0
  428. package/assets/image-DsOpF0U0.js +1 -0
  429. package/assets/image-Dtc98pdf.js +1 -0
  430. package/assets/image-DuQoo_kR.js +1 -0
  431. package/assets/image-Duck5tqn.js +1 -0
  432. package/assets/image-DvpdMMzF.js +1 -0
  433. package/assets/image-DwUGDFj5.js +1 -0
  434. package/assets/image-Dx4ya6_y.js +1 -0
  435. package/assets/image-DyrMImIL.js +1 -0
  436. package/assets/image-Dz82Zyfj.js +1 -0
  437. package/assets/image-DzJAqGfB.js +1 -0
  438. package/assets/image-DzLDqqsm.js +1 -0
  439. package/assets/image-E3PT44xu.js +1 -0
  440. package/assets/image-EUVXQieb.js +1 -0
  441. package/assets/image-ExeF69qZ.js +1 -0
  442. package/assets/image-EyKsXf_1.js +1 -0
  443. package/assets/image-FnAIuX7S.js +1 -0
  444. package/assets/image-Fq457JJn.js +1 -0
  445. package/assets/image-HcidEyjv.js +1 -0
  446. package/assets/image-IpgDqPq2.js +1 -0
  447. package/assets/image-JIl7mHMQ.js +1 -0
  448. package/assets/image-JyGUnQ_N.js +1 -0
  449. package/assets/image-K1HoU8Qi.js +1 -0
  450. package/assets/image-LfonVSeq.js +1 -0
  451. package/assets/image-M7TV7WaH.js +1 -0
  452. package/assets/image-MGwelZJS.js +1 -0
  453. package/assets/image-MQbcgW7z.js +1 -0
  454. package/assets/image-M_AWRaKs.js +1 -0
  455. package/assets/image-Mf3UQvEC.js +1 -0
  456. package/assets/image-Npe5Xkhl.js +1 -0
  457. package/assets/image-NsVKBwxZ.js +1 -0
  458. package/assets/image-OT0Fb2Nb.js +1 -0
  459. package/assets/image-On2ij4Ix.js +1 -0
  460. package/assets/image-OrIz0o8m.js +1 -0
  461. package/assets/image-PWpnYSKI.js +1 -0
  462. package/assets/image-SJHuomz2.js +1 -0
  463. package/assets/image-Sy6X7CtO.js +1 -0
  464. package/assets/image-T2oAotCg.js +1 -0
  465. package/assets/image-TA_PkYBz.js +1 -0
  466. package/assets/image-TQ3Nh_VF.js +1 -0
  467. package/assets/image-TQLBEOIW.js +1 -0
  468. package/assets/image-UFnS_pK0.js +1 -0
  469. package/assets/image-V4qYiUxw.js +1 -0
  470. package/assets/image-VFWT6oS6.js +1 -0
  471. package/assets/image-VlTaWJmy.js +1 -0
  472. package/assets/image-VxDqDj0T.js +1 -0
  473. package/assets/image-W-Y_Nm-s.js +1 -0
  474. package/assets/image-W5rUOVDT.js +1 -0
  475. package/assets/image-W7SfqKZe.js +1 -0
  476. package/assets/image-WbOd8jAJ.js +1 -0
  477. package/assets/image-Xfz-LkLu.js +1 -0
  478. package/assets/image-YbQrvLSP.js +1 -0
  479. package/assets/image-YhquT9-B.js +1 -0
  480. package/assets/image-YzdSnFCd.js +1 -0
  481. package/assets/image-Z9k3mhsb.js +1 -0
  482. package/assets/image-ZLtraAGN.js +1 -0
  483. package/assets/image-ZVoqlWXW.js +1 -0
  484. package/assets/image-Zh059TUR.js +1 -0
  485. package/assets/image-ZwibGfzR.js +1 -0
  486. package/assets/image-_t2-K1ZP.js +1 -0
  487. package/assets/image-bHJO6btW.js +1 -0
  488. package/assets/image-bHVCC2t9.js +1 -0
  489. package/assets/image-bSOL4gQb.js +1 -0
  490. package/assets/image-bpacFMFT.js +1 -0
  491. package/assets/image-cDoShVvl.js +1 -0
  492. package/assets/image-cwzgrAkh.js +1 -0
  493. package/assets/image-d8n8A6si.js +1 -0
  494. package/assets/image-dO78_uyn.js +1 -0
  495. package/assets/image-ddsU9gPS.js +1 -0
  496. package/assets/image-fjbgiffe.js +1 -0
  497. package/assets/image-gnC_p3Da.js +1 -0
  498. package/assets/image-gxCVLutB.js +1 -0
  499. package/assets/image-hO8Jv2oh.js +1 -0
  500. package/assets/image-iR_slvRo.js +1 -0
  501. package/assets/image-jv6wUF7a.js +1 -0
  502. package/assets/image-kZBIIBVa.js +1 -0
  503. package/assets/image-lBIlUHFP.js +1 -0
  504. package/assets/image-lOdcUtWG.js +1 -0
  505. package/assets/image-lXBTHYnD.js +1 -0
  506. package/assets/image-m7IlStdm.js +1 -0
  507. package/assets/image-mMy4SSmg.js +1 -0
  508. package/assets/image-nW5JvdXC.js +1 -0
  509. package/assets/image-nqueMEws.js +1 -0
  510. package/assets/image-o3pjQDbu.js +1 -0
  511. package/assets/image-oGFA7lCe.js +1 -0
  512. package/assets/image-oKct0i27.js +1 -0
  513. package/assets/image-pEGSGt6h.js +1 -0
  514. package/assets/image-pKZ5ApxC.js +1 -0
  515. package/assets/image-pcyfaNhf.js +1 -0
  516. package/assets/image-q4XfUN6v.js +1 -0
  517. package/assets/image-qLUwfjzV.js +1 -0
  518. package/assets/image-qsAyF5Oj.js +1 -0
  519. package/assets/image-rAE1A9js.js +1 -0
  520. package/assets/image-rdvu9IOp.js +1 -0
  521. package/assets/image-ripXpF5P.js +1 -0
  522. package/assets/image-rvsWf8U_.js +1 -0
  523. package/assets/image-rw28GAIu.js +1 -0
  524. package/assets/image-sDrIF89f.js +1 -0
  525. package/assets/image-sm-_D7TO.js +1 -0
  526. package/assets/image-ss2LFlQu.js +1 -0
  527. package/assets/image-t4jvKgpV.js +1 -0
  528. package/assets/image-tiHbZ1Vk.js +1 -0
  529. package/assets/image-uGs9mRWl.js +1 -0
  530. package/assets/image-uk4MysVY.js +1 -0
  531. package/assets/image-vXNBwFvw.js +1 -0
  532. package/assets/image-vrSaD0K9.js +1 -0
  533. package/assets/image-vuuCn07N.js +1 -0
  534. package/assets/image-wR942Jk6.js +1 -0
  535. package/assets/image-xJO47ptb.js +1 -0
  536. package/assets/image-xMsS8TDb.js +1 -0
  537. package/assets/image-xaEWk6k8.js +1 -0
  538. package/assets/image-y3eCNAT6.js +1 -0
  539. package/assets/image-zsArRLIF.js +1 -0
  540. package/assets/in-app-wallet-calls-DbKbmK-Y.js +1 -0
  541. package/assets/index--YTVamH2.js +1 -0
  542. package/assets/{index-BVl96nae.js → index--jadAGtc.js} +4 -4
  543. package/assets/index--rITGawC.js +1 -0
  544. package/assets/index--t3K2suC.js +1 -0
  545. package/assets/index-0qRtNAQn.js +1 -0
  546. package/assets/index-18L0wZ74.js +1 -0
  547. package/assets/index-1CA6ps09.js +1 -0
  548. package/assets/{index-BiLryErS.js → index-2_tg7ntR.js} +1 -1
  549. package/assets/index-2qmxPQhP.js +1 -0
  550. package/assets/index-3DerMn1X.js +1 -0
  551. package/assets/index-3an-fsOm.js +1 -0
  552. package/assets/index-3d3uK5Ax.js +1 -0
  553. package/assets/index-3jJtZlGN.js +1 -0
  554. package/assets/index-4Nmn8ium.js +1 -0
  555. package/assets/index-4WvPsM5O.js +1 -0
  556. package/assets/index-5IpGHzAv.js +1 -0
  557. package/assets/index-5U2ZJeh5.js +1 -0
  558. package/assets/index-7BdGIDy3.js +1 -0
  559. package/assets/index-7C_yDnI4.js +1 -0
  560. package/assets/index-7Xw6Dozy.js +1 -0
  561. package/assets/index-8Ff6vDUD.js +1 -0
  562. package/assets/index-9552Tb-C.js +1 -0
  563. package/assets/index-9Ml23qSY.js +1 -0
  564. package/assets/{index-CGPWALgm.js → index-9PsuzUrA.js} +1 -1
  565. package/assets/index-B-BftUxa.js +1 -0
  566. package/assets/index-B-UTLjBc.js +1 -0
  567. package/assets/index-B-kI7R4f.js +1 -0
  568. package/assets/index-B-oXIR8J.js +1 -0
  569. package/assets/index-B05algAv.js +1 -0
  570. package/assets/index-B062fuzr.js +1 -0
  571. package/assets/index-B1-qcL-p.js +1 -0
  572. package/assets/index-B1XrJIPH.js +1 -0
  573. package/assets/index-B21BIk0D.js +1 -0
  574. package/assets/index-B2WV7sR7.js +1 -0
  575. package/assets/index-B2sb_WVn.js +16 -0
  576. package/assets/index-B3vR_dtk.js +1 -0
  577. package/assets/index-B51294pb.js +1 -0
  578. package/assets/index-B5AZ3O3C.js +1 -0
  579. package/assets/index-B5BAsv-B.js +1 -0
  580. package/assets/index-B6n-vVE0.js +1 -0
  581. package/assets/index-B6yqoFuC.js +1 -0
  582. package/assets/index-B78E3fcT.js +1 -0
  583. package/assets/index-B7GQyWAF.js +1 -0
  584. package/assets/index-B7dAHFam.js +1 -0
  585. package/assets/index-B8BWAl26.js +1 -0
  586. package/assets/index-B8De2hoC.js +1 -0
  587. package/assets/index-B8SH8PS4.js +1 -0
  588. package/assets/index-B94SpzOt.js +1 -0
  589. package/assets/index-BA0Hn6eE.js +1 -0
  590. package/assets/index-BARF52iT.js +1 -0
  591. package/assets/index-BBANTdk4.js +1 -0
  592. package/assets/index-BBDAdmKp.js +1 -0
  593. package/assets/index-BBiL2lyk.js +1 -0
  594. package/assets/index-BBkeSt5m.js +1 -0
  595. package/assets/index-BDifUsn3.js +1 -0
  596. package/assets/index-BEFk-36A.js +1 -0
  597. package/assets/index-BEXV42kp.js +1 -0
  598. package/assets/index-BEx6ckei.js +1 -0
  599. package/assets/index-BFGXqrJS.js +1 -0
  600. package/assets/index-BFJUkm8C.js +1 -0
  601. package/assets/index-BFZxo6Jc.js +1 -0
  602. package/assets/index-BG1ZQeCA.js +1 -0
  603. package/assets/index-BGGk2Hck.js +1 -0
  604. package/assets/index-BH1-nK1j.js +1 -0
  605. package/assets/index-BHZDuU0I.js +1 -0
  606. package/assets/index-BIFgx20V.js +1 -0
  607. package/assets/index-BILUwmJ9.js +1 -0
  608. package/assets/index-BIXqJF5y.js +1 -0
  609. package/assets/index-BIcsFldg.js +1 -0
  610. package/assets/index-BIeLm-x3.js +1 -0
  611. package/assets/index-BJAcAgB9.js +1 -0
  612. package/assets/index-BJBC3bLU.js +1 -0
  613. package/assets/index-BKN05ia6.js +1 -0
  614. package/assets/{index-D4vfCk5a.js → index-BKSeuHAx.js} +1 -1
  615. package/assets/index-BKkJhanY.js +1 -0
  616. package/assets/index-BKoDPf_i.js +1 -0
  617. package/assets/index-BLMjeGJ-.js +1 -0
  618. package/assets/index-BLO6pY9b.js +1 -0
  619. package/assets/index-BLsnOBhg.js +1 -0
  620. package/assets/index-BM8c6qO-.js +1 -0
  621. package/assets/index-BM9GzZ_o.js +1 -0
  622. package/assets/index-BMPGw_D6.js +1 -0
  623. package/assets/index-BNh9F8w5.js +14 -0
  624. package/assets/index-BNlDhEDg.js +1 -0
  625. package/assets/index-BP-yDgcx.js +1 -0
  626. package/assets/index-BP76iXI2.js +1 -0
  627. package/assets/index-BPFXH4g9.js +1 -0
  628. package/assets/index-BPgl8Hhp.js +1 -0
  629. package/assets/index-BQWXi0by.js +1 -0
  630. package/assets/index-BQwDdmmS.js +1 -0
  631. package/assets/index-BRIQuVzg.js +1 -0
  632. package/assets/index-BSA2BPZ9.js +1 -0
  633. package/assets/index-BTkNDmCP.js +1 -0
  634. package/assets/index-BTqXeJHf.js +1 -0
  635. package/assets/index-BTzbgIH6.js +1 -0
  636. package/assets/index-BVAmxcaa.js +1 -0
  637. package/assets/index-BVQeUBdj.js +1 -0
  638. package/assets/index-BXY5tnuK.js +1 -0
  639. package/assets/index-BXZiXU-9.js +1 -0
  640. package/assets/index-BXi61TZ5.js +1 -0
  641. package/assets/index-BXnDDK-y.js +1 -0
  642. package/assets/index-BYnzQeZQ.js +2 -0
  643. package/assets/index-BZUSQkq9.js +1 -0
  644. package/assets/index-BZhX-e71.js +1 -0
  645. package/assets/index-BZwq4W5O.js +1 -0
  646. package/assets/index-B_OXuBhF.js +1 -0
  647. package/assets/index-Ba2OoCBH.js +1 -0
  648. package/assets/index-Ba45jQBJ.js +1 -0
  649. package/assets/index-Ba7PpD6d.js +1 -0
  650. package/assets/index-Bap5Lkty.js +1 -0
  651. package/assets/index-Bbv-4GNB.js +1 -0
  652. package/assets/index-Bbznecif.js +1 -0
  653. package/assets/index-Bd7BhrCK.js +1 -0
  654. package/assets/index-BdgyG9Qa.js +1 -0
  655. package/assets/index-BdkJrfxl.js +1 -0
  656. package/assets/index-BfYVYwh5.js +1 -0
  657. package/assets/index-BftqI1FU.js +1 -0
  658. package/assets/index-BgECKCj8.js +1 -0
  659. package/assets/index-BgbYZOnC.js +1 -0
  660. package/assets/index-Bh8eOJMM.js +1 -0
  661. package/assets/index-BiHhxeDt.js +1 -0
  662. package/assets/{index-DDM8jcdB.js → index-BiNk8IdC.js} +1 -1
  663. package/assets/index-Bk-uZV0j.js +1 -0
  664. package/assets/{index-DvkqkvrD.js → index-BkK4bCOM.js} +1 -1
  665. package/assets/index-BkM7PWkU.js +1 -0
  666. package/assets/index-Bl6ScMn3.js +1 -0
  667. package/assets/index-BlU4B6pe.js +1 -0
  668. package/assets/index-Bm92iZMY.js +1 -0
  669. package/assets/index-BmKJ1abQ.js +1 -0
  670. package/assets/index-BmXd0pys.js +1 -0
  671. package/assets/index-BmwlJTQ-.js +1 -0
  672. package/assets/index-BnsE1W-S.js +1 -0
  673. package/assets/index-BoC-cn90.js +1 -0
  674. package/assets/index-BoCHG1VO.js +1 -0
  675. package/assets/index-BoJGVmma.js +1 -0
  676. package/assets/index-BogX5ITG.js +1 -0
  677. package/assets/{index-D3210T_O.js → index-Bp_3ZVNR.js} +1 -1
  678. package/assets/index-Bprjmfje.js +1 -0
  679. package/assets/index-BpspMk9l.js +1 -0
  680. package/assets/{index-C4fAPlQC.js → index-BqHyC1cF.js} +1 -1
  681. package/assets/index-BqK7Phb6.js +1 -0
  682. package/assets/index-BqLb859N.js +1 -0
  683. package/assets/index-BqxSKkSq.js +1 -0
  684. package/assets/index-BrOCsLbf.js +1 -0
  685. package/assets/index-BrvgJVgh.js +1 -0
  686. package/assets/index-BtBx3hi1.js +1 -0
  687. package/assets/index-BtZsXMJj.js +1 -0
  688. package/assets/index-BtfbjCVr.js +1 -0
  689. package/assets/index-BuSavAVK.js +1 -0
  690. package/assets/index-BuWGQyCe.js +1 -0
  691. package/assets/index-BuhGQjsZ.js +1 -0
  692. package/assets/index-BwCUvEoQ.js +1 -0
  693. package/assets/index-BwL47YsA.js +1 -0
  694. package/assets/{index-CegWB1ic.js → index-BwivyfoP.js} +2 -2
  695. package/assets/index-Bwjy4Jw7.js +1 -0
  696. package/assets/index-Bx9srovK.js +1 -0
  697. package/assets/index-BxqRct_I.js +1 -0
  698. package/assets/index-BxtNhRvf.js +1 -0
  699. package/assets/index-BzNpkHfI.js +1 -0
  700. package/assets/index-BzfyCotn.js +1 -0
  701. package/assets/{index-BpR68xtJ.js → index-BzvYrb-G.js} +1 -1
  702. package/assets/index-C-A1j44m.js +1 -0
  703. package/assets/index-C-OT0KJG.js +1 -0
  704. package/assets/index-C-b1qpM9.js +1 -0
  705. package/assets/{index-9622WNpL.js → index-C0DSH9UE.js} +1 -1
  706. package/assets/index-C0HCn7GN.js +1 -0
  707. package/assets/index-C0I75rp3.js +1 -0
  708. package/assets/index-C1a5oPtZ.js +1 -0
  709. package/assets/index-C1adBKyv.js +1 -0
  710. package/assets/index-C2CZkwuV.js +1 -0
  711. package/assets/index-C2KnoZm4.js +1 -0
  712. package/assets/{index-sfx_bXjX.js → index-C5H4fI5z.js} +6 -6
  713. package/assets/{index-D-LWcNDG.js → index-C5Mndy14.js} +1 -1
  714. package/assets/index-C5NL4PoV.js +1 -0
  715. package/assets/index-C5X26G0P.js +1 -0
  716. package/assets/index-C5ZfEOey.js +1 -0
  717. package/assets/index-C5gBqe1B.js +1 -0
  718. package/assets/index-C63hJ0G0.js +1 -0
  719. package/assets/index-C6EDKfcJ.js +1 -0
  720. package/assets/index-C6baQHax.js +1 -0
  721. package/assets/index-C6d9DLRH.js +1 -0
  722. package/assets/index-C7HuhgLE.js +1 -0
  723. package/assets/index-C7N44kNF.js +1 -0
  724. package/assets/index-C7WD5W_Z.js +1 -0
  725. package/assets/index-C7njqxXR.js +1 -0
  726. package/assets/index-C8AQSvJD.js +1 -0
  727. package/assets/index-C8VMxu1Z.js +1 -0
  728. package/assets/index-C8mAROh2.js +1 -0
  729. package/assets/index-C91aPf2g.js +1 -0
  730. package/assets/index-C93NlSEw.js +1 -0
  731. package/assets/index-C9taR4Do.js +1 -0
  732. package/assets/index-CAYpPiIA.js +1 -0
  733. package/assets/index-CAfHv9Ye.js +1 -0
  734. package/assets/index-CBVJzm96.js +1 -0
  735. package/assets/index-CB_NguTF.js +1 -0
  736. package/assets/index-CCIAeA2T.js +1 -0
  737. package/assets/index-CD7cY8HX.js +1 -0
  738. package/assets/index-CDqfDzT6.js +1 -0
  739. package/assets/index-CE9n_StB.js +1 -0
  740. package/assets/index-CEpc_g8h.js +1 -0
  741. package/assets/index-CExunyqd.js +1 -0
  742. package/assets/index-CFUSXkKo.js +1 -0
  743. package/assets/index-CGMXxK_x.js +1 -0
  744. package/assets/index-CId5PD0X.js +1 -0
  745. package/assets/index-CJ8I9s4o.js +1 -0
  746. package/assets/{index-DujN9FwF.css → index-CJMoiuMb.css} +3 -3
  747. package/assets/index-CJXaU_uj.js +1330 -0
  748. package/assets/index-CJYo3Znz.js +1 -0
  749. package/assets/index-CJt068xh.js +1 -0
  750. package/assets/{index-CC7ROi52.js → index-CK54lS7p.js} +1 -1
  751. package/assets/index-CKXDw-uc.js +1 -0
  752. package/assets/index-CLikIjn_.js +1 -0
  753. package/assets/index-CLtv9-lU.js +1 -0
  754. package/assets/index-CLxj2t1J.js +1 -0
  755. package/assets/{index-DIFicjHH.js → index-CM5u4pln.js} +1 -1
  756. package/assets/index-CMGByxdA.js +1 -0
  757. package/assets/index-CMzQk3O6.js +1 -0
  758. package/assets/index-CN6XdMAo.js +1 -0
  759. package/assets/index-CN99OAiz.js +1 -0
  760. package/assets/index-CNLH4wrU.js +1 -0
  761. package/assets/index-CNkg8_tm.js +1 -0
  762. package/assets/index-CNl69Nv0.js +1 -0
  763. package/assets/index-COFjg0BY.js +1 -0
  764. package/assets/index-COlGaDkw.js +1 -0
  765. package/assets/index-CP3DQPwx.js +1 -0
  766. package/assets/index-CP_9UNXA.js +1 -0
  767. package/assets/index-CQ3aQg5G.js +1 -0
  768. package/assets/index-CQPZVLgk.js +1 -0
  769. package/assets/index-CRRdY0XA.js +1 -0
  770. package/assets/index-CRTSSeuy.js +1 -0
  771. package/assets/index-CTs1t6rA.js +1 -0
  772. package/assets/index-CU3o29pL.js +1 -0
  773. package/assets/index-CU6cpe0O.js +1 -0
  774. package/assets/index-CU6dgzkA.js +1 -0
  775. package/assets/index-CUEmD5dS.js +1 -0
  776. package/assets/index-CUJUgO36.js +1 -0
  777. package/assets/index-CW58bOV7.js +1 -0
  778. package/assets/index-CW6lKp1A.js +1 -0
  779. package/assets/index-CW8D5Pv5.js +1 -0
  780. package/assets/index-CWTqaiN6.js +1 -0
  781. package/assets/index-CWdL5XwO.js +1 -0
  782. package/assets/index-CWmGdvBR.js +1 -0
  783. package/assets/index-CXYI0OjH.js +1 -0
  784. package/assets/index-CXgqt45P.js +1 -0
  785. package/assets/index-CZNdz8B6.js +1 -0
  786. package/assets/index-CZfaBXw3.js +1 -0
  787. package/assets/index-CZmLnawh.js +1 -0
  788. package/assets/index-C_5dy4gh.js +1 -0
  789. package/assets/index-C_C9JdoE.js +1 -0
  790. package/assets/index-C_XOoDbk.js +1 -0
  791. package/assets/index-C_fnrq8t.js +1 -0
  792. package/assets/index-C_j5E1ow.js +1 -0
  793. package/assets/index-C_j7AjFr.js +1 -0
  794. package/assets/index-Ca7jbqnT.js +1 -0
  795. package/assets/index-CaZIFXyW.js +1 -0
  796. package/assets/index-CapnWgEl.js +1 -0
  797. package/assets/index-Cb41eDDJ.js +1 -0
  798. package/assets/index-CbEIEIEo.js +1 -0
  799. package/assets/index-CbGJyo5C.js +1 -0
  800. package/assets/index-CbMeskkV.js +1 -0
  801. package/assets/index-Cc4uopde.js +1 -0
  802. package/assets/index-CcNQ53IV.js +1 -0
  803. package/assets/index-CcdGs50g.js +1 -0
  804. package/assets/index-Cd5Dye5X.js +1 -0
  805. package/assets/index-CdMxme0L.js +1 -0
  806. package/assets/index-CdOxXIip.js +1 -0
  807. package/assets/index-CdYRC4Ux.js +1 -0
  808. package/assets/index-CdvxolxE.js +1 -0
  809. package/assets/index-Ce98wt2N.js +1 -0
  810. package/assets/index-CecEswCv.js +1 -0
  811. package/assets/index-CfCXSq_b.js +1 -0
  812. package/assets/index-CfO_m3oL.js +1 -0
  813. package/assets/index-Cfzzcvgo.js +1 -0
  814. package/assets/index-Cg1E5HxJ.js +1 -0
  815. package/assets/index-CiwBOkla.js +1 -0
  816. package/assets/index-CjVYDT09.js +1 -0
  817. package/assets/index-CkqupmC6.js +1 -0
  818. package/assets/index-Cl87iGjg.js +1 -0
  819. package/assets/{index-B5hA0q5t.js → index-ClGvvj_d.js} +1 -1
  820. package/assets/index-CmCRou09.js +1 -0
  821. package/assets/index-ComRbnem.js +1 -0
  822. package/assets/index-Coq7--sH.js +1 -0
  823. package/assets/index-CpJZxSfI.js +1 -0
  824. package/assets/index-CpMkh5pZ.js +1 -0
  825. package/assets/index-CqJjpCD5.js +1 -0
  826. package/assets/index-CqWFxNbG.js +1 -0
  827. package/assets/index-CrBWjlui.js +1 -0
  828. package/assets/index-CrGDBMbK.js +1 -0
  829. package/assets/index-CrUcAJK0.js +1 -0
  830. package/assets/index-CrlKVJaS.js +139 -0
  831. package/assets/index-Crs9jVrm.js +1 -0
  832. package/assets/index-CsAX4sL-.js +1 -0
  833. package/assets/{index-D0cZbiaE.js → index-CsRobnsY.js} +1 -1
  834. package/assets/index-CszQa87W.js +1 -0
  835. package/assets/{index-DLQqf4VH.js → index-Ct-s5kqz.js} +1 -1
  836. package/assets/index-Ct6AYfZ-.js +1 -0
  837. package/assets/index-Cu2rQjR7.js +1 -0
  838. package/assets/index-CuJtvtqs.js +1 -0
  839. package/assets/index-CuQBw1y6.js +1 -0
  840. package/assets/index-CujrNB-Q.js +1 -0
  841. package/assets/index-Cv59xn6_.js +1 -0
  842. package/assets/index-CvFuMuSJ.js +7 -0
  843. package/assets/index-Cw9NGSPc.js +1 -0
  844. package/assets/index-Cws1zSAX.js +1 -0
  845. package/assets/index-Cx8lAzRu.js +1 -0
  846. package/assets/index-CxBkKx5Q.js +1 -0
  847. package/assets/index-CyhgnW_d.js +1 -0
  848. package/assets/index-Czf-i91G.js +1 -0
  849. package/assets/index-D-qw7id5.js +1 -0
  850. package/assets/index-D06ftJGd.js +1 -0
  851. package/assets/index-D09WfuKj.js +1 -0
  852. package/assets/index-D0rQT1_1.js +1 -0
  853. package/assets/index-D1G_5OyD.js +1 -0
  854. package/assets/index-D1Wt1Kx7.js +1 -0
  855. package/assets/index-D1j-SvoJ.js +1 -0
  856. package/assets/index-D2-ySoTs.js +1 -0
  857. package/assets/index-D2Z8_AUU.js +1 -0
  858. package/assets/index-D2_d10WC.js +1 -0
  859. package/assets/index-D2hPph8l.js +1 -0
  860. package/assets/index-D2vPh3Mc.js +1 -0
  861. package/assets/index-D30RfPa1.js +1 -0
  862. package/assets/index-D45a0k-1.js +1 -0
  863. package/assets/index-D4Sgj1mL.js +1 -0
  864. package/assets/index-D4VnhuTS.js +1 -0
  865. package/assets/index-D5GVUjIM.js +1 -0
  866. package/assets/index-D6d2Y6jv.js +1 -0
  867. package/assets/index-D6xvjdG0.js +1 -0
  868. package/assets/index-D6zAueb_.js +1 -0
  869. package/assets/index-D7FslwZl.js +1 -0
  870. package/assets/index-D7Gl-ZGb.js +1 -0
  871. package/assets/index-D7tY9ND1.js +3 -0
  872. package/assets/index-D8dYcFAn.js +1 -0
  873. package/assets/index-D9Jrno_D.js +1 -0
  874. package/assets/index-DACt8hFb.js +1 -0
  875. package/assets/index-DAEFTu29.js +1 -0
  876. package/assets/index-DAYuEFQ-.js +1 -0
  877. package/assets/{index-63ryy2H7.js → index-DAZxg2j9.js} +1 -1
  878. package/assets/index-DAlw00ee.js +1 -0
  879. package/assets/index-DBst6Hla.js +1 -0
  880. package/assets/index-DDdoZFD-.js +1 -0
  881. package/assets/index-DDggnqr4.js +1 -0
  882. package/assets/index-DDk7D3eE.js +1 -0
  883. package/assets/index-DDwu-IMz.js +1 -0
  884. package/assets/index-DEMIRENu.js +1 -0
  885. package/assets/index-DEV4egrN.js +1 -0
  886. package/assets/index-DE_8irSD.js +1 -0
  887. package/assets/index-DEzKWTBJ.js +1 -0
  888. package/assets/index-DFSGuScS.js +1 -0
  889. package/assets/index-DFZNHq44.js +1 -0
  890. package/assets/index-DFc7lZHb.js +1 -0
  891. package/assets/index-DFghxfjK.js +1 -0
  892. package/assets/index-DFrKYv4g.js +1 -0
  893. package/assets/index-DFt1vT8N.js +1 -0
  894. package/assets/{index-ob8E8aCR.js → index-DGGTT6qz.js} +1 -1
  895. package/assets/index-DHDm_YtM.js +1 -0
  896. package/assets/index-DHNwai-Z.js +1 -0
  897. package/assets/index-DICTy0sa.js +1 -0
  898. package/assets/{index-Bn5NbI5q.js → index-DIGdbhMA.js} +12 -12
  899. package/assets/index-DILut-jL.js +1 -0
  900. package/assets/index-DJYG2Vtc.js +1 -0
  901. package/assets/index-DK-e_E51.js +1 -0
  902. package/assets/index-DKbx-y78.js +1 -0
  903. package/assets/index-DKzyJcIY.js +1 -0
  904. package/assets/index-DLGneTkB.js +1 -0
  905. package/assets/index-DLHjxUiX.js +1 -0
  906. package/assets/index-DLMSD3H_.js +1 -0
  907. package/assets/{index-D8utJD1q.js → index-DLmguShE.js} +1 -1
  908. package/assets/index-DMAP8qTI.js +1 -0
  909. package/assets/index-DMEV07wA.js +1 -0
  910. package/assets/index-DMTU8hfu.js +1 -0
  911. package/assets/index-DMyDV-OH.js +1 -0
  912. package/assets/index-DMyHg26L.js +1 -0
  913. package/assets/index-DNynPGua.js +1 -0
  914. package/assets/index-DP0utIbV.js +1 -0
  915. package/assets/index-DPCPDLBT.js +1 -0
  916. package/assets/index-DPFoWmV6.js +1 -0
  917. package/assets/index-DPPIbXj8.js +1 -0
  918. package/assets/index-DPXkoJXK.js +1 -0
  919. package/assets/index-DPgWRg9-.js +1 -0
  920. package/assets/index-DPhI9JUn.js +1 -0
  921. package/assets/index-DPic1oJg.js +1 -0
  922. package/assets/index-DQ8_v09O.js +1 -0
  923. package/assets/index-DQa9pNJd.js +1 -0
  924. package/assets/index-DR-ujXcj.js +1 -0
  925. package/assets/index-DRVDpxj6.js +1 -0
  926. package/assets/index-DSL1LhIu.js +1 -0
  927. package/assets/index-DSWhMtMn.js +1 -0
  928. package/assets/{index-B67YOfeC.js → index-DSkrpllW.js} +6 -6
  929. package/assets/index-DTPO88lj.js +1 -0
  930. package/assets/index-DTtDhdi2.js +1 -0
  931. package/assets/index-DUBZIaC-.js +1 -0
  932. package/assets/index-DV2Q2KhC.js +1 -0
  933. package/assets/{index-B6uX-ktZ.js → index-DVBhvBRU.js} +1 -1
  934. package/assets/index-DVGcX2HE.js +1 -0
  935. package/assets/{index-DW4P7uZM.js → index-DXw54YOI.js} +1 -1
  936. package/assets/index-DYiL0IsZ.js +1 -0
  937. package/assets/index-DZ2hd5eC.js +1 -0
  938. package/assets/index-DZRVQyzq.js +1 -0
  939. package/assets/index-D_7wDcMK.js +1 -0
  940. package/assets/index-D_d6gemZ.js +1 -0
  941. package/assets/index-D_sOL50h.js +3 -0
  942. package/assets/index-DaZnaClT.js +1 -0
  943. package/assets/index-DbAxetvE.js +1 -0
  944. package/assets/index-Db_DlPJs.js +1 -0
  945. package/assets/index-DcUozftP.js +1 -0
  946. package/assets/index-DcwbqEHj.js +1 -0
  947. package/assets/index-DcyXtFTG.js +1 -0
  948. package/assets/index-Ddqy22qU.js +1 -0
  949. package/assets/index-De1eZyIJ.js +1 -0
  950. package/assets/index-DeQey0SH.js +1 -0
  951. package/assets/index-DfafaK4Q.js +1 -0
  952. package/assets/index-DgNvhZ_M.js +1 -0
  953. package/assets/{index-ChFOHri2.js → index-DgtkWFoE.js} +1 -1
  954. package/assets/index-DhFHq_nZ.js +1 -0
  955. package/assets/index-DhlaSoR4.js +1 -0
  956. package/assets/index-DibwKtF2.js +1 -0
  957. package/assets/index-DjLE3t9q.js +1 -0
  958. package/assets/index-Dk8LF9Yk.js +1 -0
  959. package/assets/{index-YrgCePxM.js → index-DkGkQYWL.js} +1 -1
  960. package/assets/index-DkPRLpmE.js +1 -0
  961. package/assets/index-DkcP2fCc.js +1 -0
  962. package/assets/index-DlKNOIdN.js +1 -0
  963. package/assets/index-DlfGjmz4.js +1 -0
  964. package/assets/index-DmLPMpkA.js +1 -0
  965. package/assets/{index-CmVofuiV.js → index-Dmu4eyxj.js} +1 -1
  966. package/assets/index-Dn2svNQz.js +1 -0
  967. package/assets/index-DnUUaSfF.js +1 -0
  968. package/assets/index-DoKwRUhz.js +1 -0
  969. package/assets/index-DoeeKGAI.js +1 -0
  970. package/assets/index-DpRqa1iX.js +1 -0
  971. package/assets/index-DpoJvg5R.js +1 -0
  972. package/assets/index-DqVvpGRi.js +1 -0
  973. package/assets/index-DqYjD_64.js +1 -0
  974. package/assets/index-Dqyfi4dm.js +1 -0
  975. package/assets/{index-P9m1hcFq.js → index-DruFPG6a.js} +1 -1
  976. package/assets/index-DrzmRQ9S.js +1 -0
  977. package/assets/index-DsgD7D-8.js +1 -0
  978. package/assets/index-DszThTMl.js +1 -0
  979. package/assets/index-Dtavj5eK.js +1 -0
  980. package/assets/index-DuTQzi4Z.js +1 -0
  981. package/assets/index-DufOfQ90.js +1 -0
  982. package/assets/index-DvXpQOkv.js +1 -0
  983. package/assets/index-Dxm6Y7eO.js +1 -0
  984. package/assets/index-Dy45c3qF.js +1 -0
  985. package/assets/index-DyaPXLoO.js +1 -0
  986. package/assets/index-Dzkop1Gk.js +1 -0
  987. package/assets/{index-C86alQeW.js → index-EW7NHQDe.js} +1 -1
  988. package/assets/index-Fd858RJQ.js +1 -0
  989. package/assets/index-G-h-xM0C.js +1 -0
  990. package/assets/index-HFnaQWCU.js +1 -0
  991. package/assets/index-HPp1Id1p.js +1 -0
  992. package/assets/index-He5kaR9n.js +1 -0
  993. package/assets/index-HnCuhDYJ.js +1 -0
  994. package/assets/index-HzSvsrak.js +1 -0
  995. package/assets/index-IBUgXgOa.js +1 -0
  996. package/assets/index-Ia3LffGn.js +1 -0
  997. package/assets/index-Im6F3t68.js +1 -0
  998. package/assets/index-JAAqCLcG.js +1 -0
  999. package/assets/index-JNZoio_2.js +1 -0
  1000. package/assets/index-Jmrm9oUu.js +1 -0
  1001. package/assets/index-JuvDLDuk.js +1 -0
  1002. package/assets/index-K7y9yqJI.js +1 -0
  1003. package/assets/{index-D370E7Y3.js → index-KRS-uzDQ.js} +1 -1
  1004. package/assets/index-KXLAu1y1.js +1 -0
  1005. package/assets/index-KpPak-wu.js +1 -0
  1006. package/assets/index-Kt6GlPCW.js +1 -0
  1007. package/assets/index-MECmwSvw.js +1 -0
  1008. package/assets/index-NO3dCFlG.js +1 -0
  1009. package/assets/{index-BXhwvFj3.js → index-Oy9Zk8Im.js} +1 -1
  1010. package/assets/index-PjYIiHEb.js +1 -0
  1011. package/assets/index-Pw2thZ4h.js +1 -0
  1012. package/assets/index-QGSP4PI8.js +1 -0
  1013. package/assets/index-QvBzJwgv.js +1 -0
  1014. package/assets/index-RJhc6LnM.js +1 -0
  1015. package/assets/index-RdxK08_7.js +2 -0
  1016. package/assets/index-RiIluuCN.js +1 -0
  1017. package/assets/index-RpXAvNRL.js +1 -0
  1018. package/assets/index-S5s6rAc3.js +1 -0
  1019. package/assets/index-SCBLsVUL.js +1 -0
  1020. package/assets/index-SaOy8OjI.js +1 -0
  1021. package/assets/index-VZmM-6RJ.js +1 -0
  1022. package/assets/index-WXvxLSve.js +1 -0
  1023. package/assets/{index-Bnz4IwFl.js → index-Wpszpw0y.js} +1 -1
  1024. package/assets/index-WsH2ZGfO.js +1 -0
  1025. package/assets/index-WwjGYjHa.js +1 -0
  1026. package/assets/index-Wz7obrZB.js +1 -0
  1027. package/assets/index-XRQW1mUN.js +1 -0
  1028. package/assets/index-YDG1R00C.js +1 -0
  1029. package/assets/index-YcqLCtWD.js +1 -0
  1030. package/assets/index-Yk_iQY25.js +1 -0
  1031. package/assets/index-ZITrt5Fi.js +1 -0
  1032. package/assets/index-_36_A-pH.js +1 -0
  1033. package/assets/index-_a8zNWKv.js +1 -0
  1034. package/assets/index-aoLVKFG1.js +1 -0
  1035. package/assets/index-b5ABnFKj.js +1 -0
  1036. package/assets/index-bQArImNA.js +1 -0
  1037. package/assets/index-bsKYZmcs.js +1 -0
  1038. package/assets/index-bzH6W7xo.js +1 -0
  1039. package/assets/index-cAvSYrmF.js +1 -0
  1040. package/assets/index-cF_6KJvb.js +1 -0
  1041. package/assets/index-cTRIo3rN.js +1 -0
  1042. package/assets/index-caEr82M6.js +1 -0
  1043. package/assets/index-cdlur5jM.js +1 -0
  1044. package/assets/index-e_qeQmc1.js +1 -0
  1045. package/assets/index-eiEAIzdd.js +1 -0
  1046. package/assets/index-eujSyrnd.js +1 -0
  1047. package/assets/index-fiGpKN6W.js +1 -0
  1048. package/assets/index-ficai7Ce.js +1 -0
  1049. package/assets/index-fm1oF4Rd.js +1 -0
  1050. package/assets/index-gQ8zpnGO.js +1 -0
  1051. package/assets/index-hUldZ-v8.js +1 -0
  1052. package/assets/index-iJWzlNVI.js +1 -0
  1053. package/assets/index-j06jujv2.js +1 -0
  1054. package/assets/index-j8mIFeCA.js +1 -0
  1055. package/assets/index-j8xu_BhO.js +1 -0
  1056. package/assets/index-jTpsrMvb.js +1 -0
  1057. package/assets/index-jsmqr-24.js +1 -0
  1058. package/assets/index-kNZGxYSe.js +1 -0
  1059. package/assets/index-l2eJJ7mG.js +1 -0
  1060. package/assets/index-l8DhIVZW.js +1 -0
  1061. package/assets/index-lGNYNhMi.js +1 -0
  1062. package/assets/index-lIOVfT2m.js +1 -0
  1063. package/assets/index-m0YDsCpu.js +1 -0
  1064. package/assets/index-mJTgSazQ.js +1 -0
  1065. package/assets/index-npRlG_V2.js +1 -0
  1066. package/assets/index-oEcArN4B.js +1 -0
  1067. package/assets/index-otRo5H2H.js +1 -0
  1068. package/assets/index-ovz39Egy.js +1 -0
  1069. package/assets/index-p0ATWoVh.js +1 -0
  1070. package/assets/index-pcLdliEp.js +1 -0
  1071. package/assets/{index-CtfXKKAV.js → index-qDowJ7_N.js} +1 -1
  1072. package/assets/index-qNIXx6_B.js +1 -0
  1073. package/assets/index-qmNRbp6W.js +1 -0
  1074. package/assets/index-s6ugJH3L.js +1 -0
  1075. package/assets/index-stFagoJS.js +1 -0
  1076. package/assets/index-szNElS1a.js +1 -0
  1077. package/assets/index-t6B_NULY.js +1 -0
  1078. package/assets/index-tkvX3w1X.js +1 -0
  1079. package/assets/index-uKvrIGe-.js +1 -0
  1080. package/assets/index-uM5GtqSd.js +1 -0
  1081. package/assets/index-wBbkQCZY.js +1 -0
  1082. package/assets/index-wk2CJ7i5.js +1 -0
  1083. package/assets/index-xEbiF_Me.js +1 -0
  1084. package/assets/index-yLatYZZK.js +1 -0
  1085. package/assets/index-yOwMLl2f.js +1 -0
  1086. package/assets/index-yURkkC3L.js +1 -0
  1087. package/assets/index.es-BNSVOI_t.js +2 -0
  1088. package/assets/index.es-ChtY_pBo.js +1 -0
  1089. package/assets/index.es-DvYSf29G.js +29 -0
  1090. package/assets/native-p-GVuhgB.js +1 -0
  1091. package/assets/{networks-D78EVlVE.js → networks-JK_0UU6S.js} +4 -4
  1092. package/assets/{onramp-x3-DpykV.js → onramp-BErKzfhZ.js} +6 -6
  1093. package/assets/openzeppelin-BdGoNY5H.js +1 -0
  1094. package/assets/ownerOf-gbkJe0ar.js +1 -0
  1095. package/assets/parseNft-CEsKOn2B.js +2 -0
  1096. package/assets/parseSignature-BnIazbEy.js +24 -0
  1097. package/assets/passkeys-C1wTOzLk.js +1 -0
  1098. package/assets/{pay-with-exchange-CvQl_UJE.js → pay-with-exchange-B3Mp96JM.js} +3 -3
  1099. package/assets/qr-overlay-DJOJV5WK.js +76 -0
  1100. package/assets/{receive-CSNIDrlL.js → receive-5VeEorgq.js} +1 -1
  1101. package/assets/{ref-ZFvzGDbm.js → ref-BamtHe-n.js} +1 -1
  1102. package/assets/resolveImplementation-Cu-fVaM1.js +1 -0
  1103. package/assets/rpc-B9MyqPd_.js +3 -0
  1104. package/assets/secp256k1-v5Z_H0Qa.js +1 -0
  1105. package/assets/{send-nv6_aQ5u.js → send-BCp16qi0.js} +9 -9
  1106. package/assets/send-batch-transaction-DoGIZz6s.js +1 -0
  1107. package/assets/send-eip712-transaction-BMsuLCly.js +2 -0
  1108. package/assets/send-gasless-transaction-DXCR-MjU.js +2 -0
  1109. package/assets/session-proposal-CoxZYbce.js +1 -0
  1110. package/assets/session-request-VqY6bnIV.js +2 -0
  1111. package/assets/sha256-BA2Xp5jF.js +1 -0
  1112. package/assets/sha256-Daj5l6sK.js +1 -0
  1113. package/assets/signing-dsmCbu8X.js +30 -0
  1114. package/assets/sleep-mAKpSMLY.js +1 -0
  1115. package/assets/{socials-DMFje8BX.js → socials-CEl5e3er.js} +1 -1
  1116. package/assets/{swaps-j2qZ5DXt.js → swaps-CHh8IHbf.js} +1 -1
  1117. package/assets/thirdweb-DZ2vK6IO.js +1 -0
  1118. package/assets/thirdweb-DcqlAq95.js +27 -0
  1119. package/assets/totalSupply-DUxl9c2a.js +1 -0
  1120. package/assets/transactionReceipt-CZFYT8pE.js +1 -0
  1121. package/assets/transactions-DmFe0uqW.js +16 -0
  1122. package/assets/uint8-array-DZKEMhA1.js +1 -0
  1123. package/assets/utils-D4etFqNl.js +1 -0
  1124. package/assets/{verifyHash-BgC-ZfTy.js → verifyHash-FEyr57Yr.js} +17 -17
  1125. package/assets/{w3m-modal-B-pCSbu7.js → w3m-modal-kvjqzGhs.js} +1 -1
  1126. package/assets/wait-for-tx-receipt-DcqetGky.js +1 -0
  1127. package/assets/wallet-infos-BHI_w6r-.js +1 -0
  1128. package/assets/wallets-B-14wOwY.js +15 -0
  1129. package/assets/web-connector-tx4aQlJV.js +9 -0
  1130. package/assets/zora-sepolia-D5VCXxH6.js +1 -0
  1131. package/index.html +2 -2
  1132. package/package.json +3 -3
  1133. package/assets/NetworkUtil-CvkLzCar.js +0 -7
  1134. package/assets/ccip-BicsrFFI.js +0 -1
  1135. package/assets/index-5qkBR_FM.js +0 -139
  1136. package/assets/index-BFmw0mfC.js +0 -1
  1137. package/assets/index-BggKfQmu.js +0 -22135
  1138. package/assets/index-BpSl4IGC.js +0 -7
  1139. package/assets/index-BqQ8z1qv.js +0 -3
  1140. package/assets/index.web-CHsRtcYG.js +0 -1
  1141. package/assets/secp256k1-BKdK3Sx4.js +0 -1
  1142. package/assets/transactions-Crc2X9nN.js +0 -16
@@ -1,17 +1,17 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BqQ8z1qv.js","assets/verifyHash-BgC-ZfTy.js","assets/NetworkUtil-CvkLzCar.js","assets/index-BggKfQmu.js","assets/index-DujN9FwF.css","assets/ccip-B3gLSyxa.js","assets/features-icUSTLoJ.js","assets/embedded-wallet-B8uZWxEh.js","assets/index-BVl96nae.js","assets/index-63ryy2H7.js","assets/if-defined-DobOMrnd.js","assets/ref-ZFvzGDbm.js","assets/index-B5hA0q5t.js","assets/HelpersUtil-CoQ2Mose.js","assets/ConstantsUtil-ZeZY4fD4.js","assets/index-9622WNpL.js","assets/index-CmVofuiV.js","assets/index-D3210T_O.js","assets/index-BiLryErS.js","assets/index-CC7ROi52.js","assets/NavigationUtil-DmfK5sOV.js","assets/email-BoHg4MC1.js","assets/index-ob8E8aCR.js","assets/index-CtfXKKAV.js","assets/socials-DMFje8BX.js","assets/index-B6uX-ktZ.js","assets/index-D-LWcNDG.js","assets/index-DIFicjHH.js","assets/index-sfx_bXjX.js","assets/index-D8utJD1q.js","assets/swaps-j2qZ5DXt.js","assets/index-DvkqkvrD.js","assets/index-D4vfCk5a.js","assets/SwapController-B1ubGFV-.js","assets/index-DW4P7uZM.js","assets/send-nv6_aQ5u.js","assets/index-C86alQeW.js","assets/index-D370E7Y3.js","assets/index-ChFOHri2.js","assets/index-C4fAPlQC.js","assets/receive-CSNIDrlL.js","assets/onramp-x3-DpykV.js","assets/index-BpR68xtJ.js","assets/index-DLQqf4VH.js","assets/index-YrgCePxM.js","assets/pay-with-exchange-CvQl_UJE.js","assets/ExchangeController-DItf36nL.js","assets/transactions-Crc2X9nN.js","assets/index-B67YOfeC.js","assets/index-5qkBR_FM.js","assets/index-Bnz4IwFl.js","assets/index-BXhwvFj3.js","assets/index-DDM8jcdB.js","assets/data-capture-HjWJvyUN.js","assets/index-CegWB1ic.js","assets/index-CGPWALgm.js","assets/w3m-modal-B-pCSbu7.js"])))=>i.map(i=>d[i]);
2
- import{b as fn,g as py,S as fy,T as dl,_ as kt,U as mi,V as gy,W as bs,X as Zt,Y,Z as ve,$ as ci,a0 as my,a1 as pf,a2 as yy,a3 as wy,a4 as ke,a5 as Mi,a6 as ul,a7 as yi,a8 as Ey,a9 as by,aa as Cy,ab as vy,ac as Pr,ad as _y,ae as Ay,af as Fs,ag as wi,ah as fd,ai as Sy,aj as gd,ak as md,al as Gi,am as yd,an as Xd,ao as Iy,ap as Ny,aq as Qd,ar as hr,as as ff,at as sn,au as js,av as vn,aw as gf}from"./index-BggKfQmu.js";import{C as U,L as Ty,a5 as $o,m as Ry,s as oa,H as Bi,B as mf,ag as Oy,ak as aa,W as eu,X as tu,Y as su,af as nu,_ as ru,ah as iu,ai as ou,ac as au,Z as cu,a7 as lu,aj as du,ae as uu,a2 as hu,a3 as hl,ad as pl,aa as pu,a9 as fu,I as gu,$ as fl,a0 as mu,a4 as yu,a1 as wu,a6 as Eu,V as bu,E as Py,aA as xy,R as ky,aC as yf,aq as wf,p as Do,aD as Ef,at as Uy,av as $y,aw as Dy,ax as Ly,ay as My,as as By,t as Cu}from"./NetworkUtil-CvkLzCar.js";const bf={isLowerCaseMatch(t,e){return(t==null?void 0:t.toLowerCase())===(e==null?void 0:e.toLowerCase())}};var jy=20,Fy=1,_r=1e6,vu=1e6,qy=-7,Wy=21,Hy=!1,vo="[big.js] ",xr=vo+"Invalid ",za=xr+"decimal places",Vy=xr+"rounding mode",Cf=vo+"Division by zero",Fe={},zs=void 0,zy=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function vf(){function t(e){var s=this;if(!(s instanceof t))return e===zs?vf():new t(e);if(e instanceof t)s.s=e.s,s.e=e.e,s.c=e.c.slice();else{if(typeof e!="string"){if(t.strict===!0&&typeof e!="bigint")throw TypeError(xr+"value");e=e===0&&1/e<0?"-0":String(e)}Ky(s,e)}s.constructor=t}return t.prototype=Fe,t.DP=jy,t.RM=Fy,t.NE=qy,t.PE=Wy,t.strict=Hy,t.roundDown=0,t.roundHalfUp=1,t.roundHalfEven=2,t.roundUp=3,t}function Ky(t,e){var s,n,r;if(!zy.test(e))throw Error(xr+"number");for(t.s=e.charAt(0)=="-"?(e=e.slice(1),-1):1,(s=e.indexOf("."))>-1&&(e=e.replace(".","")),(n=e.search(/e/i))>0?(s<0&&(s=n),s+=+e.slice(n+1),e=e.substring(0,n)):s<0&&(s=e.length),r=e.length,n=0;n<r&&e.charAt(n)=="0";)++n;if(n==r)t.c=[t.e=0];else{for(;r>0&&e.charAt(--r)=="0";);for(t.e=s-n-1,t.c=[],s=0;n<=r;)t.c[s++]=+e.charAt(n++)}return t}function kr(t,e,s,n){var r=t.c;if(s===zs&&(s=t.constructor.RM),s!==0&&s!==1&&s!==2&&s!==3)throw Error(Vy);if(e<1)n=s===3&&(n||!!r[0])||e===0&&(s===1&&r[0]>=5||s===2&&(r[0]>5||r[0]===5&&(n||r[1]!==zs))),r.length=1,n?(t.e=t.e-e+1,r[0]=1):r[0]=t.e=0;else if(e<r.length){if(n=s===1&&r[e]>=5||s===2&&(r[e]>5||r[e]===5&&(n||r[e+1]!==zs||r[e-1]&1))||s===3&&(n||!!r[0]),r.length=e,n){for(;++r[--e]>9;)if(r[e]=0,e===0){++t.e,r.unshift(1);break}}for(e=r.length;!r[--e];)r.pop()}return t}function Ur(t,e,s){var n=t.e,r=t.c.join(""),i=r.length;if(e)r=r.charAt(0)+(i>1?"."+r.slice(1):"")+(n<0?"e":"e+")+n;else if(n<0){for(;++n;)r="0"+r;r="0."+r}else if(n>0)if(++n>i)for(n-=i;n--;)r+="0";else n<i&&(r=r.slice(0,n)+"."+r.slice(n));else i>1&&(r=r.charAt(0)+"."+r.slice(1));return t.s<0&&s?"-"+r:r}Fe.abs=function(){var t=new this.constructor(this);return t.s=1,t};Fe.cmp=function(t){var e,s=this,n=s.c,r=(t=new s.constructor(t)).c,i=s.s,o=t.s,a=s.e,c=t.e;if(!n[0]||!r[0])return n[0]?i:r[0]?-o:0;if(i!=o)return i;if(e=i<0,a!=c)return a>c^e?1:-1;for(o=(a=n.length)<(c=r.length)?a:c,i=-1;++i<o;)if(n[i]!=r[i])return n[i]>r[i]^e?1:-1;return a==c?0:a>c^e?1:-1};Fe.div=function(t){var e=this,s=e.constructor,n=e.c,r=(t=new s(t)).c,i=e.s==t.s?1:-1,o=s.DP;if(o!==~~o||o<0||o>_r)throw Error(za);if(!r[0])throw Error(Cf);if(!n[0])return t.s=i,t.c=[t.e=0],t;var a,c,l,d,u,h=r.slice(),p=a=r.length,m=n.length,f=n.slice(0,a),y=f.length,b=t,S=b.c=[],v=0,C=o+(b.e=e.e-t.e)+1;for(b.s=i,i=C<0?0:C,h.unshift(0);y++<a;)f.push(0);do{for(l=0;l<10;l++){if(a!=(y=f.length))d=a>y?1:-1;else for(u=-1,d=0;++u<a;)if(r[u]!=f[u]){d=r[u]>f[u]?1:-1;break}if(d<0){for(c=y==a?r:h;y;){if(f[--y]<c[y]){for(u=y;u&&!f[--u];)f[u]=9;--f[u],f[y]+=10}f[y]-=c[y]}for(;!f[0];)f.shift()}else break}S[v++]=d?l:++l,f[0]&&d?f[y]=n[p]||0:f=[n[p]]}while((p++<m||f[0]!==zs)&&i--);return!S[0]&&v!=1&&(S.shift(),b.e--,C--),v>C&&kr(b,C,s.RM,f[0]!==zs),b};Fe.eq=function(t){return this.cmp(t)===0};Fe.gt=function(t){return this.cmp(t)>0};Fe.gte=function(t){return this.cmp(t)>-1};Fe.lt=function(t){return this.cmp(t)<0};Fe.lte=function(t){return this.cmp(t)<1};Fe.minus=Fe.sub=function(t){var e,s,n,r,i=this,o=i.constructor,a=i.s,c=(t=new o(t)).s;if(a!=c)return t.s=-c,i.plus(t);var l=i.c.slice(),d=i.e,u=t.c,h=t.e;if(!l[0]||!u[0])return u[0]?t.s=-c:l[0]?t=new o(i):t.s=1,t;if(a=d-h){for((r=a<0)?(a=-a,n=l):(h=d,n=u),n.reverse(),c=a;c--;)n.push(0);n.reverse()}else for(s=((r=l.length<u.length)?l:u).length,a=c=0;c<s;c++)if(l[c]!=u[c]){r=l[c]<u[c];break}if(r&&(n=l,l=u,u=n,t.s=-t.s),(c=(s=u.length)-(e=l.length))>0)for(;c--;)l[e++]=0;for(c=e;s>a;){if(l[--s]<u[s]){for(e=s;e&&!l[--e];)l[e]=9;--l[e],l[s]+=10}l[s]-=u[s]}for(;l[--c]===0;)l.pop();for(;l[0]===0;)l.shift(),--h;return l[0]||(t.s=1,l=[h=0]),t.c=l,t.e=h,t};Fe.mod=function(t){var e,s=this,n=s.constructor,r=s.s,i=(t=new n(t)).s;if(!t.c[0])throw Error(Cf);return s.s=t.s=1,e=t.cmp(s)==1,s.s=r,t.s=i,e?new n(s):(r=n.DP,i=n.RM,n.DP=n.RM=0,s=s.div(t),n.DP=r,n.RM=i,this.minus(s.times(t)))};Fe.neg=function(){var t=new this.constructor(this);return t.s=-t.s,t};Fe.plus=Fe.add=function(t){var e,s,n,r=this,i=r.constructor;if(t=new i(t),r.s!=t.s)return t.s=-t.s,r.minus(t);var o=r.e,a=r.c,c=t.e,l=t.c;if(!a[0]||!l[0])return l[0]||(a[0]?t=new i(r):t.s=r.s),t;if(a=a.slice(),e=o-c){for(e>0?(c=o,n=l):(e=-e,n=a),n.reverse();e--;)n.push(0);n.reverse()}for(a.length-l.length<0&&(n=l,l=a,a=n),e=l.length,s=0;e;a[e]%=10)s=(a[--e]=a[e]+l[e]+s)/10|0;for(s&&(a.unshift(s),++c),e=a.length;a[--e]===0;)a.pop();return t.c=a,t.e=c,t};Fe.pow=function(t){var e=this,s=new e.constructor("1"),n=s,r=t<0;if(t!==~~t||t<-vu||t>vu)throw Error(xr+"exponent");for(r&&(t=-t);t&1&&(n=n.times(e)),t>>=1,!!t;)e=e.times(e);return r?s.div(n):n};Fe.prec=function(t,e){if(t!==~~t||t<1||t>_r)throw Error(xr+"precision");return kr(new this.constructor(this),t,e)};Fe.round=function(t,e){if(t===zs)t=0;else if(t!==~~t||t<-_r||t>_r)throw Error(za);return kr(new this.constructor(this),t+this.e+1,e)};Fe.sqrt=function(){var t,e,s,n=this,r=n.constructor,i=n.s,o=n.e,a=new r("0.5");if(!n.c[0])return new r(n);if(i<0)throw Error(vo+"No square root");i=Math.sqrt(+Ur(n,!0,!0)),i===0||i===1/0?(e=n.c.join(""),e.length+o&1||(e+="0"),i=Math.sqrt(e),o=((o+1)/2|0)-(o<0||o&1),t=new r((i==1/0?"5e":(i=i.toExponential()).slice(0,i.indexOf("e")+1))+o)):t=new r(i+""),o=t.e+(r.DP+=4);do s=t,t=a.times(s.plus(n.div(s)));while(s.c.slice(0,o).join("")!==t.c.slice(0,o).join(""));return kr(t,(r.DP-=4)+t.e+1,r.RM)};Fe.times=Fe.mul=function(t){var e,s=this,n=s.constructor,r=s.c,i=(t=new n(t)).c,o=r.length,a=i.length,c=s.e,l=t.e;if(t.s=s.s==t.s?1:-1,!r[0]||!i[0])return t.c=[t.e=0],t;for(t.e=c+l,o<a&&(e=r,r=i,i=e,l=o,o=a,a=l),e=new Array(l=o+a);l--;)e[l]=0;for(c=a;c--;){for(a=0,l=o+c;l>c;)a=e[l]+i[c]*r[l-c-1]+a,e[l--]=a%10,a=a/10|0;e[l]=a}for(a?++t.e:e.shift(),c=e.length;!e[--c];)e.pop();return t.c=e,t};Fe.toExponential=function(t,e){var s=this,n=s.c[0];if(t!==zs){if(t!==~~t||t<0||t>_r)throw Error(za);for(s=kr(new s.constructor(s),++t,e);s.c.length<t;)s.c.push(0)}return Ur(s,!0,!!n)};Fe.toFixed=function(t,e){var s=this,n=s.c[0];if(t!==zs){if(t!==~~t||t<0||t>_r)throw Error(za);for(s=kr(new s.constructor(s),t+s.e+1,e),t=t+s.e+1;s.c.length<t;)s.c.push(0)}return Ur(s,!1,!!n)};Fe[Symbol.for("nodejs.util.inspect.custom")]=Fe.toJSON=Fe.toString=function(){var t=this,e=t.constructor;return Ur(t,t.e<=e.NE||t.e>=e.PE,!!t.c[0])};Fe.toNumber=function(){var t=+Ur(this,!0,!0);if(this.constructor.strict===!0&&!this.eq(t.toString()))throw Error(vo+"Imprecise conversion");return t};Fe.toPrecision=function(t,e){var s=this,n=s.constructor,r=s.c[0];if(t!==zs){if(t!==~~t||t<1||t>_r)throw Error(xr+"precision");for(s=kr(new n(s),t,e);s.c.length<t;)s.c.push(0)}return Ur(s,t<=s.e||s.e<=n.NE||s.e>=n.PE,!!r)};Fe.valueOf=function(){var t=this,e=t.constructor;if(e.strict===!0)throw Error(vo+"valueOf disallowed");return Ur(t,t.e<=e.NE||t.e>=e.PE,!0)};var _n=vf();const Gy={bigNumber(t){return t?new _n(t):new _n(0)},multiply(t,e){if(t===void 0||e===void 0)return new _n(0);const s=new _n(t),n=new _n(e);return s.times(n)},toFixed(t,e=2){return t===void 0||t===""?new _n(0).toFixed(e):new _n(t).toFixed(e)},formatNumberToLocalString(t,e=2){return t===void 0||t===""?"0.00":typeof t=="number"?t.toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e,roundingMode:"floor"}):parseFloat(t).toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e,roundingMode:"floor"})},parseLocalStringToNumber(t){if(t===void 0||t==="")return 0;const e=t.replace(/,/gu,"");return new _n(e).toNumber()}},Yy=[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],outputs:[{name:"",type:"bool"}]}],Zy=[{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],Jy=[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]}],Xy={getERC20Abi:t=>U.USDT_CONTRACT_ADDRESSES.includes(t)?Jy:Yy,getSwapAbi:()=>Zy},Mr={ConnectorExplorerIds:{[U.CONNECTOR_ID.COINBASE]:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",[U.CONNECTOR_ID.COINBASE_SDK]:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",[U.CONNECTOR_ID.BASE_ACCOUNT]:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",[U.CONNECTOR_ID.SAFE]:"225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f",[U.CONNECTOR_ID.LEDGER]:"19177a98252e07ddfc9af2083ba8e07ef627cb6103467ffebb3f8f4205fd7927",[U.CONNECTOR_ID.OKX]:"971e689d0a5be527bac79629b4ee9b925e82208e5168b733496a09c0faed0709",[U.METMASK_CONNECTOR_NAME]:"c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96",[U.TRUST_CONNECTOR_NAME]:"4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0",[U.SOLFLARE_CONNECTOR_NAME]:"1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79",[U.PHANTOM_CONNECTOR_NAME]:"a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393",[U.COIN98_CONNECTOR_NAME]:"2a3c89040ac3b723a1972a33a125b1db11e258a6975d3a61252cd64e6ea5ea01",[U.MAGIC_EDEN_CONNECTOR_NAME]:"8b830a2b724a9c3fbab63af6f55ed29c9dfa8a55e732dc88c80a196a2ba136c6",[U.BACKPACK_CONNECTOR_NAME]:"2bd8c14e035c2d48f184aaa168559e86b0e3433228d3c4075900a221785019b0",[U.BITGET_CONNECTOR_NAME]:"38f5d18bd8522c244bdd70cb4a68e0e718865155811c043f052fb9f1c51de662",[U.FRONTIER_CONNECTOR_NAME]:"85db431492aa2e8672e93f4ea7acf10c88b97b867b0d373107af63dc4880f041",[U.XVERSE_CONNECTOR_NAME]:"2a87d74ae02e10bdd1f51f7ce6c4e1cc53cd5f2c0b6b5ad0d7b3007d2b13de7b",[U.LEATHER_CONNECTOR_NAME]:"483afe1df1df63daf313109971ff3ef8356ddf1cc4e45877d205eee0b7893a13",[U.OKX_CONNECTOR_NAME]:"971e689d0a5be527bac79629b4ee9b925e82208e5168b733496a09c0faed0709",[U.BINANCE_CONNECTOR_NAME]:"2fafea35bb471d22889ccb49c08d99dd0a18a37982602c33f696a5723934ba25"}},ct={validateCaipAddress(t){var e;if(((e=t.split(":"))==null?void 0:e.length)!==3)throw new Error("Invalid CAIP Address");return t},parseCaipAddress(t){const e=t.split(":");if(e.length!==3)throw new Error(`Invalid CAIP-10 address: ${t}`);const[s,n,r]=e;if(!s||!n||!r)throw new Error(`Invalid CAIP-10 address: ${t}`);return{chainNamespace:s,chainId:n,address:r}},parseCaipNetworkId(t){const e=t.split(":");if(e.length!==2)throw new Error(`Invalid CAIP-2 network id: ${t}`);const[s,n]=e;if(!s||!n)throw new Error(`Invalid CAIP-2 network id: ${t}`);return{chainNamespace:s,chainId:n}}},un={RPC_ERROR_CODE:{USER_REJECTED_REQUEST:4001,USER_REJECTED_METHODS:5002,USER_REJECTED:5e3},PROVIDER_RPC_ERROR_NAME:{PROVIDER_RPC:"ProviderRpcError",USER_REJECTED_REQUEST:"UserRejectedRequestError"},isRpcProviderError(t){try{if(typeof t=="object"&&t!==null){const e=t,s=typeof e.message=="string",n=typeof e.code=="number";return s&&n}return!1}catch{return!1}},isUserRejectedMessage(t){return t.toLowerCase().includes("user rejected")||t.toLowerCase().includes("user cancelled")||t.toLowerCase().includes("user canceled")},isUserRejectedRequestError(t){if(un.isRpcProviderError(t)){const e=t.code===un.RPC_ERROR_CODE.USER_REJECTED_REQUEST,s=t.code===un.RPC_ERROR_CODE.USER_REJECTED_METHODS;return e||s||un.isUserRejectedMessage(t.message)}return t instanceof Error?un.isUserRejectedMessage(t.message):!1}};class Qy extends Error{constructor(e,s){super(s.message,{cause:e}),this.name=un.PROVIDER_RPC_ERROR_NAME.PROVIDER_RPC,this.code=s.code}}class _f extends Qy{constructor(e){super(e,{code:un.RPC_ERROR_CODE.USER_REJECTED_REQUEST,message:"User rejected the request"}),this.name=un.PROVIDER_RPC_ERROR_NAME.USER_REJECTED_REQUEST}}const ae={WALLET_ID:"@appkit/wallet_id",WALLET_NAME:"@appkit/wallet_name",SOLANA_WALLET:"@appkit/solana_wallet",SOLANA_CAIP_CHAIN:"@appkit/solana_caip_chain",ACTIVE_CAIP_NETWORK_ID:"@appkit/active_caip_network_id",CONNECTED_SOCIAL:"@appkit/connected_social",CONNECTED_SOCIAL_USERNAME:"@appkit-wallet/SOCIAL_USERNAME",RECENT_WALLETS:"@appkit/recent_wallets",RECENT_WALLET:"@appkit/recent_wallet",DEEPLINK_CHOICE:"WALLETCONNECT_DEEPLINK_CHOICE",ACTIVE_NAMESPACE:"@appkit/active_namespace",CONNECTED_NAMESPACES:"@appkit/connected_namespaces",CONNECTION_STATUS:"@appkit/connection_status",SIWX_AUTH_TOKEN:"@appkit/siwx-auth-token",SIWX_NONCE_TOKEN:"@appkit/siwx-nonce-token",TELEGRAM_SOCIAL_PROVIDER:"@appkit/social_provider",NATIVE_BALANCE_CACHE:"@appkit/native_balance_cache",PORTFOLIO_CACHE:"@appkit/portfolio_cache",ENS_CACHE:"@appkit/ens_cache",IDENTITY_CACHE:"@appkit/identity_cache",PREFERRED_ACCOUNT_TYPES:"@appkit/preferred_account_types",CONNECTIONS:"@appkit/connections",DISCONNECTED_CONNECTOR_IDS:"@appkit/disconnected_connector_ids",HISTORY_TRANSACTIONS_CACHE:"@appkit/history_transactions_cache",TOKEN_PRICE_CACHE:"@appkit/token_price_cache",RECENT_EMAILS:"@appkit/recent_emails",LATEST_APPKIT_VERSION:"@appkit/latest_version",TON_WALLETS_CACHE:"@appkit/ton_wallets_cache"};function pc(t){if(!t)throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID");return`@appkit/${t}:connected_connector_id`}const ie={setItem(t,e){xi()&&e!==void 0&&localStorage.setItem(t,e)},getItem(t){if(xi())return localStorage.getItem(t)||void 0},removeItem(t){xi()&&localStorage.removeItem(t)},clear(){xi()&&localStorage.clear()}};function xi(){return typeof window<"u"&&typeof localStorage<"u"}function Yi(t,e){const s=(t==null?void 0:t["--apkt-accent"])??(t==null?void 0:t["--w3m-accent"]);return e==="light"?{"--w3m-accent":s||"hsla(231, 100%, 70%, 1)","--w3m-background":"#fff"}:{"--w3m-accent":s||"hsla(230, 100%, 67%, 1)","--w3m-background":"#202020"}}const ew=Symbol(),_u=Object.getPrototypeOf,gl=new WeakMap,tw=t=>t&&(gl.has(t)?gl.get(t):_u(t)===Object.prototype||_u(t)===Array.prototype),sw=t=>tw(t)&&t[ew]||null,Au=(t,e=!0)=>{gl.set(t,e)},ya={},wd=t=>typeof t=="object"&&t!==null,nw=t=>wd(t)&&!_o.has(t)&&(Array.isArray(t)||!(Symbol.iterator in t))&&!(t instanceof WeakMap)&&!(t instanceof WeakSet)&&!(t instanceof Error)&&!(t instanceof Number)&&!(t instanceof Date)&&!(t instanceof String)&&!(t instanceof RegExp)&&!(t instanceof ArrayBuffer)&&!(t instanceof Promise),Af=(t,e)=>{const s=ml.get(t);if((s==null?void 0:s[0])===e)return s[1];const n=Array.isArray(t)?[]:Object.create(Object.getPrototypeOf(t));return Au(n,!0),ml.set(t,[e,n]),Reflect.ownKeys(t).forEach(r=>{if(Object.getOwnPropertyDescriptor(n,r))return;const i=Reflect.get(t,r),{enumerable:o}=Reflect.getOwnPropertyDescriptor(t,r),a={value:i,enumerable:o,configurable:!0};if(_o.has(i))Au(i,!1);else if(Vn.has(i)){const[c,l]=Vn.get(i);a.value=Af(c,l())}Object.defineProperty(n,r,a)}),Object.preventExtensions(n)},rw=(t,e,s,n)=>({deleteProperty(r,i){const o=Reflect.get(r,i);s(i);const a=Reflect.deleteProperty(r,i);return a&&n(["delete",[i],o]),a},set(r,i,o,a){const c=!t()&&Reflect.has(r,i),l=Reflect.get(r,i,a);if(c&&(Su(l,o)||Zi.has(o)&&Su(l,Zi.get(o))))return!0;s(i),wd(o)&&(o=sw(o)||o);const d=!Vn.has(o)&&ow(o)?Ke(o):o;return e(i,d),Reflect.set(r,i,d,a),n(["set",[i],o,l]),!0}}),Vn=new WeakMap,_o=new WeakSet,ml=new WeakMap,ca=[1],Zi=new WeakMap;let Su=Object.is,iw=(t,e)=>new Proxy(t,e),ow=nw,aw=Af,cw=rw;function Ke(t={}){if(!wd(t))throw new Error("object required");const e=Zi.get(t);if(e)return e;let s=ca[0];const n=new Set,r=(y,b=++ca[0])=>{s!==b&&(i=s=b,n.forEach(S=>S(y,b)))};let i=s;const o=(y=ca[0])=>(i!==y&&(i=y,c.forEach(([b])=>{const S=b[1](y);S>s&&(s=S)})),s),a=y=>(b,S)=>{const v=[...b];v[1]=[y,...v[1]],r(v,S)},c=new Map,l=(y,b)=>{const S=!_o.has(b)&&Vn.get(b);if(S){if((ya?"production":void 0)!=="production"&&c.has(y))throw new Error("prop listener already exists");if(n.size){const v=S[2](a(y));c.set(y,[S,v])}else c.set(y,[S])}},d=y=>{var b;const S=c.get(y);S&&(c.delete(y),(b=S[1])==null||b.call(S))},u=y=>(n.add(y),n.size===1&&c.forEach(([S,v],C)=>{if((ya?"production":void 0)!=="production"&&v)throw new Error("remove already exists");const R=S[2](a(C));c.set(C,[S,R])}),()=>{n.delete(y),n.size===0&&c.forEach(([S,v],C)=>{v&&(v(),c.set(C,[S]))})});let h=!0;const p=cw(()=>h,l,d,r),m=iw(t,p);Zi.set(t,m);const f=[t,o,u];return Vn.set(m,f),Reflect.ownKeys(t).forEach(y=>{const b=Object.getOwnPropertyDescriptor(t,y);"value"in b&&b.writable&&(m[y]=t[y])}),h=!1,m}function wt(t,e,s){const n=Vn.get(t);(ya?"production":void 0)!=="production"&&!n&&console.warn("Please use proxy object");let r;const i=[],o=n[2];let a=!1;const l=o(d=>{i.push(d),r||(r=Promise.resolve().then(()=>{r=void 0,a&&e(i.splice(0))}))});return a=!0,()=>{a=!1,l()}}function Ji(t){const e=Vn.get(t);(ya?"production":void 0)!=="production"&&!e&&console.warn("Please use proxy object");const[s,n]=e;return aw(s,n())}function Xi(t){return _o.add(t),t}function lw(){return{proxyStateMap:Vn,refSet:_o,snapCache:ml,versionHolder:ca,proxyCache:Zi}}function Et(t,e,s,n){let r=t[e];return wt(t,()=>{const i=t[e];Object.is(r,i)||s(r=i)})}const{proxyStateMap:dw,snapCache:uw}=lw(),Lo=t=>dw.has(t);function hw(t){const e=[];let s=0;const n=new Map,r=new WeakMap,i=()=>{const l=uw.get(a),d=l==null?void 0:l[1];if(d&&!r.has(d)){const u=new Map(n);r.set(d,u)}},o=l=>r.get(l)||n,a={data:e,index:s,epoch:0,get size(){return Lo(this)||i(),o(this).size},get(l){const u=o(this).get(l);if(u===void 0){this.epoch;return}return this.data[u]},has(l){const d=o(this);return this.epoch,d.has(l)},set(l,d){if(!Lo(this))throw new Error("Cannot perform mutations on a snapshot");const u=n.get(l);return u===void 0?(n.set(l,this.index),this.data[this.index++]=d):this.data[u]=d,this.epoch++,this},delete(l){if(!Lo(this))throw new Error("Cannot perform mutations on a snapshot");const d=n.get(l);return d===void 0?!1:(delete this.data[d],n.delete(l),this.epoch++,!0)},clear(){if(!Lo(this))throw new Error("Cannot perform mutations on a snapshot");this.data.length=0,this.index=0,this.epoch++,n.clear()},forEach(l){this.epoch,o(this).forEach((u,h)=>{l(this.data[u],h,this)})},*entries(){this.epoch;const l=o(this);for(const[d,u]of l)yield[d,this.data[u]]},*keys(){this.epoch;const l=o(this);for(const d of l.keys())yield d},*values(){this.epoch;const l=o(this);for(const d of l.values())yield this.data[d]},[Symbol.iterator](){return this.entries()},get[Symbol.toStringTag](){return"Map"},toJSON(){return new Map(this.entries())}},c=Ke(a);return Object.defineProperties(c,{size:{enumerable:!1},index:{enumerable:!1},epoch:{enumerable:!1},data:{enumerable:!1},toJSON:{enumerable:!1}}),Object.seal(c),c}var Iu={};const fc=(typeof fn<"u"&&typeof Iu<"u"?Iu.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org",Sf=[{label:"Meld.io",name:"meld",feeRange:"1-2%",url:"https://meldcrypto.com",supportedChains:["eip155","solana"]}],pw="WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU",Ie={FOUR_MINUTES_MS:24e4,TEN_SEC_MS:1e4,FIVE_SEC_MS:5e3,THREE_SEC_MS:3e3,ONE_SEC_MS:1e3,SECURE_SITE:fc,SECURE_SITE_DASHBOARD:`${fc}/dashboard`,SECURE_SITE_FAVICON:`${fc}/images/favicon.png`,SOLANA_NATIVE_TOKEN_ADDRESS:"So11111111111111111111111111111111111111111",RESTRICTED_TIMEZONES:["ASIA/SHANGHAI","ASIA/URUMQI","ASIA/CHONGQING","ASIA/HARBIN","ASIA/KASHGAR","ASIA/MACAU","ASIA/HONG_KONG","ASIA/MACAO","ASIA/BEIJING","ASIA/HARBIN"],SWAP_SUGGESTED_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP"],SWAP_POPULAR_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP","METAL","DAI","CHAMP","WOLF","SALE","BAL","BUSD","MUST","BTCpx","ROUTE","HEX","WELT","amDAI","VSQ","VISION","AURUM","pSP","SNX","VC","LINK","CHP","amUSDT","SPHERE","FOX","GIDDY","GFC","OMEN","OX_OLD","DE","WNT"],SUGGESTED_TOKENS_BY_CHAIN:{"eip155:42161":["USD₮0"]},BALANCE_SUPPORTED_CHAINS:[U.CHAIN.EVM,U.CHAIN.SOLANA],SEND_PARAMS_SUPPORTED_CHAINS:[U.CHAIN.EVM],SWAP_SUPPORTED_NETWORKS:["eip155:1","eip155:42161","eip155:10","eip155:324","eip155:8453","eip155:56","eip155:137","eip155:100","eip155:43114","eip155:250","eip155:8217","eip155:1313161554"],NAMES_SUPPORTED_CHAIN_NAMESPACES:[U.CHAIN.EVM],ONRAMP_SUPPORTED_CHAIN_NAMESPACES:[U.CHAIN.EVM,U.CHAIN.SOLANA],PAY_WITH_EXCHANGE_SUPPORTED_CHAIN_NAMESPACES:[U.CHAIN.EVM,U.CHAIN.SOLANA],ACTIVITY_ENABLED_CHAIN_NAMESPACES:[U.CHAIN.EVM,U.CHAIN.TON],NATIVE_TOKEN_ADDRESS:{eip155:"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",solana:"So11111111111111111111111111111111111111111",polkadot:"0x",bip122:"0x",cosmos:"0x",sui:"0x",stacks:"0x",ton:"0x"},CONVERT_SLIPPAGE_TOLERANCE:1,CONNECT_LABELS:{MOBILE:"Open and continue in the wallet app",WEB:"Open and continue in the wallet app"},SEND_SUPPORTED_NAMESPACES:[U.CHAIN.EVM,U.CHAIN.SOLANA],DEFAULT_REMOTE_FEATURES:{swaps:["1inch"],onramp:["meld"],email:!0,socials:["google","x","discord","farcaster","github","apple","facebook"],activity:!0,reownBranding:!0,multiWallet:!1,emailCapture:!1,payWithExchange:!1,payments:!1,reownAuthentication:!1,headless:!1},DEFAULT_REMOTE_FEATURES_DISABLED:{email:!1,socials:!1,swaps:!1,onramp:!1,activity:!1,reownBranding:!1,emailCapture:!1,reownAuthentication:!1,headless:!1},DEFAULT_FEATURES:{receive:!0,send:!0,emailShowWallets:!0,connectorTypeOrder:["walletConnect","recent","injected","featured","custom","external","recommended"],analytics:!0,allWallets:!0,legalCheckbox:!1,smartSessions:!1,collapseWallets:!1,walletFeaturesOrder:["onramp","swaps","receive","send"],connectMethodsOrder:void 0,pay:!1,reownAuthentication:!1,headless:!1},DEFAULT_SOCIALS:["google","x","farcaster","discord","apple","github","facebook"],DEFAULT_ACCOUNT_TYPES:{bip122:"payment",eip155:"smartAccount",polkadot:"eoa",solana:"eoa",ton:"eoa"},ADAPTER_TYPES:{UNIVERSAL:"universal",SOLANA:"solana",WAGMI:"wagmi",ETHERS:"ethers",ETHERS5:"ethers5",BITCOIN:"bitcoin"},SIWX_DEFAULTS:{signOutOnDisconnect:!0},MANDATORY_WALLET_IDS_ON_MOBILE:[Mr.ConnectorExplorerIds[U.CONNECTOR_ID.COINBASE],Mr.ConnectorExplorerIds[U.CONNECTOR_ID.COINBASE_SDK],Mr.ConnectorExplorerIds[U.CONNECTOR_ID.BASE_ACCOUNT],Mr.ConnectorExplorerIds[U.SOLFLARE_CONNECTOR_NAME],Mr.ConnectorExplorerIds[U.PHANTOM_CONNECTOR_NAME],Mr.ConnectorExplorerIds[U.BINANCE_CONNECTOR_NAME]],DEFAULT_CONNECT_METHOD_ORDER:["email","social","wallet"]},M={cacheExpiry:{portfolio:3e4,nativeBalance:3e4,ens:3e5,identity:3e5,transactionsHistory:15e3,tokenPrice:15e3,latestAppKitVersion:6048e5,tonWallets:864e5},isCacheExpired(t,e){return Date.now()-t>e},getActiveNetworkProps(){const t=M.getActiveNamespace(),e=M.getActiveCaipNetworkId(),s=e?e.split(":")[1]:void 0,n=s?isNaN(Number(s))?s:Number(s):void 0;return{namespace:t,caipNetworkId:e,chainId:n}},setWalletConnectDeepLink({name:t,href:e}){try{ie.setItem(ae.DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info("Unable to set WalletConnect deep link")}},getWalletConnectDeepLink(){try{const t=ie.getItem(ae.DEEPLINK_CHOICE);if(t)return JSON.parse(t)}catch{console.info("Unable to get WalletConnect deep link")}},deleteWalletConnectDeepLink(){try{ie.removeItem(ae.DEEPLINK_CHOICE)}catch{console.info("Unable to delete WalletConnect deep link")}},setActiveNamespace(t){try{ie.setItem(ae.ACTIVE_NAMESPACE,t)}catch{console.info("Unable to set active namespace")}},setActiveCaipNetworkId(t){try{ie.setItem(ae.ACTIVE_CAIP_NETWORK_ID,t),M.setActiveNamespace(t.split(":")[0])}catch{console.info("Unable to set active caip network id")}},getActiveCaipNetworkId(){try{return ie.getItem(ae.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to get active caip network id");return}},deleteActiveCaipNetworkId(){try{ie.removeItem(ae.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to delete active caip network id")}},deleteConnectedConnectorId(t){try{const e=pc(t);ie.removeItem(e)}catch{console.info("Unable to delete connected connector id")}},setAppKitRecent(t){try{const e=M.getRecentWallets();e.find(n=>n.id===t.id)||(e.unshift(t),e.length>2&&e.pop(),ie.setItem(ae.RECENT_WALLETS,JSON.stringify(e)),ie.setItem(ae.RECENT_WALLET,JSON.stringify(t)))}catch{console.info("Unable to set AppKit recent")}},getRecentWallets(){try{const t=ie.getItem(ae.RECENT_WALLETS);return t?JSON.parse(t):[]}catch{console.info("Unable to get AppKit recent")}return[]},getRecentWallet(){try{const t=ie.getItem(ae.RECENT_WALLET);return t?JSON.parse(t):null}catch{console.info("Unable to get AppKit recent")}return null},deleteRecentWallet(){try{ie.removeItem(ae.RECENT_WALLET)}catch{console.info("Unable to delete AppKit recent")}},setConnectedConnectorId(t,e){try{const s=pc(t);ie.setItem(s,e)}catch{console.info("Unable to set Connected Connector Id")}},getActiveNamespace(){try{return ie.getItem(ae.ACTIVE_NAMESPACE)}catch{console.info("Unable to get active namespace")}},getConnectedConnectorId(t){if(t)try{const e=pc(t);return ie.getItem(e)}catch{console.info("Unable to get connected connector id in namespace",t)}},setConnectedSocialProvider(t){try{ie.setItem(ae.CONNECTED_SOCIAL,t)}catch{console.info("Unable to set connected social provider")}},getConnectedSocialProvider(){try{return ie.getItem(ae.CONNECTED_SOCIAL)}catch{console.info("Unable to get connected social provider")}},deleteConnectedSocialProvider(){try{ie.removeItem(ae.CONNECTED_SOCIAL)}catch{console.info("Unable to delete connected social provider")}},getConnectedSocialUsername(){try{return ie.getItem(ae.CONNECTED_SOCIAL_USERNAME)}catch{console.info("Unable to get connected social username")}},getStoredActiveCaipNetworkId(){var s;const t=ie.getItem(ae.ACTIVE_CAIP_NETWORK_ID);return(s=t==null?void 0:t.split(":"))==null?void 0:s[1]},setConnectionStatus(t){try{ie.setItem(ae.CONNECTION_STATUS,t)}catch{console.info("Unable to set connection status")}},getConnectionStatus(){try{return ie.getItem(ae.CONNECTION_STATUS)}catch{return}},getConnectedNamespaces(){try{const t=ie.getItem(ae.CONNECTED_NAMESPACES);return t!=null&&t.length?t.split(","):[]}catch{return[]}},setConnectedNamespaces(t){try{const e=Array.from(new Set(t));ie.setItem(ae.CONNECTED_NAMESPACES,e.join(","))}catch{console.info("Unable to set namespaces in storage")}},addConnectedNamespace(t){try{const e=M.getConnectedNamespaces();e.includes(t)||(e.push(t),M.setConnectedNamespaces(e))}catch{console.info("Unable to add connected namespace")}},removeConnectedNamespace(t){try{const e=M.getConnectedNamespaces(),s=e.indexOf(t);s>-1&&(e.splice(s,1),M.setConnectedNamespaces(e))}catch{console.info("Unable to remove connected namespace")}},getTelegramSocialProvider(){try{return ie.getItem(ae.TELEGRAM_SOCIAL_PROVIDER)}catch{return console.info("Unable to get telegram social provider"),null}},setTelegramSocialProvider(t){try{ie.setItem(ae.TELEGRAM_SOCIAL_PROVIDER,t)}catch{console.info("Unable to set telegram social provider")}},removeTelegramSocialProvider(){try{ie.removeItem(ae.TELEGRAM_SOCIAL_PROVIDER)}catch{console.info("Unable to remove telegram social provider")}},getBalanceCache(){let t={};try{const e=ie.getItem(ae.PORTFOLIO_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromBalanceCache(t){try{const e=M.getBalanceCache();ie.setItem(ae.PORTFOLIO_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getBalanceCacheForCaipAddress(t){try{const s=M.getBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.portfolio))return s.balance;M.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateBalanceCache(t){try{const e=M.getBalanceCache();e[t.caipAddress]=t,ie.setItem(ae.PORTFOLIO_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getNativeBalanceCache(){let t={};try{const e=ie.getItem(ae.NATIVE_BALANCE_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromNativeBalanceCache(t){try{const e=M.getBalanceCache();ie.setItem(ae.NATIVE_BALANCE_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getNativeBalanceCacheForCaipAddress(t){try{const s=M.getNativeBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.nativeBalance))return s;console.info("Discarding cache for address",t),M.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateNativeBalanceCache(t){try{const e=M.getNativeBalanceCache();e[t.caipAddress]=t,ie.setItem(ae.NATIVE_BALANCE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getEnsCache(){let t={};try{const e=ie.getItem(ae.ENS_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get ens name cache")}return t},getEnsFromCacheForAddress(t){try{const s=M.getEnsCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.ens))return s.ens;M.removeEnsFromCache(t)}catch{console.info("Unable to get ens name from cache",t)}},updateEnsCache(t){try{const e=M.getEnsCache();e[t.address]=t,ie.setItem(ae.ENS_CACHE,JSON.stringify(e))}catch{console.info("Unable to update ens name cache",t)}},removeEnsFromCache(t){try{const e=M.getEnsCache();ie.setItem(ae.ENS_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove ens name from cache",t)}},getIdentityCache(){let t={};try{const e=ie.getItem(ae.IDENTITY_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get identity cache")}return t},getIdentityFromCacheForAddress(t){try{const s=M.getIdentityCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.identity))return s.identity;M.removeIdentityFromCache(t)}catch{console.info("Unable to get identity from cache",t)}},updateIdentityCache(t){try{const e=M.getIdentityCache();e[t.address]={identity:t.identity,timestamp:t.timestamp},ie.setItem(ae.IDENTITY_CACHE,JSON.stringify(e))}catch{console.info("Unable to update identity cache",t)}},removeIdentityFromCache(t){try{const e=M.getIdentityCache();ie.setItem(ae.IDENTITY_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove identity from cache",t)}},getTonWalletsCache(){try{const t=ie.getItem(ae.TON_WALLETS_CACHE),e=t?JSON.parse(t):void 0;if(e&&!this.isCacheExpired(e.timestamp,this.cacheExpiry.tonWallets))return e;M.removeTonWalletsCache()}catch{console.info("Unable to get ton wallets cache")}},updateTonWalletsCache(t){try{const e=M.getTonWalletsCache()||{timestamp:0,wallets:[]};e.timestamp=new Date().getTime(),e.wallets=t,ie.setItem(ae.TON_WALLETS_CACHE,JSON.stringify(e))}catch{console.info("Unable to update ton wallets cache",t)}},removeTonWalletsCache(){try{ie.removeItem(ae.TON_WALLETS_CACHE)}catch{console.info("Unable to remove ton wallets cache")}},clearAddressCache(){try{ie.removeItem(ae.PORTFOLIO_CACHE),ie.removeItem(ae.NATIVE_BALANCE_CACHE),ie.removeItem(ae.ENS_CACHE),ie.removeItem(ae.IDENTITY_CACHE),ie.removeItem(ae.HISTORY_TRANSACTIONS_CACHE)}catch{console.info("Unable to clear address cache")}},setPreferredAccountTypes(t){try{ie.setItem(ae.PREFERRED_ACCOUNT_TYPES,JSON.stringify(t))}catch{console.info("Unable to set preferred account types",t)}},getPreferredAccountTypes(){try{const t=ie.getItem(ae.PREFERRED_ACCOUNT_TYPES);return t?JSON.parse(t):{}}catch{console.info("Unable to get preferred account types")}return{}},setConnections(t,e){try{const s=M.getConnections(),n=s[e]??[],r=new Map;for(const o of n)r.set(o.connectorId,{...o});for(const o of t){const a=r.get(o.connectorId),c=o.connectorId===U.CONNECTOR_ID.AUTH;if(a&&!c){const l=new Set(a.accounts.map(u=>u.address.toLowerCase())),d=o.accounts.filter(u=>!l.has(u.address.toLowerCase()));a.accounts.push(...d)}else r.set(o.connectorId,{...o})}const i={...s,[e]:Array.from(r.values())};ie.setItem(ae.CONNECTIONS,JSON.stringify(i))}catch(s){console.error("Unable to sync connections to storage",s)}},getConnections(){try{const t=ie.getItem(ae.CONNECTIONS);return t?JSON.parse(t):{}}catch(t){return console.error("Unable to get connections from storage",t),{}}},deleteAddressFromConnection({connectorId:t,address:e,namespace:s}){try{const n=M.getConnections(),r=n[s]??[],i=new Map(r.map(a=>[a.connectorId,a])),o=i.get(t);o&&(o.accounts.filter(c=>c.address.toLowerCase()!==e.toLowerCase()).length===0?i.delete(t):i.set(t,{...o,accounts:o.accounts.filter(c=>c.address.toLowerCase()!==e.toLowerCase())})),ie.setItem(ae.CONNECTIONS,JSON.stringify({...n,[s]:Array.from(i.values())}))}catch{console.error(`Unable to remove address "${e}" from connector "${t}" in namespace "${s}"`)}},getDisconnectedConnectorIds(){try{const t=ie.getItem(ae.DISCONNECTED_CONNECTOR_IDS);return t?JSON.parse(t):{}}catch{console.info("Unable to get disconnected connector ids")}return{}},addDisconnectedConnectorId(t,e){try{const s=M.getDisconnectedConnectorIds(),n=s[e]??[];n.push(t),ie.setItem(ae.DISCONNECTED_CONNECTOR_IDS,JSON.stringify({...s,[e]:Array.from(new Set(n))}))}catch{console.error(`Unable to set disconnected connector id "${t}" for namespace "${e}"`)}},removeDisconnectedConnectorId(t,e){try{const s=M.getDisconnectedConnectorIds();let n=s[e]??[];n=n.filter(r=>r.toLowerCase()!==t.toLowerCase()),ie.setItem(ae.DISCONNECTED_CONNECTOR_IDS,JSON.stringify({...s,[e]:Array.from(new Set(n))}))}catch{console.error(`Unable to remove disconnected connector id "${t}" for namespace "${e}"`)}},isConnectorDisconnected(t,e){try{return(M.getDisconnectedConnectorIds()[e]??[]).some(r=>r.toLowerCase()===t.toLowerCase())}catch{console.info(`Unable to get disconnected connector id "${t}" for namespace "${e}"`)}return!1},getTransactionsCache(){try{const t=ie.getItem(ae.HISTORY_TRANSACTIONS_CACHE);return t?JSON.parse(t):{}}catch{console.info("Unable to get transactions cache")}return{}},getTransactionsCacheForAddress({address:t,chainId:e=""}){var s;try{const r=(s=M.getTransactionsCache()[t])==null?void 0:s[e];if(r&&!this.isCacheExpired(r.timestamp,this.cacheExpiry.transactionsHistory))return r.transactions;M.removeTransactionsCache({address:t,chainId:e})}catch{console.info("Unable to get transactions cache")}},updateTransactionsCache({address:t,chainId:e="",timestamp:s,transactions:n}){try{const r=M.getTransactionsCache();r[t]={...r[t],[e]:{timestamp:s,transactions:n}},ie.setItem(ae.HISTORY_TRANSACTIONS_CACHE,JSON.stringify(r))}catch{console.info("Unable to update transactions cache",{address:t,chainId:e,timestamp:s,transactions:n})}},removeTransactionsCache({address:t,chainId:e}){try{const s=M.getTransactionsCache(),n=(s==null?void 0:s[t])||{},{[e]:r,...i}=n;ie.setItem(ae.HISTORY_TRANSACTIONS_CACHE,JSON.stringify({...s,[t]:i}))}catch{console.info("Unable to remove transactions cache",{address:t,chainId:e})}},getTokenPriceCache(){try{const t=ie.getItem(ae.TOKEN_PRICE_CACHE);return t?JSON.parse(t):{}}catch{console.info("Unable to get token price cache")}return{}},getTokenPriceCacheForAddresses(t){try{const s=M.getTokenPriceCache()[t.join(",")];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.tokenPrice))return s.tokenPrice;M.removeTokenPriceCache(t)}catch{console.info("Unable to get token price cache for addresses",t)}},updateTokenPriceCache(t){try{const e=M.getTokenPriceCache();e[t.addresses.join(",")]={timestamp:t.timestamp,tokenPrice:t.tokenPrice},ie.setItem(ae.TOKEN_PRICE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update token price cache",t)}},removeTokenPriceCache(t){try{const e=M.getTokenPriceCache();ie.setItem(ae.TOKEN_PRICE_CACHE,JSON.stringify({...e,[t.join(",")]:void 0}))}catch{console.info("Unable to remove token price cache",t)}},getLatestAppKitVersion(){try{const t=this.getLatestAppKitVersionCache(),e=t==null?void 0:t.version;return e&&!this.isCacheExpired(t.timestamp,this.cacheExpiry.latestAppKitVersion)?e:void 0}catch{console.info("Unable to get latest AppKit version")}},getLatestAppKitVersionCache(){try{const t=ie.getItem(ae.LATEST_APPKIT_VERSION);return t?JSON.parse(t):{}}catch{console.info("Unable to get latest AppKit version cache")}return{}},updateLatestAppKitVersion(t){try{const e=M.getLatestAppKitVersionCache();e.timestamp=t.timestamp,e.version=t.version,ie.setItem(ae.LATEST_APPKIT_VERSION,JSON.stringify(e))}catch{console.info("Unable to update latest AppKit version on local storage",t)}}},Z={getWindow(){if(!(typeof window>"u"))return window},isMobile(){var t;return this.isClient()?!!(window!=null&&window.matchMedia&&typeof window.matchMedia=="function"&&((t=window.matchMedia("(pointer:coarse)"))!=null&&t.matches)||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1},checkCaipNetwork(t,e=""){return t==null?void 0:t.caipNetworkId.toLocaleLowerCase().includes(e.toLowerCase())},isAndroid(){if(!this.isMobile())return!1;const t=window==null?void 0:window.navigator.userAgent.toLowerCase();return Z.isMobile()&&t.includes("android")},isIos(){if(!this.isMobile())return!1;const t=window==null?void 0:window.navigator.userAgent.toLowerCase();return t.includes("iphone")||t.includes("ipad")},isSafari(){return this.isClient()?(window==null?void 0:window.navigator.userAgent.toLowerCase()).includes("safari"):!1},isClient(){return typeof window<"u"},isPairingExpired(t){return t?t-Date.now()<=Ie.TEN_SEC_MS:!0},isAllowedRetry(t,e=Ie.ONE_SEC_MS){return Date.now()-t>=e},copyToClopboard(t){navigator.clipboard.writeText(t)},isIframe(){try{return(window==null?void 0:window.self)!==(window==null?void 0:window.top)}catch{return!1}},isSafeApp(){var t,e;if(Z.isClient()&&window.self!==window.top)try{const s=(e=(t=window==null?void 0:window.location)==null?void 0:t.ancestorOrigins)==null?void 0:e[0],n="https://app.safe.global";if(s){const r=new URL(s),i=new URL(n);return r.hostname===i.hostname}}catch{return!1}return!1},getPairingExpiry(){return Date.now()+Ie.FOUR_MINUTES_MS},getNetworkId(t){return t==null?void 0:t.split(":")[1]},getPlainAddress(t){return t==null?void 0:t.split(":")[2]},async wait(t){return new Promise(e=>{setTimeout(e,t)})},debounce(t,e=500){let s;return(...n)=>{function r(){t(...n)}s&&clearTimeout(s),s=setTimeout(r,e)}},isHttpUrl(t){return t.startsWith("http://")||t.startsWith("https://")},formatNativeUrl(t,e,s=null){if(Z.isHttpUrl(t))return this.formatUniversalUrl(t,e);let n=t,r=s;n.includes("://")||(n=t.replaceAll("/","").replaceAll(":",""),n=`${n}://`),n.endsWith("/")||(n=`${n}/`),r&&!(r!=null&&r.endsWith("/"))&&(r=`${r}/`),this.isTelegram()&&this.isAndroid()&&(e=encodeURIComponent(e));const i=encodeURIComponent(e);return{redirect:`${n}wc?uri=${i}`,redirectUniversalLink:r?`${r}wc?uri=${i}`:void 0,href:n}},formatUniversalUrl(t,e){if(!Z.isHttpUrl(t))return this.formatNativeUrl(t,e);let s=t;s.endsWith("/")||(s=`${s}/`);const n=encodeURIComponent(e);return{redirect:`${s}wc?uri=${n}`,href:s}},getOpenTargetForPlatform(t){return t==="popupWindow"?t:this.isTelegram()?M.getTelegramSocialProvider()?"_top":"_blank":t},openHref(t,e,s){window==null||window.open(t,this.getOpenTargetForPlatform(e),s||"noreferrer noopener")},returnOpenHref(t,e,s){return window==null?void 0:window.open(t,this.getOpenTargetForPlatform(e),s||"noreferrer noopener")},isTelegram(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)},isPWA(){var s,n;if(typeof window>"u")return!1;const t=window!=null&&window.matchMedia&&typeof window.matchMedia=="function"?(s=window.matchMedia("(display-mode: standalone)"))==null?void 0:s.matches:!1,e=(n=window==null?void 0:window.navigator)==null?void 0:n.standalone;return!!(t||e)},async preloadImage(t){const e=new Promise((s,n)=>{const r=new Image;r.onload=s,r.onerror=n,r.crossOrigin="anonymous",r.src=t});return Promise.race([e,Z.wait(2e3)])},parseBalance(t,e){let s="0.000";if(typeof t=="string"){const c=Number(t);if(!isNaN(c)){const l=(Math.floor(c*1e3)/1e3).toFixed(3);l&&(s=l)}}const[n,r]=s.split("."),i=n||"0",o=r||"000";return{formattedText:`${i}.${o}${e?` ${e}`:""}`,value:i,decimals:o,symbol:e}},getApiUrl(){return U.W3M_API_URL},getBlockchainApiUrl(){return U.BLOCKCHAIN_API_RPC_URL},getAnalyticsUrl(){return U.PULSE_API_URL},getUUID(){return crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})},parseError(t){var e,s;return typeof t=="string"?t:typeof((s=(e=t==null?void 0:t.issues)==null?void 0:e[0])==null?void 0:s.message)=="string"?t.issues[0].message:t instanceof Error?t.message:"Unknown error"},sortRequestedNetworks(t,e=[]){const s={};return e&&t&&(t.forEach((n,r)=>{s[n]=r}),e.sort((n,r)=>{const i=s[n.id],o=s[r.id];return i!==void 0&&o!==void 0?i-o:i!==void 0?-1:o!==void 0?1:0})),e},calculateBalance(t){let e=0;for(const s of t)e+=s.value??0;return e},formatTokenBalance(t){const e=t.toFixed(2),[s,n]=e.split(".");return{dollars:s,pennies:n}},isAddress(t,e="eip155"){switch(e){case"eip155":if(/^(?:0x)?[0-9a-f]{40}$/iu.test(t)){if(/^(?:0x)?[0-9a-f]{40}$/iu.test(t)||/^(?:0x)?[0-9A-F]{40}$/iu.test(t))return!0}else return!1;return!1;case"solana":return/[1-9A-HJ-NP-Za-km-z]{32,44}$/iu.test(t);default:return!1}},uniqueBy(t,e){const s=new Set;return t.filter(n=>{const r=n[e];return s.has(r)?!1:(s.add(r),!0)})},generateSdkVersion(t,e,s){const r=t.length===0?Ie.ADAPTER_TYPES.UNIVERSAL:t.map(i=>i.adapterType).join(",");return`${e}-${r}-${s}`},createAccount(t,e,s,n,r){return{namespace:t,address:e,type:s,publicKey:n,path:r}},isCaipAddress(t){if(typeof t!="string")return!1;const e=t.split(":"),s=e[0];return e.filter(Boolean).length===3&&s in U.CHAIN_NAME_MAP},getAccount(t){return t?typeof t=="string"?{address:t,chainId:void 0}:{address:t.address,chainId:t.chainId}:{address:void 0,chainId:void 0}},isMac(){const t=window==null?void 0:window.navigator.userAgent.toLowerCase();return t.includes("macintosh")&&!t.includes("safari")},formatTelegramSocialLoginUrl(t){const e=`--${encodeURIComponent(window==null?void 0:window.location.href)}`,s="state=";if(new URL(t).host==="auth.magic.link"){const r="provider_authorization_url=",i=t.substring(t.indexOf(r)+r.length),o=this.injectIntoUrl(decodeURIComponent(i),s,e);return t.replace(i,encodeURIComponent(o))}return this.injectIntoUrl(t,s,e)},injectIntoUrl(t,e,s){const n=t.indexOf(e);if(n===-1)throw new Error(`${e} parameter not found in the URL: ${t}`);const r=t.indexOf("&",n),i=e.length,o=r!==-1?r:t.length,a=t.substring(0,n+i),c=t.substring(n+i,o),l=t.substring(r),d=c+s;return a+d+l}};var li={};const fw="https://secure.walletconnect.org/sdk",gw=(typeof fn<"u"&&typeof li<"u"?li.NEXT_PUBLIC_SECURE_SITE_SDK_URL:void 0)||fw,mw=(typeof fn<"u"&&typeof li<"u"?li.NEXT_PUBLIC_DEFAULT_LOG_LEVEL:void 0)||"error",yw=(typeof fn<"u"&&typeof li<"u"?li.NEXT_PUBLIC_SECURE_SITE_SDK_VERSION:void 0)||"4",re={APP_EVENT_KEY:"@w3m-app/",FRAME_EVENT_KEY:"@w3m-frame/",RPC_METHOD_KEY:"RPC_",STORAGE_KEY:"@appkit-wallet/",SESSION_TOKEN_KEY:"SESSION_TOKEN_KEY",EMAIL_LOGIN_USED_KEY:"EMAIL_LOGIN_USED_KEY",LAST_USED_CHAIN_KEY:"LAST_USED_CHAIN_KEY",LAST_EMAIL_LOGIN_TIME:"LAST_EMAIL_LOGIN_TIME",EMAIL:"EMAIL",PREFERRED_ACCOUNT_TYPE:"PREFERRED_ACCOUNT_TYPE",SMART_ACCOUNT_ENABLED:"SMART_ACCOUNT_ENABLED",SMART_ACCOUNT_ENABLED_NETWORKS:"SMART_ACCOUNT_ENABLED_NETWORKS",SOCIAL_USERNAME:"SOCIAL_USERNAME",APP_SWITCH_NETWORK:"@w3m-app/SWITCH_NETWORK",APP_CONNECT_EMAIL:"@w3m-app/CONNECT_EMAIL",APP_CONNECT_DEVICE:"@w3m-app/CONNECT_DEVICE",APP_CONNECT_OTP:"@w3m-app/CONNECT_OTP",APP_CONNECT_SOCIAL:"@w3m-app/CONNECT_SOCIAL",APP_GET_SOCIAL_REDIRECT_URI:"@w3m-app/GET_SOCIAL_REDIRECT_URI",APP_GET_USER:"@w3m-app/GET_USER",APP_SIGN_OUT:"@w3m-app/SIGN_OUT",APP_IS_CONNECTED:"@w3m-app/IS_CONNECTED",APP_GET_CHAIN_ID:"@w3m-app/GET_CHAIN_ID",APP_RPC_REQUEST:"@w3m-app/RPC_REQUEST",APP_UPDATE_EMAIL:"@w3m-app/UPDATE_EMAIL",APP_UPDATE_EMAIL_PRIMARY_OTP:"@w3m-app/UPDATE_EMAIL_PRIMARY_OTP",APP_UPDATE_EMAIL_SECONDARY_OTP:"@w3m-app/UPDATE_EMAIL_SECONDARY_OTP",APP_AWAIT_UPDATE_EMAIL:"@w3m-app/AWAIT_UPDATE_EMAIL",APP_SYNC_THEME:"@w3m-app/SYNC_THEME",APP_SYNC_DAPP_DATA:"@w3m-app/SYNC_DAPP_DATA",APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS:"@w3m-app/GET_SMART_ACCOUNT_ENABLED_NETWORKS",APP_INIT_SMART_ACCOUNT:"@w3m-app/INIT_SMART_ACCOUNT",APP_SET_PREFERRED_ACCOUNT:"@w3m-app/SET_PREFERRED_ACCOUNT",APP_CONNECT_FARCASTER:"@w3m-app/CONNECT_FARCASTER",APP_GET_FARCASTER_URI:"@w3m-app/GET_FARCASTER_URI",APP_RELOAD:"@w3m-app/RELOAD",APP_RPC_ABORT:"@w3m-app/RPC_ABORT",FRAME_SWITCH_NETWORK_ERROR:"@w3m-frame/SWITCH_NETWORK_ERROR",FRAME_SWITCH_NETWORK_SUCCESS:"@w3m-frame/SWITCH_NETWORK_SUCCESS",FRAME_CONNECT_EMAIL_ERROR:"@w3m-frame/CONNECT_EMAIL_ERROR",FRAME_CONNECT_EMAIL_SUCCESS:"@w3m-frame/CONNECT_EMAIL_SUCCESS",FRAME_CONNECT_DEVICE_ERROR:"@w3m-frame/CONNECT_DEVICE_ERROR",FRAME_CONNECT_DEVICE_SUCCESS:"@w3m-frame/CONNECT_DEVICE_SUCCESS",FRAME_CONNECT_OTP_SUCCESS:"@w3m-frame/CONNECT_OTP_SUCCESS",FRAME_CONNECT_OTP_ERROR:"@w3m-frame/CONNECT_OTP_ERROR",FRAME_CONNECT_SOCIAL_SUCCESS:"@w3m-frame/CONNECT_SOCIAL_SUCCESS",FRAME_CONNECT_SOCIAL_ERROR:"@w3m-frame/CONNECT_SOCIAL_ERROR",FRAME_CONNECT_FARCASTER_SUCCESS:"@w3m-frame/CONNECT_FARCASTER_SUCCESS",FRAME_CONNECT_FARCASTER_ERROR:"@w3m-frame/CONNECT_FARCASTER_ERROR",FRAME_GET_FARCASTER_URI_SUCCESS:"@w3m-frame/GET_FARCASTER_URI_SUCCESS",FRAME_GET_FARCASTER_URI_ERROR:"@w3m-frame/GET_FARCASTER_URI_ERROR",FRAME_GET_SOCIAL_REDIRECT_URI_SUCCESS:"@w3m-frame/GET_SOCIAL_REDIRECT_URI_SUCCESS",FRAME_GET_SOCIAL_REDIRECT_URI_ERROR:"@w3m-frame/GET_SOCIAL_REDIRECT_URI_ERROR",FRAME_GET_USER_SUCCESS:"@w3m-frame/GET_USER_SUCCESS",FRAME_GET_USER_ERROR:"@w3m-frame/GET_USER_ERROR",FRAME_SIGN_OUT_SUCCESS:"@w3m-frame/SIGN_OUT_SUCCESS",FRAME_SIGN_OUT_ERROR:"@w3m-frame/SIGN_OUT_ERROR",FRAME_IS_CONNECTED_SUCCESS:"@w3m-frame/IS_CONNECTED_SUCCESS",FRAME_IS_CONNECTED_ERROR:"@w3m-frame/IS_CONNECTED_ERROR",FRAME_GET_CHAIN_ID_SUCCESS:"@w3m-frame/GET_CHAIN_ID_SUCCESS",FRAME_GET_CHAIN_ID_ERROR:"@w3m-frame/GET_CHAIN_ID_ERROR",FRAME_RPC_REQUEST_SUCCESS:"@w3m-frame/RPC_REQUEST_SUCCESS",FRAME_RPC_REQUEST_ERROR:"@w3m-frame/RPC_REQUEST_ERROR",FRAME_SESSION_UPDATE:"@w3m-frame/SESSION_UPDATE",FRAME_UPDATE_EMAIL_SUCCESS:"@w3m-frame/UPDATE_EMAIL_SUCCESS",FRAME_UPDATE_EMAIL_ERROR:"@w3m-frame/UPDATE_EMAIL_ERROR",FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS:"@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_SUCCESS",FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR:"@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_ERROR",FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS:"@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_SUCCESS",FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR:"@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_ERROR",FRAME_SYNC_THEME_SUCCESS:"@w3m-frame/SYNC_THEME_SUCCESS",FRAME_SYNC_THEME_ERROR:"@w3m-frame/SYNC_THEME_ERROR",FRAME_SYNC_DAPP_DATA_SUCCESS:"@w3m-frame/SYNC_DAPP_DATA_SUCCESS",FRAME_SYNC_DAPP_DATA_ERROR:"@w3m-frame/SYNC_DAPP_DATA_ERROR",FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS:"@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS",FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR:"@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR",FRAME_INIT_SMART_ACCOUNT_SUCCESS:"@w3m-frame/INIT_SMART_ACCOUNT_SUCCESS",FRAME_INIT_SMART_ACCOUNT_ERROR:"@w3m-frame/INIT_SMART_ACCOUNT_ERROR",FRAME_SET_PREFERRED_ACCOUNT_SUCCESS:"@w3m-frame/SET_PREFERRED_ACCOUNT_SUCCESS",FRAME_SET_PREFERRED_ACCOUNT_ERROR:"@w3m-frame/SET_PREFERRED_ACCOUNT_ERROR",FRAME_READY:"@w3m-frame/READY",FRAME_RELOAD_SUCCESS:"@w3m-frame/RELOAD_SUCCESS",FRAME_RELOAD_ERROR:"@w3m-frame/RELOAD_ERROR",FRAME_RPC_ABORT_SUCCESS:"@w3m-frame/RPC_ABORT_SUCCESS",FRAME_RPC_ABORT_ERROR:"@w3m-frame/RPC_ABORT_ERROR",RPC_RESPONSE_TYPE_ERROR:"RPC_RESPONSE_ERROR",RPC_RESPONSE_TYPE_TX:"RPC_RESPONSE_TRANSACTION_HASH",RPC_RESPONSE_TYPE_OBJECT:"RPC_RESPONSE_OBJECT"},et={SAFE_RPC_METHODS:["eth_accounts","eth_blockNumber","eth_call","eth_chainId","eth_estimateGas","eth_feeHistory","eth_gasPrice","eth_getAccount","eth_getBalance","eth_getBlockByHash","eth_getBlockByNumber","eth_getBlockReceipts","eth_getBlockTransactionCountByHash","eth_getBlockTransactionCountByNumber","eth_getCode","eth_getFilterChanges","eth_getFilterLogs","eth_getLogs","eth_getProof","eth_getStorageAt","eth_getTransactionByBlockHashAndIndex","eth_getTransactionByBlockNumberAndIndex","eth_getTransactionByHash","eth_getTransactionCount","eth_getTransactionReceipt","eth_getUncleCountByBlockHash","eth_getUncleCountByBlockNumber","eth_maxPriorityFeePerGas","eth_newBlockFilter","eth_newFilter","eth_newPendingTransactionFilter","eth_sendRawTransaction","eth_syncing","eth_uninstallFilter","wallet_getCapabilities","wallet_getCallsStatus","eth_getUserOperationReceipt","eth_estimateUserOperationGas","eth_getUserOperationByHash","eth_supportedEntryPoints","wallet_getAssets"],NOT_SAFE_RPC_METHODS:["personal_sign","eth_signTypedData_v4","eth_sendTransaction","solana_signMessage","solana_signTransaction","solana_signAllTransactions","solana_signAndSendTransaction","wallet_sendCalls","wallet_grantPermissions","wallet_revokePermissions","eth_sendUserOperation"],GET_CHAIN_ID:"eth_chainId",RPC_METHOD_NOT_ALLOWED_MESSAGE:"Requested RPC call is not allowed",RPC_METHOD_NOT_ALLOWED_UI_MESSAGE:"Action not allowed",ACCOUNT_TYPES:{EOA:"eoa",SMART_ACCOUNT:"smartAccount"}},Nu={transactionHash:/^0x(?:[A-Fa-f0-9]{64})$/u,signedMessage:/^0x(?:[a-fA-F0-9]{62,})$/u},at={set(t,e){is.isClient&&localStorage.setItem(`${re.STORAGE_KEY}${t}`,e)},get(t){return is.isClient?localStorage.getItem(`${re.STORAGE_KEY}${t}`):null},delete(t,e){is.isClient&&(e?localStorage.removeItem(t):localStorage.removeItem(`${re.STORAGE_KEY}${t}`))}},Mo=30*1e3,is={checkIfAllowedToTriggerEmail(){const t=at.get(re.LAST_EMAIL_LOGIN_TIME);if(t){const e=Date.now()-Number(t);if(e<Mo){const s=Math.ceil((Mo-e)/1e3);throw new Error(`Please try again after ${s} seconds`)}}},getTimeToNextEmailLogin(){const t=at.get(re.LAST_EMAIL_LOGIN_TIME);if(t){const e=Date.now()-Number(t);if(e<Mo)return Math.ceil((Mo-e)/1e3)}return 0},checkIfRequestExists(t){return et.NOT_SAFE_RPC_METHODS.includes(t.method)||et.SAFE_RPC_METHODS.includes(t.method)},getResponseType(t){return typeof t=="string"&&((t==null?void 0:t.match(Nu.transactionHash))||(t==null?void 0:t.match(Nu.signedMessage)))?re.RPC_RESPONSE_TYPE_TX:re.RPC_RESPONSE_TYPE_OBJECT},checkIfRequestIsSafe(t){return et.SAFE_RPC_METHODS.includes(t.method)},isClient:typeof window<"u"};var De;(function(t){t.assertEqual=r=>r;function e(r){}t.assertIs=e;function s(r){throw new Error}t.assertNever=s,t.arrayToEnum=r=>{const i={};for(const o of r)i[o]=o;return i},t.getValidEnumValues=r=>{const i=t.objectKeys(r).filter(a=>typeof r[r[a]]!="number"),o={};for(const a of i)o[a]=r[a];return t.objectValues(o)},t.objectValues=r=>t.objectKeys(r).map(function(i){return r[i]}),t.objectKeys=typeof Object.keys=="function"?r=>Object.keys(r):r=>{const i=[];for(const o in r)Object.prototype.hasOwnProperty.call(r,o)&&i.push(o);return i},t.find=(r,i)=>{for(const o of r)if(i(o))return o},t.isInteger=typeof Number.isInteger=="function"?r=>Number.isInteger(r):r=>typeof r=="number"&&isFinite(r)&&Math.floor(r)===r;function n(r,i=" | "){return r.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}t.joinValues=n,t.jsonStringifyReplacer=(r,i)=>typeof i=="bigint"?i.toString():i})(De||(De={}));var yl;(function(t){t.mergeShapes=(e,s)=>({...e,...s})})(yl||(yl={}));const ee=De.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Un=t=>{switch(typeof t){case"undefined":return ee.undefined;case"string":return ee.string;case"number":return isNaN(t)?ee.nan:ee.number;case"boolean":return ee.boolean;case"function":return ee.function;case"bigint":return ee.bigint;case"symbol":return ee.symbol;case"object":return Array.isArray(t)?ee.array:t===null?ee.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?ee.promise:typeof Map<"u"&&t instanceof Map?ee.map:typeof Set<"u"&&t instanceof Set?ee.set:typeof Date<"u"&&t instanceof Date?ee.date:ee.object;default:return ee.unknown}},V=De.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),ww=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");class Ps extends Error{constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const s=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,s):this.__proto__=s,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const s=e||function(i){return i.message},n={_errors:[]},r=i=>{for(const o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(r);else if(o.code==="invalid_return_type")r(o.returnTypeError);else if(o.code==="invalid_arguments")r(o.argumentsError);else if(o.path.length===0)n._errors.push(s(o));else{let a=n,c=0;for(;c<o.path.length;){const l=o.path[c];c===o.path.length-1?(a[l]=a[l]||{_errors:[]},a[l]._errors.push(s(o))):a[l]=a[l]||{_errors:[]},a=a[l],c++}}};return r(this),n}toString(){return this.message}get message(){return JSON.stringify(this.issues,De.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=s=>s.message){const s={},n=[];for(const r of this.issues)r.path.length>0?(s[r.path[0]]=s[r.path[0]]||[],s[r.path[0]].push(e(r))):n.push(e(r));return{formErrors:n,fieldErrors:s}}get formErrors(){return this.flatten()}}Ps.create=t=>new Ps(t);const Qi=(t,e)=>{let s;switch(t.code){case V.invalid_type:t.received===ee.undefined?s="Required":s=`Expected ${t.expected}, received ${t.received}`;break;case V.invalid_literal:s=`Invalid literal value, expected ${JSON.stringify(t.expected,De.jsonStringifyReplacer)}`;break;case V.unrecognized_keys:s=`Unrecognized key(s) in object: ${De.joinValues(t.keys,", ")}`;break;case V.invalid_union:s="Invalid input";break;case V.invalid_union_discriminator:s=`Invalid discriminator value. Expected ${De.joinValues(t.options)}`;break;case V.invalid_enum_value:s=`Invalid enum value. Expected ${De.joinValues(t.options)}, received '${t.received}'`;break;case V.invalid_arguments:s="Invalid function arguments";break;case V.invalid_return_type:s="Invalid function return type";break;case V.invalid_date:s="Invalid date";break;case V.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(s=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(s=`${s} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?s=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?s=`Invalid input: must end with "${t.validation.endsWith}"`:De.assertNever(t.validation):t.validation!=="regex"?s=`Invalid ${t.validation}`:s="Invalid";break;case V.too_small:t.type==="array"?s=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?s=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?s=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?s=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:s="Invalid input";break;case V.too_big:t.type==="array"?s=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?s=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?s=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?s=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?s=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:s="Invalid input";break;case V.custom:s="Invalid input";break;case V.invalid_intersection_types:s="Intersection results could not be merged";break;case V.not_multiple_of:s=`Number must be a multiple of ${t.multipleOf}`;break;case V.not_finite:s="Number must be finite";break;default:s=e.defaultError,De.assertNever(t)}return{message:s}};let If=Qi;function Ew(t){If=t}function wa(){return If}const Ea=t=>{const{data:e,path:s,errorMaps:n,issueData:r}=t,i=[...s,...r.path||[]],o={...r,path:i};let a="";const c=n.filter(l=>!!l).slice().reverse();for(const l of c)a=l(o,{data:e,defaultError:a}).message;return{...r,path:i,message:r.message||a}},bw=[];function ne(t,e){const s=Ea({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,wa(),Qi].filter(n=>!!n)});t.common.issues.push(s)}class Tt{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,s){const n=[];for(const r of s){if(r.status==="aborted")return Ee;r.status==="dirty"&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,s){const n=[];for(const r of s)n.push({key:await r.key,value:await r.value});return Tt.mergeObjectSync(e,n)}static mergeObjectSync(e,s){const n={};for(const r of s){const{key:i,value:o}=r;if(i.status==="aborted"||o.status==="aborted")return Ee;i.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||r.alwaysSet)&&(n[i.value]=o.value)}return{status:e.value,value:n}}}const Ee=Object.freeze({status:"aborted"}),Nf=t=>({status:"dirty",value:t}),Mt=t=>({status:"valid",value:t}),wl=t=>t.status==="aborted",El=t=>t.status==="dirty",eo=t=>t.status==="valid",ba=t=>typeof Promise<"u"&&t instanceof Promise;var ue;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(ue||(ue={}));class Ys{constructor(e,s,n,r){this._cachedPath=[],this.parent=e,this.data=s,this._path=n,this._key=r}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Tu=(t,e)=>{if(eo(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const s=new Ps(t.common.issues);return this._error=s,this._error}}};function Ce(t){if(!t)return{};const{errorMap:e,invalid_type_error:s,required_error:n,description:r}=t;if(e&&(s||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:r}:{errorMap:(o,a)=>o.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:n??a.defaultError}:{message:s??a.defaultError},description:r}}class Ae{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return Un(e.data)}_getOrReturnCtx(e,s){return s||{common:e.parent.common,data:e.data,parsedType:Un(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Tt,ctx:{common:e.parent.common,data:e.data,parsedType:Un(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const s=this._parse(e);if(ba(s))throw new Error("Synchronous parse encountered promise.");return s}_parseAsync(e){const s=this._parse(e);return Promise.resolve(s)}parse(e,s){const n=this.safeParse(e,s);if(n.success)return n.data;throw n.error}safeParse(e,s){var n;const r={common:{issues:[],async:(n=s==null?void 0:s.async)!==null&&n!==void 0?n:!1,contextualErrorMap:s==null?void 0:s.errorMap},path:(s==null?void 0:s.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Un(e)},i=this._parseSync({data:e,path:r.path,parent:r});return Tu(r,i)}async parseAsync(e,s){const n=await this.safeParseAsync(e,s);if(n.success)return n.data;throw n.error}async safeParseAsync(e,s){const n={common:{issues:[],contextualErrorMap:s==null?void 0:s.errorMap,async:!0},path:(s==null?void 0:s.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Un(e)},r=this._parse({data:e,path:n.path,parent:n}),i=await(ba(r)?r:Promise.resolve(r));return Tu(n,i)}refine(e,s){const n=r=>typeof s=="string"||typeof s>"u"?{message:s}:typeof s=="function"?s(r):s;return this._refinement((r,i)=>{const o=e(r),a=()=>i.addIssue({code:V.custom,...n(r)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(e,s){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof s=="function"?s(n,r):s),!1))}_refinement(e){return new Us({schema:this,typeName:pe.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return gn.create(this,this._def)}nullable(){return Ir.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return xs.create(this,this._def)}promise(){return ui.create(this,this._def)}or(e){return ro.create([this,e],this._def)}and(e){return io.create(this,e,this._def)}transform(e){return new Us({...Ce(this._def),schema:this,typeName:pe.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const s=typeof e=="function"?e:()=>e;return new uo({...Ce(this._def),innerType:this,defaultValue:s,typeName:pe.ZodDefault})}brand(){return new Rf({typeName:pe.ZodBranded,type:this,...Ce(this._def)})}catch(e){const s=typeof e=="function"?e:()=>e;return new Aa({...Ce(this._def),innerType:this,catchValue:s,typeName:pe.ZodCatch})}describe(e){const s=this.constructor;return new s({...this._def,description:e})}pipe(e){return Ao.create(this,e)}readonly(){return Ia.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Cw=/^c[^\s-]{8,}$/i,vw=/^[a-z][a-z0-9]*$/,_w=/^[0-9A-HJKMNP-TV-Z]{26}$/,Aw=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Sw=/^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Iw="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let gc;const Nw=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,Tw=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Rw=t=>t.precision?t.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${t.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${t.precision}}Z$`):t.precision===0?t.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):t.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function Ow(t,e){return!!((e==="v4"||!e)&&Nw.test(t)||(e==="v6"||!e)&&Tw.test(t))}class Os extends Ae{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==ee.string){const i=this._getOrReturnCtx(e);return ne(i,{code:V.invalid_type,expected:ee.string,received:i.parsedType}),Ee}const n=new Tt;let r;for(const i of this._def.checks)if(i.kind==="min")e.data.length<i.value&&(r=this._getOrReturnCtx(e,r),ne(r,{code:V.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="max")e.data.length>i.value&&(r=this._getOrReturnCtx(e,r),ne(r,{code:V.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){const o=e.data.length>i.value,a=e.data.length<i.value;(o||a)&&(r=this._getOrReturnCtx(e,r),o?ne(r,{code:V.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):a&&ne(r,{code:V.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),n.dirty())}else if(i.kind==="email")Sw.test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"email",code:V.invalid_string,message:i.message}),n.dirty());else if(i.kind==="emoji")gc||(gc=new RegExp(Iw,"u")),gc.test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"emoji",code:V.invalid_string,message:i.message}),n.dirty());else if(i.kind==="uuid")Aw.test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"uuid",code:V.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid")Cw.test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"cuid",code:V.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid2")vw.test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"cuid2",code:V.invalid_string,message:i.message}),n.dirty());else if(i.kind==="ulid")_w.test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"ulid",code:V.invalid_string,message:i.message}),n.dirty());else if(i.kind==="url")try{new URL(e.data)}catch{r=this._getOrReturnCtx(e,r),ne(r,{validation:"url",code:V.invalid_string,message:i.message}),n.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"regex",code:V.invalid_string,message:i.message}),n.dirty())):i.kind==="trim"?e.data=e.data.trim():i.kind==="includes"?e.data.includes(i.value,i.position)||(r=this._getOrReturnCtx(e,r),ne(r,{code:V.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),n.dirty()):i.kind==="toLowerCase"?e.data=e.data.toLowerCase():i.kind==="toUpperCase"?e.data=e.data.toUpperCase():i.kind==="startsWith"?e.data.startsWith(i.value)||(r=this._getOrReturnCtx(e,r),ne(r,{code:V.invalid_string,validation:{startsWith:i.value},message:i.message}),n.dirty()):i.kind==="endsWith"?e.data.endsWith(i.value)||(r=this._getOrReturnCtx(e,r),ne(r,{code:V.invalid_string,validation:{endsWith:i.value},message:i.message}),n.dirty()):i.kind==="datetime"?Rw(i).test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{code:V.invalid_string,validation:"datetime",message:i.message}),n.dirty()):i.kind==="ip"?Ow(e.data,i.version)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"ip",code:V.invalid_string,message:i.message}),n.dirty()):De.assertNever(i);return{status:n.value,value:e.data}}_regex(e,s,n){return this.refinement(r=>e.test(r),{validation:s,code:V.invalid_string,...ue.errToObj(n)})}_addCheck(e){return new Os({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...ue.errToObj(e)})}url(e){return this._addCheck({kind:"url",...ue.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...ue.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...ue.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...ue.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...ue.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...ue.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...ue.errToObj(e)})}datetime(e){var s;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(s=e==null?void 0:e.offset)!==null&&s!==void 0?s:!1,...ue.errToObj(e==null?void 0:e.message)})}regex(e,s){return this._addCheck({kind:"regex",regex:e,...ue.errToObj(s)})}includes(e,s){return this._addCheck({kind:"includes",value:e,position:s==null?void 0:s.position,...ue.errToObj(s==null?void 0:s.message)})}startsWith(e,s){return this._addCheck({kind:"startsWith",value:e,...ue.errToObj(s)})}endsWith(e,s){return this._addCheck({kind:"endsWith",value:e,...ue.errToObj(s)})}min(e,s){return this._addCheck({kind:"min",value:e,...ue.errToObj(s)})}max(e,s){return this._addCheck({kind:"max",value:e,...ue.errToObj(s)})}length(e,s){return this._addCheck({kind:"length",value:e,...ue.errToObj(s)})}nonempty(e){return this.min(1,ue.errToObj(e))}trim(){return new Os({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Os({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Os({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get minLength(){let e=null;for(const s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e}get maxLength(){let e=null;for(const s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e}}Os.create=t=>{var e;return new Os({checks:[],typeName:pe.ZodString,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...Ce(t)})};function Pw(t,e){const s=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,r=s>n?s:n,i=parseInt(t.toFixed(r).replace(".","")),o=parseInt(e.toFixed(r).replace(".",""));return i%o/Math.pow(10,r)}class zn extends Ae{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==ee.number){const i=this._getOrReturnCtx(e);return ne(i,{code:V.invalid_type,expected:ee.number,received:i.parsedType}),Ee}let n;const r=new Tt;for(const i of this._def.checks)i.kind==="int"?De.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),ne(n,{code:V.invalid_type,expected:"integer",received:"float",message:i.message}),r.dirty()):i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(n=this._getOrReturnCtx(e,n),ne(n,{code:V.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),r.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),ne(n,{code:V.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),r.dirty()):i.kind==="multipleOf"?Pw(e.data,i.value)!==0&&(n=this._getOrReturnCtx(e,n),ne(n,{code:V.not_multiple_of,multipleOf:i.value,message:i.message}),r.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),ne(n,{code:V.not_finite,message:i.message}),r.dirty()):De.assertNever(i);return{status:r.value,value:e.data}}gte(e,s){return this.setLimit("min",e,!0,ue.toString(s))}gt(e,s){return this.setLimit("min",e,!1,ue.toString(s))}lte(e,s){return this.setLimit("max",e,!0,ue.toString(s))}lt(e,s){return this.setLimit("max",e,!1,ue.toString(s))}setLimit(e,s,n,r){return new zn({...this._def,checks:[...this._def.checks,{kind:e,value:s,inclusive:n,message:ue.toString(r)}]})}_addCheck(e){return new zn({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:ue.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ue.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ue.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ue.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ue.toString(e)})}multipleOf(e,s){return this._addCheck({kind:"multipleOf",value:e,message:ue.toString(s)})}finite(e){return this._addCheck({kind:"finite",message:ue.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ue.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ue.toString(e)})}get minValue(){let e=null;for(const s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e}get maxValue(){let e=null;for(const s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&De.isInteger(e.value))}get isFinite(){let e=null,s=null;for(const n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(s===null||n.value>s)&&(s=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(s)&&Number.isFinite(e)}}zn.create=t=>new zn({checks:[],typeName:pe.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...Ce(t)});class Kn extends Ae{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==ee.bigint){const i=this._getOrReturnCtx(e);return ne(i,{code:V.invalid_type,expected:ee.bigint,received:i.parsedType}),Ee}let n;const r=new Tt;for(const i of this._def.checks)i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(n=this._getOrReturnCtx(e,n),ne(n,{code:V.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),r.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),ne(n,{code:V.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),r.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),ne(n,{code:V.not_multiple_of,multipleOf:i.value,message:i.message}),r.dirty()):De.assertNever(i);return{status:r.value,value:e.data}}gte(e,s){return this.setLimit("min",e,!0,ue.toString(s))}gt(e,s){return this.setLimit("min",e,!1,ue.toString(s))}lte(e,s){return this.setLimit("max",e,!0,ue.toString(s))}lt(e,s){return this.setLimit("max",e,!1,ue.toString(s))}setLimit(e,s,n,r){return new Kn({...this._def,checks:[...this._def.checks,{kind:e,value:s,inclusive:n,message:ue.toString(r)}]})}_addCheck(e){return new Kn({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ue.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ue.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ue.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ue.toString(e)})}multipleOf(e,s){return this._addCheck({kind:"multipleOf",value:e,message:ue.toString(s)})}get minValue(){let e=null;for(const s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e}get maxValue(){let e=null;for(const s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e}}Kn.create=t=>{var e;return new Kn({checks:[],typeName:pe.ZodBigInt,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...Ce(t)})};class to extends Ae{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==ee.boolean){const n=this._getOrReturnCtx(e);return ne(n,{code:V.invalid_type,expected:ee.boolean,received:n.parsedType}),Ee}return Mt(e.data)}}to.create=t=>new to({typeName:pe.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...Ce(t)});class Ar extends Ae{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==ee.date){const i=this._getOrReturnCtx(e);return ne(i,{code:V.invalid_type,expected:ee.date,received:i.parsedType}),Ee}if(isNaN(e.data.getTime())){const i=this._getOrReturnCtx(e);return ne(i,{code:V.invalid_date}),Ee}const n=new Tt;let r;for(const i of this._def.checks)i.kind==="min"?e.data.getTime()<i.value&&(r=this._getOrReturnCtx(e,r),ne(r,{code:V.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),n.dirty()):i.kind==="max"?e.data.getTime()>i.value&&(r=this._getOrReturnCtx(e,r),ne(r,{code:V.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):De.assertNever(i);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Ar({...this._def,checks:[...this._def.checks,e]})}min(e,s){return this._addCheck({kind:"min",value:e.getTime(),message:ue.toString(s)})}max(e,s){return this._addCheck({kind:"max",value:e.getTime(),message:ue.toString(s)})}get minDate(){let e=null;for(const s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e!=null?new Date(e):null}}Ar.create=t=>new Ar({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:pe.ZodDate,...Ce(t)});class Ca extends Ae{_parse(e){if(this._getType(e)!==ee.symbol){const n=this._getOrReturnCtx(e);return ne(n,{code:V.invalid_type,expected:ee.symbol,received:n.parsedType}),Ee}return Mt(e.data)}}Ca.create=t=>new Ca({typeName:pe.ZodSymbol,...Ce(t)});class so extends Ae{_parse(e){if(this._getType(e)!==ee.undefined){const n=this._getOrReturnCtx(e);return ne(n,{code:V.invalid_type,expected:ee.undefined,received:n.parsedType}),Ee}return Mt(e.data)}}so.create=t=>new so({typeName:pe.ZodUndefined,...Ce(t)});class no extends Ae{_parse(e){if(this._getType(e)!==ee.null){const n=this._getOrReturnCtx(e);return ne(n,{code:V.invalid_type,expected:ee.null,received:n.parsedType}),Ee}return Mt(e.data)}}no.create=t=>new no({typeName:pe.ZodNull,...Ce(t)});class di extends Ae{constructor(){super(...arguments),this._any=!0}_parse(e){return Mt(e.data)}}di.create=t=>new di({typeName:pe.ZodAny,...Ce(t)});class br extends Ae{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Mt(e.data)}}br.create=t=>new br({typeName:pe.ZodUnknown,...Ce(t)});class En extends Ae{_parse(e){const s=this._getOrReturnCtx(e);return ne(s,{code:V.invalid_type,expected:ee.never,received:s.parsedType}),Ee}}En.create=t=>new En({typeName:pe.ZodNever,...Ce(t)});class va extends Ae{_parse(e){if(this._getType(e)!==ee.undefined){const n=this._getOrReturnCtx(e);return ne(n,{code:V.invalid_type,expected:ee.void,received:n.parsedType}),Ee}return Mt(e.data)}}va.create=t=>new va({typeName:pe.ZodVoid,...Ce(t)});class xs extends Ae{_parse(e){const{ctx:s,status:n}=this._processInputParams(e),r=this._def;if(s.parsedType!==ee.array)return ne(s,{code:V.invalid_type,expected:ee.array,received:s.parsedType}),Ee;if(r.exactLength!==null){const o=s.data.length>r.exactLength.value,a=s.data.length<r.exactLength.value;(o||a)&&(ne(s,{code:o?V.too_big:V.too_small,minimum:a?r.exactLength.value:void 0,maximum:o?r.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&s.data.length<r.minLength.value&&(ne(s,{code:V.too_small,minimum:r.minLength.value,type:"array",inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&s.data.length>r.maxLength.value&&(ne(s,{code:V.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),s.common.async)return Promise.all([...s.data].map((o,a)=>r.type._parseAsync(new Ys(s,o,s.path,a)))).then(o=>Tt.mergeArray(n,o));const i=[...s.data].map((o,a)=>r.type._parseSync(new Ys(s,o,s.path,a)));return Tt.mergeArray(n,i)}get element(){return this._def.type}min(e,s){return new xs({...this._def,minLength:{value:e,message:ue.toString(s)}})}max(e,s){return new xs({...this._def,maxLength:{value:e,message:ue.toString(s)}})}length(e,s){return new xs({...this._def,exactLength:{value:e,message:ue.toString(s)}})}nonempty(e){return this.min(1,e)}}xs.create=(t,e)=>new xs({type:t,minLength:null,maxLength:null,exactLength:null,typeName:pe.ZodArray,...Ce(e)});function zr(t){if(t instanceof Je){const e={};for(const s in t.shape){const n=t.shape[s];e[s]=gn.create(zr(n))}return new Je({...t._def,shape:()=>e})}else return t instanceof xs?new xs({...t._def,type:zr(t.element)}):t instanceof gn?gn.create(zr(t.unwrap())):t instanceof Ir?Ir.create(zr(t.unwrap())):t instanceof Zs?Zs.create(t.items.map(e=>zr(e))):t}class Je extends Ae{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),s=De.objectKeys(e);return this._cached={shape:e,keys:s}}_parse(e){if(this._getType(e)!==ee.object){const l=this._getOrReturnCtx(e);return ne(l,{code:V.invalid_type,expected:ee.object,received:l.parsedType}),Ee}const{status:n,ctx:r}=this._processInputParams(e),{shape:i,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof En&&this._def.unknownKeys==="strip"))for(const l in r.data)o.includes(l)||a.push(l);const c=[];for(const l of o){const d=i[l],u=r.data[l];c.push({key:{status:"valid",value:l},value:d._parse(new Ys(r,u,r.path,l)),alwaysSet:l in r.data})}if(this._def.catchall instanceof En){const l=this._def.unknownKeys;if(l==="passthrough")for(const d of a)c.push({key:{status:"valid",value:d},value:{status:"valid",value:r.data[d]}});else if(l==="strict")a.length>0&&(ne(r,{code:V.unrecognized_keys,keys:a}),n.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const l=this._def.catchall;for(const d of a){const u=r.data[d];c.push({key:{status:"valid",value:d},value:l._parse(new Ys(r,u,r.path,d)),alwaysSet:d in r.data})}}return r.common.async?Promise.resolve().then(async()=>{const l=[];for(const d of c){const u=await d.key;l.push({key:u,value:await d.value,alwaysSet:d.alwaysSet})}return l}).then(l=>Tt.mergeObjectSync(n,l)):Tt.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return ue.errToObj,new Je({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(s,n)=>{var r,i,o,a;const c=(o=(i=(r=this._def).errorMap)===null||i===void 0?void 0:i.call(r,s,n).message)!==null&&o!==void 0?o:n.defaultError;return s.code==="unrecognized_keys"?{message:(a=ue.errToObj(e).message)!==null&&a!==void 0?a:c}:{message:c}}}:{}})}strip(){return new Je({...this._def,unknownKeys:"strip"})}passthrough(){return new Je({...this._def,unknownKeys:"passthrough"})}extend(e){return new Je({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new Je({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:pe.ZodObject})}setKey(e,s){return this.augment({[e]:s})}catchall(e){return new Je({...this._def,catchall:e})}pick(e){const s={};return De.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(s[n]=this.shape[n])}),new Je({...this._def,shape:()=>s})}omit(e){const s={};return De.objectKeys(this.shape).forEach(n=>{e[n]||(s[n]=this.shape[n])}),new Je({...this._def,shape:()=>s})}deepPartial(){return zr(this)}partial(e){const s={};return De.objectKeys(this.shape).forEach(n=>{const r=this.shape[n];e&&!e[n]?s[n]=r:s[n]=r.optional()}),new Je({...this._def,shape:()=>s})}required(e){const s={};return De.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])s[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof gn;)i=i._def.innerType;s[n]=i}}),new Je({...this._def,shape:()=>s})}keyof(){return Tf(De.objectKeys(this.shape))}}Je.create=(t,e)=>new Je({shape:()=>t,unknownKeys:"strip",catchall:En.create(),typeName:pe.ZodObject,...Ce(e)});Je.strictCreate=(t,e)=>new Je({shape:()=>t,unknownKeys:"strict",catchall:En.create(),typeName:pe.ZodObject,...Ce(e)});Je.lazycreate=(t,e)=>new Je({shape:t,unknownKeys:"strip",catchall:En.create(),typeName:pe.ZodObject,...Ce(e)});class ro extends Ae{_parse(e){const{ctx:s}=this._processInputParams(e),n=this._def.options;function r(i){for(const a of i)if(a.result.status==="valid")return a.result;for(const a of i)if(a.result.status==="dirty")return s.common.issues.push(...a.ctx.common.issues),a.result;const o=i.map(a=>new Ps(a.ctx.common.issues));return ne(s,{code:V.invalid_union,unionErrors:o}),Ee}if(s.common.async)return Promise.all(n.map(async i=>{const o={...s,common:{...s.common,issues:[]},parent:null};return{result:await i._parseAsync({data:s.data,path:s.path,parent:o}),ctx:o}})).then(r);{let i;const o=[];for(const c of n){const l={...s,common:{...s.common,issues:[]},parent:null},d=c._parseSync({data:s.data,path:s.path,parent:l});if(d.status==="valid")return d;d.status==="dirty"&&!i&&(i={result:d,ctx:l}),l.common.issues.length&&o.push(l.common.issues)}if(i)return s.common.issues.push(...i.ctx.common.issues),i.result;const a=o.map(c=>new Ps(c));return ne(s,{code:V.invalid_union,unionErrors:a}),Ee}}get options(){return this._def.options}}ro.create=(t,e)=>new ro({options:t,typeName:pe.ZodUnion,...Ce(e)});const la=t=>t instanceof ao?la(t.schema):t instanceof Us?la(t.innerType()):t instanceof co?[t.value]:t instanceof Gn?t.options:t instanceof lo?Object.keys(t.enum):t instanceof uo?la(t._def.innerType):t instanceof so?[void 0]:t instanceof no?[null]:null;class Ka extends Ae{_parse(e){const{ctx:s}=this._processInputParams(e);if(s.parsedType!==ee.object)return ne(s,{code:V.invalid_type,expected:ee.object,received:s.parsedType}),Ee;const n=this.discriminator,r=s.data[n],i=this.optionsMap.get(r);return i?s.common.async?i._parseAsync({data:s.data,path:s.path,parent:s}):i._parseSync({data:s.data,path:s.path,parent:s}):(ne(s,{code:V.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Ee)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,s,n){const r=new Map;for(const i of s){const o=la(i.shape[e]);if(!o)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const a of o){if(r.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);r.set(a,i)}}return new Ka({typeName:pe.ZodDiscriminatedUnion,discriminator:e,options:s,optionsMap:r,...Ce(n)})}}function bl(t,e){const s=Un(t),n=Un(e);if(t===e)return{valid:!0,data:t};if(s===ee.object&&n===ee.object){const r=De.objectKeys(e),i=De.objectKeys(t).filter(a=>r.indexOf(a)!==-1),o={...t,...e};for(const a of i){const c=bl(t[a],e[a]);if(!c.valid)return{valid:!1};o[a]=c.data}return{valid:!0,data:o}}else if(s===ee.array&&n===ee.array){if(t.length!==e.length)return{valid:!1};const r=[];for(let i=0;i<t.length;i++){const o=t[i],a=e[i],c=bl(o,a);if(!c.valid)return{valid:!1};r.push(c.data)}return{valid:!0,data:r}}else return s===ee.date&&n===ee.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}class io extends Ae{_parse(e){const{status:s,ctx:n}=this._processInputParams(e),r=(i,o)=>{if(wl(i)||wl(o))return Ee;const a=bl(i.value,o.value);return a.valid?((El(i)||El(o))&&s.dirty(),{status:s.value,value:a.data}):(ne(n,{code:V.invalid_intersection_types}),Ee)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,o])=>r(i,o)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}io.create=(t,e,s)=>new io({left:t,right:e,typeName:pe.ZodIntersection,...Ce(s)});class Zs extends Ae{_parse(e){const{status:s,ctx:n}=this._processInputParams(e);if(n.parsedType!==ee.array)return ne(n,{code:V.invalid_type,expected:ee.array,received:n.parsedType}),Ee;if(n.data.length<this._def.items.length)return ne(n,{code:V.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Ee;!this._def.rest&&n.data.length>this._def.items.length&&(ne(n,{code:V.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),s.dirty());const i=[...n.data].map((o,a)=>{const c=this._def.items[a]||this._def.rest;return c?c._parse(new Ys(n,o,n.path,a)):null}).filter(o=>!!o);return n.common.async?Promise.all(i).then(o=>Tt.mergeArray(s,o)):Tt.mergeArray(s,i)}get items(){return this._def.items}rest(e){return new Zs({...this._def,rest:e})}}Zs.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Zs({items:t,typeName:pe.ZodTuple,rest:null,...Ce(e)})};class oo extends Ae{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:s,ctx:n}=this._processInputParams(e);if(n.parsedType!==ee.object)return ne(n,{code:V.invalid_type,expected:ee.object,received:n.parsedType}),Ee;const r=[],i=this._def.keyType,o=this._def.valueType;for(const a in n.data)r.push({key:i._parse(new Ys(n,a,n.path,a)),value:o._parse(new Ys(n,n.data[a],n.path,a))});return n.common.async?Tt.mergeObjectAsync(s,r):Tt.mergeObjectSync(s,r)}get element(){return this._def.valueType}static create(e,s,n){return s instanceof Ae?new oo({keyType:e,valueType:s,typeName:pe.ZodRecord,...Ce(n)}):new oo({keyType:Os.create(),valueType:e,typeName:pe.ZodRecord,...Ce(s)})}}class _a extends Ae{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:s,ctx:n}=this._processInputParams(e);if(n.parsedType!==ee.map)return ne(n,{code:V.invalid_type,expected:ee.map,received:n.parsedType}),Ee;const r=this._def.keyType,i=this._def.valueType,o=[...n.data.entries()].map(([a,c],l)=>({key:r._parse(new Ys(n,a,n.path,[l,"key"])),value:i._parse(new Ys(n,c,n.path,[l,"value"]))}));if(n.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const c of o){const l=await c.key,d=await c.value;if(l.status==="aborted"||d.status==="aborted")return Ee;(l.status==="dirty"||d.status==="dirty")&&s.dirty(),a.set(l.value,d.value)}return{status:s.value,value:a}})}else{const a=new Map;for(const c of o){const l=c.key,d=c.value;if(l.status==="aborted"||d.status==="aborted")return Ee;(l.status==="dirty"||d.status==="dirty")&&s.dirty(),a.set(l.value,d.value)}return{status:s.value,value:a}}}}_a.create=(t,e,s)=>new _a({valueType:e,keyType:t,typeName:pe.ZodMap,...Ce(s)});class Sr extends Ae{_parse(e){const{status:s,ctx:n}=this._processInputParams(e);if(n.parsedType!==ee.set)return ne(n,{code:V.invalid_type,expected:ee.set,received:n.parsedType}),Ee;const r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(ne(n,{code:V.too_small,minimum:r.minSize.value,type:"set",inclusive:!0,exact:!1,message:r.minSize.message}),s.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(ne(n,{code:V.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),s.dirty());const i=this._def.valueType;function o(c){const l=new Set;for(const d of c){if(d.status==="aborted")return Ee;d.status==="dirty"&&s.dirty(),l.add(d.value)}return{status:s.value,value:l}}const a=[...n.data.values()].map((c,l)=>i._parse(new Ys(n,c,n.path,l)));return n.common.async?Promise.all(a).then(c=>o(c)):o(a)}min(e,s){return new Sr({...this._def,minSize:{value:e,message:ue.toString(s)}})}max(e,s){return new Sr({...this._def,maxSize:{value:e,message:ue.toString(s)}})}size(e,s){return this.min(e,s).max(e,s)}nonempty(e){return this.min(1,e)}}Sr.create=(t,e)=>new Sr({valueType:t,minSize:null,maxSize:null,typeName:pe.ZodSet,...Ce(e)});class ei extends Ae{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:s}=this._processInputParams(e);if(s.parsedType!==ee.function)return ne(s,{code:V.invalid_type,expected:ee.function,received:s.parsedType}),Ee;function n(a,c){return Ea({data:a,path:s.path,errorMaps:[s.common.contextualErrorMap,s.schemaErrorMap,wa(),Qi].filter(l=>!!l),issueData:{code:V.invalid_arguments,argumentsError:c}})}function r(a,c){return Ea({data:a,path:s.path,errorMaps:[s.common.contextualErrorMap,s.schemaErrorMap,wa(),Qi].filter(l=>!!l),issueData:{code:V.invalid_return_type,returnTypeError:c}})}const i={errorMap:s.common.contextualErrorMap},o=s.data;if(this._def.returns instanceof ui){const a=this;return Mt(async function(...c){const l=new Ps([]),d=await a._def.args.parseAsync(c,i).catch(p=>{throw l.addIssue(n(c,p)),l}),u=await Reflect.apply(o,this,d);return await a._def.returns._def.type.parseAsync(u,i).catch(p=>{throw l.addIssue(r(u,p)),l})})}else{const a=this;return Mt(function(...c){const l=a._def.args.safeParse(c,i);if(!l.success)throw new Ps([n(c,l.error)]);const d=Reflect.apply(o,this,l.data),u=a._def.returns.safeParse(d,i);if(!u.success)throw new Ps([r(d,u.error)]);return u.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new ei({...this._def,args:Zs.create(e).rest(br.create())})}returns(e){return new ei({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,s,n){return new ei({args:e||Zs.create([]).rest(br.create()),returns:s||br.create(),typeName:pe.ZodFunction,...Ce(n)})}}class ao extends Ae{get schema(){return this._def.getter()}_parse(e){const{ctx:s}=this._processInputParams(e);return this._def.getter()._parse({data:s.data,path:s.path,parent:s})}}ao.create=(t,e)=>new ao({getter:t,typeName:pe.ZodLazy,...Ce(e)});class co extends Ae{_parse(e){if(e.data!==this._def.value){const s=this._getOrReturnCtx(e);return ne(s,{received:s.data,code:V.invalid_literal,expected:this._def.value}),Ee}return{status:"valid",value:e.data}}get value(){return this._def.value}}co.create=(t,e)=>new co({value:t,typeName:pe.ZodLiteral,...Ce(e)});function Tf(t,e){return new Gn({values:t,typeName:pe.ZodEnum,...Ce(e)})}class Gn extends Ae{_parse(e){if(typeof e.data!="string"){const s=this._getOrReturnCtx(e),n=this._def.values;return ne(s,{expected:De.joinValues(n),received:s.parsedType,code:V.invalid_type}),Ee}if(this._def.values.indexOf(e.data)===-1){const s=this._getOrReturnCtx(e),n=this._def.values;return ne(s,{received:s.data,code:V.invalid_enum_value,options:n}),Ee}return Mt(e.data)}get options(){return this._def.values}get enum(){const e={};for(const s of this._def.values)e[s]=s;return e}get Values(){const e={};for(const s of this._def.values)e[s]=s;return e}get Enum(){const e={};for(const s of this._def.values)e[s]=s;return e}extract(e){return Gn.create(e)}exclude(e){return Gn.create(this.options.filter(s=>!e.includes(s)))}}Gn.create=Tf;class lo extends Ae{_parse(e){const s=De.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==ee.string&&n.parsedType!==ee.number){const r=De.objectValues(s);return ne(n,{expected:De.joinValues(r),received:n.parsedType,code:V.invalid_type}),Ee}if(s.indexOf(e.data)===-1){const r=De.objectValues(s);return ne(n,{received:n.data,code:V.invalid_enum_value,options:r}),Ee}return Mt(e.data)}get enum(){return this._def.values}}lo.create=(t,e)=>new lo({values:t,typeName:pe.ZodNativeEnum,...Ce(e)});class ui extends Ae{unwrap(){return this._def.type}_parse(e){const{ctx:s}=this._processInputParams(e);if(s.parsedType!==ee.promise&&s.common.async===!1)return ne(s,{code:V.invalid_type,expected:ee.promise,received:s.parsedType}),Ee;const n=s.parsedType===ee.promise?s.data:Promise.resolve(s.data);return Mt(n.then(r=>this._def.type.parseAsync(r,{path:s.path,errorMap:s.common.contextualErrorMap})))}}ui.create=(t,e)=>new ui({type:t,typeName:pe.ZodPromise,...Ce(e)});class Us extends Ae{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===pe.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:s,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:o=>{ne(n,o),o.fatal?s.abort():s.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type==="preprocess"){const o=r.transform(n.data,i);return n.common.issues.length?{status:"dirty",value:n.data}:n.common.async?Promise.resolve(o).then(a=>this._def.schema._parseAsync({data:a,path:n.path,parent:n})):this._def.schema._parseSync({data:o,path:n.path,parent:n})}if(r.type==="refinement"){const o=a=>{const c=r.refinement(a,i);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){const a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?Ee:(a.status==="dirty"&&s.dirty(),o(a.value),{status:s.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?Ee:(a.status==="dirty"&&s.dirty(),o(a.value).then(()=>({status:s.value,value:a.value}))))}if(r.type==="transform")if(n.common.async===!1){const o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!eo(o))return o;const a=r.transform(o.value,i);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:s.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>eo(o)?Promise.resolve(r.transform(o.value,i)).then(a=>({status:s.value,value:a})):o);De.assertNever(r)}}Us.create=(t,e,s)=>new Us({schema:t,typeName:pe.ZodEffects,effect:e,...Ce(s)});Us.createWithPreprocess=(t,e,s)=>new Us({schema:e,effect:{type:"preprocess",transform:t},typeName:pe.ZodEffects,...Ce(s)});class gn extends Ae{_parse(e){return this._getType(e)===ee.undefined?Mt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}gn.create=(t,e)=>new gn({innerType:t,typeName:pe.ZodOptional,...Ce(e)});class Ir extends Ae{_parse(e){return this._getType(e)===ee.null?Mt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Ir.create=(t,e)=>new Ir({innerType:t,typeName:pe.ZodNullable,...Ce(e)});class uo extends Ae{_parse(e){const{ctx:s}=this._processInputParams(e);let n=s.data;return s.parsedType===ee.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:s.path,parent:s})}removeDefault(){return this._def.innerType}}uo.create=(t,e)=>new uo({innerType:t,typeName:pe.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Ce(e)});class Aa extends Ae{_parse(e){const{ctx:s}=this._processInputParams(e),n={...s,common:{...s.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ba(r)?r.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ps(n.common.issues)},input:n.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new Ps(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}Aa.create=(t,e)=>new Aa({innerType:t,typeName:pe.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Ce(e)});class Sa extends Ae{_parse(e){if(this._getType(e)!==ee.nan){const n=this._getOrReturnCtx(e);return ne(n,{code:V.invalid_type,expected:ee.nan,received:n.parsedType}),Ee}return{status:"valid",value:e.data}}}Sa.create=t=>new Sa({typeName:pe.ZodNaN,...Ce(t)});const xw=Symbol("zod_brand");class Rf extends Ae{_parse(e){const{ctx:s}=this._processInputParams(e),n=s.data;return this._def.type._parse({data:n,path:s.path,parent:s})}unwrap(){return this._def.type}}class Ao extends Ae{_parse(e){const{status:s,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{const i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Ee:i.status==="dirty"?(s.dirty(),Nf(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{const r=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return r.status==="aborted"?Ee:r.status==="dirty"?(s.dirty(),{status:"dirty",value:r.value}):this._def.out._parseSync({data:r.value,path:n.path,parent:n})}}static create(e,s){return new Ao({in:e,out:s,typeName:pe.ZodPipeline})}}class Ia extends Ae{_parse(e){const s=this._def.innerType._parse(e);return eo(s)&&(s.value=Object.freeze(s.value)),s}}Ia.create=(t,e)=>new Ia({innerType:t,typeName:pe.ZodReadonly,...Ce(e)});const Of=(t,e={},s)=>t?di.create().superRefine((n,r)=>{var i,o;if(!t(n)){const a=typeof e=="function"?e(n):typeof e=="string"?{message:e}:e,c=(o=(i=a.fatal)!==null&&i!==void 0?i:s)!==null&&o!==void 0?o:!0,l=typeof a=="string"?{message:a}:a;r.addIssue({code:"custom",...l,fatal:c})}}):di.create(),kw={object:Je.lazycreate};var pe;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(pe||(pe={}));const Uw=(t,e={message:`Input not instance of ${t.name}`})=>Of(s=>s instanceof t,e),Pf=Os.create,xf=zn.create,$w=Sa.create,Dw=Kn.create,kf=to.create,Lw=Ar.create,Mw=Ca.create,Bw=so.create,jw=no.create,Fw=di.create,qw=br.create,Ww=En.create,Hw=va.create,Vw=xs.create,zw=Je.create,Kw=Je.strictCreate,Gw=ro.create,Yw=Ka.create,Zw=io.create,Jw=Zs.create,Xw=oo.create,Qw=_a.create,eE=Sr.create,tE=ei.create,sE=ao.create,nE=co.create,rE=Gn.create,iE=lo.create,oE=ui.create,Ru=Us.create,aE=gn.create,cE=Ir.create,lE=Us.createWithPreprocess,dE=Ao.create,uE=()=>Pf().optional(),hE=()=>xf().optional(),pE=()=>kf().optional(),fE={string:t=>Os.create({...t,coerce:!0}),number:t=>zn.create({...t,coerce:!0}),boolean:t=>to.create({...t,coerce:!0}),bigint:t=>Kn.create({...t,coerce:!0}),date:t=>Ar.create({...t,coerce:!0})},gE=Ee;var g=Object.freeze({__proto__:null,defaultErrorMap:Qi,setErrorMap:Ew,getErrorMap:wa,makeIssue:Ea,EMPTY_PATH:bw,addIssueToContext:ne,ParseStatus:Tt,INVALID:Ee,DIRTY:Nf,OK:Mt,isAborted:wl,isDirty:El,isValid:eo,isAsync:ba,get util(){return De},get objectUtil(){return yl},ZodParsedType:ee,getParsedType:Un,ZodType:Ae,ZodString:Os,ZodNumber:zn,ZodBigInt:Kn,ZodBoolean:to,ZodDate:Ar,ZodSymbol:Ca,ZodUndefined:so,ZodNull:no,ZodAny:di,ZodUnknown:br,ZodNever:En,ZodVoid:va,ZodArray:xs,ZodObject:Je,ZodUnion:ro,ZodDiscriminatedUnion:Ka,ZodIntersection:io,ZodTuple:Zs,ZodRecord:oo,ZodMap:_a,ZodSet:Sr,ZodFunction:ei,ZodLazy:ao,ZodLiteral:co,ZodEnum:Gn,ZodNativeEnum:lo,ZodPromise:ui,ZodEffects:Us,ZodTransformer:Us,ZodOptional:gn,ZodNullable:Ir,ZodDefault:uo,ZodCatch:Aa,ZodNaN:Sa,BRAND:xw,ZodBranded:Rf,ZodPipeline:Ao,ZodReadonly:Ia,custom:Of,Schema:Ae,ZodSchema:Ae,late:kw,get ZodFirstPartyTypeKind(){return pe},coerce:fE,any:Fw,array:Vw,bigint:Dw,boolean:kf,date:Lw,discriminatedUnion:Yw,effect:Ru,enum:rE,function:tE,instanceof:Uw,intersection:Zw,lazy:sE,literal:nE,map:Qw,nan:$w,nativeEnum:iE,never:Ww,null:jw,nullable:cE,number:xf,object:zw,oboolean:pE,onumber:hE,optional:aE,ostring:uE,pipeline:dE,preprocess:lE,promise:oE,record:Xw,set:eE,strictObject:Kw,string:Pf,symbol:Mw,transformer:Ru,tuple:Jw,undefined:Bw,union:Gw,unknown:qw,void:Hw,NEVER:gE,ZodIssueCode:V,quotelessJson:ww,ZodError:Ps});const Xe=g.object({message:g.string()});function te(t){return g.literal(re[t])}const Ga=g.object({serializedMessage:g.string().optional(),accountAddress:g.string(),chainId:g.string(),notBefore:g.string().optional(),domain:g.string(),uri:g.string(),version:g.string(),nonce:g.string(),statement:g.string().optional(),resources:g.array(g.string()).optional(),requestId:g.string().optional(),issuedAt:g.string().optional(),expirationTime:g.string().optional()});g.object({accessList:g.array(g.string()),blockHash:g.string().nullable(),blockNumber:g.string().nullable(),chainId:g.string().or(g.number()),from:g.string(),gas:g.string(),hash:g.string(),input:g.string().nullable(),maxFeePerGas:g.string(),maxPriorityFeePerGas:g.string(),nonce:g.string(),r:g.string(),s:g.string(),to:g.string(),transactionIndex:g.string().nullable(),type:g.string(),v:g.string(),value:g.string()});const mE=g.object({chainId:g.string().or(g.number()),rpcUrl:g.optional(g.string())}),yE=g.object({email:g.string().email()}),wE=g.object({otp:g.string()}),EE=g.object({uri:g.string(),preferredAccountType:g.optional(g.string()),chainId:g.optional(g.string().or(g.number())),siwxMessage:g.optional(Ga),rpcUrl:g.optional(g.string())}),bE=g.object({chainId:g.optional(g.string().or(g.number())),preferredAccountType:g.optional(g.string()),socialUri:g.optional(g.string()),siwxMessage:g.optional(Ga),rpcUrl:g.optional(g.string())}),CE=g.object({provider:g.enum(["google","github","apple","facebook","x","discord"])}),vE=g.object({email:g.string().email()}),_E=g.object({otp:g.string()}),AE=g.object({otp:g.string()}),SE=g.object({themeMode:g.optional(g.enum(["light","dark"])),themeVariables:g.optional(g.record(g.string(),g.string().or(g.number()))),w3mThemeVariables:g.optional(g.record(g.string(),g.string()))}),IE=g.object({metadata:g.object({name:g.string(),description:g.string(),url:g.string(),icons:g.array(g.string())}).optional(),sdkVersion:g.string().optional(),sdkType:g.string().optional(),projectId:g.string()}),NE=g.object({type:g.string()}),TE=g.object({action:g.enum(["VERIFY_DEVICE","VERIFY_OTP","CONNECT"])}),RE=g.object({url:g.string()}),OE=g.object({userName:g.string()}),PE=g.object({email:g.string().optional().nullable(),address:g.string(),chainId:g.string().or(g.number()),accounts:g.array(g.object({address:g.string(),type:g.enum([et.ACCOUNT_TYPES.EOA,et.ACCOUNT_TYPES.SMART_ACCOUNT])})).optional(),userName:g.string().optional().nullable(),preferredAccountType:g.optional(g.string()),signature:g.string().optional(),message:g.string().optional(),siwxMessage:g.optional(Ga)}),xE=g.object({action:g.enum(["VERIFY_PRIMARY_OTP","VERIFY_SECONDARY_OTP"])}),kE=g.object({email:g.string().email().optional().nullable(),address:g.string(),chainId:g.string().or(g.number()),smartAccountDeployed:g.optional(g.boolean()),accounts:g.array(g.object({address:g.string(),type:g.enum([et.ACCOUNT_TYPES.EOA,et.ACCOUNT_TYPES.SMART_ACCOUNT])})).optional(),preferredAccountType:g.optional(g.string()),signature:g.string().optional(),message:g.string().optional(),siwxMessage:g.optional(Ga)}),UE=g.object({uri:g.string()}),$E=g.object({isConnected:g.boolean()}),DE=g.object({chainId:g.string().or(g.number())}),LE=g.object({chainId:g.string().or(g.number())}),ME=g.object({newEmail:g.string().email()}),BE=g.object({smartAccountEnabledNetworks:g.array(g.number())});g.object({address:g.string(),isDeployed:g.boolean()});const jE=g.object({version:g.string().optional()}),FE=g.object({type:g.string(),address:g.string()}),qE=g.any(),WE=g.object({method:g.literal("eth_accounts")}),HE=g.object({method:g.literal("eth_blockNumber")}),VE=g.object({method:g.literal("eth_call"),params:g.array(g.any())}),zE=g.object({method:g.literal("eth_chainId")}),KE=g.object({method:g.literal("eth_estimateGas"),params:g.array(g.any())}),GE=g.object({method:g.literal("eth_feeHistory"),params:g.array(g.any())}),YE=g.object({method:g.literal("eth_gasPrice")}),ZE=g.object({method:g.literal("eth_getAccount"),params:g.array(g.any())}),JE=g.object({method:g.literal("eth_getBalance"),params:g.array(g.any())}),XE=g.object({method:g.literal("eth_getBlockByHash"),params:g.array(g.any())}),QE=g.object({method:g.literal("eth_getBlockByNumber"),params:g.array(g.any())}),eb=g.object({method:g.literal("eth_getBlockReceipts"),params:g.array(g.any())}),tb=g.object({method:g.literal("eth_getBlockTransactionCountByHash"),params:g.array(g.any())}),sb=g.object({method:g.literal("eth_getBlockTransactionCountByNumber"),params:g.array(g.any())}),nb=g.object({method:g.literal("eth_getCode"),params:g.array(g.any())}),rb=g.object({method:g.literal("eth_getFilterChanges"),params:g.array(g.any())}),ib=g.object({method:g.literal("eth_getFilterLogs"),params:g.array(g.any())}),ob=g.object({method:g.literal("eth_getLogs"),params:g.array(g.any())}),ab=g.object({method:g.literal("eth_getProof"),params:g.array(g.any())}),cb=g.object({method:g.literal("eth_getStorageAt"),params:g.array(g.any())}),lb=g.object({method:g.literal("eth_getTransactionByBlockHashAndIndex"),params:g.array(g.any())}),db=g.object({method:g.literal("eth_getTransactionByBlockNumberAndIndex"),params:g.array(g.any())}),ub=g.object({method:g.literal("eth_getTransactionByHash"),params:g.array(g.any())}),hb=g.object({method:g.literal("eth_getTransactionCount"),params:g.array(g.any())}),pb=g.object({method:g.literal("eth_getTransactionReceipt"),params:g.array(g.any())}),fb=g.object({method:g.literal("eth_getUncleCountByBlockHash"),params:g.array(g.any())}),gb=g.object({method:g.literal("eth_getUncleCountByBlockNumber"),params:g.array(g.any())}),mb=g.object({method:g.literal("eth_maxPriorityFeePerGas")}),yb=g.object({method:g.literal("eth_newBlockFilter")}),wb=g.object({method:g.literal("eth_newFilter"),params:g.array(g.any())}),Eb=g.object({method:g.literal("eth_newPendingTransactionFilter")}),bb=g.object({method:g.literal("eth_sendRawTransaction"),params:g.array(g.any())}),Cb=g.object({method:g.literal("eth_syncing"),params:g.array(g.any())}),vb=g.object({method:g.literal("eth_uninstallFilter"),params:g.array(g.any())}),Ou=g.object({method:g.literal("personal_sign"),params:g.array(g.any())}),_b=g.object({method:g.literal("eth_signTypedData_v4"),params:g.array(g.any())}),Ab=g.object({method:g.literal("eth_sendTransaction"),params:g.array(g.any())}),Sb=g.object({method:g.literal("solana_signMessage"),params:g.object({message:g.string(),pubkey:g.string()})}),Ib=g.object({method:g.literal("solana_signTransaction"),params:g.object({transaction:g.string()})}),Nb=g.object({method:g.literal("solana_signAllTransactions"),params:g.object({transactions:g.array(g.string())})}),Tb=g.object({method:g.literal("solana_signAndSendTransaction"),params:g.object({transaction:g.string(),options:g.object({skipPreflight:g.boolean().optional(),preflightCommitment:g.enum(["processed","confirmed","finalized","recent","single","singleGossip","root","max"]).optional(),maxRetries:g.number().optional(),minContextSlot:g.number().optional()}).optional()})}),Rb=g.object({method:g.literal("wallet_sendCalls"),params:g.array(g.object({chainId:g.string().or(g.number()).optional(),from:g.string().optional(),version:g.string().optional(),capabilities:g.any().optional(),calls:g.array(g.object({to:g.string().startsWith("0x"),data:g.string().startsWith("0x").optional(),value:g.string().optional()}))}))}),Ob=g.object({method:g.literal("wallet_getCallsStatus"),params:g.array(g.string())}),Pb=g.object({method:g.literal("wallet_getCapabilities"),params:g.array(g.string().or(g.number()).optional()).optional()}),xb=g.object({method:g.literal("wallet_grantPermissions"),params:g.array(g.any())}),kb=g.object({method:g.literal("wallet_revokePermissions"),params:g.any()}),Ub=g.object({method:g.literal("wallet_getAssets"),params:g.any()}),Pu=g.object({token:g.string()}),se=g.object({id:g.string().optional()}),mc={appEvent:se.extend({type:te("APP_SWITCH_NETWORK"),payload:mE}).or(se.extend({type:te("APP_CONNECT_EMAIL"),payload:yE})).or(se.extend({type:te("APP_CONNECT_DEVICE")})).or(se.extend({type:te("APP_CONNECT_OTP"),payload:wE})).or(se.extend({type:te("APP_CONNECT_SOCIAL"),payload:EE})).or(se.extend({type:te("APP_GET_FARCASTER_URI")})).or(se.extend({type:te("APP_CONNECT_FARCASTER")})).or(se.extend({type:te("APP_GET_USER"),payload:g.optional(bE)})).or(se.extend({type:te("APP_GET_SOCIAL_REDIRECT_URI"),payload:CE})).or(se.extend({type:te("APP_SIGN_OUT")})).or(se.extend({type:te("APP_IS_CONNECTED"),payload:g.optional(Pu)})).or(se.extend({type:te("APP_GET_CHAIN_ID")})).or(se.extend({type:te("APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS")})).or(se.extend({type:te("APP_INIT_SMART_ACCOUNT")})).or(se.extend({type:te("APP_SET_PREFERRED_ACCOUNT"),payload:NE})).or(se.extend({type:te("APP_RPC_REQUEST"),payload:Ou.or(Ub).or(WE).or(HE).or(VE).or(zE).or(KE).or(GE).or(YE).or(ZE).or(JE).or(XE).or(QE).or(eb).or(tb).or(sb).or(nb).or(rb).or(ib).or(ob).or(ab).or(cb).or(lb).or(db).or(ub).or(hb).or(pb).or(fb).or(gb).or(mb).or(yb).or(wb).or(Eb).or(bb).or(Cb).or(vb).or(Ou).or(_b).or(Ab).or(Sb).or(Ib).or(Nb).or(Tb).or(Ob).or(Rb).or(Pb).or(xb).or(kb).and(g.object({chainId:g.string().or(g.number()).optional(),chainNamespace:g.enum(["eip155","solana","polkadot","bip122","cosmos"]).optional(),rpcUrl:g.string().optional()}))})).or(se.extend({type:te("APP_UPDATE_EMAIL"),payload:vE})).or(se.extend({type:te("APP_UPDATE_EMAIL_PRIMARY_OTP"),payload:_E})).or(se.extend({type:te("APP_UPDATE_EMAIL_SECONDARY_OTP"),payload:AE})).or(se.extend({type:te("APP_SYNC_THEME"),payload:SE})).or(se.extend({type:te("APP_SYNC_DAPP_DATA"),payload:IE})).or(se.extend({type:te("APP_RELOAD")})).or(se.extend({type:te("APP_RPC_ABORT")})),frameEvent:se.extend({type:te("FRAME_SWITCH_NETWORK_ERROR"),payload:Xe}).or(se.extend({type:te("FRAME_SWITCH_NETWORK_SUCCESS"),payload:LE})).or(se.extend({type:te("FRAME_CONNECT_EMAIL_SUCCESS"),payload:TE})).or(se.extend({type:te("FRAME_CONNECT_EMAIL_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_GET_FARCASTER_URI_SUCCESS"),payload:RE})).or(se.extend({type:te("FRAME_GET_FARCASTER_URI_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_CONNECT_FARCASTER_SUCCESS"),payload:OE})).or(se.extend({type:te("FRAME_CONNECT_FARCASTER_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_CONNECT_OTP_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_CONNECT_OTP_SUCCESS")})).or(se.extend({type:te("FRAME_CONNECT_DEVICE_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_CONNECT_DEVICE_SUCCESS")})).or(se.extend({type:te("FRAME_CONNECT_SOCIAL_SUCCESS"),payload:PE})).or(se.extend({type:te("FRAME_CONNECT_SOCIAL_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_GET_USER_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_GET_USER_SUCCESS"),payload:kE})).or(se.extend({type:te("FRAME_GET_SOCIAL_REDIRECT_URI_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_GET_SOCIAL_REDIRECT_URI_SUCCESS"),payload:UE})).or(se.extend({type:te("FRAME_SIGN_OUT_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_SIGN_OUT_SUCCESS")})).or(se.extend({type:te("FRAME_IS_CONNECTED_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_IS_CONNECTED_SUCCESS"),payload:$E})).or(se.extend({type:te("FRAME_GET_CHAIN_ID_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_GET_CHAIN_ID_SUCCESS"),payload:DE})).or(se.extend({type:te("FRAME_RPC_REQUEST_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_RPC_REQUEST_SUCCESS"),payload:qE})).or(se.extend({type:te("FRAME_SESSION_UPDATE"),payload:Pu})).or(se.extend({type:te("FRAME_UPDATE_EMAIL_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_UPDATE_EMAIL_SUCCESS"),payload:xE})).or(se.extend({type:te("FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS")})).or(se.extend({type:te("FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS"),payload:ME})).or(se.extend({type:te("FRAME_SYNC_THEME_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_SYNC_THEME_SUCCESS")})).or(se.extend({type:te("FRAME_SYNC_DAPP_DATA_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_SYNC_DAPP_DATA_SUCCESS")})).or(se.extend({type:te("FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS"),payload:BE})).or(se.extend({type:te("FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_INIT_SMART_ACCOUNT_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_SET_PREFERRED_ACCOUNT_SUCCESS"),payload:FE})).or(se.extend({type:te("FRAME_SET_PREFERRED_ACCOUNT_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_READY"),payload:jE})).or(se.extend({type:te("FRAME_RELOAD_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_RELOAD_SUCCESS")}))};function yc(t,e={}){var s;return typeof(e==null?void 0:e.type)=="string"&&((s=e==null?void 0:e.type)==null?void 0:s.includes(t))}function $b({projectId:t,chainId:e,enableLogger:s,rpcUrl:n=U.BLOCKCHAIN_API_RPC_URL,enableCloudAuthAccount:r=!1}){const i=new URL(gw);i.searchParams.set("projectId",t),i.searchParams.set("chainId",String(e)),i.searchParams.set("version",yw),i.searchParams.set("enableLogger",String(s)),i.searchParams.set("rpcUrl",n);const o=at.get("dapp_smart_account_version");return o&&(o==="v6"||o==="v7")&&(console.warn(">> AppKit - Forcing smart account version",o),i.searchParams.set("smartAccountVersion",o)),r&&i.searchParams.set("enableCloudAuthAccount","true"),i.toString()}class Db{constructor({projectId:e,isAppClient:s=!1,chainId:n="eip155:1",enableLogger:r=!0,enableCloudAuthAccount:i=!1,rpcUrl:o=U.BLOCKCHAIN_API_RPC_URL}){if(this.iframe=null,this.iframeIsReady=!1,this.initFrame=()=>{const a=document.getElementById("w3m-iframe");this.iframe&&!a&&document.body.appendChild(this.iframe)},this.events={registerFrameEventHandler:(a,c,l)=>{function d({data:u}){var p;if(!yc(re.FRAME_EVENT_KEY,u))return;const h=mc.frameEvent.safeParse(u);if(!h.success){console.warn("W3mFrame: invalid frame event",h.error.message);return}((p=h.data)==null?void 0:p.id)===a&&(c(h.data),window.removeEventListener("message",d))}is.isClient&&(window.addEventListener("message",d),l.addEventListener("abort",()=>{window.removeEventListener("message",d)}))},onFrameEvent:a=>{is.isClient&&window.addEventListener("message",({data:c})=>{if(!yc(re.FRAME_EVENT_KEY,c))return;const l=mc.frameEvent.safeParse(c);l.success?a(l.data):console.warn("W3mFrame: invalid frame event",l.error.message)})},onAppEvent:a=>{is.isClient&&window.addEventListener("message",({data:c})=>{if(!yc(re.APP_EVENT_KEY,c))return;const l=mc.appEvent.safeParse(c);l.success||console.warn("W3mFrame: invalid app event",l.error.message),a(c)})},postAppEvent:a=>{var c;if(is.isClient){if(!((c=this.iframe)!=null&&c.contentWindow))throw new Error("W3mFrame: iframe is not set");this.iframe.contentWindow.postMessage(a,"*")}},postFrameEvent:a=>{if(is.isClient){if(!parent)throw new Error("W3mFrame: parent is not set");parent.postMessage(a,"*")}}},this.projectId=e,this.frameLoadPromise=new Promise((a,c)=>{this.frameLoadPromiseResolver={resolve:a,reject:c}}),this.rpcUrl=o,s&&(this.frameLoadPromise=new Promise((a,c)=>{this.frameLoadPromiseResolver={resolve:a,reject:c}}),is.isClient)){const a=document.createElement("iframe");a.id="w3m-iframe",a.src=$b({projectId:e,chainId:n,enableLogger:r,rpcUrl:this.rpcUrl,enableCloudAuthAccount:i}),a.name="w3m-secure-iframe",a.style.position="fixed",a.style.zIndex="999999",a.style.display="none",a.style.border="none",a.style.animationDelay="0s, 50ms",a.style.borderBottomLeftRadius="clamp(0px, var(--apkt-borderRadius-8), 44px)",a.style.borderBottomRightRadius="clamp(0px, var(--apkt-borderRadius-8), 44px)",this.iframe=a,this.iframe.onerror=()=>{var c;(c=this.frameLoadPromiseResolver)==null||c.reject("Unable to load email login dependency")},this.events.onFrameEvent(c=>{var l;c.type==="@w3m-frame/READY"&&(this.iframeIsReady=!0,(l=this.frameLoadPromiseResolver)==null||l.resolve(void 0))})}}get networks(){const e=["eip155:1","eip155:5","eip155:11155111","eip155:10","eip155:420","eip155:42161","eip155:421613","eip155:137","eip155:80001","eip155:42220","eip155:1313161554","eip155:1313161555","eip155:56","eip155:97","eip155:43114","eip155:43113","eip155:324","eip155:280","eip155:100","eip155:8453","eip155:84531","eip155:84532","eip155:7777777","eip155:999","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z","solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1"].map(s=>({[s]:{rpcUrl:`${this.rpcUrl}/v1/?chainId=${s}&projectId=${this.projectId}`,chainId:s}}));return Object.assign({},...e)}}var Ya={exports:{}};const xu=fy;Ya.exports=bn;const ho=Jb().console||{},Lb={mapHttpRequest:Bo,mapHttpResponse:Bo,wrapRequestSerializer:wc,wrapResponseSerializer:wc,wrapErrorSerializer:wc,req:Bo,res:Bo,err:Uu,errWithCause:Uu};function jn(t,e){return t==="silent"?1/0:e.levels.values[t]}const Ed=Symbol("pino.logFuncs"),Cl=Symbol("pino.hierarchy"),Mb={error:"log",fatal:"error",warn:"error",info:"log",debug:"log",trace:"log"};function ku(t,e){const s={logger:e,parent:t[Cl]};e[Cl]=s}function Bb(t,e,s){const n={};e.forEach(r=>{n[r]=s[r]?s[r]:ho[r]||ho[Mb[r]||"log"]||ti}),t[Ed]=n}function jb(t,e){return Array.isArray(t)?t.filter(function(n){return n!=="!stdSerializers.err"}):t===!0?Object.keys(e):!1}function bn(t){t=t||{},t.browser=t.browser||{};const e=t.browser.transmit;if(e&&typeof e.send!="function")throw Error("pino: transmit option must have a send function");const s=t.browser.write||ho;t.browser.write&&(t.browser.asObject=!0);const n=t.serializers||{},r=jb(t.browser.serialize,n);let i=t.browser.serialize;Array.isArray(t.browser.serialize)&&t.browser.serialize.indexOf("!stdSerializers.err")>-1&&(i=!1);const o=Object.keys(t.customLevels||{}),a=["error","fatal","warn","info","debug","trace"].concat(o);typeof s=="function"&&a.forEach(function(f){s[f]=s}),(t.enabled===!1||t.browser.disabled)&&(t.level="silent");const c=t.level||"info",l=Object.create(s);l.log||(l.log=ti),Bb(l,a,s),ku({},l),Object.defineProperty(l,"levelVal",{get:u}),Object.defineProperty(l,"level",{get:h,set:p});const d={transmit:e,serialize:r,asObject:t.browser.asObject,asObjectBindingsOnly:t.browser.asObjectBindingsOnly,formatters:t.browser.formatters,levels:a,timestamp:Gb(t),messageKey:t.messageKey||"msg",onChild:t.onChild||ti};l.levels=Fb(t),l.level=c,l.isLevelEnabled=function(f){return this.levels.values[f]?this.levels.values[f]>=this.levels.values[this.level]:!1},l.setMaxListeners=l.getMaxListeners=l.emit=l.addListener=l.on=l.prependListener=l.once=l.prependOnceListener=l.removeListener=l.removeAllListeners=l.listeners=l.listenerCount=l.eventNames=l.write=l.flush=ti,l.serializers=n,l._serialize=r,l._stdErrSerialize=i,l.child=function(...f){return m.call(this,d,...f)},e&&(l._logEvent=vl());function u(){return jn(this.level,this)}function h(){return this._level}function p(f){if(f!=="silent"&&!this.levels.values[f])throw Error("unknown level "+f);this._level=f,er(this,d,l,"error"),er(this,d,l,"fatal"),er(this,d,l,"warn"),er(this,d,l,"info"),er(this,d,l,"debug"),er(this,d,l,"trace"),o.forEach(y=>{er(this,d,l,y)})}function m(f,y,b){if(!y)throw new Error("missing bindings for child Pino");b=b||{},r&&y.serializers&&(b.serializers=y.serializers);const S=b.serializers;if(r&&S){var v=Object.assign({},n,S),C=t.browser.serialize===!0?Object.keys(v):r;delete y.serializers,bd([y],C,v,this._stdErrSerialize)}function R(L){this._childLevel=(L._childLevel|0)+1,this.bindings=y,v&&(this.serializers=v,this._serialize=C),e&&(this._logEvent=vl([].concat(L._logEvent.bindings,y)))}R.prototype=this;const k=new R(this);return ku(this,k),k.child=function(...L){return m.call(this,f,...L)},k.level=b.level||this.level,f.onChild(k),k}return l}function Fb(t){const e=t.customLevels||{},s=Object.assign({},bn.levels.values,e),n=Object.assign({},bn.levels.labels,qb(e));return{values:s,labels:n}}function qb(t){const e={};return Object.keys(t).forEach(function(s){e[t[s]]=s}),e}bn.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}};bn.stdSerializers=Lb;bn.stdTimeFunctions=Object.assign({},{nullTime:Uf,epochTime:$f,unixTime:Yb,isoTime:Zb});function Wb(t){const e=[];t.bindings&&e.push(t.bindings);let s=t[Cl];for(;s.parent;)s=s.parent,s.logger.bindings&&e.push(s.logger.bindings);return e.reverse()}function er(t,e,s,n){if(Object.defineProperty(t,n,{value:jn(t.level,s)>jn(n,s)?ti:s[Ed][n],writable:!0,enumerable:!0,configurable:!0}),t[n]===ti){if(!e.transmit)return;const i=e.transmit.level||t.level,o=jn(i,s);if(jn(n,s)<o)return}t[n]=Vb(t,e,s,n);const r=Wb(t);r.length!==0&&(t[n]=Hb(r,t[n]))}function Hb(t,e){return function(){return e.apply(this,[...t,...arguments])}}function Vb(t,e,s,n){return function(r){return function(){const o=e.timestamp(),a=new Array(arguments.length),c=Object.getPrototypeOf&&Object.getPrototypeOf(this)===ho?ho:this;for(var l=0;l<a.length;l++)a[l]=arguments[l];var d=!1;if(e.serialize&&(bd(a,this._serialize,this.serializers,this._stdErrSerialize),d=!0),e.asObject||e.formatters?r.call(c,...zb(this,n,a,o,e)):r.apply(c,a),e.transmit){const u=e.transmit.level||t._level,h=jn(u,s),p=jn(n,s);if(p<h)return;Kb(this,{ts:o,methodLevel:n,methodValue:p,transmitValue:s.levels.values[e.transmit.level||t._level],send:e.transmit.send,val:jn(t._level,s)},a,d)}}}(t[Ed][n])}function zb(t,e,s,n,r){const{level:i,log:o=u=>u}=r.formatters||{},a=s.slice();let c=a[0];const l={};let d=(t._childLevel|0)+1;if(d<1&&(d=1),n&&(l.time=n),i){const u=i(e,t.levels.values[e]);Object.assign(l,u)}else l.level=t.levels.values[e];if(r.asObjectBindingsOnly){if(c!==null&&typeof c=="object")for(;d--&&typeof a[0]=="object";)Object.assign(l,a.shift());return[o(l),...a]}else{if(c!==null&&typeof c=="object"){for(;d--&&typeof a[0]=="object";)Object.assign(l,a.shift());c=a.length?xu(a.shift(),a):void 0}else typeof c=="string"&&(c=xu(a.shift(),a));return c!==void 0&&(l[r.messageKey]=c),[o(l)]}}function bd(t,e,s,n){for(const r in t)if(n&&t[r]instanceof Error)t[r]=bn.stdSerializers.err(t[r]);else if(typeof t[r]=="object"&&!Array.isArray(t[r])&&e)for(const i in t[r])e.indexOf(i)>-1&&i in s&&(t[r][i]=s[i](t[r][i]))}function Kb(t,e,s,n=!1){const r=e.send,i=e.ts,o=e.methodLevel,a=e.methodValue,c=e.val,l=t._logEvent.bindings;n||bd(s,t._serialize||Object.keys(t.serializers),t.serializers,t._stdErrSerialize===void 0?!0:t._stdErrSerialize),t._logEvent.ts=i,t._logEvent.messages=s.filter(function(d){return l.indexOf(d)===-1}),t._logEvent.level.label=o,t._logEvent.level.value=a,r(o,t._logEvent,c),t._logEvent=vl(l)}function vl(t){return{ts:0,messages:[],bindings:t||[],level:{label:"",value:0}}}function Uu(t){const e={type:t.constructor.name,msg:t.message,stack:t.stack};for(const s in t)e[s]===void 0&&(e[s]=t[s]);return e}function Gb(t){return typeof t.timestamp=="function"?t.timestamp:t.timestamp===!1?Uf:$f}function Bo(){return{}}function wc(t){return t}function ti(){}function Uf(){return!1}function $f(){return Date.now()}function Yb(){return Math.round(Date.now()/1e3)}function Zb(){return new Date(Date.now()).toISOString()}function Jb(){function t(e){return typeof e<"u"&&e}try{return typeof globalThis<"u"||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch{return t(self)||t(window)||t(this)||{}}}Ya.exports.default=bn;Ya.exports.pino=bn;var Kr=Ya.exports;const Df=py(Kr),Xb={level:"info"},Za="custom_context",Cd=1e3*1024;var Qb=Object.defineProperty,eC=(t,e,s)=>e in t?Qb(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,$n=(t,e,s)=>eC(t,typeof e!="symbol"?e+"":e,s);let tC=class{constructor(e){$n(this,"nodeValue"),$n(this,"sizeInBytes"),$n(this,"next"),this.nodeValue=e,this.sizeInBytes=new TextEncoder().encode(this.nodeValue).length,this.next=null}get value(){return this.nodeValue}get size(){return this.sizeInBytes}},$u=class{constructor(e){$n(this,"lengthInNodes"),$n(this,"sizeInBytes"),$n(this,"head"),$n(this,"tail"),$n(this,"maxSizeInBytes"),this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const s=new tC(e);if(s.size>this.maxSizeInBytes)throw new Error(`[LinkedList] Value too big to insert into list: ${e} with size ${s.size}`);for(;this.size+s.size>this.maxSizeInBytes;)this.shift();this.head?(this.tail&&(this.tail.next=s),this.tail=s):(this.head=s,this.tail=s),this.lengthInNodes++,this.sizeInBytes+=s.size}shift(){if(!this.head)return;const e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){const e=[];let s=this.head;for(;s!==null;)e.push(s.value),s=s.next;return e}get length(){return this.lengthInNodes}get size(){return this.sizeInBytes}toOrderedArray(){return Array.from(this)}[Symbol.iterator](){let e=this.head;return{next:()=>{if(!e)return{done:!0,value:null};const s=e.value;return e=e.next,{done:!1,value:s}}}}};var sC=Object.defineProperty,nC=(t,e,s)=>e in t?sC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,jo=(t,e,s)=>nC(t,typeof e!="symbol"?e+"":e,s);let Lf=class{constructor(e,s=Cd){jo(this,"logs"),jo(this,"level"),jo(this,"levelValue"),jo(this,"MAX_LOG_SIZE_IN_BYTES"),this.level=e??"error",this.levelValue=Kr.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=s,this.logs=new $u(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,s){s===Kr.levels.values.error?console.error(e):s===Kr.levels.values.warn?console.warn(e):s===Kr.levels.values.debug?console.debug(e):s===Kr.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(dl({timestamp:new Date().toISOString(),log:e}));const s=typeof e=="string"?JSON.parse(e).level:e.level;s>=this.levelValue&&this.forwardToConsole(e,s)}getLogs(){return this.logs}clearLogs(){this.logs=new $u(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const s=this.getLogArray();return s.push(dl({extraMetadata:e})),new Blob(s,{type:"application/json"})}};var rC=Object.defineProperty,iC=(t,e,s)=>e in t?rC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,oC=(t,e,s)=>iC(t,e+"",s);let aC=class{constructor(e,s=Cd){oC(this,"baseChunkLogger"),this.baseChunkLogger=new Lf(e,s)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}downloadLogsBlobInBrowser(e){const s=URL.createObjectURL(this.logsToBlob(e)),n=document.createElement("a");n.href=s,n.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(s)}};var cC=Object.defineProperty,lC=(t,e,s)=>e in t?cC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,dC=(t,e,s)=>lC(t,e+"",s);let uC=class{constructor(e,s=Cd){dC(this,"baseChunkLogger"),this.baseChunkLogger=new Lf(e,s)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}};var hC=Object.defineProperty,pC=Object.defineProperties,fC=Object.getOwnPropertyDescriptors,Du=Object.getOwnPropertySymbols,gC=Object.prototype.hasOwnProperty,mC=Object.prototype.propertyIsEnumerable,Lu=(t,e,s)=>e in t?hC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Na=(t,e)=>{for(var s in e||(e={}))gC.call(e,s)&&Lu(t,s,e[s]);if(Du)for(var s of Du(e))mC.call(e,s)&&Lu(t,s,e[s]);return t},Ta=(t,e)=>pC(t,fC(e));function vd(t){return Ta(Na({},t),{level:(t==null?void 0:t.level)||Xb.level})}function yC(t,e,s=Za){return t[s]=e,t}function Jt(t,e=Za){return t[e]||""}function wC(t,e,s=Za){const n=Jt(t,s);return n.trim()?`${n}/${e}`:e}function Xt(t,e,s=Za){const n=wC(t,e,s),r=t.child({context:n});return yC(r,n,s)}function EC(t){var e,s;const n=new aC((e=t.opts)==null?void 0:e.level,t.maxSizeInBytes);return{logger:Df(Ta(Na({},t.opts),{level:"trace",browser:Ta(Na({},(s=t.opts)==null?void 0:s.browser),{write:r=>n.write(r)})})),chunkLoggerController:n}}function bC(t){var e;const s=new uC((e=t.opts)==null?void 0:e.level,t.maxSizeInBytes);return{logger:Df(Ta(Na({},t.opts),{level:"trace"}),s),chunkLoggerController:s}}function Ja(t){return typeof t.loggerOverride<"u"&&typeof t.loggerOverride!="string"?{logger:t.loggerOverride,chunkLoggerController:null}:typeof window<"u"?EC(t):bC(t)}class CC{constructor(e){var i;const s=vd({level:mw}),{logger:n,chunkLoggerController:r}=Ja({opts:s});this.logger=Xt(n,this.constructor.name),this.chunkLoggerController=r,typeof window<"u"&&((i=this.chunkLoggerController)!=null&&i.downloadLogsBlobInBrowser)&&(window.downloadAppKitLogsBlob||(window.downloadAppKitLogsBlob={}),window.downloadAppKitLogsBlob.sdk=()=>{var o;(o=this.chunkLoggerController)!=null&&o.downloadLogsBlobInBrowser&&this.chunkLoggerController.downloadLogsBlobInBrowser({projectId:e})})}}class vC{constructor({projectId:e,chainId:s,enableLogger:n=!0,onTimeout:r,abortController:i,getActiveCaipNetwork:o,getCaipNetworks:a,enableCloudAuthAccount:c,metadata:l,sdkVersion:d,sdkType:u}){this.openRpcRequests=new Map,this.isInitialized=!1,n&&(this.w3mLogger=new CC(e)),this.abortController=i,this.getActiveCaipNetwork=o,this.getCaipNetworks=a;const h=this.getRpcUrl(s);this.projectId=e,this.sdkVersion=d,this.sdkType=u,this.metadata=l,this.w3mFrame=new Db({projectId:e,isAppClient:!0,chainId:s,enableLogger:n,rpcUrl:h,enableCloudAuthAccount:c}),this.onTimeout=r,this.getLoginEmailUsed()&&this.createFrame()}async createFrame(){this.w3mFrame.initFrame(),this.initPromise=new Promise(e=>{this.w3mFrame.events.onFrameEvent(s=>{s.type===re.FRAME_READY&&setTimeout(()=>{e()},500)})}),await this.initPromise,await this.syncDappData({metadata:this.metadata,projectId:this.projectId,sdkVersion:this.sdkVersion,sdkType:this.sdkType}),await this.getSmartAccountEnabledNetworks(),this.isInitialized=!0,this.initPromise=void 0}async init(){if(!this.isInitialized){if(this.initPromise){await this.initPromise;return}await this.createFrame()}}getLoginEmailUsed(){return!!at.get(re.EMAIL_LOGIN_USED_KEY)}getEmail(){return at.get(re.EMAIL)}getUsername(){return at.get(re.SOCIAL_USERNAME)}async reload(){var e;try{await this.appEvent({type:re.APP_RELOAD})}catch(s){throw(e=this.w3mLogger)==null||e.logger.error({error:s},"Error reloading iframe"),s}}async connectEmail(e){var s;try{is.checkIfAllowedToTriggerEmail(),await this.init();const n=await this.appEvent({type:re.APP_CONNECT_EMAIL,payload:e});return this.setNewLastEmailLoginTime(),n}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error connecting email"),n}}async connectDevice(){var e;try{return this.appEvent({type:re.APP_CONNECT_DEVICE})}catch(s){throw(e=this.w3mLogger)==null||e.logger.error({error:s},"Error connecting device"),s}}async connectOtp(e){var s;try{return this.appEvent({type:re.APP_CONNECT_OTP,payload:e})}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error connecting otp"),n}}async isConnected(){var e;try{if(!this.getLoginEmailUsed())return{isConnected:!1};const s=await this.appEvent({type:re.APP_IS_CONNECTED});return s!=null&&s.isConnected||this.deleteAuthLoginCache(),s}catch(s){throw this.deleteAuthLoginCache(),(e=this.w3mLogger)==null||e.logger.error({error:s},"Error checking connection"),s}}async getChainId(){var e;try{const s=await this.appEvent({type:re.APP_GET_CHAIN_ID});return this.setLastUsedChainId(s.chainId),s}catch(s){throw(e=this.w3mLogger)==null||e.logger.error({error:s},"Error getting chain id"),s}}async getSocialRedirectUri(e){var s;try{return await this.init(),this.appEvent({type:re.APP_GET_SOCIAL_REDIRECT_URI,payload:e})}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error getting social redirect uri"),n}}async updateEmail(e){var s;try{const n=await this.appEvent({type:re.APP_UPDATE_EMAIL,payload:e});return this.setNewLastEmailLoginTime(),n}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error updating email"),n}}async updateEmailPrimaryOtp(e){var s;try{return this.appEvent({type:re.APP_UPDATE_EMAIL_PRIMARY_OTP,payload:e})}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error updating email primary otp"),n}}async updateEmailSecondaryOtp(e){var s;try{const n=await this.appEvent({type:re.APP_UPDATE_EMAIL_SECONDARY_OTP,payload:e});return this.setLoginSuccess(n.newEmail),n}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error updating email secondary otp"),n}}async syncTheme(e){var s;try{return this.appEvent({type:re.APP_SYNC_THEME,payload:e})}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error syncing theme"),n}}async syncDappData(e){var s;try{return this.appEvent({type:re.APP_SYNC_DAPP_DATA,payload:e})}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error syncing dapp data"),n}}async getSmartAccountEnabledNetworks(){var e;try{const s=await this.appEvent({type:re.APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS});return this.persistSmartAccountEnabledNetworks(s.smartAccountEnabledNetworks),s}catch(s){throw this.persistSmartAccountEnabledNetworks([]),(e=this.w3mLogger)==null||e.logger.error({error:s},"Error getting smart account enabled networks"),s}}async setPreferredAccount(e){var s;try{return this.appEvent({type:re.APP_SET_PREFERRED_ACCOUNT,payload:{type:e}})}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error setting preferred account"),n}}async connect(e){var s,n;if(e!=null&&e.socialUri)try{await this.init();const r=this.getRpcUrl(e.chainId),i=await this.appEvent({type:re.APP_CONNECT_SOCIAL,payload:{uri:e.socialUri,preferredAccountType:e.preferredAccountType,chainId:e.chainId,siwxMessage:e.siwxMessage,rpcUrl:r}});return i.userName&&this.setSocialLoginSuccess(i.userName),this.setLoginSuccess(i.email),this.setLastUsedChainId(i.chainId),this.user=i,i}catch(r){throw(s=this.w3mLogger)==null||s.logger.error({error:r},"Error connecting social"),r}else try{const r=(e==null?void 0:e.chainId)||this.getLastUsedChainId()||1,i=await this.getUser({chainId:r,preferredAccountType:e==null?void 0:e.preferredAccountType,siwxMessage:e==null?void 0:e.siwxMessage,rpcUrl:this.getRpcUrl(r)});return this.setLoginSuccess(i.email),this.setLastUsedChainId(i.chainId),this.user=i,i}catch(r){throw(n=this.w3mLogger)==null||n.logger.error({error:r},"Error connecting"),r}}async getUser(e){var s;try{await this.init();const n=(e==null?void 0:e.chainId)||this.getLastUsedChainId()||1,r=await this.appEvent({type:re.APP_GET_USER,payload:{...e,chainId:n,rpcUrl:this.getRpcUrl(n)}});return this.user=r,r}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error connecting"),n}}async connectSocial({uri:e,chainId:s,preferredAccountType:n}){var r;try{await this.init();const i=this.getRpcUrl(s),o=await this.appEvent({type:re.APP_CONNECT_SOCIAL,payload:{uri:e,chainId:s,rpcUrl:i,preferredAccountType:n}});return o.userName&&this.setSocialLoginSuccess(o.userName),o}catch(i){throw(r=this.w3mLogger)==null||r.logger.error({error:i},"Error connecting social"),i}}async getFarcasterUri(){var e;try{return await this.init(),await this.appEvent({type:re.APP_GET_FARCASTER_URI})}catch(s){throw(e=this.w3mLogger)==null||e.logger.error({error:s},"Error getting farcaster uri"),s}}async connectFarcaster(){var e;try{const s=await this.appEvent({type:re.APP_CONNECT_FARCASTER});return s.userName&&this.setSocialLoginSuccess(s.userName),s}catch(s){throw(e=this.w3mLogger)==null||e.logger.error({error:s},"Error connecting farcaster"),s}}async switchNetwork({chainId:e}){var s;try{const n=this.getRpcUrl(e),r=await this.appEvent({type:re.APP_SWITCH_NETWORK,payload:{chainId:e,rpcUrl:n}});return this.setLastUsedChainId(r.chainId),r}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error switching network"),n}}async disconnect(){var e;try{return this.deleteAuthLoginCache(),await new Promise(async n=>{const r=setTimeout(()=>{n()},3e3);await this.appEvent({type:re.APP_SIGN_OUT}),clearTimeout(r),n()})}catch(s){throw(e=this.w3mLogger)==null||e.logger.error({error:s},"Error disconnecting"),s}}async request(e){var n,r,i,o,a;const s=e;try{if(et.GET_CHAIN_ID===e.method)return this.getLastUsedChainId();const c=e.chainNamespace||"eip155",l=(n=this.getActiveCaipNetwork(c))==null?void 0:n.id;s.chainNamespace=c,s.chainId=l,s.rpcUrl=this.getRpcUrl(l),(r=this.rpcRequestHandler)==null||r.call(this,e);const d=await this.appEvent({type:re.APP_RPC_REQUEST,payload:s});return(i=this.rpcSuccessHandler)==null||i.call(this,d,s),d}catch(c){throw(o=this.rpcErrorHandler)==null||o.call(this,c,s),(a=this.w3mLogger)==null||a.logger.error({error:c},"Error requesting"),c}}onRpcRequest(e){this.rpcRequestHandler=e}onRpcSuccess(e){this.rpcSuccessHandler=e}onRpcError(e){this.rpcErrorHandler=e}onIsConnected(e){this.w3mFrame.events.onFrameEvent(s=>{s.type===re.FRAME_IS_CONNECTED_SUCCESS&&s.payload.isConnected&&e()})}onNotConnected(e){this.w3mFrame.events.onFrameEvent(s=>{s.type===re.FRAME_IS_CONNECTED_ERROR&&e(),s.type===re.FRAME_IS_CONNECTED_SUCCESS&&!s.payload.isConnected&&e()})}onConnect(e){this.w3mFrame.events.onFrameEvent(s=>{s.type===re.FRAME_GET_USER_SUCCESS&&e(s.payload)})}onSocialConnected(e){this.w3mFrame.events.onFrameEvent(s=>{s.type===re.FRAME_CONNECT_SOCIAL_SUCCESS&&e(s.payload)})}async getCapabilities(){try{return await this.request({method:"wallet_getCapabilities"})||{}}catch{return{}}}onSetPreferredAccount(e){this.w3mFrame.events.onFrameEvent(s=>{s.type===re.FRAME_SET_PREFERRED_ACCOUNT_SUCCESS?e(s.payload):s.type===re.FRAME_SET_PREFERRED_ACCOUNT_ERROR&&e({type:et.ACCOUNT_TYPES.EOA})})}getAvailableChainIds(){return Object.keys(this.w3mFrame.networks)}async rejectRpcRequests(){var e;try{await Promise.all(Array.from(this.openRpcRequests.values()).map(async({abortController:s,method:n})=>{et.SAFE_RPC_METHODS.includes(n)||s.abort(),await this.appEvent({type:re.APP_RPC_ABORT})})),this.openRpcRequests.clear()}catch(s){(e=this.w3mLogger)==null||e.logger.error({error:s},"Error aborting RPC request")}}async appEvent(e){let s,n;function r(c){return c.replace("@w3m-app/","")}const i=[re.APP_SYNC_DAPP_DATA,re.APP_SYNC_THEME,re.APP_SET_PREFERRED_ACCOUNT],o=r(e.type);return!this.w3mFrame.iframeIsReady&&!i.includes(e.type)&&(n=setTimeout(()=>{var c;(c=this.onTimeout)==null||c.call(this,"iframe_load_failed"),this.abortController.abort()},2e4)),await this.w3mFrame.frameLoadPromise,clearTimeout(n),[re.APP_CONNECT_EMAIL,re.APP_CONNECT_DEVICE,re.APP_CONNECT_OTP,re.APP_CONNECT_SOCIAL,re.APP_GET_SOCIAL_REDIRECT_URI].map(r).includes(o)&&(s=setTimeout(()=>{var c;(c=this.onTimeout)==null||c.call(this,"iframe_request_timeout"),this.abortController.abort()},12e4)),new Promise((c,l)=>{var p,m,f;const d=Math.random().toString(36).substring(7);(f=(p=this.w3mLogger)==null?void 0:(m=p.logger).info)==null||f.call(m,{event:e,id:d},"Sending app event"),this.w3mFrame.events.postAppEvent({...e,id:d});const u=new AbortController;if(o==="RPC_REQUEST"){const y=e;this.openRpcRequests.set(d,{...y.payload,abortController:u})}u.signal.addEventListener("abort",()=>{o==="RPC_REQUEST"?l(new Error("Request was aborted")):o!=="GET_FARCASTER_URI"&&l(new Error("Something went wrong"))});const h=(y,b)=>{var S,v,C;y.id===d&&((v=b==null?void 0:(S=b.logger).info)==null||v.call(S,{framEvent:y,id:d},"Received frame response"),this.openRpcRequests.delete(y.id),y.type===`@w3m-frame/${o}_SUCCESS`?(s&&clearTimeout(s),n&&clearTimeout(n),"payload"in y&&c(y.payload),c(void 0)):y.type===`@w3m-frame/${o}_ERROR`&&(s&&clearTimeout(s),n&&clearTimeout(n),"payload"in y&&l(new Error(((C=y.payload)==null?void 0:C.message)||"An error occurred")),l(new Error("An error occurred"))))};this.w3mFrame.events.registerFrameEventHandler(d,y=>h(y,this.w3mLogger),this.abortController.signal)})}setNewLastEmailLoginTime(){at.set(re.LAST_EMAIL_LOGIN_TIME,Date.now().toString())}setSocialLoginSuccess(e){at.set(re.SOCIAL_USERNAME,e)}setLoginSuccess(e){e&&at.set(re.EMAIL,e),at.set(re.EMAIL_LOGIN_USED_KEY,"true"),at.delete(re.LAST_EMAIL_LOGIN_TIME)}deleteAuthLoginCache(){at.delete(re.EMAIL_LOGIN_USED_KEY),at.delete(re.EMAIL),at.delete(re.LAST_USED_CHAIN_KEY),at.delete(re.SOCIAL_USERNAME)}setLastUsedChainId(e){e&&at.set(re.LAST_USED_CHAIN_KEY,String(e))}getLastUsedChainId(){const e=at.get(re.LAST_USED_CHAIN_KEY)??void 0,s=Number(e);return isNaN(s)?e:s}persistSmartAccountEnabledNetworks(e){at.set(re.SMART_ACCOUNT_ENABLED_NETWORKS,e.join(","))}getRpcUrl(e){var i,o;let s=e===void 0?void 0:"eip155";typeof e=="string"&&(e.includes(":")?s=(i=ct.parseCaipNetworkId(e))==null?void 0:i.chainNamespace:Number.isInteger(Number(e))?s="eip155":s="solana");const n=this.getCaipNetworks(s),r=e?n.find(a=>String(a.id)===String(e)||a.caipNetworkId===e):n[0];return(o=r==null?void 0:r.rpcUrls.default.http)==null?void 0:o[0]}}async function Mf(t){return new Promise(e=>setTimeout(e,t))}function _C(t,{delay:e=100,retryCount:s=2,shouldRetry:n=()=>!0}={}){return new Promise((r,i)=>{const o=async({count:a=0}={})=>{const c=async({error:l})=>{const d=typeof e=="function"?e({count:a,error:l}):e;d&&await Mf(d),o({count:a+1})};try{const l=await t();r(l)}catch(l){if(a<s&&await n({count:a,error:l}))return c({error:l});i(l)}};o()})}const _l=256;let Fo=_l,qo;function AC(t=11){if(!qo||Fo+t>_l*2){qo="",Fo=0;for(let e=0;e<_l;e++)qo+=(256+Math.random()*256|0).toString(16).substring(1)}return qo.substring(Fo,Fo+++t)}const Wo=new Ty(8192);function SC(t,{enabled:e=!0,id:s}){if(!e||!s)return t();if(Wo.get(s))return Wo.get(s);const n=t().finally(()=>Wo.delete(s));return Wo.set(s,n),n}function IC(t,e={}){return async(s,n={})=>{var u;const{dedupe:r=!1,methods:i,retryDelay:o=150,retryCount:a=3,uid:c}={...e,...n},{method:l}=s;if((u=i==null?void 0:i.exclude)!=null&&u.includes(l))throw new $o(new Error("method not supported"),{method:l});if(i!=null&&i.include&&!i.include.includes(l))throw new $o(new Error("method not supported"),{method:l});const d=r?Ry(`${c}.${oa(s)}`):void 0;return SC(()=>_C(async()=>{try{return await t(s)}catch(h){const p=h;switch(p.code){case Eu.code:throw new Eu(p);case wu.code:throw new wu(p);case yu.code:throw new yu(p,{method:s.method});case mu.code:throw new mu(p);case fl.code:throw new fl(p);case gu.code:throw new gu(p);case fu.code:throw new fu(p);case pu.code:throw new pu(p);case pl.code:throw new pl(p);case $o.code:throw new $o(p,{method:s.method});case hl.code:throw new hl(p);case hu.code:throw new hu(p);case aa.code:throw new aa(p);case uu.code:throw new uu(p);case du.code:throw new du(p);case lu.code:throw new lu(p);case cu.code:throw new cu(p);case au.code:throw new au(p);case ou.code:throw new ou(p);case iu.code:throw new iu(p);case ru.code:throw new ru(p);case nu.code:throw new nu(p);case su.code:throw new su(p);case tu.code:throw new tu(p);case eu.code:throw new eu(p);case 5e3:throw new aa(p);default:throw h instanceof mf?h:new Oy(p)}}},{delay:({count:h,error:p})=>{var m;if(p&&p instanceof Bi){const f=(m=p==null?void 0:p.headers)==null?void 0:m.get("Retry-After");if(f!=null&&f.match(/\d/))return Number.parseInt(f,10)*1e3}return~~(1<<h)*o},retryCount:a,shouldRetry:({error:h})=>NC(h)}),{enabled:r,id:d})}}function NC(t){return"code"in t&&typeof t.code=="number"?t.code===-1||t.code===hl.code||t.code===fl.code:t instanceof Bi&&t.status?t.status===403||t.status===408||t.status===413||t.status===429||t.status===500||t.status===502||t.status===503||t.status===504:!0}function TC(t,{errorInstance:e=new Error("timed out"),timeout:s,signal:n}){return new Promise((r,i)=>{(async()=>{let o;try{const a=new AbortController;s>0&&(o=setTimeout(()=>{n&&a.abort()},s)),r(await t({signal:(a==null?void 0:a.signal)||null}))}catch(a){(a==null?void 0:a.name)==="AbortError"&&i(e),i(a)}finally{clearTimeout(o)}})()})}function RC(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const Mu=RC();function OC(t,e={}){return{async request(s){var h;const{body:n,fetchFn:r=e.fetchFn??fetch,onRequest:i=e.onRequest,onResponse:o=e.onResponse,timeout:a=e.timeout??1e4}=s,c={...e.fetchOptions??{},...s.fetchOptions??{}},{headers:l,method:d,signal:u}=c;try{const p=await TC(async({signal:f})=>{const y={...c,body:Array.isArray(n)?oa(n.map(C=>({jsonrpc:"2.0",id:C.id??Mu.take(),...C}))):oa({jsonrpc:"2.0",id:n.id??Mu.take(),...n}),headers:{"Content-Type":"application/json",...l},method:d||"POST",signal:u||(a>0?f:null)},b=new Request(t,y),S=await(i==null?void 0:i(b,y))??{...y,url:t};return await r(S.url??t,S)},{errorInstance:new bu({body:n,url:t}),timeout:a,signal:!0});o&&await o(p);let m;if((h=p.headers.get("Content-Type"))!=null&&h.startsWith("application/json"))m=await p.json();else{m=await p.text();try{m=JSON.parse(m||"{}")}catch(f){if(p.ok)throw f;m={error:m}}}if(!p.ok)throw new Bi({body:n,details:oa(m.error)||p.statusText,headers:p.headers,status:p.status,url:t});return m}catch(p){throw p instanceof Bi||p instanceof bu?p:new Bi({body:n,cause:p,url:t})}}}}function Bf({key:t,methods:e,name:s,request:n,retryCount:r=3,retryDelay:i=150,timeout:o,type:a},c){const l=AC();return{config:{key:t,methods:e,name:s,request:n,retryCount:r,retryDelay:i,timeout:o,type:a},request:IC(n,{methods:e,retryCount:r,retryDelay:i,uid:l}),value:c}}function Bu(t,e={}){const{key:s="fallback",name:n="Fallback",rank:r=!1,shouldThrow:i=PC,retryCount:o,retryDelay:a}=e;return({chain:c,pollingInterval:l=4e3,timeout:d,...u})=>{let h=t,p=()=>{};const m=Bf({key:s,name:n,async request({method:f,params:y}){let b;const S=async(v=0)=>{const C=h[v]({...u,chain:c,retryCount:0,timeout:d});try{const R=await C.request({method:f,params:y});return p({method:f,params:y,response:R,transport:C,status:"success"}),R}catch(R){if(p({error:R,method:f,params:y,transport:C,status:"error"}),i(R)||v===h.length-1||(b??(b=h.slice(v+1).some(k=>{const{include:L,exclude:F}=k({chain:c}).config.methods||{};return L?L.includes(f):F?!F.includes(f):!0})),!b))throw R;return S(v+1)}};return S()},retryCount:o,retryDelay:a,type:"fallback"},{onResponse:f=>p=f,transports:h.map(f=>f({chain:c,retryCount:0}))});if(r){const f=typeof r=="object"?r:{};xC({chain:c,interval:f.interval??l,onTransports:y=>h=y,ping:f.ping,sampleCount:f.sampleCount,timeout:f.timeout,transports:h,weights:f.weights})}return m}}function PC(t){return!!("code"in t&&typeof t.code=="number"&&(t.code===pl.code||t.code===aa.code||Py.nodeMessage.test(t.message)||t.code===5e3))}function xC({chain:t,interval:e=4e3,onTransports:s,ping:n,sampleCount:r=10,timeout:i=1e3,transports:o,weights:a={}}){const{stability:c=.7,latency:l=.3}=a,d=[],u=async()=>{const h=await Promise.all(o.map(async f=>{const y=f({chain:t,retryCount:0,timeout:i}),b=Date.now();let S,v;try{await(n?n({transport:y}):y.request({method:"net_listening"})),v=1}catch{v=0}finally{S=Date.now()}return{latency:S-b,success:v}}));d.push(h),d.length>r&&d.shift();const p=Math.max(...d.map(f=>Math.max(...f.map(({latency:y})=>y)))),m=o.map((f,y)=>{const b=d.map(k=>k[y].latency),v=1-b.reduce((k,L)=>k+L,0)/b.length/p,C=d.map(k=>k[y].success),R=C.reduce((k,L)=>k+L,0)/C.length;return R===0?[0,y]:[l*v+c*R,y]}).sort((f,y)=>y[0]-f[0]);s(m.map(([,f])=>o[f])),await Mf(e),u()};u()}class kC extends mf{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}function Ho(t,e={}){const{batch:s,fetchFn:n,fetchOptions:r,key:i="http",methods:o,name:a="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:l,retryDelay:d,raw:u}=e;return({chain:h,retryCount:p,timeout:m})=>{const{batchSize:f=1e3,wait:y=0}=typeof s=="object"?s:{},b=e.retryCount??p,S=m??e.timeout??1e4,v=t||(h==null?void 0:h.rpcUrls.default.http[0]);if(!v)throw new kC;const C=OC(v,{fetchFn:n,fetchOptions:r,onRequest:c,onResponse:l,timeout:S});return Bf({key:i,methods:o,name:a,async request({method:R,params:k}){const L={method:R,params:k},{schedule:F}=xy({id:v,wait:y,shouldSplitBatch(O){return O.length>f},fn:O=>C.request({body:O}),sort:(O,A)=>O.id-A.id}),x=async O=>s?F(O):[await C.request({body:O})],[{error:B,result:W}]=await x(L);if(u)return{error:B,result:W};if(B)throw new ky({body:L,error:B,url:v});return W},retryCount:b,retryDelay:d,timeout:S,type:"http"},{fetchOptions:r,url:v})}}async function Ci(...t){const e=await fetch(...t);if(!e.ok)throw new Error(`HTTP status code: ${e.status}`,{cause:e});return e}class So{constructor({baseUrl:e,clientId:s}){this.baseUrl=e,this.clientId=s}async get({headers:e,signal:s,cache:n,...r}){const i=this.createUrl(r);return(await Ci(i,{method:"GET",headers:e,signal:s,cache:n})).json()}async getBlob({headers:e,signal:s,...n}){const r=this.createUrl(n);return(await Ci(r,{method:"GET",headers:e,signal:s})).blob()}async post({body:e,headers:s,signal:n,...r}){const i=this.createUrl(r);return(await Ci(i,{method:"POST",headers:s,body:e?JSON.stringify(e):void 0,signal:n})).json()}async put({body:e,headers:s,signal:n,...r}){const i=this.createUrl(r);return(await Ci(i,{method:"PUT",headers:s,body:e?JSON.stringify(e):void 0,signal:n})).json()}async delete({body:e,headers:s,signal:n,...r}){const i=this.createUrl(r);return(await Ci(i,{method:"DELETE",headers:s,body:e?JSON.stringify(e):void 0,signal:n})).json()}createUrl({path:e,params:s}){const n=new URL(e,this.baseUrl);return s&&Object.entries(s).forEach(([r,i])=>{i&&n.searchParams.append(r,i)}),this.clientId&&n.searchParams.append("clientId",this.clientId),n}sendBeacon({body:e,...s}){const n=this.createUrl(s);return navigator.sendBeacon(n.toString(),e?JSON.stringify(e):void 0)}}const Al={getFeatureValue(t,e){const s=e==null?void 0:e[t];return s===void 0?Ie.DEFAULT_FEATURES[t]:s},filterSocialsByPlatform(t){if(!t||!t.length)return t;let e=t;return Z.isTelegram()&&(Z.isIos()&&(e=e.filter(s=>s!=="google")),Z.isMac()&&(e=e.filter(s=>s!=="x")),Z.isAndroid()&&(e=e.filter(s=>!["facebook","x"].includes(s)))),Z.isMobile()&&(e=e.filter(s=>s!=="facebook")),e},isSocialsEnabled(){var t,e,s,n;return Array.isArray((t=$.state.features)==null?void 0:t.socials)&&((e=$.state.features)==null?void 0:e.socials.length)>0||Array.isArray((s=$.state.remoteFeatures)==null?void 0:s.socials)&&((n=$.state.remoteFeatures)==null?void 0:n.socials.length)>0},isEmailEnabled(){var t,e;return!!((t=$.state.features)!=null&&t.email||(e=$.state.remoteFeatures)!=null&&e.email)}},ce=Ke({features:Ie.DEFAULT_FEATURES,projectId:"",sdkType:"appkit",sdkVersion:"html-wagmi-undefined",defaultAccountTypes:Ie.DEFAULT_ACCOUNT_TYPES,enableNetworkSwitch:!0,experimental_preferUniversalLinks:!1,remoteFeatures:{},enableMobileFullScreen:!1,coinbasePreference:"all"}),$={state:ce,subscribeKey(t,e){return Et(ce,t,e)},setOptions(t){Object.assign(ce,t)},setRemoteFeatures(t){var s,n;if(!t)return;const e={...ce.remoteFeatures,...t};ce.remoteFeatures=e,(s=ce.remoteFeatures)!=null&&s.socials&&(ce.remoteFeatures.socials=Al.filterSocialsByPlatform(ce.remoteFeatures.socials)),(n=ce.features)!=null&&n.pay&&(ce.remoteFeatures.email=!1,ce.remoteFeatures.socials=!1)},setFeatures(t){var s;if(!t)return;ce.features||(ce.features=Ie.DEFAULT_FEATURES);const e={...ce.features,...t};ce.features=e,(s=ce.features)!=null&&s.pay&&ce.remoteFeatures&&(ce.remoteFeatures.email=!1,ce.remoteFeatures.socials=!1)},setProjectId(t){ce.projectId=t},setCustomRpcUrls(t){ce.customRpcUrls=t},setAllWallets(t){ce.allWallets=t},setIncludeWalletIds(t){ce.includeWalletIds=t},setExcludeWalletIds(t){ce.excludeWalletIds=t},setFeaturedWalletIds(t){ce.featuredWalletIds=t},setTokens(t){ce.tokens=t},setTermsConditionsUrl(t){ce.termsConditionsUrl=t},setPrivacyPolicyUrl(t){ce.privacyPolicyUrl=t},setCustomWallets(t){ce.customWallets=t},setIsSiweEnabled(t){ce.isSiweEnabled=t},setIsUniversalProvider(t){ce.isUniversalProvider=t},setSdkVersion(t){ce.sdkVersion=t},setMetadata(t){ce.metadata=t},setDisableAppend(t){ce.disableAppend=t},setEIP6963Enabled(t){ce.enableEIP6963=t},setDebug(t){ce.debug=t},setEnableWalletGuide(t){ce.enableWalletGuide=t},setEnableAuthLogger(t){ce.enableAuthLogger=t},setEnableWallets(t){ce.enableWallets=t},setPreferUniversalLinks(t){ce.experimental_preferUniversalLinks=t},setSIWX(t){if(t)for(const[e,s]of Object.entries(Ie.SIWX_DEFAULTS))t[e]??(t[e]=s);ce.siwx=t},setConnectMethodsOrder(t){ce.features={...ce.features,connectMethodsOrder:t}},setWalletFeaturesOrder(t){ce.features={...ce.features,walletFeaturesOrder:t}},setSocialsOrder(t){ce.remoteFeatures={...ce.remoteFeatures,socials:t}},setCollapseWallets(t){ce.features={...ce.features,collapseWallets:t}},setEnableEmbedded(t){ce.enableEmbedded=t},setAllowUnsupportedChain(t){ce.allowUnsupportedChain=t},setManualWCControl(t){ce.manualWCControl=t},setEnableNetworkSwitch(t){ce.enableNetworkSwitch=t},setEnableMobileFullScreen(t){ce.enableMobileFullScreen=Z.isMobile()&&t},setEnableReconnect(t){ce.enableReconnect=t},setCoinbasePreference(t){ce.coinbasePreference=t},setDefaultAccountTypes(t={}){Object.entries(t).forEach(([e,s])=>{s&&(ce.defaultAccountTypes[e]=s)})},setUniversalProviderConfigOverride(t){ce.universalProviderConfigOverride=t},getUniversalProviderConfigOverride(){return ce.universalProviderConfigOverride},getSnapshot(){return Ji(ce)}},ar=Object.freeze({message:"",variant:"success",svg:void 0,open:!1,autoClose:!0}),it=Ke({...ar}),UC={state:it,subscribeKey(t,e){return Et(it,t,e)},showLoading(t,e={}){this._showMessage({message:t,variant:"loading",...e})},showSuccess(t){this._showMessage({message:t,variant:"success"})},showSvg(t,e){this._showMessage({message:t,svg:e})},showError(t){const e=Z.parseError(t);this._showMessage({message:e,variant:"error"})},hide(){it.message=ar.message,it.variant=ar.variant,it.svg=ar.svg,it.open=ar.open,it.autoClose=ar.autoClose},_showMessage({message:t,svg:e,variant:s="success",autoClose:n=ar.autoClose}){it.open?(it.open=!1,setTimeout(()=>{it.message=t,it.variant=s,it.svg=e,it.open=!0,it.autoClose=n},150)):(it.message=t,it.variant=s,it.svg=e,it.open=!0,it.autoClose=n)}},Ws=UC,$C={purchaseCurrencies:[{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"USD Coin",symbol:"USDC",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]},{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"Ether",symbol:"ETH",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]}],paymentCurrencies:[{id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},{id:"EUR",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]}]},jf=Z.getBlockchainApiUrl(),Pt=Ke({clientId:null,api:new So({baseUrl:jf,clientId:null}),supportedChains:{http:[],ws:[]}}),he={state:Pt,async get(t){const{st:e,sv:s}=he.getSdkProperties(),n=$.state.projectId,r={...t.params||{},st:e,sv:s,projectId:n};return Pt.api.get({...t,params:r})},getSdkProperties(){const{sdkType:t,sdkVersion:e}=$.state;return{st:t||"unknown",sv:e||"unknown"}},async isNetworkSupported(t){if(!t)return!1;try{Pt.supportedChains.http.length||await he.getSupportedNetworks()}catch{return!1}return Pt.supportedChains.http.includes(t)},async getSupportedNetworks(){try{const t=await he.get({path:"v1/supported-chains"});return Pt.supportedChains=t,t}catch{return Pt.supportedChains}},async fetchIdentity({address:t}){const e=M.getIdentityFromCacheForAddress(t);if(e)return e;const s=await he.get({path:`/v1/identity/${t}`,params:{sender:w.state.activeCaipAddress?Z.getPlainAddress(w.state.activeCaipAddress):void 0}});return M.updateIdentityCache({address:t,identity:s,timestamp:Date.now()}),s},async fetchTransactions({account:t,cursor:e,signal:s,cache:n,chainId:r}){var c;if(!await he.isNetworkSupported((c=w.state.activeCaipNetwork)==null?void 0:c.caipNetworkId))return{data:[],next:void 0};const o=M.getTransactionsCacheForAddress({address:t,chainId:r});if(o)return o;const a=await he.get({path:`/v1/account/${t}/history`,params:{cursor:e,chainId:r},signal:s,cache:n});return M.updateTransactionsCache({address:t,chainId:r,timestamp:Date.now(),transactions:a}),a},async fetchSwapQuote({amount:t,userAddress:e,from:s,to:n,gasPrice:r}){var o;return await he.isNetworkSupported((o=w.state.activeCaipNetwork)==null?void 0:o.caipNetworkId)?he.get({path:"/v1/convert/quotes",headers:{"Content-Type":"application/json"},params:{amount:t,userAddress:e,from:s,to:n,gasPrice:r}}):{quotes:[]}},async fetchSwapTokens({chainId:t}){var s;return await he.isNetworkSupported((s=w.state.activeCaipNetwork)==null?void 0:s.caipNetworkId)?he.get({path:"/v1/convert/tokens",params:{chainId:t}}):{tokens:[]}},async getAddressBalance({caipNetworkId:t,address:e}){return Pt.api.post({path:`/v1?chainId=${t}&projectId=${$.state.projectId}`,body:{id:"1",jsonrpc:"2.0",method:"getAddressBalance",params:{address:e}}}).then(s=>s.result)},async fetchTokenPrice({addresses:t}){var r;if(!await he.isNetworkSupported((r=w.state.activeCaipNetwork)==null?void 0:r.caipNetworkId))return{fungibles:[]};const s=M.getTokenPriceCacheForAddresses(t);if(s)return s;const n=await Pt.api.post({path:"/v1/fungible/price",body:{currency:"usd",addresses:t,projectId:$.state.projectId},headers:{"Content-Type":"application/json"}});return M.updateTokenPriceCache({addresses:t,timestamp:Date.now(),tokenPrice:n}),n},async fetchSwapAllowance({tokenAddress:t,userAddress:e}){var n;return await he.isNetworkSupported((n=w.state.activeCaipNetwork)==null?void 0:n.caipNetworkId)?he.get({path:"/v1/convert/allowance",params:{tokenAddress:t,userAddress:e},headers:{"Content-Type":"application/json"}}):{allowance:"0"}},async fetchGasPrice({chainId:t}){var r;const{st:e,sv:s}=he.getSdkProperties();if(!await he.isNetworkSupported((r=w.state.activeCaipNetwork)==null?void 0:r.caipNetworkId))throw new Error("Network not supported for Gas Price");return he.get({path:"/v1/convert/gas-price",headers:{"Content-Type":"application/json"},params:{chainId:t,st:e,sv:s}})},async generateSwapCalldata({amount:t,from:e,to:s,userAddress:n,disableEstimate:r}){var o;if(!await he.isNetworkSupported((o=w.state.activeCaipNetwork)==null?void 0:o.caipNetworkId))throw new Error("Network not supported for Swaps");return Pt.api.post({path:"/v1/convert/build-transaction",headers:{"Content-Type":"application/json"},body:{amount:t,eip155:{slippage:Ie.CONVERT_SLIPPAGE_TOLERANCE},projectId:$.state.projectId,from:e,to:s,userAddress:n,disableEstimate:r}})},async generateApproveCalldata({from:t,to:e,userAddress:s}){var o;const{st:n,sv:r}=he.getSdkProperties();if(!await he.isNetworkSupported((o=w.state.activeCaipNetwork)==null?void 0:o.caipNetworkId))throw new Error("Network not supported for Swaps");return he.get({path:"/v1/convert/build-approve",headers:{"Content-Type":"application/json"},params:{userAddress:s,from:t,to:e,st:n,sv:r}})},async getBalance(t,e,s){var l;const{st:n,sv:r}=he.getSdkProperties();if(!await he.isNetworkSupported((l=w.state.activeCaipNetwork)==null?void 0:l.caipNetworkId))return Ws.showError("Token Balance Unavailable"),{balances:[]};const o=`${e}:${t}`,a=M.getBalanceCacheForCaipAddress(o);if(a)return a;const c=await he.get({path:`/v1/account/${t}/balance`,params:{currency:"usd",chainId:e,forceUpdate:s,st:n,sv:r}});return M.updateBalanceCache({caipAddress:o,balance:c,timestamp:Date.now()}),c},async lookupEnsName(t){var s;return await he.isNetworkSupported((s=w.state.activeCaipNetwork)==null?void 0:s.caipNetworkId)?he.get({path:`/v1/profile/account/${t}`,params:{apiVersion:"2"}}):{addresses:{},attributes:[]}},async reverseLookupEnsName({address:t}){var n,r;if(!await he.isNetworkSupported((n=w.state.activeCaipNetwork)==null?void 0:n.caipNetworkId))return[];const s=(r=w.getAccountData())==null?void 0:r.address;return he.get({path:`/v1/profile/reverse/${t}`,params:{sender:s,apiVersion:"2"}})},async getEnsNameSuggestions(t){var s;return await he.isNetworkSupported((s=w.state.activeCaipNetwork)==null?void 0:s.caipNetworkId)?he.get({path:`/v1/profile/suggestions/${t}`,params:{zone:"reown.id"}}):{suggestions:[]}},async registerEnsName({coinType:t,address:e,message:s,signature:n}){var i;return await he.isNetworkSupported((i=w.state.activeCaipNetwork)==null?void 0:i.caipNetworkId)?Pt.api.post({path:"/v1/profile/account",body:{coin_type:t,address:e,message:s,signature:n},headers:{"Content-Type":"application/json"}}):{success:!1}},async generateOnRampURL({destinationWallets:t,partnerUserId:e,defaultNetwork:s,purchaseAmount:n,paymentAmount:r}){var a;return await he.isNetworkSupported((a=w.state.activeCaipNetwork)==null?void 0:a.caipNetworkId)?(await Pt.api.post({path:"/v1/generators/onrampurl",params:{projectId:$.state.projectId},body:{destinationWallets:t,defaultNetwork:s,partnerUserId:e,defaultExperience:"buy",presetCryptoAmount:n,presetFiatAmount:r}})).url:""},async getOnrampOptions(){var e;if(!await he.isNetworkSupported((e=w.state.activeCaipNetwork)==null?void 0:e.caipNetworkId))return{paymentCurrencies:[],purchaseCurrencies:[]};try{return await he.get({path:"/v1/onramp/options"})}catch{return $C}},async getOnrampQuote({purchaseCurrency:t,paymentCurrency:e,amount:s,network:n}){var r;try{return await he.isNetworkSupported((r=w.state.activeCaipNetwork)==null?void 0:r.caipNetworkId)?await Pt.api.post({path:"/v1/onramp/quote",params:{projectId:$.state.projectId},body:{purchaseCurrency:t,paymentCurrency:e,amount:s,network:n}}):null}catch{return{networkFee:{amount:s,currency:e.id},paymentSubtotal:{amount:s,currency:e.id},paymentTotal:{amount:s,currency:e.id},purchaseAmount:{amount:s,currency:e.id},quoteId:"mocked-quote-id"}}},async getSmartSessions(t){var s;return await he.isNetworkSupported((s=w.state.activeCaipNetwork)==null?void 0:s.caipNetworkId)?he.get({path:`/v1/sessions/${t}`}):[]},async revokeSmartSession(t,e,s){var r;return await he.isNetworkSupported((r=w.state.activeCaipNetwork)==null?void 0:r.caipNetworkId)?Pt.api.post({path:`/v1/sessions/${t}/revoke`,params:{projectId:$.state.projectId},body:{pci:e,signature:s}}):{success:!1}},setClientId(t){Pt.clientId=t,Pt.api=new So({baseUrl:jf,clientId:t})}},fs={PHANTOM:{id:"a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393",url:"https://phantom.app"},SOLFLARE:{id:"1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79",url:"https://solflare.com"},COINBASE:{id:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",url:"https://go.cb-w.com"},BINANCE:{id:"2fafea35bb471d22889ccb49c08d99dd0a18a37982602c33f696a5723934ba25",appId:"yFK5FCqYprrXDiVFbhyRx7",deeplink:"bnc://app.binance.com/mp/app",url:"https://app.binance.com/en/download"}},DC={handleMobileDeeplinkRedirect(t,e){const s=window.location.href,n=encodeURIComponent(s);if(t===fs.PHANTOM.id&&!("phantom"in window)){const r=s.startsWith("https")?"https":"http",i=s.split("/")[2],o=encodeURIComponent(`${r}://${i}`);window.location.href=`${fs.PHANTOM.url}/ul/browse/${n}?ref=${o}`}if(t===fs.SOLFLARE.id&&!("solflare"in window)&&(window.location.href=`${fs.SOLFLARE.url}/ul/v1/browse/${n}?ref=${n}`),e===U.CHAIN.SOLANA&&t===fs.COINBASE.id&&!("coinbaseSolana"in window)&&(window.location.href=`${fs.COINBASE.url}/dapp?cb_url=${n}`),e===U.CHAIN.BITCOIN&&t===fs.BINANCE.id&&!("binancew3w"in window)){const r=w.state.activeCaipNetwork,i=window.btoa("/pages/browser/index"),o=window.btoa(`url=${n}&defaultChainId=${(r==null?void 0:r.id)??1}`),a=new URL(fs.BINANCE.deeplink);a.searchParams.set("appId",fs.BINANCE.appId),a.searchParams.set("startPagePath",i),a.searchParams.set("startPageQuery",o);const c=new URL(fs.BINANCE.url);c.searchParams.set("_dp",window.btoa(a.toString())),window.location.href=c.toString()}}},LC=Object.freeze({enabled:!0,events:[]}),MC=new So({baseUrl:Z.getAnalyticsUrl(),clientId:null}),BC=5,jC=60*1e3,An=Ke({...LC}),FC={state:An,subscribeKey(t,e){return Et(An,t,e)},async sendError(t,e){if(!An.enabled)return;const s=Date.now();if(An.events.filter(i=>{const o=new Date(i.properties.timestamp||"").getTime();return s-o<jC}).length>=BC)return;const r={type:"error",event:e,properties:{errorType:t.name,errorMessage:t.message,stackTrace:t.stack,timestamp:new Date().toISOString()}};An.events.push(r);try{if(typeof window>"u")return;const{projectId:i,sdkType:o,sdkVersion:a}=$.state;await MC.post({path:"/e",params:{projectId:i,st:o,sv:a||"html-wagmi-4.2.2"},body:{eventId:Z.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:new Date().toISOString(),props:{type:"error",event:e,errorType:t.name,errorMessage:t.message,stackTrace:t.stack}}})}catch{}},enable(){An.enabled=!0},disable(){An.enabled=!1},clearEvents(){An.events=[]}};class Nr extends Error{constructor(e,s,n){super(e),this.originalName="AppKitError",this.name="AppKitError",this.category=s,this.originalError=n,n&&n instanceof Error&&(this.originalName=n.name),Object.setPrototypeOf(this,Nr.prototype);let r=!1;if(n instanceof Error&&typeof n.stack=="string"&&n.stack){const i=n.stack,o=i.indexOf(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-D_sOL50h.js","assets/verifyHash-FEyr57Yr.js","assets/NetworkUtil-D7oIM7ZR.js","assets/hmac-Bk4Z90TB.js","assets/index-CJXaU_uj.js","assets/index-CJMoiuMb.css","assets/sha256-Daj5l6sK.js","assets/ccip-BeMRlRG6.js","assets/index.es-DvYSf29G.js","assets/index.es-BNSVOI_t.js","assets/features-BHAaOwHA.js","assets/embedded-wallet-Dj8lw64G.js","assets/index--jadAGtc.js","assets/index-DAZxg2j9.js","assets/if-defined-Dkmiq4D-.js","assets/ref-BamtHe-n.js","assets/index-ClGvvj_d.js","assets/HelpersUtil-LoXn6_a9.js","assets/ConstantsUtil-DAlK9cbP.js","assets/index-C0DSH9UE.js","assets/index-Dmu4eyxj.js","assets/index-Bp_3ZVNR.js","assets/index-2_tg7ntR.js","assets/index-CK54lS7p.js","assets/NavigationUtil-DmfK5sOV.js","assets/email-HyF8d31i.js","assets/index-DGGTT6qz.js","assets/index-qDowJ7_N.js","assets/socials-CEl5e3er.js","assets/index-DVBhvBRU.js","assets/index-C5Mndy14.js","assets/index-CM5u4pln.js","assets/index-C5H4fI5z.js","assets/browser-DvQJ0ksv.js","assets/index-DLmguShE.js","assets/swaps-CHh8IHbf.js","assets/index-BkK4bCOM.js","assets/index-BKSeuHAx.js","assets/SwapController-DgIPmsS0.js","assets/index-DXw54YOI.js","assets/send-BCp16qi0.js","assets/index-EW7NHQDe.js","assets/index-KRS-uzDQ.js","assets/index-DgtkWFoE.js","assets/index-BqHyC1cF.js","assets/receive-5VeEorgq.js","assets/onramp-BErKzfhZ.js","assets/index-BzvYrb-G.js","assets/index-Ct-s5kqz.js","assets/index-DkGkQYWL.js","assets/pay-with-exchange-B3Mp96JM.js","assets/ExchangeController-CSobTIN3.js","assets/transactions-DmFe0uqW.js","assets/index-DSkrpllW.js","assets/index-CrlKVJaS.js","assets/index-Wpszpw0y.js","assets/index-Oy9Zk8Im.js","assets/index-BiNk8IdC.js","assets/data-capture-UMtJXiUu.js","assets/index-BwivyfoP.js","assets/index-9PsuzUrA.js","assets/w3m-modal-kvjqzGhs.js"])))=>i.map(i=>d[i]);
2
+ import{b as fn,g as py,_ as kt,a as ve,B as ke,e as Pr,k as fd}from"./index-CJXaU_uj.js";import{C as U,L as fy,a5 as $o,m as gy,s as oa,H as Mi,B as pf,ag as my,ak as aa,W as Xd,X as Qd,Y as eu,af as tu,_ as su,ah as nu,ai as ru,ac as iu,Z as ou,a7 as au,aj as cu,ae as lu,a2 as du,a3 as dl,ad as ul,aa as uu,a9 as hu,I as pu,$ as hl,a0 as fu,a4 as gu,a1 as mu,a6 as yu,V as wu,E as yy,av as wy,R as Ey,ax as ff,aq as gf,p as Do,ay as mf,as as by,t as Eu}from"./NetworkUtil-D7oIM7ZR.js";import{q as Cy,s as pl,I as mi,g as vy,d as bs,t as Zt,e as Y,h as ci,C as _y,j as yf,k as Ay,l as Sy,m as Bi,n as fl,r as yi,u as Iy,v as Ny,w as Ty,x as Ry,y as Oy,z as Py,a as Fs,A as wi,o as gd,B as xy,D as md,E as yd,f as Gi,P as bu,Q as ky,F as Uy,b as Cu,G as hr,c as wf,H as sn,J as js,K as vn}from"./index.es-DvYSf29G.js";import{a as $y,q as Dy,v as Ly,o as My,s as By}from"./hmac-Bk4Z90TB.js";import{f as Ef}from"./index.es-BNSVOI_t.js";const bf={isLowerCaseMatch(t,e){return(t==null?void 0:t.toLowerCase())===(e==null?void 0:e.toLowerCase())}};var jy=20,Fy=1,_r=1e6,vu=1e6,qy=-7,Wy=21,Hy=!1,vo="[big.js] ",xr=vo+"Invalid ",za=xr+"decimal places",Vy=xr+"rounding mode",Cf=vo+"Division by zero",Fe={},zs=void 0,zy=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function vf(){function t(e){var s=this;if(!(s instanceof t))return e===zs?vf():new t(e);if(e instanceof t)s.s=e.s,s.e=e.e,s.c=e.c.slice();else{if(typeof e!="string"){if(t.strict===!0&&typeof e!="bigint")throw TypeError(xr+"value");e=e===0&&1/e<0?"-0":String(e)}Ky(s,e)}s.constructor=t}return t.prototype=Fe,t.DP=jy,t.RM=Fy,t.NE=qy,t.PE=Wy,t.strict=Hy,t.roundDown=0,t.roundHalfUp=1,t.roundHalfEven=2,t.roundUp=3,t}function Ky(t,e){var s,n,r;if(!zy.test(e))throw Error(xr+"number");for(t.s=e.charAt(0)=="-"?(e=e.slice(1),-1):1,(s=e.indexOf("."))>-1&&(e=e.replace(".","")),(n=e.search(/e/i))>0?(s<0&&(s=n),s+=+e.slice(n+1),e=e.substring(0,n)):s<0&&(s=e.length),r=e.length,n=0;n<r&&e.charAt(n)=="0";)++n;if(n==r)t.c=[t.e=0];else{for(;r>0&&e.charAt(--r)=="0";);for(t.e=s-n-1,t.c=[],s=0;n<=r;)t.c[s++]=+e.charAt(n++)}return t}function kr(t,e,s,n){var r=t.c;if(s===zs&&(s=t.constructor.RM),s!==0&&s!==1&&s!==2&&s!==3)throw Error(Vy);if(e<1)n=s===3&&(n||!!r[0])||e===0&&(s===1&&r[0]>=5||s===2&&(r[0]>5||r[0]===5&&(n||r[1]!==zs))),r.length=1,n?(t.e=t.e-e+1,r[0]=1):r[0]=t.e=0;else if(e<r.length){if(n=s===1&&r[e]>=5||s===2&&(r[e]>5||r[e]===5&&(n||r[e+1]!==zs||r[e-1]&1))||s===3&&(n||!!r[0]),r.length=e,n){for(;++r[--e]>9;)if(r[e]=0,e===0){++t.e,r.unshift(1);break}}for(e=r.length;!r[--e];)r.pop()}return t}function Ur(t,e,s){var n=t.e,r=t.c.join(""),i=r.length;if(e)r=r.charAt(0)+(i>1?"."+r.slice(1):"")+(n<0?"e":"e+")+n;else if(n<0){for(;++n;)r="0"+r;r="0."+r}else if(n>0)if(++n>i)for(n-=i;n--;)r+="0";else n<i&&(r=r.slice(0,n)+"."+r.slice(n));else i>1&&(r=r.charAt(0)+"."+r.slice(1));return t.s<0&&s?"-"+r:r}Fe.abs=function(){var t=new this.constructor(this);return t.s=1,t};Fe.cmp=function(t){var e,s=this,n=s.c,r=(t=new s.constructor(t)).c,i=s.s,o=t.s,a=s.e,c=t.e;if(!n[0]||!r[0])return n[0]?i:r[0]?-o:0;if(i!=o)return i;if(e=i<0,a!=c)return a>c^e?1:-1;for(o=(a=n.length)<(c=r.length)?a:c,i=-1;++i<o;)if(n[i]!=r[i])return n[i]>r[i]^e?1:-1;return a==c?0:a>c^e?1:-1};Fe.div=function(t){var e=this,s=e.constructor,n=e.c,r=(t=new s(t)).c,i=e.s==t.s?1:-1,o=s.DP;if(o!==~~o||o<0||o>_r)throw Error(za);if(!r[0])throw Error(Cf);if(!n[0])return t.s=i,t.c=[t.e=0],t;var a,c,l,d,u,h=r.slice(),p=a=r.length,m=n.length,f=n.slice(0,a),y=f.length,b=t,S=b.c=[],v=0,C=o+(b.e=e.e-t.e)+1;for(b.s=i,i=C<0?0:C,h.unshift(0);y++<a;)f.push(0);do{for(l=0;l<10;l++){if(a!=(y=f.length))d=a>y?1:-1;else for(u=-1,d=0;++u<a;)if(r[u]!=f[u]){d=r[u]>f[u]?1:-1;break}if(d<0){for(c=y==a?r:h;y;){if(f[--y]<c[y]){for(u=y;u&&!f[--u];)f[u]=9;--f[u],f[y]+=10}f[y]-=c[y]}for(;!f[0];)f.shift()}else break}S[v++]=d?l:++l,f[0]&&d?f[y]=n[p]||0:f=[n[p]]}while((p++<m||f[0]!==zs)&&i--);return!S[0]&&v!=1&&(S.shift(),b.e--,C--),v>C&&kr(b,C,s.RM,f[0]!==zs),b};Fe.eq=function(t){return this.cmp(t)===0};Fe.gt=function(t){return this.cmp(t)>0};Fe.gte=function(t){return this.cmp(t)>-1};Fe.lt=function(t){return this.cmp(t)<0};Fe.lte=function(t){return this.cmp(t)<1};Fe.minus=Fe.sub=function(t){var e,s,n,r,i=this,o=i.constructor,a=i.s,c=(t=new o(t)).s;if(a!=c)return t.s=-c,i.plus(t);var l=i.c.slice(),d=i.e,u=t.c,h=t.e;if(!l[0]||!u[0])return u[0]?t.s=-c:l[0]?t=new o(i):t.s=1,t;if(a=d-h){for((r=a<0)?(a=-a,n=l):(h=d,n=u),n.reverse(),c=a;c--;)n.push(0);n.reverse()}else for(s=((r=l.length<u.length)?l:u).length,a=c=0;c<s;c++)if(l[c]!=u[c]){r=l[c]<u[c];break}if(r&&(n=l,l=u,u=n,t.s=-t.s),(c=(s=u.length)-(e=l.length))>0)for(;c--;)l[e++]=0;for(c=e;s>a;){if(l[--s]<u[s]){for(e=s;e&&!l[--e];)l[e]=9;--l[e],l[s]+=10}l[s]-=u[s]}for(;l[--c]===0;)l.pop();for(;l[0]===0;)l.shift(),--h;return l[0]||(t.s=1,l=[h=0]),t.c=l,t.e=h,t};Fe.mod=function(t){var e,s=this,n=s.constructor,r=s.s,i=(t=new n(t)).s;if(!t.c[0])throw Error(Cf);return s.s=t.s=1,e=t.cmp(s)==1,s.s=r,t.s=i,e?new n(s):(r=n.DP,i=n.RM,n.DP=n.RM=0,s=s.div(t),n.DP=r,n.RM=i,this.minus(s.times(t)))};Fe.neg=function(){var t=new this.constructor(this);return t.s=-t.s,t};Fe.plus=Fe.add=function(t){var e,s,n,r=this,i=r.constructor;if(t=new i(t),r.s!=t.s)return t.s=-t.s,r.minus(t);var o=r.e,a=r.c,c=t.e,l=t.c;if(!a[0]||!l[0])return l[0]||(a[0]?t=new i(r):t.s=r.s),t;if(a=a.slice(),e=o-c){for(e>0?(c=o,n=l):(e=-e,n=a),n.reverse();e--;)n.push(0);n.reverse()}for(a.length-l.length<0&&(n=l,l=a,a=n),e=l.length,s=0;e;a[e]%=10)s=(a[--e]=a[e]+l[e]+s)/10|0;for(s&&(a.unshift(s),++c),e=a.length;a[--e]===0;)a.pop();return t.c=a,t.e=c,t};Fe.pow=function(t){var e=this,s=new e.constructor("1"),n=s,r=t<0;if(t!==~~t||t<-vu||t>vu)throw Error(xr+"exponent");for(r&&(t=-t);t&1&&(n=n.times(e)),t>>=1,!!t;)e=e.times(e);return r?s.div(n):n};Fe.prec=function(t,e){if(t!==~~t||t<1||t>_r)throw Error(xr+"precision");return kr(new this.constructor(this),t,e)};Fe.round=function(t,e){if(t===zs)t=0;else if(t!==~~t||t<-_r||t>_r)throw Error(za);return kr(new this.constructor(this),t+this.e+1,e)};Fe.sqrt=function(){var t,e,s,n=this,r=n.constructor,i=n.s,o=n.e,a=new r("0.5");if(!n.c[0])return new r(n);if(i<0)throw Error(vo+"No square root");i=Math.sqrt(+Ur(n,!0,!0)),i===0||i===1/0?(e=n.c.join(""),e.length+o&1||(e+="0"),i=Math.sqrt(e),o=((o+1)/2|0)-(o<0||o&1),t=new r((i==1/0?"5e":(i=i.toExponential()).slice(0,i.indexOf("e")+1))+o)):t=new r(i+""),o=t.e+(r.DP+=4);do s=t,t=a.times(s.plus(n.div(s)));while(s.c.slice(0,o).join("")!==t.c.slice(0,o).join(""));return kr(t,(r.DP-=4)+t.e+1,r.RM)};Fe.times=Fe.mul=function(t){var e,s=this,n=s.constructor,r=s.c,i=(t=new n(t)).c,o=r.length,a=i.length,c=s.e,l=t.e;if(t.s=s.s==t.s?1:-1,!r[0]||!i[0])return t.c=[t.e=0],t;for(t.e=c+l,o<a&&(e=r,r=i,i=e,l=o,o=a,a=l),e=new Array(l=o+a);l--;)e[l]=0;for(c=a;c--;){for(a=0,l=o+c;l>c;)a=e[l]+i[c]*r[l-c-1]+a,e[l--]=a%10,a=a/10|0;e[l]=a}for(a?++t.e:e.shift(),c=e.length;!e[--c];)e.pop();return t.c=e,t};Fe.toExponential=function(t,e){var s=this,n=s.c[0];if(t!==zs){if(t!==~~t||t<0||t>_r)throw Error(za);for(s=kr(new s.constructor(s),++t,e);s.c.length<t;)s.c.push(0)}return Ur(s,!0,!!n)};Fe.toFixed=function(t,e){var s=this,n=s.c[0];if(t!==zs){if(t!==~~t||t<0||t>_r)throw Error(za);for(s=kr(new s.constructor(s),t+s.e+1,e),t=t+s.e+1;s.c.length<t;)s.c.push(0)}return Ur(s,!1,!!n)};Fe[Symbol.for("nodejs.util.inspect.custom")]=Fe.toJSON=Fe.toString=function(){var t=this,e=t.constructor;return Ur(t,t.e<=e.NE||t.e>=e.PE,!!t.c[0])};Fe.toNumber=function(){var t=+Ur(this,!0,!0);if(this.constructor.strict===!0&&!this.eq(t.toString()))throw Error(vo+"Imprecise conversion");return t};Fe.toPrecision=function(t,e){var s=this,n=s.constructor,r=s.c[0];if(t!==zs){if(t!==~~t||t<1||t>_r)throw Error(xr+"precision");for(s=kr(new n(s),t,e);s.c.length<t;)s.c.push(0)}return Ur(s,t<=s.e||s.e<=n.NE||s.e>=n.PE,!!r)};Fe.valueOf=function(){var t=this,e=t.constructor;if(e.strict===!0)throw Error(vo+"valueOf disallowed");return Ur(t,t.e<=e.NE||t.e>=e.PE,!0)};var _n=vf();const Gy={bigNumber(t){return t?new _n(t):new _n(0)},multiply(t,e){if(t===void 0||e===void 0)return new _n(0);const s=new _n(t),n=new _n(e);return s.times(n)},toFixed(t,e=2){return t===void 0||t===""?new _n(0).toFixed(e):new _n(t).toFixed(e)},formatNumberToLocalString(t,e=2){return t===void 0||t===""?"0.00":typeof t=="number"?t.toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e,roundingMode:"floor"}):parseFloat(t).toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e,roundingMode:"floor"})},parseLocalStringToNumber(t){if(t===void 0||t==="")return 0;const e=t.replace(/,/gu,"");return new _n(e).toNumber()}},Yy=[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],outputs:[{name:"",type:"bool"}]}],Zy=[{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],Jy=[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]}],Xy={getERC20Abi:t=>U.USDT_CONTRACT_ADDRESSES.includes(t)?Jy:Yy,getSwapAbi:()=>Zy},Mr={ConnectorExplorerIds:{[U.CONNECTOR_ID.COINBASE]:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",[U.CONNECTOR_ID.COINBASE_SDK]:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",[U.CONNECTOR_ID.BASE_ACCOUNT]:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",[U.CONNECTOR_ID.SAFE]:"225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f",[U.CONNECTOR_ID.LEDGER]:"19177a98252e07ddfc9af2083ba8e07ef627cb6103467ffebb3f8f4205fd7927",[U.CONNECTOR_ID.OKX]:"971e689d0a5be527bac79629b4ee9b925e82208e5168b733496a09c0faed0709",[U.METMASK_CONNECTOR_NAME]:"c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96",[U.TRUST_CONNECTOR_NAME]:"4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0",[U.SOLFLARE_CONNECTOR_NAME]:"1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79",[U.PHANTOM_CONNECTOR_NAME]:"a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393",[U.COIN98_CONNECTOR_NAME]:"2a3c89040ac3b723a1972a33a125b1db11e258a6975d3a61252cd64e6ea5ea01",[U.MAGIC_EDEN_CONNECTOR_NAME]:"8b830a2b724a9c3fbab63af6f55ed29c9dfa8a55e732dc88c80a196a2ba136c6",[U.BACKPACK_CONNECTOR_NAME]:"2bd8c14e035c2d48f184aaa168559e86b0e3433228d3c4075900a221785019b0",[U.BITGET_CONNECTOR_NAME]:"38f5d18bd8522c244bdd70cb4a68e0e718865155811c043f052fb9f1c51de662",[U.FRONTIER_CONNECTOR_NAME]:"85db431492aa2e8672e93f4ea7acf10c88b97b867b0d373107af63dc4880f041",[U.XVERSE_CONNECTOR_NAME]:"2a87d74ae02e10bdd1f51f7ce6c4e1cc53cd5f2c0b6b5ad0d7b3007d2b13de7b",[U.LEATHER_CONNECTOR_NAME]:"483afe1df1df63daf313109971ff3ef8356ddf1cc4e45877d205eee0b7893a13",[U.OKX_CONNECTOR_NAME]:"971e689d0a5be527bac79629b4ee9b925e82208e5168b733496a09c0faed0709",[U.BINANCE_CONNECTOR_NAME]:"2fafea35bb471d22889ccb49c08d99dd0a18a37982602c33f696a5723934ba25"}},ct={validateCaipAddress(t){var e;if(((e=t.split(":"))==null?void 0:e.length)!==3)throw new Error("Invalid CAIP Address");return t},parseCaipAddress(t){const e=t.split(":");if(e.length!==3)throw new Error(`Invalid CAIP-10 address: ${t}`);const[s,n,r]=e;if(!s||!n||!r)throw new Error(`Invalid CAIP-10 address: ${t}`);return{chainNamespace:s,chainId:n,address:r}},parseCaipNetworkId(t){const e=t.split(":");if(e.length!==2)throw new Error(`Invalid CAIP-2 network id: ${t}`);const[s,n]=e;if(!s||!n)throw new Error(`Invalid CAIP-2 network id: ${t}`);return{chainNamespace:s,chainId:n}}},un={RPC_ERROR_CODE:{USER_REJECTED_REQUEST:4001,USER_REJECTED_METHODS:5002,USER_REJECTED:5e3},PROVIDER_RPC_ERROR_NAME:{PROVIDER_RPC:"ProviderRpcError",USER_REJECTED_REQUEST:"UserRejectedRequestError"},isRpcProviderError(t){try{if(typeof t=="object"&&t!==null){const e=t,s=typeof e.message=="string",n=typeof e.code=="number";return s&&n}return!1}catch{return!1}},isUserRejectedMessage(t){return t.toLowerCase().includes("user rejected")||t.toLowerCase().includes("user cancelled")||t.toLowerCase().includes("user canceled")},isUserRejectedRequestError(t){if(un.isRpcProviderError(t)){const e=t.code===un.RPC_ERROR_CODE.USER_REJECTED_REQUEST,s=t.code===un.RPC_ERROR_CODE.USER_REJECTED_METHODS;return e||s||un.isUserRejectedMessage(t.message)}return t instanceof Error?un.isUserRejectedMessage(t.message):!1}};class Qy extends Error{constructor(e,s){super(s.message,{cause:e}),this.name=un.PROVIDER_RPC_ERROR_NAME.PROVIDER_RPC,this.code=s.code}}class _f extends Qy{constructor(e){super(e,{code:un.RPC_ERROR_CODE.USER_REJECTED_REQUEST,message:"User rejected the request"}),this.name=un.PROVIDER_RPC_ERROR_NAME.USER_REJECTED_REQUEST}}const ae={WALLET_ID:"@appkit/wallet_id",WALLET_NAME:"@appkit/wallet_name",SOLANA_WALLET:"@appkit/solana_wallet",SOLANA_CAIP_CHAIN:"@appkit/solana_caip_chain",ACTIVE_CAIP_NETWORK_ID:"@appkit/active_caip_network_id",CONNECTED_SOCIAL:"@appkit/connected_social",CONNECTED_SOCIAL_USERNAME:"@appkit-wallet/SOCIAL_USERNAME",RECENT_WALLETS:"@appkit/recent_wallets",RECENT_WALLET:"@appkit/recent_wallet",DEEPLINK_CHOICE:"WALLETCONNECT_DEEPLINK_CHOICE",ACTIVE_NAMESPACE:"@appkit/active_namespace",CONNECTED_NAMESPACES:"@appkit/connected_namespaces",CONNECTION_STATUS:"@appkit/connection_status",SIWX_AUTH_TOKEN:"@appkit/siwx-auth-token",SIWX_NONCE_TOKEN:"@appkit/siwx-nonce-token",TELEGRAM_SOCIAL_PROVIDER:"@appkit/social_provider",NATIVE_BALANCE_CACHE:"@appkit/native_balance_cache",PORTFOLIO_CACHE:"@appkit/portfolio_cache",ENS_CACHE:"@appkit/ens_cache",IDENTITY_CACHE:"@appkit/identity_cache",PREFERRED_ACCOUNT_TYPES:"@appkit/preferred_account_types",CONNECTIONS:"@appkit/connections",DISCONNECTED_CONNECTOR_IDS:"@appkit/disconnected_connector_ids",HISTORY_TRANSACTIONS_CACHE:"@appkit/history_transactions_cache",TOKEN_PRICE_CACHE:"@appkit/token_price_cache",RECENT_EMAILS:"@appkit/recent_emails",LATEST_APPKIT_VERSION:"@appkit/latest_version",TON_WALLETS_CACHE:"@appkit/ton_wallets_cache"};function pc(t){if(!t)throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID");return`@appkit/${t}:connected_connector_id`}const ie={setItem(t,e){xi()&&e!==void 0&&localStorage.setItem(t,e)},getItem(t){if(xi())return localStorage.getItem(t)||void 0},removeItem(t){xi()&&localStorage.removeItem(t)},clear(){xi()&&localStorage.clear()}};function xi(){return typeof window<"u"&&typeof localStorage<"u"}function Yi(t,e){const s=(t==null?void 0:t["--apkt-accent"])??(t==null?void 0:t["--w3m-accent"]);return e==="light"?{"--w3m-accent":s||"hsla(231, 100%, 70%, 1)","--w3m-background":"#fff"}:{"--w3m-accent":s||"hsla(230, 100%, 67%, 1)","--w3m-background":"#202020"}}const ew=Symbol(),_u=Object.getPrototypeOf,gl=new WeakMap,tw=t=>t&&(gl.has(t)?gl.get(t):_u(t)===Object.prototype||_u(t)===Array.prototype),sw=t=>tw(t)&&t[ew]||null,Au=(t,e=!0)=>{gl.set(t,e)},ya={},wd=t=>typeof t=="object"&&t!==null,nw=t=>wd(t)&&!_o.has(t)&&(Array.isArray(t)||!(Symbol.iterator in t))&&!(t instanceof WeakMap)&&!(t instanceof WeakSet)&&!(t instanceof Error)&&!(t instanceof Number)&&!(t instanceof Date)&&!(t instanceof String)&&!(t instanceof RegExp)&&!(t instanceof ArrayBuffer)&&!(t instanceof Promise),Af=(t,e)=>{const s=ml.get(t);if((s==null?void 0:s[0])===e)return s[1];const n=Array.isArray(t)?[]:Object.create(Object.getPrototypeOf(t));return Au(n,!0),ml.set(t,[e,n]),Reflect.ownKeys(t).forEach(r=>{if(Object.getOwnPropertyDescriptor(n,r))return;const i=Reflect.get(t,r),{enumerable:o}=Reflect.getOwnPropertyDescriptor(t,r),a={value:i,enumerable:o,configurable:!0};if(_o.has(i))Au(i,!1);else if(Vn.has(i)){const[c,l]=Vn.get(i);a.value=Af(c,l())}Object.defineProperty(n,r,a)}),Object.preventExtensions(n)},rw=(t,e,s,n)=>({deleteProperty(r,i){const o=Reflect.get(r,i);s(i);const a=Reflect.deleteProperty(r,i);return a&&n(["delete",[i],o]),a},set(r,i,o,a){const c=!t()&&Reflect.has(r,i),l=Reflect.get(r,i,a);if(c&&(Su(l,o)||Zi.has(o)&&Su(l,Zi.get(o))))return!0;s(i),wd(o)&&(o=sw(o)||o);const d=!Vn.has(o)&&ow(o)?Ke(o):o;return e(i,d),Reflect.set(r,i,d,a),n(["set",[i],o,l]),!0}}),Vn=new WeakMap,_o=new WeakSet,ml=new WeakMap,ca=[1],Zi=new WeakMap;let Su=Object.is,iw=(t,e)=>new Proxy(t,e),ow=nw,aw=Af,cw=rw;function Ke(t={}){if(!wd(t))throw new Error("object required");const e=Zi.get(t);if(e)return e;let s=ca[0];const n=new Set,r=(y,b=++ca[0])=>{s!==b&&(i=s=b,n.forEach(S=>S(y,b)))};let i=s;const o=(y=ca[0])=>(i!==y&&(i=y,c.forEach(([b])=>{const S=b[1](y);S>s&&(s=S)})),s),a=y=>(b,S)=>{const v=[...b];v[1]=[y,...v[1]],r(v,S)},c=new Map,l=(y,b)=>{const S=!_o.has(b)&&Vn.get(b);if(S){if((ya?"production":void 0)!=="production"&&c.has(y))throw new Error("prop listener already exists");if(n.size){const v=S[2](a(y));c.set(y,[S,v])}else c.set(y,[S])}},d=y=>{var b;const S=c.get(y);S&&(c.delete(y),(b=S[1])==null||b.call(S))},u=y=>(n.add(y),n.size===1&&c.forEach(([S,v],C)=>{if((ya?"production":void 0)!=="production"&&v)throw new Error("remove already exists");const R=S[2](a(C));c.set(C,[S,R])}),()=>{n.delete(y),n.size===0&&c.forEach(([S,v],C)=>{v&&(v(),c.set(C,[S]))})});let h=!0;const p=cw(()=>h,l,d,r),m=iw(t,p);Zi.set(t,m);const f=[t,o,u];return Vn.set(m,f),Reflect.ownKeys(t).forEach(y=>{const b=Object.getOwnPropertyDescriptor(t,y);"value"in b&&b.writable&&(m[y]=t[y])}),h=!1,m}function wt(t,e,s){const n=Vn.get(t);(ya?"production":void 0)!=="production"&&!n&&console.warn("Please use proxy object");let r;const i=[],o=n[2];let a=!1;const l=o(d=>{i.push(d),r||(r=Promise.resolve().then(()=>{r=void 0,a&&e(i.splice(0))}))});return a=!0,()=>{a=!1,l()}}function Ji(t){const e=Vn.get(t);(ya?"production":void 0)!=="production"&&!e&&console.warn("Please use proxy object");const[s,n]=e;return aw(s,n())}function Xi(t){return _o.add(t),t}function lw(){return{proxyStateMap:Vn,refSet:_o,snapCache:ml,versionHolder:ca,proxyCache:Zi}}function Et(t,e,s,n){let r=t[e];return wt(t,()=>{const i=t[e];Object.is(r,i)||s(r=i)})}const{proxyStateMap:dw,snapCache:uw}=lw(),Lo=t=>dw.has(t);function hw(t){const e=[];let s=0;const n=new Map,r=new WeakMap,i=()=>{const l=uw.get(a),d=l==null?void 0:l[1];if(d&&!r.has(d)){const u=new Map(n);r.set(d,u)}},o=l=>r.get(l)||n,a={data:e,index:s,epoch:0,get size(){return Lo(this)||i(),o(this).size},get(l){const u=o(this).get(l);if(u===void 0){this.epoch;return}return this.data[u]},has(l){const d=o(this);return this.epoch,d.has(l)},set(l,d){if(!Lo(this))throw new Error("Cannot perform mutations on a snapshot");const u=n.get(l);return u===void 0?(n.set(l,this.index),this.data[this.index++]=d):this.data[u]=d,this.epoch++,this},delete(l){if(!Lo(this))throw new Error("Cannot perform mutations on a snapshot");const d=n.get(l);return d===void 0?!1:(delete this.data[d],n.delete(l),this.epoch++,!0)},clear(){if(!Lo(this))throw new Error("Cannot perform mutations on a snapshot");this.data.length=0,this.index=0,this.epoch++,n.clear()},forEach(l){this.epoch,o(this).forEach((u,h)=>{l(this.data[u],h,this)})},*entries(){this.epoch;const l=o(this);for(const[d,u]of l)yield[d,this.data[u]]},*keys(){this.epoch;const l=o(this);for(const d of l.keys())yield d},*values(){this.epoch;const l=o(this);for(const d of l.values())yield this.data[d]},[Symbol.iterator](){return this.entries()},get[Symbol.toStringTag](){return"Map"},toJSON(){return new Map(this.entries())}},c=Ke(a);return Object.defineProperties(c,{size:{enumerable:!1},index:{enumerable:!1},epoch:{enumerable:!1},data:{enumerable:!1},toJSON:{enumerable:!1}}),Object.seal(c),c}var Iu={};const fc=(typeof fn<"u"&&typeof Iu<"u"?Iu.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org",Sf=[{label:"Meld.io",name:"meld",feeRange:"1-2%",url:"https://meldcrypto.com",supportedChains:["eip155","solana"]}],pw="WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU",Ie={FOUR_MINUTES_MS:24e4,TEN_SEC_MS:1e4,FIVE_SEC_MS:5e3,THREE_SEC_MS:3e3,ONE_SEC_MS:1e3,SECURE_SITE:fc,SECURE_SITE_DASHBOARD:`${fc}/dashboard`,SECURE_SITE_FAVICON:`${fc}/images/favicon.png`,SOLANA_NATIVE_TOKEN_ADDRESS:"So11111111111111111111111111111111111111111",RESTRICTED_TIMEZONES:["ASIA/SHANGHAI","ASIA/URUMQI","ASIA/CHONGQING","ASIA/HARBIN","ASIA/KASHGAR","ASIA/MACAU","ASIA/HONG_KONG","ASIA/MACAO","ASIA/BEIJING","ASIA/HARBIN"],SWAP_SUGGESTED_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP"],SWAP_POPULAR_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP","METAL","DAI","CHAMP","WOLF","SALE","BAL","BUSD","MUST","BTCpx","ROUTE","HEX","WELT","amDAI","VSQ","VISION","AURUM","pSP","SNX","VC","LINK","CHP","amUSDT","SPHERE","FOX","GIDDY","GFC","OMEN","OX_OLD","DE","WNT"],SUGGESTED_TOKENS_BY_CHAIN:{"eip155:42161":["USD₮0"]},BALANCE_SUPPORTED_CHAINS:[U.CHAIN.EVM,U.CHAIN.SOLANA],SEND_PARAMS_SUPPORTED_CHAINS:[U.CHAIN.EVM],SWAP_SUPPORTED_NETWORKS:["eip155:1","eip155:42161","eip155:10","eip155:324","eip155:8453","eip155:56","eip155:137","eip155:100","eip155:43114","eip155:250","eip155:8217","eip155:1313161554"],NAMES_SUPPORTED_CHAIN_NAMESPACES:[U.CHAIN.EVM],ONRAMP_SUPPORTED_CHAIN_NAMESPACES:[U.CHAIN.EVM,U.CHAIN.SOLANA],PAY_WITH_EXCHANGE_SUPPORTED_CHAIN_NAMESPACES:[U.CHAIN.EVM,U.CHAIN.SOLANA],ACTIVITY_ENABLED_CHAIN_NAMESPACES:[U.CHAIN.EVM,U.CHAIN.TON],NATIVE_TOKEN_ADDRESS:{eip155:"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",solana:"So11111111111111111111111111111111111111111",polkadot:"0x",bip122:"0x",cosmos:"0x",sui:"0x",stacks:"0x",ton:"0x"},CONVERT_SLIPPAGE_TOLERANCE:1,CONNECT_LABELS:{MOBILE:"Open and continue in the wallet app",WEB:"Open and continue in the wallet app"},SEND_SUPPORTED_NAMESPACES:[U.CHAIN.EVM,U.CHAIN.SOLANA],DEFAULT_REMOTE_FEATURES:{swaps:["1inch"],onramp:["meld"],email:!0,socials:["google","x","discord","farcaster","github","apple","facebook"],activity:!0,reownBranding:!0,multiWallet:!1,emailCapture:!1,payWithExchange:!1,payments:!1,reownAuthentication:!1,headless:!1},DEFAULT_REMOTE_FEATURES_DISABLED:{email:!1,socials:!1,swaps:!1,onramp:!1,activity:!1,reownBranding:!1,emailCapture:!1,reownAuthentication:!1,headless:!1},DEFAULT_FEATURES:{receive:!0,send:!0,emailShowWallets:!0,connectorTypeOrder:["walletConnect","recent","injected","featured","custom","external","recommended"],analytics:!0,allWallets:!0,legalCheckbox:!1,smartSessions:!1,collapseWallets:!1,walletFeaturesOrder:["onramp","swaps","receive","send"],connectMethodsOrder:void 0,pay:!1,reownAuthentication:!1,headless:!1},DEFAULT_SOCIALS:["google","x","farcaster","discord","apple","github","facebook"],DEFAULT_ACCOUNT_TYPES:{bip122:"payment",eip155:"smartAccount",polkadot:"eoa",solana:"eoa",ton:"eoa"},ADAPTER_TYPES:{UNIVERSAL:"universal",SOLANA:"solana",WAGMI:"wagmi",ETHERS:"ethers",ETHERS5:"ethers5",BITCOIN:"bitcoin"},SIWX_DEFAULTS:{signOutOnDisconnect:!0},MANDATORY_WALLET_IDS_ON_MOBILE:[Mr.ConnectorExplorerIds[U.CONNECTOR_ID.COINBASE],Mr.ConnectorExplorerIds[U.CONNECTOR_ID.COINBASE_SDK],Mr.ConnectorExplorerIds[U.CONNECTOR_ID.BASE_ACCOUNT],Mr.ConnectorExplorerIds[U.SOLFLARE_CONNECTOR_NAME],Mr.ConnectorExplorerIds[U.PHANTOM_CONNECTOR_NAME],Mr.ConnectorExplorerIds[U.BINANCE_CONNECTOR_NAME]],DEFAULT_CONNECT_METHOD_ORDER:["email","social","wallet"]},M={cacheExpiry:{portfolio:3e4,nativeBalance:3e4,ens:3e5,identity:3e5,transactionsHistory:15e3,tokenPrice:15e3,latestAppKitVersion:6048e5,tonWallets:864e5},isCacheExpired(t,e){return Date.now()-t>e},getActiveNetworkProps(){const t=M.getActiveNamespace(),e=M.getActiveCaipNetworkId(),s=e?e.split(":")[1]:void 0,n=s?isNaN(Number(s))?s:Number(s):void 0;return{namespace:t,caipNetworkId:e,chainId:n}},setWalletConnectDeepLink({name:t,href:e}){try{ie.setItem(ae.DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info("Unable to set WalletConnect deep link")}},getWalletConnectDeepLink(){try{const t=ie.getItem(ae.DEEPLINK_CHOICE);if(t)return JSON.parse(t)}catch{console.info("Unable to get WalletConnect deep link")}},deleteWalletConnectDeepLink(){try{ie.removeItem(ae.DEEPLINK_CHOICE)}catch{console.info("Unable to delete WalletConnect deep link")}},setActiveNamespace(t){try{ie.setItem(ae.ACTIVE_NAMESPACE,t)}catch{console.info("Unable to set active namespace")}},setActiveCaipNetworkId(t){try{ie.setItem(ae.ACTIVE_CAIP_NETWORK_ID,t),M.setActiveNamespace(t.split(":")[0])}catch{console.info("Unable to set active caip network id")}},getActiveCaipNetworkId(){try{return ie.getItem(ae.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to get active caip network id");return}},deleteActiveCaipNetworkId(){try{ie.removeItem(ae.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to delete active caip network id")}},deleteConnectedConnectorId(t){try{const e=pc(t);ie.removeItem(e)}catch{console.info("Unable to delete connected connector id")}},setAppKitRecent(t){try{const e=M.getRecentWallets();e.find(n=>n.id===t.id)||(e.unshift(t),e.length>2&&e.pop(),ie.setItem(ae.RECENT_WALLETS,JSON.stringify(e)),ie.setItem(ae.RECENT_WALLET,JSON.stringify(t)))}catch{console.info("Unable to set AppKit recent")}},getRecentWallets(){try{const t=ie.getItem(ae.RECENT_WALLETS);return t?JSON.parse(t):[]}catch{console.info("Unable to get AppKit recent")}return[]},getRecentWallet(){try{const t=ie.getItem(ae.RECENT_WALLET);return t?JSON.parse(t):null}catch{console.info("Unable to get AppKit recent")}return null},deleteRecentWallet(){try{ie.removeItem(ae.RECENT_WALLET)}catch{console.info("Unable to delete AppKit recent")}},setConnectedConnectorId(t,e){try{const s=pc(t);ie.setItem(s,e)}catch{console.info("Unable to set Connected Connector Id")}},getActiveNamespace(){try{return ie.getItem(ae.ACTIVE_NAMESPACE)}catch{console.info("Unable to get active namespace")}},getConnectedConnectorId(t){if(t)try{const e=pc(t);return ie.getItem(e)}catch{console.info("Unable to get connected connector id in namespace",t)}},setConnectedSocialProvider(t){try{ie.setItem(ae.CONNECTED_SOCIAL,t)}catch{console.info("Unable to set connected social provider")}},getConnectedSocialProvider(){try{return ie.getItem(ae.CONNECTED_SOCIAL)}catch{console.info("Unable to get connected social provider")}},deleteConnectedSocialProvider(){try{ie.removeItem(ae.CONNECTED_SOCIAL)}catch{console.info("Unable to delete connected social provider")}},getConnectedSocialUsername(){try{return ie.getItem(ae.CONNECTED_SOCIAL_USERNAME)}catch{console.info("Unable to get connected social username")}},getStoredActiveCaipNetworkId(){var s;const t=ie.getItem(ae.ACTIVE_CAIP_NETWORK_ID);return(s=t==null?void 0:t.split(":"))==null?void 0:s[1]},setConnectionStatus(t){try{ie.setItem(ae.CONNECTION_STATUS,t)}catch{console.info("Unable to set connection status")}},getConnectionStatus(){try{return ie.getItem(ae.CONNECTION_STATUS)}catch{return}},getConnectedNamespaces(){try{const t=ie.getItem(ae.CONNECTED_NAMESPACES);return t!=null&&t.length?t.split(","):[]}catch{return[]}},setConnectedNamespaces(t){try{const e=Array.from(new Set(t));ie.setItem(ae.CONNECTED_NAMESPACES,e.join(","))}catch{console.info("Unable to set namespaces in storage")}},addConnectedNamespace(t){try{const e=M.getConnectedNamespaces();e.includes(t)||(e.push(t),M.setConnectedNamespaces(e))}catch{console.info("Unable to add connected namespace")}},removeConnectedNamespace(t){try{const e=M.getConnectedNamespaces(),s=e.indexOf(t);s>-1&&(e.splice(s,1),M.setConnectedNamespaces(e))}catch{console.info("Unable to remove connected namespace")}},getTelegramSocialProvider(){try{return ie.getItem(ae.TELEGRAM_SOCIAL_PROVIDER)}catch{return console.info("Unable to get telegram social provider"),null}},setTelegramSocialProvider(t){try{ie.setItem(ae.TELEGRAM_SOCIAL_PROVIDER,t)}catch{console.info("Unable to set telegram social provider")}},removeTelegramSocialProvider(){try{ie.removeItem(ae.TELEGRAM_SOCIAL_PROVIDER)}catch{console.info("Unable to remove telegram social provider")}},getBalanceCache(){let t={};try{const e=ie.getItem(ae.PORTFOLIO_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromBalanceCache(t){try{const e=M.getBalanceCache();ie.setItem(ae.PORTFOLIO_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getBalanceCacheForCaipAddress(t){try{const s=M.getBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.portfolio))return s.balance;M.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateBalanceCache(t){try{const e=M.getBalanceCache();e[t.caipAddress]=t,ie.setItem(ae.PORTFOLIO_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getNativeBalanceCache(){let t={};try{const e=ie.getItem(ae.NATIVE_BALANCE_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromNativeBalanceCache(t){try{const e=M.getBalanceCache();ie.setItem(ae.NATIVE_BALANCE_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getNativeBalanceCacheForCaipAddress(t){try{const s=M.getNativeBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.nativeBalance))return s;console.info("Discarding cache for address",t),M.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateNativeBalanceCache(t){try{const e=M.getNativeBalanceCache();e[t.caipAddress]=t,ie.setItem(ae.NATIVE_BALANCE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getEnsCache(){let t={};try{const e=ie.getItem(ae.ENS_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get ens name cache")}return t},getEnsFromCacheForAddress(t){try{const s=M.getEnsCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.ens))return s.ens;M.removeEnsFromCache(t)}catch{console.info("Unable to get ens name from cache",t)}},updateEnsCache(t){try{const e=M.getEnsCache();e[t.address]=t,ie.setItem(ae.ENS_CACHE,JSON.stringify(e))}catch{console.info("Unable to update ens name cache",t)}},removeEnsFromCache(t){try{const e=M.getEnsCache();ie.setItem(ae.ENS_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove ens name from cache",t)}},getIdentityCache(){let t={};try{const e=ie.getItem(ae.IDENTITY_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get identity cache")}return t},getIdentityFromCacheForAddress(t){try{const s=M.getIdentityCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.identity))return s.identity;M.removeIdentityFromCache(t)}catch{console.info("Unable to get identity from cache",t)}},updateIdentityCache(t){try{const e=M.getIdentityCache();e[t.address]={identity:t.identity,timestamp:t.timestamp},ie.setItem(ae.IDENTITY_CACHE,JSON.stringify(e))}catch{console.info("Unable to update identity cache",t)}},removeIdentityFromCache(t){try{const e=M.getIdentityCache();ie.setItem(ae.IDENTITY_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove identity from cache",t)}},getTonWalletsCache(){try{const t=ie.getItem(ae.TON_WALLETS_CACHE),e=t?JSON.parse(t):void 0;if(e&&!this.isCacheExpired(e.timestamp,this.cacheExpiry.tonWallets))return e;M.removeTonWalletsCache()}catch{console.info("Unable to get ton wallets cache")}},updateTonWalletsCache(t){try{const e=M.getTonWalletsCache()||{timestamp:0,wallets:[]};e.timestamp=new Date().getTime(),e.wallets=t,ie.setItem(ae.TON_WALLETS_CACHE,JSON.stringify(e))}catch{console.info("Unable to update ton wallets cache",t)}},removeTonWalletsCache(){try{ie.removeItem(ae.TON_WALLETS_CACHE)}catch{console.info("Unable to remove ton wallets cache")}},clearAddressCache(){try{ie.removeItem(ae.PORTFOLIO_CACHE),ie.removeItem(ae.NATIVE_BALANCE_CACHE),ie.removeItem(ae.ENS_CACHE),ie.removeItem(ae.IDENTITY_CACHE),ie.removeItem(ae.HISTORY_TRANSACTIONS_CACHE)}catch{console.info("Unable to clear address cache")}},setPreferredAccountTypes(t){try{ie.setItem(ae.PREFERRED_ACCOUNT_TYPES,JSON.stringify(t))}catch{console.info("Unable to set preferred account types",t)}},getPreferredAccountTypes(){try{const t=ie.getItem(ae.PREFERRED_ACCOUNT_TYPES);return t?JSON.parse(t):{}}catch{console.info("Unable to get preferred account types")}return{}},setConnections(t,e){try{const s=M.getConnections(),n=s[e]??[],r=new Map;for(const o of n)r.set(o.connectorId,{...o});for(const o of t){const a=r.get(o.connectorId),c=o.connectorId===U.CONNECTOR_ID.AUTH;if(a&&!c){const l=new Set(a.accounts.map(u=>u.address.toLowerCase())),d=o.accounts.filter(u=>!l.has(u.address.toLowerCase()));a.accounts.push(...d)}else r.set(o.connectorId,{...o})}const i={...s,[e]:Array.from(r.values())};ie.setItem(ae.CONNECTIONS,JSON.stringify(i))}catch(s){console.error("Unable to sync connections to storage",s)}},getConnections(){try{const t=ie.getItem(ae.CONNECTIONS);return t?JSON.parse(t):{}}catch(t){return console.error("Unable to get connections from storage",t),{}}},deleteAddressFromConnection({connectorId:t,address:e,namespace:s}){try{const n=M.getConnections(),r=n[s]??[],i=new Map(r.map(a=>[a.connectorId,a])),o=i.get(t);o&&(o.accounts.filter(c=>c.address.toLowerCase()!==e.toLowerCase()).length===0?i.delete(t):i.set(t,{...o,accounts:o.accounts.filter(c=>c.address.toLowerCase()!==e.toLowerCase())})),ie.setItem(ae.CONNECTIONS,JSON.stringify({...n,[s]:Array.from(i.values())}))}catch{console.error(`Unable to remove address "${e}" from connector "${t}" in namespace "${s}"`)}},getDisconnectedConnectorIds(){try{const t=ie.getItem(ae.DISCONNECTED_CONNECTOR_IDS);return t?JSON.parse(t):{}}catch{console.info("Unable to get disconnected connector ids")}return{}},addDisconnectedConnectorId(t,e){try{const s=M.getDisconnectedConnectorIds(),n=s[e]??[];n.push(t),ie.setItem(ae.DISCONNECTED_CONNECTOR_IDS,JSON.stringify({...s,[e]:Array.from(new Set(n))}))}catch{console.error(`Unable to set disconnected connector id "${t}" for namespace "${e}"`)}},removeDisconnectedConnectorId(t,e){try{const s=M.getDisconnectedConnectorIds();let n=s[e]??[];n=n.filter(r=>r.toLowerCase()!==t.toLowerCase()),ie.setItem(ae.DISCONNECTED_CONNECTOR_IDS,JSON.stringify({...s,[e]:Array.from(new Set(n))}))}catch{console.error(`Unable to remove disconnected connector id "${t}" for namespace "${e}"`)}},isConnectorDisconnected(t,e){try{return(M.getDisconnectedConnectorIds()[e]??[]).some(r=>r.toLowerCase()===t.toLowerCase())}catch{console.info(`Unable to get disconnected connector id "${t}" for namespace "${e}"`)}return!1},getTransactionsCache(){try{const t=ie.getItem(ae.HISTORY_TRANSACTIONS_CACHE);return t?JSON.parse(t):{}}catch{console.info("Unable to get transactions cache")}return{}},getTransactionsCacheForAddress({address:t,chainId:e=""}){var s;try{const r=(s=M.getTransactionsCache()[t])==null?void 0:s[e];if(r&&!this.isCacheExpired(r.timestamp,this.cacheExpiry.transactionsHistory))return r.transactions;M.removeTransactionsCache({address:t,chainId:e})}catch{console.info("Unable to get transactions cache")}},updateTransactionsCache({address:t,chainId:e="",timestamp:s,transactions:n}){try{const r=M.getTransactionsCache();r[t]={...r[t],[e]:{timestamp:s,transactions:n}},ie.setItem(ae.HISTORY_TRANSACTIONS_CACHE,JSON.stringify(r))}catch{console.info("Unable to update transactions cache",{address:t,chainId:e,timestamp:s,transactions:n})}},removeTransactionsCache({address:t,chainId:e}){try{const s=M.getTransactionsCache(),n=(s==null?void 0:s[t])||{},{[e]:r,...i}=n;ie.setItem(ae.HISTORY_TRANSACTIONS_CACHE,JSON.stringify({...s,[t]:i}))}catch{console.info("Unable to remove transactions cache",{address:t,chainId:e})}},getTokenPriceCache(){try{const t=ie.getItem(ae.TOKEN_PRICE_CACHE);return t?JSON.parse(t):{}}catch{console.info("Unable to get token price cache")}return{}},getTokenPriceCacheForAddresses(t){try{const s=M.getTokenPriceCache()[t.join(",")];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.tokenPrice))return s.tokenPrice;M.removeTokenPriceCache(t)}catch{console.info("Unable to get token price cache for addresses",t)}},updateTokenPriceCache(t){try{const e=M.getTokenPriceCache();e[t.addresses.join(",")]={timestamp:t.timestamp,tokenPrice:t.tokenPrice},ie.setItem(ae.TOKEN_PRICE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update token price cache",t)}},removeTokenPriceCache(t){try{const e=M.getTokenPriceCache();ie.setItem(ae.TOKEN_PRICE_CACHE,JSON.stringify({...e,[t.join(",")]:void 0}))}catch{console.info("Unable to remove token price cache",t)}},getLatestAppKitVersion(){try{const t=this.getLatestAppKitVersionCache(),e=t==null?void 0:t.version;return e&&!this.isCacheExpired(t.timestamp,this.cacheExpiry.latestAppKitVersion)?e:void 0}catch{console.info("Unable to get latest AppKit version")}},getLatestAppKitVersionCache(){try{const t=ie.getItem(ae.LATEST_APPKIT_VERSION);return t?JSON.parse(t):{}}catch{console.info("Unable to get latest AppKit version cache")}return{}},updateLatestAppKitVersion(t){try{const e=M.getLatestAppKitVersionCache();e.timestamp=t.timestamp,e.version=t.version,ie.setItem(ae.LATEST_APPKIT_VERSION,JSON.stringify(e))}catch{console.info("Unable to update latest AppKit version on local storage",t)}}},Z={getWindow(){if(!(typeof window>"u"))return window},isMobile(){var t;return this.isClient()?!!(window!=null&&window.matchMedia&&typeof window.matchMedia=="function"&&((t=window.matchMedia("(pointer:coarse)"))!=null&&t.matches)||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1},checkCaipNetwork(t,e=""){return t==null?void 0:t.caipNetworkId.toLocaleLowerCase().includes(e.toLowerCase())},isAndroid(){if(!this.isMobile())return!1;const t=window==null?void 0:window.navigator.userAgent.toLowerCase();return Z.isMobile()&&t.includes("android")},isIos(){if(!this.isMobile())return!1;const t=window==null?void 0:window.navigator.userAgent.toLowerCase();return t.includes("iphone")||t.includes("ipad")},isSafari(){return this.isClient()?(window==null?void 0:window.navigator.userAgent.toLowerCase()).includes("safari"):!1},isClient(){return typeof window<"u"},isPairingExpired(t){return t?t-Date.now()<=Ie.TEN_SEC_MS:!0},isAllowedRetry(t,e=Ie.ONE_SEC_MS){return Date.now()-t>=e},copyToClopboard(t){navigator.clipboard.writeText(t)},isIframe(){try{return(window==null?void 0:window.self)!==(window==null?void 0:window.top)}catch{return!1}},isSafeApp(){var t,e;if(Z.isClient()&&window.self!==window.top)try{const s=(e=(t=window==null?void 0:window.location)==null?void 0:t.ancestorOrigins)==null?void 0:e[0],n="https://app.safe.global";if(s){const r=new URL(s),i=new URL(n);return r.hostname===i.hostname}}catch{return!1}return!1},getPairingExpiry(){return Date.now()+Ie.FOUR_MINUTES_MS},getNetworkId(t){return t==null?void 0:t.split(":")[1]},getPlainAddress(t){return t==null?void 0:t.split(":")[2]},async wait(t){return new Promise(e=>{setTimeout(e,t)})},debounce(t,e=500){let s;return(...n)=>{function r(){t(...n)}s&&clearTimeout(s),s=setTimeout(r,e)}},isHttpUrl(t){return t.startsWith("http://")||t.startsWith("https://")},formatNativeUrl(t,e,s=null){if(Z.isHttpUrl(t))return this.formatUniversalUrl(t,e);let n=t,r=s;n.includes("://")||(n=t.replaceAll("/","").replaceAll(":",""),n=`${n}://`),n.endsWith("/")||(n=`${n}/`),r&&!(r!=null&&r.endsWith("/"))&&(r=`${r}/`),this.isTelegram()&&this.isAndroid()&&(e=encodeURIComponent(e));const i=encodeURIComponent(e);return{redirect:`${n}wc?uri=${i}`,redirectUniversalLink:r?`${r}wc?uri=${i}`:void 0,href:n}},formatUniversalUrl(t,e){if(!Z.isHttpUrl(t))return this.formatNativeUrl(t,e);let s=t;s.endsWith("/")||(s=`${s}/`);const n=encodeURIComponent(e);return{redirect:`${s}wc?uri=${n}`,href:s}},getOpenTargetForPlatform(t){return t==="popupWindow"?t:this.isTelegram()?M.getTelegramSocialProvider()?"_top":"_blank":t},openHref(t,e,s){window==null||window.open(t,this.getOpenTargetForPlatform(e),s||"noreferrer noopener")},returnOpenHref(t,e,s){return window==null?void 0:window.open(t,this.getOpenTargetForPlatform(e),s||"noreferrer noopener")},isTelegram(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)},isPWA(){var s,n;if(typeof window>"u")return!1;const t=window!=null&&window.matchMedia&&typeof window.matchMedia=="function"?(s=window.matchMedia("(display-mode: standalone)"))==null?void 0:s.matches:!1,e=(n=window==null?void 0:window.navigator)==null?void 0:n.standalone;return!!(t||e)},async preloadImage(t){const e=new Promise((s,n)=>{const r=new Image;r.onload=s,r.onerror=n,r.crossOrigin="anonymous",r.src=t});return Promise.race([e,Z.wait(2e3)])},parseBalance(t,e){let s="0.000";if(typeof t=="string"){const c=Number(t);if(!isNaN(c)){const l=(Math.floor(c*1e3)/1e3).toFixed(3);l&&(s=l)}}const[n,r]=s.split("."),i=n||"0",o=r||"000";return{formattedText:`${i}.${o}${e?` ${e}`:""}`,value:i,decimals:o,symbol:e}},getApiUrl(){return U.W3M_API_URL},getBlockchainApiUrl(){return U.BLOCKCHAIN_API_RPC_URL},getAnalyticsUrl(){return U.PULSE_API_URL},getUUID(){return crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})},parseError(t){var e,s;return typeof t=="string"?t:typeof((s=(e=t==null?void 0:t.issues)==null?void 0:e[0])==null?void 0:s.message)=="string"?t.issues[0].message:t instanceof Error?t.message:"Unknown error"},sortRequestedNetworks(t,e=[]){const s={};return e&&t&&(t.forEach((n,r)=>{s[n]=r}),e.sort((n,r)=>{const i=s[n.id],o=s[r.id];return i!==void 0&&o!==void 0?i-o:i!==void 0?-1:o!==void 0?1:0})),e},calculateBalance(t){let e=0;for(const s of t)e+=s.value??0;return e},formatTokenBalance(t){const e=t.toFixed(2),[s,n]=e.split(".");return{dollars:s,pennies:n}},isAddress(t,e="eip155"){switch(e){case"eip155":if(/^(?:0x)?[0-9a-f]{40}$/iu.test(t)){if(/^(?:0x)?[0-9a-f]{40}$/iu.test(t)||/^(?:0x)?[0-9A-F]{40}$/iu.test(t))return!0}else return!1;return!1;case"solana":return/[1-9A-HJ-NP-Za-km-z]{32,44}$/iu.test(t);default:return!1}},uniqueBy(t,e){const s=new Set;return t.filter(n=>{const r=n[e];return s.has(r)?!1:(s.add(r),!0)})},generateSdkVersion(t,e,s){const r=t.length===0?Ie.ADAPTER_TYPES.UNIVERSAL:t.map(i=>i.adapterType).join(",");return`${e}-${r}-${s}`},createAccount(t,e,s,n,r){return{namespace:t,address:e,type:s,publicKey:n,path:r}},isCaipAddress(t){if(typeof t!="string")return!1;const e=t.split(":"),s=e[0];return e.filter(Boolean).length===3&&s in U.CHAIN_NAME_MAP},getAccount(t){return t?typeof t=="string"?{address:t,chainId:void 0}:{address:t.address,chainId:t.chainId}:{address:void 0,chainId:void 0}},isMac(){const t=window==null?void 0:window.navigator.userAgent.toLowerCase();return t.includes("macintosh")&&!t.includes("safari")},formatTelegramSocialLoginUrl(t){const e=`--${encodeURIComponent(window==null?void 0:window.location.href)}`,s="state=";if(new URL(t).host==="auth.magic.link"){const r="provider_authorization_url=",i=t.substring(t.indexOf(r)+r.length),o=this.injectIntoUrl(decodeURIComponent(i),s,e);return t.replace(i,encodeURIComponent(o))}return this.injectIntoUrl(t,s,e)},injectIntoUrl(t,e,s){const n=t.indexOf(e);if(n===-1)throw new Error(`${e} parameter not found in the URL: ${t}`);const r=t.indexOf("&",n),i=e.length,o=r!==-1?r:t.length,a=t.substring(0,n+i),c=t.substring(n+i,o),l=t.substring(r),d=c+s;return a+d+l}};var li={};const fw="https://secure.walletconnect.org/sdk",gw=(typeof fn<"u"&&typeof li<"u"?li.NEXT_PUBLIC_SECURE_SITE_SDK_URL:void 0)||fw,mw=(typeof fn<"u"&&typeof li<"u"?li.NEXT_PUBLIC_DEFAULT_LOG_LEVEL:void 0)||"error",yw=(typeof fn<"u"&&typeof li<"u"?li.NEXT_PUBLIC_SECURE_SITE_SDK_VERSION:void 0)||"4",re={APP_EVENT_KEY:"@w3m-app/",FRAME_EVENT_KEY:"@w3m-frame/",RPC_METHOD_KEY:"RPC_",STORAGE_KEY:"@appkit-wallet/",SESSION_TOKEN_KEY:"SESSION_TOKEN_KEY",EMAIL_LOGIN_USED_KEY:"EMAIL_LOGIN_USED_KEY",LAST_USED_CHAIN_KEY:"LAST_USED_CHAIN_KEY",LAST_EMAIL_LOGIN_TIME:"LAST_EMAIL_LOGIN_TIME",EMAIL:"EMAIL",PREFERRED_ACCOUNT_TYPE:"PREFERRED_ACCOUNT_TYPE",SMART_ACCOUNT_ENABLED:"SMART_ACCOUNT_ENABLED",SMART_ACCOUNT_ENABLED_NETWORKS:"SMART_ACCOUNT_ENABLED_NETWORKS",SOCIAL_USERNAME:"SOCIAL_USERNAME",APP_SWITCH_NETWORK:"@w3m-app/SWITCH_NETWORK",APP_CONNECT_EMAIL:"@w3m-app/CONNECT_EMAIL",APP_CONNECT_DEVICE:"@w3m-app/CONNECT_DEVICE",APP_CONNECT_OTP:"@w3m-app/CONNECT_OTP",APP_CONNECT_SOCIAL:"@w3m-app/CONNECT_SOCIAL",APP_GET_SOCIAL_REDIRECT_URI:"@w3m-app/GET_SOCIAL_REDIRECT_URI",APP_GET_USER:"@w3m-app/GET_USER",APP_SIGN_OUT:"@w3m-app/SIGN_OUT",APP_IS_CONNECTED:"@w3m-app/IS_CONNECTED",APP_GET_CHAIN_ID:"@w3m-app/GET_CHAIN_ID",APP_RPC_REQUEST:"@w3m-app/RPC_REQUEST",APP_UPDATE_EMAIL:"@w3m-app/UPDATE_EMAIL",APP_UPDATE_EMAIL_PRIMARY_OTP:"@w3m-app/UPDATE_EMAIL_PRIMARY_OTP",APP_UPDATE_EMAIL_SECONDARY_OTP:"@w3m-app/UPDATE_EMAIL_SECONDARY_OTP",APP_AWAIT_UPDATE_EMAIL:"@w3m-app/AWAIT_UPDATE_EMAIL",APP_SYNC_THEME:"@w3m-app/SYNC_THEME",APP_SYNC_DAPP_DATA:"@w3m-app/SYNC_DAPP_DATA",APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS:"@w3m-app/GET_SMART_ACCOUNT_ENABLED_NETWORKS",APP_INIT_SMART_ACCOUNT:"@w3m-app/INIT_SMART_ACCOUNT",APP_SET_PREFERRED_ACCOUNT:"@w3m-app/SET_PREFERRED_ACCOUNT",APP_CONNECT_FARCASTER:"@w3m-app/CONNECT_FARCASTER",APP_GET_FARCASTER_URI:"@w3m-app/GET_FARCASTER_URI",APP_RELOAD:"@w3m-app/RELOAD",APP_RPC_ABORT:"@w3m-app/RPC_ABORT",FRAME_SWITCH_NETWORK_ERROR:"@w3m-frame/SWITCH_NETWORK_ERROR",FRAME_SWITCH_NETWORK_SUCCESS:"@w3m-frame/SWITCH_NETWORK_SUCCESS",FRAME_CONNECT_EMAIL_ERROR:"@w3m-frame/CONNECT_EMAIL_ERROR",FRAME_CONNECT_EMAIL_SUCCESS:"@w3m-frame/CONNECT_EMAIL_SUCCESS",FRAME_CONNECT_DEVICE_ERROR:"@w3m-frame/CONNECT_DEVICE_ERROR",FRAME_CONNECT_DEVICE_SUCCESS:"@w3m-frame/CONNECT_DEVICE_SUCCESS",FRAME_CONNECT_OTP_SUCCESS:"@w3m-frame/CONNECT_OTP_SUCCESS",FRAME_CONNECT_OTP_ERROR:"@w3m-frame/CONNECT_OTP_ERROR",FRAME_CONNECT_SOCIAL_SUCCESS:"@w3m-frame/CONNECT_SOCIAL_SUCCESS",FRAME_CONNECT_SOCIAL_ERROR:"@w3m-frame/CONNECT_SOCIAL_ERROR",FRAME_CONNECT_FARCASTER_SUCCESS:"@w3m-frame/CONNECT_FARCASTER_SUCCESS",FRAME_CONNECT_FARCASTER_ERROR:"@w3m-frame/CONNECT_FARCASTER_ERROR",FRAME_GET_FARCASTER_URI_SUCCESS:"@w3m-frame/GET_FARCASTER_URI_SUCCESS",FRAME_GET_FARCASTER_URI_ERROR:"@w3m-frame/GET_FARCASTER_URI_ERROR",FRAME_GET_SOCIAL_REDIRECT_URI_SUCCESS:"@w3m-frame/GET_SOCIAL_REDIRECT_URI_SUCCESS",FRAME_GET_SOCIAL_REDIRECT_URI_ERROR:"@w3m-frame/GET_SOCIAL_REDIRECT_URI_ERROR",FRAME_GET_USER_SUCCESS:"@w3m-frame/GET_USER_SUCCESS",FRAME_GET_USER_ERROR:"@w3m-frame/GET_USER_ERROR",FRAME_SIGN_OUT_SUCCESS:"@w3m-frame/SIGN_OUT_SUCCESS",FRAME_SIGN_OUT_ERROR:"@w3m-frame/SIGN_OUT_ERROR",FRAME_IS_CONNECTED_SUCCESS:"@w3m-frame/IS_CONNECTED_SUCCESS",FRAME_IS_CONNECTED_ERROR:"@w3m-frame/IS_CONNECTED_ERROR",FRAME_GET_CHAIN_ID_SUCCESS:"@w3m-frame/GET_CHAIN_ID_SUCCESS",FRAME_GET_CHAIN_ID_ERROR:"@w3m-frame/GET_CHAIN_ID_ERROR",FRAME_RPC_REQUEST_SUCCESS:"@w3m-frame/RPC_REQUEST_SUCCESS",FRAME_RPC_REQUEST_ERROR:"@w3m-frame/RPC_REQUEST_ERROR",FRAME_SESSION_UPDATE:"@w3m-frame/SESSION_UPDATE",FRAME_UPDATE_EMAIL_SUCCESS:"@w3m-frame/UPDATE_EMAIL_SUCCESS",FRAME_UPDATE_EMAIL_ERROR:"@w3m-frame/UPDATE_EMAIL_ERROR",FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS:"@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_SUCCESS",FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR:"@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_ERROR",FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS:"@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_SUCCESS",FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR:"@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_ERROR",FRAME_SYNC_THEME_SUCCESS:"@w3m-frame/SYNC_THEME_SUCCESS",FRAME_SYNC_THEME_ERROR:"@w3m-frame/SYNC_THEME_ERROR",FRAME_SYNC_DAPP_DATA_SUCCESS:"@w3m-frame/SYNC_DAPP_DATA_SUCCESS",FRAME_SYNC_DAPP_DATA_ERROR:"@w3m-frame/SYNC_DAPP_DATA_ERROR",FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS:"@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS",FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR:"@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR",FRAME_INIT_SMART_ACCOUNT_SUCCESS:"@w3m-frame/INIT_SMART_ACCOUNT_SUCCESS",FRAME_INIT_SMART_ACCOUNT_ERROR:"@w3m-frame/INIT_SMART_ACCOUNT_ERROR",FRAME_SET_PREFERRED_ACCOUNT_SUCCESS:"@w3m-frame/SET_PREFERRED_ACCOUNT_SUCCESS",FRAME_SET_PREFERRED_ACCOUNT_ERROR:"@w3m-frame/SET_PREFERRED_ACCOUNT_ERROR",FRAME_READY:"@w3m-frame/READY",FRAME_RELOAD_SUCCESS:"@w3m-frame/RELOAD_SUCCESS",FRAME_RELOAD_ERROR:"@w3m-frame/RELOAD_ERROR",FRAME_RPC_ABORT_SUCCESS:"@w3m-frame/RPC_ABORT_SUCCESS",FRAME_RPC_ABORT_ERROR:"@w3m-frame/RPC_ABORT_ERROR",RPC_RESPONSE_TYPE_ERROR:"RPC_RESPONSE_ERROR",RPC_RESPONSE_TYPE_TX:"RPC_RESPONSE_TRANSACTION_HASH",RPC_RESPONSE_TYPE_OBJECT:"RPC_RESPONSE_OBJECT"},et={SAFE_RPC_METHODS:["eth_accounts","eth_blockNumber","eth_call","eth_chainId","eth_estimateGas","eth_feeHistory","eth_gasPrice","eth_getAccount","eth_getBalance","eth_getBlockByHash","eth_getBlockByNumber","eth_getBlockReceipts","eth_getBlockTransactionCountByHash","eth_getBlockTransactionCountByNumber","eth_getCode","eth_getFilterChanges","eth_getFilterLogs","eth_getLogs","eth_getProof","eth_getStorageAt","eth_getTransactionByBlockHashAndIndex","eth_getTransactionByBlockNumberAndIndex","eth_getTransactionByHash","eth_getTransactionCount","eth_getTransactionReceipt","eth_getUncleCountByBlockHash","eth_getUncleCountByBlockNumber","eth_maxPriorityFeePerGas","eth_newBlockFilter","eth_newFilter","eth_newPendingTransactionFilter","eth_sendRawTransaction","eth_syncing","eth_uninstallFilter","wallet_getCapabilities","wallet_getCallsStatus","eth_getUserOperationReceipt","eth_estimateUserOperationGas","eth_getUserOperationByHash","eth_supportedEntryPoints","wallet_getAssets"],NOT_SAFE_RPC_METHODS:["personal_sign","eth_signTypedData_v4","eth_sendTransaction","solana_signMessage","solana_signTransaction","solana_signAllTransactions","solana_signAndSendTransaction","wallet_sendCalls","wallet_grantPermissions","wallet_revokePermissions","eth_sendUserOperation"],GET_CHAIN_ID:"eth_chainId",RPC_METHOD_NOT_ALLOWED_MESSAGE:"Requested RPC call is not allowed",RPC_METHOD_NOT_ALLOWED_UI_MESSAGE:"Action not allowed",ACCOUNT_TYPES:{EOA:"eoa",SMART_ACCOUNT:"smartAccount"}},Nu={transactionHash:/^0x(?:[A-Fa-f0-9]{64})$/u,signedMessage:/^0x(?:[a-fA-F0-9]{62,})$/u},at={set(t,e){is.isClient&&localStorage.setItem(`${re.STORAGE_KEY}${t}`,e)},get(t){return is.isClient?localStorage.getItem(`${re.STORAGE_KEY}${t}`):null},delete(t,e){is.isClient&&(e?localStorage.removeItem(t):localStorage.removeItem(`${re.STORAGE_KEY}${t}`))}},Mo=30*1e3,is={checkIfAllowedToTriggerEmail(){const t=at.get(re.LAST_EMAIL_LOGIN_TIME);if(t){const e=Date.now()-Number(t);if(e<Mo){const s=Math.ceil((Mo-e)/1e3);throw new Error(`Please try again after ${s} seconds`)}}},getTimeToNextEmailLogin(){const t=at.get(re.LAST_EMAIL_LOGIN_TIME);if(t){const e=Date.now()-Number(t);if(e<Mo)return Math.ceil((Mo-e)/1e3)}return 0},checkIfRequestExists(t){return et.NOT_SAFE_RPC_METHODS.includes(t.method)||et.SAFE_RPC_METHODS.includes(t.method)},getResponseType(t){return typeof t=="string"&&((t==null?void 0:t.match(Nu.transactionHash))||(t==null?void 0:t.match(Nu.signedMessage)))?re.RPC_RESPONSE_TYPE_TX:re.RPC_RESPONSE_TYPE_OBJECT},checkIfRequestIsSafe(t){return et.SAFE_RPC_METHODS.includes(t.method)},isClient:typeof window<"u"};var De;(function(t){t.assertEqual=r=>r;function e(r){}t.assertIs=e;function s(r){throw new Error}t.assertNever=s,t.arrayToEnum=r=>{const i={};for(const o of r)i[o]=o;return i},t.getValidEnumValues=r=>{const i=t.objectKeys(r).filter(a=>typeof r[r[a]]!="number"),o={};for(const a of i)o[a]=r[a];return t.objectValues(o)},t.objectValues=r=>t.objectKeys(r).map(function(i){return r[i]}),t.objectKeys=typeof Object.keys=="function"?r=>Object.keys(r):r=>{const i=[];for(const o in r)Object.prototype.hasOwnProperty.call(r,o)&&i.push(o);return i},t.find=(r,i)=>{for(const o of r)if(i(o))return o},t.isInteger=typeof Number.isInteger=="function"?r=>Number.isInteger(r):r=>typeof r=="number"&&isFinite(r)&&Math.floor(r)===r;function n(r,i=" | "){return r.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}t.joinValues=n,t.jsonStringifyReplacer=(r,i)=>typeof i=="bigint"?i.toString():i})(De||(De={}));var yl;(function(t){t.mergeShapes=(e,s)=>({...e,...s})})(yl||(yl={}));const ee=De.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Un=t=>{switch(typeof t){case"undefined":return ee.undefined;case"string":return ee.string;case"number":return isNaN(t)?ee.nan:ee.number;case"boolean":return ee.boolean;case"function":return ee.function;case"bigint":return ee.bigint;case"symbol":return ee.symbol;case"object":return Array.isArray(t)?ee.array:t===null?ee.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?ee.promise:typeof Map<"u"&&t instanceof Map?ee.map:typeof Set<"u"&&t instanceof Set?ee.set:typeof Date<"u"&&t instanceof Date?ee.date:ee.object;default:return ee.unknown}},V=De.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),ww=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");class Ps extends Error{constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const s=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,s):this.__proto__=s,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const s=e||function(i){return i.message},n={_errors:[]},r=i=>{for(const o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(r);else if(o.code==="invalid_return_type")r(o.returnTypeError);else if(o.code==="invalid_arguments")r(o.argumentsError);else if(o.path.length===0)n._errors.push(s(o));else{let a=n,c=0;for(;c<o.path.length;){const l=o.path[c];c===o.path.length-1?(a[l]=a[l]||{_errors:[]},a[l]._errors.push(s(o))):a[l]=a[l]||{_errors:[]},a=a[l],c++}}};return r(this),n}toString(){return this.message}get message(){return JSON.stringify(this.issues,De.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=s=>s.message){const s={},n=[];for(const r of this.issues)r.path.length>0?(s[r.path[0]]=s[r.path[0]]||[],s[r.path[0]].push(e(r))):n.push(e(r));return{formErrors:n,fieldErrors:s}}get formErrors(){return this.flatten()}}Ps.create=t=>new Ps(t);const Qi=(t,e)=>{let s;switch(t.code){case V.invalid_type:t.received===ee.undefined?s="Required":s=`Expected ${t.expected}, received ${t.received}`;break;case V.invalid_literal:s=`Invalid literal value, expected ${JSON.stringify(t.expected,De.jsonStringifyReplacer)}`;break;case V.unrecognized_keys:s=`Unrecognized key(s) in object: ${De.joinValues(t.keys,", ")}`;break;case V.invalid_union:s="Invalid input";break;case V.invalid_union_discriminator:s=`Invalid discriminator value. Expected ${De.joinValues(t.options)}`;break;case V.invalid_enum_value:s=`Invalid enum value. Expected ${De.joinValues(t.options)}, received '${t.received}'`;break;case V.invalid_arguments:s="Invalid function arguments";break;case V.invalid_return_type:s="Invalid function return type";break;case V.invalid_date:s="Invalid date";break;case V.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(s=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(s=`${s} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?s=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?s=`Invalid input: must end with "${t.validation.endsWith}"`:De.assertNever(t.validation):t.validation!=="regex"?s=`Invalid ${t.validation}`:s="Invalid";break;case V.too_small:t.type==="array"?s=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?s=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?s=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?s=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:s="Invalid input";break;case V.too_big:t.type==="array"?s=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?s=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?s=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?s=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?s=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:s="Invalid input";break;case V.custom:s="Invalid input";break;case V.invalid_intersection_types:s="Intersection results could not be merged";break;case V.not_multiple_of:s=`Number must be a multiple of ${t.multipleOf}`;break;case V.not_finite:s="Number must be finite";break;default:s=e.defaultError,De.assertNever(t)}return{message:s}};let If=Qi;function Ew(t){If=t}function wa(){return If}const Ea=t=>{const{data:e,path:s,errorMaps:n,issueData:r}=t,i=[...s,...r.path||[]],o={...r,path:i};let a="";const c=n.filter(l=>!!l).slice().reverse();for(const l of c)a=l(o,{data:e,defaultError:a}).message;return{...r,path:i,message:r.message||a}},bw=[];function ne(t,e){const s=Ea({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,wa(),Qi].filter(n=>!!n)});t.common.issues.push(s)}class Tt{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,s){const n=[];for(const r of s){if(r.status==="aborted")return Ee;r.status==="dirty"&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,s){const n=[];for(const r of s)n.push({key:await r.key,value:await r.value});return Tt.mergeObjectSync(e,n)}static mergeObjectSync(e,s){const n={};for(const r of s){const{key:i,value:o}=r;if(i.status==="aborted"||o.status==="aborted")return Ee;i.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||r.alwaysSet)&&(n[i.value]=o.value)}return{status:e.value,value:n}}}const Ee=Object.freeze({status:"aborted"}),Nf=t=>({status:"dirty",value:t}),Mt=t=>({status:"valid",value:t}),wl=t=>t.status==="aborted",El=t=>t.status==="dirty",eo=t=>t.status==="valid",ba=t=>typeof Promise<"u"&&t instanceof Promise;var ue;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(ue||(ue={}));class Ys{constructor(e,s,n,r){this._cachedPath=[],this.parent=e,this.data=s,this._path=n,this._key=r}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Tu=(t,e)=>{if(eo(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const s=new Ps(t.common.issues);return this._error=s,this._error}}};function Ce(t){if(!t)return{};const{errorMap:e,invalid_type_error:s,required_error:n,description:r}=t;if(e&&(s||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:r}:{errorMap:(o,a)=>o.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:n??a.defaultError}:{message:s??a.defaultError},description:r}}class Ae{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return Un(e.data)}_getOrReturnCtx(e,s){return s||{common:e.parent.common,data:e.data,parsedType:Un(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Tt,ctx:{common:e.parent.common,data:e.data,parsedType:Un(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const s=this._parse(e);if(ba(s))throw new Error("Synchronous parse encountered promise.");return s}_parseAsync(e){const s=this._parse(e);return Promise.resolve(s)}parse(e,s){const n=this.safeParse(e,s);if(n.success)return n.data;throw n.error}safeParse(e,s){var n;const r={common:{issues:[],async:(n=s==null?void 0:s.async)!==null&&n!==void 0?n:!1,contextualErrorMap:s==null?void 0:s.errorMap},path:(s==null?void 0:s.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Un(e)},i=this._parseSync({data:e,path:r.path,parent:r});return Tu(r,i)}async parseAsync(e,s){const n=await this.safeParseAsync(e,s);if(n.success)return n.data;throw n.error}async safeParseAsync(e,s){const n={common:{issues:[],contextualErrorMap:s==null?void 0:s.errorMap,async:!0},path:(s==null?void 0:s.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Un(e)},r=this._parse({data:e,path:n.path,parent:n}),i=await(ba(r)?r:Promise.resolve(r));return Tu(n,i)}refine(e,s){const n=r=>typeof s=="string"||typeof s>"u"?{message:s}:typeof s=="function"?s(r):s;return this._refinement((r,i)=>{const o=e(r),a=()=>i.addIssue({code:V.custom,...n(r)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(e,s){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof s=="function"?s(n,r):s),!1))}_refinement(e){return new Us({schema:this,typeName:pe.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return gn.create(this,this._def)}nullable(){return Ir.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return xs.create(this,this._def)}promise(){return ui.create(this,this._def)}or(e){return ro.create([this,e],this._def)}and(e){return io.create(this,e,this._def)}transform(e){return new Us({...Ce(this._def),schema:this,typeName:pe.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const s=typeof e=="function"?e:()=>e;return new uo({...Ce(this._def),innerType:this,defaultValue:s,typeName:pe.ZodDefault})}brand(){return new Rf({typeName:pe.ZodBranded,type:this,...Ce(this._def)})}catch(e){const s=typeof e=="function"?e:()=>e;return new Aa({...Ce(this._def),innerType:this,catchValue:s,typeName:pe.ZodCatch})}describe(e){const s=this.constructor;return new s({...this._def,description:e})}pipe(e){return Ao.create(this,e)}readonly(){return Ia.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Cw=/^c[^\s-]{8,}$/i,vw=/^[a-z][a-z0-9]*$/,_w=/^[0-9A-HJKMNP-TV-Z]{26}$/,Aw=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Sw=/^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Iw="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let gc;const Nw=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,Tw=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Rw=t=>t.precision?t.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${t.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${t.precision}}Z$`):t.precision===0?t.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):t.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function Ow(t,e){return!!((e==="v4"||!e)&&Nw.test(t)||(e==="v6"||!e)&&Tw.test(t))}class Os extends Ae{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==ee.string){const i=this._getOrReturnCtx(e);return ne(i,{code:V.invalid_type,expected:ee.string,received:i.parsedType}),Ee}const n=new Tt;let r;for(const i of this._def.checks)if(i.kind==="min")e.data.length<i.value&&(r=this._getOrReturnCtx(e,r),ne(r,{code:V.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="max")e.data.length>i.value&&(r=this._getOrReturnCtx(e,r),ne(r,{code:V.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){const o=e.data.length>i.value,a=e.data.length<i.value;(o||a)&&(r=this._getOrReturnCtx(e,r),o?ne(r,{code:V.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):a&&ne(r,{code:V.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),n.dirty())}else if(i.kind==="email")Sw.test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"email",code:V.invalid_string,message:i.message}),n.dirty());else if(i.kind==="emoji")gc||(gc=new RegExp(Iw,"u")),gc.test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"emoji",code:V.invalid_string,message:i.message}),n.dirty());else if(i.kind==="uuid")Aw.test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"uuid",code:V.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid")Cw.test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"cuid",code:V.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid2")vw.test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"cuid2",code:V.invalid_string,message:i.message}),n.dirty());else if(i.kind==="ulid")_w.test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"ulid",code:V.invalid_string,message:i.message}),n.dirty());else if(i.kind==="url")try{new URL(e.data)}catch{r=this._getOrReturnCtx(e,r),ne(r,{validation:"url",code:V.invalid_string,message:i.message}),n.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"regex",code:V.invalid_string,message:i.message}),n.dirty())):i.kind==="trim"?e.data=e.data.trim():i.kind==="includes"?e.data.includes(i.value,i.position)||(r=this._getOrReturnCtx(e,r),ne(r,{code:V.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),n.dirty()):i.kind==="toLowerCase"?e.data=e.data.toLowerCase():i.kind==="toUpperCase"?e.data=e.data.toUpperCase():i.kind==="startsWith"?e.data.startsWith(i.value)||(r=this._getOrReturnCtx(e,r),ne(r,{code:V.invalid_string,validation:{startsWith:i.value},message:i.message}),n.dirty()):i.kind==="endsWith"?e.data.endsWith(i.value)||(r=this._getOrReturnCtx(e,r),ne(r,{code:V.invalid_string,validation:{endsWith:i.value},message:i.message}),n.dirty()):i.kind==="datetime"?Rw(i).test(e.data)||(r=this._getOrReturnCtx(e,r),ne(r,{code:V.invalid_string,validation:"datetime",message:i.message}),n.dirty()):i.kind==="ip"?Ow(e.data,i.version)||(r=this._getOrReturnCtx(e,r),ne(r,{validation:"ip",code:V.invalid_string,message:i.message}),n.dirty()):De.assertNever(i);return{status:n.value,value:e.data}}_regex(e,s,n){return this.refinement(r=>e.test(r),{validation:s,code:V.invalid_string,...ue.errToObj(n)})}_addCheck(e){return new Os({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...ue.errToObj(e)})}url(e){return this._addCheck({kind:"url",...ue.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...ue.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...ue.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...ue.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...ue.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...ue.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...ue.errToObj(e)})}datetime(e){var s;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(s=e==null?void 0:e.offset)!==null&&s!==void 0?s:!1,...ue.errToObj(e==null?void 0:e.message)})}regex(e,s){return this._addCheck({kind:"regex",regex:e,...ue.errToObj(s)})}includes(e,s){return this._addCheck({kind:"includes",value:e,position:s==null?void 0:s.position,...ue.errToObj(s==null?void 0:s.message)})}startsWith(e,s){return this._addCheck({kind:"startsWith",value:e,...ue.errToObj(s)})}endsWith(e,s){return this._addCheck({kind:"endsWith",value:e,...ue.errToObj(s)})}min(e,s){return this._addCheck({kind:"min",value:e,...ue.errToObj(s)})}max(e,s){return this._addCheck({kind:"max",value:e,...ue.errToObj(s)})}length(e,s){return this._addCheck({kind:"length",value:e,...ue.errToObj(s)})}nonempty(e){return this.min(1,ue.errToObj(e))}trim(){return new Os({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Os({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Os({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get minLength(){let e=null;for(const s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e}get maxLength(){let e=null;for(const s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e}}Os.create=t=>{var e;return new Os({checks:[],typeName:pe.ZodString,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...Ce(t)})};function Pw(t,e){const s=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,r=s>n?s:n,i=parseInt(t.toFixed(r).replace(".","")),o=parseInt(e.toFixed(r).replace(".",""));return i%o/Math.pow(10,r)}class zn extends Ae{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==ee.number){const i=this._getOrReturnCtx(e);return ne(i,{code:V.invalid_type,expected:ee.number,received:i.parsedType}),Ee}let n;const r=new Tt;for(const i of this._def.checks)i.kind==="int"?De.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),ne(n,{code:V.invalid_type,expected:"integer",received:"float",message:i.message}),r.dirty()):i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(n=this._getOrReturnCtx(e,n),ne(n,{code:V.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),r.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),ne(n,{code:V.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),r.dirty()):i.kind==="multipleOf"?Pw(e.data,i.value)!==0&&(n=this._getOrReturnCtx(e,n),ne(n,{code:V.not_multiple_of,multipleOf:i.value,message:i.message}),r.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),ne(n,{code:V.not_finite,message:i.message}),r.dirty()):De.assertNever(i);return{status:r.value,value:e.data}}gte(e,s){return this.setLimit("min",e,!0,ue.toString(s))}gt(e,s){return this.setLimit("min",e,!1,ue.toString(s))}lte(e,s){return this.setLimit("max",e,!0,ue.toString(s))}lt(e,s){return this.setLimit("max",e,!1,ue.toString(s))}setLimit(e,s,n,r){return new zn({...this._def,checks:[...this._def.checks,{kind:e,value:s,inclusive:n,message:ue.toString(r)}]})}_addCheck(e){return new zn({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:ue.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ue.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ue.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ue.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ue.toString(e)})}multipleOf(e,s){return this._addCheck({kind:"multipleOf",value:e,message:ue.toString(s)})}finite(e){return this._addCheck({kind:"finite",message:ue.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ue.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ue.toString(e)})}get minValue(){let e=null;for(const s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e}get maxValue(){let e=null;for(const s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&De.isInteger(e.value))}get isFinite(){let e=null,s=null;for(const n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(s===null||n.value>s)&&(s=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(s)&&Number.isFinite(e)}}zn.create=t=>new zn({checks:[],typeName:pe.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...Ce(t)});class Kn extends Ae{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==ee.bigint){const i=this._getOrReturnCtx(e);return ne(i,{code:V.invalid_type,expected:ee.bigint,received:i.parsedType}),Ee}let n;const r=new Tt;for(const i of this._def.checks)i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(n=this._getOrReturnCtx(e,n),ne(n,{code:V.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),r.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),ne(n,{code:V.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),r.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),ne(n,{code:V.not_multiple_of,multipleOf:i.value,message:i.message}),r.dirty()):De.assertNever(i);return{status:r.value,value:e.data}}gte(e,s){return this.setLimit("min",e,!0,ue.toString(s))}gt(e,s){return this.setLimit("min",e,!1,ue.toString(s))}lte(e,s){return this.setLimit("max",e,!0,ue.toString(s))}lt(e,s){return this.setLimit("max",e,!1,ue.toString(s))}setLimit(e,s,n,r){return new Kn({...this._def,checks:[...this._def.checks,{kind:e,value:s,inclusive:n,message:ue.toString(r)}]})}_addCheck(e){return new Kn({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ue.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ue.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ue.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ue.toString(e)})}multipleOf(e,s){return this._addCheck({kind:"multipleOf",value:e,message:ue.toString(s)})}get minValue(){let e=null;for(const s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e}get maxValue(){let e=null;for(const s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e}}Kn.create=t=>{var e;return new Kn({checks:[],typeName:pe.ZodBigInt,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...Ce(t)})};class to extends Ae{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==ee.boolean){const n=this._getOrReturnCtx(e);return ne(n,{code:V.invalid_type,expected:ee.boolean,received:n.parsedType}),Ee}return Mt(e.data)}}to.create=t=>new to({typeName:pe.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...Ce(t)});class Ar extends Ae{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==ee.date){const i=this._getOrReturnCtx(e);return ne(i,{code:V.invalid_type,expected:ee.date,received:i.parsedType}),Ee}if(isNaN(e.data.getTime())){const i=this._getOrReturnCtx(e);return ne(i,{code:V.invalid_date}),Ee}const n=new Tt;let r;for(const i of this._def.checks)i.kind==="min"?e.data.getTime()<i.value&&(r=this._getOrReturnCtx(e,r),ne(r,{code:V.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),n.dirty()):i.kind==="max"?e.data.getTime()>i.value&&(r=this._getOrReturnCtx(e,r),ne(r,{code:V.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):De.assertNever(i);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Ar({...this._def,checks:[...this._def.checks,e]})}min(e,s){return this._addCheck({kind:"min",value:e.getTime(),message:ue.toString(s)})}max(e,s){return this._addCheck({kind:"max",value:e.getTime(),message:ue.toString(s)})}get minDate(){let e=null;for(const s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e!=null?new Date(e):null}}Ar.create=t=>new Ar({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:pe.ZodDate,...Ce(t)});class Ca extends Ae{_parse(e){if(this._getType(e)!==ee.symbol){const n=this._getOrReturnCtx(e);return ne(n,{code:V.invalid_type,expected:ee.symbol,received:n.parsedType}),Ee}return Mt(e.data)}}Ca.create=t=>new Ca({typeName:pe.ZodSymbol,...Ce(t)});class so extends Ae{_parse(e){if(this._getType(e)!==ee.undefined){const n=this._getOrReturnCtx(e);return ne(n,{code:V.invalid_type,expected:ee.undefined,received:n.parsedType}),Ee}return Mt(e.data)}}so.create=t=>new so({typeName:pe.ZodUndefined,...Ce(t)});class no extends Ae{_parse(e){if(this._getType(e)!==ee.null){const n=this._getOrReturnCtx(e);return ne(n,{code:V.invalid_type,expected:ee.null,received:n.parsedType}),Ee}return Mt(e.data)}}no.create=t=>new no({typeName:pe.ZodNull,...Ce(t)});class di extends Ae{constructor(){super(...arguments),this._any=!0}_parse(e){return Mt(e.data)}}di.create=t=>new di({typeName:pe.ZodAny,...Ce(t)});class br extends Ae{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Mt(e.data)}}br.create=t=>new br({typeName:pe.ZodUnknown,...Ce(t)});class En extends Ae{_parse(e){const s=this._getOrReturnCtx(e);return ne(s,{code:V.invalid_type,expected:ee.never,received:s.parsedType}),Ee}}En.create=t=>new En({typeName:pe.ZodNever,...Ce(t)});class va extends Ae{_parse(e){if(this._getType(e)!==ee.undefined){const n=this._getOrReturnCtx(e);return ne(n,{code:V.invalid_type,expected:ee.void,received:n.parsedType}),Ee}return Mt(e.data)}}va.create=t=>new va({typeName:pe.ZodVoid,...Ce(t)});class xs extends Ae{_parse(e){const{ctx:s,status:n}=this._processInputParams(e),r=this._def;if(s.parsedType!==ee.array)return ne(s,{code:V.invalid_type,expected:ee.array,received:s.parsedType}),Ee;if(r.exactLength!==null){const o=s.data.length>r.exactLength.value,a=s.data.length<r.exactLength.value;(o||a)&&(ne(s,{code:o?V.too_big:V.too_small,minimum:a?r.exactLength.value:void 0,maximum:o?r.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&s.data.length<r.minLength.value&&(ne(s,{code:V.too_small,minimum:r.minLength.value,type:"array",inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&s.data.length>r.maxLength.value&&(ne(s,{code:V.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),s.common.async)return Promise.all([...s.data].map((o,a)=>r.type._parseAsync(new Ys(s,o,s.path,a)))).then(o=>Tt.mergeArray(n,o));const i=[...s.data].map((o,a)=>r.type._parseSync(new Ys(s,o,s.path,a)));return Tt.mergeArray(n,i)}get element(){return this._def.type}min(e,s){return new xs({...this._def,minLength:{value:e,message:ue.toString(s)}})}max(e,s){return new xs({...this._def,maxLength:{value:e,message:ue.toString(s)}})}length(e,s){return new xs({...this._def,exactLength:{value:e,message:ue.toString(s)}})}nonempty(e){return this.min(1,e)}}xs.create=(t,e)=>new xs({type:t,minLength:null,maxLength:null,exactLength:null,typeName:pe.ZodArray,...Ce(e)});function zr(t){if(t instanceof Je){const e={};for(const s in t.shape){const n=t.shape[s];e[s]=gn.create(zr(n))}return new Je({...t._def,shape:()=>e})}else return t instanceof xs?new xs({...t._def,type:zr(t.element)}):t instanceof gn?gn.create(zr(t.unwrap())):t instanceof Ir?Ir.create(zr(t.unwrap())):t instanceof Zs?Zs.create(t.items.map(e=>zr(e))):t}class Je extends Ae{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),s=De.objectKeys(e);return this._cached={shape:e,keys:s}}_parse(e){if(this._getType(e)!==ee.object){const l=this._getOrReturnCtx(e);return ne(l,{code:V.invalid_type,expected:ee.object,received:l.parsedType}),Ee}const{status:n,ctx:r}=this._processInputParams(e),{shape:i,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof En&&this._def.unknownKeys==="strip"))for(const l in r.data)o.includes(l)||a.push(l);const c=[];for(const l of o){const d=i[l],u=r.data[l];c.push({key:{status:"valid",value:l},value:d._parse(new Ys(r,u,r.path,l)),alwaysSet:l in r.data})}if(this._def.catchall instanceof En){const l=this._def.unknownKeys;if(l==="passthrough")for(const d of a)c.push({key:{status:"valid",value:d},value:{status:"valid",value:r.data[d]}});else if(l==="strict")a.length>0&&(ne(r,{code:V.unrecognized_keys,keys:a}),n.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const l=this._def.catchall;for(const d of a){const u=r.data[d];c.push({key:{status:"valid",value:d},value:l._parse(new Ys(r,u,r.path,d)),alwaysSet:d in r.data})}}return r.common.async?Promise.resolve().then(async()=>{const l=[];for(const d of c){const u=await d.key;l.push({key:u,value:await d.value,alwaysSet:d.alwaysSet})}return l}).then(l=>Tt.mergeObjectSync(n,l)):Tt.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return ue.errToObj,new Je({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(s,n)=>{var r,i,o,a;const c=(o=(i=(r=this._def).errorMap)===null||i===void 0?void 0:i.call(r,s,n).message)!==null&&o!==void 0?o:n.defaultError;return s.code==="unrecognized_keys"?{message:(a=ue.errToObj(e).message)!==null&&a!==void 0?a:c}:{message:c}}}:{}})}strip(){return new Je({...this._def,unknownKeys:"strip"})}passthrough(){return new Je({...this._def,unknownKeys:"passthrough"})}extend(e){return new Je({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new Je({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:pe.ZodObject})}setKey(e,s){return this.augment({[e]:s})}catchall(e){return new Je({...this._def,catchall:e})}pick(e){const s={};return De.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(s[n]=this.shape[n])}),new Je({...this._def,shape:()=>s})}omit(e){const s={};return De.objectKeys(this.shape).forEach(n=>{e[n]||(s[n]=this.shape[n])}),new Je({...this._def,shape:()=>s})}deepPartial(){return zr(this)}partial(e){const s={};return De.objectKeys(this.shape).forEach(n=>{const r=this.shape[n];e&&!e[n]?s[n]=r:s[n]=r.optional()}),new Je({...this._def,shape:()=>s})}required(e){const s={};return De.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])s[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof gn;)i=i._def.innerType;s[n]=i}}),new Je({...this._def,shape:()=>s})}keyof(){return Tf(De.objectKeys(this.shape))}}Je.create=(t,e)=>new Je({shape:()=>t,unknownKeys:"strip",catchall:En.create(),typeName:pe.ZodObject,...Ce(e)});Je.strictCreate=(t,e)=>new Je({shape:()=>t,unknownKeys:"strict",catchall:En.create(),typeName:pe.ZodObject,...Ce(e)});Je.lazycreate=(t,e)=>new Je({shape:t,unknownKeys:"strip",catchall:En.create(),typeName:pe.ZodObject,...Ce(e)});class ro extends Ae{_parse(e){const{ctx:s}=this._processInputParams(e),n=this._def.options;function r(i){for(const a of i)if(a.result.status==="valid")return a.result;for(const a of i)if(a.result.status==="dirty")return s.common.issues.push(...a.ctx.common.issues),a.result;const o=i.map(a=>new Ps(a.ctx.common.issues));return ne(s,{code:V.invalid_union,unionErrors:o}),Ee}if(s.common.async)return Promise.all(n.map(async i=>{const o={...s,common:{...s.common,issues:[]},parent:null};return{result:await i._parseAsync({data:s.data,path:s.path,parent:o}),ctx:o}})).then(r);{let i;const o=[];for(const c of n){const l={...s,common:{...s.common,issues:[]},parent:null},d=c._parseSync({data:s.data,path:s.path,parent:l});if(d.status==="valid")return d;d.status==="dirty"&&!i&&(i={result:d,ctx:l}),l.common.issues.length&&o.push(l.common.issues)}if(i)return s.common.issues.push(...i.ctx.common.issues),i.result;const a=o.map(c=>new Ps(c));return ne(s,{code:V.invalid_union,unionErrors:a}),Ee}}get options(){return this._def.options}}ro.create=(t,e)=>new ro({options:t,typeName:pe.ZodUnion,...Ce(e)});const la=t=>t instanceof ao?la(t.schema):t instanceof Us?la(t.innerType()):t instanceof co?[t.value]:t instanceof Gn?t.options:t instanceof lo?Object.keys(t.enum):t instanceof uo?la(t._def.innerType):t instanceof so?[void 0]:t instanceof no?[null]:null;class Ka extends Ae{_parse(e){const{ctx:s}=this._processInputParams(e);if(s.parsedType!==ee.object)return ne(s,{code:V.invalid_type,expected:ee.object,received:s.parsedType}),Ee;const n=this.discriminator,r=s.data[n],i=this.optionsMap.get(r);return i?s.common.async?i._parseAsync({data:s.data,path:s.path,parent:s}):i._parseSync({data:s.data,path:s.path,parent:s}):(ne(s,{code:V.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Ee)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,s,n){const r=new Map;for(const i of s){const o=la(i.shape[e]);if(!o)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const a of o){if(r.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);r.set(a,i)}}return new Ka({typeName:pe.ZodDiscriminatedUnion,discriminator:e,options:s,optionsMap:r,...Ce(n)})}}function bl(t,e){const s=Un(t),n=Un(e);if(t===e)return{valid:!0,data:t};if(s===ee.object&&n===ee.object){const r=De.objectKeys(e),i=De.objectKeys(t).filter(a=>r.indexOf(a)!==-1),o={...t,...e};for(const a of i){const c=bl(t[a],e[a]);if(!c.valid)return{valid:!1};o[a]=c.data}return{valid:!0,data:o}}else if(s===ee.array&&n===ee.array){if(t.length!==e.length)return{valid:!1};const r=[];for(let i=0;i<t.length;i++){const o=t[i],a=e[i],c=bl(o,a);if(!c.valid)return{valid:!1};r.push(c.data)}return{valid:!0,data:r}}else return s===ee.date&&n===ee.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}class io extends Ae{_parse(e){const{status:s,ctx:n}=this._processInputParams(e),r=(i,o)=>{if(wl(i)||wl(o))return Ee;const a=bl(i.value,o.value);return a.valid?((El(i)||El(o))&&s.dirty(),{status:s.value,value:a.data}):(ne(n,{code:V.invalid_intersection_types}),Ee)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,o])=>r(i,o)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}io.create=(t,e,s)=>new io({left:t,right:e,typeName:pe.ZodIntersection,...Ce(s)});class Zs extends Ae{_parse(e){const{status:s,ctx:n}=this._processInputParams(e);if(n.parsedType!==ee.array)return ne(n,{code:V.invalid_type,expected:ee.array,received:n.parsedType}),Ee;if(n.data.length<this._def.items.length)return ne(n,{code:V.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Ee;!this._def.rest&&n.data.length>this._def.items.length&&(ne(n,{code:V.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),s.dirty());const i=[...n.data].map((o,a)=>{const c=this._def.items[a]||this._def.rest;return c?c._parse(new Ys(n,o,n.path,a)):null}).filter(o=>!!o);return n.common.async?Promise.all(i).then(o=>Tt.mergeArray(s,o)):Tt.mergeArray(s,i)}get items(){return this._def.items}rest(e){return new Zs({...this._def,rest:e})}}Zs.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Zs({items:t,typeName:pe.ZodTuple,rest:null,...Ce(e)})};class oo extends Ae{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:s,ctx:n}=this._processInputParams(e);if(n.parsedType!==ee.object)return ne(n,{code:V.invalid_type,expected:ee.object,received:n.parsedType}),Ee;const r=[],i=this._def.keyType,o=this._def.valueType;for(const a in n.data)r.push({key:i._parse(new Ys(n,a,n.path,a)),value:o._parse(new Ys(n,n.data[a],n.path,a))});return n.common.async?Tt.mergeObjectAsync(s,r):Tt.mergeObjectSync(s,r)}get element(){return this._def.valueType}static create(e,s,n){return s instanceof Ae?new oo({keyType:e,valueType:s,typeName:pe.ZodRecord,...Ce(n)}):new oo({keyType:Os.create(),valueType:e,typeName:pe.ZodRecord,...Ce(s)})}}class _a extends Ae{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:s,ctx:n}=this._processInputParams(e);if(n.parsedType!==ee.map)return ne(n,{code:V.invalid_type,expected:ee.map,received:n.parsedType}),Ee;const r=this._def.keyType,i=this._def.valueType,o=[...n.data.entries()].map(([a,c],l)=>({key:r._parse(new Ys(n,a,n.path,[l,"key"])),value:i._parse(new Ys(n,c,n.path,[l,"value"]))}));if(n.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const c of o){const l=await c.key,d=await c.value;if(l.status==="aborted"||d.status==="aborted")return Ee;(l.status==="dirty"||d.status==="dirty")&&s.dirty(),a.set(l.value,d.value)}return{status:s.value,value:a}})}else{const a=new Map;for(const c of o){const l=c.key,d=c.value;if(l.status==="aborted"||d.status==="aborted")return Ee;(l.status==="dirty"||d.status==="dirty")&&s.dirty(),a.set(l.value,d.value)}return{status:s.value,value:a}}}}_a.create=(t,e,s)=>new _a({valueType:e,keyType:t,typeName:pe.ZodMap,...Ce(s)});class Sr extends Ae{_parse(e){const{status:s,ctx:n}=this._processInputParams(e);if(n.parsedType!==ee.set)return ne(n,{code:V.invalid_type,expected:ee.set,received:n.parsedType}),Ee;const r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(ne(n,{code:V.too_small,minimum:r.minSize.value,type:"set",inclusive:!0,exact:!1,message:r.minSize.message}),s.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(ne(n,{code:V.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),s.dirty());const i=this._def.valueType;function o(c){const l=new Set;for(const d of c){if(d.status==="aborted")return Ee;d.status==="dirty"&&s.dirty(),l.add(d.value)}return{status:s.value,value:l}}const a=[...n.data.values()].map((c,l)=>i._parse(new Ys(n,c,n.path,l)));return n.common.async?Promise.all(a).then(c=>o(c)):o(a)}min(e,s){return new Sr({...this._def,minSize:{value:e,message:ue.toString(s)}})}max(e,s){return new Sr({...this._def,maxSize:{value:e,message:ue.toString(s)}})}size(e,s){return this.min(e,s).max(e,s)}nonempty(e){return this.min(1,e)}}Sr.create=(t,e)=>new Sr({valueType:t,minSize:null,maxSize:null,typeName:pe.ZodSet,...Ce(e)});class ei extends Ae{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:s}=this._processInputParams(e);if(s.parsedType!==ee.function)return ne(s,{code:V.invalid_type,expected:ee.function,received:s.parsedType}),Ee;function n(a,c){return Ea({data:a,path:s.path,errorMaps:[s.common.contextualErrorMap,s.schemaErrorMap,wa(),Qi].filter(l=>!!l),issueData:{code:V.invalid_arguments,argumentsError:c}})}function r(a,c){return Ea({data:a,path:s.path,errorMaps:[s.common.contextualErrorMap,s.schemaErrorMap,wa(),Qi].filter(l=>!!l),issueData:{code:V.invalid_return_type,returnTypeError:c}})}const i={errorMap:s.common.contextualErrorMap},o=s.data;if(this._def.returns instanceof ui){const a=this;return Mt(async function(...c){const l=new Ps([]),d=await a._def.args.parseAsync(c,i).catch(p=>{throw l.addIssue(n(c,p)),l}),u=await Reflect.apply(o,this,d);return await a._def.returns._def.type.parseAsync(u,i).catch(p=>{throw l.addIssue(r(u,p)),l})})}else{const a=this;return Mt(function(...c){const l=a._def.args.safeParse(c,i);if(!l.success)throw new Ps([n(c,l.error)]);const d=Reflect.apply(o,this,l.data),u=a._def.returns.safeParse(d,i);if(!u.success)throw new Ps([r(d,u.error)]);return u.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new ei({...this._def,args:Zs.create(e).rest(br.create())})}returns(e){return new ei({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,s,n){return new ei({args:e||Zs.create([]).rest(br.create()),returns:s||br.create(),typeName:pe.ZodFunction,...Ce(n)})}}class ao extends Ae{get schema(){return this._def.getter()}_parse(e){const{ctx:s}=this._processInputParams(e);return this._def.getter()._parse({data:s.data,path:s.path,parent:s})}}ao.create=(t,e)=>new ao({getter:t,typeName:pe.ZodLazy,...Ce(e)});class co extends Ae{_parse(e){if(e.data!==this._def.value){const s=this._getOrReturnCtx(e);return ne(s,{received:s.data,code:V.invalid_literal,expected:this._def.value}),Ee}return{status:"valid",value:e.data}}get value(){return this._def.value}}co.create=(t,e)=>new co({value:t,typeName:pe.ZodLiteral,...Ce(e)});function Tf(t,e){return new Gn({values:t,typeName:pe.ZodEnum,...Ce(e)})}class Gn extends Ae{_parse(e){if(typeof e.data!="string"){const s=this._getOrReturnCtx(e),n=this._def.values;return ne(s,{expected:De.joinValues(n),received:s.parsedType,code:V.invalid_type}),Ee}if(this._def.values.indexOf(e.data)===-1){const s=this._getOrReturnCtx(e),n=this._def.values;return ne(s,{received:s.data,code:V.invalid_enum_value,options:n}),Ee}return Mt(e.data)}get options(){return this._def.values}get enum(){const e={};for(const s of this._def.values)e[s]=s;return e}get Values(){const e={};for(const s of this._def.values)e[s]=s;return e}get Enum(){const e={};for(const s of this._def.values)e[s]=s;return e}extract(e){return Gn.create(e)}exclude(e){return Gn.create(this.options.filter(s=>!e.includes(s)))}}Gn.create=Tf;class lo extends Ae{_parse(e){const s=De.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==ee.string&&n.parsedType!==ee.number){const r=De.objectValues(s);return ne(n,{expected:De.joinValues(r),received:n.parsedType,code:V.invalid_type}),Ee}if(s.indexOf(e.data)===-1){const r=De.objectValues(s);return ne(n,{received:n.data,code:V.invalid_enum_value,options:r}),Ee}return Mt(e.data)}get enum(){return this._def.values}}lo.create=(t,e)=>new lo({values:t,typeName:pe.ZodNativeEnum,...Ce(e)});class ui extends Ae{unwrap(){return this._def.type}_parse(e){const{ctx:s}=this._processInputParams(e);if(s.parsedType!==ee.promise&&s.common.async===!1)return ne(s,{code:V.invalid_type,expected:ee.promise,received:s.parsedType}),Ee;const n=s.parsedType===ee.promise?s.data:Promise.resolve(s.data);return Mt(n.then(r=>this._def.type.parseAsync(r,{path:s.path,errorMap:s.common.contextualErrorMap})))}}ui.create=(t,e)=>new ui({type:t,typeName:pe.ZodPromise,...Ce(e)});class Us extends Ae{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===pe.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:s,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:o=>{ne(n,o),o.fatal?s.abort():s.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type==="preprocess"){const o=r.transform(n.data,i);return n.common.issues.length?{status:"dirty",value:n.data}:n.common.async?Promise.resolve(o).then(a=>this._def.schema._parseAsync({data:a,path:n.path,parent:n})):this._def.schema._parseSync({data:o,path:n.path,parent:n})}if(r.type==="refinement"){const o=a=>{const c=r.refinement(a,i);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){const a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?Ee:(a.status==="dirty"&&s.dirty(),o(a.value),{status:s.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?Ee:(a.status==="dirty"&&s.dirty(),o(a.value).then(()=>({status:s.value,value:a.value}))))}if(r.type==="transform")if(n.common.async===!1){const o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!eo(o))return o;const a=r.transform(o.value,i);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:s.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>eo(o)?Promise.resolve(r.transform(o.value,i)).then(a=>({status:s.value,value:a})):o);De.assertNever(r)}}Us.create=(t,e,s)=>new Us({schema:t,typeName:pe.ZodEffects,effect:e,...Ce(s)});Us.createWithPreprocess=(t,e,s)=>new Us({schema:e,effect:{type:"preprocess",transform:t},typeName:pe.ZodEffects,...Ce(s)});class gn extends Ae{_parse(e){return this._getType(e)===ee.undefined?Mt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}gn.create=(t,e)=>new gn({innerType:t,typeName:pe.ZodOptional,...Ce(e)});class Ir extends Ae{_parse(e){return this._getType(e)===ee.null?Mt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Ir.create=(t,e)=>new Ir({innerType:t,typeName:pe.ZodNullable,...Ce(e)});class uo extends Ae{_parse(e){const{ctx:s}=this._processInputParams(e);let n=s.data;return s.parsedType===ee.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:s.path,parent:s})}removeDefault(){return this._def.innerType}}uo.create=(t,e)=>new uo({innerType:t,typeName:pe.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Ce(e)});class Aa extends Ae{_parse(e){const{ctx:s}=this._processInputParams(e),n={...s,common:{...s.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ba(r)?r.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ps(n.common.issues)},input:n.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new Ps(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}Aa.create=(t,e)=>new Aa({innerType:t,typeName:pe.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Ce(e)});class Sa extends Ae{_parse(e){if(this._getType(e)!==ee.nan){const n=this._getOrReturnCtx(e);return ne(n,{code:V.invalid_type,expected:ee.nan,received:n.parsedType}),Ee}return{status:"valid",value:e.data}}}Sa.create=t=>new Sa({typeName:pe.ZodNaN,...Ce(t)});const xw=Symbol("zod_brand");class Rf extends Ae{_parse(e){const{ctx:s}=this._processInputParams(e),n=s.data;return this._def.type._parse({data:n,path:s.path,parent:s})}unwrap(){return this._def.type}}class Ao extends Ae{_parse(e){const{status:s,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{const i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Ee:i.status==="dirty"?(s.dirty(),Nf(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{const r=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return r.status==="aborted"?Ee:r.status==="dirty"?(s.dirty(),{status:"dirty",value:r.value}):this._def.out._parseSync({data:r.value,path:n.path,parent:n})}}static create(e,s){return new Ao({in:e,out:s,typeName:pe.ZodPipeline})}}class Ia extends Ae{_parse(e){const s=this._def.innerType._parse(e);return eo(s)&&(s.value=Object.freeze(s.value)),s}}Ia.create=(t,e)=>new Ia({innerType:t,typeName:pe.ZodReadonly,...Ce(e)});const Of=(t,e={},s)=>t?di.create().superRefine((n,r)=>{var i,o;if(!t(n)){const a=typeof e=="function"?e(n):typeof e=="string"?{message:e}:e,c=(o=(i=a.fatal)!==null&&i!==void 0?i:s)!==null&&o!==void 0?o:!0,l=typeof a=="string"?{message:a}:a;r.addIssue({code:"custom",...l,fatal:c})}}):di.create(),kw={object:Je.lazycreate};var pe;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(pe||(pe={}));const Uw=(t,e={message:`Input not instance of ${t.name}`})=>Of(s=>s instanceof t,e),Pf=Os.create,xf=zn.create,$w=Sa.create,Dw=Kn.create,kf=to.create,Lw=Ar.create,Mw=Ca.create,Bw=so.create,jw=no.create,Fw=di.create,qw=br.create,Ww=En.create,Hw=va.create,Vw=xs.create,zw=Je.create,Kw=Je.strictCreate,Gw=ro.create,Yw=Ka.create,Zw=io.create,Jw=Zs.create,Xw=oo.create,Qw=_a.create,eE=Sr.create,tE=ei.create,sE=ao.create,nE=co.create,rE=Gn.create,iE=lo.create,oE=ui.create,Ru=Us.create,aE=gn.create,cE=Ir.create,lE=Us.createWithPreprocess,dE=Ao.create,uE=()=>Pf().optional(),hE=()=>xf().optional(),pE=()=>kf().optional(),fE={string:t=>Os.create({...t,coerce:!0}),number:t=>zn.create({...t,coerce:!0}),boolean:t=>to.create({...t,coerce:!0}),bigint:t=>Kn.create({...t,coerce:!0}),date:t=>Ar.create({...t,coerce:!0})},gE=Ee;var g=Object.freeze({__proto__:null,defaultErrorMap:Qi,setErrorMap:Ew,getErrorMap:wa,makeIssue:Ea,EMPTY_PATH:bw,addIssueToContext:ne,ParseStatus:Tt,INVALID:Ee,DIRTY:Nf,OK:Mt,isAborted:wl,isDirty:El,isValid:eo,isAsync:ba,get util(){return De},get objectUtil(){return yl},ZodParsedType:ee,getParsedType:Un,ZodType:Ae,ZodString:Os,ZodNumber:zn,ZodBigInt:Kn,ZodBoolean:to,ZodDate:Ar,ZodSymbol:Ca,ZodUndefined:so,ZodNull:no,ZodAny:di,ZodUnknown:br,ZodNever:En,ZodVoid:va,ZodArray:xs,ZodObject:Je,ZodUnion:ro,ZodDiscriminatedUnion:Ka,ZodIntersection:io,ZodTuple:Zs,ZodRecord:oo,ZodMap:_a,ZodSet:Sr,ZodFunction:ei,ZodLazy:ao,ZodLiteral:co,ZodEnum:Gn,ZodNativeEnum:lo,ZodPromise:ui,ZodEffects:Us,ZodTransformer:Us,ZodOptional:gn,ZodNullable:Ir,ZodDefault:uo,ZodCatch:Aa,ZodNaN:Sa,BRAND:xw,ZodBranded:Rf,ZodPipeline:Ao,ZodReadonly:Ia,custom:Of,Schema:Ae,ZodSchema:Ae,late:kw,get ZodFirstPartyTypeKind(){return pe},coerce:fE,any:Fw,array:Vw,bigint:Dw,boolean:kf,date:Lw,discriminatedUnion:Yw,effect:Ru,enum:rE,function:tE,instanceof:Uw,intersection:Zw,lazy:sE,literal:nE,map:Qw,nan:$w,nativeEnum:iE,never:Ww,null:jw,nullable:cE,number:xf,object:zw,oboolean:pE,onumber:hE,optional:aE,ostring:uE,pipeline:dE,preprocess:lE,promise:oE,record:Xw,set:eE,strictObject:Kw,string:Pf,symbol:Mw,transformer:Ru,tuple:Jw,undefined:Bw,union:Gw,unknown:qw,void:Hw,NEVER:gE,ZodIssueCode:V,quotelessJson:ww,ZodError:Ps});const Xe=g.object({message:g.string()});function te(t){return g.literal(re[t])}const Ga=g.object({serializedMessage:g.string().optional(),accountAddress:g.string(),chainId:g.string(),notBefore:g.string().optional(),domain:g.string(),uri:g.string(),version:g.string(),nonce:g.string(),statement:g.string().optional(),resources:g.array(g.string()).optional(),requestId:g.string().optional(),issuedAt:g.string().optional(),expirationTime:g.string().optional()});g.object({accessList:g.array(g.string()),blockHash:g.string().nullable(),blockNumber:g.string().nullable(),chainId:g.string().or(g.number()),from:g.string(),gas:g.string(),hash:g.string(),input:g.string().nullable(),maxFeePerGas:g.string(),maxPriorityFeePerGas:g.string(),nonce:g.string(),r:g.string(),s:g.string(),to:g.string(),transactionIndex:g.string().nullable(),type:g.string(),v:g.string(),value:g.string()});const mE=g.object({chainId:g.string().or(g.number()),rpcUrl:g.optional(g.string())}),yE=g.object({email:g.string().email()}),wE=g.object({otp:g.string()}),EE=g.object({uri:g.string(),preferredAccountType:g.optional(g.string()),chainId:g.optional(g.string().or(g.number())),siwxMessage:g.optional(Ga),rpcUrl:g.optional(g.string())}),bE=g.object({chainId:g.optional(g.string().or(g.number())),preferredAccountType:g.optional(g.string()),socialUri:g.optional(g.string()),siwxMessage:g.optional(Ga),rpcUrl:g.optional(g.string())}),CE=g.object({provider:g.enum(["google","github","apple","facebook","x","discord"])}),vE=g.object({email:g.string().email()}),_E=g.object({otp:g.string()}),AE=g.object({otp:g.string()}),SE=g.object({themeMode:g.optional(g.enum(["light","dark"])),themeVariables:g.optional(g.record(g.string(),g.string().or(g.number()))),w3mThemeVariables:g.optional(g.record(g.string(),g.string()))}),IE=g.object({metadata:g.object({name:g.string(),description:g.string(),url:g.string(),icons:g.array(g.string())}).optional(),sdkVersion:g.string().optional(),sdkType:g.string().optional(),projectId:g.string()}),NE=g.object({type:g.string()}),TE=g.object({action:g.enum(["VERIFY_DEVICE","VERIFY_OTP","CONNECT"])}),RE=g.object({url:g.string()}),OE=g.object({userName:g.string()}),PE=g.object({email:g.string().optional().nullable(),address:g.string(),chainId:g.string().or(g.number()),accounts:g.array(g.object({address:g.string(),type:g.enum([et.ACCOUNT_TYPES.EOA,et.ACCOUNT_TYPES.SMART_ACCOUNT])})).optional(),userName:g.string().optional().nullable(),preferredAccountType:g.optional(g.string()),signature:g.string().optional(),message:g.string().optional(),siwxMessage:g.optional(Ga)}),xE=g.object({action:g.enum(["VERIFY_PRIMARY_OTP","VERIFY_SECONDARY_OTP"])}),kE=g.object({email:g.string().email().optional().nullable(),address:g.string(),chainId:g.string().or(g.number()),smartAccountDeployed:g.optional(g.boolean()),accounts:g.array(g.object({address:g.string(),type:g.enum([et.ACCOUNT_TYPES.EOA,et.ACCOUNT_TYPES.SMART_ACCOUNT])})).optional(),preferredAccountType:g.optional(g.string()),signature:g.string().optional(),message:g.string().optional(),siwxMessage:g.optional(Ga)}),UE=g.object({uri:g.string()}),$E=g.object({isConnected:g.boolean()}),DE=g.object({chainId:g.string().or(g.number())}),LE=g.object({chainId:g.string().or(g.number())}),ME=g.object({newEmail:g.string().email()}),BE=g.object({smartAccountEnabledNetworks:g.array(g.number())});g.object({address:g.string(),isDeployed:g.boolean()});const jE=g.object({version:g.string().optional()}),FE=g.object({type:g.string(),address:g.string()}),qE=g.any(),WE=g.object({method:g.literal("eth_accounts")}),HE=g.object({method:g.literal("eth_blockNumber")}),VE=g.object({method:g.literal("eth_call"),params:g.array(g.any())}),zE=g.object({method:g.literal("eth_chainId")}),KE=g.object({method:g.literal("eth_estimateGas"),params:g.array(g.any())}),GE=g.object({method:g.literal("eth_feeHistory"),params:g.array(g.any())}),YE=g.object({method:g.literal("eth_gasPrice")}),ZE=g.object({method:g.literal("eth_getAccount"),params:g.array(g.any())}),JE=g.object({method:g.literal("eth_getBalance"),params:g.array(g.any())}),XE=g.object({method:g.literal("eth_getBlockByHash"),params:g.array(g.any())}),QE=g.object({method:g.literal("eth_getBlockByNumber"),params:g.array(g.any())}),eb=g.object({method:g.literal("eth_getBlockReceipts"),params:g.array(g.any())}),tb=g.object({method:g.literal("eth_getBlockTransactionCountByHash"),params:g.array(g.any())}),sb=g.object({method:g.literal("eth_getBlockTransactionCountByNumber"),params:g.array(g.any())}),nb=g.object({method:g.literal("eth_getCode"),params:g.array(g.any())}),rb=g.object({method:g.literal("eth_getFilterChanges"),params:g.array(g.any())}),ib=g.object({method:g.literal("eth_getFilterLogs"),params:g.array(g.any())}),ob=g.object({method:g.literal("eth_getLogs"),params:g.array(g.any())}),ab=g.object({method:g.literal("eth_getProof"),params:g.array(g.any())}),cb=g.object({method:g.literal("eth_getStorageAt"),params:g.array(g.any())}),lb=g.object({method:g.literal("eth_getTransactionByBlockHashAndIndex"),params:g.array(g.any())}),db=g.object({method:g.literal("eth_getTransactionByBlockNumberAndIndex"),params:g.array(g.any())}),ub=g.object({method:g.literal("eth_getTransactionByHash"),params:g.array(g.any())}),hb=g.object({method:g.literal("eth_getTransactionCount"),params:g.array(g.any())}),pb=g.object({method:g.literal("eth_getTransactionReceipt"),params:g.array(g.any())}),fb=g.object({method:g.literal("eth_getUncleCountByBlockHash"),params:g.array(g.any())}),gb=g.object({method:g.literal("eth_getUncleCountByBlockNumber"),params:g.array(g.any())}),mb=g.object({method:g.literal("eth_maxPriorityFeePerGas")}),yb=g.object({method:g.literal("eth_newBlockFilter")}),wb=g.object({method:g.literal("eth_newFilter"),params:g.array(g.any())}),Eb=g.object({method:g.literal("eth_newPendingTransactionFilter")}),bb=g.object({method:g.literal("eth_sendRawTransaction"),params:g.array(g.any())}),Cb=g.object({method:g.literal("eth_syncing"),params:g.array(g.any())}),vb=g.object({method:g.literal("eth_uninstallFilter"),params:g.array(g.any())}),Ou=g.object({method:g.literal("personal_sign"),params:g.array(g.any())}),_b=g.object({method:g.literal("eth_signTypedData_v4"),params:g.array(g.any())}),Ab=g.object({method:g.literal("eth_sendTransaction"),params:g.array(g.any())}),Sb=g.object({method:g.literal("solana_signMessage"),params:g.object({message:g.string(),pubkey:g.string()})}),Ib=g.object({method:g.literal("solana_signTransaction"),params:g.object({transaction:g.string()})}),Nb=g.object({method:g.literal("solana_signAllTransactions"),params:g.object({transactions:g.array(g.string())})}),Tb=g.object({method:g.literal("solana_signAndSendTransaction"),params:g.object({transaction:g.string(),options:g.object({skipPreflight:g.boolean().optional(),preflightCommitment:g.enum(["processed","confirmed","finalized","recent","single","singleGossip","root","max"]).optional(),maxRetries:g.number().optional(),minContextSlot:g.number().optional()}).optional()})}),Rb=g.object({method:g.literal("wallet_sendCalls"),params:g.array(g.object({chainId:g.string().or(g.number()).optional(),from:g.string().optional(),version:g.string().optional(),capabilities:g.any().optional(),calls:g.array(g.object({to:g.string().startsWith("0x"),data:g.string().startsWith("0x").optional(),value:g.string().optional()}))}))}),Ob=g.object({method:g.literal("wallet_getCallsStatus"),params:g.array(g.string())}),Pb=g.object({method:g.literal("wallet_getCapabilities"),params:g.array(g.string().or(g.number()).optional()).optional()}),xb=g.object({method:g.literal("wallet_grantPermissions"),params:g.array(g.any())}),kb=g.object({method:g.literal("wallet_revokePermissions"),params:g.any()}),Ub=g.object({method:g.literal("wallet_getAssets"),params:g.any()}),Pu=g.object({token:g.string()}),se=g.object({id:g.string().optional()}),mc={appEvent:se.extend({type:te("APP_SWITCH_NETWORK"),payload:mE}).or(se.extend({type:te("APP_CONNECT_EMAIL"),payload:yE})).or(se.extend({type:te("APP_CONNECT_DEVICE")})).or(se.extend({type:te("APP_CONNECT_OTP"),payload:wE})).or(se.extend({type:te("APP_CONNECT_SOCIAL"),payload:EE})).or(se.extend({type:te("APP_GET_FARCASTER_URI")})).or(se.extend({type:te("APP_CONNECT_FARCASTER")})).or(se.extend({type:te("APP_GET_USER"),payload:g.optional(bE)})).or(se.extend({type:te("APP_GET_SOCIAL_REDIRECT_URI"),payload:CE})).or(se.extend({type:te("APP_SIGN_OUT")})).or(se.extend({type:te("APP_IS_CONNECTED"),payload:g.optional(Pu)})).or(se.extend({type:te("APP_GET_CHAIN_ID")})).or(se.extend({type:te("APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS")})).or(se.extend({type:te("APP_INIT_SMART_ACCOUNT")})).or(se.extend({type:te("APP_SET_PREFERRED_ACCOUNT"),payload:NE})).or(se.extend({type:te("APP_RPC_REQUEST"),payload:Ou.or(Ub).or(WE).or(HE).or(VE).or(zE).or(KE).or(GE).or(YE).or(ZE).or(JE).or(XE).or(QE).or(eb).or(tb).or(sb).or(nb).or(rb).or(ib).or(ob).or(ab).or(cb).or(lb).or(db).or(ub).or(hb).or(pb).or(fb).or(gb).or(mb).or(yb).or(wb).or(Eb).or(bb).or(Cb).or(vb).or(Ou).or(_b).or(Ab).or(Sb).or(Ib).or(Nb).or(Tb).or(Ob).or(Rb).or(Pb).or(xb).or(kb).and(g.object({chainId:g.string().or(g.number()).optional(),chainNamespace:g.enum(["eip155","solana","polkadot","bip122","cosmos"]).optional(),rpcUrl:g.string().optional()}))})).or(se.extend({type:te("APP_UPDATE_EMAIL"),payload:vE})).or(se.extend({type:te("APP_UPDATE_EMAIL_PRIMARY_OTP"),payload:_E})).or(se.extend({type:te("APP_UPDATE_EMAIL_SECONDARY_OTP"),payload:AE})).or(se.extend({type:te("APP_SYNC_THEME"),payload:SE})).or(se.extend({type:te("APP_SYNC_DAPP_DATA"),payload:IE})).or(se.extend({type:te("APP_RELOAD")})).or(se.extend({type:te("APP_RPC_ABORT")})),frameEvent:se.extend({type:te("FRAME_SWITCH_NETWORK_ERROR"),payload:Xe}).or(se.extend({type:te("FRAME_SWITCH_NETWORK_SUCCESS"),payload:LE})).or(se.extend({type:te("FRAME_CONNECT_EMAIL_SUCCESS"),payload:TE})).or(se.extend({type:te("FRAME_CONNECT_EMAIL_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_GET_FARCASTER_URI_SUCCESS"),payload:RE})).or(se.extend({type:te("FRAME_GET_FARCASTER_URI_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_CONNECT_FARCASTER_SUCCESS"),payload:OE})).or(se.extend({type:te("FRAME_CONNECT_FARCASTER_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_CONNECT_OTP_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_CONNECT_OTP_SUCCESS")})).or(se.extend({type:te("FRAME_CONNECT_DEVICE_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_CONNECT_DEVICE_SUCCESS")})).or(se.extend({type:te("FRAME_CONNECT_SOCIAL_SUCCESS"),payload:PE})).or(se.extend({type:te("FRAME_CONNECT_SOCIAL_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_GET_USER_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_GET_USER_SUCCESS"),payload:kE})).or(se.extend({type:te("FRAME_GET_SOCIAL_REDIRECT_URI_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_GET_SOCIAL_REDIRECT_URI_SUCCESS"),payload:UE})).or(se.extend({type:te("FRAME_SIGN_OUT_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_SIGN_OUT_SUCCESS")})).or(se.extend({type:te("FRAME_IS_CONNECTED_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_IS_CONNECTED_SUCCESS"),payload:$E})).or(se.extend({type:te("FRAME_GET_CHAIN_ID_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_GET_CHAIN_ID_SUCCESS"),payload:DE})).or(se.extend({type:te("FRAME_RPC_REQUEST_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_RPC_REQUEST_SUCCESS"),payload:qE})).or(se.extend({type:te("FRAME_SESSION_UPDATE"),payload:Pu})).or(se.extend({type:te("FRAME_UPDATE_EMAIL_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_UPDATE_EMAIL_SUCCESS"),payload:xE})).or(se.extend({type:te("FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS")})).or(se.extend({type:te("FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS"),payload:ME})).or(se.extend({type:te("FRAME_SYNC_THEME_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_SYNC_THEME_SUCCESS")})).or(se.extend({type:te("FRAME_SYNC_DAPP_DATA_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_SYNC_DAPP_DATA_SUCCESS")})).or(se.extend({type:te("FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS"),payload:BE})).or(se.extend({type:te("FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_INIT_SMART_ACCOUNT_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_SET_PREFERRED_ACCOUNT_SUCCESS"),payload:FE})).or(se.extend({type:te("FRAME_SET_PREFERRED_ACCOUNT_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_READY"),payload:jE})).or(se.extend({type:te("FRAME_RELOAD_ERROR"),payload:Xe})).or(se.extend({type:te("FRAME_RELOAD_SUCCESS")}))};function yc(t,e={}){var s;return typeof(e==null?void 0:e.type)=="string"&&((s=e==null?void 0:e.type)==null?void 0:s.includes(t))}function $b({projectId:t,chainId:e,enableLogger:s,rpcUrl:n=U.BLOCKCHAIN_API_RPC_URL,enableCloudAuthAccount:r=!1}){const i=new URL(gw);i.searchParams.set("projectId",t),i.searchParams.set("chainId",String(e)),i.searchParams.set("version",yw),i.searchParams.set("enableLogger",String(s)),i.searchParams.set("rpcUrl",n);const o=at.get("dapp_smart_account_version");return o&&(o==="v6"||o==="v7")&&(console.warn(">> AppKit - Forcing smart account version",o),i.searchParams.set("smartAccountVersion",o)),r&&i.searchParams.set("enableCloudAuthAccount","true"),i.toString()}class Db{constructor({projectId:e,isAppClient:s=!1,chainId:n="eip155:1",enableLogger:r=!0,enableCloudAuthAccount:i=!1,rpcUrl:o=U.BLOCKCHAIN_API_RPC_URL}){if(this.iframe=null,this.iframeIsReady=!1,this.initFrame=()=>{const a=document.getElementById("w3m-iframe");this.iframe&&!a&&document.body.appendChild(this.iframe)},this.events={registerFrameEventHandler:(a,c,l)=>{function d({data:u}){var p;if(!yc(re.FRAME_EVENT_KEY,u))return;const h=mc.frameEvent.safeParse(u);if(!h.success){console.warn("W3mFrame: invalid frame event",h.error.message);return}((p=h.data)==null?void 0:p.id)===a&&(c(h.data),window.removeEventListener("message",d))}is.isClient&&(window.addEventListener("message",d),l.addEventListener("abort",()=>{window.removeEventListener("message",d)}))},onFrameEvent:a=>{is.isClient&&window.addEventListener("message",({data:c})=>{if(!yc(re.FRAME_EVENT_KEY,c))return;const l=mc.frameEvent.safeParse(c);l.success?a(l.data):console.warn("W3mFrame: invalid frame event",l.error.message)})},onAppEvent:a=>{is.isClient&&window.addEventListener("message",({data:c})=>{if(!yc(re.APP_EVENT_KEY,c))return;const l=mc.appEvent.safeParse(c);l.success||console.warn("W3mFrame: invalid app event",l.error.message),a(c)})},postAppEvent:a=>{var c;if(is.isClient){if(!((c=this.iframe)!=null&&c.contentWindow))throw new Error("W3mFrame: iframe is not set");this.iframe.contentWindow.postMessage(a,"*")}},postFrameEvent:a=>{if(is.isClient){if(!parent)throw new Error("W3mFrame: parent is not set");parent.postMessage(a,"*")}}},this.projectId=e,this.frameLoadPromise=new Promise((a,c)=>{this.frameLoadPromiseResolver={resolve:a,reject:c}}),this.rpcUrl=o,s&&(this.frameLoadPromise=new Promise((a,c)=>{this.frameLoadPromiseResolver={resolve:a,reject:c}}),is.isClient)){const a=document.createElement("iframe");a.id="w3m-iframe",a.src=$b({projectId:e,chainId:n,enableLogger:r,rpcUrl:this.rpcUrl,enableCloudAuthAccount:i}),a.name="w3m-secure-iframe",a.style.position="fixed",a.style.zIndex="999999",a.style.display="none",a.style.border="none",a.style.animationDelay="0s, 50ms",a.style.borderBottomLeftRadius="clamp(0px, var(--apkt-borderRadius-8), 44px)",a.style.borderBottomRightRadius="clamp(0px, var(--apkt-borderRadius-8), 44px)",this.iframe=a,this.iframe.onerror=()=>{var c;(c=this.frameLoadPromiseResolver)==null||c.reject("Unable to load email login dependency")},this.events.onFrameEvent(c=>{var l;c.type==="@w3m-frame/READY"&&(this.iframeIsReady=!0,(l=this.frameLoadPromiseResolver)==null||l.resolve(void 0))})}}get networks(){const e=["eip155:1","eip155:5","eip155:11155111","eip155:10","eip155:420","eip155:42161","eip155:421613","eip155:137","eip155:80001","eip155:42220","eip155:1313161554","eip155:1313161555","eip155:56","eip155:97","eip155:43114","eip155:43113","eip155:324","eip155:280","eip155:100","eip155:8453","eip155:84531","eip155:84532","eip155:7777777","eip155:999","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z","solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1"].map(s=>({[s]:{rpcUrl:`${this.rpcUrl}/v1/?chainId=${s}&projectId=${this.projectId}`,chainId:s}}));return Object.assign({},...e)}}var Ya={exports:{}};const xu=Cy;Ya.exports=bn;const ho=Jb().console||{},Lb={mapHttpRequest:Bo,mapHttpResponse:Bo,wrapRequestSerializer:wc,wrapResponseSerializer:wc,wrapErrorSerializer:wc,req:Bo,res:Bo,err:Uu,errWithCause:Uu};function jn(t,e){return t==="silent"?1/0:e.levels.values[t]}const Ed=Symbol("pino.logFuncs"),Cl=Symbol("pino.hierarchy"),Mb={error:"log",fatal:"error",warn:"error",info:"log",debug:"log",trace:"log"};function ku(t,e){const s={logger:e,parent:t[Cl]};e[Cl]=s}function Bb(t,e,s){const n={};e.forEach(r=>{n[r]=s[r]?s[r]:ho[r]||ho[Mb[r]||"log"]||ti}),t[Ed]=n}function jb(t,e){return Array.isArray(t)?t.filter(function(n){return n!=="!stdSerializers.err"}):t===!0?Object.keys(e):!1}function bn(t){t=t||{},t.browser=t.browser||{};const e=t.browser.transmit;if(e&&typeof e.send!="function")throw Error("pino: transmit option must have a send function");const s=t.browser.write||ho;t.browser.write&&(t.browser.asObject=!0);const n=t.serializers||{},r=jb(t.browser.serialize,n);let i=t.browser.serialize;Array.isArray(t.browser.serialize)&&t.browser.serialize.indexOf("!stdSerializers.err")>-1&&(i=!1);const o=Object.keys(t.customLevels||{}),a=["error","fatal","warn","info","debug","trace"].concat(o);typeof s=="function"&&a.forEach(function(f){s[f]=s}),(t.enabled===!1||t.browser.disabled)&&(t.level="silent");const c=t.level||"info",l=Object.create(s);l.log||(l.log=ti),Bb(l,a,s),ku({},l),Object.defineProperty(l,"levelVal",{get:u}),Object.defineProperty(l,"level",{get:h,set:p});const d={transmit:e,serialize:r,asObject:t.browser.asObject,asObjectBindingsOnly:t.browser.asObjectBindingsOnly,formatters:t.browser.formatters,levels:a,timestamp:Gb(t),messageKey:t.messageKey||"msg",onChild:t.onChild||ti};l.levels=Fb(t),l.level=c,l.isLevelEnabled=function(f){return this.levels.values[f]?this.levels.values[f]>=this.levels.values[this.level]:!1},l.setMaxListeners=l.getMaxListeners=l.emit=l.addListener=l.on=l.prependListener=l.once=l.prependOnceListener=l.removeListener=l.removeAllListeners=l.listeners=l.listenerCount=l.eventNames=l.write=l.flush=ti,l.serializers=n,l._serialize=r,l._stdErrSerialize=i,l.child=function(...f){return m.call(this,d,...f)},e&&(l._logEvent=vl());function u(){return jn(this.level,this)}function h(){return this._level}function p(f){if(f!=="silent"&&!this.levels.values[f])throw Error("unknown level "+f);this._level=f,er(this,d,l,"error"),er(this,d,l,"fatal"),er(this,d,l,"warn"),er(this,d,l,"info"),er(this,d,l,"debug"),er(this,d,l,"trace"),o.forEach(y=>{er(this,d,l,y)})}function m(f,y,b){if(!y)throw new Error("missing bindings for child Pino");b=b||{},r&&y.serializers&&(b.serializers=y.serializers);const S=b.serializers;if(r&&S){var v=Object.assign({},n,S),C=t.browser.serialize===!0?Object.keys(v):r;delete y.serializers,bd([y],C,v,this._stdErrSerialize)}function R(L){this._childLevel=(L._childLevel|0)+1,this.bindings=y,v&&(this.serializers=v,this._serialize=C),e&&(this._logEvent=vl([].concat(L._logEvent.bindings,y)))}R.prototype=this;const k=new R(this);return ku(this,k),k.child=function(...L){return m.call(this,f,...L)},k.level=b.level||this.level,f.onChild(k),k}return l}function Fb(t){const e=t.customLevels||{},s=Object.assign({},bn.levels.values,e),n=Object.assign({},bn.levels.labels,qb(e));return{values:s,labels:n}}function qb(t){const e={};return Object.keys(t).forEach(function(s){e[t[s]]=s}),e}bn.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}};bn.stdSerializers=Lb;bn.stdTimeFunctions=Object.assign({},{nullTime:Uf,epochTime:$f,unixTime:Yb,isoTime:Zb});function Wb(t){const e=[];t.bindings&&e.push(t.bindings);let s=t[Cl];for(;s.parent;)s=s.parent,s.logger.bindings&&e.push(s.logger.bindings);return e.reverse()}function er(t,e,s,n){if(Object.defineProperty(t,n,{value:jn(t.level,s)>jn(n,s)?ti:s[Ed][n],writable:!0,enumerable:!0,configurable:!0}),t[n]===ti){if(!e.transmit)return;const i=e.transmit.level||t.level,o=jn(i,s);if(jn(n,s)<o)return}t[n]=Vb(t,e,s,n);const r=Wb(t);r.length!==0&&(t[n]=Hb(r,t[n]))}function Hb(t,e){return function(){return e.apply(this,[...t,...arguments])}}function Vb(t,e,s,n){return function(r){return function(){const o=e.timestamp(),a=new Array(arguments.length),c=Object.getPrototypeOf&&Object.getPrototypeOf(this)===ho?ho:this;for(var l=0;l<a.length;l++)a[l]=arguments[l];var d=!1;if(e.serialize&&(bd(a,this._serialize,this.serializers,this._stdErrSerialize),d=!0),e.asObject||e.formatters?r.call(c,...zb(this,n,a,o,e)):r.apply(c,a),e.transmit){const u=e.transmit.level||t._level,h=jn(u,s),p=jn(n,s);if(p<h)return;Kb(this,{ts:o,methodLevel:n,methodValue:p,transmitValue:s.levels.values[e.transmit.level||t._level],send:e.transmit.send,val:jn(t._level,s)},a,d)}}}(t[Ed][n])}function zb(t,e,s,n,r){const{level:i,log:o=u=>u}=r.formatters||{},a=s.slice();let c=a[0];const l={};let d=(t._childLevel|0)+1;if(d<1&&(d=1),n&&(l.time=n),i){const u=i(e,t.levels.values[e]);Object.assign(l,u)}else l.level=t.levels.values[e];if(r.asObjectBindingsOnly){if(c!==null&&typeof c=="object")for(;d--&&typeof a[0]=="object";)Object.assign(l,a.shift());return[o(l),...a]}else{if(c!==null&&typeof c=="object"){for(;d--&&typeof a[0]=="object";)Object.assign(l,a.shift());c=a.length?xu(a.shift(),a):void 0}else typeof c=="string"&&(c=xu(a.shift(),a));return c!==void 0&&(l[r.messageKey]=c),[o(l)]}}function bd(t,e,s,n){for(const r in t)if(n&&t[r]instanceof Error)t[r]=bn.stdSerializers.err(t[r]);else if(typeof t[r]=="object"&&!Array.isArray(t[r])&&e)for(const i in t[r])e.indexOf(i)>-1&&i in s&&(t[r][i]=s[i](t[r][i]))}function Kb(t,e,s,n=!1){const r=e.send,i=e.ts,o=e.methodLevel,a=e.methodValue,c=e.val,l=t._logEvent.bindings;n||bd(s,t._serialize||Object.keys(t.serializers),t.serializers,t._stdErrSerialize===void 0?!0:t._stdErrSerialize),t._logEvent.ts=i,t._logEvent.messages=s.filter(function(d){return l.indexOf(d)===-1}),t._logEvent.level.label=o,t._logEvent.level.value=a,r(o,t._logEvent,c),t._logEvent=vl(l)}function vl(t){return{ts:0,messages:[],bindings:t||[],level:{label:"",value:0}}}function Uu(t){const e={type:t.constructor.name,msg:t.message,stack:t.stack};for(const s in t)e[s]===void 0&&(e[s]=t[s]);return e}function Gb(t){return typeof t.timestamp=="function"?t.timestamp:t.timestamp===!1?Uf:$f}function Bo(){return{}}function wc(t){return t}function ti(){}function Uf(){return!1}function $f(){return Date.now()}function Yb(){return Math.round(Date.now()/1e3)}function Zb(){return new Date(Date.now()).toISOString()}function Jb(){function t(e){return typeof e<"u"&&e}try{return typeof globalThis<"u"||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch{return t(self)||t(window)||t(this)||{}}}Ya.exports.default=bn;Ya.exports.pino=bn;var Kr=Ya.exports;const Df=py(Kr),Xb={level:"info"},Za="custom_context",Cd=1e3*1024;var Qb=Object.defineProperty,eC=(t,e,s)=>e in t?Qb(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,$n=(t,e,s)=>eC(t,typeof e!="symbol"?e+"":e,s);let tC=class{constructor(e){$n(this,"nodeValue"),$n(this,"sizeInBytes"),$n(this,"next"),this.nodeValue=e,this.sizeInBytes=new TextEncoder().encode(this.nodeValue).length,this.next=null}get value(){return this.nodeValue}get size(){return this.sizeInBytes}},$u=class{constructor(e){$n(this,"lengthInNodes"),$n(this,"sizeInBytes"),$n(this,"head"),$n(this,"tail"),$n(this,"maxSizeInBytes"),this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const s=new tC(e);if(s.size>this.maxSizeInBytes)throw new Error(`[LinkedList] Value too big to insert into list: ${e} with size ${s.size}`);for(;this.size+s.size>this.maxSizeInBytes;)this.shift();this.head?(this.tail&&(this.tail.next=s),this.tail=s):(this.head=s,this.tail=s),this.lengthInNodes++,this.sizeInBytes+=s.size}shift(){if(!this.head)return;const e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){const e=[];let s=this.head;for(;s!==null;)e.push(s.value),s=s.next;return e}get length(){return this.lengthInNodes}get size(){return this.sizeInBytes}toOrderedArray(){return Array.from(this)}[Symbol.iterator](){let e=this.head;return{next:()=>{if(!e)return{done:!0,value:null};const s=e.value;return e=e.next,{done:!1,value:s}}}}};var sC=Object.defineProperty,nC=(t,e,s)=>e in t?sC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,jo=(t,e,s)=>nC(t,typeof e!="symbol"?e+"":e,s);let Lf=class{constructor(e,s=Cd){jo(this,"logs"),jo(this,"level"),jo(this,"levelValue"),jo(this,"MAX_LOG_SIZE_IN_BYTES"),this.level=e??"error",this.levelValue=Kr.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=s,this.logs=new $u(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,s){s===Kr.levels.values.error?console.error(e):s===Kr.levels.values.warn?console.warn(e):s===Kr.levels.values.debug?console.debug(e):s===Kr.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(pl({timestamp:new Date().toISOString(),log:e}));const s=typeof e=="string"?JSON.parse(e).level:e.level;s>=this.levelValue&&this.forwardToConsole(e,s)}getLogs(){return this.logs}clearLogs(){this.logs=new $u(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const s=this.getLogArray();return s.push(pl({extraMetadata:e})),new Blob(s,{type:"application/json"})}};var rC=Object.defineProperty,iC=(t,e,s)=>e in t?rC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,oC=(t,e,s)=>iC(t,e+"",s);let aC=class{constructor(e,s=Cd){oC(this,"baseChunkLogger"),this.baseChunkLogger=new Lf(e,s)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}downloadLogsBlobInBrowser(e){const s=URL.createObjectURL(this.logsToBlob(e)),n=document.createElement("a");n.href=s,n.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(s)}};var cC=Object.defineProperty,lC=(t,e,s)=>e in t?cC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,dC=(t,e,s)=>lC(t,e+"",s);let uC=class{constructor(e,s=Cd){dC(this,"baseChunkLogger"),this.baseChunkLogger=new Lf(e,s)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}};var hC=Object.defineProperty,pC=Object.defineProperties,fC=Object.getOwnPropertyDescriptors,Du=Object.getOwnPropertySymbols,gC=Object.prototype.hasOwnProperty,mC=Object.prototype.propertyIsEnumerable,Lu=(t,e,s)=>e in t?hC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Na=(t,e)=>{for(var s in e||(e={}))gC.call(e,s)&&Lu(t,s,e[s]);if(Du)for(var s of Du(e))mC.call(e,s)&&Lu(t,s,e[s]);return t},Ta=(t,e)=>pC(t,fC(e));function vd(t){return Ta(Na({},t),{level:(t==null?void 0:t.level)||Xb.level})}function yC(t,e,s=Za){return t[s]=e,t}function Jt(t,e=Za){return t[e]||""}function wC(t,e,s=Za){const n=Jt(t,s);return n.trim()?`${n}/${e}`:e}function Xt(t,e,s=Za){const n=wC(t,e,s),r=t.child({context:n});return yC(r,n,s)}function EC(t){var e,s;const n=new aC((e=t.opts)==null?void 0:e.level,t.maxSizeInBytes);return{logger:Df(Ta(Na({},t.opts),{level:"trace",browser:Ta(Na({},(s=t.opts)==null?void 0:s.browser),{write:r=>n.write(r)})})),chunkLoggerController:n}}function bC(t){var e;const s=new uC((e=t.opts)==null?void 0:e.level,t.maxSizeInBytes);return{logger:Df(Ta(Na({},t.opts),{level:"trace"}),s),chunkLoggerController:s}}function Ja(t){return typeof t.loggerOverride<"u"&&typeof t.loggerOverride!="string"?{logger:t.loggerOverride,chunkLoggerController:null}:typeof window<"u"?EC(t):bC(t)}class CC{constructor(e){var i;const s=vd({level:mw}),{logger:n,chunkLoggerController:r}=Ja({opts:s});this.logger=Xt(n,this.constructor.name),this.chunkLoggerController=r,typeof window<"u"&&((i=this.chunkLoggerController)!=null&&i.downloadLogsBlobInBrowser)&&(window.downloadAppKitLogsBlob||(window.downloadAppKitLogsBlob={}),window.downloadAppKitLogsBlob.sdk=()=>{var o;(o=this.chunkLoggerController)!=null&&o.downloadLogsBlobInBrowser&&this.chunkLoggerController.downloadLogsBlobInBrowser({projectId:e})})}}class vC{constructor({projectId:e,chainId:s,enableLogger:n=!0,onTimeout:r,abortController:i,getActiveCaipNetwork:o,getCaipNetworks:a,enableCloudAuthAccount:c,metadata:l,sdkVersion:d,sdkType:u}){this.openRpcRequests=new Map,this.isInitialized=!1,n&&(this.w3mLogger=new CC(e)),this.abortController=i,this.getActiveCaipNetwork=o,this.getCaipNetworks=a;const h=this.getRpcUrl(s);this.projectId=e,this.sdkVersion=d,this.sdkType=u,this.metadata=l,this.w3mFrame=new Db({projectId:e,isAppClient:!0,chainId:s,enableLogger:n,rpcUrl:h,enableCloudAuthAccount:c}),this.onTimeout=r,this.getLoginEmailUsed()&&this.createFrame()}async createFrame(){this.w3mFrame.initFrame(),this.initPromise=new Promise(e=>{this.w3mFrame.events.onFrameEvent(s=>{s.type===re.FRAME_READY&&setTimeout(()=>{e()},500)})}),await this.initPromise,await this.syncDappData({metadata:this.metadata,projectId:this.projectId,sdkVersion:this.sdkVersion,sdkType:this.sdkType}),await this.getSmartAccountEnabledNetworks(),this.isInitialized=!0,this.initPromise=void 0}async init(){if(!this.isInitialized){if(this.initPromise){await this.initPromise;return}await this.createFrame()}}getLoginEmailUsed(){return!!at.get(re.EMAIL_LOGIN_USED_KEY)}getEmail(){return at.get(re.EMAIL)}getUsername(){return at.get(re.SOCIAL_USERNAME)}async reload(){var e;try{await this.appEvent({type:re.APP_RELOAD})}catch(s){throw(e=this.w3mLogger)==null||e.logger.error({error:s},"Error reloading iframe"),s}}async connectEmail(e){var s;try{is.checkIfAllowedToTriggerEmail(),await this.init();const n=await this.appEvent({type:re.APP_CONNECT_EMAIL,payload:e});return this.setNewLastEmailLoginTime(),n}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error connecting email"),n}}async connectDevice(){var e;try{return this.appEvent({type:re.APP_CONNECT_DEVICE})}catch(s){throw(e=this.w3mLogger)==null||e.logger.error({error:s},"Error connecting device"),s}}async connectOtp(e){var s;try{return this.appEvent({type:re.APP_CONNECT_OTP,payload:e})}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error connecting otp"),n}}async isConnected(){var e;try{if(!this.getLoginEmailUsed())return{isConnected:!1};const s=await this.appEvent({type:re.APP_IS_CONNECTED});return s!=null&&s.isConnected||this.deleteAuthLoginCache(),s}catch(s){throw this.deleteAuthLoginCache(),(e=this.w3mLogger)==null||e.logger.error({error:s},"Error checking connection"),s}}async getChainId(){var e;try{const s=await this.appEvent({type:re.APP_GET_CHAIN_ID});return this.setLastUsedChainId(s.chainId),s}catch(s){throw(e=this.w3mLogger)==null||e.logger.error({error:s},"Error getting chain id"),s}}async getSocialRedirectUri(e){var s;try{return await this.init(),this.appEvent({type:re.APP_GET_SOCIAL_REDIRECT_URI,payload:e})}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error getting social redirect uri"),n}}async updateEmail(e){var s;try{const n=await this.appEvent({type:re.APP_UPDATE_EMAIL,payload:e});return this.setNewLastEmailLoginTime(),n}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error updating email"),n}}async updateEmailPrimaryOtp(e){var s;try{return this.appEvent({type:re.APP_UPDATE_EMAIL_PRIMARY_OTP,payload:e})}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error updating email primary otp"),n}}async updateEmailSecondaryOtp(e){var s;try{const n=await this.appEvent({type:re.APP_UPDATE_EMAIL_SECONDARY_OTP,payload:e});return this.setLoginSuccess(n.newEmail),n}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error updating email secondary otp"),n}}async syncTheme(e){var s;try{return this.appEvent({type:re.APP_SYNC_THEME,payload:e})}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error syncing theme"),n}}async syncDappData(e){var s;try{return this.appEvent({type:re.APP_SYNC_DAPP_DATA,payload:e})}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error syncing dapp data"),n}}async getSmartAccountEnabledNetworks(){var e;try{const s=await this.appEvent({type:re.APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS});return this.persistSmartAccountEnabledNetworks(s.smartAccountEnabledNetworks),s}catch(s){throw this.persistSmartAccountEnabledNetworks([]),(e=this.w3mLogger)==null||e.logger.error({error:s},"Error getting smart account enabled networks"),s}}async setPreferredAccount(e){var s;try{return this.appEvent({type:re.APP_SET_PREFERRED_ACCOUNT,payload:{type:e}})}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error setting preferred account"),n}}async connect(e){var s,n;if(e!=null&&e.socialUri)try{await this.init();const r=this.getRpcUrl(e.chainId),i=await this.appEvent({type:re.APP_CONNECT_SOCIAL,payload:{uri:e.socialUri,preferredAccountType:e.preferredAccountType,chainId:e.chainId,siwxMessage:e.siwxMessage,rpcUrl:r}});return i.userName&&this.setSocialLoginSuccess(i.userName),this.setLoginSuccess(i.email),this.setLastUsedChainId(i.chainId),this.user=i,i}catch(r){throw(s=this.w3mLogger)==null||s.logger.error({error:r},"Error connecting social"),r}else try{const r=(e==null?void 0:e.chainId)||this.getLastUsedChainId()||1,i=await this.getUser({chainId:r,preferredAccountType:e==null?void 0:e.preferredAccountType,siwxMessage:e==null?void 0:e.siwxMessage,rpcUrl:this.getRpcUrl(r)});return this.setLoginSuccess(i.email),this.setLastUsedChainId(i.chainId),this.user=i,i}catch(r){throw(n=this.w3mLogger)==null||n.logger.error({error:r},"Error connecting"),r}}async getUser(e){var s;try{await this.init();const n=(e==null?void 0:e.chainId)||this.getLastUsedChainId()||1,r=await this.appEvent({type:re.APP_GET_USER,payload:{...e,chainId:n,rpcUrl:this.getRpcUrl(n)}});return this.user=r,r}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error connecting"),n}}async connectSocial({uri:e,chainId:s,preferredAccountType:n}){var r;try{await this.init();const i=this.getRpcUrl(s),o=await this.appEvent({type:re.APP_CONNECT_SOCIAL,payload:{uri:e,chainId:s,rpcUrl:i,preferredAccountType:n}});return o.userName&&this.setSocialLoginSuccess(o.userName),o}catch(i){throw(r=this.w3mLogger)==null||r.logger.error({error:i},"Error connecting social"),i}}async getFarcasterUri(){var e;try{return await this.init(),await this.appEvent({type:re.APP_GET_FARCASTER_URI})}catch(s){throw(e=this.w3mLogger)==null||e.logger.error({error:s},"Error getting farcaster uri"),s}}async connectFarcaster(){var e;try{const s=await this.appEvent({type:re.APP_CONNECT_FARCASTER});return s.userName&&this.setSocialLoginSuccess(s.userName),s}catch(s){throw(e=this.w3mLogger)==null||e.logger.error({error:s},"Error connecting farcaster"),s}}async switchNetwork({chainId:e}){var s;try{const n=this.getRpcUrl(e),r=await this.appEvent({type:re.APP_SWITCH_NETWORK,payload:{chainId:e,rpcUrl:n}});return this.setLastUsedChainId(r.chainId),r}catch(n){throw(s=this.w3mLogger)==null||s.logger.error({error:n},"Error switching network"),n}}async disconnect(){var e;try{return this.deleteAuthLoginCache(),await new Promise(async n=>{const r=setTimeout(()=>{n()},3e3);await this.appEvent({type:re.APP_SIGN_OUT}),clearTimeout(r),n()})}catch(s){throw(e=this.w3mLogger)==null||e.logger.error({error:s},"Error disconnecting"),s}}async request(e){var n,r,i,o,a;const s=e;try{if(et.GET_CHAIN_ID===e.method)return this.getLastUsedChainId();const c=e.chainNamespace||"eip155",l=(n=this.getActiveCaipNetwork(c))==null?void 0:n.id;s.chainNamespace=c,s.chainId=l,s.rpcUrl=this.getRpcUrl(l),(r=this.rpcRequestHandler)==null||r.call(this,e);const d=await this.appEvent({type:re.APP_RPC_REQUEST,payload:s});return(i=this.rpcSuccessHandler)==null||i.call(this,d,s),d}catch(c){throw(o=this.rpcErrorHandler)==null||o.call(this,c,s),(a=this.w3mLogger)==null||a.logger.error({error:c},"Error requesting"),c}}onRpcRequest(e){this.rpcRequestHandler=e}onRpcSuccess(e){this.rpcSuccessHandler=e}onRpcError(e){this.rpcErrorHandler=e}onIsConnected(e){this.w3mFrame.events.onFrameEvent(s=>{s.type===re.FRAME_IS_CONNECTED_SUCCESS&&s.payload.isConnected&&e()})}onNotConnected(e){this.w3mFrame.events.onFrameEvent(s=>{s.type===re.FRAME_IS_CONNECTED_ERROR&&e(),s.type===re.FRAME_IS_CONNECTED_SUCCESS&&!s.payload.isConnected&&e()})}onConnect(e){this.w3mFrame.events.onFrameEvent(s=>{s.type===re.FRAME_GET_USER_SUCCESS&&e(s.payload)})}onSocialConnected(e){this.w3mFrame.events.onFrameEvent(s=>{s.type===re.FRAME_CONNECT_SOCIAL_SUCCESS&&e(s.payload)})}async getCapabilities(){try{return await this.request({method:"wallet_getCapabilities"})||{}}catch{return{}}}onSetPreferredAccount(e){this.w3mFrame.events.onFrameEvent(s=>{s.type===re.FRAME_SET_PREFERRED_ACCOUNT_SUCCESS?e(s.payload):s.type===re.FRAME_SET_PREFERRED_ACCOUNT_ERROR&&e({type:et.ACCOUNT_TYPES.EOA})})}getAvailableChainIds(){return Object.keys(this.w3mFrame.networks)}async rejectRpcRequests(){var e;try{await Promise.all(Array.from(this.openRpcRequests.values()).map(async({abortController:s,method:n})=>{et.SAFE_RPC_METHODS.includes(n)||s.abort(),await this.appEvent({type:re.APP_RPC_ABORT})})),this.openRpcRequests.clear()}catch(s){(e=this.w3mLogger)==null||e.logger.error({error:s},"Error aborting RPC request")}}async appEvent(e){let s,n;function r(c){return c.replace("@w3m-app/","")}const i=[re.APP_SYNC_DAPP_DATA,re.APP_SYNC_THEME,re.APP_SET_PREFERRED_ACCOUNT],o=r(e.type);return!this.w3mFrame.iframeIsReady&&!i.includes(e.type)&&(n=setTimeout(()=>{var c;(c=this.onTimeout)==null||c.call(this,"iframe_load_failed"),this.abortController.abort()},2e4)),await this.w3mFrame.frameLoadPromise,clearTimeout(n),[re.APP_CONNECT_EMAIL,re.APP_CONNECT_DEVICE,re.APP_CONNECT_OTP,re.APP_CONNECT_SOCIAL,re.APP_GET_SOCIAL_REDIRECT_URI].map(r).includes(o)&&(s=setTimeout(()=>{var c;(c=this.onTimeout)==null||c.call(this,"iframe_request_timeout"),this.abortController.abort()},12e4)),new Promise((c,l)=>{var p,m,f;const d=Math.random().toString(36).substring(7);(f=(p=this.w3mLogger)==null?void 0:(m=p.logger).info)==null||f.call(m,{event:e,id:d},"Sending app event"),this.w3mFrame.events.postAppEvent({...e,id:d});const u=new AbortController;if(o==="RPC_REQUEST"){const y=e;this.openRpcRequests.set(d,{...y.payload,abortController:u})}u.signal.addEventListener("abort",()=>{o==="RPC_REQUEST"?l(new Error("Request was aborted")):o!=="GET_FARCASTER_URI"&&l(new Error("Something went wrong"))});const h=(y,b)=>{var S,v,C;y.id===d&&((v=b==null?void 0:(S=b.logger).info)==null||v.call(S,{framEvent:y,id:d},"Received frame response"),this.openRpcRequests.delete(y.id),y.type===`@w3m-frame/${o}_SUCCESS`?(s&&clearTimeout(s),n&&clearTimeout(n),"payload"in y&&c(y.payload),c(void 0)):y.type===`@w3m-frame/${o}_ERROR`&&(s&&clearTimeout(s),n&&clearTimeout(n),"payload"in y&&l(new Error(((C=y.payload)==null?void 0:C.message)||"An error occurred")),l(new Error("An error occurred"))))};this.w3mFrame.events.registerFrameEventHandler(d,y=>h(y,this.w3mLogger),this.abortController.signal)})}setNewLastEmailLoginTime(){at.set(re.LAST_EMAIL_LOGIN_TIME,Date.now().toString())}setSocialLoginSuccess(e){at.set(re.SOCIAL_USERNAME,e)}setLoginSuccess(e){e&&at.set(re.EMAIL,e),at.set(re.EMAIL_LOGIN_USED_KEY,"true"),at.delete(re.LAST_EMAIL_LOGIN_TIME)}deleteAuthLoginCache(){at.delete(re.EMAIL_LOGIN_USED_KEY),at.delete(re.EMAIL),at.delete(re.LAST_USED_CHAIN_KEY),at.delete(re.SOCIAL_USERNAME)}setLastUsedChainId(e){e&&at.set(re.LAST_USED_CHAIN_KEY,String(e))}getLastUsedChainId(){const e=at.get(re.LAST_USED_CHAIN_KEY)??void 0,s=Number(e);return isNaN(s)?e:s}persistSmartAccountEnabledNetworks(e){at.set(re.SMART_ACCOUNT_ENABLED_NETWORKS,e.join(","))}getRpcUrl(e){var i,o;let s=e===void 0?void 0:"eip155";typeof e=="string"&&(e.includes(":")?s=(i=ct.parseCaipNetworkId(e))==null?void 0:i.chainNamespace:Number.isInteger(Number(e))?s="eip155":s="solana");const n=this.getCaipNetworks(s),r=e?n.find(a=>String(a.id)===String(e)||a.caipNetworkId===e):n[0];return(o=r==null?void 0:r.rpcUrls.default.http)==null?void 0:o[0]}}async function Mf(t){return new Promise(e=>setTimeout(e,t))}function _C(t,{delay:e=100,retryCount:s=2,shouldRetry:n=()=>!0}={}){return new Promise((r,i)=>{const o=async({count:a=0}={})=>{const c=async({error:l})=>{const d=typeof e=="function"?e({count:a,error:l}):e;d&&await Mf(d),o({count:a+1})};try{const l=await t();r(l)}catch(l){if(a<s&&await n({count:a,error:l}))return c({error:l});i(l)}};o()})}const _l=256;let Fo=_l,qo;function AC(t=11){if(!qo||Fo+t>_l*2){qo="",Fo=0;for(let e=0;e<_l;e++)qo+=(256+Math.random()*256|0).toString(16).substring(1)}return qo.substring(Fo,Fo+++t)}const Wo=new fy(8192);function SC(t,{enabled:e=!0,id:s}){if(!e||!s)return t();if(Wo.get(s))return Wo.get(s);const n=t().finally(()=>Wo.delete(s));return Wo.set(s,n),n}function IC(t,e={}){return async(s,n={})=>{var u;const{dedupe:r=!1,methods:i,retryDelay:o=150,retryCount:a=3,uid:c}={...e,...n},{method:l}=s;if((u=i==null?void 0:i.exclude)!=null&&u.includes(l))throw new $o(new Error("method not supported"),{method:l});if(i!=null&&i.include&&!i.include.includes(l))throw new $o(new Error("method not supported"),{method:l});const d=r?gy(`${c}.${oa(s)}`):void 0;return SC(()=>_C(async()=>{try{return await t(s)}catch(h){const p=h;switch(p.code){case yu.code:throw new yu(p);case mu.code:throw new mu(p);case gu.code:throw new gu(p,{method:s.method});case fu.code:throw new fu(p);case hl.code:throw new hl(p);case pu.code:throw new pu(p);case hu.code:throw new hu(p);case uu.code:throw new uu(p);case ul.code:throw new ul(p);case $o.code:throw new $o(p,{method:s.method});case dl.code:throw new dl(p);case du.code:throw new du(p);case aa.code:throw new aa(p);case lu.code:throw new lu(p);case cu.code:throw new cu(p);case au.code:throw new au(p);case ou.code:throw new ou(p);case iu.code:throw new iu(p);case ru.code:throw new ru(p);case nu.code:throw new nu(p);case su.code:throw new su(p);case tu.code:throw new tu(p);case eu.code:throw new eu(p);case Qd.code:throw new Qd(p);case Xd.code:throw new Xd(p);case 5e3:throw new aa(p);default:throw h instanceof pf?h:new my(p)}}},{delay:({count:h,error:p})=>{var m;if(p&&p instanceof Mi){const f=(m=p==null?void 0:p.headers)==null?void 0:m.get("Retry-After");if(f!=null&&f.match(/\d/))return Number.parseInt(f,10)*1e3}return~~(1<<h)*o},retryCount:a,shouldRetry:({error:h})=>NC(h)}),{enabled:r,id:d})}}function NC(t){return"code"in t&&typeof t.code=="number"?t.code===-1||t.code===dl.code||t.code===hl.code:t instanceof Mi&&t.status?t.status===403||t.status===408||t.status===413||t.status===429||t.status===500||t.status===502||t.status===503||t.status===504:!0}function TC(t,{errorInstance:e=new Error("timed out"),timeout:s,signal:n}){return new Promise((r,i)=>{(async()=>{let o;try{const a=new AbortController;s>0&&(o=setTimeout(()=>{n&&a.abort()},s)),r(await t({signal:(a==null?void 0:a.signal)||null}))}catch(a){(a==null?void 0:a.name)==="AbortError"&&i(e),i(a)}finally{clearTimeout(o)}})()})}function RC(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const Mu=RC();function OC(t,e={}){return{async request(s){var h;const{body:n,fetchFn:r=e.fetchFn??fetch,onRequest:i=e.onRequest,onResponse:o=e.onResponse,timeout:a=e.timeout??1e4}=s,c={...e.fetchOptions??{},...s.fetchOptions??{}},{headers:l,method:d,signal:u}=c;try{const p=await TC(async({signal:f})=>{const y={...c,body:Array.isArray(n)?oa(n.map(C=>({jsonrpc:"2.0",id:C.id??Mu.take(),...C}))):oa({jsonrpc:"2.0",id:n.id??Mu.take(),...n}),headers:{"Content-Type":"application/json",...l},method:d||"POST",signal:u||(a>0?f:null)},b=new Request(t,y),S=await(i==null?void 0:i(b,y))??{...y,url:t};return await r(S.url??t,S)},{errorInstance:new wu({body:n,url:t}),timeout:a,signal:!0});o&&await o(p);let m;if((h=p.headers.get("Content-Type"))!=null&&h.startsWith("application/json"))m=await p.json();else{m=await p.text();try{m=JSON.parse(m||"{}")}catch(f){if(p.ok)throw f;m={error:m}}}if(!p.ok)throw new Mi({body:n,details:oa(m.error)||p.statusText,headers:p.headers,status:p.status,url:t});return m}catch(p){throw p instanceof Mi||p instanceof wu?p:new Mi({body:n,cause:p,url:t})}}}}function Bf({key:t,methods:e,name:s,request:n,retryCount:r=3,retryDelay:i=150,timeout:o,type:a},c){const l=AC();return{config:{key:t,methods:e,name:s,request:n,retryCount:r,retryDelay:i,timeout:o,type:a},request:IC(n,{methods:e,retryCount:r,retryDelay:i,uid:l}),value:c}}function Bu(t,e={}){const{key:s="fallback",name:n="Fallback",rank:r=!1,shouldThrow:i=PC,retryCount:o,retryDelay:a}=e;return({chain:c,pollingInterval:l=4e3,timeout:d,...u})=>{let h=t,p=()=>{};const m=Bf({key:s,name:n,async request({method:f,params:y}){let b;const S=async(v=0)=>{const C=h[v]({...u,chain:c,retryCount:0,timeout:d});try{const R=await C.request({method:f,params:y});return p({method:f,params:y,response:R,transport:C,status:"success"}),R}catch(R){if(p({error:R,method:f,params:y,transport:C,status:"error"}),i(R)||v===h.length-1||(b??(b=h.slice(v+1).some(k=>{const{include:L,exclude:F}=k({chain:c}).config.methods||{};return L?L.includes(f):F?!F.includes(f):!0})),!b))throw R;return S(v+1)}};return S()},retryCount:o,retryDelay:a,type:"fallback"},{onResponse:f=>p=f,transports:h.map(f=>f({chain:c,retryCount:0}))});if(r){const f=typeof r=="object"?r:{};xC({chain:c,interval:f.interval??l,onTransports:y=>h=y,ping:f.ping,sampleCount:f.sampleCount,timeout:f.timeout,transports:h,weights:f.weights})}return m}}function PC(t){return!!("code"in t&&typeof t.code=="number"&&(t.code===ul.code||t.code===aa.code||yy.nodeMessage.test(t.message)||t.code===5e3))}function xC({chain:t,interval:e=4e3,onTransports:s,ping:n,sampleCount:r=10,timeout:i=1e3,transports:o,weights:a={}}){const{stability:c=.7,latency:l=.3}=a,d=[],u=async()=>{const h=await Promise.all(o.map(async f=>{const y=f({chain:t,retryCount:0,timeout:i}),b=Date.now();let S,v;try{await(n?n({transport:y}):y.request({method:"net_listening"})),v=1}catch{v=0}finally{S=Date.now()}return{latency:S-b,success:v}}));d.push(h),d.length>r&&d.shift();const p=Math.max(...d.map(f=>Math.max(...f.map(({latency:y})=>y)))),m=o.map((f,y)=>{const b=d.map(k=>k[y].latency),v=1-b.reduce((k,L)=>k+L,0)/b.length/p,C=d.map(k=>k[y].success),R=C.reduce((k,L)=>k+L,0)/C.length;return R===0?[0,y]:[l*v+c*R,y]}).sort((f,y)=>y[0]-f[0]);s(m.map(([,f])=>o[f])),await Mf(e),u()};u()}class kC extends pf{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}function Ho(t,e={}){const{batch:s,fetchFn:n,fetchOptions:r,key:i="http",methods:o,name:a="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:l,retryDelay:d,raw:u}=e;return({chain:h,retryCount:p,timeout:m})=>{const{batchSize:f=1e3,wait:y=0}=typeof s=="object"?s:{},b=e.retryCount??p,S=m??e.timeout??1e4,v=t||(h==null?void 0:h.rpcUrls.default.http[0]);if(!v)throw new kC;const C=OC(v,{fetchFn:n,fetchOptions:r,onRequest:c,onResponse:l,timeout:S});return Bf({key:i,methods:o,name:a,async request({method:R,params:k}){const L={method:R,params:k},{schedule:F}=wy({id:v,wait:y,shouldSplitBatch(O){return O.length>f},fn:O=>C.request({body:O}),sort:(O,A)=>O.id-A.id}),x=async O=>s?F(O):[await C.request({body:O})],[{error:B,result:W}]=await x(L);if(u)return{error:B,result:W};if(B)throw new Ey({body:L,error:B,url:v});return W},retryCount:b,retryDelay:d,timeout:S,type:"http"},{fetchOptions:r,url:v})}}async function Ci(...t){const e=await fetch(...t);if(!e.ok)throw new Error(`HTTP status code: ${e.status}`,{cause:e});return e}class So{constructor({baseUrl:e,clientId:s}){this.baseUrl=e,this.clientId=s}async get({headers:e,signal:s,cache:n,...r}){const i=this.createUrl(r);return(await Ci(i,{method:"GET",headers:e,signal:s,cache:n})).json()}async getBlob({headers:e,signal:s,...n}){const r=this.createUrl(n);return(await Ci(r,{method:"GET",headers:e,signal:s})).blob()}async post({body:e,headers:s,signal:n,...r}){const i=this.createUrl(r);return(await Ci(i,{method:"POST",headers:s,body:e?JSON.stringify(e):void 0,signal:n})).json()}async put({body:e,headers:s,signal:n,...r}){const i=this.createUrl(r);return(await Ci(i,{method:"PUT",headers:s,body:e?JSON.stringify(e):void 0,signal:n})).json()}async delete({body:e,headers:s,signal:n,...r}){const i=this.createUrl(r);return(await Ci(i,{method:"DELETE",headers:s,body:e?JSON.stringify(e):void 0,signal:n})).json()}createUrl({path:e,params:s}){const n=new URL(e,this.baseUrl);return s&&Object.entries(s).forEach(([r,i])=>{i&&n.searchParams.append(r,i)}),this.clientId&&n.searchParams.append("clientId",this.clientId),n}sendBeacon({body:e,...s}){const n=this.createUrl(s);return navigator.sendBeacon(n.toString(),e?JSON.stringify(e):void 0)}}const Al={getFeatureValue(t,e){const s=e==null?void 0:e[t];return s===void 0?Ie.DEFAULT_FEATURES[t]:s},filterSocialsByPlatform(t){if(!t||!t.length)return t;let e=t;return Z.isTelegram()&&(Z.isIos()&&(e=e.filter(s=>s!=="google")),Z.isMac()&&(e=e.filter(s=>s!=="x")),Z.isAndroid()&&(e=e.filter(s=>!["facebook","x"].includes(s)))),Z.isMobile()&&(e=e.filter(s=>s!=="facebook")),e},isSocialsEnabled(){var t,e,s,n;return Array.isArray((t=$.state.features)==null?void 0:t.socials)&&((e=$.state.features)==null?void 0:e.socials.length)>0||Array.isArray((s=$.state.remoteFeatures)==null?void 0:s.socials)&&((n=$.state.remoteFeatures)==null?void 0:n.socials.length)>0},isEmailEnabled(){var t,e;return!!((t=$.state.features)!=null&&t.email||(e=$.state.remoteFeatures)!=null&&e.email)}},ce=Ke({features:Ie.DEFAULT_FEATURES,projectId:"",sdkType:"appkit",sdkVersion:"html-wagmi-undefined",defaultAccountTypes:Ie.DEFAULT_ACCOUNT_TYPES,enableNetworkSwitch:!0,experimental_preferUniversalLinks:!1,remoteFeatures:{},enableMobileFullScreen:!1,coinbasePreference:"all"}),$={state:ce,subscribeKey(t,e){return Et(ce,t,e)},setOptions(t){Object.assign(ce,t)},setRemoteFeatures(t){var s,n;if(!t)return;const e={...ce.remoteFeatures,...t};ce.remoteFeatures=e,(s=ce.remoteFeatures)!=null&&s.socials&&(ce.remoteFeatures.socials=Al.filterSocialsByPlatform(ce.remoteFeatures.socials)),(n=ce.features)!=null&&n.pay&&(ce.remoteFeatures.email=!1,ce.remoteFeatures.socials=!1)},setFeatures(t){var s;if(!t)return;ce.features||(ce.features=Ie.DEFAULT_FEATURES);const e={...ce.features,...t};ce.features=e,(s=ce.features)!=null&&s.pay&&ce.remoteFeatures&&(ce.remoteFeatures.email=!1,ce.remoteFeatures.socials=!1)},setProjectId(t){ce.projectId=t},setCustomRpcUrls(t){ce.customRpcUrls=t},setAllWallets(t){ce.allWallets=t},setIncludeWalletIds(t){ce.includeWalletIds=t},setExcludeWalletIds(t){ce.excludeWalletIds=t},setFeaturedWalletIds(t){ce.featuredWalletIds=t},setTokens(t){ce.tokens=t},setTermsConditionsUrl(t){ce.termsConditionsUrl=t},setPrivacyPolicyUrl(t){ce.privacyPolicyUrl=t},setCustomWallets(t){ce.customWallets=t},setIsSiweEnabled(t){ce.isSiweEnabled=t},setIsUniversalProvider(t){ce.isUniversalProvider=t},setSdkVersion(t){ce.sdkVersion=t},setMetadata(t){ce.metadata=t},setDisableAppend(t){ce.disableAppend=t},setEIP6963Enabled(t){ce.enableEIP6963=t},setDebug(t){ce.debug=t},setEnableWalletGuide(t){ce.enableWalletGuide=t},setEnableAuthLogger(t){ce.enableAuthLogger=t},setEnableWallets(t){ce.enableWallets=t},setPreferUniversalLinks(t){ce.experimental_preferUniversalLinks=t},setSIWX(t){if(t)for(const[e,s]of Object.entries(Ie.SIWX_DEFAULTS))t[e]??(t[e]=s);ce.siwx=t},setConnectMethodsOrder(t){ce.features={...ce.features,connectMethodsOrder:t}},setWalletFeaturesOrder(t){ce.features={...ce.features,walletFeaturesOrder:t}},setSocialsOrder(t){ce.remoteFeatures={...ce.remoteFeatures,socials:t}},setCollapseWallets(t){ce.features={...ce.features,collapseWallets:t}},setEnableEmbedded(t){ce.enableEmbedded=t},setAllowUnsupportedChain(t){ce.allowUnsupportedChain=t},setManualWCControl(t){ce.manualWCControl=t},setEnableNetworkSwitch(t){ce.enableNetworkSwitch=t},setEnableMobileFullScreen(t){ce.enableMobileFullScreen=Z.isMobile()&&t},setEnableReconnect(t){ce.enableReconnect=t},setCoinbasePreference(t){ce.coinbasePreference=t},setDefaultAccountTypes(t={}){Object.entries(t).forEach(([e,s])=>{s&&(ce.defaultAccountTypes[e]=s)})},setUniversalProviderConfigOverride(t){ce.universalProviderConfigOverride=t},getUniversalProviderConfigOverride(){return ce.universalProviderConfigOverride},getSnapshot(){return Ji(ce)}},ar=Object.freeze({message:"",variant:"success",svg:void 0,open:!1,autoClose:!0}),it=Ke({...ar}),UC={state:it,subscribeKey(t,e){return Et(it,t,e)},showLoading(t,e={}){this._showMessage({message:t,variant:"loading",...e})},showSuccess(t){this._showMessage({message:t,variant:"success"})},showSvg(t,e){this._showMessage({message:t,svg:e})},showError(t){const e=Z.parseError(t);this._showMessage({message:e,variant:"error"})},hide(){it.message=ar.message,it.variant=ar.variant,it.svg=ar.svg,it.open=ar.open,it.autoClose=ar.autoClose},_showMessage({message:t,svg:e,variant:s="success",autoClose:n=ar.autoClose}){it.open?(it.open=!1,setTimeout(()=>{it.message=t,it.variant=s,it.svg=e,it.open=!0,it.autoClose=n},150)):(it.message=t,it.variant=s,it.svg=e,it.open=!0,it.autoClose=n)}},Ws=UC,$C={purchaseCurrencies:[{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"USD Coin",symbol:"USDC",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]},{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"Ether",symbol:"ETH",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]}],paymentCurrencies:[{id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},{id:"EUR",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]}]},jf=Z.getBlockchainApiUrl(),Pt=Ke({clientId:null,api:new So({baseUrl:jf,clientId:null}),supportedChains:{http:[],ws:[]}}),he={state:Pt,async get(t){const{st:e,sv:s}=he.getSdkProperties(),n=$.state.projectId,r={...t.params||{},st:e,sv:s,projectId:n};return Pt.api.get({...t,params:r})},getSdkProperties(){const{sdkType:t,sdkVersion:e}=$.state;return{st:t||"unknown",sv:e||"unknown"}},async isNetworkSupported(t){if(!t)return!1;try{Pt.supportedChains.http.length||await he.getSupportedNetworks()}catch{return!1}return Pt.supportedChains.http.includes(t)},async getSupportedNetworks(){try{const t=await he.get({path:"v1/supported-chains"});return Pt.supportedChains=t,t}catch{return Pt.supportedChains}},async fetchIdentity({address:t}){const e=M.getIdentityFromCacheForAddress(t);if(e)return e;const s=await he.get({path:`/v1/identity/${t}`,params:{sender:w.state.activeCaipAddress?Z.getPlainAddress(w.state.activeCaipAddress):void 0}});return M.updateIdentityCache({address:t,identity:s,timestamp:Date.now()}),s},async fetchTransactions({account:t,cursor:e,signal:s,cache:n,chainId:r}){var c;if(!await he.isNetworkSupported((c=w.state.activeCaipNetwork)==null?void 0:c.caipNetworkId))return{data:[],next:void 0};const o=M.getTransactionsCacheForAddress({address:t,chainId:r});if(o)return o;const a=await he.get({path:`/v1/account/${t}/history`,params:{cursor:e,chainId:r},signal:s,cache:n});return M.updateTransactionsCache({address:t,chainId:r,timestamp:Date.now(),transactions:a}),a},async fetchSwapQuote({amount:t,userAddress:e,from:s,to:n,gasPrice:r}){var o;return await he.isNetworkSupported((o=w.state.activeCaipNetwork)==null?void 0:o.caipNetworkId)?he.get({path:"/v1/convert/quotes",headers:{"Content-Type":"application/json"},params:{amount:t,userAddress:e,from:s,to:n,gasPrice:r}}):{quotes:[]}},async fetchSwapTokens({chainId:t}){var s;return await he.isNetworkSupported((s=w.state.activeCaipNetwork)==null?void 0:s.caipNetworkId)?he.get({path:"/v1/convert/tokens",params:{chainId:t}}):{tokens:[]}},async getAddressBalance({caipNetworkId:t,address:e}){return Pt.api.post({path:`/v1?chainId=${t}&projectId=${$.state.projectId}`,body:{id:"1",jsonrpc:"2.0",method:"getAddressBalance",params:{address:e}}}).then(s=>s.result)},async fetchTokenPrice({addresses:t}){var r;if(!await he.isNetworkSupported((r=w.state.activeCaipNetwork)==null?void 0:r.caipNetworkId))return{fungibles:[]};const s=M.getTokenPriceCacheForAddresses(t);if(s)return s;const n=await Pt.api.post({path:"/v1/fungible/price",body:{currency:"usd",addresses:t,projectId:$.state.projectId},headers:{"Content-Type":"application/json"}});return M.updateTokenPriceCache({addresses:t,timestamp:Date.now(),tokenPrice:n}),n},async fetchSwapAllowance({tokenAddress:t,userAddress:e}){var n;return await he.isNetworkSupported((n=w.state.activeCaipNetwork)==null?void 0:n.caipNetworkId)?he.get({path:"/v1/convert/allowance",params:{tokenAddress:t,userAddress:e},headers:{"Content-Type":"application/json"}}):{allowance:"0"}},async fetchGasPrice({chainId:t}){var r;const{st:e,sv:s}=he.getSdkProperties();if(!await he.isNetworkSupported((r=w.state.activeCaipNetwork)==null?void 0:r.caipNetworkId))throw new Error("Network not supported for Gas Price");return he.get({path:"/v1/convert/gas-price",headers:{"Content-Type":"application/json"},params:{chainId:t,st:e,sv:s}})},async generateSwapCalldata({amount:t,from:e,to:s,userAddress:n,disableEstimate:r}){var o;if(!await he.isNetworkSupported((o=w.state.activeCaipNetwork)==null?void 0:o.caipNetworkId))throw new Error("Network not supported for Swaps");return Pt.api.post({path:"/v1/convert/build-transaction",headers:{"Content-Type":"application/json"},body:{amount:t,eip155:{slippage:Ie.CONVERT_SLIPPAGE_TOLERANCE},projectId:$.state.projectId,from:e,to:s,userAddress:n,disableEstimate:r}})},async generateApproveCalldata({from:t,to:e,userAddress:s}){var o;const{st:n,sv:r}=he.getSdkProperties();if(!await he.isNetworkSupported((o=w.state.activeCaipNetwork)==null?void 0:o.caipNetworkId))throw new Error("Network not supported for Swaps");return he.get({path:"/v1/convert/build-approve",headers:{"Content-Type":"application/json"},params:{userAddress:s,from:t,to:e,st:n,sv:r}})},async getBalance(t,e,s){var l;const{st:n,sv:r}=he.getSdkProperties();if(!await he.isNetworkSupported((l=w.state.activeCaipNetwork)==null?void 0:l.caipNetworkId))return Ws.showError("Token Balance Unavailable"),{balances:[]};const o=`${e}:${t}`,a=M.getBalanceCacheForCaipAddress(o);if(a)return a;const c=await he.get({path:`/v1/account/${t}/balance`,params:{currency:"usd",chainId:e,forceUpdate:s,st:n,sv:r}});return M.updateBalanceCache({caipAddress:o,balance:c,timestamp:Date.now()}),c},async lookupEnsName(t){var s;return await he.isNetworkSupported((s=w.state.activeCaipNetwork)==null?void 0:s.caipNetworkId)?he.get({path:`/v1/profile/account/${t}`,params:{apiVersion:"2"}}):{addresses:{},attributes:[]}},async reverseLookupEnsName({address:t}){var n,r;if(!await he.isNetworkSupported((n=w.state.activeCaipNetwork)==null?void 0:n.caipNetworkId))return[];const s=(r=w.getAccountData())==null?void 0:r.address;return he.get({path:`/v1/profile/reverse/${t}`,params:{sender:s,apiVersion:"2"}})},async getEnsNameSuggestions(t){var s;return await he.isNetworkSupported((s=w.state.activeCaipNetwork)==null?void 0:s.caipNetworkId)?he.get({path:`/v1/profile/suggestions/${t}`,params:{zone:"reown.id"}}):{suggestions:[]}},async registerEnsName({coinType:t,address:e,message:s,signature:n}){var i;return await he.isNetworkSupported((i=w.state.activeCaipNetwork)==null?void 0:i.caipNetworkId)?Pt.api.post({path:"/v1/profile/account",body:{coin_type:t,address:e,message:s,signature:n},headers:{"Content-Type":"application/json"}}):{success:!1}},async generateOnRampURL({destinationWallets:t,partnerUserId:e,defaultNetwork:s,purchaseAmount:n,paymentAmount:r}){var a;return await he.isNetworkSupported((a=w.state.activeCaipNetwork)==null?void 0:a.caipNetworkId)?(await Pt.api.post({path:"/v1/generators/onrampurl",params:{projectId:$.state.projectId},body:{destinationWallets:t,defaultNetwork:s,partnerUserId:e,defaultExperience:"buy",presetCryptoAmount:n,presetFiatAmount:r}})).url:""},async getOnrampOptions(){var e;if(!await he.isNetworkSupported((e=w.state.activeCaipNetwork)==null?void 0:e.caipNetworkId))return{paymentCurrencies:[],purchaseCurrencies:[]};try{return await he.get({path:"/v1/onramp/options"})}catch{return $C}},async getOnrampQuote({purchaseCurrency:t,paymentCurrency:e,amount:s,network:n}){var r;try{return await he.isNetworkSupported((r=w.state.activeCaipNetwork)==null?void 0:r.caipNetworkId)?await Pt.api.post({path:"/v1/onramp/quote",params:{projectId:$.state.projectId},body:{purchaseCurrency:t,paymentCurrency:e,amount:s,network:n}}):null}catch{return{networkFee:{amount:s,currency:e.id},paymentSubtotal:{amount:s,currency:e.id},paymentTotal:{amount:s,currency:e.id},purchaseAmount:{amount:s,currency:e.id},quoteId:"mocked-quote-id"}}},async getSmartSessions(t){var s;return await he.isNetworkSupported((s=w.state.activeCaipNetwork)==null?void 0:s.caipNetworkId)?he.get({path:`/v1/sessions/${t}`}):[]},async revokeSmartSession(t,e,s){var r;return await he.isNetworkSupported((r=w.state.activeCaipNetwork)==null?void 0:r.caipNetworkId)?Pt.api.post({path:`/v1/sessions/${t}/revoke`,params:{projectId:$.state.projectId},body:{pci:e,signature:s}}):{success:!1}},setClientId(t){Pt.clientId=t,Pt.api=new So({baseUrl:jf,clientId:t})}},fs={PHANTOM:{id:"a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393",url:"https://phantom.app"},SOLFLARE:{id:"1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79",url:"https://solflare.com"},COINBASE:{id:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",url:"https://go.cb-w.com"},BINANCE:{id:"2fafea35bb471d22889ccb49c08d99dd0a18a37982602c33f696a5723934ba25",appId:"yFK5FCqYprrXDiVFbhyRx7",deeplink:"bnc://app.binance.com/mp/app",url:"https://app.binance.com/en/download"}},DC={handleMobileDeeplinkRedirect(t,e){const s=window.location.href,n=encodeURIComponent(s);if(t===fs.PHANTOM.id&&!("phantom"in window)){const r=s.startsWith("https")?"https":"http",i=s.split("/")[2],o=encodeURIComponent(`${r}://${i}`);window.location.href=`${fs.PHANTOM.url}/ul/browse/${n}?ref=${o}`}if(t===fs.SOLFLARE.id&&!("solflare"in window)&&(window.location.href=`${fs.SOLFLARE.url}/ul/v1/browse/${n}?ref=${n}`),e===U.CHAIN.SOLANA&&t===fs.COINBASE.id&&!("coinbaseSolana"in window)&&(window.location.href=`${fs.COINBASE.url}/dapp?cb_url=${n}`),e===U.CHAIN.BITCOIN&&t===fs.BINANCE.id&&!("binancew3w"in window)){const r=w.state.activeCaipNetwork,i=window.btoa("/pages/browser/index"),o=window.btoa(`url=${n}&defaultChainId=${(r==null?void 0:r.id)??1}`),a=new URL(fs.BINANCE.deeplink);a.searchParams.set("appId",fs.BINANCE.appId),a.searchParams.set("startPagePath",i),a.searchParams.set("startPageQuery",o);const c=new URL(fs.BINANCE.url);c.searchParams.set("_dp",window.btoa(a.toString())),window.location.href=c.toString()}}},LC=Object.freeze({enabled:!0,events:[]}),MC=new So({baseUrl:Z.getAnalyticsUrl(),clientId:null}),BC=5,jC=60*1e3,An=Ke({...LC}),FC={state:An,subscribeKey(t,e){return Et(An,t,e)},async sendError(t,e){if(!An.enabled)return;const s=Date.now();if(An.events.filter(i=>{const o=new Date(i.properties.timestamp||"").getTime();return s-o<jC}).length>=BC)return;const r={type:"error",event:e,properties:{errorType:t.name,errorMessage:t.message,stackTrace:t.stack,timestamp:new Date().toISOString()}};An.events.push(r);try{if(typeof window>"u")return;const{projectId:i,sdkType:o,sdkVersion:a}=$.state;await MC.post({path:"/e",params:{projectId:i,st:o,sv:a||"html-wagmi-4.2.2"},body:{eventId:Z.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:new Date().toISOString(),props:{type:"error",event:e,errorType:t.name,errorMessage:t.message,stackTrace:t.stack}}})}catch{}},enable(){An.enabled=!0},disable(){An.enabled=!1},clearEvents(){An.events=[]}};class Nr extends Error{constructor(e,s,n){super(e),this.originalName="AppKitError",this.name="AppKitError",this.category=s,this.originalError=n,n&&n instanceof Error&&(this.originalName=n.name),Object.setPrototypeOf(this,Nr.prototype);let r=!1;if(n instanceof Error&&typeof n.stack=="string"&&n.stack){const i=n.stack,o=i.indexOf(`
3
3
  `);if(o>-1){const a=i.substring(o+1);this.stack=`${this.name}: ${this.message}
4
- ${a}`,r=!0}}r||(Error.captureStackTrace?Error.captureStackTrace(this,Nr):this.stack||(this.stack=`${this.name}: ${this.message}`))}}function ju(t,e){let s="";try{t instanceof Error?s=t.message:typeof t=="string"?s=t:typeof t=="object"&&t!==null?Object.keys(t).length===0?s="Unknown error":s=(t==null?void 0:t.message)||JSON.stringify(t):s=String(t)}catch(r){s="Unknown error",console.error("Error parsing error message",r)}const n=t instanceof Nr?t:new Nr(s,e,t);throw FC.sendError(n,n.category),n}function vs(t,e="INTERNAL_SDK_ERROR"){const s={};return Object.keys(t).forEach(n=>{const r=t[n];if(typeof r=="function"){let i=r;r.constructor.name==="AsyncFunction"?i=async(...o)=>{try{return await r(...o)}catch(a){return ju(a,e)}}:i=(...o)=>{try{return r(...o)}catch(a){return ju(a,e)}},s[n]=i}else s[n]=r}),s}const Qt=Ke({walletImages:{},networkImages:{},chainImages:{},connectorImages:{},tokenImages:{},currencyImages:{}}),qC={state:Qt,subscribeNetworkImages(t){return wt(Qt.networkImages,()=>t(Qt.networkImages))},subscribeKey(t,e){return Et(Qt,t,e)},subscribe(t){return wt(Qt,()=>t(Qt))},setWalletImage(t,e){Qt.walletImages[t]=e},setNetworkImage(t,e){Qt.networkImages[t]=e},setChainImage(t,e){Qt.chainImages[t]=e},setConnectorImage(t,e){Qt.connectorImages={...Qt.connectorImages,[t]:e}},setTokenImage(t,e){Qt.tokenImages[t]=e},setCurrencyImage(t,e){Qt.currencyImages[t]=e}},ws=vs(qC),Fu={eip155:"ba0ba0cd-17c6-4806-ad93-f9d174f17900",solana:"a1b58899-f671-4276-6a5e-56ca5bd59700",polkadot:"",bip122:"0b4838db-0161-4ffe-022d-532bf03dba00",cosmos:"",sui:"",stacks:"",ton:"20f673c0-095e-49b2-07cf-eb5049dcf600"},Ec=Ke({networkImagePromises:{}}),Ff={async fetchWalletImage(t){if(t)return await Q._fetchWalletImage(t),this.getWalletImageById(t)},async fetchNetworkImage(t){if(!t)return;const e=this.getNetworkImageById(t);return e||(Ec.networkImagePromises[t]||(Ec.networkImagePromises[t]=Q._fetchNetworkImage(t)),await Ec.networkImagePromises[t],this.getNetworkImageById(t))},getWalletImageById(t){if(t)return ws.state.walletImages[t]},getWalletImage(t){if(t!=null&&t.image_url)return t==null?void 0:t.image_url;if(t!=null&&t.image_id)return ws.state.walletImages[t.image_id]},getNetworkImage(t){var e,s,n;if((e=t==null?void 0:t.assets)!=null&&e.imageUrl)return(s=t==null?void 0:t.assets)==null?void 0:s.imageUrl;if((n=t==null?void 0:t.assets)!=null&&n.imageId)return ws.state.networkImages[t.assets.imageId]},getNetworkImageById(t){if(t)return ws.state.networkImages[t]},getConnectorImage(t){var e;if(t!=null&&t.imageUrl)return t.imageUrl;if((e=t==null?void 0:t.info)!=null&&e.icon)return t.info.icon;if(t!=null&&t.imageId)return ws.state.connectorImages[t.imageId]},getChainImage(t){return ws.state.networkImages[Fu[t]]},getTokenImage(t){if(t)return ws.state.tokenImages[t]},getWalletImageUrl(t){if(!t)return"";const{projectId:e,sdkType:s,sdkVersion:n}=$.state,r=new URL(`${U.W3M_API_URL}/getWalletImage/${t}`);return r.searchParams.set("projectId",e),r.searchParams.set("st",s),r.searchParams.set("sv",n),r.toString()},getAssetImageUrl(t){if(!t)return"";const{projectId:e,sdkType:s,sdkVersion:n}=$.state,r=new URL(`${U.W3M_API_URL}/public/getAssetImage/${t}`);return r.searchParams.set("projectId",e),r.searchParams.set("st",s),r.searchParams.set("sv",n),r.toString()},getChainNamespaceImageUrl(t){return this.getAssetImageUrl(Fu[t])}},WC=Z.getAnalyticsUrl(),HC=new So({baseUrl:WC,clientId:null}),VC=["MODAL_CREATED"],zC=45,qu=1e3*10,Qe=Ke({timestamp:Date.now(),lastFlush:Date.now(),reportedErrors:{},data:{type:"track",event:"MODAL_CREATED"},pendingEvents:[],subscribedToVisibilityChange:!1,walletImpressions:[]}),we={state:Qe,subscribe(t){return wt(Qe,()=>t(Qe))},getSdkProperties(){const{projectId:t,sdkType:e,sdkVersion:s}=$.state;return{projectId:t,st:e,sv:s||"html-wagmi-4.2.2"}},shouldFlushEvents(){const t=JSON.stringify(Qe.pendingEvents).length/1024>zC,e=Qe.lastFlush+qu<Date.now();return t||e},_setPendingEvent(t){var e,s;try{let n=(e=w.getAccountData())==null?void 0:e.address;if("address"in t.data&&t.data.address&&(n=t.data.address),VC.includes(t.data.event)||typeof window>"u")return;const r=(s=w.getActiveCaipNetwork())==null?void 0:s.caipNetworkId;this.state.pendingEvents.push({eventId:Z.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:t.timestamp,props:{...t.data,address:n,properties:{..."properties"in t.data?t.data.properties:{},caipNetworkId:r}}}),Qe.reportedErrors.FORBIDDEN=!1,we.shouldFlushEvents()&&we._submitPendingEvents()}catch(n){console.warn("_setPendingEvent",n)}},sendEvent(t){var s;Qe.timestamp=Date.now(),Qe.data=t;const e=["INITIALIZE","CONNECT_SUCCESS","SOCIAL_LOGIN_SUCCESS"];((s=$.state.features)!=null&&s.analytics||e.includes(t.event))&&we._setPendingEvent(Qe),this.subscribeToFlushTriggers()},sendWalletImpressionEvent(t){Qe.walletImpressions.push(t)},_transformPendingEventsForBatch(t){try{return t.filter(e=>e.props.event!=="WALLET_IMPRESSION_V2")}catch{return t}},_submitPendingEvents(){if(Qe.lastFlush=Date.now(),!(Qe.pendingEvents.length===0&&Qe.walletImpressions.length===0))try{const t=we._transformPendingEventsForBatch(Qe.pendingEvents);Qe.walletImpressions.length&&t.push({eventId:Z.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:Date.now(),props:{type:"track",event:"WALLET_IMPRESSION_V2",items:[...Qe.walletImpressions]}}),HC.sendBeacon({path:"/batch",params:we.getSdkProperties(),body:t}),Qe.reportedErrors.FORBIDDEN=!1,Qe.pendingEvents=[],Qe.walletImpressions=[]}catch{Qe.reportedErrors.FORBIDDEN=!0}},subscribeToFlushTriggers(){var t,e,s;Qe.subscribedToVisibilityChange||typeof document>"u"||(Qe.subscribedToVisibilityChange=!0,(t=document==null?void 0:document.addEventListener)==null||t.call(document,"visibilitychange",()=>{document.visibilityState==="hidden"&&we._submitPendingEvents()}),(e=document==null?void 0:document.addEventListener)==null||e.call(document,"freeze",()=>{we._submitPendingEvents()}),(s=window==null?void 0:window.addEventListener)==null||s.call(window,"pagehide",()=>{we._submitPendingEvents()}),setInterval(()=>{we._submitPendingEvents()},qu))}},KC=Z.getApiUrl(),xt=new So({baseUrl:KC,clientId:null}),GC=40,Wu=4,YC=20,ge=Ke({promises:{},page:1,count:0,featured:[],allFeatured:[],recommended:[],allRecommended:[],wallets:[],filteredWallets:[],search:[],isAnalyticsEnabled:!1,excludedWallets:[],isFetchingRecommendedWallets:!1,explorerWallets:[],explorerFilteredWallets:[],plan:{tier:"none",hasExceededUsageLimit:!1,limits:{isAboveRpcLimit:!1,isAboveMauLimit:!1}}}),Q={state:ge,subscribeKey(t,e){return Et(ge,t,e)},_getSdkProperties(){const{projectId:t,sdkType:e,sdkVersion:s}=$.state;return{projectId:t,st:e||"appkit",sv:s||"html-wagmi-4.2.2"}},_filterOutExtensions(t){return $.state.isUniversalProvider?t.filter(e=>!!(e.mobile_link||e.desktop_link||e.webapp_link)):t},async _fetchWalletImage(t){const e=`${xt.baseUrl}/getWalletImage/${t}`,s=await xt.getBlob({path:e,params:Q._getSdkProperties()});ws.setWalletImage(t,URL.createObjectURL(s))},async _fetchNetworkImage(t){const e=`${xt.baseUrl}/public/getAssetImage/${t}`,s=await xt.getBlob({path:e,params:Q._getSdkProperties()});ws.setNetworkImage(t,URL.createObjectURL(s))},async _fetchConnectorImage(t){const e=`${xt.baseUrl}/public/getAssetImage/${t}`,s=await xt.getBlob({path:e,params:Q._getSdkProperties()});ws.setConnectorImage(t,URL.createObjectURL(s))},async _fetchCurrencyImage(t){const e=`${xt.baseUrl}/public/getCurrencyImage/${t}`,s=await xt.getBlob({path:e,params:Q._getSdkProperties()});ws.setCurrencyImage(t,URL.createObjectURL(s))},async _fetchTokenImage(t){const e=`${xt.baseUrl}/public/getTokenImage/${t}`,s=await xt.getBlob({path:e,params:Q._getSdkProperties()});ws.setTokenImage(t,URL.createObjectURL(s))},_filterWalletsByPlatform(t){const e=t.length,s=Z.isMobile()?t==null?void 0:t.filter(r=>r.mobile_link||r.webapp_link?!0:Object.values(fs).map(o=>o.id).includes(r.id)):t,n=e-s.length;return{filteredWallets:s,mobileFilteredOutWalletsLength:n}},async fetchProjectConfig(){return(await xt.get({path:"/appkit/v1/config",params:Q._getSdkProperties()})).features},async fetchUsage(){try{const t=await xt.get({path:"/appkit/v1/project-limits",params:Q._getSdkProperties()}),{tier:e,isAboveMauLimit:s,isAboveRpcLimit:n}=t.planLimits,r=e==="starter",i=s||n;Q.state.plan={tier:e,hasExceededUsageLimit:r&&i,limits:{isAboveRpcLimit:n,isAboveMauLimit:s}}}catch(t){console.warn("Failed to fetch usage",t)}},async fetchAllowedOrigins(){try{const{allowedOrigins:t}=await xt.get({path:"/projects/v1/origins",params:Q._getSdkProperties()});return t}catch(t){if(t instanceof Error&&t.cause instanceof Response){const e=t.cause.status;if(e===U.HTTP_STATUS_CODES.TOO_MANY_REQUESTS)throw new Error("RATE_LIMITED",{cause:t});if(e>=U.HTTP_STATUS_CODES.SERVER_ERROR&&e<600)throw new Error("SERVER_ERROR",{cause:t});return[]}return[]}},async fetchNetworkImages(){const t=w.getAllRequestedCaipNetworks(),e=t==null?void 0:t.map(({assets:s})=>s==null?void 0:s.imageId).filter(Boolean).filter(s=>!Ff.getNetworkImageById(s));e&&await Promise.allSettled(e.map(s=>Q._fetchNetworkImage(s)))},async fetchConnectorImages(){const{connectors:t}=q.state,e=t.map(({imageId:s})=>s).filter(Boolean);await Promise.allSettled(e.map(s=>Q._fetchConnectorImage(s)))},async fetchCurrencyImages(t=[]){await Promise.allSettled(t.map(e=>Q._fetchCurrencyImage(e)))},async fetchTokenImages(t=[]){await Promise.allSettled(t.map(e=>Q._fetchTokenImage(e)))},async fetchWallets(t){var o;const e=t.exclude??[];Q._getSdkProperties().sv.startsWith("html-core-")&&e.push(...Object.values(fs).map(a=>a.id));const n=await xt.get({path:"/getWallets",params:{...Q._getSdkProperties(),...t,page:String(t.page),entries:String(t.entries),include:(o=t.include)==null?void 0:o.join(","),exclude:e.join(",")}}),{filteredWallets:r,mobileFilteredOutWalletsLength:i}=Q._filterWalletsByPlatform(n==null?void 0:n.data);return{data:r||[],count:n==null?void 0:n.count,mobileFilteredOutWalletsLength:i}},async prefetchWalletRanks(){const t=q.state.connectors;if(!(t!=null&&t.length))return;const e={page:1,entries:20,badge:"certified"};if(e.names=t.map(r=>r.name).join(","),w.state.activeChain===U.CHAIN.EVM){const r=[...t.flatMap(i=>{var o;return((o=i.connectors)==null?void 0:o.map(a=>{var c;return(c=a.info)==null?void 0:c.rdns}))||[]}),...t.map(i=>{var o;return(o=i.info)==null?void 0:o.rdns})].filter(i=>typeof i=="string"&&i.length>0);r.length&&(e.rdns=r.join(","))}const{data:s}=await Q.fetchWallets(e);ge.explorerWallets=s,q.extendConnectorsWithExplorerWallets(s);const n=w.getRequestedCaipNetworkIds().join(",");ge.explorerFilteredWallets=s.filter(r=>{var i;return(i=r.chains)==null?void 0:i.some(o=>n.includes(o))})},async fetchFeaturedWallets(){const{featuredWalletIds:t}=$.state;if(t!=null&&t.length){const e={...Q._getSdkProperties(),page:1,entries:(t==null?void 0:t.length)??Wu,include:t},{data:s}=await Q.fetchWallets(e),n=[...s].sort((i,o)=>t.indexOf(i.id)-t.indexOf(o.id)),r=n.map(i=>i.image_id).filter(Boolean);await Promise.allSettled(r.map(i=>Q._fetchWalletImage(i))),ge.featured=n,ge.allFeatured=n}},async fetchRecommendedWallets(){try{ge.isFetchingRecommendedWallets=!0;const{includeWalletIds:t,excludeWalletIds:e,featuredWalletIds:s}=$.state,n=[...e??[],...s??[]].filter(Boolean),r=w.getRequestedCaipNetworkIds().join(","),i={page:1,entries:Wu,include:t,exclude:n,chains:r},{data:o,count:a}=await Q.fetchWallets(i),c=M.getRecentWallets(),l=o.map(u=>u.image_id).filter(Boolean),d=c.map(u=>u.image_id).filter(Boolean);await Promise.allSettled([...l,...d].map(u=>Q._fetchWalletImage(u))),ge.recommended=o,ge.allRecommended=o,ge.count=a??0}catch{}finally{ge.isFetchingRecommendedWallets=!1}},async fetchWalletsByPage({page:t}){const{includeWalletIds:e,excludeWalletIds:s,featuredWalletIds:n}=$.state,r=w.getRequestedCaipNetworkIds().join(","),i=[...ge.recommended.map(({id:u})=>u),...s??[],...n??[]].filter(Boolean),o={page:t,entries:GC,include:e,exclude:i,chains:r},{data:a,count:c,mobileFilteredOutWalletsLength:l}=await Q.fetchWallets(o);ge.mobileFilteredOutWalletsLength=l+(ge.mobileFilteredOutWalletsLength??0);const d=a.slice(0,YC).map(u=>u.image_id).filter(Boolean);await Promise.allSettled(d.map(u=>Q._fetchWalletImage(u))),ge.wallets=Z.uniqueBy([...ge.wallets,...Q._filterOutExtensions(a)],"id").filter(u=>{var h;return(h=u.chains)==null?void 0:h.some(p=>r.includes(p))}),ge.count=c>ge.count?c:ge.count,ge.page=t},async initializeExcludedWallets({ids:t}){const e={page:1,entries:t.length,include:t},{data:s}=await Q.fetchWallets(e);s&&s.forEach(n=>{ge.excludedWallets.push({rdns:n.rdns,name:n.name})})},async searchWallet({search:t,badge:e}){const{includeWalletIds:s,excludeWalletIds:n}=$.state,r=w.getRequestedCaipNetworkIds().join(",");ge.search=[];const i={page:1,entries:100,search:t==null?void 0:t.trim(),badge_type:e,include:s,exclude:n,chains:r},{data:o}=await Q.fetchWallets(i);we.sendEvent({type:"track",event:"SEARCH_WALLET",properties:{badge:e??"",search:t??""}});const a=o.map(c=>c.image_id).filter(Boolean);await Promise.allSettled([...a.map(c=>Q._fetchWalletImage(c)),Z.wait(300)]),ge.search=Q._filterOutExtensions(o)},initPromise(t,e){const s=ge.promises[t];return s||(ge.promises[t]=e())},prefetch({fetchConnectorImages:t=!0,fetchFeaturedWallets:e=!0,fetchRecommendedWallets:s=!0,fetchNetworkImages:n=!0,fetchWalletRanks:r=!0}={}){const i=[t&&Q.initPromise("connectorImages",Q.fetchConnectorImages),e&&Q.initPromise("featuredWallets",Q.fetchFeaturedWallets),s&&Q.initPromise("recommendedWallets",Q.fetchRecommendedWallets),n&&Q.initPromise("networkImages",Q.fetchNetworkImages),r&&Q.initPromise("walletRanks",Q.prefetchWalletRanks)].filter(Boolean);return Promise.allSettled(i)},prefetchAnalyticsConfig(){var t;(t=$.state.features)!=null&&t.analytics&&Q.fetchAnalyticsConfig()},async fetchAnalyticsConfig(){try{const{isAnalyticsEnabled:t}=await xt.get({path:"/getAnalyticsConfig",params:Q._getSdkProperties()});$.setFeatures({analytics:t})}catch{$.setFeatures({analytics:!1})}},filterByNamespaces(t){if(!(t!=null&&t.length)){ge.featured=ge.allFeatured,ge.recommended=ge.allRecommended;return}const e=w.getRequestedCaipNetworkIds().join(",");ge.featured=ge.allFeatured.filter(s=>{var n;return(n=s.chains)==null?void 0:n.some(r=>e.includes(r))}),ge.recommended=ge.allRecommended.filter(s=>{var n;return(n=s.chains)==null?void 0:n.some(r=>e.includes(r))}),ge.filteredWallets=ge.wallets.filter(s=>{var n;return(n=s.chains)==null?void 0:n.some(r=>e.includes(r))})},clearFilterByNamespaces(){ge.filteredWallets=[]},setFilterByNamespace(t){if(!t){ge.featured=ge.allFeatured,ge.recommended=ge.allRecommended;return}const e=w.getRequestedCaipNetworkIds().join(",");ge.featured=ge.allFeatured.filter(s=>{var n;return(n=s.chains)==null?void 0:n.some(r=>e.includes(r))}),ge.recommended=ge.allRecommended.filter(s=>{var n;return(n=s.chains)==null?void 0:n.some(r=>e.includes(r))}),ge.filteredWallets=ge.wallets.filter(s=>{var n;return(n=s.chains)==null?void 0:n.some(r=>e.includes(r))})}},ZC=["ConnectingExternal","ConnectingMultiChain","ConnectingSocial","ConnectingFarcaster"],Me=Ke({view:"Connect",history:["Connect"],transactionStack:[]}),JC={state:Me,subscribeKey(t,e){return Et(Me,t,e)},pushTransactionStack(t){Me.transactionStack.push(t)},popTransactionStack(t){const e=Me.transactionStack.pop();if(!e)return;const{onSuccess:s,onError:n,onCancel:r}=e;switch(t){case"success":s==null||s();break;case"error":n==null||n(),le.goBack();break;case"cancel":r==null||r(),le.goBack();break}},push(t,e){let s=t,n=e;Q.state.plan.hasExceededUsageLimit&&ZC.includes(t)&&(s="UsageExceeded",n=void 0),s!==Me.view&&(Me.view=s,Me.history.push(s),Me.data=n)},reset(t,e){Me.view=t,Me.history=[t],Me.data=e},replace(t,e){Me.history.at(-1)===t||(Me.view=t,Me.history[Me.history.length-1]=t,Me.data=e)},goBack(){var n,r;const t=w.state.activeCaipAddress,e=le.state.view==="ConnectingFarcaster",s=!t&&e;if(Me.history.length>1){Me.history.pop();const[i]=Me.history.slice(-1);i&&(t&&i==="Connect"?Me.view="Account":Me.view=i)}else Ne.close();(n=Me.data)!=null&&n.wallet&&(Me.data.wallet=void 0),(r=Me.data)!=null&&r.redirectView&&(Me.data.redirectView=void 0),setTimeout(()=>{var i,o,a;if(s){w.setAccountProp("farcasterUrl",void 0,w.state.activeChain);const c=q.getAuthConnector();(i=c==null?void 0:c.provider)==null||i.reload();const l=Ji($.state);(a=(o=c==null?void 0:c.provider)==null?void 0:o.syncDappData)==null||a.call(o,{metadata:l.metadata,sdkVersion:l.sdkVersion,projectId:l.projectId,sdkType:l.sdkType})}},100)},goBackToIndex(t){if(Me.history.length>1){Me.history=Me.history.slice(0,t+1);const[e]=Me.history.slice(-1);e&&(Me.view=e)}},goBackOrCloseModal(){le.state.history.length>1?le.goBack():Ne.close()}},le=vs(JC),Xs=Ke({themeMode:"dark",themeVariables:{},w3mThemeVariables:void 0}),Sl={state:Xs,subscribe(t){return wt(Xs,()=>t(Xs))},setThemeMode(t){Xs.themeMode=t;try{const e=q.getAuthConnector();if(e){const s=Sl.getSnapshot().themeVariables;e.provider.syncTheme({themeMode:t,themeVariables:s,w3mThemeVariables:Yi(s,t)})}}catch{console.info("Unable to sync theme to auth connector")}},setThemeVariables(t){Xs.themeVariables={...Xs.themeVariables,...t};try{const e=q.getAuthConnector();if(e){const s=Sl.getSnapshot().themeVariables;e.provider.syncTheme({themeVariables:s,w3mThemeVariables:Yi(Xs.themeVariables,Xs.themeMode)})}}catch{console.info("Unable to sync theme to auth connector")}},getSnapshot(){return Ji(Xs)}},Ht=vs(Sl),qf=Object.fromEntries(yf.map(t=>[t,void 0])),XC=Object.fromEntries(yf.map(t=>[t,!0])),Oe=Ke({allConnectors:[],connectors:[],activeConnector:void 0,filterByNamespace:void 0,activeConnectorIds:qf,filterByNamespaceMap:XC}),QC={state:Oe,subscribe(t){return wt(Oe,()=>{t(Oe)})},subscribeKey(t,e){return Et(Oe,t,e)},initialize(t){t.forEach(e=>{const s=M.getConnectedConnectorId(e);s&&q.setConnectorId(s,e)})},setActiveConnector(t){t&&(Oe.activeConnector=Xi(t))},setConnectors(t){t.filter(r=>!Oe.allConnectors.some(i=>i.id===r.id&&q.getConnectorName(i.name)===q.getConnectorName(r.name)&&i.chain===r.chain)).forEach(r=>{r.type!=="MULTI_CHAIN"&&Oe.allConnectors.push(Xi(r))});const s=q.getEnabledNamespaces(),n=q.getEnabledConnectors(s);Oe.connectors=q.mergeMultiChainConnectors(n)},filterByNamespaces(t){Object.keys(Oe.filterByNamespaceMap).forEach(e=>{Oe.filterByNamespaceMap[e]=!1}),t.forEach(e=>{Oe.filterByNamespaceMap[e]=!0}),q.updateConnectorsForEnabledNamespaces()},filterByNamespace(t,e){Oe.filterByNamespaceMap[t]=e,q.updateConnectorsForEnabledNamespaces()},updateConnectorsForEnabledNamespaces(){const t=q.getEnabledNamespaces(),e=q.getEnabledConnectors(t),s=q.areAllNamespacesEnabled();Oe.connectors=q.mergeMultiChainConnectors(e),s?Q.clearFilterByNamespaces():Q.filterByNamespaces(t)},getEnabledNamespaces(){return Object.entries(Oe.filterByNamespaceMap).filter(([t,e])=>e).map(([t])=>t)},getEnabledConnectors(t){return Oe.allConnectors.filter(e=>t.includes(e.chain))},areAllNamespacesEnabled(){return Object.values(Oe.filterByNamespaceMap).every(t=>t)},mergeMultiChainConnectors(t){const e=q.generateConnectorMapByName(t),s=[];return e.forEach(n=>{const r=n[0],i=(r==null?void 0:r.id)===U.CONNECTOR_ID.AUTH;n.length>1&&r?s.push({name:r.name,imageUrl:r.imageUrl,imageId:r.imageId,connectors:[...n],type:i?"AUTH":"MULTI_CHAIN",chain:"eip155",id:(r==null?void 0:r.id)||""}):r&&s.push(r)}),s},generateConnectorMapByName(t){const e=new Map;return t.forEach(s=>{const{name:n}=s,r=q.getConnectorName(n);if(!r)return;const i=e.get(r)||[];i.find(a=>a.chain===s.chain)||i.push(s),e.set(r,i)}),e},getConnectorName(t){return t&&({"Trust Wallet":"Trust"}[t]||t)},getUniqueConnectorsByName(t){const e=[];return t.forEach(s=>{e.find(n=>n.chain===s.chain)||e.push(s)}),e},addConnector(t){var e,s,n;if(t.id===U.CONNECTOR_ID.AUTH){const r=t,i=Ji($.state),o=Ht.getSnapshot().themeMode,a=Ht.getSnapshot().themeVariables;(s=(e=r==null?void 0:r.provider)==null?void 0:e.syncDappData)==null||s.call(e,{metadata:i.metadata,sdkVersion:i.sdkVersion,projectId:i.projectId,sdkType:i.sdkType}),(n=r==null?void 0:r.provider)==null||n.syncTheme({themeMode:o,themeVariables:a,w3mThemeVariables:Yi(a,o)}),q.setConnectors([t])}else q.setConnectors([t])},getAuthConnector(t){var n;const e=t||w.state.activeChain,s=Oe.connectors.find(r=>r.id===U.CONNECTOR_ID.AUTH);if(s)return(n=s==null?void 0:s.connectors)!=null&&n.length?s.connectors.find(i=>i.chain===e):s},getAnnouncedConnectorRdns(){return Oe.connectors.filter(t=>t.type==="ANNOUNCED").map(t=>{var e;return(e=t.info)==null?void 0:e.rdns})},getConnectorById(t){return Oe.allConnectors.find(e=>e.id===t)},getConnector({id:t,namespace:e}){const s=e||w.state.activeChain;return Oe.allConnectors.filter(i=>i.chain===s).find(i=>i.id===t||i.explorerId===t)},syncIfAuthConnector(t){var i,o;if(t.id!=="AUTH")return;const e=t,s=Ji($.state),n=Ht.getSnapshot().themeMode,r=Ht.getSnapshot().themeVariables;(o=(i=e==null?void 0:e.provider)==null?void 0:i.syncDappData)==null||o.call(i,{metadata:s.metadata,sdkVersion:s.sdkVersion,sdkType:s.sdkType,projectId:s.projectId}),e.provider.syncTheme({themeMode:n,themeVariables:r,w3mThemeVariables:Yi(r,n)})},getConnectorsByNamespace(t){const e=Oe.allConnectors.filter(s=>s.chain===t);return q.mergeMultiChainConnectors(e)},canSwitchToSmartAccount(t){return w.checkIfSmartAccountEnabled()&&os(t)===et.ACCOUNT_TYPES.EOA},selectWalletConnector(t){var r;const e=(r=le.state.data)==null?void 0:r.redirectView,s=w.state.activeChain,n=s?q.getConnector({id:t.id,namespace:s}):void 0;DC.handleMobileDeeplinkRedirect((n==null?void 0:n.explorerId)||t.id,w.state.activeChain),n?le.push("ConnectingExternal",{connector:n,wallet:t,redirectView:e}):le.push("ConnectingWalletConnect",{wallet:t,redirectView:e})},getConnectors(t){return t?q.getConnectorsByNamespace(t):q.mergeMultiChainConnectors(Oe.allConnectors)},setFilterByNamespace(t){Oe.filterByNamespace=t,Oe.connectors=q.getConnectors(t),Q.setFilterByNamespace(t)},setConnectorId(t,e){t&&(Oe.activeConnectorIds={...Oe.activeConnectorIds,[e]:t},M.setConnectedConnectorId(e,t))},removeConnectorId(t){Oe.activeConnectorIds={...Oe.activeConnectorIds,[t]:void 0},M.deleteConnectedConnectorId(t)},getConnectorId(t){if(t)return Oe.activeConnectorIds[t]},isConnected(t){return t?!!Oe.activeConnectorIds[t]:Object.values(Oe.activeConnectorIds).some(e=>!!e)},resetConnectorIds(){Oe.activeConnectorIds={...qf}},extendConnectorsWithExplorerWallets(t){Oe.allConnectors.forEach(n=>{const r=t.find(i=>{var o;return i.id===n.id||i.rdns&&i.rdns===((o=n.info)==null?void 0:o.rdns)});r&&(n.explorerWallet=r)});const e=q.getEnabledNamespaces(),s=q.getEnabledConnectors(e);Oe.connectors=q.mergeMultiChainConnectors(s)}},q=vs(QC),ev=1e3,vi={checkNamespaceConnectorId(t,e){return q.getConnectorId(t)===e},isSocialProvider(t){return Ie.DEFAULT_REMOTE_FEATURES.socials.includes(t)},connectWalletConnect({walletConnect:t,connector:e,closeModalOnConnect:s=!0,redirectViewOnModalClose:n="Connect",onOpen:r,onConnect:i}){return new Promise((o,a)=>{if(t&&q.setActiveConnector(e),r==null||r(Z.isMobile()&&t),n){const l=Ne.subscribeKey("open",d=>{d||(le.state.view!==n&&le.replace(n),l(),a(new Error("Modal closed")))})}const c=w.subscribeKey("activeCaipAddress",l=>{l&&(i==null||i(),s&&Ne.close(),c(),o(ct.parseCaipAddress(l)))})})},connectExternal(t){return new Promise((e,s)=>{const n=w.subscribeKey("activeCaipAddress",r=>{r&&(Ne.close(),n(),e(ct.parseCaipAddress(r)))});K.connectExternal(t,t.chain).catch(()=>{n(),s(new Error("Connection rejected"))})})},connectSocial({social:t,namespace:e,closeModalOnConnect:s=!0,onOpenFarcaster:n,onConnect:r}){let i,o=!1,a=null;const c=e||w.state.activeChain,l=w.subscribeKey("activeCaipAddress",d=>{d&&(s&&Ne.close(),l())});return new Promise((d,u)=>{async function h(m){var f;if((f=m.data)!=null&&f.resultUri)if(m.origin===U.SECURE_SITE_SDK_ORIGIN){window.removeEventListener("message",h,!1);try{const y=q.getAuthConnector(c);if(y&&!o){i&&i.close(),o=!0;const b=m.data.resultUri;we.sendEvent({type:"track",event:"SOCIAL_LOGIN_REQUEST_USER_DATA",properties:{provider:t}}),M.setConnectedSocialProvider(t),await K.connectExternal({id:y.id,type:y.type,socialUri:b},y.chain);const S=w.state.activeCaipAddress;if(!S){u(new Error("Failed to connect"));return}d(ct.parseCaipAddress(S)),we.sendEvent({type:"track",event:"SOCIAL_LOGIN_SUCCESS",properties:{provider:t}})}}catch(y){we.sendEvent({type:"track",event:"SOCIAL_LOGIN_ERROR",properties:{provider:t,message:Z.parseError(y)}}),u(new Error("Failed to connect"))}}else we.sendEvent({type:"track",event:"SOCIAL_LOGIN_ERROR",properties:{provider:t,message:"Untrusted Origin"}})}async function p(){if(we.sendEvent({type:"track",event:"SOCIAL_LOGIN_STARTED",properties:{provider:t}}),t==="farcaster"){n==null||n();const m=Ne.subscribeKey("open",y=>{!y&&t==="farcaster"&&(u(new Error("Popup closed")),r==null||r(),m())}),f=q.getAuthConnector();if(f){const y=w.getAccountData(c);if(!(y!=null&&y.farcasterUrl))try{const{url:b}=await f.provider.getFarcasterUri();w.setAccountProp("farcasterUrl",b,c)}catch{u(new Error("Failed to connect to farcaster"))}}}else{const m=q.getAuthConnector();a=Z.returnOpenHref(`${U.SECURE_SITE_SDK_ORIGIN}/loading`,"popupWindow","width=600,height=800,scrollbars=yes");try{if(m){const{uri:f}=await m.provider.getSocialRedirectUri({provider:t});if(a&&f){a.location.href=f,i=a;const y=setInterval(()=>{i!=null&&i.closed&&!o&&(u(new Error("Popup closed")),clearInterval(y))},1e3);window.addEventListener("message",h,!1)}else a==null||a.close(),u(new Error("Failed to initiate social connection"))}}catch{u(new Error("Failed to initiate social connection")),a==null||a.close()}}}p()})},connectEmail({closeModalOnConnect:t=!0,redirectViewOnModalClose:e="Connect",onOpen:s,onConnect:n}){return new Promise((r,i)=>{if(s==null||s(),e){const a=Ne.subscribeKey("open",c=>{c||(le.state.view!==e&&le.replace(e),a(),i(new Error("Modal closed")))})}const o=w.subscribeKey("activeCaipAddress",a=>{a&&(n==null||n(),t&&Ne.close(),o(),r(ct.parseCaipAddress(a)))})})},async updateEmail(){const t=M.getConnectedConnectorId(w.state.activeChain),e=q.getAuthConnector();if(!e)throw new Error("No auth connector found");if(t!==U.CONNECTOR_ID.AUTH)throw new Error("Not connected to email or social");const s=e.provider.getEmail()??"";return await Ne.open({view:"UpdateEmailWallet",data:{email:s,redirectView:void 0}}),new Promise((n,r)=>{const i=setInterval(()=>{const a=e.provider.getEmail()??"";a!==s&&(Ne.close(),clearInterval(i),o(),n({email:a}))},ev),o=Ne.subscribeKey("open",a=>{a||(le.state.view!=="Connect"&&le.push("Connect"),clearInterval(i),o(),r(new Error("Modal closed")))})})},canSwitchToSmartAccount(t){return w.checkIfSmartAccountEnabled()&&os(t)===et.ACCOUNT_TYPES.EOA}};function Wf(){var n,r;const t=((n=w.state.activeCaipNetwork)==null?void 0:n.chainNamespace)||"eip155",e=((r=w.state.activeCaipNetwork)==null?void 0:r.id)||1,s=Ie.NATIVE_TOKEN_ADDRESS[t];return`${t}:${e}:${s}`}function os(t){var s;return(s=w.getAccountData(t))==null?void 0:s.preferredAccountType}function ki(t){var e,s;return t?(s=(e=w.state.chains.get(t))==null?void 0:e.networkState)==null?void 0:s.caipNetwork:w.state.activeCaipNetwork}const Ra={getConnectionStatus(t,e){const s=q.state.activeConnectorIds[e],n=K.getConnections(e);return!!s&&t.connectorId===s?"connected":n.some(o=>o.connectorId.toLowerCase()===t.connectorId.toLowerCase())?"active":"disconnected"},excludeConnectorAddressFromConnections({connections:t,connectorId:e,addresses:s}){return t.map(n=>{if((e?n.connectorId.toLowerCase()===e.toLowerCase():!1)&&s){const i=n.accounts.filter(o=>!s.some(c=>c.toLowerCase()===o.address.toLowerCase()));return{...n,accounts:i}}return n})},excludeExistingConnections(t,e){const s=new Set(t);return e.filter(n=>!s.has(n.connectorId))},getConnectionsByConnectorId(t,e){return t.filter(s=>s.connectorId.toLowerCase()===e.toLowerCase())},getConnectionsData(t){var a;const e=!!((a=$.state.remoteFeatures)!=null&&a.multiWallet),s=q.state.activeConnectorIds[t],n=K.getConnections(t),i=(K.state.recentConnections.get(t)??[]).filter(c=>q.getConnectorById(c.connectorId)),o=Ra.excludeExistingConnections([...n.map(c=>c.connectorId),...s?[s]:[]],i);return e?{connections:n,recentConnections:o}:{connections:n.filter(c=>c.connectorId.toLowerCase()===(s==null?void 0:s.toLowerCase())),recentConnections:[]}},onConnectMobile(t){const e=K.state.wcUri;if(t!=null&&t.mobile_link&&e)try{K.setWcError(!1);const{mobile_link:s,link_mode:n,name:r}=t,{redirect:i,redirectUniversalLink:o,href:a}=Z.formatNativeUrl(s,e,n),c=i,l=o,d=Z.isIframe()?"_top":"_self";K.setWcLinking({name:r,href:a}),K.setRecentWallet(t),$.state.experimental_preferUniversalLinks&&l?Z.openHref(l,d):Z.openHref(c,d)}catch(s){we.sendEvent({type:"track",event:"CONNECT_PROXY_ERROR",properties:{message:s instanceof Error?s.message:"Error parsing the deep link",uri:e,mobile_link:t.mobile_link,name:t.name}}),K.setWcError(!0)}}},Br=Ke({loading:!1,open:!1,selectedNetworkId:void 0,activeChain:void 0,initialized:!1,connectingWallet:void 0}),as={state:Br,subscribe(t){return wt(Br,()=>t(Br))},subscribeOpen(t){return Et(Br,"open",t)},set(t){Object.assign(Br,{...Br,...t})}},Ge=Ke({transactions:[],transactionsByYear:{},lastNetworkInView:void 0,loading:!1,empty:!1,next:void 0}),tv={state:Ge,subscribe(t){return wt(Ge,()=>t(Ge))},setLastNetworkInView(t){Ge.lastNetworkInView=t},async fetchTransactions(t){var e;if(!t)throw new Error("Transactions can't be fetched without an accountAddress");Ge.loading=!0;try{const s=await he.fetchTransactions({account:t,cursor:Ge.next,chainId:(e=w.state.activeCaipNetwork)==null?void 0:e.caipNetworkId}),n=da.filterSpamTransactions(s.data),r=da.filterByConnectedChain(n),i=[...Ge.transactions,...r];Ge.loading=!1,Ge.transactions=i,Ge.transactionsByYear=da.groupTransactionsByYearAndMonth(Ge.transactionsByYear,r),Ge.empty=i.length===0,Ge.next=s.next?s.next:void 0}catch{const n=w.state.activeChain;we.sendEvent({type:"track",event:"ERROR_FETCH_TRANSACTIONS",properties:{address:t,projectId:$.state.projectId,cursor:Ge.next,isSmartAccount:os(n)===et.ACCOUNT_TYPES.SMART_ACCOUNT}}),Ws.showError("Failed to fetch transactions"),Ge.loading=!1,Ge.empty=!0,Ge.next=void 0}},groupTransactionsByYearAndMonth(t={},e=[]){const s=t;return e.forEach(n=>{const r=new Date(n.metadata.minedAt).getFullYear(),i=new Date(n.metadata.minedAt).getMonth(),o=s[r]??{},c=(o[i]??[]).filter(l=>l.id!==n.id);s[r]={...o,[i]:[...c,n].sort((l,d)=>new Date(d.metadata.minedAt).getTime()-new Date(l.metadata.minedAt).getTime())}}),s},filterSpamTransactions(t){return t.filter(e=>{var n;return!((n=e.transfers)==null?void 0:n.every(r=>{var i;return((i=r.nft_info)==null?void 0:i.flags.is_spam)===!0}))})},filterByConnectedChain(t){var n;const e=(n=w.state.activeCaipNetwork)==null?void 0:n.caipNetworkId;return t.filter(r=>r.metadata.chain===e)},clearCursor(){Ge.next=void 0},resetTransactions(){Ge.transactions=[],Ge.transactionsByYear={},Ge.lastNetworkInView=void 0,Ge.loading=!1,Ge.empty=!1,Ge.next=void 0}},da=vs(tv,"API_ERROR"),Se=Ke({connections:new Map,recentConnections:new Map,isSwitchingConnection:!1,wcError:!1,wcFetchingUri:!1,buffering:!1,status:"disconnected"});let tr;const sv={state:Se,subscribe(t){return wt(Se,()=>t(Se))},subscribeKey(t,e){return Et(Se,t,e)},_getClient(){return Se._client},setClient(t){Se._client=Xi(t)},initialize(t){const e=t.filter(s=>!!s.namespace).map(s=>s.namespace);K.syncStorageConnections(e)},syncStorageConnections(t){const e=M.getConnections(),s=t??Array.from(w.state.chains.keys());for(const n of s){const r=e[n]??[],i=new Map(Se.recentConnections);i.set(n,r),Se.recentConnections=i}},getConnections(t){return t?Se.connections.get(t)??[]:[]},hasAnyConnection(t){const e=K.state.connections;return Array.from(e.values()).flatMap(s=>s).some(({connectorId:s})=>s===t)},async connectWalletConnect({cache:t="auto"}={}){var s,n,r,i;Se.wcFetchingUri=!0;const e=Z.isTelegram()||Z.isSafari()&&Z.isIos();if(t==="always"||t==="auto"&&e){if(tr){await tr,tr=void 0;return}if(!Z.isPairingExpired(Se==null?void 0:Se.wcPairingExpiry)){const o=Se.wcUri;Se.wcUri=o;return}tr=(n=(s=K._getClient())==null?void 0:s.connectWalletConnect)==null?void 0:n.call(s).catch(()=>{}),K.state.status="connecting",await tr,tr=void 0,Se.wcPairingExpiry=void 0,K.state.status="connected"}else await((i=(r=K._getClient())==null?void 0:r.connectWalletConnect)==null?void 0:i.call(r))},async connectExternal(t,e,s=!0){var o,a,c;const n=await((a=(o=K._getClient())==null?void 0:o.connectExternal)==null?void 0:a.call(o,t));s&&w.setActiveNamespace(e);const r=q.state.allConnectors.find(l=>l.id===(t==null?void 0:t.id)),i=t.type==="AUTH"?"email":"browser";return we.sendEvent({type:"track",event:"CONNECT_SUCCESS",properties:{method:i,name:(r==null?void 0:r.name)||"Unknown",view:le.state.view,walletRank:(c=r==null?void 0:r.explorerWallet)==null?void 0:c.order}}),n},async reconnectExternal(t){var s,n;await((n=(s=K._getClient())==null?void 0:s.reconnectExternal)==null?void 0:n.call(s,t));const e=t.chain||w.state.activeChain;e&&q.setConnectorId(t.id,e)},async setPreferredAccountType(t,e){var n;if(!e)return;Ne.setLoading(!0,w.state.activeChain);const s=q.getAuthConnector();s&&(w.setAccountProp("preferredAccountType",t,e),await s.provider.setPreferredAccount(t),M.setPreferredAccountTypes(Object.entries(w.state.chains).reduce((r,[i,o])=>{const a=i,c=os(a);return c!==void 0&&(r[a]=c),r},{})),await K.reconnectExternal(s),Ne.setLoading(!1,w.state.activeChain),we.sendEvent({type:"track",event:"SET_PREFERRED_ACCOUNT_TYPE",properties:{accountType:t,network:((n=w.state.activeCaipNetwork)==null?void 0:n.caipNetworkId)||""}}))},async signMessage(t){var e;return(e=K._getClient())==null?void 0:e.signMessage(t)},parseUnits(t,e){var s;return(s=K._getClient())==null?void 0:s.parseUnits(t,e)},formatUnits(t,e){var s;return(s=K._getClient())==null?void 0:s.formatUnits(t,e)},updateBalance(t){var e;return(e=K._getClient())==null?void 0:e.updateBalance(t)},async sendTransaction(t){var e;return(e=K._getClient())==null?void 0:e.sendTransaction(t)},async getCapabilities(t){var e;return(e=K._getClient())==null?void 0:e.getCapabilities(t)},async grantPermissions(t){var e;return(e=K._getClient())==null?void 0:e.grantPermissions(t)},async walletGetAssets(t){var e;return((e=K._getClient())==null?void 0:e.walletGetAssets(t))??{}},async estimateGas(t){var e;return(e=K._getClient())==null?void 0:e.estimateGas(t)},async writeContract(t){var e;return(e=K._getClient())==null?void 0:e.writeContract(t)},async getEnsAddress(t){var e;return(e=K._getClient())==null?void 0:e.getEnsAddress(t)},async getEnsAvatar(t){var e;return(e=K._getClient())==null?void 0:e.getEnsAvatar(t)},checkInstalled(t){var e,s;return((s=(e=K._getClient())==null?void 0:e.checkInstalled)==null?void 0:s.call(e,t))||!1},resetWcConnection(){Se.wcUri=void 0,Se.wcPairingExpiry=void 0,Se.wcLinking=void 0,Se.recentWallet=void 0,Se.wcFetchingUri=!1,Se.status="disconnected",da.resetTransactions(),M.deleteWalletConnectDeepLink(),M.deleteRecentWallet(),as.set({connectingWallet:void 0})},resetUri(){Se.wcUri=void 0,Se.wcPairingExpiry=void 0,tr=void 0,Se.wcFetchingUri=!1,as.set({connectingWallet:void 0})},finalizeWcConnection(t){var n,r;const{wcLinking:e,recentWallet:s}=K.state;e&&M.setWalletConnectDeepLink(e),s&&M.setAppKitRecent(s),t&&we.sendEvent({type:"track",event:"CONNECT_SUCCESS",address:t,properties:{method:e?"mobile":"qrcode",name:((r=(n=le.state.data)==null?void 0:n.wallet)==null?void 0:r.name)||"Unknown",view:le.state.view,walletRank:s==null?void 0:s.order}})},setWcBasic(t){Se.wcBasic=t},setUri(t){Se.wcUri=t,Se.wcFetchingUri=!1,Se.wcPairingExpiry=Z.getPairingExpiry()},setWcLinking(t){Se.wcLinking=t},setWcError(t){Se.wcError=t,Se.wcFetchingUri=!1,Se.buffering=!1},setRecentWallet(t){Se.recentWallet=t},setBuffering(t){Se.buffering=t},setStatus(t){Se.status=t},setIsSwitchingConnection(t){Se.isSwitchingConnection=t},async disconnect({id:t,namespace:e,initialDisconnect:s}={}){var n;try{await((n=K._getClient())==null?void 0:n.disconnect({id:t,chainNamespace:e,initialDisconnect:s}))}catch(r){throw new Nr("Failed to disconnect","INTERNAL_SDK_ERROR",r)}},async disconnectConnector({id:t,namespace:e}){var s;try{await((s=K._getClient())==null?void 0:s.disconnectConnector({id:t,namespace:e}))}catch(n){throw new Nr("Failed to disconnect connector","INTERNAL_SDK_ERROR",n)}},setConnections(t,e){const s=new Map(Se.connections);s.set(e,t),Se.connections=s},async handleAuthAccountSwitch({address:t,namespace:e}){var i,o;const s=w.getAccountData(e),n=(o=(i=s==null?void 0:s.user)==null?void 0:i.accounts)==null?void 0:o.find(a=>a.type==="smartAccount"),r=n&&n.address.toLowerCase()===t.toLowerCase()&&vi.canSwitchToSmartAccount(e)?"smartAccount":"eoa";await K.setPreferredAccountType(r,e)},async handleActiveConnection({connection:t,namespace:e,address:s}){const n=q.getConnectorById(t.connectorId),r=t.connectorId===U.CONNECTOR_ID.AUTH;if(!n)throw new Error(`No connector found for connection: ${t.connectorId}`);if(r)s&&await K.handleAuthAccountSwitch({address:s,namespace:e});else{const i=await K.connectExternal({id:n.id,type:n.type,provider:n.provider,address:s,chain:e},e);return i==null?void 0:i.address}return s},async handleDisconnectedConnection({connection:t,namespace:e,address:s,closeModalOnConnect:n}){var l,d;const r=q.getConnectorById(t.connectorId),i=(d=(l=t.auth)==null?void 0:l.name)==null?void 0:d.toLowerCase(),o=t.connectorId===U.CONNECTOR_ID.AUTH,a=t.connectorId===U.CONNECTOR_ID.WALLET_CONNECT;if(!r)throw new Error(`No connector found for connection: ${t.connectorId}`);let c;if(o)if(i&&vi.isSocialProvider(i)){const{address:u}=await vi.connectSocial({social:i,closeModalOnConnect:n,onOpenFarcaster(){Ne.open({view:"ConnectingFarcaster"})},onConnect(){le.replace("ProfileWallets")}});c=u}else{const{address:u}=await vi.connectEmail({closeModalOnConnect:n,onOpen(){Ne.open({view:"EmailLogin"})},onConnect(){le.replace("ProfileWallets")}});c=u}else if(a){const{address:u}=await vi.connectWalletConnect({walletConnect:!0,connector:r,closeModalOnConnect:n,onOpen(h){const p=h?"AllWallets":"ConnectingWalletConnect";Ne.state.open?le.push(p):Ne.open({view:p})},onConnect(){le.replace("ProfileWallets")}});c=u}else{const u=await K.connectExternal({id:r.id,type:r.type,provider:r.provider,chain:e},e);u&&(c=u.address)}return o&&s&&await K.handleAuthAccountSwitch({address:s,namespace:e}),c},async switchConnection({connection:t,address:e,namespace:s,closeModalOnConnect:n,onChange:r}){var c;let i;const o=(c=w.getAccountData(s))==null?void 0:c.caipAddress;if(o){const{address:l}=ct.parseCaipAddress(o);i=l}const a=Ra.getConnectionStatus(t,s);switch(a){case"connected":case"active":{const l=await K.handleActiveConnection({connection:t,namespace:s,address:e});if(i&&l){const d=l.toLowerCase()!==i.toLowerCase();r==null||r({address:l,namespace:s,hasSwitchedAccount:d,hasSwitchedWallet:a==="active"})}break}case"disconnected":{const l=await K.handleDisconnectedConnection({connection:t,namespace:s,address:e,closeModalOnConnect:n});l&&(r==null||r({address:l,namespace:s,hasSwitchedAccount:!0,hasSwitchedWallet:!0}));break}default:throw new Error(`Invalid connection status: ${a}`)}}},K=vs(sv),bc={createBalance(t,e){const s={name:t.metadata.name||"",symbol:t.metadata.symbol||"",decimals:t.metadata.decimals||0,value:t.metadata.value||0,price:t.metadata.price||0,iconUrl:t.metadata.iconUrl||""};return{name:s.name,symbol:s.symbol,chainId:e,address:t.address==="native"?void 0:this.convertAddressToCAIP10Address(t.address,e),value:s.value,price:s.price,quantity:{decimals:s.decimals.toString(),numeric:this.convertHexToBalance({hex:t.balance,decimals:s.decimals})},iconUrl:s.iconUrl}},convertHexToBalance({hex:t,decimals:e}){return wf(BigInt(t),e)},convertAddressToCAIP10Address(t,e){return`${e}:${t}`},createCAIP2ChainId(t,e){return`${e}:${parseInt(t,16)}`},getChainIdHexFromCAIP2ChainId(t){const e=t.split(":");if(e.length<2||!e[1])return"0x0";const s=e[1],n=parseInt(s,10);return isNaN(n)?"0x0":`0x${n.toString(16)}`},isWalletGetAssetsResponse(t){return typeof t!="object"||t===null?!1:Object.values(t).every(e=>Array.isArray(e)&&e.every(s=>this.isValidAsset(s)))},isValidAsset(t){return typeof t=="object"&&t!==null&&typeof t.address=="string"&&typeof t.balance=="string"&&(t.type==="ERC20"||t.type==="NATIVE")&&typeof t.metadata=="object"&&t.metadata!==null&&typeof t.metadata.name=="string"&&typeof t.metadata.symbol=="string"&&typeof t.metadata.decimals=="number"&&typeof t.metadata.price=="number"&&typeof t.metadata.iconUrl=="string"}};let Cc;async function Hu(){if(!Cc){const{createPublicClient:t,http:e,defineChain:s}=await kt(async()=>{const{createPublicClient:n,http:r,defineChain:i}=await import("./index-BqQ8z1qv.js");return{createPublicClient:n,http:r,defineChain:i}},__vite__mapDeps([0,1,2,3,4,5]));Cc={createPublicClient:t,http:e,defineChain:s}}return Cc}const Il={getBlockchainApiRpcUrl(t,e){const s=new URL("https://rpc.walletconnect.org/v1/");return s.searchParams.set("chainId",t),s.searchParams.set("projectId",e),s.toString()},async getViemChain(t){const{defineChain:e}=await Hu(),{chainId:s}=ct.parseCaipNetworkId(t.caipNetworkId);return e({...t,id:Number(s)})},async createViemPublicClient(t){const{createPublicClient:e,http:s}=await Hu(),n=$.state.projectId,r=await Il.getViemChain(t);if(!r)throw new Error(`Chain ${t.caipNetworkId} not found in viem/chains`);return e({chain:r,transport:s(Il.getBlockchainApiRpcUrl(t.caipNetworkId,n))})}},_d={async getMyTokensWithBalance(t){var a;const e=(a=w.getAccountData())==null?void 0:a.address,s=w.state.activeCaipNetwork,n=q.getConnectorId("eip155")===U.CONNECTOR_ID.AUTH;if(!e||!s)return[];const r=`${s.caipNetworkId}:${e}`,i=M.getBalanceCacheForCaipAddress(r);if(i)return i.balances;if(s.chainNamespace===U.CHAIN.EVM&&n){const c=await this.getEIP155Balances(e,s);if(c)return this.filterLowQualityTokens(c)}const o=await he.getBalance(e,s.caipNetworkId,t);return this.filterLowQualityTokens(o.balances)},async getEIP155Balances(t,e){var s,n;try{const r=bc.getChainIdHexFromCAIP2ChainId(e.caipNetworkId),i=await K.getCapabilities(t);if(!((n=(s=i==null?void 0:i[r])==null?void 0:s.assetDiscovery)!=null&&n.supported))return null;const o=await K.walletGetAssets({account:t,chainFilter:[r]});if(!bc.isWalletGetAssetsResponse(o))return null;const c=(o[r]||[]).map(l=>bc.createBalance(l,e.caipNetworkId));return M.updateBalanceCache({caipAddress:`${e.caipNetworkId}:${t}`,balance:{balances:c},timestamp:Date.now()}),c}catch{return null}},filterLowQualityTokens(t){return t.filter(e=>e.quantity.decimals!=="0")},async fetchERC20Balance({caipAddress:t,assetAddress:e,caipNetwork:s}){const n=await Il.createViemPublicClient(s),{address:r}=ct.parseCaipAddress(t),[{result:i},{result:o},{result:a},{result:c}]=await n.multicall({contracts:[{address:e,functionName:"name",args:[],abi:Do},{address:e,functionName:"symbol",args:[],abi:Do},{address:e,functionName:"balanceOf",args:[r],abi:Do},{address:e,functionName:"decimals",args:[],abi:Do}]});return{name:i,symbol:o,decimals:c,balance:a&&c?wf(a,c):"0"}}},vc={adapters:{}},Hf={state:vc,initialize(t){vc.adapters={...t}},get(t){return vc.adapters[t]}},Oa={eip155:void 0,solana:void 0,polkadot:void 0,bip122:void 0,cosmos:void 0,sui:void 0,stacks:void 0,ton:void 0},jt=Ke({providers:{...Oa},providerIds:{...Oa}}),He={state:jt,subscribeKey(t,e){return Et(jt,t,e)},subscribe(t){return wt(jt,()=>{t(jt)})},subscribeProviders(t){return wt(jt.providers,()=>t(jt.providers))},setProvider(t,e){t&&e&&(jt.providers[t]=Xi(e))},getProvider(t){if(t)return jt.providers[t]},setProviderId(t,e){e&&(jt.providerIds[t]=e)},getProviderId(t){if(t)return jt.providerIds[t]},reset(){jt.providers={...Oa},jt.providerIds={...Oa}},resetChain(t){jt.providers[t]=void 0,jt.providerIds[t]=void 0}},nv={async getTokenList(t){var n;const e=await he.fetchSwapTokens({chainId:t});return((n=e==null?void 0:e.tokens)==null?void 0:n.map(r=>({...r,eip2612:!1,quantity:{decimals:"0",numeric:"0"},price:0,value:0})))||[]},async fetchGasPrice(){var e;const t=w.state.activeCaipNetwork;if(!t)return null;try{switch(t.chainNamespace){case"solana":const s=(e=await(K==null?void 0:K.estimateGas({chainNamespace:"solana"})))==null?void 0:e.toString();return{standard:s,fast:s,instant:s};case"eip155":default:return await he.fetchGasPrice({chainId:t.caipNetworkId})}}catch{return null}},async fetchSwapAllowance({tokenAddress:t,userAddress:e,sourceTokenAmount:s,sourceTokenDecimals:n}){const r=await he.fetchSwapAllowance({tokenAddress:t,userAddress:e});if(r!=null&&r.allowance&&s&&n){const i=K.parseUnits(s,n)||0;return BigInt(r.allowance)>=i}return!1},async getMyTokensWithBalance(t){const e=await _d.getMyTokensWithBalance(t);return w.setAccountProp("tokenBalance",e,w.state.activeChain),this.mapBalancesToSwapTokens(e)},mapBalancesToSwapTokens(t){return(t==null?void 0:t.map(e=>({...e,address:e!=null&&e.address?e.address:Wf(),decimals:parseInt(e.quantity.decimals,10),logoUri:e.iconUrl,eip2612:!1})))||[]},async handleSwapError(t){var e,s;try{const n=t==null?void 0:t.cause;if(!(n!=null&&n.json))return;const r=await n.json(),i=(s=(e=r==null?void 0:r.reasons)==null?void 0:e[0])==null?void 0:s.description;return i!=null&&i.includes("insufficient liquidity")?"Insufficient liquidity":void 0}catch{return}}},Pe=Ke({tokenBalances:[],loading:!1}),rv={state:Pe,subscribe(t){return wt(Pe,()=>t(Pe))},subscribeKey(t,e){return Et(Pe,t,e)},setToken(t){t&&(Pe.token=Xi(t))},setTokenAmount(t){Pe.sendTokenAmount=t},setReceiverAddress(t){Pe.receiverAddress=t},setReceiverProfileImageUrl(t){Pe.receiverProfileImageUrl=t},setReceiverProfileName(t){Pe.receiverProfileName=t},setNetworkBalanceInUsd(t){Pe.networkBalanceInUSD=t},setLoading(t){Pe.loading=t},getSdkEventProperties(t){var e,s;return{message:Z.parseError(t),isSmartAccount:os(w.state.activeChain)===et.ACCOUNT_TYPES.SMART_ACCOUNT,token:((e=Pe.token)==null?void 0:e.symbol)||"",amount:Pe.sendTokenAmount??0,network:((s=w.state.activeCaipNetwork)==null?void 0:s.caipNetworkId)||""}},async sendToken(){var t;try{switch(_e.setLoading(!0),(t=w.state.activeCaipNetwork)==null?void 0:t.chainNamespace){case"eip155":await _e.sendEvmToken();return;case"solana":await _e.sendSolanaToken();return;default:throw new Error("Unsupported chain")}}catch(e){throw un.isUserRejectedRequestError(e)?new _f(e):e}finally{_e.setLoading(!1)}},async sendEvmToken(){var s,n,r;const t=w.state.activeChain;if(!t)throw new Error("SendController:sendEvmToken - activeChainNamespace is required");const e=os(t);if(!_e.state.sendTokenAmount||!_e.state.receiverAddress)throw new Error("An amount and receiver address are required");if(!_e.state.token)throw new Error("A token is required");if((s=_e.state.token)!=null&&s.address){we.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===et.ACCOUNT_TYPES.SMART_ACCOUNT,token:_e.state.token.address,amount:_e.state.sendTokenAmount,network:((n=w.state.activeCaipNetwork)==null?void 0:n.caipNetworkId)||""}});const{hash:i}=await _e.sendERC20Token({receiverAddress:_e.state.receiverAddress,tokenAddress:_e.state.token.address,sendTokenAmount:_e.state.sendTokenAmount,decimals:_e.state.token.quantity.decimals});i&&(Pe.hash=i)}else{we.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===et.ACCOUNT_TYPES.SMART_ACCOUNT,token:_e.state.token.symbol||"",amount:_e.state.sendTokenAmount,network:((r=w.state.activeCaipNetwork)==null?void 0:r.caipNetworkId)||""}});const{hash:i}=await _e.sendNativeToken({receiverAddress:_e.state.receiverAddress,sendTokenAmount:_e.state.sendTokenAmount,decimals:_e.state.token.quantity.decimals});i&&(Pe.hash=i)}},async fetchTokenBalance(t){var o,a,c;Pe.loading=!0;const e=w.state.activeChain,s=(o=w.state.activeCaipNetwork)==null?void 0:o.caipNetworkId,n=(a=w.state.activeCaipNetwork)==null?void 0:a.chainNamespace,r=((c=w.getAccountData(e))==null?void 0:c.caipAddress)??w.state.activeCaipAddress,i=r?Z.getPlainAddress(r):void 0;if(Pe.lastRetry&&!Z.isAllowedRetry(Pe.lastRetry,30*Ie.ONE_SEC_MS))return Pe.loading=!1,[];try{if(i&&s&&n){const l=await _d.getMyTokensWithBalance();return Pe.tokenBalances=l,Pe.lastRetry=void 0,l}}catch(l){Pe.lastRetry=Date.now(),t==null||t(l),Ws.showError("Token Balance Unavailable")}finally{Pe.loading=!1}return[]},fetchNetworkBalance(){if(Pe.tokenBalances.length===0)return;const t=nv.mapBalancesToSwapTokens(Pe.tokenBalances);if(!t)return;const e=t.find(s=>s.address===Wf());e&&(Pe.networkBalanceInUSD=e?Gy.multiply(e.quantity.numeric,e.price).toString():"0")},async sendNativeToken(t){var o,a,c,l;le.pushTransactionStack({});const e=t.receiverAddress,s=(o=w.getAccountData())==null?void 0:o.address,n=K.parseUnits(t.sendTokenAmount.toString(),Number(t.decimals)),i=await K.sendTransaction({chainNamespace:U.CHAIN.EVM,to:e,address:s,data:"0x",value:n??BigInt(0)});return we.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:os("eip155")===et.ACCOUNT_TYPES.SMART_ACCOUNT,token:((a=_e.state.token)==null?void 0:a.symbol)||"",amount:t.sendTokenAmount,network:((c=w.state.activeCaipNetwork)==null?void 0:c.caipNetworkId)||"",hash:i||""}}),(l=K._getClient())==null||l.updateBalance("eip155"),_e.resetSend(),{hash:i}},async sendERC20Token(t){var n,r,i;le.pushTransactionStack({onSuccess(){le.replace("Account")}});const e=K.parseUnits(t.sendTokenAmount.toString(),Number(t.decimals)),s=(n=w.getAccountData())==null?void 0:n.address;if(s&&t.sendTokenAmount&&t.receiverAddress&&t.tokenAddress){const o=Z.getPlainAddress(t.tokenAddress);if(!o)throw new Error("SendController:sendERC20Token - tokenAddress is required");const a=await K.writeContract({fromAddress:s,tokenAddress:o,args:[t.receiverAddress,e??BigInt(0)],method:"transfer",abi:Xy.getERC20Abi(o),chainNamespace:U.CHAIN.EVM});return we.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:os("eip155")===et.ACCOUNT_TYPES.SMART_ACCOUNT,token:((r=_e.state.token)==null?void 0:r.symbol)||"",amount:t.sendTokenAmount,network:((i=w.state.activeCaipNetwork)==null?void 0:i.caipNetworkId)||"",hash:a||""}}),_e.resetSend(),{hash:a}}return{hash:void 0}},async sendSolanaToken(){var s,n,r;if(!_e.state.sendTokenAmount||!_e.state.receiverAddress)throw new Error("An amount and receiver address are required");le.pushTransactionStack({onSuccess(){le.replace("Account")}});let t;_e.state.token&&_e.state.token.address!==Ie.SOLANA_NATIVE_TOKEN_ADDRESS&&(Z.isCaipAddress(_e.state.token.address)?t=Z.getPlainAddress(_e.state.token.address):t=_e.state.token.address);const e=await K.sendTransaction({chainNamespace:"solana",tokenMint:t,to:_e.state.receiverAddress,value:_e.state.sendTokenAmount});e&&(Pe.hash=e),(s=K._getClient())==null||s.updateBalance("solana"),we.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:!1,token:((n=_e.state.token)==null?void 0:n.symbol)||"",amount:_e.state.sendTokenAmount,network:((r=w.state.activeCaipNetwork)==null?void 0:r.caipNetworkId)||"",hash:e||""}}),_e.resetSend()},resetSend(){Pe.token=void 0,Pe.sendTokenAmount=void 0,Pe.receiverAddress=void 0,Pe.receiverProfileImageUrl=void 0,Pe.receiverProfileName=void 0,Pe.loading=!1,Pe.tokenBalances=[]}},_e=vs(rv),_c={currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,user:void 0,preferredAccountType:void 0},Vo={caipNetwork:void 0,supportsAllNetworks:!0,smartAccountEnabledNetworks:[]},J=Ke({chains:hw(),activeCaipAddress:void 0,activeChain:void 0,activeCaipNetwork:void 0,noAdapters:!1,universalAdapter:{connectionControllerClient:void 0},isSwitchingNamespace:!1}),Vf={state:J,subscribe(t){return wt(J,()=>{t(J)})},subscribeKey(t,e){return Et(J,t,e)},subscribeAccountStateProp(t,e,s){var r;const n=s||J.activeChain;return n?Et(((r=J.chains.get(n))==null?void 0:r.accountState)||{},t,e):()=>{}},subscribeChainProp(t,e,s){let n;return wt(J.chains,()=>{var i;const r=s||J.activeChain;if(r){const o=(i=J.chains.get(r))==null?void 0:i[t];n!==o&&(n=o,e(o))}})},initialize(t,e,s){const{chainId:n,namespace:r}=M.getActiveNetworkProps(),i=e==null?void 0:e.find(d=>d.id.toString()===(n==null?void 0:n.toString())),a=t.find(d=>(d==null?void 0:d.namespace)===r)||(t==null?void 0:t[0]),c=t.map(d=>d.namespace).filter(d=>d!==void 0),l=$.state.enableEmbedded?new Set([...c]):new Set([...(e==null?void 0:e.map(d=>d.chainNamespace))??[]]);((t==null?void 0:t.length)===0||!a)&&(J.noAdapters=!0),J.noAdapters||(J.activeChain=a==null?void 0:a.namespace,J.activeCaipNetwork=i,w.setChainNetworkData(a==null?void 0:a.namespace,{caipNetwork:i}),J.activeChain&&as.set({activeChain:a==null?void 0:a.namespace})),l.forEach(d=>{const u=e==null?void 0:e.filter(m=>m.chainNamespace===d),h=M.getPreferredAccountTypes()||{},p={...$.state.defaultAccountTypes,...h};w.state.chains.set(d,{namespace:d,networkState:Ke({...Vo,caipNetwork:u==null?void 0:u[0]}),accountState:Ke({..._c,preferredAccountType:p[d]}),caipNetworks:u??[],...s}),w.setRequestedCaipNetworks(u??[],d)})},removeAdapter(t){var e,s;if(J.activeChain===t){const n=Array.from(J.chains.entries()).find(([r])=>r!==t);if(n){const r=(s=(e=n[1])==null?void 0:e.caipNetworks)==null?void 0:s[0];r&&w.setActiveCaipNetwork(r)}}J.chains.delete(t)},addAdapter(t,{connectionControllerClient:e},s){if(!t.namespace)throw new Error("ChainController:addAdapter - adapter must have a namespace");J.chains.set(t.namespace,{namespace:t.namespace,networkState:{...Vo,caipNetwork:s[0]},accountState:{..._c},caipNetworks:s,connectionControllerClient:e}),w.setRequestedCaipNetworks((s==null?void 0:s.filter(n=>n.chainNamespace===t.namespace))??[],t.namespace)},addNetwork(t){var s;const e=J.chains.get(t.chainNamespace);if(e){const n=[...e.caipNetworks||[]];(s=e.caipNetworks)!=null&&s.find(r=>r.id===t.id)||n.push(t),J.chains.set(t.chainNamespace,{...e,caipNetworks:n}),w.setRequestedCaipNetworks(n,t.chainNamespace),q.filterByNamespace(t.chainNamespace,!0)}},removeNetwork(t,e){var n,r,i;const s=J.chains.get(t);if(s){const o=((n=J.activeCaipNetwork)==null?void 0:n.id)===e,a=[...((r=s.caipNetworks)==null?void 0:r.filter(c=>c.id!==e))||[]];o&&((i=s==null?void 0:s.caipNetworks)!=null&&i[0])&&w.setActiveCaipNetwork(s.caipNetworks[0]),J.chains.set(t,{...s,caipNetworks:a}),w.setRequestedCaipNetworks(a||[],t),a.length===0&&q.filterByNamespace(t,!1)}},setAdapterNetworkState(t,e){const s=J.chains.get(t);s&&(s.networkState={...s.networkState||Vo,...e},J.chains.set(t,s))},setChainAccountData(t,e,s=!0){if(!t)throw new Error("Chain is required to update chain account data");const n=J.chains.get(t);if(n){const r={...n.accountState||_c,...e};J.chains.set(t,{...n,accountState:r}),(J.chains.size===1||J.activeChain===t)&&e.caipAddress&&(J.activeCaipAddress=e.caipAddress)}},setChainNetworkData(t,e){if(!t)return;const s=J.chains.get(t);if(s){const n={...s.networkState||Vo,...e};J.chains.set(t,{...s,networkState:n})}},setAccountProp(t,e,s,n=!0){w.setChainAccountData(s,{[t]:e},n)},setActiveNamespace(t){var n,r;J.activeChain=t;const e=t?J.chains.get(t):void 0,s=(n=e==null?void 0:e.networkState)==null?void 0:n.caipNetwork;s!=null&&s.id&&t&&(J.activeCaipAddress=(r=e==null?void 0:e.accountState)==null?void 0:r.caipAddress,J.activeCaipNetwork=s,w.setChainNetworkData(t,{caipNetwork:s}),M.setActiveCaipNetworkId(s==null?void 0:s.caipNetworkId),as.set({activeChain:t,selectedNetworkId:s==null?void 0:s.caipNetworkId}))},setActiveCaipNetwork(t){var i,o;if(!t)return;const e=J.activeChain===t.chainNamespace;e||w.setIsSwitchingNamespace(!0);const s=J.chains.get(t.chainNamespace);J.activeChain=t.chainNamespace,J.activeCaipNetwork=t,w.setChainNetworkData(t.chainNamespace,{caipNetwork:t});let n=(i=s==null?void 0:s.accountState)==null?void 0:i.address;if(n)J.activeCaipAddress=`${t.chainNamespace}:${t.id}:${n}`;else if(e&&J.activeCaipAddress){const{address:a}=ct.parseCaipAddress(J.activeCaipAddress);n=a,J.activeCaipAddress=`${t.caipNetworkId}:${n}`}else J.activeCaipAddress=void 0;w.setChainAccountData(t.chainNamespace,{address:n,caipAddress:J.activeCaipAddress}),_e.resetSend(),as.set({activeChain:J.activeChain,selectedNetworkId:(o=J.activeCaipNetwork)==null?void 0:o.caipNetworkId}),M.setActiveCaipNetworkId(t.caipNetworkId),!w.checkIfSupportedNetwork(t.chainNamespace)&&$.state.enableNetworkSwitch&&!$.state.allowUnsupportedChain&&!K.state.wcBasic&&w.showUnsupportedChainUI()},addCaipNetwork(t){var s;if(!t)return;const e=J.chains.get(t.chainNamespace);e&&((s=e==null?void 0:e.caipNetworks)==null||s.push(t))},async switchActiveNamespace(t){var r;if(!t)return;const e=t!==w.state.activeChain,s=(r=w.getNetworkData(t))==null?void 0:r.caipNetwork,n=w.getCaipNetworkByNamespace(t,s==null?void 0:s.id);e&&n&&await w.switchActiveNetwork(n)},async switchActiveNetwork(t,{throwOnFailure:e=!1}={}){var o;const s=w.state.activeChain;if(!s)throw new Error("ChainController:switchActiveNetwork - namespace is required");const n=He.getProviderId(J.activeChain)==="AUTH",r=(o=w.getAccountData(s))==null?void 0:o.address,i=U.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(t.chainNamespace);try{if(r&&t.chainNamespace===s||n&&i){const a=Hf.get(t.chainNamespace);if(!a)throw new Error("Adapter not found");await a.switchNetwork({caipNetwork:t})}w.setActiveCaipNetwork(t)}catch(a){if(e)throw a}we.sendEvent({type:"track",event:"SWITCH_NETWORK",properties:{network:t.caipNetworkId}})},getConnectionControllerClient(t){const e=t||J.activeChain;if(!e)throw new Error("Chain is required to get connection controller client");const s=J.chains.get(e);if(!(s!=null&&s.connectionControllerClient))throw new Error("ConnectionController client not set");return s.connectionControllerClient},getNetworkProp(t,e){var n;const s=(n=J.chains.get(e))==null?void 0:n.networkState;if(s)return s[t]},getRequestedCaipNetworks(t){const e=J.chains.get(t),{approvedCaipNetworkIds:s=[],requestedCaipNetworks:n=[]}=(e==null?void 0:e.networkState)||{};return Z.sortRequestedNetworks(s,n).filter(o=>o==null?void 0:o.id)},getAllRequestedCaipNetworks(){const t=[];return J.chains.forEach(e=>{if(!e.namespace)throw new Error("ChainController:getAllRequestedCaipNetworks - chainAdapter must have a namespace");const s=w.getRequestedCaipNetworks(e.namespace);t.push(...s)}),t},setRequestedCaipNetworks(t,e){w.setAdapterNetworkState(e,{requestedCaipNetworks:t});const n=w.getAllRequestedCaipNetworks().map(i=>i.chainNamespace),r=Array.from(new Set(n));q.filterByNamespaces(r)},getAllApprovedCaipNetworkIds(){const t=[];return J.chains.forEach(e=>{if(!e.namespace)throw new Error("ChainController:getAllApprovedCaipNetworkIds - chainAdapter must have a namespace");const s=w.getApprovedCaipNetworkIds(e.namespace);t.push(...s)}),t},getActiveCaipNetwork(t){var e,s;return t?(s=(e=J.chains.get(t))==null?void 0:e.networkState)==null?void 0:s.caipNetwork:J.activeCaipNetwork},getActiveCaipAddress(){return J.activeCaipAddress},getApprovedCaipNetworkIds(t){var n;const e=J.chains.get(t);return((n=e==null?void 0:e.networkState)==null?void 0:n.approvedCaipNetworkIds)||[]},setApprovedCaipNetworksData(t,e){w.setAdapterNetworkState(t,e)},checkIfSupportedNetwork(t,e){var r;const s=e||((r=J.activeCaipNetwork)==null?void 0:r.caipNetworkId),n=w.getRequestedCaipNetworks(t);return n.length?n==null?void 0:n.some(i=>i.caipNetworkId===s):!0},checkIfSupportedChainId(t){if(!J.activeChain)return!0;const e=w.getRequestedCaipNetworks(J.activeChain);return e==null?void 0:e.some(s=>s.id===t)},checkIfSmartAccountEnabled(){var n,r;const t=Ef.caipNetworkIdToNumber((n=J.activeCaipNetwork)==null?void 0:n.caipNetworkId);if(!J.activeChain||!t)return!1;const s=((r=at.get(re.SMART_ACCOUNT_ENABLED_NETWORKS))==null?void 0:r.split(","))||[];return!!(s!=null&&s.includes(t.toString()))},showUnsupportedChainUI(){Ne.open({view:"UnsupportedChain"})},checkIfNamesSupported(){const t=J.activeCaipNetwork;return!!(t!=null&&t.chainNamespace&&Ie.NAMES_SUPPORTED_CHAIN_NAMESPACES.includes(t.chainNamespace))},resetNetwork(t){w.setAdapterNetworkState(t,{approvedCaipNetworkIds:void 0,supportsAllNetworks:!0})},resetAccount(t){var r,i;const e=t;if(!e)throw new Error("Chain is required to set account prop");const s=(i=(r=w.state.chains.get(e))==null?void 0:r.accountState)==null?void 0:i.preferredAccountType,n=$.state.defaultAccountTypes[e];J.activeCaipAddress=void 0,w.setChainAccountData(e,{smartAccountDeployed:!1,currentTab:0,caipAddress:void 0,address:void 0,balance:void 0,balanceSymbol:void 0,profileName:void 0,profileImage:void 0,addressExplorerUrl:void 0,tokenBalance:[],connectedWalletInfo:void 0,preferredAccountType:n||s,socialProvider:void 0,socialWindow:void 0,farcasterUrl:void 0,user:void 0,status:"disconnected"}),q.removeConnectorId(e)},setIsSwitchingNamespace(t){J.isSwitchingNamespace=t},getFirstCaipNetworkSupportsAuthConnector(){var s,n;const t=[];let e;if(J.chains.forEach(r=>{U.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(i=>i===r.namespace)&&r.namespace&&t.push(r.namespace)}),t.length>0){const r=t[0];return e=r?(n=(s=J.chains.get(r))==null?void 0:s.caipNetworks)==null?void 0:n[0]:void 0,e}},getAccountData(t){var s;const e=t||J.activeChain;if(e)return(s=w.state.chains.get(e))==null?void 0:s.accountState},getNetworkData(t){var s;const e=t||J.activeChain;if(e)return(s=w.state.chains.get(e))==null?void 0:s.networkState},getCaipNetworkByNamespace(t,e){var r,i,o;if(!t)return;const s=w.state.chains.get(t),n=(r=s==null?void 0:s.caipNetworks)==null?void 0:r.find(a=>a.id.toString()===(e==null?void 0:e.toString()));return n||((i=s==null?void 0:s.networkState)==null?void 0:i.caipNetwork)||((o=s==null?void 0:s.caipNetworks)==null?void 0:o[0])},getRequestedCaipNetworkIds(){const t=q.state.filterByNamespace;return(t?[J.chains.get(t)]:Array.from(J.chains.values())).flatMap(s=>(s==null?void 0:s.caipNetworks)||[]).map(s=>s.caipNetworkId)},getCaipNetworks(t){return t?w.getRequestedCaipNetworks(t):w.getAllRequestedCaipNetworks()},getCaipNetworkById(t,e){return Vf.getCaipNetworks(e).find(s=>s.id.toString()===t.toString()||s.caipNetworkId.toString()===t.toString())},setLastConnectedSIWECaipNetwork(t){J.lastConnectedSIWECaipNetwork=t},getLastConnectedSIWECaipNetwork(){return J.lastConnectedSIWECaipNetwork},async fetchTokenBalance(t){var o,a;const e=w.getAccountData();if(!e)return[];const s=(o=w.state.activeCaipNetwork)==null?void 0:o.caipNetworkId,n=(a=w.state.activeCaipNetwork)==null?void 0:a.chainNamespace,r=w.state.activeCaipAddress,i=r?Z.getPlainAddress(r):void 0;if(w.setAccountProp("balanceLoading",!0,n),e.lastRetry&&!Z.isAllowedRetry(e.lastRetry,30*Ie.ONE_SEC_MS))return w.setAccountProp("balanceLoading",!1,n),[];try{if(i&&s&&n){const c=await _d.getMyTokensWithBalance();return w.setAccountProp("tokenBalance",c,n),w.setAccountProp("lastRetry",void 0,n),w.setAccountProp("balanceLoading",!1,n),c}}catch(c){w.setAccountProp("lastRetry",Date.now(),n),t==null||t(c),Ws.showError("Token Balance Unavailable")}finally{w.setAccountProp("balanceLoading",!1,n)}return[]},isCaipNetworkDisabled(t){var c;const e=t.chainNamespace,s=!!((c=w.getAccountData(e))!=null&&c.caipAddress),n=w.getAllApprovedCaipNetworkIds(),r=w.getNetworkProp("supportsAllNetworks",e)!==!1,i=q.getConnectorId(e),o=q.getAuthConnector(),a=i===U.CONNECTOR_ID.AUTH&&o;return!s||r||a?!1:!(n!=null&&n.includes(t.caipNetworkId))}},w=vs(Vf),iv={onSwitchNetwork({network:t,ignoreSwitchConfirmation:e=!1}){var h,p;const s=w.state.activeCaipNetwork,n=w.state.activeChain,r=le.state.data;if(t.id===(s==null?void 0:s.id))return;const o=!!((h=w.getAccountData(n))!=null&&h.address),a=!!((p=w.getAccountData(t.chainNamespace))!=null&&p.address),c=t.chainNamespace!==n,d=q.getConnectorId(n)===U.CONNECTOR_ID.AUTH,u=U.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(m=>m===t.chainNamespace);e||d&&u?le.push("SwitchNetwork",{...r,network:t}):o&&c&&!a?le.push("SwitchActiveChain",{switchToChain:t.chainNamespace,navigateTo:"Connect",navigateWithReplace:!0,network:t}):le.push("SwitchNetwork",{...r,network:t})}},Ft=Ke({loading:!1,loadingNamespaceMap:new Map,open:!1,shake:!1,namespace:void 0}),ov={state:Ft,subscribe(t){return wt(Ft,()=>t(Ft))},subscribeKey(t,e){return Et(Ft,t,e)},async open(t){var o,a;const e=t==null?void 0:t.namespace,s=w.state.activeChain,n=e&&e!==s,r=(o=w.getAccountData(t==null?void 0:t.namespace))==null?void 0:o.caipAddress,i=w.state.noAdapters;if(K.state.wcBasic?Q.prefetch({fetchNetworkImages:!1,fetchConnectorImages:!1,fetchWalletRanks:!1}):await Q.prefetch(),q.setFilterByNamespace(t==null?void 0:t.namespace),Ne.setLoading(!0,e),e&&n){const c=((a=w.getNetworkData(e))==null?void 0:a.caipNetwork)||w.getRequestedCaipNetworks(e)[0];c&&(i?(await w.switchActiveNetwork(c),le.push("ConnectingWalletConnectBasic")):iv.onSwitchNetwork({network:c,ignoreSwitchConfirmation:!0}))}else $.state.manualWCControl||i&&!r?Z.isMobile()?le.reset("AllWallets"):le.reset("ConnectingWalletConnectBasic"):t!=null&&t.view?le.reset(t.view,t.data):r?le.reset("Account"):le.reset("Connect");Ft.open=!0,as.set({open:!0}),we.sendEvent({type:"track",event:"MODAL_OPEN",properties:{connected:!!r}})},close(){const t=$.state.enableEmbedded,e=!!w.state.activeCaipAddress;Ft.open&&we.sendEvent({type:"track",event:"MODAL_CLOSE",properties:{connected:e}}),Ft.open=!1,le.reset("Connect"),Ne.clearLoading(),t?e?le.replace("Account"):le.push("Connect"):as.set({open:!1}),K.resetUri()},setLoading(t,e){e&&Ft.loadingNamespaceMap.set(e,t),Ft.loading=t,as.set({loading:t})},clearLoading(){Ft.loadingNamespaceMap.clear(),Ft.loading=!1,as.set({loading:!1})},shake(){Ft.shake||(Ft.shake=!0,setTimeout(()=>{Ft.shake=!1},500))}},Ne=vs(ov),ji={id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"USD Coin",symbol:"USDC",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]},Nl={id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},av={providers:Sf,selectedProvider:null,error:null,purchaseCurrency:ji,paymentCurrency:Nl,purchaseCurrencies:[ji],paymentCurrencies:[],quotesLoading:!1},xe=Ke(av),cv={state:xe,subscribe(t){return wt(xe,()=>t(xe))},subscribeKey(t,e){return Et(xe,t,e)},setSelectedProvider(t){var e,s;if(t&&t.name==="meld"){const n=w.state.activeChain,r=n===U.CHAIN.SOLANA?"SOL":"USDC",i=n?((s=(e=w.state.chains.get(n))==null?void 0:e.accountState)==null?void 0:s.address)??"":"",o=new URL(t.url);o.searchParams.append("publicKey",pw),o.searchParams.append("destinationCurrencyCode",r),o.searchParams.append("walletAddress",i),o.searchParams.append("externalCustomerId",$.state.projectId),xe.selectedProvider={...t,url:o.toString()}}else xe.selectedProvider=t},setOnrampProviders(t){if(Array.isArray(t)&&t.every(e=>typeof e=="string")){const e=t,s=Sf.filter(n=>e.includes(n.name));xe.providers=s}else xe.providers=[]},setPurchaseCurrency(t){xe.purchaseCurrency=t},setPaymentCurrency(t){xe.paymentCurrency=t},setPurchaseAmount(t){Tl.state.purchaseAmount=t},setPaymentAmount(t){Tl.state.paymentAmount=t},async getAvailableCurrencies(){const t=await he.getOnrampOptions();xe.purchaseCurrencies=t.purchaseCurrencies,xe.paymentCurrencies=t.paymentCurrencies,xe.paymentCurrency=t.paymentCurrencies[0]||Nl,xe.purchaseCurrency=t.purchaseCurrencies[0]||ji,await Q.fetchCurrencyImages(t.paymentCurrencies.map(e=>e.id)),await Q.fetchTokenImages(t.purchaseCurrencies.map(e=>e.symbol))},async getQuote(){var t,e;xe.quotesLoading=!0;try{const s=await he.getOnrampQuote({purchaseCurrency:xe.purchaseCurrency,paymentCurrency:xe.paymentCurrency,amount:((t=xe.paymentAmount)==null?void 0:t.toString())||"0",network:(e=xe.purchaseCurrency)==null?void 0:e.symbol});return xe.quotesLoading=!1,xe.purchaseAmount=Number(s==null?void 0:s.purchaseAmount.amount),s}catch(s){return xe.error=s.message,xe.quotesLoading=!1,null}finally{xe.quotesLoading=!1}},resetState(){xe.selectedProvider=null,xe.error=null,xe.purchaseCurrency=ji,xe.paymentCurrency=Nl,xe.purchaseCurrencies=[ji],xe.paymentCurrencies=[],xe.paymentAmount=void 0,xe.purchaseAmount=void 0,xe.quotesLoading=!1}},Tl=vs(cv);var lv=Object.defineProperty,dv=(t,e,s)=>e in t?lv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Vu=(t,e,s)=>dv(t,typeof e!="symbol"?e+"":e,s);let uv=class extends mi{constructor(e){super(),this.opts=e,Vu(this,"protocol","wc"),Vu(this,"version",2)}};var hv=Object.defineProperty,pv=(t,e,s)=>e in t?hv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,fv=(t,e,s)=>pv(t,e+"",s);let gv=class extends mi{constructor(e,s){super(),this.core=e,this.logger=s,fv(this,"records",new Map)}},mv=class{constructor(e,s){this.logger=e,this.core=s}},yv=class extends mi{constructor(e,s){super(),this.relayer=e,this.logger=s}},wv=class extends mi{constructor(e){super()}},Ev=class{constructor(e,s,n,r){this.core=e,this.logger=s,this.name=n}},bv=class extends mi{constructor(e,s){super(),this.relayer=e,this.logger=s}},Cv=class extends mi{constructor(e,s){super(),this.core=e,this.logger=s}},vv=class{constructor(e,s,n){this.core=e,this.logger=s,this.store=n}};class _v{constructor(e,s){this.projectId=e,this.logger=s}}let Av=class{constructor(e,s,n){this.core=e,this.logger=s,this.telemetryEnabled=n}};var Sv=Object.defineProperty,Iv=(t,e,s)=>e in t?Sv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,zu=(t,e,s)=>Iv(t,typeof e!="symbol"?e+"":e,s);let Nv=class{constructor(e){this.opts=e,zu(this,"protocol","wc"),zu(this,"version",2)}},Tv=class{constructor(e){this.client=e}};const Rv="0.1.1";function Ov(){return Rv}class Ze extends Error{constructor(e,s={}){const n=(()=>{var c;if(s.cause instanceof Ze){if(s.cause.details)return s.cause.details;if(s.cause.shortMessage)return s.cause.shortMessage}return s.cause&&"details"in s.cause&&typeof s.cause.details=="string"?s.cause.details:(c=s.cause)!=null&&c.message?s.cause.message:s.details})(),r=s.cause instanceof Ze&&s.cause.docsPath||s.docsPath,o=`https://oxlib.sh${r??""}`,a=[e||"An error occurred.",...s.metaMessages?["",...s.metaMessages]:[],...n||r?["",n?`Details: ${n}`:void 0,r?`See: ${o}`:void 0]:[]].filter(c=>typeof c=="string").join(`
5
- `);super(a,s.cause?{cause:s.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:`ox@${Ov()}`}),this.cause=s.cause,this.details=n,this.docs=o,this.docsPath=r,this.shortMessage=e}walk(e){return zf(this,e)}}function zf(t,e){return e!=null&&e(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause?zf(t.cause,e):e?null:t}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ad=BigInt(0),Rl=BigInt(1);function Io(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Sd(t){if(!Io(t))throw new Error("Uint8Array expected")}function po(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}function zo(t){const e=t.toString(16);return e.length&1?"0"+e:e}function Kf(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Ad:BigInt("0x"+t)}const Gf=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Pv=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function fo(t){if(Sd(t),Gf)return t.toHex();let e="";for(let s=0;s<t.length;s++)e+=Pv[t[s]];return e}const Qs={_0:48,_9:57,A:65,F:70,a:97,f:102};function Ku(t){if(t>=Qs._0&&t<=Qs._9)return t-Qs._0;if(t>=Qs.A&&t<=Qs.F)return t-(Qs.A-10);if(t>=Qs.a&&t<=Qs.f)return t-(Qs.a-10)}function Pa(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(Gf)return Uint8Array.fromHex(t);const e=t.length,s=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(s);for(let r=0,i=0;r<s;r++,i+=2){const o=Ku(t.charCodeAt(i)),a=Ku(t.charCodeAt(i+1));if(o===void 0||a===void 0){const c=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[r]=o*16+a}return n}function Cr(t){return Kf(fo(t))}function Yf(t){return Sd(t),Kf(fo(Uint8Array.from(t).reverse()))}function No(t,e){return Pa(t.toString(16).padStart(e*2,"0"))}function Zf(t,e){return No(t,e).reverse()}function ms(t,e,s){let n;if(typeof e=="string")try{n=Pa(e)}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(Io(e))n=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");const r=n.length;if(typeof s=="number"&&r!==s)throw new Error(t+" of length "+s+" expected, got "+r);return n}function xa(...t){let e=0;for(let n=0;n<t.length;n++){const r=t[n];Sd(r),e+=r.length}const s=new Uint8Array(e);for(let n=0,r=0;n<t.length;n++){const i=t[n];s.set(i,r),r+=i.length}return s}const Ac=t=>typeof t=="bigint"&&Ad<=t;function Id(t,e,s){return Ac(t)&&Ac(e)&&Ac(s)&&e<=t&&t<s}function si(t,e,s,n){if(!Id(e,s,n))throw new Error("expected valid "+t+": "+s+" <= n < "+n+", got "+e)}function xv(t){let e;for(e=0;t>Ad;t>>=Rl,e+=1);return e}const Xa=t=>(Rl<<BigInt(t))-Rl,Sc=t=>new Uint8Array(t),Gu=t=>Uint8Array.from(t);function kv(t,e,s){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof s!="function")throw new Error("hmacFn must be a function");let n=Sc(t),r=Sc(t),i=0;const o=()=>{n.fill(1),r.fill(0),i=0},a=(...u)=>s(r,n,...u),c=(u=Sc(0))=>{r=a(Gu([0]),u),n=a(),u.length!==0&&(r=a(Gu([1]),u),n=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0;const h=[];for(;u<e;){n=a();const p=n.slice();h.push(p),u+=n.length}return xa(...h)};return(u,h)=>{o(),c(u);let p;for(;!(p=h(l()));)c();return o(),p}}const Uv={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Io(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Qa(t,e,s={}){const n=(r,i,o)=>{const a=Uv[i];if(typeof a!="function")throw new Error("invalid validator function");const c=t[r];if(!(o&&c===void 0)&&!a(c,t))throw new Error("param "+String(r)+" is invalid. Expected "+i+", got "+c)};for(const[r,i]of Object.entries(e))n(r,i,!1);for(const[r,i]of Object.entries(s))n(r,i,!0);return t}function Yu(t){const e=new WeakMap;return(s,...n)=>{const r=e.get(s);if(r!==void 0)return r;const i=t(s,...n);return e.set(s,i),i}}function $v(t,e){if(Qu(t)>e)throw new s_({givenSize:Qu(t),maxSize:e})}const en={zero:48,nine:57,A:65,F:70,a:97,f:102};function Zu(t){if(t>=en.zero&&t<=en.nine)return t-en.zero;if(t>=en.A&&t<=en.F)return t-(en.A-10);if(t>=en.a&&t<=en.f)return t-(en.a-10)}function Dv(t,e={}){const{dir:s,size:n=32}=e;if(n===0)return t;if(t.length>n)throw new n_({size:t.length,targetSize:n,type:"Bytes"});const r=new Uint8Array(n);for(let i=0;i<n;i++){const o=s==="right";r[o?i:n-i-1]=t[o?i:t.length-i-1]}return r}function Jf(t,e){if(Yn(t)>e)throw new zv({givenSize:Yn(t),maxSize:e})}function Lv(t,e){if(typeof e=="number"&&e>0&&e>Yn(t)-1)throw new eg({offset:e,position:"start",size:Yn(t)})}function Mv(t,e,s){if(typeof e=="number"&&typeof s=="number"&&Yn(t)!==s-e)throw new eg({offset:s,position:"end",size:Yn(t)})}function Xf(t,e={}){const{dir:s,size:n=32}=e;if(n===0)return t;const r=t.replace("0x","");if(r.length>n*2)throw new Kv({size:Math.ceil(r.length/2),targetSize:n,type:"Hex"});return`0x${r[s==="right"?"padEnd":"padStart"](n*2,"0")}`}const Bv="#__bigint";function Nd(t,e,s){return JSON.stringify(t,(n,r)=>typeof r=="bigint"?r.toString()+Bv:r,s)}const jv=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Fv(t,e={}){const{strict:s=!1}=e;if(!t)throw new Ju(t);if(typeof t!="string")throw new Ju(t);if(s&&!/^0x[0-9a-fA-F]*$/.test(t))throw new Xu(t);if(!t.startsWith("0x"))throw new Xu(t)}function qv(...t){return`0x${t.reduce((e,s)=>e+s.replace("0x",""),"")}`}function Td(t){return t instanceof Uint8Array?ka(t):Array.isArray(t)?ka(new Uint8Array(t)):t}function ka(t,e={}){let s="";for(let r=0;r<t.length;r++)s+=jv[t[r]];const n=`0x${s}`;return typeof e.size=="number"?(Jf(n,e.size),Qf(n,e.size)):n}function Ic(t,e={}){const{signed:s,size:n}=e,r=BigInt(t);let i;n?s?i=(1n<<BigInt(n)*8n-1n)-1n:i=2n**(BigInt(n)*8n)-1n:typeof t=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof i=="bigint"&&s?-i-1n:0;if(i&&r>i||r<o){const l=typeof t=="bigint"?"n":"";throw new Vv({max:i?`${i}${l}`:void 0,min:`${o}${l}`,signed:s,size:n,value:`${t}${l}`})}const c=`0x${(s&&r<0?(1n<<BigInt(n*8))+BigInt(r):r).toString(16)}`;return n?Wv(c,n):c}function Wv(t,e){return Xf(t,{dir:"left",size:e})}function Qf(t,e){return Xf(t,{dir:"right",size:e})}function an(t,e,s,n={}){const{strict:r}=n;Lv(t,e);const i=`0x${t.replace("0x","").slice((e??0)*2,(s??t.length)*2)}`;return r&&Mv(i,e,s),i}function Yn(t){return Math.ceil((t.length-2)/2)}function Hv(t,e={}){const{strict:s=!1}=e;try{return Fv(t,{strict:s}),!0}catch{return!1}}class Vv extends Ze{constructor({max:e,min:s,signed:n,size:r,value:i}){super(`Number \`${i}\` is not in safe${r?` ${r*8}-bit`:""}${n?" signed":" unsigned"} integer range ${e?`(\`${s}\` to \`${e}\`)`:`(above \`${s}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}}class Ju extends Ze{constructor(e){super(`Value \`${typeof e=="object"?Nd(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}}class Xu extends Ze{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}}let zv=class extends Ze{constructor({givenSize:e,maxSize:s}){super(`Size cannot exceed \`${s}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}};class eg extends Ze{constructor({offset:e,position:s,size:n}){super(`Slice ${s==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}}let Kv=class extends Ze{constructor({size:e,targetSize:s,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${s}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}};const Gv=new TextEncoder;function Yv(t){if(!(t instanceof Uint8Array)){if(!t)throw new Ko(t);if(typeof t!="object")throw new Ko(t);if(!("BYTES_PER_ELEMENT"in t))throw new Ko(t);if(t.BYTES_PER_ELEMENT!==1||t.constructor.name!=="Uint8Array")throw new Ko(t)}}function Zv(t){return t instanceof Uint8Array?t:typeof t=="string"?Xv(t):Jv(t)}function Jv(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function Xv(t,e={}){const{size:s}=e;let n=t;s&&(Jf(t,s),n=Qf(t,s));let r=n.slice(2);r.length%2&&(r=`0${r}`);const i=r.length/2,o=new Uint8Array(i);for(let a=0,c=0;a<i;a++){const l=Zu(r.charCodeAt(c++)),d=Zu(r.charCodeAt(c++));if(l===void 0||d===void 0)throw new Ze(`Invalid byte sequence ("${r[c-2]}${r[c-1]}" in "${r}").`);o[a]=l*16+d}return o}function Qv(t,e={}){const{size:s}=e,n=Gv.encode(t);return typeof s=="number"?($v(n,s),e_(n,s)):n}function e_(t,e){return Dv(t,{dir:"right",size:e})}function Qu(t){return t.length}function t_(t){try{return Yv(t),!0}catch{return!1}}class Ko extends Ze{constructor(e){super(`Value \`${typeof e=="object"?Nd(e):e}\` of type \`${typeof e}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"})}}class s_ extends Ze{constructor({givenSize:e,maxSize:s}){super(`Size cannot exceed \`${s}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}}class n_ extends Ze{constructor({size:e,targetSize:s,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${s}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}}function tg(t,e={}){const{as:s=typeof t=="string"?"Hex":"Bytes"}=e,n=Uy(Zv(t));return s==="Bytes"?n:ka(n)}class r_ extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const s=super.get(e);return super.has(e)&&s!==void 0&&(this.delete(e),super.set(e,s)),s}set(e,s){if(super.set(e,s),this.maxSize&&this.size>this.maxSize){const n=this.keys().next().value;n&&this.delete(n)}return this}}const i_={checksum:new r_(8192)},Nc=i_.checksum;function sg(t,e={}){const{compressed:s}=e,{prefix:n,x:r,y:i}=t;if(s===!1||typeof r=="bigint"&&typeof i=="bigint"){if(n!==4)throw new eh({prefix:n,cause:new u_});return}if(s===!0||typeof r=="bigint"&&typeof i>"u"){if(n!==3&&n!==2)throw new eh({prefix:n,cause:new d_});return}throw new l_({publicKey:t})}function o_(t){const e=(()=>{if(Hv(t))return ng(t);if(t_(t))return a_(t);const{prefix:s,x:n,y:r}=t;return typeof n=="bigint"&&typeof r=="bigint"?{prefix:s??4,x:n,y:r}:{prefix:s,x:n}})();return sg(e),e}function a_(t){return ng(ka(t))}function ng(t){if(t.length!==132&&t.length!==130&&t.length!==68)throw new h_({publicKey:t});if(t.length===130){const n=BigInt(an(t,0,32)),r=BigInt(an(t,32,64));return{prefix:4,x:n,y:r}}if(t.length===132){const n=Number(an(t,0,1)),r=BigInt(an(t,1,33)),i=BigInt(an(t,33,65));return{prefix:n,x:r,y:i}}const e=Number(an(t,0,1)),s=BigInt(an(t,1,33));return{prefix:e,x:s}}function c_(t,e={}){sg(t);const{prefix:s,x:n,y:r}=t,{includePrefix:i=!0}=e;return qv(i?Ic(s,{size:1}):"0x",Ic(n,{size:32}),typeof r=="bigint"?Ic(r,{size:32}):"0x")}class l_ extends Ze{constructor({publicKey:e}){super(`Value \`${Nd(e)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"})}}class eh extends Ze{constructor({prefix:e,cause:s}){super(`Prefix "${e}" is invalid.`,{cause:s}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"})}}class d_ extends Ze{constructor(){super("Prefix must be 2 or 3 for compressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"})}}class u_ extends Ze{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}}let h_=class extends Ze{constructor({publicKey:e}){super(`Value \`${e}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${Yn(Td(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}};const p_=/^0x[a-fA-F0-9]{40}$/;function rg(t,e={}){const{strict:s=!0}=e;if(!p_.test(t))throw new th({address:t,cause:new m_});if(s){if(t.toLowerCase()===t)return;if(ig(t)!==t)throw new th({address:t,cause:new y_})}}function ig(t){if(Nc.has(t))return Nc.get(t);rg(t,{strict:!1});const e=t.substring(2).toLowerCase(),s=tg(Qv(e),{as:"Bytes"}),n=e.split("");for(let i=0;i<40;i+=2)s[i>>1]>>4>=8&&n[i]&&(n[i]=n[i].toUpperCase()),(s[i>>1]&15)>=8&&n[i+1]&&(n[i+1]=n[i+1].toUpperCase());const r=`0x${n.join("")}`;return Nc.set(t,r),r}function f_(t,e={}){const{checksum:s=!1}=e;return rg(t),s?ig(t):t}function g_(t,e={}){const s=tg(`0x${c_(t).slice(4)}`).substring(26);return f_(`0x${s}`,e)}class th extends Ze{constructor({address:e,cause:s}){super(`Address "${e}" is invalid.`,{cause:s}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class m_ extends Ze{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}}class y_ extends Ze{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Gt=BigInt(0),$t=BigInt(1),pr=BigInt(2),w_=BigInt(3),og=BigInt(4),ag=BigInt(5),cg=BigInt(8);function Vt(t,e){const s=t%e;return s>=Gt?s:e+s}function ds(t,e,s){let n=t;for(;e-- >Gt;)n*=n,n%=s;return n}function Ol(t,e){if(t===Gt)throw new Error("invert: expected non-zero number");if(e<=Gt)throw new Error("invert: expected positive modulus, got "+e);let s=Vt(t,e),n=e,r=Gt,i=$t;for(;s!==Gt;){const a=n/s,c=n%s,l=r-i*a;n=s,s=c,r=i,i=l}if(n!==$t)throw new Error("invert: does not exist");return Vt(r,e)}function lg(t,e){const s=(t.ORDER+$t)/og,n=t.pow(e,s);if(!t.eql(t.sqr(n),e))throw new Error("Cannot find square root");return n}function E_(t,e){const s=(t.ORDER-ag)/cg,n=t.mul(e,pr),r=t.pow(n,s),i=t.mul(e,r),o=t.mul(t.mul(i,pr),r),a=t.mul(i,t.sub(o,t.ONE));if(!t.eql(t.sqr(a),e))throw new Error("Cannot find square root");return a}function b_(t){if(t<BigInt(3))throw new Error("sqrt is not defined for small field");let e=t-$t,s=0;for(;e%pr===Gt;)e/=pr,s++;let n=pr;const r=Rd(t);for(;sh(r,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(s===1)return lg;let i=r.pow(n,e);const o=(e+$t)/pr;return function(c,l){if(c.is0(l))return l;if(sh(c,l)!==1)throw new Error("Cannot find square root");let d=s,u=c.mul(c.ONE,i),h=c.pow(l,e),p=c.pow(l,o);for(;!c.eql(h,c.ONE);){if(c.is0(h))return c.ZERO;let m=1,f=c.sqr(h);for(;!c.eql(f,c.ONE);)if(m++,f=c.sqr(f),m===d)throw new Error("Cannot find square root");const y=$t<<BigInt(d-m-1),b=c.pow(u,y);d=m,u=c.sqr(b),h=c.mul(h,u),p=c.mul(p,b)}return p}}function C_(t){return t%og===w_?lg:t%cg===ag?E_:b_(t)}const v_=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function __(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},s=v_.reduce((n,r)=>(n[r]="function",n),e);return Qa(t,s)}function A_(t,e,s){if(s<Gt)throw new Error("invalid exponent, negatives unsupported");if(s===Gt)return t.ONE;if(s===$t)return e;let n=t.ONE,r=e;for(;s>Gt;)s&$t&&(n=t.mul(n,r)),r=t.sqr(r),s>>=$t;return n}function dg(t,e,s=!1){const n=new Array(e.length).fill(s?t.ZERO:void 0),r=e.reduce((o,a,c)=>t.is0(a)?o:(n[c]=o,t.mul(o,a)),t.ONE),i=t.inv(r);return e.reduceRight((o,a,c)=>t.is0(a)?o:(n[c]=t.mul(o,n[c]),t.mul(o,a)),i),n}function sh(t,e){const s=(t.ORDER-$t)/pr,n=t.pow(e,s),r=t.eql(n,t.ONE),i=t.eql(n,t.ZERO),o=t.eql(n,t.neg(t.ONE));if(!r&&!i&&!o)throw new Error("invalid Legendre symbol result");return r?1:i?0:-1}function ug(t,e){e!==void 0&&$y(e);const s=e!==void 0?e:t.toString(2).length,n=Math.ceil(s/8);return{nBitLength:s,nByteLength:n}}function Rd(t,e,s=!1,n={}){if(t<=Gt)throw new Error("invalid field: expected ORDER > 0, got "+t);const{nBitLength:r,nByteLength:i}=ug(t,e);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let o;const a=Object.freeze({ORDER:t,isLE:s,BITS:r,BYTES:i,MASK:Xa(r),ZERO:Gt,ONE:$t,create:c=>Vt(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return Gt<=c&&c<t},is0:c=>c===Gt,isOdd:c=>(c&$t)===$t,neg:c=>Vt(-c,t),eql:(c,l)=>c===l,sqr:c=>Vt(c*c,t),add:(c,l)=>Vt(c+l,t),sub:(c,l)=>Vt(c-l,t),mul:(c,l)=>Vt(c*l,t),pow:(c,l)=>A_(a,c,l),div:(c,l)=>Vt(c*Ol(l,t),t),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>Ol(c,t),sqrt:n.sqrt||(c=>(o||(o=C_(t)),o(a,c))),toBytes:c=>s?Zf(c,i):No(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return s?Yf(c):Cr(c)},invertBatch:c=>dg(a,c),cmov:(c,l,d)=>d?l:c});return Object.freeze(a)}function hg(t){if(typeof t!="bigint")throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function pg(t){const e=hg(t);return e+Math.ceil(e/2)}function S_(t,e,s=!1){const n=t.length,r=hg(e),i=pg(e);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);const o=s?Yf(t):Cr(t),a=Vt(o,e-$t)+$t;return s?Zf(a,r):No(a,r)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const nh=BigInt(0),Pl=BigInt(1);function Tc(t,e){const s=e.negate();return t?s:e}function fg(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function Rc(t,e){fg(t,e);const s=Math.ceil(e/t)+1,n=2**(t-1),r=2**t,i=Xa(t),o=BigInt(t);return{windows:s,windowSize:n,mask:i,maxNumber:r,shiftBy:o}}function rh(t,e,s){const{windowSize:n,mask:r,maxNumber:i,shiftBy:o}=s;let a=Number(t&r),c=t>>o;a>n&&(a-=i,c+=Pl);const l=e*n,d=l+Math.abs(a)-1,u=a===0,h=a<0,p=e%2!==0;return{nextN:c,offset:d,isZero:u,isNeg:h,isNegF:p,offsetF:l}}function I_(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((s,n)=>{if(!(s instanceof e))throw new Error("invalid point at index "+n)})}function N_(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((s,n)=>{if(!e.isValid(s))throw new Error("invalid scalar at index "+n)})}const Oc=new WeakMap,gg=new WeakMap;function Pc(t){return gg.get(t)||1}function T_(t,e){return{constTimeNegate:Tc,hasPrecomputes(s){return Pc(s)!==1},unsafeLadder(s,n,r=t.ZERO){let i=s;for(;n>nh;)n&Pl&&(r=r.add(i)),i=i.double(),n>>=Pl;return r},precomputeWindow(s,n){const{windows:r,windowSize:i}=Rc(n,e),o=[];let a=s,c=a;for(let l=0;l<r;l++){c=a,o.push(c);for(let d=1;d<i;d++)c=c.add(a),o.push(c);a=c.double()}return o},wNAF(s,n,r){let i=t.ZERO,o=t.BASE;const a=Rc(s,e);for(let c=0;c<a.windows;c++){const{nextN:l,offset:d,isZero:u,isNeg:h,isNegF:p,offsetF:m}=rh(r,c,a);r=l,u?o=o.add(Tc(p,n[m])):i=i.add(Tc(h,n[d]))}return{p:i,f:o}},wNAFUnsafe(s,n,r,i=t.ZERO){const o=Rc(s,e);for(let a=0;a<o.windows&&r!==nh;a++){const{nextN:c,offset:l,isZero:d,isNeg:u}=rh(r,a,o);if(r=c,!d){const h=n[l];i=i.add(u?h.negate():h)}}return i},getPrecomputes(s,n,r){let i=Oc.get(n);return i||(i=this.precomputeWindow(n,s),s!==1&&Oc.set(n,r(i))),i},wNAFCached(s,n,r){const i=Pc(s);return this.wNAF(i,this.getPrecomputes(i,s,r),n)},wNAFCachedUnsafe(s,n,r,i){const o=Pc(s);return o===1?this.unsafeLadder(s,n,i):this.wNAFUnsafe(o,this.getPrecomputes(o,s,r),n,i)},setWindowSize(s,n){fg(n,e),gg.set(s,n),Oc.delete(s)}}}function R_(t,e,s,n){I_(s,t),N_(n,e);const r=s.length,i=n.length;if(r!==i)throw new Error("arrays of points and scalars must have equal length");const o=t.ZERO,a=xv(BigInt(r));let c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);const l=Xa(c),d=new Array(Number(l)+1).fill(o),u=Math.floor((e.BITS-1)/c)*c;let h=o;for(let p=u;p>=0;p-=c){d.fill(o);for(let f=0;f<i;f++){const y=n[f],b=Number(y>>BigInt(p)&l);d[b]=d[b].add(s[f])}let m=o;for(let f=d.length-1,y=o;f>0;f--)y=y.add(d[f]),m=m.add(y);if(h=h.add(m),p!==0)for(let f=0;f<c;f++)h=h.double()}return h}function mg(t){return __(t.Fp),Qa(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ug(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function ih(t){t.lowS!==void 0&&po("lowS",t.lowS),t.prehash!==void 0&&po("prehash",t.prehash)}function O_(t){const e=mg(t);Qa(e,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});const{endo:s,Fp:n,a:r}=e;if(s){if(!n.eql(r,n.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof s!="object"||typeof s.beta!="bigint"||typeof s.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...e})}class P_ extends Error{constructor(e=""){super(e)}}const ln={Err:P_,_tlv:{encode:(t,e)=>{const{Err:s}=ln;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length&1)throw new s("tlv.encode: unpadded data");const n=e.length/2,r=zo(n);if(r.length/2&128)throw new s("tlv.encode: long form length too big");const i=n>127?zo(r.length/2|128):"";return zo(t)+i+r+e},decode(t,e){const{Err:s}=ln;let n=0;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length<2||e[n++]!==t)throw new s("tlv.decode: wrong tlv");const r=e[n++],i=!!(r&128);let o=0;if(!i)o=r;else{const c=r&127;if(!c)throw new s("tlv.decode(long): indefinite length not supported");if(c>4)throw new s("tlv.decode(long): byte length is too big");const l=e.subarray(n,n+c);if(l.length!==c)throw new s("tlv.decode: length bytes not complete");if(l[0]===0)throw new s("tlv.decode(long): zero leftmost byte");for(const d of l)o=o<<8|d;if(n+=c,o<128)throw new s("tlv.decode(long): not minimal encoding")}const a=e.subarray(n,n+o);if(a.length!==o)throw new s("tlv.decode: wrong value length");return{v:a,l:e.subarray(n+o)}}},_int:{encode(t){const{Err:e}=ln;if(t<hn)throw new e("integer: negative integers are not allowed");let s=zo(t);if(Number.parseInt(s[0],16)&8&&(s="00"+s),s.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return s},decode(t){const{Err:e}=ln;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Cr(t)}},toSig(t){const{Err:e,_int:s,_tlv:n}=ln,r=ms("signature",t),{v:i,l:o}=n.decode(48,r);if(o.length)throw new e("invalid signature: left bytes after parsing");const{v:a,l:c}=n.decode(2,i),{v:l,l:d}=n.decode(2,c);if(d.length)throw new e("invalid signature: left bytes after parsing");return{r:s.decode(a),s:s.decode(l)}},hexFromSig(t){const{_tlv:e,_int:s}=ln,n=e.encode(2,s.encode(t.r)),r=e.encode(2,s.encode(t.s)),i=n+r;return e.encode(48,i)}};function xc(t,e){return fo(No(t,e))}const hn=BigInt(0),ut=BigInt(1);BigInt(2);const kc=BigInt(3),x_=BigInt(4);function k_(t){const e=O_(t),{Fp:s}=e,n=Rd(e.n,e.nBitLength),r=e.toBytes||((v,C,R)=>{const k=C.toAffine();return xa(Uint8Array.from([4]),s.toBytes(k.x),s.toBytes(k.y))}),i=e.fromBytes||(v=>{const C=v.subarray(1),R=s.fromBytes(C.subarray(0,s.BYTES)),k=s.fromBytes(C.subarray(s.BYTES,2*s.BYTES));return{x:R,y:k}});function o(v){const{a:C,b:R}=e,k=s.sqr(v),L=s.mul(k,v);return s.add(s.add(L,s.mul(v,C)),R)}function a(v,C){const R=s.sqr(C),k=o(v);return s.eql(R,k)}if(!a(e.Gx,e.Gy))throw new Error("bad curve params: generator point");const c=s.mul(s.pow(e.a,kc),x_),l=s.mul(s.sqr(e.b),BigInt(27));if(s.is0(s.add(c,l)))throw new Error("bad curve params: a or b");function d(v){return Id(v,ut,e.n)}function u(v){const{allowedPrivateKeyLengths:C,nByteLength:R,wrapPrivateKey:k,n:L}=e;if(C&&typeof v!="bigint"){if(Io(v)&&(v=fo(v)),typeof v!="string"||!C.includes(v.length))throw new Error("invalid private key");v=v.padStart(R*2,"0")}let F;try{F=typeof v=="bigint"?v:Cr(ms("private key",v,R))}catch{throw new Error("invalid private key, expected hex or "+R+" bytes, got "+typeof v)}return k&&(F=Vt(F,L)),si("private key",F,ut,L),F}function h(v){if(!(v instanceof f))throw new Error("ProjectivePoint expected")}const p=Yu((v,C)=>{const{px:R,py:k,pz:L}=v;if(s.eql(L,s.ONE))return{x:R,y:k};const F=v.is0();C==null&&(C=F?s.ONE:s.inv(L));const x=s.mul(R,C),B=s.mul(k,C),W=s.mul(L,C);if(F)return{x:s.ZERO,y:s.ZERO};if(!s.eql(W,s.ONE))throw new Error("invZ was invalid");return{x,y:B}}),m=Yu(v=>{if(v.is0()){if(e.allowInfinityPoint&&!s.is0(v.py))return;throw new Error("bad point: ZERO")}const{x:C,y:R}=v.toAffine();if(!s.isValid(C)||!s.isValid(R))throw new Error("bad point: x or y not FE");if(!a(C,R))throw new Error("bad point: equation left != right");if(!v.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class f{constructor(C,R,k){if(C==null||!s.isValid(C))throw new Error("x required");if(R==null||!s.isValid(R)||s.is0(R))throw new Error("y required");if(k==null||!s.isValid(k))throw new Error("z required");this.px=C,this.py=R,this.pz=k,Object.freeze(this)}static fromAffine(C){const{x:R,y:k}=C||{};if(!C||!s.isValid(R)||!s.isValid(k))throw new Error("invalid affine point");if(C instanceof f)throw new Error("projective point not allowed");const L=F=>s.eql(F,s.ZERO);return L(R)&&L(k)?f.ZERO:new f(R,k,s.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(C){const R=dg(s,C.map(k=>k.pz));return C.map((k,L)=>k.toAffine(R[L])).map(f.fromAffine)}static fromHex(C){const R=f.fromAffine(i(ms("pointHex",C)));return R.assertValidity(),R}static fromPrivateKey(C){return f.BASE.multiply(u(C))}static msm(C,R){return R_(f,n,C,R)}_setWindowSize(C){S.setWindowSize(this,C)}assertValidity(){m(this)}hasEvenY(){const{y:C}=this.toAffine();if(s.isOdd)return!s.isOdd(C);throw new Error("Field doesn't support isOdd")}equals(C){h(C);const{px:R,py:k,pz:L}=this,{px:F,py:x,pz:B}=C,W=s.eql(s.mul(R,B),s.mul(F,L)),O=s.eql(s.mul(k,B),s.mul(x,L));return W&&O}negate(){return new f(this.px,s.neg(this.py),this.pz)}double(){const{a:C,b:R}=e,k=s.mul(R,kc),{px:L,py:F,pz:x}=this;let B=s.ZERO,W=s.ZERO,O=s.ZERO,A=s.mul(L,L),N=s.mul(F,F),E=s.mul(x,x),_=s.mul(L,F);return _=s.add(_,_),O=s.mul(L,x),O=s.add(O,O),B=s.mul(C,O),W=s.mul(k,E),W=s.add(B,W),B=s.sub(N,W),W=s.add(N,W),W=s.mul(B,W),B=s.mul(_,B),O=s.mul(k,O),E=s.mul(C,E),_=s.sub(A,E),_=s.mul(C,_),_=s.add(_,O),O=s.add(A,A),A=s.add(O,A),A=s.add(A,E),A=s.mul(A,_),W=s.add(W,A),E=s.mul(F,x),E=s.add(E,E),A=s.mul(E,_),B=s.sub(B,A),O=s.mul(E,N),O=s.add(O,O),O=s.add(O,O),new f(B,W,O)}add(C){h(C);const{px:R,py:k,pz:L}=this,{px:F,py:x,pz:B}=C;let W=s.ZERO,O=s.ZERO,A=s.ZERO;const N=e.a,E=s.mul(e.b,kc);let _=s.mul(R,F),T=s.mul(k,x),D=s.mul(L,B),I=s.add(R,k),P=s.add(F,x);I=s.mul(I,P),P=s.add(_,T),I=s.sub(I,P),P=s.add(R,L);let H=s.add(F,B);return P=s.mul(P,H),H=s.add(_,D),P=s.sub(P,H),H=s.add(k,L),W=s.add(x,B),H=s.mul(H,W),W=s.add(T,D),H=s.sub(H,W),A=s.mul(N,P),W=s.mul(E,D),A=s.add(W,A),W=s.sub(T,A),A=s.add(T,A),O=s.mul(W,A),T=s.add(_,_),T=s.add(T,_),D=s.mul(N,D),P=s.mul(E,P),T=s.add(T,D),D=s.sub(_,D),D=s.mul(N,D),P=s.add(P,D),_=s.mul(T,P),O=s.add(O,_),_=s.mul(H,P),W=s.mul(I,W),W=s.sub(W,_),_=s.mul(I,T),A=s.mul(H,A),A=s.add(A,_),new f(W,O,A)}subtract(C){return this.add(C.negate())}is0(){return this.equals(f.ZERO)}wNAF(C){return S.wNAFCached(this,C,f.normalizeZ)}multiplyUnsafe(C){const{endo:R,n:k}=e;si("scalar",C,hn,k);const L=f.ZERO;if(C===hn)return L;if(this.is0()||C===ut)return this;if(!R||S.hasPrecomputes(this))return S.wNAFCachedUnsafe(this,C,f.normalizeZ);let{k1neg:F,k1:x,k2neg:B,k2:W}=R.splitScalar(C),O=L,A=L,N=this;for(;x>hn||W>hn;)x&ut&&(O=O.add(N)),W&ut&&(A=A.add(N)),N=N.double(),x>>=ut,W>>=ut;return F&&(O=O.negate()),B&&(A=A.negate()),A=new f(s.mul(A.px,R.beta),A.py,A.pz),O.add(A)}multiply(C){const{endo:R,n:k}=e;si("scalar",C,ut,k);let L,F;if(R){const{k1neg:x,k1:B,k2neg:W,k2:O}=R.splitScalar(C);let{p:A,f:N}=this.wNAF(B),{p:E,f:_}=this.wNAF(O);A=S.constTimeNegate(x,A),E=S.constTimeNegate(W,E),E=new f(s.mul(E.px,R.beta),E.py,E.pz),L=A.add(E),F=N.add(_)}else{const{p:x,f:B}=this.wNAF(C);L=x,F=B}return f.normalizeZ([L,F])[0]}multiplyAndAddUnsafe(C,R,k){const L=f.BASE,F=(B,W)=>W===hn||W===ut||!B.equals(L)?B.multiplyUnsafe(W):B.multiply(W),x=F(this,R).add(F(C,k));return x.is0()?void 0:x}toAffine(C){return p(this,C)}isTorsionFree(){const{h:C,isTorsionFree:R}=e;if(C===ut)return!0;if(R)return R(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:C,clearCofactor:R}=e;return C===ut?this:R?R(f,this):this.multiplyUnsafe(e.h)}toRawBytes(C=!0){return po("isCompressed",C),this.assertValidity(),r(f,this,C)}toHex(C=!0){return po("isCompressed",C),fo(this.toRawBytes(C))}}f.BASE=new f(e.Gx,e.Gy,s.ONE),f.ZERO=new f(s.ZERO,s.ONE,s.ZERO);const{endo:y,nBitLength:b}=e,S=T_(f,y?Math.ceil(b/2):b);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:u,weierstrassEquation:o,isWithinCurveOrder:d}}function U_(t){const e=mg(t);return Qa(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function $_(t){const e=U_(t),{Fp:s,n,nByteLength:r,nBitLength:i}=e,o=s.BYTES+1,a=2*s.BYTES+1;function c(E){return Vt(E,n)}function l(E){return Ol(E,n)}const{ProjectivePoint:d,normPrivateKeyToScalar:u,weierstrassEquation:h,isWithinCurveOrder:p}=k_({...e,toBytes(E,_,T){const D=_.toAffine(),I=s.toBytes(D.x),P=xa;return po("isCompressed",T),T?P(Uint8Array.from([_.hasEvenY()?2:3]),I):P(Uint8Array.from([4]),I,s.toBytes(D.y))},fromBytes(E){const _=E.length,T=E[0],D=E.subarray(1);if(_===o&&(T===2||T===3)){const I=Cr(D);if(!Id(I,ut,s.ORDER))throw new Error("Point is not on curve");const P=h(I);let H;try{H=s.sqrt(P)}catch(de){const oe=de instanceof Error?": "+de.message:"";throw new Error("Point is not on curve"+oe)}const z=(H&ut)===ut;return(T&1)===1!==z&&(H=s.neg(H)),{x:I,y:H}}else if(_===a&&T===4){const I=s.fromBytes(D.subarray(0,s.BYTES)),P=s.fromBytes(D.subarray(s.BYTES,2*s.BYTES));return{x:I,y:P}}else{const I=o,P=a;throw new Error("invalid Point, expected length of "+I+", or uncompressed "+P+", got "+_)}}});function m(E){const _=n>>ut;return E>_}function f(E){return m(E)?c(-E):E}const y=(E,_,T)=>Cr(E.slice(_,T));class b{constructor(_,T,D){si("r",_,ut,n),si("s",T,ut,n),this.r=_,this.s=T,D!=null&&(this.recovery=D),Object.freeze(this)}static fromCompact(_){const T=r;return _=ms("compactSignature",_,T*2),new b(y(_,0,T),y(_,T,2*T))}static fromDER(_){const{r:T,s:D}=ln.toSig(ms("DER",_));return new b(T,D)}assertValidity(){}addRecoveryBit(_){return new b(this.r,this.s,_)}recoverPublicKey(_){const{r:T,s:D,recovery:I}=this,P=L(ms("msgHash",_));if(I==null||![0,1,2,3].includes(I))throw new Error("recovery id invalid");const H=I===2||I===3?T+e.n:T;if(H>=s.ORDER)throw new Error("recovery id 2 or 3 invalid");const z=I&1?"03":"02",me=d.fromHex(z+xc(H,s.BYTES)),de=l(H),oe=c(-P*de),be=c(D*de),fe=d.BASE.multiplyAndAddUnsafe(me,oe,be);if(!fe)throw new Error("point at infinify");return fe.assertValidity(),fe}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new b(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return Pa(this.toDERHex())}toDERHex(){return ln.hexFromSig(this)}toCompactRawBytes(){return Pa(this.toCompactHex())}toCompactHex(){const _=r;return xc(this.r,_)+xc(this.s,_)}}const S={isValidPrivateKey(E){try{return u(E),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const E=pg(e.n);return S_(e.randomBytes(E),e.n)},precompute(E=8,_=d.BASE){return _._setWindowSize(E),_.multiply(BigInt(3)),_}};function v(E,_=!0){return d.fromPrivateKey(E).toRawBytes(_)}function C(E){if(typeof E=="bigint")return!1;if(E instanceof d)return!0;const T=ms("key",E).length,D=s.BYTES,I=D+1,P=2*D+1;if(!(e.allowedPrivateKeyLengths||r===I))return T===I||T===P}function R(E,_,T=!0){if(C(E)===!0)throw new Error("first arg must be private key");if(C(_)===!1)throw new Error("second arg must be public key");return d.fromHex(_).multiply(u(E)).toRawBytes(T)}const k=e.bits2int||function(E){if(E.length>8192)throw new Error("input is too large");const _=Cr(E),T=E.length*8-i;return T>0?_>>BigInt(T):_},L=e.bits2int_modN||function(E){return c(k(E))},F=Xa(i);function x(E){return si("num < 2^"+i,E,hn,F),No(E,r)}function B(E,_,T=W){if(["recovered","canonical"].some(ye=>ye in T))throw new Error("sign() legacy options not supported");const{hash:D,randomBytes:I}=e;let{lowS:P,prehash:H,extraEntropy:z}=T;P==null&&(P=!0),E=ms("msgHash",E),ih(T),H&&(E=ms("prehashed msgHash",D(E)));const me=L(E),de=u(_),oe=[x(de),x(me)];if(z!=null&&z!==!1){const ye=z===!0?I(s.BYTES):z;oe.push(ms("extraEntropy",ye))}const be=xa(...oe),fe=me;function Be(ye){const qe=k(ye);if(!p(qe))return;const Rt=l(qe),Bt=d.BASE.multiply(qe).toAffine(),Ot=c(Bt.x);if(Ot===hn)return;const ls=c(Rt*c(fe+Ot*de));if(ls===hn)return;let Qn=(Bt.x===Ot?0:2)|Number(Bt.y&ut),Lr=ls;return P&&m(ls)&&(Lr=f(ls),Qn^=1),new b(Ot,Lr,Qn)}return{seed:be,k2sig:Be}}const W={lowS:e.lowS,prehash:!1},O={lowS:e.lowS,prehash:!1};function A(E,_,T=W){const{seed:D,k2sig:I}=B(E,_,T),P=e;return kv(P.hash.outputLen,P.nByteLength,P.hmac)(D,I)}d.BASE._setWindowSize(8);function N(E,_,T,D=O){var Qn;const I=E;_=ms("msgHash",_),T=ms("publicKey",T);const{lowS:P,prehash:H,format:z}=D;if(ih(D),"strict"in D)throw new Error("options.strict was renamed to lowS");if(z!==void 0&&z!=="compact"&&z!=="der")throw new Error("format must be compact or der");const me=typeof I=="string"||Io(I),de=!me&&!z&&typeof I=="object"&&I!==null&&typeof I.r=="bigint"&&typeof I.s=="bigint";if(!me&&!de)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let oe,be;try{if(de&&(oe=new b(I.r,I.s)),me){try{z!=="compact"&&(oe=b.fromDER(I))}catch(Lr){if(!(Lr instanceof ln.Err))throw Lr}!oe&&z!=="der"&&(oe=b.fromCompact(I))}be=d.fromHex(T)}catch{return!1}if(!oe||P&&oe.hasHighS())return!1;H&&(_=e.hash(_));const{r:fe,s:Be}=oe,ye=L(_),qe=l(Be),Rt=c(ye*qe),Bt=c(fe*qe),Ot=(Qn=d.BASE.multiplyAndAddUnsafe(be,Rt,Bt))==null?void 0:Qn.toAffine();return Ot?c(Ot.x)===fe:!1}return{CURVE:e,getPublicKey:v,getSharedSecret:R,sign:A,verify:N,ProjectivePoint:d,Signature:b,utils:S}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function D_(t){return{hash:t,hmac:(e,...s)=>Ly(t,e,My(...s)),randomBytes:Dy}}function L_(t,e){const s=n=>$_({...t,...D_(n)});return{...s(e),create:s}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const yg=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),oh=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),M_=BigInt(0),B_=BigInt(1),xl=BigInt(2),ah=(t,e)=>(t+e/xl)/e;function j_(t){const e=yg,s=BigInt(3),n=BigInt(6),r=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),l=t*t*t%e,d=l*l*t%e,u=ds(d,s,e)*d%e,h=ds(u,s,e)*d%e,p=ds(h,xl,e)*l%e,m=ds(p,r,e)*p%e,f=ds(m,i,e)*m%e,y=ds(f,a,e)*f%e,b=ds(y,c,e)*y%e,S=ds(b,a,e)*f%e,v=ds(S,s,e)*d%e,C=ds(v,o,e)*m%e,R=ds(C,n,e)*l%e,k=ds(R,xl,e);if(!kl.eql(kl.sqr(k),t))throw new Error("Cannot find square root");return k}const kl=Rd(yg,void 0,void 0,{sqrt:j_}),F_=L_({a:M_,b:BigInt(7),Fp:kl,n:oh,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{const e=oh,s=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-B_*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),r=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=s,o=BigInt("0x100000000000000000000000000000000"),a=ah(i*t,e),c=ah(-n*t,e);let l=Vt(t-a*s-c*r,e),d=Vt(-a*n-c*i,e);const u=l>o,h=d>o;if(u&&(l=e-l),h&&(d=e-d),l>o||d>o)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:u,k1:l,k2neg:h,k2:d}}}},By);function q_(t){if(t.length!==130&&t.length!==132)throw new H_({signature:t});const e=BigInt(an(t,0,32)),s=BigInt(an(t,32,64)),n=(()=>{const r=+`0x${t.slice(130)}`;if(!Number.isNaN(r))try{return W_(r)}catch{throw new V_({value:r})}})();return typeof n>"u"?{r:e,s}:{r:e,s,yParity:n}}function W_(t){if(t===0||t===27)return 0;if(t===1||t===28)return 1;if(t>=35)return t%2===0?1:0;throw new z_({value:t})}class H_ extends Ze{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${Yn(Td(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class V_ extends Ze{constructor({value:e}){super(`Value \`${e}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}}class z_ extends Ze{constructor({value:e}){super(`Value \`${e}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}}function K_(t){return g_(G_(t))}function G_(t){const{payload:e,signature:s}=t,{r:n,s:r,yParity:i}=s,a=new F_.Signature(BigInt(n),BigInt(r)).addRecoveryBit(i).recoverPublicKey(Td(e).substring(2));return o_(a)}var Y_={};const Z_=":";function mn(t){const[e,s]=t.split(Z_);return{namespace:e,reference:s}}function wg(t,e){return t.includes(":")?[t]:e.chains||[]}var J_=Object.defineProperty,X_=Object.defineProperties,Q_=Object.getOwnPropertyDescriptors,ch=Object.getOwnPropertySymbols,e0=Object.prototype.hasOwnProperty,t0=Object.prototype.propertyIsEnumerable,Ul=(t,e,s)=>e in t?J_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,lh=(t,e)=>{for(var s in e||(e={}))e0.call(e,s)&&Ul(t,s,e[s]);if(ch)for(var s of ch(e))t0.call(e,s)&&Ul(t,s,e[s]);return t},s0=(t,e)=>X_(t,Q_(e)),dh=(t,e,s)=>Ul(t,typeof e!="symbol"?e+"":e,s);const n0="ReactNative",cs={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},r0="js";function Ua(){return typeof fn<"u"&&typeof fn.versions<"u"&&typeof fn.versions.node<"u"}function Jn(){return!ci()&&!!pf()&&navigator.product===n0}function i0(){return Jn()&&typeof ve<"u"&&typeof(ve==null?void 0:ve.Platform)<"u"&&(ve==null?void 0:ve.Platform.OS)==="android"}function o0(){return Jn()&&typeof ve<"u"&&typeof(ve==null?void 0:ve.Platform)<"u"&&(ve==null?void 0:ve.Platform.OS)==="ios"}function Ei(){return!Ua()&&!!pf()&&!!ci()}function To(){return Jn()?cs.reactNative:Ua()?cs.node:Ei()?cs.browser:cs.unknown}function uh(){var t;try{return Jn()&&typeof ve<"u"&&typeof(ve==null?void 0:ve.Application)<"u"?(t=ve.Application)==null?void 0:t.applicationId:void 0}catch{return}}function a0(t,e){const s=new URLSearchParams(t);return Object.entries(e).sort(([n],[r])=>n.localeCompare(r)).forEach(([n,r])=>{r!=null&&s.set(n,String(r))}),s.toString()}function c0(t){var e,s;const n=Eg();try{return t!=null&&t.url&&n.url&&new URL(t.url).host!==new URL(n.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${t.url} differs from the actual page url:${n.url}. This is probably unintended and can lead to issues.`),t.url=n.url),(e=t==null?void 0:t.icons)!=null&&e.length&&t.icons.length>0&&(t.icons=t.icons.filter(r=>r!=="")),s0(lh(lh({},n),t),{url:(t==null?void 0:t.url)||n.url,name:(t==null?void 0:t.name)||n.name,description:(t==null?void 0:t.description)||n.description,icons:(s=t==null?void 0:t.icons)!=null&&s.length&&t.icons.length>0?t.icons:n.icons})}catch(r){return console.warn("Error populating app metadata",r),t||n}}function Eg(){return gy()||{name:"",description:"",url:"",icons:[""]}}function l0(){if(To()===cs.reactNative&&typeof ve<"u"&&typeof(ve==null?void 0:ve.Platform)<"u"){const{OS:s,Version:n}=ve.Platform;return[s,n].join("-")}const t=yy();if(t===null)return"unknown";const e=t.os?t.os.replace(" ","").toLowerCase():"unknown";return t.type==="browser"?[e,t.name,t.version].join("-"):[e,t.version].join("-")}function d0(){var t;const e=To();return e===cs.browser?[e,((t=wy())==null?void 0:t.host)||"unknown"].join(":"):e}function bg(t,e,s){const n=l0(),r=d0();return[[t,e].join("-"),[r0,s].join("-"),n,r].join("/")}function u0({protocol:t,version:e,relayUrl:s,sdkVersion:n,auth:r,projectId:i,useOnCloseEvent:o,bundleId:a,packageName:c}){const l=s.split("?"),d=bg(t,e,n),u={auth:r,ua:d,projectId:i,useOnCloseEvent:o,packageName:c||void 0,bundleId:a||void 0},h=a0(l[1]||"",u);return l[0]+"?"+h}function fr(t,e){return t.filter(s=>e.includes(s)).length===t.length}function $l(t){return Object.fromEntries(t.entries())}function Dl(t){return new Map(Object.entries(t))}function cr(t=Y.FIVE_MINUTES,e){const s=Y.toMiliseconds(t||Y.FIVE_MINUTES);let n,r,i,o;return{resolve:a=>{i&&n&&(clearTimeout(i),n(a),o=Promise.resolve(a))},reject:a=>{i&&r&&(clearTimeout(i),r(a))},done:()=>new Promise((a,c)=>{if(o)return a(o);i=setTimeout(()=>{const l=new Error(e);o=Promise.reject(l),c(l)},s),n=a,r=c})}}function Hs(t,e,s){return new Promise(async(n,r)=>{const i=setTimeout(()=>r(new Error(s)),e);try{const o=await t;n(o)}catch(o){r(o)}clearTimeout(i)})}function Cg(t,e){if(typeof e=="string"&&e.startsWith(`${t}:`))return e;if(t.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(t.toLowerCase()==="id"){if(typeof e!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${t}`)}function h0(t){return Cg("topic",t)}function p0(t){return Cg("id",t)}function vg(t){const[e,s]=t.split(":"),n={id:void 0,topic:void 0};if(e==="topic"&&typeof s=="string")n.topic=s;else if(e==="id"&&Number.isInteger(Number(s)))n.id=Number(s);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${s}`);return n}function st(t,e){return Y.fromMiliseconds(Date.now()+Y.toMiliseconds(t))}function qs(t){return Date.now()>=Y.toMiliseconds(t)}function je(t,e){return`${t}${e?`:${e}`:""}`}function Ks(t=[],e=[]){return[...new Set([...t,...e])]}async function f0({id:t,topic:e,wcDeepLink:s}){var n;try{if(!s)return;const r=typeof s=="string"?JSON.parse(s):s,i=r==null?void 0:r.href;if(typeof i!="string")return;const o=g0(i,t,e),a=To();if(a===cs.browser){if(!((n=ci())!=null&&n.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}m0(o)}else a===cs.reactNative&&typeof(ve==null?void 0:ve.Linking)<"u"&&await ve.Linking.openURL(o)}catch(r){console.error(r)}}function g0(t,e,s){const n=`requestId=${e}&sessionTopic=${s}`;t.endsWith("/")&&(t=t.slice(0,-1));let r=`${t}`;if(t.startsWith("https://t.me")){const i=t.includes("?")?"&startapp=":"?startapp=";r=`${r}${i}${b0(n,!0)}`}else r=`${r}/wc?${n}`;return r}function m0(t){let e="_self";E0()?e="_top":(w0()||t.startsWith("https://")||t.startsWith("http://"))&&(e="_blank"),window.open(t,e,"noreferrer noopener")}async function y0(t,e){let s="";try{if(Ei()&&(s=localStorage.getItem(e),s))return s;s=await t.getItem(e)}catch(n){console.error(n)}return s}function hh(t,e){if(!t.includes(e))return null;const s=t.split(/([&,?,=])/),n=s.indexOf(e);return s[n+2]}function ph(){return typeof crypto<"u"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function Od(){return typeof fn<"u"&&Y_.IS_VITEST==="true"}function w0(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function E0(){try{return window.self!==window.top}catch{return!1}}function b0(t,e=!1){const s=ke.from(t).toString("base64");return e?s.replace(/[=]/g,""):s}function _g(t){return ke.from(t,"base64").toString("utf-8")}function C0(t){return new Promise(e=>setTimeout(e,t))}let v0=class{constructor({limit:e}){dh(this,"limit"),dh(this,"set"),this.limit=e,this.set=new Set}add(e){if(!this.set.has(e)){if(this.set.size>=this.limit){const s=this.set.values().next().value;s&&this.set.delete(s)}this.set.add(e)}}has(e){return this.set.has(e)}};const Go=BigInt(2**32-1),fh=BigInt(32);function Ag(t,e=!1){return e?{h:Number(t&Go),l:Number(t>>fh&Go)}:{h:Number(t>>fh&Go)|0,l:Number(t&Go)|0}}function Sg(t,e=!1){const s=t.length;let n=new Uint32Array(s),r=new Uint32Array(s);for(let i=0;i<s;i++){const{h:o,l:a}=Ag(t[i],e);[n[i],r[i]]=[o,a]}return[n,r]}const gh=(t,e,s)=>t>>>s,mh=(t,e,s)=>t<<32-s|e>>>s,Pn=(t,e,s)=>t>>>s|e<<32-s,xn=(t,e,s)=>t<<32-s|e>>>s,Ui=(t,e,s)=>t<<64-s|e>>>s-32,$i=(t,e,s)=>t>>>s-32|e<<64-s,_0=(t,e)=>e,A0=(t,e)=>t,S0=(t,e,s)=>t<<s|e>>>32-s,I0=(t,e,s)=>e<<s|t>>>32-s,N0=(t,e,s)=>e<<s-32|t>>>64-s,T0=(t,e,s)=>t<<s-32|e>>>64-s;function Ns(t,e,s,n){const r=(e>>>0)+(n>>>0);return{h:t+s+(r/2**32|0)|0,l:r|0}}const Pd=(t,e,s)=>(t>>>0)+(e>>>0)+(s>>>0),xd=(t,e,s,n)=>e+s+n+(t/2**32|0)|0,R0=(t,e,s,n)=>(t>>>0)+(e>>>0)+(s>>>0)+(n>>>0),O0=(t,e,s,n,r)=>e+s+n+r+(t/2**32|0)|0,P0=(t,e,s,n,r)=>(t>>>0)+(e>>>0)+(s>>>0)+(n>>>0)+(r>>>0),x0=(t,e,s,n,r,i)=>e+s+n+r+i+(t/2**32|0)|0,jr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function ec(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Cn(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function $s(t,...e){if(!ec(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function tc(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Cn(t.outputLen),Cn(t.blockLen)}function Zn(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function kd(t,e){$s(t);const s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function go(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Cs(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function Uc(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Ds(t,e){return t<<32-e|t>>>e}const Ig=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ng(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}const nn=Ig?t=>t:t=>Ng(t);function k0(t){for(let e=0;e<t.length;e++)t[e]=Ng(t[e]);return t}const kn=Ig?t=>t:k0,Tg=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",U0=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ni(t){if($s(t),Tg)return t.toHex();let e="";for(let s=0;s<t.length;s++)e+=U0[t[s]];return e}const tn={_0:48,_9:57,A:65,F:70,a:97,f:102};function yh(t){if(t>=tn._0&&t<=tn._9)return t-tn._0;if(t>=tn.A&&t<=tn.F)return t-(tn.A-10);if(t>=tn.a&&t<=tn.f)return t-(tn.a-10)}function $a(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(Tg)return Uint8Array.fromHex(t);const e=t.length,s=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(s);for(let r=0,i=0;r<s;r++,i+=2){const o=yh(t.charCodeAt(i)),a=yh(t.charCodeAt(i+1));if(o===void 0||a===void 0){const c=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[r]=o*16+a}return n}function Rg(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function ks(t){return typeof t=="string"&&(t=Rg(t)),$s(t),t}function Dn(...t){let e=0;for(let n=0;n<t.length;n++){const r=t[n];$s(r),e+=r.length}const s=new Uint8Array(e);for(let n=0,r=0;n<t.length;n++){const i=t[n];s.set(i,r),r+=i.length}return s}let sc=class{};function Ro(t){const e=n=>t().update(ks(n)).digest(),s=t();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>t(),e}function $0(t){const e=(n,r)=>t(r).update(ks(n)).digest(),s=t({});return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=n=>t(n),e}function $r(t=32){if(jr&&typeof jr.getRandomValues=="function")return jr.getRandomValues(new Uint8Array(t));if(jr&&typeof jr.randomBytes=="function")return Uint8Array.from(jr.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}const D0=BigInt(0),_i=BigInt(1),L0=BigInt(2),M0=BigInt(7),B0=BigInt(256),j0=BigInt(113),Og=[],Pg=[],xg=[];for(let t=0,e=_i,s=1,n=0;t<24;t++){[s,n]=[n,(2*s+3*n)%5],Og.push(2*(5*n+s)),Pg.push((t+1)*(t+2)/2%64);let r=D0;for(let i=0;i<7;i++)e=(e<<_i^(e>>M0)*j0)%B0,e&L0&&(r^=_i<<(_i<<BigInt(i))-_i);xg.push(r)}const kg=Sg(xg,!0),F0=kg[0],q0=kg[1],wh=(t,e,s)=>s>32?N0(t,e,s):S0(t,e,s),Eh=(t,e,s)=>s>32?T0(t,e,s):I0(t,e,s);function W0(t,e=24){const s=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let o=0;o<10;o++)s[o]=t[o]^t[o+10]^t[o+20]^t[o+30]^t[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,l=s[c],d=s[c+1],u=wh(l,d,1)^s[a],h=Eh(l,d,1)^s[a+1];for(let p=0;p<50;p+=10)t[o+p]^=u,t[o+p+1]^=h}let r=t[2],i=t[3];for(let o=0;o<24;o++){const a=Pg[o],c=wh(r,i,a),l=Eh(r,i,a),d=Og[o];r=t[d],i=t[d+1],t[d]=c,t[d+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)s[a]=t[o+a];for(let a=0;a<10;a++)t[o+a]^=~s[(a+2)%10]&s[(a+4)%10]}t[0]^=F0[n],t[1]^=q0[n]}Cs(s)}let H0=class Ug extends sc{constructor(e,s,n,r=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=s,this.outputLen=n,this.enableXOF=r,this.rounds=i,Cn(n),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=go(this.state)}clone(){return this._cloneInto()}keccak(){kn(this.state32),W0(this.state32,this.rounds),kn(this.state32),this.posOut=0,this.pos=0}update(e){Zn(this),e=ks(e),$s(e);const{blockLen:s,state:n}=this,r=e.length;for(let i=0;i<r;){const o=Math.min(s-this.pos,r-i);for(let a=0;a<o;a++)n[this.pos++]^=e[i++];this.pos===s&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:s,pos:n,blockLen:r}=this;e[n]^=s,s&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){Zn(this,!1),$s(e),this.finish();const s=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();const o=Math.min(n-this.posOut,i-r);e.set(s.subarray(this.posOut,this.posOut+o),r),this.posOut+=o,r+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Cn(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(kd(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Cs(this.state)}_cloneInto(e){const{blockLen:s,suffix:n,outputLen:r,rounds:i,enableXOF:o}=this;return e||(e=new Ug(s,n,r,o,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=n,e.outputLen=r,e.enableXOF=o,e.destroyed=this.destroyed,e}};const V0=(t,e,s)=>Ro(()=>new H0(e,t,s)),z0=V0(1,136,256/8);function K0(t,e,s,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,s,n);const r=BigInt(32),i=BigInt(4294967295),o=Number(s>>r&i),a=Number(s&i),c=n?4:0,l=n?0:4;t.setUint32(e+c,o,n),t.setUint32(e+l,a,n)}function G0(t,e,s){return t&e^~t&s}function Y0(t,e,s){return t&e^t&s^e&s}let $g=class extends sc{constructor(e,s,n,r){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=s,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=Uc(this.buffer)}update(e){Zn(this),e=ks(e),$s(e);const{view:s,buffer:n,blockLen:r}=this,i=e.length;for(let o=0;o<i;){const a=Math.min(r-this.pos,i-o);if(a===r){const c=Uc(e);for(;r<=i-o;o+=r)this.process(c,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===r&&(this.process(s,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Zn(this),kd(e,this),this.finished=!0;const{buffer:s,view:n,blockLen:r,isLE:i}=this;let{pos:o}=this;s[o++]=128,Cs(this.buffer.subarray(o)),this.padOffset>r-o&&(this.process(n,0),o=0);for(let u=o;u<r;u++)s[u]=0;K0(n,r-8,BigInt(this.length*8),i),this.process(n,0);const a=Uc(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=c/4,d=this.get();if(l>d.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)a.setUint32(4*u,d[u],i)}digest(){const{buffer:e,outputLen:s}=this;this.digestInto(e);const n=e.slice(0,s);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:s,buffer:n,length:r,finished:i,destroyed:o,pos:a}=this;return e.destroyed=o,e.finished=i,e.length=r,e.pos=a,r%s&&e.buffer.set(n),e}clone(){return this._cloneInto()}};const Sn=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ct=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),vt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),Z0=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),In=new Uint32Array(64);class J0 extends $g{constructor(e=32){super(64,e,8,!1),this.A=Sn[0]|0,this.B=Sn[1]|0,this.C=Sn[2]|0,this.D=Sn[3]|0,this.E=Sn[4]|0,this.F=Sn[5]|0,this.G=Sn[6]|0,this.H=Sn[7]|0}get(){const{A:e,B:s,C:n,D:r,E:i,F:o,G:a,H:c}=this;return[e,s,n,r,i,o,a,c]}set(e,s,n,r,i,o,a,c){this.A=e|0,this.B=s|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,s){for(let u=0;u<16;u++,s+=4)In[u]=e.getUint32(s,!1);for(let u=16;u<64;u++){const h=In[u-15],p=In[u-2],m=Ds(h,7)^Ds(h,18)^h>>>3,f=Ds(p,17)^Ds(p,19)^p>>>10;In[u]=f+In[u-7]+m+In[u-16]|0}let{A:n,B:r,C:i,D:o,E:a,F:c,G:l,H:d}=this;for(let u=0;u<64;u++){const h=Ds(a,6)^Ds(a,11)^Ds(a,25),p=d+h+G0(a,c,l)+Z0[u]+In[u]|0,m=(Ds(n,2)^Ds(n,13)^Ds(n,22))+Y0(n,r,i)|0;d=l,l=c,c=a,a=o+p|0,o=i,i=r,r=n,n=p+m|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,d=d+this.H|0,this.set(n,r,i,o,a,c,l,d)}roundClean(){Cs(In)}destroy(){this.set(0,0,0,0,0,0,0,0),Cs(this.buffer)}}const Dg=Sg(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),X0=Dg[0],Q0=Dg[1],Nn=new Uint32Array(80),Tn=new Uint32Array(80);let Ud=class extends $g{constructor(e=64){super(128,e,16,!1),this.Ah=vt[0]|0,this.Al=vt[1]|0,this.Bh=vt[2]|0,this.Bl=vt[3]|0,this.Ch=vt[4]|0,this.Cl=vt[5]|0,this.Dh=vt[6]|0,this.Dl=vt[7]|0,this.Eh=vt[8]|0,this.El=vt[9]|0,this.Fh=vt[10]|0,this.Fl=vt[11]|0,this.Gh=vt[12]|0,this.Gl=vt[13]|0,this.Hh=vt[14]|0,this.Hl=vt[15]|0}get(){const{Ah:e,Al:s,Bh:n,Bl:r,Ch:i,Cl:o,Dh:a,Dl:c,Eh:l,El:d,Fh:u,Fl:h,Gh:p,Gl:m,Hh:f,Hl:y}=this;return[e,s,n,r,i,o,a,c,l,d,u,h,p,m,f,y]}set(e,s,n,r,i,o,a,c,l,d,u,h,p,m,f,y){this.Ah=e|0,this.Al=s|0,this.Bh=n|0,this.Bl=r|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=d|0,this.Fh=u|0,this.Fl=h|0,this.Gh=p|0,this.Gl=m|0,this.Hh=f|0,this.Hl=y|0}process(e,s){for(let v=0;v<16;v++,s+=4)Nn[v]=e.getUint32(s),Tn[v]=e.getUint32(s+=4);for(let v=16;v<80;v++){const C=Nn[v-15]|0,R=Tn[v-15]|0,k=Pn(C,R,1)^Pn(C,R,8)^gh(C,R,7),L=xn(C,R,1)^xn(C,R,8)^mh(C,R,7),F=Nn[v-2]|0,x=Tn[v-2]|0,B=Pn(F,x,19)^Ui(F,x,61)^gh(F,x,6),W=xn(F,x,19)^$i(F,x,61)^mh(F,x,6),O=R0(L,W,Tn[v-7],Tn[v-16]),A=O0(O,k,B,Nn[v-7],Nn[v-16]);Nn[v]=A|0,Tn[v]=O|0}let{Ah:n,Al:r,Bh:i,Bl:o,Ch:a,Cl:c,Dh:l,Dl:d,Eh:u,El:h,Fh:p,Fl:m,Gh:f,Gl:y,Hh:b,Hl:S}=this;for(let v=0;v<80;v++){const C=Pn(u,h,14)^Pn(u,h,18)^Ui(u,h,41),R=xn(u,h,14)^xn(u,h,18)^$i(u,h,41),k=u&p^~u&f,L=h&m^~h&y,F=P0(S,R,L,Q0[v],Tn[v]),x=x0(F,b,C,k,X0[v],Nn[v]),B=F|0,W=Pn(n,r,28)^Ui(n,r,34)^Ui(n,r,39),O=xn(n,r,28)^$i(n,r,34)^$i(n,r,39),A=n&i^n&a^i&a,N=r&o^r&c^o&c;b=f|0,S=y|0,f=p|0,y=m|0,p=u|0,m=h|0,{h:u,l:h}=Ns(l|0,d|0,x|0,B|0),l=a|0,d=c|0,a=i|0,c=o|0,i=n|0,o=r|0;const E=Pd(B,O,N);n=xd(E,x,W,A),r=E|0}({h:n,l:r}=Ns(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:o}=Ns(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=Ns(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:d}=Ns(this.Dh|0,this.Dl|0,l|0,d|0),{h:u,l:h}=Ns(this.Eh|0,this.El|0,u|0,h|0),{h:p,l:m}=Ns(this.Fh|0,this.Fl|0,p|0,m|0),{h:f,l:y}=Ns(this.Gh|0,this.Gl|0,f|0,y|0),{h:b,l:S}=Ns(this.Hh|0,this.Hl|0,b|0,S|0),this.set(n,r,i,o,a,c,l,d,u,h,p,m,f,y,b,S)}roundClean(){Cs(Nn,Tn)}destroy(){Cs(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};class eA extends Ud{constructor(){super(48),this.Ah=Ct[0]|0,this.Al=Ct[1]|0,this.Bh=Ct[2]|0,this.Bl=Ct[3]|0,this.Ch=Ct[4]|0,this.Cl=Ct[5]|0,this.Dh=Ct[6]|0,this.Dl=Ct[7]|0,this.Eh=Ct[8]|0,this.El=Ct[9]|0,this.Fh=Ct[10]|0,this.Fl=Ct[11]|0,this.Gh=Ct[12]|0,this.Gl=Ct[13]|0,this.Hh=Ct[14]|0,this.Hl=Ct[15]|0}}const _t=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]);class tA extends Ud{constructor(){super(32),this.Ah=_t[0]|0,this.Al=_t[1]|0,this.Bh=_t[2]|0,this.Bl=_t[3]|0,this.Ch=_t[4]|0,this.Cl=_t[5]|0,this.Dh=_t[6]|0,this.Dl=_t[7]|0,this.Eh=_t[8]|0,this.El=_t[9]|0,this.Fh=_t[10]|0,this.Fl=_t[11]|0,this.Gh=_t[12]|0,this.Gl=_t[13]|0,this.Hh=_t[14]|0,this.Hl=_t[15]|0}}const nc=Ro(()=>new J0),sA=Ro(()=>new Ud),nA=Ro(()=>new eA),rA=Ro(()=>new tA),iA=Uint8Array.from([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9]),ot=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),X=new Uint32Array(32);function Rn(t,e,s,n,r,i){const o=r[i],a=r[i+1];let c=X[2*t],l=X[2*t+1],d=X[2*e],u=X[2*e+1],h=X[2*s],p=X[2*s+1],m=X[2*n],f=X[2*n+1],y=Pd(c,d,o);l=xd(y,l,u,a),c=y|0,{Dh:f,Dl:m}={Dh:f^l,Dl:m^c},{Dh:f,Dl:m}={Dh:_0(f,m),Dl:A0(f)},{h:p,l:h}=Ns(p,h,f,m),{Bh:u,Bl:d}={Bh:u^p,Bl:d^h},{Bh:u,Bl:d}={Bh:Pn(u,d,24),Bl:xn(u,d,24)},X[2*t]=c,X[2*t+1]=l,X[2*e]=d,X[2*e+1]=u,X[2*s]=h,X[2*s+1]=p,X[2*n]=m,X[2*n+1]=f}function On(t,e,s,n,r,i){const o=r[i],a=r[i+1];let c=X[2*t],l=X[2*t+1],d=X[2*e],u=X[2*e+1],h=X[2*s],p=X[2*s+1],m=X[2*n],f=X[2*n+1],y=Pd(c,d,o);l=xd(y,l,u,a),c=y|0,{Dh:f,Dl:m}={Dh:f^l,Dl:m^c},{Dh:f,Dl:m}={Dh:Pn(f,m,16),Dl:xn(f,m,16)},{h:p,l:h}=Ns(p,h,f,m),{Bh:u,Bl:d}={Bh:u^p,Bl:d^h},{Bh:u,Bl:d}={Bh:Ui(u,d,63),Bl:$i(u,d,63)},X[2*t]=c,X[2*t+1]=l,X[2*e]=d,X[2*e+1]=u,X[2*s]=h,X[2*s+1]=p,X[2*n]=m,X[2*n+1]=f}function oA(t,e={},s,n,r){if(Cn(s),t<0||t>s)throw new Error("outputLen bigger than keyLen");const{key:i,salt:o,personalization:a}=e;if(i!==void 0&&(i.length<1||i.length>s))throw new Error("key length must be undefined or 1.."+s);if(o!==void 0&&o.length!==n)throw new Error("salt must be undefined or "+n);if(a!==void 0&&a.length!==r)throw new Error("personalization must be undefined or "+r)}class aA extends sc{constructor(e,s){super(),this.finished=!1,this.destroyed=!1,this.length=0,this.pos=0,Cn(e),Cn(s),this.blockLen=e,this.outputLen=s,this.buffer=new Uint8Array(e),this.buffer32=go(this.buffer)}update(e){Zn(this),e=ks(e),$s(e);const{blockLen:s,buffer:n,buffer32:r}=this,i=e.length,o=e.byteOffset,a=e.buffer;for(let c=0;c<i;){this.pos===s&&(kn(r),this.compress(r,0,!1),kn(r),this.pos=0);const l=Math.min(s-this.pos,i-c),d=o+c;if(l===s&&!(d%4)&&c+l<i){const u=new Uint32Array(a,d,Math.floor((i-c)/4));kn(u);for(let h=0;c+s<i;h+=r.length,c+=s)this.length+=s,this.compress(u,h,!1);kn(u);continue}n.set(e.subarray(c,c+l),this.pos),this.pos+=l,this.length+=l,c+=l}return this}digestInto(e){Zn(this),kd(e,this);const{pos:s,buffer32:n}=this;this.finished=!0,Cs(this.buffer.subarray(s)),kn(n),this.compress(n,0,!0),kn(n);const r=go(e);this.get().forEach((i,o)=>r[o]=nn(i))}digest(){const{buffer:e,outputLen:s}=this;this.digestInto(e);const n=e.slice(0,s);return this.destroy(),n}_cloneInto(e){const{buffer:s,length:n,finished:r,destroyed:i,outputLen:o,pos:a}=this;return e||(e=new this.constructor({dkLen:o})),e.set(...this.get()),e.buffer.set(s),e.destroyed=i,e.finished=r,e.length=n,e.pos=a,e.outputLen=o,e}clone(){return this._cloneInto()}}class cA extends aA{constructor(e={}){const s=e.dkLen===void 0?64:e.dkLen;super(128,s),this.v0l=ot[0]|0,this.v0h=ot[1]|0,this.v1l=ot[2]|0,this.v1h=ot[3]|0,this.v2l=ot[4]|0,this.v2h=ot[5]|0,this.v3l=ot[6]|0,this.v3h=ot[7]|0,this.v4l=ot[8]|0,this.v4h=ot[9]|0,this.v5l=ot[10]|0,this.v5h=ot[11]|0,this.v6l=ot[12]|0,this.v6h=ot[13]|0,this.v7l=ot[14]|0,this.v7h=ot[15]|0,oA(s,e,64,16,16);let{key:n,personalization:r,salt:i}=e,o=0;if(n!==void 0&&(n=ks(n),o=n.length),this.v0l^=this.outputLen|o<<8|65536|1<<24,i!==void 0){i=ks(i);const a=go(i);this.v4l^=nn(a[0]),this.v4h^=nn(a[1]),this.v5l^=nn(a[2]),this.v5h^=nn(a[3])}if(r!==void 0){r=ks(r);const a=go(r);this.v6l^=nn(a[0]),this.v6h^=nn(a[1]),this.v7l^=nn(a[2]),this.v7h^=nn(a[3])}if(n!==void 0){const a=new Uint8Array(this.blockLen);a.set(n),this.update(a)}}get(){let{v0l:e,v0h:s,v1l:n,v1h:r,v2l:i,v2h:o,v3l:a,v3h:c,v4l:l,v4h:d,v5l:u,v5h:h,v6l:p,v6h:m,v7l:f,v7h:y}=this;return[e,s,n,r,i,o,a,c,l,d,u,h,p,m,f,y]}set(e,s,n,r,i,o,a,c,l,d,u,h,p,m,f,y){this.v0l=e|0,this.v0h=s|0,this.v1l=n|0,this.v1h=r|0,this.v2l=i|0,this.v2h=o|0,this.v3l=a|0,this.v3h=c|0,this.v4l=l|0,this.v4h=d|0,this.v5l=u|0,this.v5h=h|0,this.v6l=p|0,this.v6h=m|0,this.v7l=f|0,this.v7h=y|0}compress(e,s,n){this.get().forEach((c,l)=>X[l]=c),X.set(ot,16);let{h:r,l:i}=Ag(BigInt(this.length));X[24]=ot[8]^i,X[25]=ot[9]^r,n&&(X[28]=~X[28],X[29]=~X[29]);let o=0;const a=iA;for(let c=0;c<12;c++)Rn(0,4,8,12,e,s+2*a[o++]),On(0,4,8,12,e,s+2*a[o++]),Rn(1,5,9,13,e,s+2*a[o++]),On(1,5,9,13,e,s+2*a[o++]),Rn(2,6,10,14,e,s+2*a[o++]),On(2,6,10,14,e,s+2*a[o++]),Rn(3,7,11,15,e,s+2*a[o++]),On(3,7,11,15,e,s+2*a[o++]),Rn(0,5,10,15,e,s+2*a[o++]),On(0,5,10,15,e,s+2*a[o++]),Rn(1,6,11,12,e,s+2*a[o++]),On(1,6,11,12,e,s+2*a[o++]),Rn(2,7,8,13,e,s+2*a[o++]),On(2,7,8,13,e,s+2*a[o++]),Rn(3,4,9,14,e,s+2*a[o++]),On(3,4,9,14,e,s+2*a[o++]);this.v0l^=X[0]^X[16],this.v0h^=X[1]^X[17],this.v1l^=X[2]^X[18],this.v1h^=X[3]^X[19],this.v2l^=X[4]^X[20],this.v2h^=X[5]^X[21],this.v3l^=X[6]^X[22],this.v3h^=X[7]^X[23],this.v4l^=X[8]^X[24],this.v4h^=X[9]^X[25],this.v5l^=X[10]^X[26],this.v5h^=X[11]^X[27],this.v6l^=X[12]^X[28],this.v6h^=X[13]^X[29],this.v7l^=X[14]^X[30],this.v7h^=X[15]^X[31],Cs(X)}destroy(){this.destroyed=!0,Cs(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const lA=$0(t=>new cA(t)),dA="https://rpc.walletconnect.org/v1";function Lg(t){const e=`Ethereum Signed Message:
6
- ${t.length}`,s=new TextEncoder().encode(e+t);return"0x"+ke.from(z0(s)).toString("hex")}async function uA(t,e,s,n,r,i){switch(s.t){case"eip191":return await hA(t,e,s.s);case"eip1271":return await pA(t,e,s.s,n,r,i);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${s.t}`)}}function hA(t,e,s){const n=q_(s);return K_({payload:Lg(e),signature:n}).toLowerCase()===t.toLowerCase()}async function pA(t,e,s,n,r,i){const o=mn(n);if(!o.namespace||!o.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${n}`);try{const a="0x1626ba7e",c="0000000000000000000000000000000000000000000000000000000000000040",l=s.substring(2),d=(l.length/2).toString(16).padStart(64,"0"),u=(e.startsWith("0x")?e:Lg(e)).substring(2),h=a+u+c+d+l,p=await fetch(`${i||dA}/?chainId=${n}&projectId=${r}`,{headers:{"Content-Type":"application/json"},method:"POST",body:JSON.stringify({id:fA(),jsonrpc:"2.0",method:"eth_call",params:[{to:t,data:h},"latest"]})}),{result:m}=await p.json();return m?m.slice(0,a.length).toLowerCase()===a.toLowerCase():!1}catch(a){return console.error("isValidEip1271Signature: ",a),!1}}function fA(){return Date.now()+Math.floor(Math.random()*1e3)}function gA(t){const e=atob(t),s=new Uint8Array(e.length);for(let o=0;o<e.length;o++)s[o]=e.charCodeAt(o);const n=s[0];if(n===0)throw new Error("No signatures found");const r=1+n*64;if(s.length<r)throw new Error("Transaction data too short for claimed signature count");if(s.length<100)throw new Error("Transaction too short");const i=ke.from(t,"base64").slice(1,65);return yi.encode(i)}function mA(t){const e=new Uint8Array(ke.from(t,"base64")),s=Array.from("TransactionData::").map(i=>i.charCodeAt(0)),n=new Uint8Array(s.length+e.length);n.set(s),n.set(e,s.length);const r=lA(n,{dkLen:32});return yi.encode(r)}function bh(t){const e=new Uint8Array(nc(yA(t)));return yi.encode(e)}function yA(t){if(t instanceof Uint8Array)return t;if(Array.isArray(t))return new Uint8Array(t);if(typeof t=="object"&&t!=null&&t.data)return new Uint8Array(Object.values(t.data));if(typeof t=="object"&&t)return new Uint8Array(Object.values(t));throw new Error("getNearUint8ArrayFromBytes: Unexpected result type from bytes array")}function Ch(t){const e=ke.from(t,"base64"),s=Ey(e).txn;if(!s)throw new Error("Invalid signed transaction: missing 'txn' field");const n=by(s),r=ke.from("TX"),i=ke.concat([r,ke.from(n)]),o=rA(i);return Cy.encode(o).replace(/=+$/,"")}function $c(t){const e=[];let s=BigInt(t);for(;s>=BigInt(128);)e.push(Number(s&BigInt(127)|BigInt(128))),s>>=BigInt(7);return e.push(Number(s)),ke.from(e)}function wA(t){const e=ke.from(t.signed.bodyBytes,"base64"),s=ke.from(t.signed.authInfoBytes,"base64"),n=ke.from(t.signature.signature,"base64"),r=[];r.push(ke.from([10])),r.push($c(e.length)),r.push(e),r.push(ke.from([18])),r.push($c(s.length)),r.push(s),r.push(ke.from([26])),r.push($c(n.length)),r.push(n);const i=ke.concat(r),o=nc(i);return ke.from(o).toString("hex").toUpperCase()}function EA(t){var e,s;const n=[];try{if(typeof t=="string")return n.push(t),n;if(typeof t!="object")return n;t!=null&&t.id&&n.push(t.id);const r=(s=(e=t==null?void 0:t.capabilities)==null?void 0:e.caip345)==null?void 0:s.transactionHashes;r&&n.push(...r)}catch(r){console.warn("getWalletSendCallsHashes failed: ",r)}return n}var bA=Object.defineProperty,CA=Object.defineProperties,vA=Object.getOwnPropertyDescriptors,vh=Object.getOwnPropertySymbols,_A=Object.prototype.hasOwnProperty,AA=Object.prototype.propertyIsEnumerable,_h=(t,e,s)=>e in t?bA(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,SA=(t,e)=>{for(var s in e||(e={}))_A.call(e,s)&&_h(t,s,e[s]);if(vh)for(var s of vh(e))AA.call(e,s)&&_h(t,s,e[s]);return t},IA=(t,e)=>CA(t,vA(e));const Mg="did:pkh:",NA={eip155:"Ethereum",solana:"Solana",bip122:"Bitcoin"},TA=t=>t?NA[t]||t:"",rc=t=>t==null?void 0:t.split(":"),RA=t=>{const e=t&&rc(t);if(e)return t.includes(Mg)?e[3]:e[1]},OA=t=>{const e=t&&rc(t);if(e)return t.includes(Mg)?e[2]:e[0]},Ll=t=>{const e=t&&rc(t);if(e)return e[2]+":"+e[3]},Da=t=>{const e=t&&rc(t);if(e)return e.pop()};async function Ah(t){const{cacao:e,projectId:s}=t,{s:n,p:r}=e,i=Bg(r,r.iss),o=Da(r.iss);return await uA(o,i,n,Ll(r.iss),s)}const Bg=(t,e)=>{const s=OA(e);if(!s)throw new Error("Invalid issuer: "+e);const n=`${t.domain} wants you to sign in with your ${TA(s)} account:`,r=Da(e);if(!t.aud&&!t.uri)throw new Error("Either `aud` or `uri` is required to construct the message");let i=t.statement||void 0;const o=`URI: ${t.aud||t.uri}`,a=`Version: ${t.version}`,c=`Chain ID: ${RA(e)}`,l=`Nonce: ${t.nonce}`,d=`Issued At: ${t.iat}`,u=t.exp?`Expiration Time: ${t.exp}`:void 0,h=t.nbf?`Not Before: ${t.nbf}`:void 0,p=t.requestId?`Request ID: ${t.requestId}`:void 0,m=t.resources?`Resources:${t.resources.map(y=>`
4
+ ${a}`,r=!0}}r||(Error.captureStackTrace?Error.captureStackTrace(this,Nr):this.stack||(this.stack=`${this.name}: ${this.message}`))}}function ju(t,e){let s="";try{t instanceof Error?s=t.message:typeof t=="string"?s=t:typeof t=="object"&&t!==null?Object.keys(t).length===0?s="Unknown error":s=(t==null?void 0:t.message)||JSON.stringify(t):s=String(t)}catch(r){s="Unknown error",console.error("Error parsing error message",r)}const n=t instanceof Nr?t:new Nr(s,e,t);throw FC.sendError(n,n.category),n}function vs(t,e="INTERNAL_SDK_ERROR"){const s={};return Object.keys(t).forEach(n=>{const r=t[n];if(typeof r=="function"){let i=r;r.constructor.name==="AsyncFunction"?i=async(...o)=>{try{return await r(...o)}catch(a){return ju(a,e)}}:i=(...o)=>{try{return r(...o)}catch(a){return ju(a,e)}},s[n]=i}else s[n]=r}),s}const Qt=Ke({walletImages:{},networkImages:{},chainImages:{},connectorImages:{},tokenImages:{},currencyImages:{}}),qC={state:Qt,subscribeNetworkImages(t){return wt(Qt.networkImages,()=>t(Qt.networkImages))},subscribeKey(t,e){return Et(Qt,t,e)},subscribe(t){return wt(Qt,()=>t(Qt))},setWalletImage(t,e){Qt.walletImages[t]=e},setNetworkImage(t,e){Qt.networkImages[t]=e},setChainImage(t,e){Qt.chainImages[t]=e},setConnectorImage(t,e){Qt.connectorImages={...Qt.connectorImages,[t]:e}},setTokenImage(t,e){Qt.tokenImages[t]=e},setCurrencyImage(t,e){Qt.currencyImages[t]=e}},ws=vs(qC),Fu={eip155:"ba0ba0cd-17c6-4806-ad93-f9d174f17900",solana:"a1b58899-f671-4276-6a5e-56ca5bd59700",polkadot:"",bip122:"0b4838db-0161-4ffe-022d-532bf03dba00",cosmos:"",sui:"",stacks:"",ton:"20f673c0-095e-49b2-07cf-eb5049dcf600"},Ec=Ke({networkImagePromises:{}}),Ff={async fetchWalletImage(t){if(t)return await Q._fetchWalletImage(t),this.getWalletImageById(t)},async fetchNetworkImage(t){if(!t)return;const e=this.getNetworkImageById(t);return e||(Ec.networkImagePromises[t]||(Ec.networkImagePromises[t]=Q._fetchNetworkImage(t)),await Ec.networkImagePromises[t],this.getNetworkImageById(t))},getWalletImageById(t){if(t)return ws.state.walletImages[t]},getWalletImage(t){if(t!=null&&t.image_url)return t==null?void 0:t.image_url;if(t!=null&&t.image_id)return ws.state.walletImages[t.image_id]},getNetworkImage(t){var e,s,n;if((e=t==null?void 0:t.assets)!=null&&e.imageUrl)return(s=t==null?void 0:t.assets)==null?void 0:s.imageUrl;if((n=t==null?void 0:t.assets)!=null&&n.imageId)return ws.state.networkImages[t.assets.imageId]},getNetworkImageById(t){if(t)return ws.state.networkImages[t]},getConnectorImage(t){var e;if(t!=null&&t.imageUrl)return t.imageUrl;if((e=t==null?void 0:t.info)!=null&&e.icon)return t.info.icon;if(t!=null&&t.imageId)return ws.state.connectorImages[t.imageId]},getChainImage(t){return ws.state.networkImages[Fu[t]]},getTokenImage(t){if(t)return ws.state.tokenImages[t]},getWalletImageUrl(t){if(!t)return"";const{projectId:e,sdkType:s,sdkVersion:n}=$.state,r=new URL(`${U.W3M_API_URL}/getWalletImage/${t}`);return r.searchParams.set("projectId",e),r.searchParams.set("st",s),r.searchParams.set("sv",n),r.toString()},getAssetImageUrl(t){if(!t)return"";const{projectId:e,sdkType:s,sdkVersion:n}=$.state,r=new URL(`${U.W3M_API_URL}/public/getAssetImage/${t}`);return r.searchParams.set("projectId",e),r.searchParams.set("st",s),r.searchParams.set("sv",n),r.toString()},getChainNamespaceImageUrl(t){return this.getAssetImageUrl(Fu[t])}},WC=Z.getAnalyticsUrl(),HC=new So({baseUrl:WC,clientId:null}),VC=["MODAL_CREATED"],zC=45,qu=1e3*10,Qe=Ke({timestamp:Date.now(),lastFlush:Date.now(),reportedErrors:{},data:{type:"track",event:"MODAL_CREATED"},pendingEvents:[],subscribedToVisibilityChange:!1,walletImpressions:[]}),we={state:Qe,subscribe(t){return wt(Qe,()=>t(Qe))},getSdkProperties(){const{projectId:t,sdkType:e,sdkVersion:s}=$.state;return{projectId:t,st:e,sv:s||"html-wagmi-4.2.2"}},shouldFlushEvents(){const t=JSON.stringify(Qe.pendingEvents).length/1024>zC,e=Qe.lastFlush+qu<Date.now();return t||e},_setPendingEvent(t){var e,s;try{let n=(e=w.getAccountData())==null?void 0:e.address;if("address"in t.data&&t.data.address&&(n=t.data.address),VC.includes(t.data.event)||typeof window>"u")return;const r=(s=w.getActiveCaipNetwork())==null?void 0:s.caipNetworkId;this.state.pendingEvents.push({eventId:Z.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:t.timestamp,props:{...t.data,address:n,properties:{..."properties"in t.data?t.data.properties:{},caipNetworkId:r}}}),Qe.reportedErrors.FORBIDDEN=!1,we.shouldFlushEvents()&&we._submitPendingEvents()}catch(n){console.warn("_setPendingEvent",n)}},sendEvent(t){var s;Qe.timestamp=Date.now(),Qe.data=t;const e=["INITIALIZE","CONNECT_SUCCESS","SOCIAL_LOGIN_SUCCESS"];((s=$.state.features)!=null&&s.analytics||e.includes(t.event))&&we._setPendingEvent(Qe),this.subscribeToFlushTriggers()},sendWalletImpressionEvent(t){Qe.walletImpressions.push(t)},_transformPendingEventsForBatch(t){try{return t.filter(e=>e.props.event!=="WALLET_IMPRESSION_V2")}catch{return t}},_submitPendingEvents(){if(Qe.lastFlush=Date.now(),!(Qe.pendingEvents.length===0&&Qe.walletImpressions.length===0))try{const t=we._transformPendingEventsForBatch(Qe.pendingEvents);Qe.walletImpressions.length&&t.push({eventId:Z.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:Date.now(),props:{type:"track",event:"WALLET_IMPRESSION_V2",items:[...Qe.walletImpressions]}}),HC.sendBeacon({path:"/batch",params:we.getSdkProperties(),body:t}),Qe.reportedErrors.FORBIDDEN=!1,Qe.pendingEvents=[],Qe.walletImpressions=[]}catch{Qe.reportedErrors.FORBIDDEN=!0}},subscribeToFlushTriggers(){var t,e,s;Qe.subscribedToVisibilityChange||typeof document>"u"||(Qe.subscribedToVisibilityChange=!0,(t=document==null?void 0:document.addEventListener)==null||t.call(document,"visibilitychange",()=>{document.visibilityState==="hidden"&&we._submitPendingEvents()}),(e=document==null?void 0:document.addEventListener)==null||e.call(document,"freeze",()=>{we._submitPendingEvents()}),(s=window==null?void 0:window.addEventListener)==null||s.call(window,"pagehide",()=>{we._submitPendingEvents()}),setInterval(()=>{we._submitPendingEvents()},qu))}},KC=Z.getApiUrl(),xt=new So({baseUrl:KC,clientId:null}),GC=40,Wu=4,YC=20,ge=Ke({promises:{},page:1,count:0,featured:[],allFeatured:[],recommended:[],allRecommended:[],wallets:[],filteredWallets:[],search:[],isAnalyticsEnabled:!1,excludedWallets:[],isFetchingRecommendedWallets:!1,explorerWallets:[],explorerFilteredWallets:[],plan:{tier:"none",hasExceededUsageLimit:!1,limits:{isAboveRpcLimit:!1,isAboveMauLimit:!1}}}),Q={state:ge,subscribeKey(t,e){return Et(ge,t,e)},_getSdkProperties(){const{projectId:t,sdkType:e,sdkVersion:s}=$.state;return{projectId:t,st:e||"appkit",sv:s||"html-wagmi-4.2.2"}},_filterOutExtensions(t){return $.state.isUniversalProvider?t.filter(e=>!!(e.mobile_link||e.desktop_link||e.webapp_link)):t},async _fetchWalletImage(t){const e=`${xt.baseUrl}/getWalletImage/${t}`,s=await xt.getBlob({path:e,params:Q._getSdkProperties()});ws.setWalletImage(t,URL.createObjectURL(s))},async _fetchNetworkImage(t){const e=`${xt.baseUrl}/public/getAssetImage/${t}`,s=await xt.getBlob({path:e,params:Q._getSdkProperties()});ws.setNetworkImage(t,URL.createObjectURL(s))},async _fetchConnectorImage(t){const e=`${xt.baseUrl}/public/getAssetImage/${t}`,s=await xt.getBlob({path:e,params:Q._getSdkProperties()});ws.setConnectorImage(t,URL.createObjectURL(s))},async _fetchCurrencyImage(t){const e=`${xt.baseUrl}/public/getCurrencyImage/${t}`,s=await xt.getBlob({path:e,params:Q._getSdkProperties()});ws.setCurrencyImage(t,URL.createObjectURL(s))},async _fetchTokenImage(t){const e=`${xt.baseUrl}/public/getTokenImage/${t}`,s=await xt.getBlob({path:e,params:Q._getSdkProperties()});ws.setTokenImage(t,URL.createObjectURL(s))},_filterWalletsByPlatform(t){const e=t.length,s=Z.isMobile()?t==null?void 0:t.filter(r=>r.mobile_link||r.webapp_link?!0:Object.values(fs).map(o=>o.id).includes(r.id)):t,n=e-s.length;return{filteredWallets:s,mobileFilteredOutWalletsLength:n}},async fetchProjectConfig(){return(await xt.get({path:"/appkit/v1/config",params:Q._getSdkProperties()})).features},async fetchUsage(){try{const t=await xt.get({path:"/appkit/v1/project-limits",params:Q._getSdkProperties()}),{tier:e,isAboveMauLimit:s,isAboveRpcLimit:n}=t.planLimits,r=e==="starter",i=s||n;Q.state.plan={tier:e,hasExceededUsageLimit:r&&i,limits:{isAboveRpcLimit:n,isAboveMauLimit:s}}}catch(t){console.warn("Failed to fetch usage",t)}},async fetchAllowedOrigins(){try{const{allowedOrigins:t}=await xt.get({path:"/projects/v1/origins",params:Q._getSdkProperties()});return t}catch(t){if(t instanceof Error&&t.cause instanceof Response){const e=t.cause.status;if(e===U.HTTP_STATUS_CODES.TOO_MANY_REQUESTS)throw new Error("RATE_LIMITED",{cause:t});if(e>=U.HTTP_STATUS_CODES.SERVER_ERROR&&e<600)throw new Error("SERVER_ERROR",{cause:t});return[]}return[]}},async fetchNetworkImages(){const t=w.getAllRequestedCaipNetworks(),e=t==null?void 0:t.map(({assets:s})=>s==null?void 0:s.imageId).filter(Boolean).filter(s=>!Ff.getNetworkImageById(s));e&&await Promise.allSettled(e.map(s=>Q._fetchNetworkImage(s)))},async fetchConnectorImages(){const{connectors:t}=q.state,e=t.map(({imageId:s})=>s).filter(Boolean);await Promise.allSettled(e.map(s=>Q._fetchConnectorImage(s)))},async fetchCurrencyImages(t=[]){await Promise.allSettled(t.map(e=>Q._fetchCurrencyImage(e)))},async fetchTokenImages(t=[]){await Promise.allSettled(t.map(e=>Q._fetchTokenImage(e)))},async fetchWallets(t){var o;const e=t.exclude??[];Q._getSdkProperties().sv.startsWith("html-core-")&&e.push(...Object.values(fs).map(a=>a.id));const n=await xt.get({path:"/getWallets",params:{...Q._getSdkProperties(),...t,page:String(t.page),entries:String(t.entries),include:(o=t.include)==null?void 0:o.join(","),exclude:e.join(",")}}),{filteredWallets:r,mobileFilteredOutWalletsLength:i}=Q._filterWalletsByPlatform(n==null?void 0:n.data);return{data:r||[],count:n==null?void 0:n.count,mobileFilteredOutWalletsLength:i}},async prefetchWalletRanks(){const t=q.state.connectors;if(!(t!=null&&t.length))return;const e={page:1,entries:20,badge:"certified"};if(e.names=t.map(r=>r.name).join(","),w.state.activeChain===U.CHAIN.EVM){const r=[...t.flatMap(i=>{var o;return((o=i.connectors)==null?void 0:o.map(a=>{var c;return(c=a.info)==null?void 0:c.rdns}))||[]}),...t.map(i=>{var o;return(o=i.info)==null?void 0:o.rdns})].filter(i=>typeof i=="string"&&i.length>0);r.length&&(e.rdns=r.join(","))}const{data:s}=await Q.fetchWallets(e);ge.explorerWallets=s,q.extendConnectorsWithExplorerWallets(s);const n=w.getRequestedCaipNetworkIds().join(",");ge.explorerFilteredWallets=s.filter(r=>{var i;return(i=r.chains)==null?void 0:i.some(o=>n.includes(o))})},async fetchFeaturedWallets(){const{featuredWalletIds:t}=$.state;if(t!=null&&t.length){const e={...Q._getSdkProperties(),page:1,entries:(t==null?void 0:t.length)??Wu,include:t},{data:s}=await Q.fetchWallets(e),n=[...s].sort((i,o)=>t.indexOf(i.id)-t.indexOf(o.id)),r=n.map(i=>i.image_id).filter(Boolean);await Promise.allSettled(r.map(i=>Q._fetchWalletImage(i))),ge.featured=n,ge.allFeatured=n}},async fetchRecommendedWallets(){try{ge.isFetchingRecommendedWallets=!0;const{includeWalletIds:t,excludeWalletIds:e,featuredWalletIds:s}=$.state,n=[...e??[],...s??[]].filter(Boolean),r=w.getRequestedCaipNetworkIds().join(","),i={page:1,entries:Wu,include:t,exclude:n,chains:r},{data:o,count:a}=await Q.fetchWallets(i),c=M.getRecentWallets(),l=o.map(u=>u.image_id).filter(Boolean),d=c.map(u=>u.image_id).filter(Boolean);await Promise.allSettled([...l,...d].map(u=>Q._fetchWalletImage(u))),ge.recommended=o,ge.allRecommended=o,ge.count=a??0}catch{}finally{ge.isFetchingRecommendedWallets=!1}},async fetchWalletsByPage({page:t}){const{includeWalletIds:e,excludeWalletIds:s,featuredWalletIds:n}=$.state,r=w.getRequestedCaipNetworkIds().join(","),i=[...ge.recommended.map(({id:u})=>u),...s??[],...n??[]].filter(Boolean),o={page:t,entries:GC,include:e,exclude:i,chains:r},{data:a,count:c,mobileFilteredOutWalletsLength:l}=await Q.fetchWallets(o);ge.mobileFilteredOutWalletsLength=l+(ge.mobileFilteredOutWalletsLength??0);const d=a.slice(0,YC).map(u=>u.image_id).filter(Boolean);await Promise.allSettled(d.map(u=>Q._fetchWalletImage(u))),ge.wallets=Z.uniqueBy([...ge.wallets,...Q._filterOutExtensions(a)],"id").filter(u=>{var h;return(h=u.chains)==null?void 0:h.some(p=>r.includes(p))}),ge.count=c>ge.count?c:ge.count,ge.page=t},async initializeExcludedWallets({ids:t}){const e={page:1,entries:t.length,include:t},{data:s}=await Q.fetchWallets(e);s&&s.forEach(n=>{ge.excludedWallets.push({rdns:n.rdns,name:n.name})})},async searchWallet({search:t,badge:e}){const{includeWalletIds:s,excludeWalletIds:n}=$.state,r=w.getRequestedCaipNetworkIds().join(",");ge.search=[];const i={page:1,entries:100,search:t==null?void 0:t.trim(),badge_type:e,include:s,exclude:n,chains:r},{data:o}=await Q.fetchWallets(i);we.sendEvent({type:"track",event:"SEARCH_WALLET",properties:{badge:e??"",search:t??""}});const a=o.map(c=>c.image_id).filter(Boolean);await Promise.allSettled([...a.map(c=>Q._fetchWalletImage(c)),Z.wait(300)]),ge.search=Q._filterOutExtensions(o)},initPromise(t,e){const s=ge.promises[t];return s||(ge.promises[t]=e())},prefetch({fetchConnectorImages:t=!0,fetchFeaturedWallets:e=!0,fetchRecommendedWallets:s=!0,fetchNetworkImages:n=!0,fetchWalletRanks:r=!0}={}){const i=[t&&Q.initPromise("connectorImages",Q.fetchConnectorImages),e&&Q.initPromise("featuredWallets",Q.fetchFeaturedWallets),s&&Q.initPromise("recommendedWallets",Q.fetchRecommendedWallets),n&&Q.initPromise("networkImages",Q.fetchNetworkImages),r&&Q.initPromise("walletRanks",Q.prefetchWalletRanks)].filter(Boolean);return Promise.allSettled(i)},prefetchAnalyticsConfig(){var t;(t=$.state.features)!=null&&t.analytics&&Q.fetchAnalyticsConfig()},async fetchAnalyticsConfig(){try{const{isAnalyticsEnabled:t}=await xt.get({path:"/getAnalyticsConfig",params:Q._getSdkProperties()});$.setFeatures({analytics:t})}catch{$.setFeatures({analytics:!1})}},filterByNamespaces(t){if(!(t!=null&&t.length)){ge.featured=ge.allFeatured,ge.recommended=ge.allRecommended;return}const e=w.getRequestedCaipNetworkIds().join(",");ge.featured=ge.allFeatured.filter(s=>{var n;return(n=s.chains)==null?void 0:n.some(r=>e.includes(r))}),ge.recommended=ge.allRecommended.filter(s=>{var n;return(n=s.chains)==null?void 0:n.some(r=>e.includes(r))}),ge.filteredWallets=ge.wallets.filter(s=>{var n;return(n=s.chains)==null?void 0:n.some(r=>e.includes(r))})},clearFilterByNamespaces(){ge.filteredWallets=[]},setFilterByNamespace(t){if(!t){ge.featured=ge.allFeatured,ge.recommended=ge.allRecommended;return}const e=w.getRequestedCaipNetworkIds().join(",");ge.featured=ge.allFeatured.filter(s=>{var n;return(n=s.chains)==null?void 0:n.some(r=>e.includes(r))}),ge.recommended=ge.allRecommended.filter(s=>{var n;return(n=s.chains)==null?void 0:n.some(r=>e.includes(r))}),ge.filteredWallets=ge.wallets.filter(s=>{var n;return(n=s.chains)==null?void 0:n.some(r=>e.includes(r))})}},ZC=["ConnectingExternal","ConnectingMultiChain","ConnectingSocial","ConnectingFarcaster"],Me=Ke({view:"Connect",history:["Connect"],transactionStack:[]}),JC={state:Me,subscribeKey(t,e){return Et(Me,t,e)},pushTransactionStack(t){Me.transactionStack.push(t)},popTransactionStack(t){const e=Me.transactionStack.pop();if(!e)return;const{onSuccess:s,onError:n,onCancel:r}=e;switch(t){case"success":s==null||s();break;case"error":n==null||n(),le.goBack();break;case"cancel":r==null||r(),le.goBack();break}},push(t,e){let s=t,n=e;Q.state.plan.hasExceededUsageLimit&&ZC.includes(t)&&(s="UsageExceeded",n=void 0),s!==Me.view&&(Me.view=s,Me.history.push(s),Me.data=n)},reset(t,e){Me.view=t,Me.history=[t],Me.data=e},replace(t,e){Me.history.at(-1)===t||(Me.view=t,Me.history[Me.history.length-1]=t,Me.data=e)},goBack(){var n,r;const t=w.state.activeCaipAddress,e=le.state.view==="ConnectingFarcaster",s=!t&&e;if(Me.history.length>1){Me.history.pop();const[i]=Me.history.slice(-1);i&&(t&&i==="Connect"?Me.view="Account":Me.view=i)}else Ne.close();(n=Me.data)!=null&&n.wallet&&(Me.data.wallet=void 0),(r=Me.data)!=null&&r.redirectView&&(Me.data.redirectView=void 0),setTimeout(()=>{var i,o,a;if(s){w.setAccountProp("farcasterUrl",void 0,w.state.activeChain);const c=q.getAuthConnector();(i=c==null?void 0:c.provider)==null||i.reload();const l=Ji($.state);(a=(o=c==null?void 0:c.provider)==null?void 0:o.syncDappData)==null||a.call(o,{metadata:l.metadata,sdkVersion:l.sdkVersion,projectId:l.projectId,sdkType:l.sdkType})}},100)},goBackToIndex(t){if(Me.history.length>1){Me.history=Me.history.slice(0,t+1);const[e]=Me.history.slice(-1);e&&(Me.view=e)}},goBackOrCloseModal(){le.state.history.length>1?le.goBack():Ne.close()}},le=vs(JC),Xs=Ke({themeMode:"dark",themeVariables:{},w3mThemeVariables:void 0}),Sl={state:Xs,subscribe(t){return wt(Xs,()=>t(Xs))},setThemeMode(t){Xs.themeMode=t;try{const e=q.getAuthConnector();if(e){const s=Sl.getSnapshot().themeVariables;e.provider.syncTheme({themeMode:t,themeVariables:s,w3mThemeVariables:Yi(s,t)})}}catch{console.info("Unable to sync theme to auth connector")}},setThemeVariables(t){Xs.themeVariables={...Xs.themeVariables,...t};try{const e=q.getAuthConnector();if(e){const s=Sl.getSnapshot().themeVariables;e.provider.syncTheme({themeVariables:s,w3mThemeVariables:Yi(Xs.themeVariables,Xs.themeMode)})}}catch{console.info("Unable to sync theme to auth connector")}},getSnapshot(){return Ji(Xs)}},Ht=vs(Sl),qf=Object.fromEntries(ff.map(t=>[t,void 0])),XC=Object.fromEntries(ff.map(t=>[t,!0])),Oe=Ke({allConnectors:[],connectors:[],activeConnector:void 0,filterByNamespace:void 0,activeConnectorIds:qf,filterByNamespaceMap:XC}),QC={state:Oe,subscribe(t){return wt(Oe,()=>{t(Oe)})},subscribeKey(t,e){return Et(Oe,t,e)},initialize(t){t.forEach(e=>{const s=M.getConnectedConnectorId(e);s&&q.setConnectorId(s,e)})},setActiveConnector(t){t&&(Oe.activeConnector=Xi(t))},setConnectors(t){t.filter(r=>!Oe.allConnectors.some(i=>i.id===r.id&&q.getConnectorName(i.name)===q.getConnectorName(r.name)&&i.chain===r.chain)).forEach(r=>{r.type!=="MULTI_CHAIN"&&Oe.allConnectors.push(Xi(r))});const s=q.getEnabledNamespaces(),n=q.getEnabledConnectors(s);Oe.connectors=q.mergeMultiChainConnectors(n)},filterByNamespaces(t){Object.keys(Oe.filterByNamespaceMap).forEach(e=>{Oe.filterByNamespaceMap[e]=!1}),t.forEach(e=>{Oe.filterByNamespaceMap[e]=!0}),q.updateConnectorsForEnabledNamespaces()},filterByNamespace(t,e){Oe.filterByNamespaceMap[t]=e,q.updateConnectorsForEnabledNamespaces()},updateConnectorsForEnabledNamespaces(){const t=q.getEnabledNamespaces(),e=q.getEnabledConnectors(t),s=q.areAllNamespacesEnabled();Oe.connectors=q.mergeMultiChainConnectors(e),s?Q.clearFilterByNamespaces():Q.filterByNamespaces(t)},getEnabledNamespaces(){return Object.entries(Oe.filterByNamespaceMap).filter(([t,e])=>e).map(([t])=>t)},getEnabledConnectors(t){return Oe.allConnectors.filter(e=>t.includes(e.chain))},areAllNamespacesEnabled(){return Object.values(Oe.filterByNamespaceMap).every(t=>t)},mergeMultiChainConnectors(t){const e=q.generateConnectorMapByName(t),s=[];return e.forEach(n=>{const r=n[0],i=(r==null?void 0:r.id)===U.CONNECTOR_ID.AUTH;n.length>1&&r?s.push({name:r.name,imageUrl:r.imageUrl,imageId:r.imageId,connectors:[...n],type:i?"AUTH":"MULTI_CHAIN",chain:"eip155",id:(r==null?void 0:r.id)||""}):r&&s.push(r)}),s},generateConnectorMapByName(t){const e=new Map;return t.forEach(s=>{const{name:n}=s,r=q.getConnectorName(n);if(!r)return;const i=e.get(r)||[];i.find(a=>a.chain===s.chain)||i.push(s),e.set(r,i)}),e},getConnectorName(t){return t&&({"Trust Wallet":"Trust"}[t]||t)},getUniqueConnectorsByName(t){const e=[];return t.forEach(s=>{e.find(n=>n.chain===s.chain)||e.push(s)}),e},addConnector(t){var e,s,n;if(t.id===U.CONNECTOR_ID.AUTH){const r=t,i=Ji($.state),o=Ht.getSnapshot().themeMode,a=Ht.getSnapshot().themeVariables;(s=(e=r==null?void 0:r.provider)==null?void 0:e.syncDappData)==null||s.call(e,{metadata:i.metadata,sdkVersion:i.sdkVersion,projectId:i.projectId,sdkType:i.sdkType}),(n=r==null?void 0:r.provider)==null||n.syncTheme({themeMode:o,themeVariables:a,w3mThemeVariables:Yi(a,o)}),q.setConnectors([t])}else q.setConnectors([t])},getAuthConnector(t){var n;const e=t||w.state.activeChain,s=Oe.connectors.find(r=>r.id===U.CONNECTOR_ID.AUTH);if(s)return(n=s==null?void 0:s.connectors)!=null&&n.length?s.connectors.find(i=>i.chain===e):s},getAnnouncedConnectorRdns(){return Oe.connectors.filter(t=>t.type==="ANNOUNCED").map(t=>{var e;return(e=t.info)==null?void 0:e.rdns})},getConnectorById(t){return Oe.allConnectors.find(e=>e.id===t)},getConnector({id:t,namespace:e}){const s=e||w.state.activeChain;return Oe.allConnectors.filter(i=>i.chain===s).find(i=>i.id===t||i.explorerId===t)},syncIfAuthConnector(t){var i,o;if(t.id!=="AUTH")return;const e=t,s=Ji($.state),n=Ht.getSnapshot().themeMode,r=Ht.getSnapshot().themeVariables;(o=(i=e==null?void 0:e.provider)==null?void 0:i.syncDappData)==null||o.call(i,{metadata:s.metadata,sdkVersion:s.sdkVersion,sdkType:s.sdkType,projectId:s.projectId}),e.provider.syncTheme({themeMode:n,themeVariables:r,w3mThemeVariables:Yi(r,n)})},getConnectorsByNamespace(t){const e=Oe.allConnectors.filter(s=>s.chain===t);return q.mergeMultiChainConnectors(e)},canSwitchToSmartAccount(t){return w.checkIfSmartAccountEnabled()&&os(t)===et.ACCOUNT_TYPES.EOA},selectWalletConnector(t){var r;const e=(r=le.state.data)==null?void 0:r.redirectView,s=w.state.activeChain,n=s?q.getConnector({id:t.id,namespace:s}):void 0;DC.handleMobileDeeplinkRedirect((n==null?void 0:n.explorerId)||t.id,w.state.activeChain),n?le.push("ConnectingExternal",{connector:n,wallet:t,redirectView:e}):le.push("ConnectingWalletConnect",{wallet:t,redirectView:e})},getConnectors(t){return t?q.getConnectorsByNamespace(t):q.mergeMultiChainConnectors(Oe.allConnectors)},setFilterByNamespace(t){Oe.filterByNamespace=t,Oe.connectors=q.getConnectors(t),Q.setFilterByNamespace(t)},setConnectorId(t,e){t&&(Oe.activeConnectorIds={...Oe.activeConnectorIds,[e]:t},M.setConnectedConnectorId(e,t))},removeConnectorId(t){Oe.activeConnectorIds={...Oe.activeConnectorIds,[t]:void 0},M.deleteConnectedConnectorId(t)},getConnectorId(t){if(t)return Oe.activeConnectorIds[t]},isConnected(t){return t?!!Oe.activeConnectorIds[t]:Object.values(Oe.activeConnectorIds).some(e=>!!e)},resetConnectorIds(){Oe.activeConnectorIds={...qf}},extendConnectorsWithExplorerWallets(t){Oe.allConnectors.forEach(n=>{const r=t.find(i=>{var o;return i.id===n.id||i.rdns&&i.rdns===((o=n.info)==null?void 0:o.rdns)});r&&(n.explorerWallet=r)});const e=q.getEnabledNamespaces(),s=q.getEnabledConnectors(e);Oe.connectors=q.mergeMultiChainConnectors(s)}},q=vs(QC),ev=1e3,vi={checkNamespaceConnectorId(t,e){return q.getConnectorId(t)===e},isSocialProvider(t){return Ie.DEFAULT_REMOTE_FEATURES.socials.includes(t)},connectWalletConnect({walletConnect:t,connector:e,closeModalOnConnect:s=!0,redirectViewOnModalClose:n="Connect",onOpen:r,onConnect:i}){return new Promise((o,a)=>{if(t&&q.setActiveConnector(e),r==null||r(Z.isMobile()&&t),n){const l=Ne.subscribeKey("open",d=>{d||(le.state.view!==n&&le.replace(n),l(),a(new Error("Modal closed")))})}const c=w.subscribeKey("activeCaipAddress",l=>{l&&(i==null||i(),s&&Ne.close(),c(),o(ct.parseCaipAddress(l)))})})},connectExternal(t){return new Promise((e,s)=>{const n=w.subscribeKey("activeCaipAddress",r=>{r&&(Ne.close(),n(),e(ct.parseCaipAddress(r)))});K.connectExternal(t,t.chain).catch(()=>{n(),s(new Error("Connection rejected"))})})},connectSocial({social:t,namespace:e,closeModalOnConnect:s=!0,onOpenFarcaster:n,onConnect:r}){let i,o=!1,a=null;const c=e||w.state.activeChain,l=w.subscribeKey("activeCaipAddress",d=>{d&&(s&&Ne.close(),l())});return new Promise((d,u)=>{async function h(m){var f;if((f=m.data)!=null&&f.resultUri)if(m.origin===U.SECURE_SITE_SDK_ORIGIN){window.removeEventListener("message",h,!1);try{const y=q.getAuthConnector(c);if(y&&!o){i&&i.close(),o=!0;const b=m.data.resultUri;we.sendEvent({type:"track",event:"SOCIAL_LOGIN_REQUEST_USER_DATA",properties:{provider:t}}),M.setConnectedSocialProvider(t),await K.connectExternal({id:y.id,type:y.type,socialUri:b},y.chain);const S=w.state.activeCaipAddress;if(!S){u(new Error("Failed to connect"));return}d(ct.parseCaipAddress(S)),we.sendEvent({type:"track",event:"SOCIAL_LOGIN_SUCCESS",properties:{provider:t}})}}catch(y){we.sendEvent({type:"track",event:"SOCIAL_LOGIN_ERROR",properties:{provider:t,message:Z.parseError(y)}}),u(new Error("Failed to connect"))}}else we.sendEvent({type:"track",event:"SOCIAL_LOGIN_ERROR",properties:{provider:t,message:"Untrusted Origin"}})}async function p(){if(we.sendEvent({type:"track",event:"SOCIAL_LOGIN_STARTED",properties:{provider:t}}),t==="farcaster"){n==null||n();const m=Ne.subscribeKey("open",y=>{!y&&t==="farcaster"&&(u(new Error("Popup closed")),r==null||r(),m())}),f=q.getAuthConnector();if(f){const y=w.getAccountData(c);if(!(y!=null&&y.farcasterUrl))try{const{url:b}=await f.provider.getFarcasterUri();w.setAccountProp("farcasterUrl",b,c)}catch{u(new Error("Failed to connect to farcaster"))}}}else{const m=q.getAuthConnector();a=Z.returnOpenHref(`${U.SECURE_SITE_SDK_ORIGIN}/loading`,"popupWindow","width=600,height=800,scrollbars=yes");try{if(m){const{uri:f}=await m.provider.getSocialRedirectUri({provider:t});if(a&&f){a.location.href=f,i=a;const y=setInterval(()=>{i!=null&&i.closed&&!o&&(u(new Error("Popup closed")),clearInterval(y))},1e3);window.addEventListener("message",h,!1)}else a==null||a.close(),u(new Error("Failed to initiate social connection"))}}catch{u(new Error("Failed to initiate social connection")),a==null||a.close()}}}p()})},connectEmail({closeModalOnConnect:t=!0,redirectViewOnModalClose:e="Connect",onOpen:s,onConnect:n}){return new Promise((r,i)=>{if(s==null||s(),e){const a=Ne.subscribeKey("open",c=>{c||(le.state.view!==e&&le.replace(e),a(),i(new Error("Modal closed")))})}const o=w.subscribeKey("activeCaipAddress",a=>{a&&(n==null||n(),t&&Ne.close(),o(),r(ct.parseCaipAddress(a)))})})},async updateEmail(){const t=M.getConnectedConnectorId(w.state.activeChain),e=q.getAuthConnector();if(!e)throw new Error("No auth connector found");if(t!==U.CONNECTOR_ID.AUTH)throw new Error("Not connected to email or social");const s=e.provider.getEmail()??"";return await Ne.open({view:"UpdateEmailWallet",data:{email:s,redirectView:void 0}}),new Promise((n,r)=>{const i=setInterval(()=>{const a=e.provider.getEmail()??"";a!==s&&(Ne.close(),clearInterval(i),o(),n({email:a}))},ev),o=Ne.subscribeKey("open",a=>{a||(le.state.view!=="Connect"&&le.push("Connect"),clearInterval(i),o(),r(new Error("Modal closed")))})})},canSwitchToSmartAccount(t){return w.checkIfSmartAccountEnabled()&&os(t)===et.ACCOUNT_TYPES.EOA}};function Wf(){var n,r;const t=((n=w.state.activeCaipNetwork)==null?void 0:n.chainNamespace)||"eip155",e=((r=w.state.activeCaipNetwork)==null?void 0:r.id)||1,s=Ie.NATIVE_TOKEN_ADDRESS[t];return`${t}:${e}:${s}`}function os(t){var s;return(s=w.getAccountData(t))==null?void 0:s.preferredAccountType}function ki(t){var e,s;return t?(s=(e=w.state.chains.get(t))==null?void 0:e.networkState)==null?void 0:s.caipNetwork:w.state.activeCaipNetwork}const Ra={getConnectionStatus(t,e){const s=q.state.activeConnectorIds[e],n=K.getConnections(e);return!!s&&t.connectorId===s?"connected":n.some(o=>o.connectorId.toLowerCase()===t.connectorId.toLowerCase())?"active":"disconnected"},excludeConnectorAddressFromConnections({connections:t,connectorId:e,addresses:s}){return t.map(n=>{if((e?n.connectorId.toLowerCase()===e.toLowerCase():!1)&&s){const i=n.accounts.filter(o=>!s.some(c=>c.toLowerCase()===o.address.toLowerCase()));return{...n,accounts:i}}return n})},excludeExistingConnections(t,e){const s=new Set(t);return e.filter(n=>!s.has(n.connectorId))},getConnectionsByConnectorId(t,e){return t.filter(s=>s.connectorId.toLowerCase()===e.toLowerCase())},getConnectionsData(t){var a;const e=!!((a=$.state.remoteFeatures)!=null&&a.multiWallet),s=q.state.activeConnectorIds[t],n=K.getConnections(t),i=(K.state.recentConnections.get(t)??[]).filter(c=>q.getConnectorById(c.connectorId)),o=Ra.excludeExistingConnections([...n.map(c=>c.connectorId),...s?[s]:[]],i);return e?{connections:n,recentConnections:o}:{connections:n.filter(c=>c.connectorId.toLowerCase()===(s==null?void 0:s.toLowerCase())),recentConnections:[]}},onConnectMobile(t){const e=K.state.wcUri;if(t!=null&&t.mobile_link&&e)try{K.setWcError(!1);const{mobile_link:s,link_mode:n,name:r}=t,{redirect:i,redirectUniversalLink:o,href:a}=Z.formatNativeUrl(s,e,n),c=i,l=o,d=Z.isIframe()?"_top":"_self";K.setWcLinking({name:r,href:a}),K.setRecentWallet(t),$.state.experimental_preferUniversalLinks&&l?Z.openHref(l,d):Z.openHref(c,d)}catch(s){we.sendEvent({type:"track",event:"CONNECT_PROXY_ERROR",properties:{message:s instanceof Error?s.message:"Error parsing the deep link",uri:e,mobile_link:t.mobile_link,name:t.name}}),K.setWcError(!0)}}},Br=Ke({loading:!1,open:!1,selectedNetworkId:void 0,activeChain:void 0,initialized:!1,connectingWallet:void 0}),as={state:Br,subscribe(t){return wt(Br,()=>t(Br))},subscribeOpen(t){return Et(Br,"open",t)},set(t){Object.assign(Br,{...Br,...t})}},Ge=Ke({transactions:[],transactionsByYear:{},lastNetworkInView:void 0,loading:!1,empty:!1,next:void 0}),tv={state:Ge,subscribe(t){return wt(Ge,()=>t(Ge))},setLastNetworkInView(t){Ge.lastNetworkInView=t},async fetchTransactions(t){var e;if(!t)throw new Error("Transactions can't be fetched without an accountAddress");Ge.loading=!0;try{const s=await he.fetchTransactions({account:t,cursor:Ge.next,chainId:(e=w.state.activeCaipNetwork)==null?void 0:e.caipNetworkId}),n=da.filterSpamTransactions(s.data),r=da.filterByConnectedChain(n),i=[...Ge.transactions,...r];Ge.loading=!1,Ge.transactions=i,Ge.transactionsByYear=da.groupTransactionsByYearAndMonth(Ge.transactionsByYear,r),Ge.empty=i.length===0,Ge.next=s.next?s.next:void 0}catch{const n=w.state.activeChain;we.sendEvent({type:"track",event:"ERROR_FETCH_TRANSACTIONS",properties:{address:t,projectId:$.state.projectId,cursor:Ge.next,isSmartAccount:os(n)===et.ACCOUNT_TYPES.SMART_ACCOUNT}}),Ws.showError("Failed to fetch transactions"),Ge.loading=!1,Ge.empty=!0,Ge.next=void 0}},groupTransactionsByYearAndMonth(t={},e=[]){const s=t;return e.forEach(n=>{const r=new Date(n.metadata.minedAt).getFullYear(),i=new Date(n.metadata.minedAt).getMonth(),o=s[r]??{},c=(o[i]??[]).filter(l=>l.id!==n.id);s[r]={...o,[i]:[...c,n].sort((l,d)=>new Date(d.metadata.minedAt).getTime()-new Date(l.metadata.minedAt).getTime())}}),s},filterSpamTransactions(t){return t.filter(e=>{var n;return!((n=e.transfers)==null?void 0:n.every(r=>{var i;return((i=r.nft_info)==null?void 0:i.flags.is_spam)===!0}))})},filterByConnectedChain(t){var n;const e=(n=w.state.activeCaipNetwork)==null?void 0:n.caipNetworkId;return t.filter(r=>r.metadata.chain===e)},clearCursor(){Ge.next=void 0},resetTransactions(){Ge.transactions=[],Ge.transactionsByYear={},Ge.lastNetworkInView=void 0,Ge.loading=!1,Ge.empty=!1,Ge.next=void 0}},da=vs(tv,"API_ERROR"),Se=Ke({connections:new Map,recentConnections:new Map,isSwitchingConnection:!1,wcError:!1,wcFetchingUri:!1,buffering:!1,status:"disconnected"});let tr;const sv={state:Se,subscribe(t){return wt(Se,()=>t(Se))},subscribeKey(t,e){return Et(Se,t,e)},_getClient(){return Se._client},setClient(t){Se._client=Xi(t)},initialize(t){const e=t.filter(s=>!!s.namespace).map(s=>s.namespace);K.syncStorageConnections(e)},syncStorageConnections(t){const e=M.getConnections(),s=t??Array.from(w.state.chains.keys());for(const n of s){const r=e[n]??[],i=new Map(Se.recentConnections);i.set(n,r),Se.recentConnections=i}},getConnections(t){return t?Se.connections.get(t)??[]:[]},hasAnyConnection(t){const e=K.state.connections;return Array.from(e.values()).flatMap(s=>s).some(({connectorId:s})=>s===t)},async connectWalletConnect({cache:t="auto"}={}){var s,n,r,i;Se.wcFetchingUri=!0;const e=Z.isTelegram()||Z.isSafari()&&Z.isIos();if(t==="always"||t==="auto"&&e){if(tr){await tr,tr=void 0;return}if(!Z.isPairingExpired(Se==null?void 0:Se.wcPairingExpiry)){const o=Se.wcUri;Se.wcUri=o;return}tr=(n=(s=K._getClient())==null?void 0:s.connectWalletConnect)==null?void 0:n.call(s).catch(()=>{}),K.state.status="connecting",await tr,tr=void 0,Se.wcPairingExpiry=void 0,K.state.status="connected"}else await((i=(r=K._getClient())==null?void 0:r.connectWalletConnect)==null?void 0:i.call(r))},async connectExternal(t,e,s=!0){var o,a,c;const n=await((a=(o=K._getClient())==null?void 0:o.connectExternal)==null?void 0:a.call(o,t));s&&w.setActiveNamespace(e);const r=q.state.allConnectors.find(l=>l.id===(t==null?void 0:t.id)),i=t.type==="AUTH"?"email":"browser";return we.sendEvent({type:"track",event:"CONNECT_SUCCESS",properties:{method:i,name:(r==null?void 0:r.name)||"Unknown",view:le.state.view,walletRank:(c=r==null?void 0:r.explorerWallet)==null?void 0:c.order}}),n},async reconnectExternal(t){var s,n;await((n=(s=K._getClient())==null?void 0:s.reconnectExternal)==null?void 0:n.call(s,t));const e=t.chain||w.state.activeChain;e&&q.setConnectorId(t.id,e)},async setPreferredAccountType(t,e){var n;if(!e)return;Ne.setLoading(!0,w.state.activeChain);const s=q.getAuthConnector();s&&(w.setAccountProp("preferredAccountType",t,e),await s.provider.setPreferredAccount(t),M.setPreferredAccountTypes(Object.entries(w.state.chains).reduce((r,[i,o])=>{const a=i,c=os(a);return c!==void 0&&(r[a]=c),r},{})),await K.reconnectExternal(s),Ne.setLoading(!1,w.state.activeChain),we.sendEvent({type:"track",event:"SET_PREFERRED_ACCOUNT_TYPE",properties:{accountType:t,network:((n=w.state.activeCaipNetwork)==null?void 0:n.caipNetworkId)||""}}))},async signMessage(t){var e;return(e=K._getClient())==null?void 0:e.signMessage(t)},parseUnits(t,e){var s;return(s=K._getClient())==null?void 0:s.parseUnits(t,e)},formatUnits(t,e){var s;return(s=K._getClient())==null?void 0:s.formatUnits(t,e)},updateBalance(t){var e;return(e=K._getClient())==null?void 0:e.updateBalance(t)},async sendTransaction(t){var e;return(e=K._getClient())==null?void 0:e.sendTransaction(t)},async getCapabilities(t){var e;return(e=K._getClient())==null?void 0:e.getCapabilities(t)},async grantPermissions(t){var e;return(e=K._getClient())==null?void 0:e.grantPermissions(t)},async walletGetAssets(t){var e;return((e=K._getClient())==null?void 0:e.walletGetAssets(t))??{}},async estimateGas(t){var e;return(e=K._getClient())==null?void 0:e.estimateGas(t)},async writeContract(t){var e;return(e=K._getClient())==null?void 0:e.writeContract(t)},async getEnsAddress(t){var e;return(e=K._getClient())==null?void 0:e.getEnsAddress(t)},async getEnsAvatar(t){var e;return(e=K._getClient())==null?void 0:e.getEnsAvatar(t)},checkInstalled(t){var e,s;return((s=(e=K._getClient())==null?void 0:e.checkInstalled)==null?void 0:s.call(e,t))||!1},resetWcConnection(){Se.wcUri=void 0,Se.wcPairingExpiry=void 0,Se.wcLinking=void 0,Se.recentWallet=void 0,Se.wcFetchingUri=!1,Se.status="disconnected",da.resetTransactions(),M.deleteWalletConnectDeepLink(),M.deleteRecentWallet(),as.set({connectingWallet:void 0})},resetUri(){Se.wcUri=void 0,Se.wcPairingExpiry=void 0,tr=void 0,Se.wcFetchingUri=!1,as.set({connectingWallet:void 0})},finalizeWcConnection(t){var n,r;const{wcLinking:e,recentWallet:s}=K.state;e&&M.setWalletConnectDeepLink(e),s&&M.setAppKitRecent(s),t&&we.sendEvent({type:"track",event:"CONNECT_SUCCESS",address:t,properties:{method:e?"mobile":"qrcode",name:((r=(n=le.state.data)==null?void 0:n.wallet)==null?void 0:r.name)||"Unknown",view:le.state.view,walletRank:s==null?void 0:s.order}})},setWcBasic(t){Se.wcBasic=t},setUri(t){Se.wcUri=t,Se.wcFetchingUri=!1,Se.wcPairingExpiry=Z.getPairingExpiry()},setWcLinking(t){Se.wcLinking=t},setWcError(t){Se.wcError=t,Se.wcFetchingUri=!1,Se.buffering=!1},setRecentWallet(t){Se.recentWallet=t},setBuffering(t){Se.buffering=t},setStatus(t){Se.status=t},setIsSwitchingConnection(t){Se.isSwitchingConnection=t},async disconnect({id:t,namespace:e,initialDisconnect:s}={}){var n;try{await((n=K._getClient())==null?void 0:n.disconnect({id:t,chainNamespace:e,initialDisconnect:s}))}catch(r){throw new Nr("Failed to disconnect","INTERNAL_SDK_ERROR",r)}},async disconnectConnector({id:t,namespace:e}){var s;try{await((s=K._getClient())==null?void 0:s.disconnectConnector({id:t,namespace:e}))}catch(n){throw new Nr("Failed to disconnect connector","INTERNAL_SDK_ERROR",n)}},setConnections(t,e){const s=new Map(Se.connections);s.set(e,t),Se.connections=s},async handleAuthAccountSwitch({address:t,namespace:e}){var i,o;const s=w.getAccountData(e),n=(o=(i=s==null?void 0:s.user)==null?void 0:i.accounts)==null?void 0:o.find(a=>a.type==="smartAccount"),r=n&&n.address.toLowerCase()===t.toLowerCase()&&vi.canSwitchToSmartAccount(e)?"smartAccount":"eoa";await K.setPreferredAccountType(r,e)},async handleActiveConnection({connection:t,namespace:e,address:s}){const n=q.getConnectorById(t.connectorId),r=t.connectorId===U.CONNECTOR_ID.AUTH;if(!n)throw new Error(`No connector found for connection: ${t.connectorId}`);if(r)s&&await K.handleAuthAccountSwitch({address:s,namespace:e});else{const i=await K.connectExternal({id:n.id,type:n.type,provider:n.provider,address:s,chain:e},e);return i==null?void 0:i.address}return s},async handleDisconnectedConnection({connection:t,namespace:e,address:s,closeModalOnConnect:n}){var l,d;const r=q.getConnectorById(t.connectorId),i=(d=(l=t.auth)==null?void 0:l.name)==null?void 0:d.toLowerCase(),o=t.connectorId===U.CONNECTOR_ID.AUTH,a=t.connectorId===U.CONNECTOR_ID.WALLET_CONNECT;if(!r)throw new Error(`No connector found for connection: ${t.connectorId}`);let c;if(o)if(i&&vi.isSocialProvider(i)){const{address:u}=await vi.connectSocial({social:i,closeModalOnConnect:n,onOpenFarcaster(){Ne.open({view:"ConnectingFarcaster"})},onConnect(){le.replace("ProfileWallets")}});c=u}else{const{address:u}=await vi.connectEmail({closeModalOnConnect:n,onOpen(){Ne.open({view:"EmailLogin"})},onConnect(){le.replace("ProfileWallets")}});c=u}else if(a){const{address:u}=await vi.connectWalletConnect({walletConnect:!0,connector:r,closeModalOnConnect:n,onOpen(h){const p=h?"AllWallets":"ConnectingWalletConnect";Ne.state.open?le.push(p):Ne.open({view:p})},onConnect(){le.replace("ProfileWallets")}});c=u}else{const u=await K.connectExternal({id:r.id,type:r.type,provider:r.provider,chain:e},e);u&&(c=u.address)}return o&&s&&await K.handleAuthAccountSwitch({address:s,namespace:e}),c},async switchConnection({connection:t,address:e,namespace:s,closeModalOnConnect:n,onChange:r}){var c;let i;const o=(c=w.getAccountData(s))==null?void 0:c.caipAddress;if(o){const{address:l}=ct.parseCaipAddress(o);i=l}const a=Ra.getConnectionStatus(t,s);switch(a){case"connected":case"active":{const l=await K.handleActiveConnection({connection:t,namespace:s,address:e});if(i&&l){const d=l.toLowerCase()!==i.toLowerCase();r==null||r({address:l,namespace:s,hasSwitchedAccount:d,hasSwitchedWallet:a==="active"})}break}case"disconnected":{const l=await K.handleDisconnectedConnection({connection:t,namespace:s,address:e,closeModalOnConnect:n});l&&(r==null||r({address:l,namespace:s,hasSwitchedAccount:!0,hasSwitchedWallet:!0}));break}default:throw new Error(`Invalid connection status: ${a}`)}}},K=vs(sv),bc={createBalance(t,e){const s={name:t.metadata.name||"",symbol:t.metadata.symbol||"",decimals:t.metadata.decimals||0,value:t.metadata.value||0,price:t.metadata.price||0,iconUrl:t.metadata.iconUrl||""};return{name:s.name,symbol:s.symbol,chainId:e,address:t.address==="native"?void 0:this.convertAddressToCAIP10Address(t.address,e),value:s.value,price:s.price,quantity:{decimals:s.decimals.toString(),numeric:this.convertHexToBalance({hex:t.balance,decimals:s.decimals})},iconUrl:s.iconUrl}},convertHexToBalance({hex:t,decimals:e}){return gf(BigInt(t),e)},convertAddressToCAIP10Address(t,e){return`${e}:${t}`},createCAIP2ChainId(t,e){return`${e}:${parseInt(t,16)}`},getChainIdHexFromCAIP2ChainId(t){const e=t.split(":");if(e.length<2||!e[1])return"0x0";const s=e[1],n=parseInt(s,10);return isNaN(n)?"0x0":`0x${n.toString(16)}`},isWalletGetAssetsResponse(t){return typeof t!="object"||t===null?!1:Object.values(t).every(e=>Array.isArray(e)&&e.every(s=>this.isValidAsset(s)))},isValidAsset(t){return typeof t=="object"&&t!==null&&typeof t.address=="string"&&typeof t.balance=="string"&&(t.type==="ERC20"||t.type==="NATIVE")&&typeof t.metadata=="object"&&t.metadata!==null&&typeof t.metadata.name=="string"&&typeof t.metadata.symbol=="string"&&typeof t.metadata.decimals=="number"&&typeof t.metadata.price=="number"&&typeof t.metadata.iconUrl=="string"}};let Cc;async function Hu(){if(!Cc){const{createPublicClient:t,http:e,defineChain:s}=await kt(async()=>{const{createPublicClient:n,http:r,defineChain:i}=await import("./index-D_sOL50h.js");return{createPublicClient:n,http:r,defineChain:i}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));Cc={createPublicClient:t,http:e,defineChain:s}}return Cc}const Il={getBlockchainApiRpcUrl(t,e){const s=new URL("https://rpc.walletconnect.org/v1/");return s.searchParams.set("chainId",t),s.searchParams.set("projectId",e),s.toString()},async getViemChain(t){const{defineChain:e}=await Hu(),{chainId:s}=ct.parseCaipNetworkId(t.caipNetworkId);return e({...t,id:Number(s)})},async createViemPublicClient(t){const{createPublicClient:e,http:s}=await Hu(),n=$.state.projectId,r=await Il.getViemChain(t);if(!r)throw new Error(`Chain ${t.caipNetworkId} not found in viem/chains`);return e({chain:r,transport:s(Il.getBlockchainApiRpcUrl(t.caipNetworkId,n))})}},_d={async getMyTokensWithBalance(t){var a;const e=(a=w.getAccountData())==null?void 0:a.address,s=w.state.activeCaipNetwork,n=q.getConnectorId("eip155")===U.CONNECTOR_ID.AUTH;if(!e||!s)return[];const r=`${s.caipNetworkId}:${e}`,i=M.getBalanceCacheForCaipAddress(r);if(i)return i.balances;if(s.chainNamespace===U.CHAIN.EVM&&n){const c=await this.getEIP155Balances(e,s);if(c)return this.filterLowQualityTokens(c)}const o=await he.getBalance(e,s.caipNetworkId,t);return this.filterLowQualityTokens(o.balances)},async getEIP155Balances(t,e){var s,n;try{const r=bc.getChainIdHexFromCAIP2ChainId(e.caipNetworkId),i=await K.getCapabilities(t);if(!((n=(s=i==null?void 0:i[r])==null?void 0:s.assetDiscovery)!=null&&n.supported))return null;const o=await K.walletGetAssets({account:t,chainFilter:[r]});if(!bc.isWalletGetAssetsResponse(o))return null;const c=(o[r]||[]).map(l=>bc.createBalance(l,e.caipNetworkId));return M.updateBalanceCache({caipAddress:`${e.caipNetworkId}:${t}`,balance:{balances:c},timestamp:Date.now()}),c}catch{return null}},filterLowQualityTokens(t){return t.filter(e=>e.quantity.decimals!=="0")},async fetchERC20Balance({caipAddress:t,assetAddress:e,caipNetwork:s}){const n=await Il.createViemPublicClient(s),{address:r}=ct.parseCaipAddress(t),[{result:i},{result:o},{result:a},{result:c}]=await n.multicall({contracts:[{address:e,functionName:"name",args:[],abi:Do},{address:e,functionName:"symbol",args:[],abi:Do},{address:e,functionName:"balanceOf",args:[r],abi:Do},{address:e,functionName:"decimals",args:[],abi:Do}]});return{name:i,symbol:o,decimals:c,balance:a&&c?gf(a,c):"0"}}},vc={adapters:{}},Hf={state:vc,initialize(t){vc.adapters={...t}},get(t){return vc.adapters[t]}},Oa={eip155:void 0,solana:void 0,polkadot:void 0,bip122:void 0,cosmos:void 0,sui:void 0,stacks:void 0,ton:void 0},jt=Ke({providers:{...Oa},providerIds:{...Oa}}),He={state:jt,subscribeKey(t,e){return Et(jt,t,e)},subscribe(t){return wt(jt,()=>{t(jt)})},subscribeProviders(t){return wt(jt.providers,()=>t(jt.providers))},setProvider(t,e){t&&e&&(jt.providers[t]=Xi(e))},getProvider(t){if(t)return jt.providers[t]},setProviderId(t,e){e&&(jt.providerIds[t]=e)},getProviderId(t){if(t)return jt.providerIds[t]},reset(){jt.providers={...Oa},jt.providerIds={...Oa}},resetChain(t){jt.providers[t]=void 0,jt.providerIds[t]=void 0}},nv={async getTokenList(t){var n;const e=await he.fetchSwapTokens({chainId:t});return((n=e==null?void 0:e.tokens)==null?void 0:n.map(r=>({...r,eip2612:!1,quantity:{decimals:"0",numeric:"0"},price:0,value:0})))||[]},async fetchGasPrice(){var e;const t=w.state.activeCaipNetwork;if(!t)return null;try{switch(t.chainNamespace){case"solana":const s=(e=await(K==null?void 0:K.estimateGas({chainNamespace:"solana"})))==null?void 0:e.toString();return{standard:s,fast:s,instant:s};case"eip155":default:return await he.fetchGasPrice({chainId:t.caipNetworkId})}}catch{return null}},async fetchSwapAllowance({tokenAddress:t,userAddress:e,sourceTokenAmount:s,sourceTokenDecimals:n}){const r=await he.fetchSwapAllowance({tokenAddress:t,userAddress:e});if(r!=null&&r.allowance&&s&&n){const i=K.parseUnits(s,n)||0;return BigInt(r.allowance)>=i}return!1},async getMyTokensWithBalance(t){const e=await _d.getMyTokensWithBalance(t);return w.setAccountProp("tokenBalance",e,w.state.activeChain),this.mapBalancesToSwapTokens(e)},mapBalancesToSwapTokens(t){return(t==null?void 0:t.map(e=>({...e,address:e!=null&&e.address?e.address:Wf(),decimals:parseInt(e.quantity.decimals,10),logoUri:e.iconUrl,eip2612:!1})))||[]},async handleSwapError(t){var e,s;try{const n=t==null?void 0:t.cause;if(!(n!=null&&n.json))return;const r=await n.json(),i=(s=(e=r==null?void 0:r.reasons)==null?void 0:e[0])==null?void 0:s.description;return i!=null&&i.includes("insufficient liquidity")?"Insufficient liquidity":void 0}catch{return}}},Pe=Ke({tokenBalances:[],loading:!1}),rv={state:Pe,subscribe(t){return wt(Pe,()=>t(Pe))},subscribeKey(t,e){return Et(Pe,t,e)},setToken(t){t&&(Pe.token=Xi(t))},setTokenAmount(t){Pe.sendTokenAmount=t},setReceiverAddress(t){Pe.receiverAddress=t},setReceiverProfileImageUrl(t){Pe.receiverProfileImageUrl=t},setReceiverProfileName(t){Pe.receiverProfileName=t},setNetworkBalanceInUsd(t){Pe.networkBalanceInUSD=t},setLoading(t){Pe.loading=t},getSdkEventProperties(t){var e,s;return{message:Z.parseError(t),isSmartAccount:os(w.state.activeChain)===et.ACCOUNT_TYPES.SMART_ACCOUNT,token:((e=Pe.token)==null?void 0:e.symbol)||"",amount:Pe.sendTokenAmount??0,network:((s=w.state.activeCaipNetwork)==null?void 0:s.caipNetworkId)||""}},async sendToken(){var t;try{switch(_e.setLoading(!0),(t=w.state.activeCaipNetwork)==null?void 0:t.chainNamespace){case"eip155":await _e.sendEvmToken();return;case"solana":await _e.sendSolanaToken();return;default:throw new Error("Unsupported chain")}}catch(e){throw un.isUserRejectedRequestError(e)?new _f(e):e}finally{_e.setLoading(!1)}},async sendEvmToken(){var s,n,r;const t=w.state.activeChain;if(!t)throw new Error("SendController:sendEvmToken - activeChainNamespace is required");const e=os(t);if(!_e.state.sendTokenAmount||!_e.state.receiverAddress)throw new Error("An amount and receiver address are required");if(!_e.state.token)throw new Error("A token is required");if((s=_e.state.token)!=null&&s.address){we.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===et.ACCOUNT_TYPES.SMART_ACCOUNT,token:_e.state.token.address,amount:_e.state.sendTokenAmount,network:((n=w.state.activeCaipNetwork)==null?void 0:n.caipNetworkId)||""}});const{hash:i}=await _e.sendERC20Token({receiverAddress:_e.state.receiverAddress,tokenAddress:_e.state.token.address,sendTokenAmount:_e.state.sendTokenAmount,decimals:_e.state.token.quantity.decimals});i&&(Pe.hash=i)}else{we.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===et.ACCOUNT_TYPES.SMART_ACCOUNT,token:_e.state.token.symbol||"",amount:_e.state.sendTokenAmount,network:((r=w.state.activeCaipNetwork)==null?void 0:r.caipNetworkId)||""}});const{hash:i}=await _e.sendNativeToken({receiverAddress:_e.state.receiverAddress,sendTokenAmount:_e.state.sendTokenAmount,decimals:_e.state.token.quantity.decimals});i&&(Pe.hash=i)}},async fetchTokenBalance(t){var o,a,c;Pe.loading=!0;const e=w.state.activeChain,s=(o=w.state.activeCaipNetwork)==null?void 0:o.caipNetworkId,n=(a=w.state.activeCaipNetwork)==null?void 0:a.chainNamespace,r=((c=w.getAccountData(e))==null?void 0:c.caipAddress)??w.state.activeCaipAddress,i=r?Z.getPlainAddress(r):void 0;if(Pe.lastRetry&&!Z.isAllowedRetry(Pe.lastRetry,30*Ie.ONE_SEC_MS))return Pe.loading=!1,[];try{if(i&&s&&n){const l=await _d.getMyTokensWithBalance();return Pe.tokenBalances=l,Pe.lastRetry=void 0,l}}catch(l){Pe.lastRetry=Date.now(),t==null||t(l),Ws.showError("Token Balance Unavailable")}finally{Pe.loading=!1}return[]},fetchNetworkBalance(){if(Pe.tokenBalances.length===0)return;const t=nv.mapBalancesToSwapTokens(Pe.tokenBalances);if(!t)return;const e=t.find(s=>s.address===Wf());e&&(Pe.networkBalanceInUSD=e?Gy.multiply(e.quantity.numeric,e.price).toString():"0")},async sendNativeToken(t){var o,a,c,l;le.pushTransactionStack({});const e=t.receiverAddress,s=(o=w.getAccountData())==null?void 0:o.address,n=K.parseUnits(t.sendTokenAmount.toString(),Number(t.decimals)),i=await K.sendTransaction({chainNamespace:U.CHAIN.EVM,to:e,address:s,data:"0x",value:n??BigInt(0)});return we.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:os("eip155")===et.ACCOUNT_TYPES.SMART_ACCOUNT,token:((a=_e.state.token)==null?void 0:a.symbol)||"",amount:t.sendTokenAmount,network:((c=w.state.activeCaipNetwork)==null?void 0:c.caipNetworkId)||"",hash:i||""}}),(l=K._getClient())==null||l.updateBalance("eip155"),_e.resetSend(),{hash:i}},async sendERC20Token(t){var n,r,i;le.pushTransactionStack({onSuccess(){le.replace("Account")}});const e=K.parseUnits(t.sendTokenAmount.toString(),Number(t.decimals)),s=(n=w.getAccountData())==null?void 0:n.address;if(s&&t.sendTokenAmount&&t.receiverAddress&&t.tokenAddress){const o=Z.getPlainAddress(t.tokenAddress);if(!o)throw new Error("SendController:sendERC20Token - tokenAddress is required");const a=await K.writeContract({fromAddress:s,tokenAddress:o,args:[t.receiverAddress,e??BigInt(0)],method:"transfer",abi:Xy.getERC20Abi(o),chainNamespace:U.CHAIN.EVM});return we.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:os("eip155")===et.ACCOUNT_TYPES.SMART_ACCOUNT,token:((r=_e.state.token)==null?void 0:r.symbol)||"",amount:t.sendTokenAmount,network:((i=w.state.activeCaipNetwork)==null?void 0:i.caipNetworkId)||"",hash:a||""}}),_e.resetSend(),{hash:a}}return{hash:void 0}},async sendSolanaToken(){var s,n,r;if(!_e.state.sendTokenAmount||!_e.state.receiverAddress)throw new Error("An amount and receiver address are required");le.pushTransactionStack({onSuccess(){le.replace("Account")}});let t;_e.state.token&&_e.state.token.address!==Ie.SOLANA_NATIVE_TOKEN_ADDRESS&&(Z.isCaipAddress(_e.state.token.address)?t=Z.getPlainAddress(_e.state.token.address):t=_e.state.token.address);const e=await K.sendTransaction({chainNamespace:"solana",tokenMint:t,to:_e.state.receiverAddress,value:_e.state.sendTokenAmount});e&&(Pe.hash=e),(s=K._getClient())==null||s.updateBalance("solana"),we.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:!1,token:((n=_e.state.token)==null?void 0:n.symbol)||"",amount:_e.state.sendTokenAmount,network:((r=w.state.activeCaipNetwork)==null?void 0:r.caipNetworkId)||"",hash:e||""}}),_e.resetSend()},resetSend(){Pe.token=void 0,Pe.sendTokenAmount=void 0,Pe.receiverAddress=void 0,Pe.receiverProfileImageUrl=void 0,Pe.receiverProfileName=void 0,Pe.loading=!1,Pe.tokenBalances=[]}},_e=vs(rv),_c={currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,user:void 0,preferredAccountType:void 0},Vo={caipNetwork:void 0,supportsAllNetworks:!0,smartAccountEnabledNetworks:[]},J=Ke({chains:hw(),activeCaipAddress:void 0,activeChain:void 0,activeCaipNetwork:void 0,noAdapters:!1,universalAdapter:{connectionControllerClient:void 0},isSwitchingNamespace:!1}),Vf={state:J,subscribe(t){return wt(J,()=>{t(J)})},subscribeKey(t,e){return Et(J,t,e)},subscribeAccountStateProp(t,e,s){var r;const n=s||J.activeChain;return n?Et(((r=J.chains.get(n))==null?void 0:r.accountState)||{},t,e):()=>{}},subscribeChainProp(t,e,s){let n;return wt(J.chains,()=>{var i;const r=s||J.activeChain;if(r){const o=(i=J.chains.get(r))==null?void 0:i[t];n!==o&&(n=o,e(o))}})},initialize(t,e,s){const{chainId:n,namespace:r}=M.getActiveNetworkProps(),i=e==null?void 0:e.find(d=>d.id.toString()===(n==null?void 0:n.toString())),a=t.find(d=>(d==null?void 0:d.namespace)===r)||(t==null?void 0:t[0]),c=t.map(d=>d.namespace).filter(d=>d!==void 0),l=$.state.enableEmbedded?new Set([...c]):new Set([...(e==null?void 0:e.map(d=>d.chainNamespace))??[]]);((t==null?void 0:t.length)===0||!a)&&(J.noAdapters=!0),J.noAdapters||(J.activeChain=a==null?void 0:a.namespace,J.activeCaipNetwork=i,w.setChainNetworkData(a==null?void 0:a.namespace,{caipNetwork:i}),J.activeChain&&as.set({activeChain:a==null?void 0:a.namespace})),l.forEach(d=>{const u=e==null?void 0:e.filter(m=>m.chainNamespace===d),h=M.getPreferredAccountTypes()||{},p={...$.state.defaultAccountTypes,...h};w.state.chains.set(d,{namespace:d,networkState:Ke({...Vo,caipNetwork:u==null?void 0:u[0]}),accountState:Ke({..._c,preferredAccountType:p[d]}),caipNetworks:u??[],...s}),w.setRequestedCaipNetworks(u??[],d)})},removeAdapter(t){var e,s;if(J.activeChain===t){const n=Array.from(J.chains.entries()).find(([r])=>r!==t);if(n){const r=(s=(e=n[1])==null?void 0:e.caipNetworks)==null?void 0:s[0];r&&w.setActiveCaipNetwork(r)}}J.chains.delete(t)},addAdapter(t,{connectionControllerClient:e},s){if(!t.namespace)throw new Error("ChainController:addAdapter - adapter must have a namespace");J.chains.set(t.namespace,{namespace:t.namespace,networkState:{...Vo,caipNetwork:s[0]},accountState:{..._c},caipNetworks:s,connectionControllerClient:e}),w.setRequestedCaipNetworks((s==null?void 0:s.filter(n=>n.chainNamespace===t.namespace))??[],t.namespace)},addNetwork(t){var s;const e=J.chains.get(t.chainNamespace);if(e){const n=[...e.caipNetworks||[]];(s=e.caipNetworks)!=null&&s.find(r=>r.id===t.id)||n.push(t),J.chains.set(t.chainNamespace,{...e,caipNetworks:n}),w.setRequestedCaipNetworks(n,t.chainNamespace),q.filterByNamespace(t.chainNamespace,!0)}},removeNetwork(t,e){var n,r,i;const s=J.chains.get(t);if(s){const o=((n=J.activeCaipNetwork)==null?void 0:n.id)===e,a=[...((r=s.caipNetworks)==null?void 0:r.filter(c=>c.id!==e))||[]];o&&((i=s==null?void 0:s.caipNetworks)!=null&&i[0])&&w.setActiveCaipNetwork(s.caipNetworks[0]),J.chains.set(t,{...s,caipNetworks:a}),w.setRequestedCaipNetworks(a||[],t),a.length===0&&q.filterByNamespace(t,!1)}},setAdapterNetworkState(t,e){const s=J.chains.get(t);s&&(s.networkState={...s.networkState||Vo,...e},J.chains.set(t,s))},setChainAccountData(t,e,s=!0){if(!t)throw new Error("Chain is required to update chain account data");const n=J.chains.get(t);if(n){const r={...n.accountState||_c,...e};J.chains.set(t,{...n,accountState:r}),(J.chains.size===1||J.activeChain===t)&&e.caipAddress&&(J.activeCaipAddress=e.caipAddress)}},setChainNetworkData(t,e){if(!t)return;const s=J.chains.get(t);if(s){const n={...s.networkState||Vo,...e};J.chains.set(t,{...s,networkState:n})}},setAccountProp(t,e,s,n=!0){w.setChainAccountData(s,{[t]:e},n)},setActiveNamespace(t){var n,r;J.activeChain=t;const e=t?J.chains.get(t):void 0,s=(n=e==null?void 0:e.networkState)==null?void 0:n.caipNetwork;s!=null&&s.id&&t&&(J.activeCaipAddress=(r=e==null?void 0:e.accountState)==null?void 0:r.caipAddress,J.activeCaipNetwork=s,w.setChainNetworkData(t,{caipNetwork:s}),M.setActiveCaipNetworkId(s==null?void 0:s.caipNetworkId),as.set({activeChain:t,selectedNetworkId:s==null?void 0:s.caipNetworkId}))},setActiveCaipNetwork(t){var i,o;if(!t)return;const e=J.activeChain===t.chainNamespace;e||w.setIsSwitchingNamespace(!0);const s=J.chains.get(t.chainNamespace);J.activeChain=t.chainNamespace,J.activeCaipNetwork=t,w.setChainNetworkData(t.chainNamespace,{caipNetwork:t});let n=(i=s==null?void 0:s.accountState)==null?void 0:i.address;if(n)J.activeCaipAddress=`${t.chainNamespace}:${t.id}:${n}`;else if(e&&J.activeCaipAddress){const{address:a}=ct.parseCaipAddress(J.activeCaipAddress);n=a,J.activeCaipAddress=`${t.caipNetworkId}:${n}`}else J.activeCaipAddress=void 0;w.setChainAccountData(t.chainNamespace,{address:n,caipAddress:J.activeCaipAddress}),_e.resetSend(),as.set({activeChain:J.activeChain,selectedNetworkId:(o=J.activeCaipNetwork)==null?void 0:o.caipNetworkId}),M.setActiveCaipNetworkId(t.caipNetworkId),!w.checkIfSupportedNetwork(t.chainNamespace)&&$.state.enableNetworkSwitch&&!$.state.allowUnsupportedChain&&!K.state.wcBasic&&w.showUnsupportedChainUI()},addCaipNetwork(t){var s;if(!t)return;const e=J.chains.get(t.chainNamespace);e&&((s=e==null?void 0:e.caipNetworks)==null||s.push(t))},async switchActiveNamespace(t){var r;if(!t)return;const e=t!==w.state.activeChain,s=(r=w.getNetworkData(t))==null?void 0:r.caipNetwork,n=w.getCaipNetworkByNamespace(t,s==null?void 0:s.id);e&&n&&await w.switchActiveNetwork(n)},async switchActiveNetwork(t,{throwOnFailure:e=!1}={}){var o;const s=w.state.activeChain;if(!s)throw new Error("ChainController:switchActiveNetwork - namespace is required");const n=He.getProviderId(J.activeChain)==="AUTH",r=(o=w.getAccountData(s))==null?void 0:o.address,i=U.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(t.chainNamespace);try{if(r&&t.chainNamespace===s||n&&i){const a=Hf.get(t.chainNamespace);if(!a)throw new Error("Adapter not found");await a.switchNetwork({caipNetwork:t})}w.setActiveCaipNetwork(t)}catch(a){if(e)throw a}we.sendEvent({type:"track",event:"SWITCH_NETWORK",properties:{network:t.caipNetworkId}})},getConnectionControllerClient(t){const e=t||J.activeChain;if(!e)throw new Error("Chain is required to get connection controller client");const s=J.chains.get(e);if(!(s!=null&&s.connectionControllerClient))throw new Error("ConnectionController client not set");return s.connectionControllerClient},getNetworkProp(t,e){var n;const s=(n=J.chains.get(e))==null?void 0:n.networkState;if(s)return s[t]},getRequestedCaipNetworks(t){const e=J.chains.get(t),{approvedCaipNetworkIds:s=[],requestedCaipNetworks:n=[]}=(e==null?void 0:e.networkState)||{};return Z.sortRequestedNetworks(s,n).filter(o=>o==null?void 0:o.id)},getAllRequestedCaipNetworks(){const t=[];return J.chains.forEach(e=>{if(!e.namespace)throw new Error("ChainController:getAllRequestedCaipNetworks - chainAdapter must have a namespace");const s=w.getRequestedCaipNetworks(e.namespace);t.push(...s)}),t},setRequestedCaipNetworks(t,e){w.setAdapterNetworkState(e,{requestedCaipNetworks:t});const n=w.getAllRequestedCaipNetworks().map(i=>i.chainNamespace),r=Array.from(new Set(n));q.filterByNamespaces(r)},getAllApprovedCaipNetworkIds(){const t=[];return J.chains.forEach(e=>{if(!e.namespace)throw new Error("ChainController:getAllApprovedCaipNetworkIds - chainAdapter must have a namespace");const s=w.getApprovedCaipNetworkIds(e.namespace);t.push(...s)}),t},getActiveCaipNetwork(t){var e,s;return t?(s=(e=J.chains.get(t))==null?void 0:e.networkState)==null?void 0:s.caipNetwork:J.activeCaipNetwork},getActiveCaipAddress(){return J.activeCaipAddress},getApprovedCaipNetworkIds(t){var n;const e=J.chains.get(t);return((n=e==null?void 0:e.networkState)==null?void 0:n.approvedCaipNetworkIds)||[]},setApprovedCaipNetworksData(t,e){w.setAdapterNetworkState(t,e)},checkIfSupportedNetwork(t,e){var r;const s=e||((r=J.activeCaipNetwork)==null?void 0:r.caipNetworkId),n=w.getRequestedCaipNetworks(t);return n.length?n==null?void 0:n.some(i=>i.caipNetworkId===s):!0},checkIfSupportedChainId(t){if(!J.activeChain)return!0;const e=w.getRequestedCaipNetworks(J.activeChain);return e==null?void 0:e.some(s=>s.id===t)},checkIfSmartAccountEnabled(){var n,r;const t=mf.caipNetworkIdToNumber((n=J.activeCaipNetwork)==null?void 0:n.caipNetworkId);if(!J.activeChain||!t)return!1;const s=((r=at.get(re.SMART_ACCOUNT_ENABLED_NETWORKS))==null?void 0:r.split(","))||[];return!!(s!=null&&s.includes(t.toString()))},showUnsupportedChainUI(){Ne.open({view:"UnsupportedChain"})},checkIfNamesSupported(){const t=J.activeCaipNetwork;return!!(t!=null&&t.chainNamespace&&Ie.NAMES_SUPPORTED_CHAIN_NAMESPACES.includes(t.chainNamespace))},resetNetwork(t){w.setAdapterNetworkState(t,{approvedCaipNetworkIds:void 0,supportsAllNetworks:!0})},resetAccount(t){var r,i;const e=t;if(!e)throw new Error("Chain is required to set account prop");const s=(i=(r=w.state.chains.get(e))==null?void 0:r.accountState)==null?void 0:i.preferredAccountType,n=$.state.defaultAccountTypes[e];J.activeCaipAddress=void 0,w.setChainAccountData(e,{smartAccountDeployed:!1,currentTab:0,caipAddress:void 0,address:void 0,balance:void 0,balanceSymbol:void 0,profileName:void 0,profileImage:void 0,addressExplorerUrl:void 0,tokenBalance:[],connectedWalletInfo:void 0,preferredAccountType:n||s,socialProvider:void 0,socialWindow:void 0,farcasterUrl:void 0,user:void 0,status:"disconnected"}),q.removeConnectorId(e)},setIsSwitchingNamespace(t){J.isSwitchingNamespace=t},getFirstCaipNetworkSupportsAuthConnector(){var s,n;const t=[];let e;if(J.chains.forEach(r=>{U.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(i=>i===r.namespace)&&r.namespace&&t.push(r.namespace)}),t.length>0){const r=t[0];return e=r?(n=(s=J.chains.get(r))==null?void 0:s.caipNetworks)==null?void 0:n[0]:void 0,e}},getAccountData(t){var s;const e=t||J.activeChain;if(e)return(s=w.state.chains.get(e))==null?void 0:s.accountState},getNetworkData(t){var s;const e=t||J.activeChain;if(e)return(s=w.state.chains.get(e))==null?void 0:s.networkState},getCaipNetworkByNamespace(t,e){var r,i,o;if(!t)return;const s=w.state.chains.get(t),n=(r=s==null?void 0:s.caipNetworks)==null?void 0:r.find(a=>a.id.toString()===(e==null?void 0:e.toString()));return n||((i=s==null?void 0:s.networkState)==null?void 0:i.caipNetwork)||((o=s==null?void 0:s.caipNetworks)==null?void 0:o[0])},getRequestedCaipNetworkIds(){const t=q.state.filterByNamespace;return(t?[J.chains.get(t)]:Array.from(J.chains.values())).flatMap(s=>(s==null?void 0:s.caipNetworks)||[]).map(s=>s.caipNetworkId)},getCaipNetworks(t){return t?w.getRequestedCaipNetworks(t):w.getAllRequestedCaipNetworks()},getCaipNetworkById(t,e){return Vf.getCaipNetworks(e).find(s=>s.id.toString()===t.toString()||s.caipNetworkId.toString()===t.toString())},setLastConnectedSIWECaipNetwork(t){J.lastConnectedSIWECaipNetwork=t},getLastConnectedSIWECaipNetwork(){return J.lastConnectedSIWECaipNetwork},async fetchTokenBalance(t){var o,a;const e=w.getAccountData();if(!e)return[];const s=(o=w.state.activeCaipNetwork)==null?void 0:o.caipNetworkId,n=(a=w.state.activeCaipNetwork)==null?void 0:a.chainNamespace,r=w.state.activeCaipAddress,i=r?Z.getPlainAddress(r):void 0;if(w.setAccountProp("balanceLoading",!0,n),e.lastRetry&&!Z.isAllowedRetry(e.lastRetry,30*Ie.ONE_SEC_MS))return w.setAccountProp("balanceLoading",!1,n),[];try{if(i&&s&&n){const c=await _d.getMyTokensWithBalance();return w.setAccountProp("tokenBalance",c,n),w.setAccountProp("lastRetry",void 0,n),w.setAccountProp("balanceLoading",!1,n),c}}catch(c){w.setAccountProp("lastRetry",Date.now(),n),t==null||t(c),Ws.showError("Token Balance Unavailable")}finally{w.setAccountProp("balanceLoading",!1,n)}return[]},isCaipNetworkDisabled(t){var c;const e=t.chainNamespace,s=!!((c=w.getAccountData(e))!=null&&c.caipAddress),n=w.getAllApprovedCaipNetworkIds(),r=w.getNetworkProp("supportsAllNetworks",e)!==!1,i=q.getConnectorId(e),o=q.getAuthConnector(),a=i===U.CONNECTOR_ID.AUTH&&o;return!s||r||a?!1:!(n!=null&&n.includes(t.caipNetworkId))}},w=vs(Vf),iv={onSwitchNetwork({network:t,ignoreSwitchConfirmation:e=!1}){var h,p;const s=w.state.activeCaipNetwork,n=w.state.activeChain,r=le.state.data;if(t.id===(s==null?void 0:s.id))return;const o=!!((h=w.getAccountData(n))!=null&&h.address),a=!!((p=w.getAccountData(t.chainNamespace))!=null&&p.address),c=t.chainNamespace!==n,d=q.getConnectorId(n)===U.CONNECTOR_ID.AUTH,u=U.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(m=>m===t.chainNamespace);e||d&&u?le.push("SwitchNetwork",{...r,network:t}):o&&c&&!a?le.push("SwitchActiveChain",{switchToChain:t.chainNamespace,navigateTo:"Connect",navigateWithReplace:!0,network:t}):le.push("SwitchNetwork",{...r,network:t})}},Ft=Ke({loading:!1,loadingNamespaceMap:new Map,open:!1,shake:!1,namespace:void 0}),ov={state:Ft,subscribe(t){return wt(Ft,()=>t(Ft))},subscribeKey(t,e){return Et(Ft,t,e)},async open(t){var o,a;const e=t==null?void 0:t.namespace,s=w.state.activeChain,n=e&&e!==s,r=(o=w.getAccountData(t==null?void 0:t.namespace))==null?void 0:o.caipAddress,i=w.state.noAdapters;if(K.state.wcBasic?Q.prefetch({fetchNetworkImages:!1,fetchConnectorImages:!1,fetchWalletRanks:!1}):await Q.prefetch(),q.setFilterByNamespace(t==null?void 0:t.namespace),Ne.setLoading(!0,e),e&&n){const c=((a=w.getNetworkData(e))==null?void 0:a.caipNetwork)||w.getRequestedCaipNetworks(e)[0];c&&(i?(await w.switchActiveNetwork(c),le.push("ConnectingWalletConnectBasic")):iv.onSwitchNetwork({network:c,ignoreSwitchConfirmation:!0}))}else $.state.manualWCControl||i&&!r?Z.isMobile()?le.reset("AllWallets"):le.reset("ConnectingWalletConnectBasic"):t!=null&&t.view?le.reset(t.view,t.data):r?le.reset("Account"):le.reset("Connect");Ft.open=!0,as.set({open:!0}),we.sendEvent({type:"track",event:"MODAL_OPEN",properties:{connected:!!r}})},close(){const t=$.state.enableEmbedded,e=!!w.state.activeCaipAddress;Ft.open&&we.sendEvent({type:"track",event:"MODAL_CLOSE",properties:{connected:e}}),Ft.open=!1,le.reset("Connect"),Ne.clearLoading(),t?e?le.replace("Account"):le.push("Connect"):as.set({open:!1}),K.resetUri()},setLoading(t,e){e&&Ft.loadingNamespaceMap.set(e,t),Ft.loading=t,as.set({loading:t})},clearLoading(){Ft.loadingNamespaceMap.clear(),Ft.loading=!1,as.set({loading:!1})},shake(){Ft.shake||(Ft.shake=!0,setTimeout(()=>{Ft.shake=!1},500))}},Ne=vs(ov),ji={id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"USD Coin",symbol:"USDC",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]},Nl={id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},av={providers:Sf,selectedProvider:null,error:null,purchaseCurrency:ji,paymentCurrency:Nl,purchaseCurrencies:[ji],paymentCurrencies:[],quotesLoading:!1},xe=Ke(av),cv={state:xe,subscribe(t){return wt(xe,()=>t(xe))},subscribeKey(t,e){return Et(xe,t,e)},setSelectedProvider(t){var e,s;if(t&&t.name==="meld"){const n=w.state.activeChain,r=n===U.CHAIN.SOLANA?"SOL":"USDC",i=n?((s=(e=w.state.chains.get(n))==null?void 0:e.accountState)==null?void 0:s.address)??"":"",o=new URL(t.url);o.searchParams.append("publicKey",pw),o.searchParams.append("destinationCurrencyCode",r),o.searchParams.append("walletAddress",i),o.searchParams.append("externalCustomerId",$.state.projectId),xe.selectedProvider={...t,url:o.toString()}}else xe.selectedProvider=t},setOnrampProviders(t){if(Array.isArray(t)&&t.every(e=>typeof e=="string")){const e=t,s=Sf.filter(n=>e.includes(n.name));xe.providers=s}else xe.providers=[]},setPurchaseCurrency(t){xe.purchaseCurrency=t},setPaymentCurrency(t){xe.paymentCurrency=t},setPurchaseAmount(t){Tl.state.purchaseAmount=t},setPaymentAmount(t){Tl.state.paymentAmount=t},async getAvailableCurrencies(){const t=await he.getOnrampOptions();xe.purchaseCurrencies=t.purchaseCurrencies,xe.paymentCurrencies=t.paymentCurrencies,xe.paymentCurrency=t.paymentCurrencies[0]||Nl,xe.purchaseCurrency=t.purchaseCurrencies[0]||ji,await Q.fetchCurrencyImages(t.paymentCurrencies.map(e=>e.id)),await Q.fetchTokenImages(t.purchaseCurrencies.map(e=>e.symbol))},async getQuote(){var t,e;xe.quotesLoading=!0;try{const s=await he.getOnrampQuote({purchaseCurrency:xe.purchaseCurrency,paymentCurrency:xe.paymentCurrency,amount:((t=xe.paymentAmount)==null?void 0:t.toString())||"0",network:(e=xe.purchaseCurrency)==null?void 0:e.symbol});return xe.quotesLoading=!1,xe.purchaseAmount=Number(s==null?void 0:s.purchaseAmount.amount),s}catch(s){return xe.error=s.message,xe.quotesLoading=!1,null}finally{xe.quotesLoading=!1}},resetState(){xe.selectedProvider=null,xe.error=null,xe.purchaseCurrency=ji,xe.paymentCurrency=Nl,xe.purchaseCurrencies=[ji],xe.paymentCurrencies=[],xe.paymentAmount=void 0,xe.purchaseAmount=void 0,xe.quotesLoading=!1}},Tl=vs(cv);var lv=Object.defineProperty,dv=(t,e,s)=>e in t?lv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Vu=(t,e,s)=>dv(t,typeof e!="symbol"?e+"":e,s);let uv=class extends mi{constructor(e){super(),this.opts=e,Vu(this,"protocol","wc"),Vu(this,"version",2)}};var hv=Object.defineProperty,pv=(t,e,s)=>e in t?hv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,fv=(t,e,s)=>pv(t,e+"",s);let gv=class extends mi{constructor(e,s){super(),this.core=e,this.logger=s,fv(this,"records",new Map)}},mv=class{constructor(e,s){this.logger=e,this.core=s}},yv=class extends mi{constructor(e,s){super(),this.relayer=e,this.logger=s}},wv=class extends mi{constructor(e){super()}},Ev=class{constructor(e,s,n,r){this.core=e,this.logger=s,this.name=n}},bv=class extends mi{constructor(e,s){super(),this.relayer=e,this.logger=s}},Cv=class extends mi{constructor(e,s){super(),this.core=e,this.logger=s}},vv=class{constructor(e,s,n){this.core=e,this.logger=s,this.store=n}};class _v{constructor(e,s){this.projectId=e,this.logger=s}}let Av=class{constructor(e,s,n){this.core=e,this.logger=s,this.telemetryEnabled=n}};var Sv=Object.defineProperty,Iv=(t,e,s)=>e in t?Sv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,zu=(t,e,s)=>Iv(t,typeof e!="symbol"?e+"":e,s);let Nv=class{constructor(e){this.opts=e,zu(this,"protocol","wc"),zu(this,"version",2)}},Tv=class{constructor(e){this.client=e}};const Rv="0.1.1";function Ov(){return Rv}class Ze extends Error{constructor(e,s={}){const n=(()=>{var c;if(s.cause instanceof Ze){if(s.cause.details)return s.cause.details;if(s.cause.shortMessage)return s.cause.shortMessage}return s.cause&&"details"in s.cause&&typeof s.cause.details=="string"?s.cause.details:(c=s.cause)!=null&&c.message?s.cause.message:s.details})(),r=s.cause instanceof Ze&&s.cause.docsPath||s.docsPath,o=`https://oxlib.sh${r??""}`,a=[e||"An error occurred.",...s.metaMessages?["",...s.metaMessages]:[],...n||r?["",n?`Details: ${n}`:void 0,r?`See: ${o}`:void 0]:[]].filter(c=>typeof c=="string").join(`
5
+ `);super(a,s.cause?{cause:s.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:`ox@${Ov()}`}),this.cause=s.cause,this.details=n,this.docs=o,this.docsPath=r,this.shortMessage=e}walk(e){return zf(this,e)}}function zf(t,e){return e!=null&&e(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause?zf(t.cause,e):e?null:t}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ad=BigInt(0),Rl=BigInt(1);function Io(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Sd(t){if(!Io(t))throw new Error("Uint8Array expected")}function po(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}function zo(t){const e=t.toString(16);return e.length&1?"0"+e:e}function Kf(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Ad:BigInt("0x"+t)}const Gf=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Pv=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function fo(t){if(Sd(t),Gf)return t.toHex();let e="";for(let s=0;s<t.length;s++)e+=Pv[t[s]];return e}const Qs={_0:48,_9:57,A:65,F:70,a:97,f:102};function Ku(t){if(t>=Qs._0&&t<=Qs._9)return t-Qs._0;if(t>=Qs.A&&t<=Qs.F)return t-(Qs.A-10);if(t>=Qs.a&&t<=Qs.f)return t-(Qs.a-10)}function Pa(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(Gf)return Uint8Array.fromHex(t);const e=t.length,s=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(s);for(let r=0,i=0;r<s;r++,i+=2){const o=Ku(t.charCodeAt(i)),a=Ku(t.charCodeAt(i+1));if(o===void 0||a===void 0){const c=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[r]=o*16+a}return n}function Cr(t){return Kf(fo(t))}function Yf(t){return Sd(t),Kf(fo(Uint8Array.from(t).reverse()))}function No(t,e){return Pa(t.toString(16).padStart(e*2,"0"))}function Zf(t,e){return No(t,e).reverse()}function ms(t,e,s){let n;if(typeof e=="string")try{n=Pa(e)}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(Io(e))n=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");const r=n.length;if(typeof s=="number"&&r!==s)throw new Error(t+" of length "+s+" expected, got "+r);return n}function xa(...t){let e=0;for(let n=0;n<t.length;n++){const r=t[n];Sd(r),e+=r.length}const s=new Uint8Array(e);for(let n=0,r=0;n<t.length;n++){const i=t[n];s.set(i,r),r+=i.length}return s}const Ac=t=>typeof t=="bigint"&&Ad<=t;function Id(t,e,s){return Ac(t)&&Ac(e)&&Ac(s)&&e<=t&&t<s}function si(t,e,s,n){if(!Id(e,s,n))throw new Error("expected valid "+t+": "+s+" <= n < "+n+", got "+e)}function xv(t){let e;for(e=0;t>Ad;t>>=Rl,e+=1);return e}const Xa=t=>(Rl<<BigInt(t))-Rl,Sc=t=>new Uint8Array(t),Gu=t=>Uint8Array.from(t);function kv(t,e,s){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof s!="function")throw new Error("hmacFn must be a function");let n=Sc(t),r=Sc(t),i=0;const o=()=>{n.fill(1),r.fill(0),i=0},a=(...u)=>s(r,n,...u),c=(u=Sc(0))=>{r=a(Gu([0]),u),n=a(),u.length!==0&&(r=a(Gu([1]),u),n=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0;const h=[];for(;u<e;){n=a();const p=n.slice();h.push(p),u+=n.length}return xa(...h)};return(u,h)=>{o(),c(u);let p;for(;!(p=h(l()));)c();return o(),p}}const Uv={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Io(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Qa(t,e,s={}){const n=(r,i,o)=>{const a=Uv[i];if(typeof a!="function")throw new Error("invalid validator function");const c=t[r];if(!(o&&c===void 0)&&!a(c,t))throw new Error("param "+String(r)+" is invalid. Expected "+i+", got "+c)};for(const[r,i]of Object.entries(e))n(r,i,!1);for(const[r,i]of Object.entries(s))n(r,i,!0);return t}function Yu(t){const e=new WeakMap;return(s,...n)=>{const r=e.get(s);if(r!==void 0)return r;const i=t(s,...n);return e.set(s,i),i}}function $v(t,e){if(Qu(t)>e)throw new s_({givenSize:Qu(t),maxSize:e})}const en={zero:48,nine:57,A:65,F:70,a:97,f:102};function Zu(t){if(t>=en.zero&&t<=en.nine)return t-en.zero;if(t>=en.A&&t<=en.F)return t-(en.A-10);if(t>=en.a&&t<=en.f)return t-(en.a-10)}function Dv(t,e={}){const{dir:s,size:n=32}=e;if(n===0)return t;if(t.length>n)throw new n_({size:t.length,targetSize:n,type:"Bytes"});const r=new Uint8Array(n);for(let i=0;i<n;i++){const o=s==="right";r[o?i:n-i-1]=t[o?i:t.length-i-1]}return r}function Jf(t,e){if(Yn(t)>e)throw new zv({givenSize:Yn(t),maxSize:e})}function Lv(t,e){if(typeof e=="number"&&e>0&&e>Yn(t)-1)throw new eg({offset:e,position:"start",size:Yn(t)})}function Mv(t,e,s){if(typeof e=="number"&&typeof s=="number"&&Yn(t)!==s-e)throw new eg({offset:s,position:"end",size:Yn(t)})}function Xf(t,e={}){const{dir:s,size:n=32}=e;if(n===0)return t;const r=t.replace("0x","");if(r.length>n*2)throw new Kv({size:Math.ceil(r.length/2),targetSize:n,type:"Hex"});return`0x${r[s==="right"?"padEnd":"padStart"](n*2,"0")}`}const Bv="#__bigint";function Nd(t,e,s){return JSON.stringify(t,(n,r)=>typeof r=="bigint"?r.toString()+Bv:r,s)}const jv=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Fv(t,e={}){const{strict:s=!1}=e;if(!t)throw new Ju(t);if(typeof t!="string")throw new Ju(t);if(s&&!/^0x[0-9a-fA-F]*$/.test(t))throw new Xu(t);if(!t.startsWith("0x"))throw new Xu(t)}function qv(...t){return`0x${t.reduce((e,s)=>e+s.replace("0x",""),"")}`}function Td(t){return t instanceof Uint8Array?ka(t):Array.isArray(t)?ka(new Uint8Array(t)):t}function ka(t,e={}){let s="";for(let r=0;r<t.length;r++)s+=jv[t[r]];const n=`0x${s}`;return typeof e.size=="number"?(Jf(n,e.size),Qf(n,e.size)):n}function Ic(t,e={}){const{signed:s,size:n}=e,r=BigInt(t);let i;n?s?i=(1n<<BigInt(n)*8n-1n)-1n:i=2n**(BigInt(n)*8n)-1n:typeof t=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof i=="bigint"&&s?-i-1n:0;if(i&&r>i||r<o){const l=typeof t=="bigint"?"n":"";throw new Vv({max:i?`${i}${l}`:void 0,min:`${o}${l}`,signed:s,size:n,value:`${t}${l}`})}const c=`0x${(s&&r<0?(1n<<BigInt(n*8))+BigInt(r):r).toString(16)}`;return n?Wv(c,n):c}function Wv(t,e){return Xf(t,{dir:"left",size:e})}function Qf(t,e){return Xf(t,{dir:"right",size:e})}function an(t,e,s,n={}){const{strict:r}=n;Lv(t,e);const i=`0x${t.replace("0x","").slice((e??0)*2,(s??t.length)*2)}`;return r&&Mv(i,e,s),i}function Yn(t){return Math.ceil((t.length-2)/2)}function Hv(t,e={}){const{strict:s=!1}=e;try{return Fv(t,{strict:s}),!0}catch{return!1}}class Vv extends Ze{constructor({max:e,min:s,signed:n,size:r,value:i}){super(`Number \`${i}\` is not in safe${r?` ${r*8}-bit`:""}${n?" signed":" unsigned"} integer range ${e?`(\`${s}\` to \`${e}\`)`:`(above \`${s}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}}class Ju extends Ze{constructor(e){super(`Value \`${typeof e=="object"?Nd(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}}class Xu extends Ze{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}}let zv=class extends Ze{constructor({givenSize:e,maxSize:s}){super(`Size cannot exceed \`${s}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}};class eg extends Ze{constructor({offset:e,position:s,size:n}){super(`Slice ${s==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}}let Kv=class extends Ze{constructor({size:e,targetSize:s,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${s}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}};const Gv=new TextEncoder;function Yv(t){if(!(t instanceof Uint8Array)){if(!t)throw new Ko(t);if(typeof t!="object")throw new Ko(t);if(!("BYTES_PER_ELEMENT"in t))throw new Ko(t);if(t.BYTES_PER_ELEMENT!==1||t.constructor.name!=="Uint8Array")throw new Ko(t)}}function Zv(t){return t instanceof Uint8Array?t:typeof t=="string"?Xv(t):Jv(t)}function Jv(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function Xv(t,e={}){const{size:s}=e;let n=t;s&&(Jf(t,s),n=Qf(t,s));let r=n.slice(2);r.length%2&&(r=`0${r}`);const i=r.length/2,o=new Uint8Array(i);for(let a=0,c=0;a<i;a++){const l=Zu(r.charCodeAt(c++)),d=Zu(r.charCodeAt(c++));if(l===void 0||d===void 0)throw new Ze(`Invalid byte sequence ("${r[c-2]}${r[c-1]}" in "${r}").`);o[a]=l*16+d}return o}function Qv(t,e={}){const{size:s}=e,n=Gv.encode(t);return typeof s=="number"?($v(n,s),e_(n,s)):n}function e_(t,e){return Dv(t,{dir:"right",size:e})}function Qu(t){return t.length}function t_(t){try{return Yv(t),!0}catch{return!1}}class Ko extends Ze{constructor(e){super(`Value \`${typeof e=="object"?Nd(e):e}\` of type \`${typeof e}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"})}}class s_ extends Ze{constructor({givenSize:e,maxSize:s}){super(`Size cannot exceed \`${s}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}}class n_ extends Ze{constructor({size:e,targetSize:s,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${s}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}}function tg(t,e={}){const{as:s=typeof t=="string"?"Hex":"Bytes"}=e,n=by(Zv(t));return s==="Bytes"?n:ka(n)}class r_ extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const s=super.get(e);return super.has(e)&&s!==void 0&&(this.delete(e),super.set(e,s)),s}set(e,s){if(super.set(e,s),this.maxSize&&this.size>this.maxSize){const n=this.keys().next().value;n&&this.delete(n)}return this}}const i_={checksum:new r_(8192)},Nc=i_.checksum;function sg(t,e={}){const{compressed:s}=e,{prefix:n,x:r,y:i}=t;if(s===!1||typeof r=="bigint"&&typeof i=="bigint"){if(n!==4)throw new eh({prefix:n,cause:new u_});return}if(s===!0||typeof r=="bigint"&&typeof i>"u"){if(n!==3&&n!==2)throw new eh({prefix:n,cause:new d_});return}throw new l_({publicKey:t})}function o_(t){const e=(()=>{if(Hv(t))return ng(t);if(t_(t))return a_(t);const{prefix:s,x:n,y:r}=t;return typeof n=="bigint"&&typeof r=="bigint"?{prefix:s??4,x:n,y:r}:{prefix:s,x:n}})();return sg(e),e}function a_(t){return ng(ka(t))}function ng(t){if(t.length!==132&&t.length!==130&&t.length!==68)throw new h_({publicKey:t});if(t.length===130){const n=BigInt(an(t,0,32)),r=BigInt(an(t,32,64));return{prefix:4,x:n,y:r}}if(t.length===132){const n=Number(an(t,0,1)),r=BigInt(an(t,1,33)),i=BigInt(an(t,33,65));return{prefix:n,x:r,y:i}}const e=Number(an(t,0,1)),s=BigInt(an(t,1,33));return{prefix:e,x:s}}function c_(t,e={}){sg(t);const{prefix:s,x:n,y:r}=t,{includePrefix:i=!0}=e;return qv(i?Ic(s,{size:1}):"0x",Ic(n,{size:32}),typeof r=="bigint"?Ic(r,{size:32}):"0x")}class l_ extends Ze{constructor({publicKey:e}){super(`Value \`${Nd(e)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"})}}class eh extends Ze{constructor({prefix:e,cause:s}){super(`Prefix "${e}" is invalid.`,{cause:s}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"})}}class d_ extends Ze{constructor(){super("Prefix must be 2 or 3 for compressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"})}}class u_ extends Ze{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}}let h_=class extends Ze{constructor({publicKey:e}){super(`Value \`${e}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${Yn(Td(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}};const p_=/^0x[a-fA-F0-9]{40}$/;function rg(t,e={}){const{strict:s=!0}=e;if(!p_.test(t))throw new th({address:t,cause:new m_});if(s){if(t.toLowerCase()===t)return;if(ig(t)!==t)throw new th({address:t,cause:new y_})}}function ig(t){if(Nc.has(t))return Nc.get(t);rg(t,{strict:!1});const e=t.substring(2).toLowerCase(),s=tg(Qv(e),{as:"Bytes"}),n=e.split("");for(let i=0;i<40;i+=2)s[i>>1]>>4>=8&&n[i]&&(n[i]=n[i].toUpperCase()),(s[i>>1]&15)>=8&&n[i+1]&&(n[i+1]=n[i+1].toUpperCase());const r=`0x${n.join("")}`;return Nc.set(t,r),r}function f_(t,e={}){const{checksum:s=!1}=e;return rg(t),s?ig(t):t}function g_(t,e={}){const s=tg(`0x${c_(t).slice(4)}`).substring(26);return f_(`0x${s}`,e)}class th extends Ze{constructor({address:e,cause:s}){super(`Address "${e}" is invalid.`,{cause:s}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class m_ extends Ze{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}}class y_ extends Ze{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Gt=BigInt(0),$t=BigInt(1),pr=BigInt(2),w_=BigInt(3),og=BigInt(4),ag=BigInt(5),cg=BigInt(8);function Vt(t,e){const s=t%e;return s>=Gt?s:e+s}function ds(t,e,s){let n=t;for(;e-- >Gt;)n*=n,n%=s;return n}function Ol(t,e){if(t===Gt)throw new Error("invert: expected non-zero number");if(e<=Gt)throw new Error("invert: expected positive modulus, got "+e);let s=Vt(t,e),n=e,r=Gt,i=$t;for(;s!==Gt;){const a=n/s,c=n%s,l=r-i*a;n=s,s=c,r=i,i=l}if(n!==$t)throw new Error("invert: does not exist");return Vt(r,e)}function lg(t,e){const s=(t.ORDER+$t)/og,n=t.pow(e,s);if(!t.eql(t.sqr(n),e))throw new Error("Cannot find square root");return n}function E_(t,e){const s=(t.ORDER-ag)/cg,n=t.mul(e,pr),r=t.pow(n,s),i=t.mul(e,r),o=t.mul(t.mul(i,pr),r),a=t.mul(i,t.sub(o,t.ONE));if(!t.eql(t.sqr(a),e))throw new Error("Cannot find square root");return a}function b_(t){if(t<BigInt(3))throw new Error("sqrt is not defined for small field");let e=t-$t,s=0;for(;e%pr===Gt;)e/=pr,s++;let n=pr;const r=Rd(t);for(;sh(r,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(s===1)return lg;let i=r.pow(n,e);const o=(e+$t)/pr;return function(c,l){if(c.is0(l))return l;if(sh(c,l)!==1)throw new Error("Cannot find square root");let d=s,u=c.mul(c.ONE,i),h=c.pow(l,e),p=c.pow(l,o);for(;!c.eql(h,c.ONE);){if(c.is0(h))return c.ZERO;let m=1,f=c.sqr(h);for(;!c.eql(f,c.ONE);)if(m++,f=c.sqr(f),m===d)throw new Error("Cannot find square root");const y=$t<<BigInt(d-m-1),b=c.pow(u,y);d=m,u=c.sqr(b),h=c.mul(h,u),p=c.mul(p,b)}return p}}function C_(t){return t%og===w_?lg:t%cg===ag?E_:b_(t)}const v_=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function __(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},s=v_.reduce((n,r)=>(n[r]="function",n),e);return Qa(t,s)}function A_(t,e,s){if(s<Gt)throw new Error("invalid exponent, negatives unsupported");if(s===Gt)return t.ONE;if(s===$t)return e;let n=t.ONE,r=e;for(;s>Gt;)s&$t&&(n=t.mul(n,r)),r=t.sqr(r),s>>=$t;return n}function dg(t,e,s=!1){const n=new Array(e.length).fill(s?t.ZERO:void 0),r=e.reduce((o,a,c)=>t.is0(a)?o:(n[c]=o,t.mul(o,a)),t.ONE),i=t.inv(r);return e.reduceRight((o,a,c)=>t.is0(a)?o:(n[c]=t.mul(o,n[c]),t.mul(o,a)),i),n}function sh(t,e){const s=(t.ORDER-$t)/pr,n=t.pow(e,s),r=t.eql(n,t.ONE),i=t.eql(n,t.ZERO),o=t.eql(n,t.neg(t.ONE));if(!r&&!i&&!o)throw new Error("invalid Legendre symbol result");return r?1:i?0:-1}function ug(t,e){e!==void 0&&$y(e);const s=e!==void 0?e:t.toString(2).length,n=Math.ceil(s/8);return{nBitLength:s,nByteLength:n}}function Rd(t,e,s=!1,n={}){if(t<=Gt)throw new Error("invalid field: expected ORDER > 0, got "+t);const{nBitLength:r,nByteLength:i}=ug(t,e);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let o;const a=Object.freeze({ORDER:t,isLE:s,BITS:r,BYTES:i,MASK:Xa(r),ZERO:Gt,ONE:$t,create:c=>Vt(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return Gt<=c&&c<t},is0:c=>c===Gt,isOdd:c=>(c&$t)===$t,neg:c=>Vt(-c,t),eql:(c,l)=>c===l,sqr:c=>Vt(c*c,t),add:(c,l)=>Vt(c+l,t),sub:(c,l)=>Vt(c-l,t),mul:(c,l)=>Vt(c*l,t),pow:(c,l)=>A_(a,c,l),div:(c,l)=>Vt(c*Ol(l,t),t),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>Ol(c,t),sqrt:n.sqrt||(c=>(o||(o=C_(t)),o(a,c))),toBytes:c=>s?Zf(c,i):No(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return s?Yf(c):Cr(c)},invertBatch:c=>dg(a,c),cmov:(c,l,d)=>d?l:c});return Object.freeze(a)}function hg(t){if(typeof t!="bigint")throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function pg(t){const e=hg(t);return e+Math.ceil(e/2)}function S_(t,e,s=!1){const n=t.length,r=hg(e),i=pg(e);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);const o=s?Yf(t):Cr(t),a=Vt(o,e-$t)+$t;return s?Zf(a,r):No(a,r)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const nh=BigInt(0),Pl=BigInt(1);function Tc(t,e){const s=e.negate();return t?s:e}function fg(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function Rc(t,e){fg(t,e);const s=Math.ceil(e/t)+1,n=2**(t-1),r=2**t,i=Xa(t),o=BigInt(t);return{windows:s,windowSize:n,mask:i,maxNumber:r,shiftBy:o}}function rh(t,e,s){const{windowSize:n,mask:r,maxNumber:i,shiftBy:o}=s;let a=Number(t&r),c=t>>o;a>n&&(a-=i,c+=Pl);const l=e*n,d=l+Math.abs(a)-1,u=a===0,h=a<0,p=e%2!==0;return{nextN:c,offset:d,isZero:u,isNeg:h,isNegF:p,offsetF:l}}function I_(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((s,n)=>{if(!(s instanceof e))throw new Error("invalid point at index "+n)})}function N_(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((s,n)=>{if(!e.isValid(s))throw new Error("invalid scalar at index "+n)})}const Oc=new WeakMap,gg=new WeakMap;function Pc(t){return gg.get(t)||1}function T_(t,e){return{constTimeNegate:Tc,hasPrecomputes(s){return Pc(s)!==1},unsafeLadder(s,n,r=t.ZERO){let i=s;for(;n>nh;)n&Pl&&(r=r.add(i)),i=i.double(),n>>=Pl;return r},precomputeWindow(s,n){const{windows:r,windowSize:i}=Rc(n,e),o=[];let a=s,c=a;for(let l=0;l<r;l++){c=a,o.push(c);for(let d=1;d<i;d++)c=c.add(a),o.push(c);a=c.double()}return o},wNAF(s,n,r){let i=t.ZERO,o=t.BASE;const a=Rc(s,e);for(let c=0;c<a.windows;c++){const{nextN:l,offset:d,isZero:u,isNeg:h,isNegF:p,offsetF:m}=rh(r,c,a);r=l,u?o=o.add(Tc(p,n[m])):i=i.add(Tc(h,n[d]))}return{p:i,f:o}},wNAFUnsafe(s,n,r,i=t.ZERO){const o=Rc(s,e);for(let a=0;a<o.windows&&r!==nh;a++){const{nextN:c,offset:l,isZero:d,isNeg:u}=rh(r,a,o);if(r=c,!d){const h=n[l];i=i.add(u?h.negate():h)}}return i},getPrecomputes(s,n,r){let i=Oc.get(n);return i||(i=this.precomputeWindow(n,s),s!==1&&Oc.set(n,r(i))),i},wNAFCached(s,n,r){const i=Pc(s);return this.wNAF(i,this.getPrecomputes(i,s,r),n)},wNAFCachedUnsafe(s,n,r,i){const o=Pc(s);return o===1?this.unsafeLadder(s,n,i):this.wNAFUnsafe(o,this.getPrecomputes(o,s,r),n,i)},setWindowSize(s,n){fg(n,e),gg.set(s,n),Oc.delete(s)}}}function R_(t,e,s,n){I_(s,t),N_(n,e);const r=s.length,i=n.length;if(r!==i)throw new Error("arrays of points and scalars must have equal length");const o=t.ZERO,a=xv(BigInt(r));let c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);const l=Xa(c),d=new Array(Number(l)+1).fill(o),u=Math.floor((e.BITS-1)/c)*c;let h=o;for(let p=u;p>=0;p-=c){d.fill(o);for(let f=0;f<i;f++){const y=n[f],b=Number(y>>BigInt(p)&l);d[b]=d[b].add(s[f])}let m=o;for(let f=d.length-1,y=o;f>0;f--)y=y.add(d[f]),m=m.add(y);if(h=h.add(m),p!==0)for(let f=0;f<c;f++)h=h.double()}return h}function mg(t){return __(t.Fp),Qa(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ug(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function ih(t){t.lowS!==void 0&&po("lowS",t.lowS),t.prehash!==void 0&&po("prehash",t.prehash)}function O_(t){const e=mg(t);Qa(e,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});const{endo:s,Fp:n,a:r}=e;if(s){if(!n.eql(r,n.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof s!="object"||typeof s.beta!="bigint"||typeof s.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...e})}class P_ extends Error{constructor(e=""){super(e)}}const ln={Err:P_,_tlv:{encode:(t,e)=>{const{Err:s}=ln;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length&1)throw new s("tlv.encode: unpadded data");const n=e.length/2,r=zo(n);if(r.length/2&128)throw new s("tlv.encode: long form length too big");const i=n>127?zo(r.length/2|128):"";return zo(t)+i+r+e},decode(t,e){const{Err:s}=ln;let n=0;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length<2||e[n++]!==t)throw new s("tlv.decode: wrong tlv");const r=e[n++],i=!!(r&128);let o=0;if(!i)o=r;else{const c=r&127;if(!c)throw new s("tlv.decode(long): indefinite length not supported");if(c>4)throw new s("tlv.decode(long): byte length is too big");const l=e.subarray(n,n+c);if(l.length!==c)throw new s("tlv.decode: length bytes not complete");if(l[0]===0)throw new s("tlv.decode(long): zero leftmost byte");for(const d of l)o=o<<8|d;if(n+=c,o<128)throw new s("tlv.decode(long): not minimal encoding")}const a=e.subarray(n,n+o);if(a.length!==o)throw new s("tlv.decode: wrong value length");return{v:a,l:e.subarray(n+o)}}},_int:{encode(t){const{Err:e}=ln;if(t<hn)throw new e("integer: negative integers are not allowed");let s=zo(t);if(Number.parseInt(s[0],16)&8&&(s="00"+s),s.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return s},decode(t){const{Err:e}=ln;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Cr(t)}},toSig(t){const{Err:e,_int:s,_tlv:n}=ln,r=ms("signature",t),{v:i,l:o}=n.decode(48,r);if(o.length)throw new e("invalid signature: left bytes after parsing");const{v:a,l:c}=n.decode(2,i),{v:l,l:d}=n.decode(2,c);if(d.length)throw new e("invalid signature: left bytes after parsing");return{r:s.decode(a),s:s.decode(l)}},hexFromSig(t){const{_tlv:e,_int:s}=ln,n=e.encode(2,s.encode(t.r)),r=e.encode(2,s.encode(t.s)),i=n+r;return e.encode(48,i)}};function xc(t,e){return fo(No(t,e))}const hn=BigInt(0),ut=BigInt(1);BigInt(2);const kc=BigInt(3),x_=BigInt(4);function k_(t){const e=O_(t),{Fp:s}=e,n=Rd(e.n,e.nBitLength),r=e.toBytes||((v,C,R)=>{const k=C.toAffine();return xa(Uint8Array.from([4]),s.toBytes(k.x),s.toBytes(k.y))}),i=e.fromBytes||(v=>{const C=v.subarray(1),R=s.fromBytes(C.subarray(0,s.BYTES)),k=s.fromBytes(C.subarray(s.BYTES,2*s.BYTES));return{x:R,y:k}});function o(v){const{a:C,b:R}=e,k=s.sqr(v),L=s.mul(k,v);return s.add(s.add(L,s.mul(v,C)),R)}function a(v,C){const R=s.sqr(C),k=o(v);return s.eql(R,k)}if(!a(e.Gx,e.Gy))throw new Error("bad curve params: generator point");const c=s.mul(s.pow(e.a,kc),x_),l=s.mul(s.sqr(e.b),BigInt(27));if(s.is0(s.add(c,l)))throw new Error("bad curve params: a or b");function d(v){return Id(v,ut,e.n)}function u(v){const{allowedPrivateKeyLengths:C,nByteLength:R,wrapPrivateKey:k,n:L}=e;if(C&&typeof v!="bigint"){if(Io(v)&&(v=fo(v)),typeof v!="string"||!C.includes(v.length))throw new Error("invalid private key");v=v.padStart(R*2,"0")}let F;try{F=typeof v=="bigint"?v:Cr(ms("private key",v,R))}catch{throw new Error("invalid private key, expected hex or "+R+" bytes, got "+typeof v)}return k&&(F=Vt(F,L)),si("private key",F,ut,L),F}function h(v){if(!(v instanceof f))throw new Error("ProjectivePoint expected")}const p=Yu((v,C)=>{const{px:R,py:k,pz:L}=v;if(s.eql(L,s.ONE))return{x:R,y:k};const F=v.is0();C==null&&(C=F?s.ONE:s.inv(L));const x=s.mul(R,C),B=s.mul(k,C),W=s.mul(L,C);if(F)return{x:s.ZERO,y:s.ZERO};if(!s.eql(W,s.ONE))throw new Error("invZ was invalid");return{x,y:B}}),m=Yu(v=>{if(v.is0()){if(e.allowInfinityPoint&&!s.is0(v.py))return;throw new Error("bad point: ZERO")}const{x:C,y:R}=v.toAffine();if(!s.isValid(C)||!s.isValid(R))throw new Error("bad point: x or y not FE");if(!a(C,R))throw new Error("bad point: equation left != right");if(!v.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class f{constructor(C,R,k){if(C==null||!s.isValid(C))throw new Error("x required");if(R==null||!s.isValid(R)||s.is0(R))throw new Error("y required");if(k==null||!s.isValid(k))throw new Error("z required");this.px=C,this.py=R,this.pz=k,Object.freeze(this)}static fromAffine(C){const{x:R,y:k}=C||{};if(!C||!s.isValid(R)||!s.isValid(k))throw new Error("invalid affine point");if(C instanceof f)throw new Error("projective point not allowed");const L=F=>s.eql(F,s.ZERO);return L(R)&&L(k)?f.ZERO:new f(R,k,s.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(C){const R=dg(s,C.map(k=>k.pz));return C.map((k,L)=>k.toAffine(R[L])).map(f.fromAffine)}static fromHex(C){const R=f.fromAffine(i(ms("pointHex",C)));return R.assertValidity(),R}static fromPrivateKey(C){return f.BASE.multiply(u(C))}static msm(C,R){return R_(f,n,C,R)}_setWindowSize(C){S.setWindowSize(this,C)}assertValidity(){m(this)}hasEvenY(){const{y:C}=this.toAffine();if(s.isOdd)return!s.isOdd(C);throw new Error("Field doesn't support isOdd")}equals(C){h(C);const{px:R,py:k,pz:L}=this,{px:F,py:x,pz:B}=C,W=s.eql(s.mul(R,B),s.mul(F,L)),O=s.eql(s.mul(k,B),s.mul(x,L));return W&&O}negate(){return new f(this.px,s.neg(this.py),this.pz)}double(){const{a:C,b:R}=e,k=s.mul(R,kc),{px:L,py:F,pz:x}=this;let B=s.ZERO,W=s.ZERO,O=s.ZERO,A=s.mul(L,L),N=s.mul(F,F),E=s.mul(x,x),_=s.mul(L,F);return _=s.add(_,_),O=s.mul(L,x),O=s.add(O,O),B=s.mul(C,O),W=s.mul(k,E),W=s.add(B,W),B=s.sub(N,W),W=s.add(N,W),W=s.mul(B,W),B=s.mul(_,B),O=s.mul(k,O),E=s.mul(C,E),_=s.sub(A,E),_=s.mul(C,_),_=s.add(_,O),O=s.add(A,A),A=s.add(O,A),A=s.add(A,E),A=s.mul(A,_),W=s.add(W,A),E=s.mul(F,x),E=s.add(E,E),A=s.mul(E,_),B=s.sub(B,A),O=s.mul(E,N),O=s.add(O,O),O=s.add(O,O),new f(B,W,O)}add(C){h(C);const{px:R,py:k,pz:L}=this,{px:F,py:x,pz:B}=C;let W=s.ZERO,O=s.ZERO,A=s.ZERO;const N=e.a,E=s.mul(e.b,kc);let _=s.mul(R,F),T=s.mul(k,x),D=s.mul(L,B),I=s.add(R,k),P=s.add(F,x);I=s.mul(I,P),P=s.add(_,T),I=s.sub(I,P),P=s.add(R,L);let H=s.add(F,B);return P=s.mul(P,H),H=s.add(_,D),P=s.sub(P,H),H=s.add(k,L),W=s.add(x,B),H=s.mul(H,W),W=s.add(T,D),H=s.sub(H,W),A=s.mul(N,P),W=s.mul(E,D),A=s.add(W,A),W=s.sub(T,A),A=s.add(T,A),O=s.mul(W,A),T=s.add(_,_),T=s.add(T,_),D=s.mul(N,D),P=s.mul(E,P),T=s.add(T,D),D=s.sub(_,D),D=s.mul(N,D),P=s.add(P,D),_=s.mul(T,P),O=s.add(O,_),_=s.mul(H,P),W=s.mul(I,W),W=s.sub(W,_),_=s.mul(I,T),A=s.mul(H,A),A=s.add(A,_),new f(W,O,A)}subtract(C){return this.add(C.negate())}is0(){return this.equals(f.ZERO)}wNAF(C){return S.wNAFCached(this,C,f.normalizeZ)}multiplyUnsafe(C){const{endo:R,n:k}=e;si("scalar",C,hn,k);const L=f.ZERO;if(C===hn)return L;if(this.is0()||C===ut)return this;if(!R||S.hasPrecomputes(this))return S.wNAFCachedUnsafe(this,C,f.normalizeZ);let{k1neg:F,k1:x,k2neg:B,k2:W}=R.splitScalar(C),O=L,A=L,N=this;for(;x>hn||W>hn;)x&ut&&(O=O.add(N)),W&ut&&(A=A.add(N)),N=N.double(),x>>=ut,W>>=ut;return F&&(O=O.negate()),B&&(A=A.negate()),A=new f(s.mul(A.px,R.beta),A.py,A.pz),O.add(A)}multiply(C){const{endo:R,n:k}=e;si("scalar",C,ut,k);let L,F;if(R){const{k1neg:x,k1:B,k2neg:W,k2:O}=R.splitScalar(C);let{p:A,f:N}=this.wNAF(B),{p:E,f:_}=this.wNAF(O);A=S.constTimeNegate(x,A),E=S.constTimeNegate(W,E),E=new f(s.mul(E.px,R.beta),E.py,E.pz),L=A.add(E),F=N.add(_)}else{const{p:x,f:B}=this.wNAF(C);L=x,F=B}return f.normalizeZ([L,F])[0]}multiplyAndAddUnsafe(C,R,k){const L=f.BASE,F=(B,W)=>W===hn||W===ut||!B.equals(L)?B.multiplyUnsafe(W):B.multiply(W),x=F(this,R).add(F(C,k));return x.is0()?void 0:x}toAffine(C){return p(this,C)}isTorsionFree(){const{h:C,isTorsionFree:R}=e;if(C===ut)return!0;if(R)return R(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:C,clearCofactor:R}=e;return C===ut?this:R?R(f,this):this.multiplyUnsafe(e.h)}toRawBytes(C=!0){return po("isCompressed",C),this.assertValidity(),r(f,this,C)}toHex(C=!0){return po("isCompressed",C),fo(this.toRawBytes(C))}}f.BASE=new f(e.Gx,e.Gy,s.ONE),f.ZERO=new f(s.ZERO,s.ONE,s.ZERO);const{endo:y,nBitLength:b}=e,S=T_(f,y?Math.ceil(b/2):b);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:u,weierstrassEquation:o,isWithinCurveOrder:d}}function U_(t){const e=mg(t);return Qa(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function $_(t){const e=U_(t),{Fp:s,n,nByteLength:r,nBitLength:i}=e,o=s.BYTES+1,a=2*s.BYTES+1;function c(E){return Vt(E,n)}function l(E){return Ol(E,n)}const{ProjectivePoint:d,normPrivateKeyToScalar:u,weierstrassEquation:h,isWithinCurveOrder:p}=k_({...e,toBytes(E,_,T){const D=_.toAffine(),I=s.toBytes(D.x),P=xa;return po("isCompressed",T),T?P(Uint8Array.from([_.hasEvenY()?2:3]),I):P(Uint8Array.from([4]),I,s.toBytes(D.y))},fromBytes(E){const _=E.length,T=E[0],D=E.subarray(1);if(_===o&&(T===2||T===3)){const I=Cr(D);if(!Id(I,ut,s.ORDER))throw new Error("Point is not on curve");const P=h(I);let H;try{H=s.sqrt(P)}catch(de){const oe=de instanceof Error?": "+de.message:"";throw new Error("Point is not on curve"+oe)}const z=(H&ut)===ut;return(T&1)===1!==z&&(H=s.neg(H)),{x:I,y:H}}else if(_===a&&T===4){const I=s.fromBytes(D.subarray(0,s.BYTES)),P=s.fromBytes(D.subarray(s.BYTES,2*s.BYTES));return{x:I,y:P}}else{const I=o,P=a;throw new Error("invalid Point, expected length of "+I+", or uncompressed "+P+", got "+_)}}});function m(E){const _=n>>ut;return E>_}function f(E){return m(E)?c(-E):E}const y=(E,_,T)=>Cr(E.slice(_,T));class b{constructor(_,T,D){si("r",_,ut,n),si("s",T,ut,n),this.r=_,this.s=T,D!=null&&(this.recovery=D),Object.freeze(this)}static fromCompact(_){const T=r;return _=ms("compactSignature",_,T*2),new b(y(_,0,T),y(_,T,2*T))}static fromDER(_){const{r:T,s:D}=ln.toSig(ms("DER",_));return new b(T,D)}assertValidity(){}addRecoveryBit(_){return new b(this.r,this.s,_)}recoverPublicKey(_){const{r:T,s:D,recovery:I}=this,P=L(ms("msgHash",_));if(I==null||![0,1,2,3].includes(I))throw new Error("recovery id invalid");const H=I===2||I===3?T+e.n:T;if(H>=s.ORDER)throw new Error("recovery id 2 or 3 invalid");const z=I&1?"03":"02",me=d.fromHex(z+xc(H,s.BYTES)),de=l(H),oe=c(-P*de),be=c(D*de),fe=d.BASE.multiplyAndAddUnsafe(me,oe,be);if(!fe)throw new Error("point at infinify");return fe.assertValidity(),fe}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new b(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return Pa(this.toDERHex())}toDERHex(){return ln.hexFromSig(this)}toCompactRawBytes(){return Pa(this.toCompactHex())}toCompactHex(){const _=r;return xc(this.r,_)+xc(this.s,_)}}const S={isValidPrivateKey(E){try{return u(E),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const E=pg(e.n);return S_(e.randomBytes(E),e.n)},precompute(E=8,_=d.BASE){return _._setWindowSize(E),_.multiply(BigInt(3)),_}};function v(E,_=!0){return d.fromPrivateKey(E).toRawBytes(_)}function C(E){if(typeof E=="bigint")return!1;if(E instanceof d)return!0;const T=ms("key",E).length,D=s.BYTES,I=D+1,P=2*D+1;if(!(e.allowedPrivateKeyLengths||r===I))return T===I||T===P}function R(E,_,T=!0){if(C(E)===!0)throw new Error("first arg must be private key");if(C(_)===!1)throw new Error("second arg must be public key");return d.fromHex(_).multiply(u(E)).toRawBytes(T)}const k=e.bits2int||function(E){if(E.length>8192)throw new Error("input is too large");const _=Cr(E),T=E.length*8-i;return T>0?_>>BigInt(T):_},L=e.bits2int_modN||function(E){return c(k(E))},F=Xa(i);function x(E){return si("num < 2^"+i,E,hn,F),No(E,r)}function B(E,_,T=W){if(["recovered","canonical"].some(ye=>ye in T))throw new Error("sign() legacy options not supported");const{hash:D,randomBytes:I}=e;let{lowS:P,prehash:H,extraEntropy:z}=T;P==null&&(P=!0),E=ms("msgHash",E),ih(T),H&&(E=ms("prehashed msgHash",D(E)));const me=L(E),de=u(_),oe=[x(de),x(me)];if(z!=null&&z!==!1){const ye=z===!0?I(s.BYTES):z;oe.push(ms("extraEntropy",ye))}const be=xa(...oe),fe=me;function Be(ye){const qe=k(ye);if(!p(qe))return;const Rt=l(qe),Bt=d.BASE.multiply(qe).toAffine(),Ot=c(Bt.x);if(Ot===hn)return;const ls=c(Rt*c(fe+Ot*de));if(ls===hn)return;let Qn=(Bt.x===Ot?0:2)|Number(Bt.y&ut),Lr=ls;return P&&m(ls)&&(Lr=f(ls),Qn^=1),new b(Ot,Lr,Qn)}return{seed:be,k2sig:Be}}const W={lowS:e.lowS,prehash:!1},O={lowS:e.lowS,prehash:!1};function A(E,_,T=W){const{seed:D,k2sig:I}=B(E,_,T),P=e;return kv(P.hash.outputLen,P.nByteLength,P.hmac)(D,I)}d.BASE._setWindowSize(8);function N(E,_,T,D=O){var Qn;const I=E;_=ms("msgHash",_),T=ms("publicKey",T);const{lowS:P,prehash:H,format:z}=D;if(ih(D),"strict"in D)throw new Error("options.strict was renamed to lowS");if(z!==void 0&&z!=="compact"&&z!=="der")throw new Error("format must be compact or der");const me=typeof I=="string"||Io(I),de=!me&&!z&&typeof I=="object"&&I!==null&&typeof I.r=="bigint"&&typeof I.s=="bigint";if(!me&&!de)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let oe,be;try{if(de&&(oe=new b(I.r,I.s)),me){try{z!=="compact"&&(oe=b.fromDER(I))}catch(Lr){if(!(Lr instanceof ln.Err))throw Lr}!oe&&z!=="der"&&(oe=b.fromCompact(I))}be=d.fromHex(T)}catch{return!1}if(!oe||P&&oe.hasHighS())return!1;H&&(_=e.hash(_));const{r:fe,s:Be}=oe,ye=L(_),qe=l(Be),Rt=c(ye*qe),Bt=c(fe*qe),Ot=(Qn=d.BASE.multiplyAndAddUnsafe(be,Rt,Bt))==null?void 0:Qn.toAffine();return Ot?c(Ot.x)===fe:!1}return{CURVE:e,getPublicKey:v,getSharedSecret:R,sign:A,verify:N,ProjectivePoint:d,Signature:b,utils:S}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function D_(t){return{hash:t,hmac:(e,...s)=>Ly(t,e,My(...s)),randomBytes:Dy}}function L_(t,e){const s=n=>$_({...t,...D_(n)});return{...s(e),create:s}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const yg=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),oh=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),M_=BigInt(0),B_=BigInt(1),xl=BigInt(2),ah=(t,e)=>(t+e/xl)/e;function j_(t){const e=yg,s=BigInt(3),n=BigInt(6),r=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),l=t*t*t%e,d=l*l*t%e,u=ds(d,s,e)*d%e,h=ds(u,s,e)*d%e,p=ds(h,xl,e)*l%e,m=ds(p,r,e)*p%e,f=ds(m,i,e)*m%e,y=ds(f,a,e)*f%e,b=ds(y,c,e)*y%e,S=ds(b,a,e)*f%e,v=ds(S,s,e)*d%e,C=ds(v,o,e)*m%e,R=ds(C,n,e)*l%e,k=ds(R,xl,e);if(!kl.eql(kl.sqr(k),t))throw new Error("Cannot find square root");return k}const kl=Rd(yg,void 0,void 0,{sqrt:j_}),F_=L_({a:M_,b:BigInt(7),Fp:kl,n:oh,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{const e=oh,s=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-B_*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),r=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=s,o=BigInt("0x100000000000000000000000000000000"),a=ah(i*t,e),c=ah(-n*t,e);let l=Vt(t-a*s-c*r,e),d=Vt(-a*n-c*i,e);const u=l>o,h=d>o;if(u&&(l=e-l),h&&(d=e-d),l>o||d>o)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:u,k1:l,k2neg:h,k2:d}}}},By);function q_(t){if(t.length!==130&&t.length!==132)throw new H_({signature:t});const e=BigInt(an(t,0,32)),s=BigInt(an(t,32,64)),n=(()=>{const r=+`0x${t.slice(130)}`;if(!Number.isNaN(r))try{return W_(r)}catch{throw new V_({value:r})}})();return typeof n>"u"?{r:e,s}:{r:e,s,yParity:n}}function W_(t){if(t===0||t===27)return 0;if(t===1||t===28)return 1;if(t>=35)return t%2===0?1:0;throw new z_({value:t})}class H_ extends Ze{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${Yn(Td(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class V_ extends Ze{constructor({value:e}){super(`Value \`${e}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}}class z_ extends Ze{constructor({value:e}){super(`Value \`${e}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}}function K_(t){return g_(G_(t))}function G_(t){const{payload:e,signature:s}=t,{r:n,s:r,yParity:i}=s,a=new F_.Signature(BigInt(n),BigInt(r)).addRecoveryBit(i).recoverPublicKey(Td(e).substring(2));return o_(a)}var Y_={};const Z_=":";function mn(t){const[e,s]=t.split(Z_);return{namespace:e,reference:s}}function wg(t,e){return t.includes(":")?[t]:e.chains||[]}var J_=Object.defineProperty,X_=Object.defineProperties,Q_=Object.getOwnPropertyDescriptors,ch=Object.getOwnPropertySymbols,e0=Object.prototype.hasOwnProperty,t0=Object.prototype.propertyIsEnumerable,Ul=(t,e,s)=>e in t?J_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,lh=(t,e)=>{for(var s in e||(e={}))e0.call(e,s)&&Ul(t,s,e[s]);if(ch)for(var s of ch(e))t0.call(e,s)&&Ul(t,s,e[s]);return t},s0=(t,e)=>X_(t,Q_(e)),dh=(t,e,s)=>Ul(t,typeof e!="symbol"?e+"":e,s);const n0="ReactNative",cs={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},r0="js";function Ua(){return typeof fn<"u"&&typeof fn.versions<"u"&&typeof fn.versions.node<"u"}function Jn(){return!ci()&&!!yf()&&navigator.product===n0}function i0(){return Jn()&&typeof ve<"u"&&typeof(ve==null?void 0:ve.Platform)<"u"&&(ve==null?void 0:ve.Platform.OS)==="android"}function o0(){return Jn()&&typeof ve<"u"&&typeof(ve==null?void 0:ve.Platform)<"u"&&(ve==null?void 0:ve.Platform.OS)==="ios"}function Ei(){return!Ua()&&!!yf()&&!!ci()}function To(){return Jn()?cs.reactNative:Ua()?cs.node:Ei()?cs.browser:cs.unknown}function uh(){var t;try{return Jn()&&typeof ve<"u"&&typeof(ve==null?void 0:ve.Application)<"u"?(t=ve.Application)==null?void 0:t.applicationId:void 0}catch{return}}function a0(t,e){const s=new URLSearchParams(t);return Object.entries(e).sort(([n],[r])=>n.localeCompare(r)).forEach(([n,r])=>{r!=null&&s.set(n,String(r))}),s.toString()}function c0(t){var e,s;const n=Eg();try{return t!=null&&t.url&&n.url&&new URL(t.url).host!==new URL(n.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${t.url} differs from the actual page url:${n.url}. This is probably unintended and can lead to issues.`),t.url=n.url),(e=t==null?void 0:t.icons)!=null&&e.length&&t.icons.length>0&&(t.icons=t.icons.filter(r=>r!=="")),s0(lh(lh({},n),t),{url:(t==null?void 0:t.url)||n.url,name:(t==null?void 0:t.name)||n.name,description:(t==null?void 0:t.description)||n.description,icons:(s=t==null?void 0:t.icons)!=null&&s.length&&t.icons.length>0?t.icons:n.icons})}catch(r){return console.warn("Error populating app metadata",r),t||n}}function Eg(){return vy()||{name:"",description:"",url:"",icons:[""]}}function l0(){if(To()===cs.reactNative&&typeof ve<"u"&&typeof(ve==null?void 0:ve.Platform)<"u"){const{OS:s,Version:n}=ve.Platform;return[s,n].join("-")}const t=Ay();if(t===null)return"unknown";const e=t.os?t.os.replace(" ","").toLowerCase():"unknown";return t.type==="browser"?[e,t.name,t.version].join("-"):[e,t.version].join("-")}function d0(){var t;const e=To();return e===cs.browser?[e,((t=Sy())==null?void 0:t.host)||"unknown"].join(":"):e}function bg(t,e,s){const n=l0(),r=d0();return[[t,e].join("-"),[r0,s].join("-"),n,r].join("/")}function u0({protocol:t,version:e,relayUrl:s,sdkVersion:n,auth:r,projectId:i,useOnCloseEvent:o,bundleId:a,packageName:c}){const l=s.split("?"),d=bg(t,e,n),u={auth:r,ua:d,projectId:i,useOnCloseEvent:o,packageName:c||void 0,bundleId:a||void 0},h=a0(l[1]||"",u);return l[0]+"?"+h}function fr(t,e){return t.filter(s=>e.includes(s)).length===t.length}function $l(t){return Object.fromEntries(t.entries())}function Dl(t){return new Map(Object.entries(t))}function cr(t=Y.FIVE_MINUTES,e){const s=Y.toMiliseconds(t||Y.FIVE_MINUTES);let n,r,i,o;return{resolve:a=>{i&&n&&(clearTimeout(i),n(a),o=Promise.resolve(a))},reject:a=>{i&&r&&(clearTimeout(i),r(a))},done:()=>new Promise((a,c)=>{if(o)return a(o);i=setTimeout(()=>{const l=new Error(e);o=Promise.reject(l),c(l)},s),n=a,r=c})}}function Hs(t,e,s){return new Promise(async(n,r)=>{const i=setTimeout(()=>r(new Error(s)),e);try{const o=await t;n(o)}catch(o){r(o)}clearTimeout(i)})}function Cg(t,e){if(typeof e=="string"&&e.startsWith(`${t}:`))return e;if(t.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(t.toLowerCase()==="id"){if(typeof e!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${t}`)}function h0(t){return Cg("topic",t)}function p0(t){return Cg("id",t)}function vg(t){const[e,s]=t.split(":"),n={id:void 0,topic:void 0};if(e==="topic"&&typeof s=="string")n.topic=s;else if(e==="id"&&Number.isInteger(Number(s)))n.id=Number(s);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${s}`);return n}function st(t,e){return Y.fromMiliseconds(Date.now()+Y.toMiliseconds(t))}function qs(t){return Date.now()>=Y.toMiliseconds(t)}function je(t,e){return`${t}${e?`:${e}`:""}`}function Ks(t=[],e=[]){return[...new Set([...t,...e])]}async function f0({id:t,topic:e,wcDeepLink:s}){var n;try{if(!s)return;const r=typeof s=="string"?JSON.parse(s):s,i=r==null?void 0:r.href;if(typeof i!="string")return;const o=g0(i,t,e),a=To();if(a===cs.browser){if(!((n=ci())!=null&&n.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}m0(o)}else a===cs.reactNative&&typeof(ve==null?void 0:ve.Linking)<"u"&&await ve.Linking.openURL(o)}catch(r){console.error(r)}}function g0(t,e,s){const n=`requestId=${e}&sessionTopic=${s}`;t.endsWith("/")&&(t=t.slice(0,-1));let r=`${t}`;if(t.startsWith("https://t.me")){const i=t.includes("?")?"&startapp=":"?startapp=";r=`${r}${i}${b0(n,!0)}`}else r=`${r}/wc?${n}`;return r}function m0(t){let e="_self";E0()?e="_top":(w0()||t.startsWith("https://")||t.startsWith("http://"))&&(e="_blank"),window.open(t,e,"noreferrer noopener")}async function y0(t,e){let s="";try{if(Ei()&&(s=localStorage.getItem(e),s))return s;s=await t.getItem(e)}catch(n){console.error(n)}return s}function hh(t,e){if(!t.includes(e))return null;const s=t.split(/([&,?,=])/),n=s.indexOf(e);return s[n+2]}function ph(){return typeof crypto<"u"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function Od(){return typeof fn<"u"&&Y_.IS_VITEST==="true"}function w0(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function E0(){try{return window.self!==window.top}catch{return!1}}function b0(t,e=!1){const s=ke.from(t).toString("base64");return e?s.replace(/[=]/g,""):s}function _g(t){return ke.from(t,"base64").toString("utf-8")}function C0(t){return new Promise(e=>setTimeout(e,t))}let v0=class{constructor({limit:e}){dh(this,"limit"),dh(this,"set"),this.limit=e,this.set=new Set}add(e){if(!this.set.has(e)){if(this.set.size>=this.limit){const s=this.set.values().next().value;s&&this.set.delete(s)}this.set.add(e)}}has(e){return this.set.has(e)}};const Go=BigInt(2**32-1),fh=BigInt(32);function Ag(t,e=!1){return e?{h:Number(t&Go),l:Number(t>>fh&Go)}:{h:Number(t>>fh&Go)|0,l:Number(t&Go)|0}}function Sg(t,e=!1){const s=t.length;let n=new Uint32Array(s),r=new Uint32Array(s);for(let i=0;i<s;i++){const{h:o,l:a}=Ag(t[i],e);[n[i],r[i]]=[o,a]}return[n,r]}const gh=(t,e,s)=>t>>>s,mh=(t,e,s)=>t<<32-s|e>>>s,Pn=(t,e,s)=>t>>>s|e<<32-s,xn=(t,e,s)=>t<<32-s|e>>>s,Ui=(t,e,s)=>t<<64-s|e>>>s-32,$i=(t,e,s)=>t>>>s-32|e<<64-s,_0=(t,e)=>e,A0=(t,e)=>t,S0=(t,e,s)=>t<<s|e>>>32-s,I0=(t,e,s)=>e<<s|t>>>32-s,N0=(t,e,s)=>e<<s-32|t>>>64-s,T0=(t,e,s)=>t<<s-32|e>>>64-s;function Ns(t,e,s,n){const r=(e>>>0)+(n>>>0);return{h:t+s+(r/2**32|0)|0,l:r|0}}const Pd=(t,e,s)=>(t>>>0)+(e>>>0)+(s>>>0),xd=(t,e,s,n)=>e+s+n+(t/2**32|0)|0,R0=(t,e,s,n)=>(t>>>0)+(e>>>0)+(s>>>0)+(n>>>0),O0=(t,e,s,n,r)=>e+s+n+r+(t/2**32|0)|0,P0=(t,e,s,n,r)=>(t>>>0)+(e>>>0)+(s>>>0)+(n>>>0)+(r>>>0),x0=(t,e,s,n,r,i)=>e+s+n+r+i+(t/2**32|0)|0,jr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function ec(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Cn(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function $s(t,...e){if(!ec(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function tc(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Cn(t.outputLen),Cn(t.blockLen)}function Zn(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function kd(t,e){$s(t);const s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function go(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Cs(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function Uc(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Ds(t,e){return t<<32-e|t>>>e}const Ig=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ng(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}const nn=Ig?t=>t:t=>Ng(t);function k0(t){for(let e=0;e<t.length;e++)t[e]=Ng(t[e]);return t}const kn=Ig?t=>t:k0,Tg=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",U0=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ni(t){if($s(t),Tg)return t.toHex();let e="";for(let s=0;s<t.length;s++)e+=U0[t[s]];return e}const tn={_0:48,_9:57,A:65,F:70,a:97,f:102};function yh(t){if(t>=tn._0&&t<=tn._9)return t-tn._0;if(t>=tn.A&&t<=tn.F)return t-(tn.A-10);if(t>=tn.a&&t<=tn.f)return t-(tn.a-10)}function $a(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(Tg)return Uint8Array.fromHex(t);const e=t.length,s=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(s);for(let r=0,i=0;r<s;r++,i+=2){const o=yh(t.charCodeAt(i)),a=yh(t.charCodeAt(i+1));if(o===void 0||a===void 0){const c=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[r]=o*16+a}return n}function Rg(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function ks(t){return typeof t=="string"&&(t=Rg(t)),$s(t),t}function Dn(...t){let e=0;for(let n=0;n<t.length;n++){const r=t[n];$s(r),e+=r.length}const s=new Uint8Array(e);for(let n=0,r=0;n<t.length;n++){const i=t[n];s.set(i,r),r+=i.length}return s}let sc=class{};function Ro(t){const e=n=>t().update(ks(n)).digest(),s=t();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>t(),e}function $0(t){const e=(n,r)=>t(r).update(ks(n)).digest(),s=t({});return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=n=>t(n),e}function $r(t=32){if(jr&&typeof jr.getRandomValues=="function")return jr.getRandomValues(new Uint8Array(t));if(jr&&typeof jr.randomBytes=="function")return Uint8Array.from(jr.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}const D0=BigInt(0),_i=BigInt(1),L0=BigInt(2),M0=BigInt(7),B0=BigInt(256),j0=BigInt(113),Og=[],Pg=[],xg=[];for(let t=0,e=_i,s=1,n=0;t<24;t++){[s,n]=[n,(2*s+3*n)%5],Og.push(2*(5*n+s)),Pg.push((t+1)*(t+2)/2%64);let r=D0;for(let i=0;i<7;i++)e=(e<<_i^(e>>M0)*j0)%B0,e&L0&&(r^=_i<<(_i<<BigInt(i))-_i);xg.push(r)}const kg=Sg(xg,!0),F0=kg[0],q0=kg[1],wh=(t,e,s)=>s>32?N0(t,e,s):S0(t,e,s),Eh=(t,e,s)=>s>32?T0(t,e,s):I0(t,e,s);function W0(t,e=24){const s=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let o=0;o<10;o++)s[o]=t[o]^t[o+10]^t[o+20]^t[o+30]^t[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,l=s[c],d=s[c+1],u=wh(l,d,1)^s[a],h=Eh(l,d,1)^s[a+1];for(let p=0;p<50;p+=10)t[o+p]^=u,t[o+p+1]^=h}let r=t[2],i=t[3];for(let o=0;o<24;o++){const a=Pg[o],c=wh(r,i,a),l=Eh(r,i,a),d=Og[o];r=t[d],i=t[d+1],t[d]=c,t[d+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)s[a]=t[o+a];for(let a=0;a<10;a++)t[o+a]^=~s[(a+2)%10]&s[(a+4)%10]}t[0]^=F0[n],t[1]^=q0[n]}Cs(s)}let H0=class Ug extends sc{constructor(e,s,n,r=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=s,this.outputLen=n,this.enableXOF=r,this.rounds=i,Cn(n),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=go(this.state)}clone(){return this._cloneInto()}keccak(){kn(this.state32),W0(this.state32,this.rounds),kn(this.state32),this.posOut=0,this.pos=0}update(e){Zn(this),e=ks(e),$s(e);const{blockLen:s,state:n}=this,r=e.length;for(let i=0;i<r;){const o=Math.min(s-this.pos,r-i);for(let a=0;a<o;a++)n[this.pos++]^=e[i++];this.pos===s&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:s,pos:n,blockLen:r}=this;e[n]^=s,s&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){Zn(this,!1),$s(e),this.finish();const s=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();const o=Math.min(n-this.posOut,i-r);e.set(s.subarray(this.posOut,this.posOut+o),r),this.posOut+=o,r+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Cn(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(kd(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Cs(this.state)}_cloneInto(e){const{blockLen:s,suffix:n,outputLen:r,rounds:i,enableXOF:o}=this;return e||(e=new Ug(s,n,r,o,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=n,e.outputLen=r,e.enableXOF=o,e.destroyed=this.destroyed,e}};const V0=(t,e,s)=>Ro(()=>new H0(e,t,s)),z0=V0(1,136,256/8);function K0(t,e,s,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,s,n);const r=BigInt(32),i=BigInt(4294967295),o=Number(s>>r&i),a=Number(s&i),c=n?4:0,l=n?0:4;t.setUint32(e+c,o,n),t.setUint32(e+l,a,n)}function G0(t,e,s){return t&e^~t&s}function Y0(t,e,s){return t&e^t&s^e&s}let $g=class extends sc{constructor(e,s,n,r){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=s,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=Uc(this.buffer)}update(e){Zn(this),e=ks(e),$s(e);const{view:s,buffer:n,blockLen:r}=this,i=e.length;for(let o=0;o<i;){const a=Math.min(r-this.pos,i-o);if(a===r){const c=Uc(e);for(;r<=i-o;o+=r)this.process(c,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===r&&(this.process(s,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Zn(this),kd(e,this),this.finished=!0;const{buffer:s,view:n,blockLen:r,isLE:i}=this;let{pos:o}=this;s[o++]=128,Cs(this.buffer.subarray(o)),this.padOffset>r-o&&(this.process(n,0),o=0);for(let u=o;u<r;u++)s[u]=0;K0(n,r-8,BigInt(this.length*8),i),this.process(n,0);const a=Uc(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=c/4,d=this.get();if(l>d.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)a.setUint32(4*u,d[u],i)}digest(){const{buffer:e,outputLen:s}=this;this.digestInto(e);const n=e.slice(0,s);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:s,buffer:n,length:r,finished:i,destroyed:o,pos:a}=this;return e.destroyed=o,e.finished=i,e.length=r,e.pos=a,r%s&&e.buffer.set(n),e}clone(){return this._cloneInto()}};const Sn=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ct=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),vt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),Z0=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),In=new Uint32Array(64);class J0 extends $g{constructor(e=32){super(64,e,8,!1),this.A=Sn[0]|0,this.B=Sn[1]|0,this.C=Sn[2]|0,this.D=Sn[3]|0,this.E=Sn[4]|0,this.F=Sn[5]|0,this.G=Sn[6]|0,this.H=Sn[7]|0}get(){const{A:e,B:s,C:n,D:r,E:i,F:o,G:a,H:c}=this;return[e,s,n,r,i,o,a,c]}set(e,s,n,r,i,o,a,c){this.A=e|0,this.B=s|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,s){for(let u=0;u<16;u++,s+=4)In[u]=e.getUint32(s,!1);for(let u=16;u<64;u++){const h=In[u-15],p=In[u-2],m=Ds(h,7)^Ds(h,18)^h>>>3,f=Ds(p,17)^Ds(p,19)^p>>>10;In[u]=f+In[u-7]+m+In[u-16]|0}let{A:n,B:r,C:i,D:o,E:a,F:c,G:l,H:d}=this;for(let u=0;u<64;u++){const h=Ds(a,6)^Ds(a,11)^Ds(a,25),p=d+h+G0(a,c,l)+Z0[u]+In[u]|0,m=(Ds(n,2)^Ds(n,13)^Ds(n,22))+Y0(n,r,i)|0;d=l,l=c,c=a,a=o+p|0,o=i,i=r,r=n,n=p+m|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,d=d+this.H|0,this.set(n,r,i,o,a,c,l,d)}roundClean(){Cs(In)}destroy(){this.set(0,0,0,0,0,0,0,0),Cs(this.buffer)}}const Dg=Sg(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),X0=Dg[0],Q0=Dg[1],Nn=new Uint32Array(80),Tn=new Uint32Array(80);let Ud=class extends $g{constructor(e=64){super(128,e,16,!1),this.Ah=vt[0]|0,this.Al=vt[1]|0,this.Bh=vt[2]|0,this.Bl=vt[3]|0,this.Ch=vt[4]|0,this.Cl=vt[5]|0,this.Dh=vt[6]|0,this.Dl=vt[7]|0,this.Eh=vt[8]|0,this.El=vt[9]|0,this.Fh=vt[10]|0,this.Fl=vt[11]|0,this.Gh=vt[12]|0,this.Gl=vt[13]|0,this.Hh=vt[14]|0,this.Hl=vt[15]|0}get(){const{Ah:e,Al:s,Bh:n,Bl:r,Ch:i,Cl:o,Dh:a,Dl:c,Eh:l,El:d,Fh:u,Fl:h,Gh:p,Gl:m,Hh:f,Hl:y}=this;return[e,s,n,r,i,o,a,c,l,d,u,h,p,m,f,y]}set(e,s,n,r,i,o,a,c,l,d,u,h,p,m,f,y){this.Ah=e|0,this.Al=s|0,this.Bh=n|0,this.Bl=r|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=d|0,this.Fh=u|0,this.Fl=h|0,this.Gh=p|0,this.Gl=m|0,this.Hh=f|0,this.Hl=y|0}process(e,s){for(let v=0;v<16;v++,s+=4)Nn[v]=e.getUint32(s),Tn[v]=e.getUint32(s+=4);for(let v=16;v<80;v++){const C=Nn[v-15]|0,R=Tn[v-15]|0,k=Pn(C,R,1)^Pn(C,R,8)^gh(C,R,7),L=xn(C,R,1)^xn(C,R,8)^mh(C,R,7),F=Nn[v-2]|0,x=Tn[v-2]|0,B=Pn(F,x,19)^Ui(F,x,61)^gh(F,x,6),W=xn(F,x,19)^$i(F,x,61)^mh(F,x,6),O=R0(L,W,Tn[v-7],Tn[v-16]),A=O0(O,k,B,Nn[v-7],Nn[v-16]);Nn[v]=A|0,Tn[v]=O|0}let{Ah:n,Al:r,Bh:i,Bl:o,Ch:a,Cl:c,Dh:l,Dl:d,Eh:u,El:h,Fh:p,Fl:m,Gh:f,Gl:y,Hh:b,Hl:S}=this;for(let v=0;v<80;v++){const C=Pn(u,h,14)^Pn(u,h,18)^Ui(u,h,41),R=xn(u,h,14)^xn(u,h,18)^$i(u,h,41),k=u&p^~u&f,L=h&m^~h&y,F=P0(S,R,L,Q0[v],Tn[v]),x=x0(F,b,C,k,X0[v],Nn[v]),B=F|0,W=Pn(n,r,28)^Ui(n,r,34)^Ui(n,r,39),O=xn(n,r,28)^$i(n,r,34)^$i(n,r,39),A=n&i^n&a^i&a,N=r&o^r&c^o&c;b=f|0,S=y|0,f=p|0,y=m|0,p=u|0,m=h|0,{h:u,l:h}=Ns(l|0,d|0,x|0,B|0),l=a|0,d=c|0,a=i|0,c=o|0,i=n|0,o=r|0;const E=Pd(B,O,N);n=xd(E,x,W,A),r=E|0}({h:n,l:r}=Ns(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:o}=Ns(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=Ns(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:d}=Ns(this.Dh|0,this.Dl|0,l|0,d|0),{h:u,l:h}=Ns(this.Eh|0,this.El|0,u|0,h|0),{h:p,l:m}=Ns(this.Fh|0,this.Fl|0,p|0,m|0),{h:f,l:y}=Ns(this.Gh|0,this.Gl|0,f|0,y|0),{h:b,l:S}=Ns(this.Hh|0,this.Hl|0,b|0,S|0),this.set(n,r,i,o,a,c,l,d,u,h,p,m,f,y,b,S)}roundClean(){Cs(Nn,Tn)}destroy(){Cs(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};class eA extends Ud{constructor(){super(48),this.Ah=Ct[0]|0,this.Al=Ct[1]|0,this.Bh=Ct[2]|0,this.Bl=Ct[3]|0,this.Ch=Ct[4]|0,this.Cl=Ct[5]|0,this.Dh=Ct[6]|0,this.Dl=Ct[7]|0,this.Eh=Ct[8]|0,this.El=Ct[9]|0,this.Fh=Ct[10]|0,this.Fl=Ct[11]|0,this.Gh=Ct[12]|0,this.Gl=Ct[13]|0,this.Hh=Ct[14]|0,this.Hl=Ct[15]|0}}const _t=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]);class tA extends Ud{constructor(){super(32),this.Ah=_t[0]|0,this.Al=_t[1]|0,this.Bh=_t[2]|0,this.Bl=_t[3]|0,this.Ch=_t[4]|0,this.Cl=_t[5]|0,this.Dh=_t[6]|0,this.Dl=_t[7]|0,this.Eh=_t[8]|0,this.El=_t[9]|0,this.Fh=_t[10]|0,this.Fl=_t[11]|0,this.Gh=_t[12]|0,this.Gl=_t[13]|0,this.Hh=_t[14]|0,this.Hl=_t[15]|0}}const nc=Ro(()=>new J0),sA=Ro(()=>new Ud),nA=Ro(()=>new eA),rA=Ro(()=>new tA),iA=Uint8Array.from([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9]),ot=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),X=new Uint32Array(32);function Rn(t,e,s,n,r,i){const o=r[i],a=r[i+1];let c=X[2*t],l=X[2*t+1],d=X[2*e],u=X[2*e+1],h=X[2*s],p=X[2*s+1],m=X[2*n],f=X[2*n+1],y=Pd(c,d,o);l=xd(y,l,u,a),c=y|0,{Dh:f,Dl:m}={Dh:f^l,Dl:m^c},{Dh:f,Dl:m}={Dh:_0(f,m),Dl:A0(f)},{h:p,l:h}=Ns(p,h,f,m),{Bh:u,Bl:d}={Bh:u^p,Bl:d^h},{Bh:u,Bl:d}={Bh:Pn(u,d,24),Bl:xn(u,d,24)},X[2*t]=c,X[2*t+1]=l,X[2*e]=d,X[2*e+1]=u,X[2*s]=h,X[2*s+1]=p,X[2*n]=m,X[2*n+1]=f}function On(t,e,s,n,r,i){const o=r[i],a=r[i+1];let c=X[2*t],l=X[2*t+1],d=X[2*e],u=X[2*e+1],h=X[2*s],p=X[2*s+1],m=X[2*n],f=X[2*n+1],y=Pd(c,d,o);l=xd(y,l,u,a),c=y|0,{Dh:f,Dl:m}={Dh:f^l,Dl:m^c},{Dh:f,Dl:m}={Dh:Pn(f,m,16),Dl:xn(f,m,16)},{h:p,l:h}=Ns(p,h,f,m),{Bh:u,Bl:d}={Bh:u^p,Bl:d^h},{Bh:u,Bl:d}={Bh:Ui(u,d,63),Bl:$i(u,d,63)},X[2*t]=c,X[2*t+1]=l,X[2*e]=d,X[2*e+1]=u,X[2*s]=h,X[2*s+1]=p,X[2*n]=m,X[2*n+1]=f}function oA(t,e={},s,n,r){if(Cn(s),t<0||t>s)throw new Error("outputLen bigger than keyLen");const{key:i,salt:o,personalization:a}=e;if(i!==void 0&&(i.length<1||i.length>s))throw new Error("key length must be undefined or 1.."+s);if(o!==void 0&&o.length!==n)throw new Error("salt must be undefined or "+n);if(a!==void 0&&a.length!==r)throw new Error("personalization must be undefined or "+r)}class aA extends sc{constructor(e,s){super(),this.finished=!1,this.destroyed=!1,this.length=0,this.pos=0,Cn(e),Cn(s),this.blockLen=e,this.outputLen=s,this.buffer=new Uint8Array(e),this.buffer32=go(this.buffer)}update(e){Zn(this),e=ks(e),$s(e);const{blockLen:s,buffer:n,buffer32:r}=this,i=e.length,o=e.byteOffset,a=e.buffer;for(let c=0;c<i;){this.pos===s&&(kn(r),this.compress(r,0,!1),kn(r),this.pos=0);const l=Math.min(s-this.pos,i-c),d=o+c;if(l===s&&!(d%4)&&c+l<i){const u=new Uint32Array(a,d,Math.floor((i-c)/4));kn(u);for(let h=0;c+s<i;h+=r.length,c+=s)this.length+=s,this.compress(u,h,!1);kn(u);continue}n.set(e.subarray(c,c+l),this.pos),this.pos+=l,this.length+=l,c+=l}return this}digestInto(e){Zn(this),kd(e,this);const{pos:s,buffer32:n}=this;this.finished=!0,Cs(this.buffer.subarray(s)),kn(n),this.compress(n,0,!0),kn(n);const r=go(e);this.get().forEach((i,o)=>r[o]=nn(i))}digest(){const{buffer:e,outputLen:s}=this;this.digestInto(e);const n=e.slice(0,s);return this.destroy(),n}_cloneInto(e){const{buffer:s,length:n,finished:r,destroyed:i,outputLen:o,pos:a}=this;return e||(e=new this.constructor({dkLen:o})),e.set(...this.get()),e.buffer.set(s),e.destroyed=i,e.finished=r,e.length=n,e.pos=a,e.outputLen=o,e}clone(){return this._cloneInto()}}class cA extends aA{constructor(e={}){const s=e.dkLen===void 0?64:e.dkLen;super(128,s),this.v0l=ot[0]|0,this.v0h=ot[1]|0,this.v1l=ot[2]|0,this.v1h=ot[3]|0,this.v2l=ot[4]|0,this.v2h=ot[5]|0,this.v3l=ot[6]|0,this.v3h=ot[7]|0,this.v4l=ot[8]|0,this.v4h=ot[9]|0,this.v5l=ot[10]|0,this.v5h=ot[11]|0,this.v6l=ot[12]|0,this.v6h=ot[13]|0,this.v7l=ot[14]|0,this.v7h=ot[15]|0,oA(s,e,64,16,16);let{key:n,personalization:r,salt:i}=e,o=0;if(n!==void 0&&(n=ks(n),o=n.length),this.v0l^=this.outputLen|o<<8|65536|1<<24,i!==void 0){i=ks(i);const a=go(i);this.v4l^=nn(a[0]),this.v4h^=nn(a[1]),this.v5l^=nn(a[2]),this.v5h^=nn(a[3])}if(r!==void 0){r=ks(r);const a=go(r);this.v6l^=nn(a[0]),this.v6h^=nn(a[1]),this.v7l^=nn(a[2]),this.v7h^=nn(a[3])}if(n!==void 0){const a=new Uint8Array(this.blockLen);a.set(n),this.update(a)}}get(){let{v0l:e,v0h:s,v1l:n,v1h:r,v2l:i,v2h:o,v3l:a,v3h:c,v4l:l,v4h:d,v5l:u,v5h:h,v6l:p,v6h:m,v7l:f,v7h:y}=this;return[e,s,n,r,i,o,a,c,l,d,u,h,p,m,f,y]}set(e,s,n,r,i,o,a,c,l,d,u,h,p,m,f,y){this.v0l=e|0,this.v0h=s|0,this.v1l=n|0,this.v1h=r|0,this.v2l=i|0,this.v2h=o|0,this.v3l=a|0,this.v3h=c|0,this.v4l=l|0,this.v4h=d|0,this.v5l=u|0,this.v5h=h|0,this.v6l=p|0,this.v6h=m|0,this.v7l=f|0,this.v7h=y|0}compress(e,s,n){this.get().forEach((c,l)=>X[l]=c),X.set(ot,16);let{h:r,l:i}=Ag(BigInt(this.length));X[24]=ot[8]^i,X[25]=ot[9]^r,n&&(X[28]=~X[28],X[29]=~X[29]);let o=0;const a=iA;for(let c=0;c<12;c++)Rn(0,4,8,12,e,s+2*a[o++]),On(0,4,8,12,e,s+2*a[o++]),Rn(1,5,9,13,e,s+2*a[o++]),On(1,5,9,13,e,s+2*a[o++]),Rn(2,6,10,14,e,s+2*a[o++]),On(2,6,10,14,e,s+2*a[o++]),Rn(3,7,11,15,e,s+2*a[o++]),On(3,7,11,15,e,s+2*a[o++]),Rn(0,5,10,15,e,s+2*a[o++]),On(0,5,10,15,e,s+2*a[o++]),Rn(1,6,11,12,e,s+2*a[o++]),On(1,6,11,12,e,s+2*a[o++]),Rn(2,7,8,13,e,s+2*a[o++]),On(2,7,8,13,e,s+2*a[o++]),Rn(3,4,9,14,e,s+2*a[o++]),On(3,4,9,14,e,s+2*a[o++]);this.v0l^=X[0]^X[16],this.v0h^=X[1]^X[17],this.v1l^=X[2]^X[18],this.v1h^=X[3]^X[19],this.v2l^=X[4]^X[20],this.v2h^=X[5]^X[21],this.v3l^=X[6]^X[22],this.v3h^=X[7]^X[23],this.v4l^=X[8]^X[24],this.v4h^=X[9]^X[25],this.v5l^=X[10]^X[26],this.v5h^=X[11]^X[27],this.v6l^=X[12]^X[28],this.v6h^=X[13]^X[29],this.v7l^=X[14]^X[30],this.v7h^=X[15]^X[31],Cs(X)}destroy(){this.destroyed=!0,Cs(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const lA=$0(t=>new cA(t)),dA="https://rpc.walletconnect.org/v1";function Lg(t){const e=`Ethereum Signed Message:
6
+ ${t.length}`,s=new TextEncoder().encode(e+t);return"0x"+ke.from(z0(s)).toString("hex")}async function uA(t,e,s,n,r,i){switch(s.t){case"eip191":return await hA(t,e,s.s);case"eip1271":return await pA(t,e,s.s,n,r,i);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${s.t}`)}}function hA(t,e,s){const n=q_(s);return K_({payload:Lg(e),signature:n}).toLowerCase()===t.toLowerCase()}async function pA(t,e,s,n,r,i){const o=mn(n);if(!o.namespace||!o.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${n}`);try{const a="0x1626ba7e",c="0000000000000000000000000000000000000000000000000000000000000040",l=s.substring(2),d=(l.length/2).toString(16).padStart(64,"0"),u=(e.startsWith("0x")?e:Lg(e)).substring(2),h=a+u+c+d+l,p=await fetch(`${i||dA}/?chainId=${n}&projectId=${r}`,{headers:{"Content-Type":"application/json"},method:"POST",body:JSON.stringify({id:fA(),jsonrpc:"2.0",method:"eth_call",params:[{to:t,data:h},"latest"]})}),{result:m}=await p.json();return m?m.slice(0,a.length).toLowerCase()===a.toLowerCase():!1}catch(a){return console.error("isValidEip1271Signature: ",a),!1}}function fA(){return Date.now()+Math.floor(Math.random()*1e3)}function gA(t){const e=atob(t),s=new Uint8Array(e.length);for(let o=0;o<e.length;o++)s[o]=e.charCodeAt(o);const n=s[0];if(n===0)throw new Error("No signatures found");const r=1+n*64;if(s.length<r)throw new Error("Transaction data too short for claimed signature count");if(s.length<100)throw new Error("Transaction too short");const i=ke.from(t,"base64").slice(1,65);return yi.encode(i)}function mA(t){const e=new Uint8Array(ke.from(t,"base64")),s=Array.from("TransactionData::").map(i=>i.charCodeAt(0)),n=new Uint8Array(s.length+e.length);n.set(s),n.set(e,s.length);const r=lA(n,{dkLen:32});return yi.encode(r)}function bh(t){const e=new Uint8Array(nc(yA(t)));return yi.encode(e)}function yA(t){if(t instanceof Uint8Array)return t;if(Array.isArray(t))return new Uint8Array(t);if(typeof t=="object"&&t!=null&&t.data)return new Uint8Array(Object.values(t.data));if(typeof t=="object"&&t)return new Uint8Array(Object.values(t));throw new Error("getNearUint8ArrayFromBytes: Unexpected result type from bytes array")}function Ch(t){const e=ke.from(t,"base64"),s=Iy(e).txn;if(!s)throw new Error("Invalid signed transaction: missing 'txn' field");const n=Ny(s),r=ke.from("TX"),i=ke.concat([r,ke.from(n)]),o=rA(i);return Ty.encode(o).replace(/=+$/,"")}function $c(t){const e=[];let s=BigInt(t);for(;s>=BigInt(128);)e.push(Number(s&BigInt(127)|BigInt(128))),s>>=BigInt(7);return e.push(Number(s)),ke.from(e)}function wA(t){const e=ke.from(t.signed.bodyBytes,"base64"),s=ke.from(t.signed.authInfoBytes,"base64"),n=ke.from(t.signature.signature,"base64"),r=[];r.push(ke.from([10])),r.push($c(e.length)),r.push(e),r.push(ke.from([18])),r.push($c(s.length)),r.push(s),r.push(ke.from([26])),r.push($c(n.length)),r.push(n);const i=ke.concat(r),o=nc(i);return ke.from(o).toString("hex").toUpperCase()}function EA(t){var e,s;const n=[];try{if(typeof t=="string")return n.push(t),n;if(typeof t!="object")return n;t!=null&&t.id&&n.push(t.id);const r=(s=(e=t==null?void 0:t.capabilities)==null?void 0:e.caip345)==null?void 0:s.transactionHashes;r&&n.push(...r)}catch(r){console.warn("getWalletSendCallsHashes failed: ",r)}return n}var bA=Object.defineProperty,CA=Object.defineProperties,vA=Object.getOwnPropertyDescriptors,vh=Object.getOwnPropertySymbols,_A=Object.prototype.hasOwnProperty,AA=Object.prototype.propertyIsEnumerable,_h=(t,e,s)=>e in t?bA(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,SA=(t,e)=>{for(var s in e||(e={}))_A.call(e,s)&&_h(t,s,e[s]);if(vh)for(var s of vh(e))AA.call(e,s)&&_h(t,s,e[s]);return t},IA=(t,e)=>CA(t,vA(e));const Mg="did:pkh:",NA={eip155:"Ethereum",solana:"Solana",bip122:"Bitcoin"},TA=t=>t?NA[t]||t:"",rc=t=>t==null?void 0:t.split(":"),RA=t=>{const e=t&&rc(t);if(e)return t.includes(Mg)?e[3]:e[1]},OA=t=>{const e=t&&rc(t);if(e)return t.includes(Mg)?e[2]:e[0]},Ll=t=>{const e=t&&rc(t);if(e)return e[2]+":"+e[3]},Da=t=>{const e=t&&rc(t);if(e)return e.pop()};async function Ah(t){const{cacao:e,projectId:s}=t,{s:n,p:r}=e,i=Bg(r,r.iss),o=Da(r.iss);return await uA(o,i,n,Ll(r.iss),s)}const Bg=(t,e)=>{const s=OA(e);if(!s)throw new Error("Invalid issuer: "+e);const n=`${t.domain} wants you to sign in with your ${TA(s)} account:`,r=Da(e);if(!t.aud&&!t.uri)throw new Error("Either `aud` or `uri` is required to construct the message");let i=t.statement||void 0;const o=`URI: ${t.aud||t.uri}`,a=`Version: ${t.version}`,c=`Chain ID: ${RA(e)}`,l=`Nonce: ${t.nonce}`,d=`Issued At: ${t.iat}`,u=t.exp?`Expiration Time: ${t.exp}`:void 0,h=t.nbf?`Not Before: ${t.nbf}`:void 0,p=t.requestId?`Request ID: ${t.requestId}`:void 0,m=t.resources?`Resources:${t.resources.map(y=>`
7
7
  - ${y}`).join("")}`:void 0,f=ua(t.resources);if(f){const y=mo(f);i=BA(i,y)}return[n,r,"",i,"",o,a,c,l,d,u,h,p,m].filter(y=>y!=null).join(`
8
- `)};function PA(t){return ke.from(JSON.stringify(t)).toString("base64")}function xA(t){return JSON.parse(ke.from(t,"base64").toString("utf-8"))}function Tr(t){if(!t)throw new Error("No recap provided, value is undefined");if(!t.att)throw new Error("No `att` property found");const e=Object.keys(t.att);if(!(e!=null&&e.length))throw new Error("No resources found in `att` property");e.forEach(s=>{const n=t.att[s];if(Array.isArray(n))throw new Error(`Resource must be an object: ${s}`);if(typeof n!="object")throw new Error(`Resource must be an object: ${s}`);if(!Object.keys(n).length)throw new Error(`Resource object is empty: ${s}`);Object.keys(n).forEach(r=>{const i=n[r];if(!Array.isArray(i))throw new Error(`Ability limits ${r} must be an array of objects, found: ${i}`);if(!i.length)throw new Error(`Value of ${r} is empty array, must be an array with objects`);i.forEach(o=>{if(typeof o!="object")throw new Error(`Ability limits (${r}) must be an array of objects, found: ${o}`)})})})}function kA(t,e,s,n={}){return s==null||s.sort((r,i)=>r.localeCompare(i)),{att:{[t]:UA(e,s,n)}}}function UA(t,e,s={}){e=e==null?void 0:e.sort((r,i)=>r.localeCompare(i));const n=e.map(r=>({[`${t}/${r}`]:[s]}));return Object.assign({},...n)}function jg(t){return Tr(t),`urn:recap:${PA(t).replace(/=/g,"")}`}function mo(t){const e=xA(t.replace("urn:recap:",""));return Tr(e),e}function $A(t,e,s){const n=kA(t,e,s);return jg(n)}function DA(t){return t&&t.includes("urn:recap:")}function LA(t,e){const s=mo(t),n=mo(e),r=MA(s,n);return jg(r)}function MA(t,e){Tr(t),Tr(e);const s=Object.keys(t.att).concat(Object.keys(e.att)).sort((r,i)=>r.localeCompare(i)),n={att:{}};return s.forEach(r=>{var i,o;Object.keys(((i=t.att)==null?void 0:i[r])||{}).concat(Object.keys(((o=e.att)==null?void 0:o[r])||{})).sort((a,c)=>a.localeCompare(c)).forEach(a=>{var c,l;n.att[r]=IA(SA({},n.att[r]),{[a]:((c=t.att[r])==null?void 0:c[a])||((l=e.att[r])==null?void 0:l[a])})})}),n}function BA(t="",e){Tr(e);const s="I further authorize the stated URI to perform the following actions on my behalf: ";if(t.includes(s))return t;const n=[];let r=0;Object.keys(e.att).forEach(a=>{const c=Object.keys(e.att[a]).map(u=>({ability:u.split("/")[0],action:u.split("/")[1]}));c.sort((u,h)=>u.action.localeCompare(h.action));const l={};c.forEach(u=>{l[u.ability]||(l[u.ability]=[]),l[u.ability].push(u.action)});const d=Object.keys(l).map(u=>(r++,`(${r}) '${u}': '${l[u].join("', '")}' for '${a}'.`));n.push(d.join(", ").replace(".,","."))});const i=n.join(" "),o=`${s}${i}`;return`${t?t+" ":""}${o}`}function Sh(t){var e;const s=mo(t);Tr(s);const n=(e=s.att)==null?void 0:e.eip155;return n?Object.keys(n).map(r=>r.split("/")[1]):[]}function Ih(t){const e=mo(t);Tr(e);const s=[];return Object.values(e.att).forEach(n=>{Object.values(n).forEach(r=>{var i;(i=r==null?void 0:r[0])!=null&&i.chains&&s.push(r[0].chains)})}),[...new Set(s.flat())]}function ua(t){if(!t)return;const e=t==null?void 0:t[t.length-1];return DA(e)?e:void 0}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */function Fg(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Ml(t){if(typeof t!="boolean")throw new Error(`boolean expected, not ${t}`)}function Dc(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function zt(t,...e){if(!Fg(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Nh(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function jA(t,e){zt(t);const s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function qn(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function hi(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function FA(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const qA=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function WA(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Bl(t){if(typeof t=="string")t=WA(t);else if(Fg(t))t=jl(t);else throw new Error("Uint8Array expected, got "+typeof t);return t}function HA(t,e){if(e==null||typeof e!="object")throw new Error("options must be defined");return Object.assign(t,e)}function VA(t,e){if(t.length!==e.length)return!1;let s=0;for(let n=0;n<t.length;n++)s|=t[n]^e[n];return s===0}const zA=(t,e)=>{function s(n,...r){if(zt(n),!qA)throw new Error("Non little-endian hardware is not yet supported");if(t.nonceLength!==void 0){const l=r[0];if(!l)throw new Error("nonce / iv required");t.varSizeNonce?zt(l):zt(l,t.nonceLength)}const i=t.tagLength;i&&r[1]!==void 0&&zt(r[1]);const o=e(n,...r),a=(l,d)=>{if(d!==void 0){if(l!==2)throw new Error("cipher output not supported");zt(d)}};let c=!1;return{encrypt(l,d){if(c)throw new Error("cannot encrypt() twice with same key + nonce");return c=!0,zt(l),a(o.encrypt.length,d),o.encrypt(l,d)},decrypt(l,d){if(zt(l),i&&l.length<i)throw new Error("invalid ciphertext length: smaller than tagLength="+i);return a(o.decrypt.length,d),o.decrypt(l,d)}}}return Object.assign(s,t),s};function Th(t,e,s=!0){if(e===void 0)return new Uint8Array(t);if(e.length!==t)throw new Error("invalid output length, expected "+t+", got: "+e.length);if(s&&!GA(e))throw new Error("invalid output, must be aligned");return e}function Rh(t,e,s,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,s,n);const r=BigInt(32),i=BigInt(4294967295),o=Number(s>>r&i),a=Number(s&i);t.setUint32(e+4,o,n),t.setUint32(e+0,a,n)}function KA(t,e,s){Ml(s);const n=new Uint8Array(16),r=FA(n);return Rh(r,0,BigInt(e),s),Rh(r,8,BigInt(t),s),n}function GA(t){return t.byteOffset%4===0}function jl(t){return Uint8Array.from(t)}const qg=t=>Uint8Array.from(t.split("").map(e=>e.charCodeAt(0))),YA=qg("expand 16-byte k"),ZA=qg("expand 32-byte k"),JA=qn(YA),XA=qn(ZA);function Ue(t,e){return t<<e|t>>>32-e}function Fl(t){return t.byteOffset%4===0}const Yo=64,QA=16,Wg=2**32-1,Oh=new Uint32Array;function eS(t,e,s,n,r,i,o,a){const c=r.length,l=new Uint8Array(Yo),d=qn(l),u=Fl(r)&&Fl(i),h=u?qn(r):Oh,p=u?qn(i):Oh;for(let m=0;m<c;o++){if(t(e,s,n,d,o,a),o>=Wg)throw new Error("arx: counter overflow");const f=Math.min(Yo,c-m);if(u&&f===Yo){const y=m/4;if(m%4!==0)throw new Error("arx: invalid block position");for(let b=0,S;b<QA;b++)S=y+b,p[S]=h[S]^d[b];m+=Yo;continue}for(let y=0,b;y<f;y++)b=m+y,i[b]=r[b]^l[y];m+=f}}function tS(t,e){const{allowShortKeys:s,extendNonceFn:n,counterLength:r,counterRight:i,rounds:o}=HA({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!="function")throw new Error("core must be a function");return Dc(r),Dc(o),Ml(i),Ml(s),(a,c,l,d,u=0)=>{zt(a),zt(c),zt(l);const h=l.length;if(d===void 0&&(d=new Uint8Array(h)),zt(d),Dc(u),u<0||u>=Wg)throw new Error("arx: counter overflow");if(d.length<h)throw new Error(`arx: output (${d.length}) is shorter than data (${h})`);const p=[];let m=a.length,f,y;if(m===32)p.push(f=jl(a)),y=XA;else if(m===16&&s)f=new Uint8Array(32),f.set(a),f.set(a,16),y=JA,p.push(f);else throw new Error(`arx: invalid 32-byte key, got length=${m}`);Fl(c)||p.push(c=jl(c));const b=qn(f);if(n){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");n(y,b,qn(c.subarray(0,16)),b),c=c.subarray(16)}const S=16-r;if(S!==c.length)throw new Error(`arx: nonce must be ${S} or 16 bytes`);if(S!==12){const C=new Uint8Array(12);C.set(c,i?0:12-c.length),c=C,p.push(c)}const v=qn(c);return eS(t,y,b,v,l,d,u,o),hi(...p),d}}const ft=(t,e)=>t[e++]&255|(t[e++]&255)<<8;class sS{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=Bl(e),zt(e,32);const s=ft(e,0),n=ft(e,2),r=ft(e,4),i=ft(e,6),o=ft(e,8),a=ft(e,10),c=ft(e,12),l=ft(e,14);this.r[0]=s&8191,this.r[1]=(s>>>13|n<<3)&8191,this.r[2]=(n>>>10|r<<6)&7939,this.r[3]=(r>>>7|i<<9)&8191,this.r[4]=(i>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|l<<8)&8191,this.r[9]=l>>>5&127;for(let d=0;d<8;d++)this.pad[d]=ft(e,16+2*d)}process(e,s,n=!1){const r=n?0:2048,{h:i,r:o}=this,a=o[0],c=o[1],l=o[2],d=o[3],u=o[4],h=o[5],p=o[6],m=o[7],f=o[8],y=o[9],b=ft(e,s+0),S=ft(e,s+2),v=ft(e,s+4),C=ft(e,s+6),R=ft(e,s+8),k=ft(e,s+10),L=ft(e,s+12),F=ft(e,s+14);let x=i[0]+(b&8191),B=i[1]+((b>>>13|S<<3)&8191),W=i[2]+((S>>>10|v<<6)&8191),O=i[3]+((v>>>7|C<<9)&8191),A=i[4]+((C>>>4|R<<12)&8191),N=i[5]+(R>>>1&8191),E=i[6]+((R>>>14|k<<2)&8191),_=i[7]+((k>>>11|L<<5)&8191),T=i[8]+((L>>>8|F<<8)&8191),D=i[9]+(F>>>5|r),I=0,P=I+x*a+B*(5*y)+W*(5*f)+O*(5*m)+A*(5*p);I=P>>>13,P&=8191,P+=N*(5*h)+E*(5*u)+_*(5*d)+T*(5*l)+D*(5*c),I+=P>>>13,P&=8191;let H=I+x*c+B*a+W*(5*y)+O*(5*f)+A*(5*m);I=H>>>13,H&=8191,H+=N*(5*p)+E*(5*h)+_*(5*u)+T*(5*d)+D*(5*l),I+=H>>>13,H&=8191;let z=I+x*l+B*c+W*a+O*(5*y)+A*(5*f);I=z>>>13,z&=8191,z+=N*(5*m)+E*(5*p)+_*(5*h)+T*(5*u)+D*(5*d),I+=z>>>13,z&=8191;let me=I+x*d+B*l+W*c+O*a+A*(5*y);I=me>>>13,me&=8191,me+=N*(5*f)+E*(5*m)+_*(5*p)+T*(5*h)+D*(5*u),I+=me>>>13,me&=8191;let de=I+x*u+B*d+W*l+O*c+A*a;I=de>>>13,de&=8191,de+=N*(5*y)+E*(5*f)+_*(5*m)+T*(5*p)+D*(5*h),I+=de>>>13,de&=8191;let oe=I+x*h+B*u+W*d+O*l+A*c;I=oe>>>13,oe&=8191,oe+=N*a+E*(5*y)+_*(5*f)+T*(5*m)+D*(5*p),I+=oe>>>13,oe&=8191;let be=I+x*p+B*h+W*u+O*d+A*l;I=be>>>13,be&=8191,be+=N*c+E*a+_*(5*y)+T*(5*f)+D*(5*m),I+=be>>>13,be&=8191;let fe=I+x*m+B*p+W*h+O*u+A*d;I=fe>>>13,fe&=8191,fe+=N*l+E*c+_*a+T*(5*y)+D*(5*f),I+=fe>>>13,fe&=8191;let Be=I+x*f+B*m+W*p+O*h+A*u;I=Be>>>13,Be&=8191,Be+=N*d+E*l+_*c+T*a+D*(5*y),I+=Be>>>13,Be&=8191;let ye=I+x*y+B*f+W*m+O*p+A*h;I=ye>>>13,ye&=8191,ye+=N*u+E*d+_*l+T*c+D*a,I+=ye>>>13,ye&=8191,I=(I<<2)+I|0,I=I+P|0,P=I&8191,I=I>>>13,H+=I,i[0]=P,i[1]=H,i[2]=z,i[3]=me,i[4]=de,i[5]=oe,i[6]=be,i[7]=fe,i[8]=Be,i[9]=ye}finalize(){const{h:e,pad:s}=this,n=new Uint16Array(10);let r=e[1]>>>13;e[1]&=8191;for(let a=2;a<10;a++)e[a]+=r,r=e[a]>>>13,e[a]&=8191;e[0]+=r*5,r=e[0]>>>13,e[0]&=8191,e[1]+=r,r=e[1]>>>13,e[1]&=8191,e[2]+=r,n[0]=e[0]+5,r=n[0]>>>13,n[0]&=8191;for(let a=1;a<10;a++)n[a]=e[a]+r,r=n[a]>>>13,n[a]&=8191;n[9]-=8192;let i=(r^1)-1;for(let a=0;a<10;a++)n[a]&=i;i=~i;for(let a=0;a<10;a++)e[a]=e[a]&i|n[a];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let o=e[0]+s[0];e[0]=o&65535;for(let a=1;a<8;a++)o=(e[a]+s[a]|0)+(o>>>16)|0,e[a]=o&65535;hi(n)}update(e){Nh(this),e=Bl(e),zt(e);const{buffer:s,blockLen:n}=this,r=e.length;for(let i=0;i<r;){const o=Math.min(n-this.pos,r-i);if(o===n){for(;n<=r-i;i+=n)this.process(e,i);continue}s.set(e.subarray(i,i+o),this.pos),this.pos+=o,i+=o,this.pos===n&&(this.process(s,0,!1),this.pos=0)}return this}destroy(){hi(this.h,this.r,this.buffer,this.pad)}digestInto(e){Nh(this),jA(e,this),this.finished=!0;const{buffer:s,h:n}=this;let{pos:r}=this;if(r){for(s[r++]=1;r<16;r++)s[r]=0;this.process(s,0,!0)}this.finalize();let i=0;for(let o=0;o<8;o++)e[i++]=n[o]>>>0,e[i++]=n[o]>>>8;return e}digest(){const{buffer:e,outputLen:s}=this;this.digestInto(e);const n=e.slice(0,s);return this.destroy(),n}}function nS(t){const e=(n,r)=>t(r).update(Bl(n)).digest(),s=t(new Uint8Array(32));return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=n=>t(n),e}const rS=nS(t=>new sS(t));function iS(t,e,s,n,r,i=20){let o=t[0],a=t[1],c=t[2],l=t[3],d=e[0],u=e[1],h=e[2],p=e[3],m=e[4],f=e[5],y=e[6],b=e[7],S=r,v=s[0],C=s[1],R=s[2],k=o,L=a,F=c,x=l,B=d,W=u,O=h,A=p,N=m,E=f,_=y,T=b,D=S,I=v,P=C,H=R;for(let me=0;me<i;me+=2)k=k+B|0,D=Ue(D^k,16),N=N+D|0,B=Ue(B^N,12),k=k+B|0,D=Ue(D^k,8),N=N+D|0,B=Ue(B^N,7),L=L+W|0,I=Ue(I^L,16),E=E+I|0,W=Ue(W^E,12),L=L+W|0,I=Ue(I^L,8),E=E+I|0,W=Ue(W^E,7),F=F+O|0,P=Ue(P^F,16),_=_+P|0,O=Ue(O^_,12),F=F+O|0,P=Ue(P^F,8),_=_+P|0,O=Ue(O^_,7),x=x+A|0,H=Ue(H^x,16),T=T+H|0,A=Ue(A^T,12),x=x+A|0,H=Ue(H^x,8),T=T+H|0,A=Ue(A^T,7),k=k+W|0,H=Ue(H^k,16),_=_+H|0,W=Ue(W^_,12),k=k+W|0,H=Ue(H^k,8),_=_+H|0,W=Ue(W^_,7),L=L+O|0,D=Ue(D^L,16),T=T+D|0,O=Ue(O^T,12),L=L+O|0,D=Ue(D^L,8),T=T+D|0,O=Ue(O^T,7),F=F+A|0,I=Ue(I^F,16),N=N+I|0,A=Ue(A^N,12),F=F+A|0,I=Ue(I^F,8),N=N+I|0,A=Ue(A^N,7),x=x+B|0,P=Ue(P^x,16),E=E+P|0,B=Ue(B^E,12),x=x+B|0,P=Ue(P^x,8),E=E+P|0,B=Ue(B^E,7);let z=0;n[z++]=o+k|0,n[z++]=a+L|0,n[z++]=c+F|0,n[z++]=l+x|0,n[z++]=d+B|0,n[z++]=u+W|0,n[z++]=h+O|0,n[z++]=p+A|0,n[z++]=m+N|0,n[z++]=f+E|0,n[z++]=y+_|0,n[z++]=b+T|0,n[z++]=S+D|0,n[z++]=v+I|0,n[z++]=C+P|0,n[z++]=R+H|0}const oS=tS(iS,{counterRight:!1,counterLength:4,allowShortKeys:!1}),aS=new Uint8Array(16),Ph=(t,e)=>{t.update(e);const s=e.length%16;s&&t.update(aS.subarray(s))},cS=new Uint8Array(32);function xh(t,e,s,n,r){const i=t(e,s,cS),o=rS.create(i);r&&Ph(o,r),Ph(o,n);const a=KA(n.length,r?r.length:0,!0);o.update(a);const c=o.digest();return hi(i,a),c}const lS=t=>(e,s,n)=>({encrypt(r,i){const o=r.length;i=Th(o+16,i,!1),i.set(r);const a=i.subarray(0,-16);t(e,s,a,a,1);const c=xh(t,e,s,a,n);return i.set(c,o),hi(c),i},decrypt(r,i){i=Th(r.length-16,i,!1);const o=r.subarray(0,-16),a=r.subarray(-16),c=xh(t,e,s,o,n);if(!VA(a,c))throw new Error("invalid tag");return i.set(r.subarray(0,-16)),t(e,s,i,i,1),hi(c),i}}),Hg=zA({blockSize:64,nonceLength:12,tagLength:16},lS(oS));let Vg=class extends sc{constructor(e,s){super(),this.finished=!1,this.destroyed=!1,tc(e);const n=ks(s);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?e.create().update(n).digest():n);for(let o=0;o<i.length;o++)i[o]^=54;this.iHash.update(i),this.oHash=e.create();for(let o=0;o<i.length;o++)i[o]^=106;this.oHash.update(i),Cs(i)}update(e){return Zn(this),this.iHash.update(e),this}digestInto(e){Zn(this),$s(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:s,iHash:n,finished:r,destroyed:i,blockLen:o,outputLen:a}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=o,e.outputLen=a,e.oHash=s._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const ic=(t,e,s)=>new Vg(t,e).update(s).digest();ic.create=(t,e)=>new Vg(t,e);function dS(t,e,s){return tc(t),s===void 0&&(s=new Uint8Array(t.outputLen)),ic(t,ks(s),ks(e))}const Lc=Uint8Array.from([0]),kh=Uint8Array.of();function uS(t,e,s,n=32){tc(t),Cn(n);const r=t.outputLen;if(n>255*r)throw new Error("Length should be <= 255*HashLen");const i=Math.ceil(n/r);s===void 0&&(s=kh);const o=new Uint8Array(i*r),a=ic.create(t,e),c=a._cloneInto(),l=new Uint8Array(a.outputLen);for(let d=0;d<i;d++)Lc[0]=d+1,c.update(d===0?kh:l).update(s).update(Lc).digestInto(l),o.set(l,r*d),a._cloneInto(c);return a.destroy(),c.destroy(),Cs(l,Lc),o.slice(0,n)}const hS=(t,e,s,n,r)=>uS(t,dS(t,e,s),n,r),oc=nc,$d=BigInt(0),ql=BigInt(1);function La(t,e=""){if(typeof t!="boolean"){const s=e&&`"${e}"`;throw new Error(s+"expected boolean, got type="+typeof t)}return t}function gr(t,e,s=""){const n=ec(t),r=t==null?void 0:t.length,i=e!==void 0;if(!n||i&&r!==e){const o=s&&`"${s}" `,a=i?` of length ${e}`:"",c=n?`length=${r}`:`type=${typeof t}`;throw new Error(o+"expected Uint8Array"+a+", got "+c)}return t}function Zo(t){const e=t.toString(16);return e.length&1?"0"+e:e}function zg(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?$d:BigInt("0x"+t)}function ac(t){return zg(ni(t))}function Ma(t){return $s(t),zg(ni(Uint8Array.from(t).reverse()))}function Dd(t,e){return $a(t.toString(16).padStart(e*2,"0"))}function Ld(t,e){return Dd(t,e).reverse()}function Nt(t,e,s){let n;if(typeof e=="string")try{n=$a(e)}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(ec(e))n=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");const r=n.length;if(typeof s=="number"&&r!==s)throw new Error(t+" of length "+s+" expected, got "+r);return n}const Mc=t=>typeof t=="bigint"&&$d<=t;function pS(t,e,s){return Mc(t)&&Mc(e)&&Mc(s)&&e<=t&&t<s}function Wl(t,e,s,n){if(!pS(e,s,n))throw new Error("expected valid "+t+": "+s+" <= n < "+n+", got "+e)}function Kg(t){let e;for(e=0;t>$d;t>>=ql,e+=1);return e}const Oo=t=>(ql<<BigInt(t))-ql;function fS(t,e,s){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof s!="function")throw new Error("hmacFn must be a function");const n=h=>new Uint8Array(h),r=h=>Uint8Array.of(h);let i=n(t),o=n(t),a=0;const c=()=>{i.fill(1),o.fill(0),a=0},l=(...h)=>s(o,i,...h),d=(h=n(0))=>{o=l(r(0),h),i=l(),h.length!==0&&(o=l(r(1),h),i=l())},u=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let h=0;const p=[];for(;h<e;){i=l();const m=i.slice();p.push(m),h+=i.length}return Dn(...p)};return(h,p)=>{c(),d(h);let m;for(;!(m=p(u()));)d();return c(),m}}function cc(t,e,s={}){if(!t||typeof t!="object")throw new Error("expected valid options object");function n(r,i,o){const a=t[r];if(o&&a===void 0)return;const c=typeof a;if(c!==i||a===null)throw new Error(`param "${r}" is invalid: expected ${i}, got ${c}`)}Object.entries(e).forEach(([r,i])=>n(r,i,!1)),Object.entries(s).forEach(([r,i])=>n(r,i,!0))}function Uh(t){const e=new WeakMap;return(s,...n)=>{const r=e.get(s);if(r!==void 0)return r;const i=t(s,...n);return e.set(s,i),i}}const Yt=BigInt(0),Dt=BigInt(1),mr=BigInt(2),Gg=BigInt(3),Yg=BigInt(4),Zg=BigInt(5),gS=BigInt(7),Jg=BigInt(8),mS=BigInt(9),Xg=BigInt(16);function ns(t,e){const s=t%e;return s>=Yt?s:e+s}function Is(t,e,s){let n=t;for(;e-- >Yt;)n*=n,n%=s;return n}function $h(t,e){if(t===Yt)throw new Error("invert: expected non-zero number");if(e<=Yt)throw new Error("invert: expected positive modulus, got "+e);let s=ns(t,e),n=e,r=Yt,i=Dt;for(;s!==Yt;){const o=n/s,a=n%s,c=r-i*o;n=s,s=a,r=i,i=c}if(n!==Dt)throw new Error("invert: does not exist");return ns(r,e)}function Md(t,e,s){if(!t.eql(t.sqr(e),s))throw new Error("Cannot find square root")}function Qg(t,e){const s=(t.ORDER+Dt)/Yg,n=t.pow(e,s);return Md(t,n,e),n}function yS(t,e){const s=(t.ORDER-Zg)/Jg,n=t.mul(e,mr),r=t.pow(n,s),i=t.mul(e,r),o=t.mul(t.mul(i,mr),r),a=t.mul(i,t.sub(o,t.ONE));return Md(t,a,e),a}function wS(t){const e=Xn(t),s=em(t),n=s(e,e.neg(e.ONE)),r=s(e,n),i=s(e,e.neg(n)),o=(t+gS)/Xg;return(a,c)=>{let l=a.pow(c,o),d=a.mul(l,n);const u=a.mul(l,r),h=a.mul(l,i),p=a.eql(a.sqr(d),c),m=a.eql(a.sqr(u),c);l=a.cmov(l,d,p),d=a.cmov(h,u,m);const f=a.eql(a.sqr(d),c),y=a.cmov(l,d,f);return Md(a,y,c),y}}function em(t){if(t<Gg)throw new Error("sqrt is not defined for small field");let e=t-Dt,s=0;for(;e%mr===Yt;)e/=mr,s++;let n=mr;const r=Xn(t);for(;Dh(r,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(s===1)return Qg;let i=r.pow(n,e);const o=(e+Dt)/mr;return function(a,c){if(a.is0(c))return c;if(Dh(a,c)!==1)throw new Error("Cannot find square root");let l=s,d=a.mul(a.ONE,i),u=a.pow(c,e),h=a.pow(c,o);for(;!a.eql(u,a.ONE);){if(a.is0(u))return a.ZERO;let p=1,m=a.sqr(u);for(;!a.eql(m,a.ONE);)if(p++,m=a.sqr(m),p===l)throw new Error("Cannot find square root");const f=Dt<<BigInt(l-p-1),y=a.pow(d,f);l=p,d=a.sqr(y),u=a.mul(u,d),h=a.mul(h,y)}return h}}function ES(t){return t%Yg===Gg?Qg:t%Jg===Zg?yS:t%Xg===mS?wS(t):em(t)}const bS=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function CS(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},s=bS.reduce((n,r)=>(n[r]="function",n),e);return cc(t,s),t}function vS(t,e,s){if(s<Yt)throw new Error("invalid exponent, negatives unsupported");if(s===Yt)return t.ONE;if(s===Dt)return e;let n=t.ONE,r=e;for(;s>Yt;)s&Dt&&(n=t.mul(n,r)),r=t.sqr(r),s>>=Dt;return n}function tm(t,e,s=!1){const n=new Array(e.length).fill(s?t.ZERO:void 0),r=e.reduce((o,a,c)=>t.is0(a)?o:(n[c]=o,t.mul(o,a)),t.ONE),i=t.inv(r);return e.reduceRight((o,a,c)=>t.is0(a)?o:(n[c]=t.mul(o,n[c]),t.mul(o,a)),i),n}function Dh(t,e){const s=(t.ORDER-Dt)/mr,n=t.pow(e,s),r=t.eql(n,t.ONE),i=t.eql(n,t.ZERO),o=t.eql(n,t.neg(t.ONE));if(!r&&!i&&!o)throw new Error("invalid Legendre symbol result");return r?1:i?0:-1}function sm(t,e){e!==void 0&&Cn(e);const s=e!==void 0?e:t.toString(2).length,n=Math.ceil(s/8);return{nBitLength:s,nByteLength:n}}function Xn(t,e,s=!1,n={}){if(t<=Yt)throw new Error("invalid field: expected ORDER > 0, got "+t);let r,i,o=!1,a;if(typeof e=="object"&&e!=null){if(n.sqrt||s)throw new Error("cannot specify opts in two arguments");const h=e;h.BITS&&(r=h.BITS),h.sqrt&&(i=h.sqrt),typeof h.isLE=="boolean"&&(s=h.isLE),typeof h.modFromBytes=="boolean"&&(o=h.modFromBytes),a=h.allowedLengths}else typeof e=="number"&&(r=e),n.sqrt&&(i=n.sqrt);const{nBitLength:c,nByteLength:l}=sm(t,r);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let d;const u=Object.freeze({ORDER:t,isLE:s,BITS:c,BYTES:l,MASK:Oo(c),ZERO:Yt,ONE:Dt,allowedLengths:a,create:h=>ns(h,t),isValid:h=>{if(typeof h!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof h);return Yt<=h&&h<t},is0:h=>h===Yt,isValidNot0:h=>!u.is0(h)&&u.isValid(h),isOdd:h=>(h&Dt)===Dt,neg:h=>ns(-h,t),eql:(h,p)=>h===p,sqr:h=>ns(h*h,t),add:(h,p)=>ns(h+p,t),sub:(h,p)=>ns(h-p,t),mul:(h,p)=>ns(h*p,t),pow:(h,p)=>vS(u,h,p),div:(h,p)=>ns(h*$h(p,t),t),sqrN:h=>h*h,addN:(h,p)=>h+p,subN:(h,p)=>h-p,mulN:(h,p)=>h*p,inv:h=>$h(h,t),sqrt:i||(h=>(d||(d=ES(t)),d(u,h))),toBytes:h=>s?Ld(h,l):Dd(h,l),fromBytes:(h,p=!0)=>{if(a){if(!a.includes(h.length)||h.length>l)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+h.length);const f=new Uint8Array(l);f.set(h,s?0:f.length-h.length),h=f}if(h.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+h.length);let m=s?Ma(h):ac(h);if(o&&(m=ns(m,t)),!p&&!u.isValid(m))throw new Error("invalid field element: outside of range 0..ORDER");return m},invertBatch:h=>tm(u,h),cmov:(h,p,m)=>m?p:h});return Object.freeze(u)}function nm(t){if(typeof t!="bigint")throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function rm(t){const e=nm(t);return e+Math.ceil(e/2)}function _S(t,e,s=!1){const n=t.length,r=nm(e),i=rm(e);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);const o=s?Ma(t):ac(t),a=ns(o,e-Dt)+Dt;return s?Ld(a,r):Dd(a,r)}const pi=BigInt(0),yr=BigInt(1);function Ba(t,e){const s=e.negate();return t?s:e}function Bc(t,e){const s=tm(t.Fp,e.map(n=>n.Z));return e.map((n,r)=>t.fromAffine(n.toAffine(s[r])))}function im(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function jc(t,e){im(t,e);const s=Math.ceil(e/t)+1,n=2**(t-1),r=2**t,i=Oo(t),o=BigInt(t);return{windows:s,windowSize:n,mask:i,maxNumber:r,shiftBy:o}}function Lh(t,e,s){const{windowSize:n,mask:r,maxNumber:i,shiftBy:o}=s;let a=Number(t&r),c=t>>o;a>n&&(a-=i,c+=yr);const l=e*n,d=l+Math.abs(a)-1,u=a===0,h=a<0,p=e%2!==0;return{nextN:c,offset:d,isZero:u,isNeg:h,isNegF:p,offsetF:l}}function AS(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((s,n)=>{if(!(s instanceof e))throw new Error("invalid point at index "+n)})}function SS(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((s,n)=>{if(!e.isValid(s))throw new Error("invalid scalar at index "+n)})}const Fc=new WeakMap,om=new WeakMap;function qc(t){return om.get(t)||1}function Mh(t){if(t!==pi)throw new Error("invalid wNAF")}class IS{constructor(e,s){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=s}_unsafeLadder(e,s,n=this.ZERO){let r=e;for(;s>pi;)s&yr&&(n=n.add(r)),r=r.double(),s>>=yr;return n}precomputeWindow(e,s){const{windows:n,windowSize:r}=jc(s,this.bits),i=[];let o=e,a=o;for(let c=0;c<n;c++){a=o,i.push(a);for(let l=1;l<r;l++)a=a.add(o),i.push(a);o=a.double()}return i}wNAF(e,s,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let r=this.ZERO,i=this.BASE;const o=jc(e,this.bits);for(let a=0;a<o.windows;a++){const{nextN:c,offset:l,isZero:d,isNeg:u,isNegF:h,offsetF:p}=Lh(n,a,o);n=c,d?i=i.add(Ba(h,s[p])):r=r.add(Ba(u,s[l]))}return Mh(n),{p:r,f:i}}wNAFUnsafe(e,s,n,r=this.ZERO){const i=jc(e,this.bits);for(let o=0;o<i.windows&&n!==pi;o++){const{nextN:a,offset:c,isZero:l,isNeg:d}=Lh(n,o,i);if(n=a,!l){const u=s[c];r=r.add(d?u.negate():u)}}return Mh(n),r}getPrecomputes(e,s,n){let r=Fc.get(s);return r||(r=this.precomputeWindow(s,e),e!==1&&(typeof n=="function"&&(r=n(r)),Fc.set(s,r))),r}cached(e,s,n){const r=qc(e);return this.wNAF(r,this.getPrecomputes(r,e,n),s)}unsafe(e,s,n,r){const i=qc(e);return i===1?this._unsafeLadder(e,s,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),s,r)}createCache(e,s){im(s,this.bits),om.set(e,s),Fc.delete(e)}hasCache(e){return qc(e)!==1}}function NS(t,e,s,n){let r=e,i=t.ZERO,o=t.ZERO;for(;s>pi||n>pi;)s&yr&&(i=i.add(r)),n&yr&&(o=o.add(r)),r=r.double(),s>>=yr,n>>=yr;return{p1:i,p2:o}}function TS(t,e,s,n){AS(s,t),SS(n,e);const r=s.length,i=n.length;if(r!==i)throw new Error("arrays of points and scalars must have equal length");const o=t.ZERO,a=Kg(BigInt(r));let c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);const l=Oo(c),d=new Array(Number(l)+1).fill(o),u=Math.floor((e.BITS-1)/c)*c;let h=o;for(let p=u;p>=0;p-=c){d.fill(o);for(let f=0;f<i;f++){const y=n[f],b=Number(y>>BigInt(p)&l);d[b]=d[b].add(s[f])}let m=o;for(let f=d.length-1,y=o;f>0;f--)y=y.add(d[f]),m=m.add(y);if(h=h.add(m),p!==0)for(let f=0;f<c;f++)h=h.double()}return h}function Bh(t,e,s){if(e){if(e.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return CS(e),e}else return Xn(t,{isLE:s})}function RS(t,e,s={},n){if(n===void 0&&(n=t==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${t} CURVE object`);for(const a of["p","n","h"]){const c=e[a];if(!(typeof c=="bigint"&&c>pi))throw new Error(`CURVE.${a} must be positive bigint`)}const r=Bh(e.p,s.Fp,n),i=Bh(e.n,s.Fn,n),o=["Gx","Gy","a","b"];for(const a of o)if(!r.isValid(e[a]))throw new Error(`CURVE.${a} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:r,Fn:i}}BigInt(0),BigInt(1),BigInt(2),BigInt(8),Rg("HashToScalar-");const Ai=BigInt(0),Fr=BigInt(1),Jo=BigInt(2);function OS(t){return cc(t,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...t})}function PS(t){const e=OS(t),{P:s,type:n,adjustScalarBytes:r,powPminus2:i,randomBytes:o}=e,a=n==="x25519";if(!a&&n!=="x448")throw new Error("invalid type");const c=o||$r,l=a?255:448,d=a?32:56,u=BigInt(a?9:5),h=BigInt(a?121665:39081),p=a?Jo**BigInt(254):Jo**BigInt(447),m=a?BigInt(8)*Jo**BigInt(251)-Fr:BigInt(4)*Jo**BigInt(445)-Fr,f=p+m+Fr,y=O=>ns(O,s),b=S(u);function S(O){return Ld(y(O),d)}function v(O){const A=Nt("u coordinate",O,d);return a&&(A[31]&=127),y(Ma(A))}function C(O){return Ma(r(Nt("scalar",O,d)))}function R(O,A){const N=F(v(A),C(O));if(N===Ai)throw new Error("invalid private or public key received");return S(N)}function k(O){return R(O,b)}function L(O,A,N){const E=y(O*(A-N));return A=y(A-E),N=y(N+E),{x_2:A,x_3:N}}function F(O,A){Wl("u",O,Ai,s),Wl("scalar",A,p,f);const N=A,E=O;let _=Fr,T=Ai,D=O,I=Fr,P=Ai;for(let z=BigInt(l-1);z>=Ai;z--){const me=N>>z&Fr;P^=me,{x_2:_,x_3:D}=L(P,_,D),{x_2:T,x_3:I}=L(P,T,I),P=me;const de=_+T,oe=y(de*de),be=_-T,fe=y(be*be),Be=oe-fe,ye=D+I,qe=D-I,Rt=y(qe*de),Bt=y(ye*be),Ot=Rt+Bt,ls=Rt-Bt;D=y(Ot*Ot),I=y(E*y(ls*ls)),_=y(oe*fe),T=y(Be*(oe+y(h*Be)))}({x_2:_,x_3:D}=L(P,_,D)),{x_2:T,x_3:I}=L(P,T,I);const H=i(T);return y(_*H)}const x={secretKey:d,publicKey:d,seed:d},B=(O=c(d))=>($s(O,x.seed),O);function W(O){const A=B(O);return{secretKey:A,publicKey:k(A)}}return{keygen:W,getSharedSecret:(O,A)=>R(O,A),getPublicKey:O=>k(O),scalarMult:R,scalarMultBase:k,utils:{randomSecretKey:B,randomPrivateKey:B},GuBytes:b.slice(),lengths:x}}const xS=BigInt(1),jh=BigInt(2),kS=BigInt(3),US=BigInt(5);BigInt(8);const am=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),$S={p:am,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function DS(t){const e=BigInt(10),s=BigInt(20),n=BigInt(40),r=BigInt(80),i=am,o=t*t%i*t%i,a=Is(o,jh,i)*o%i,c=Is(a,xS,i)*t%i,l=Is(c,US,i)*c%i,d=Is(l,e,i)*l%i,u=Is(d,s,i)*d%i,h=Is(u,n,i)*u%i,p=Is(h,r,i)*h%i,m=Is(p,r,i)*h%i,f=Is(m,e,i)*l%i;return{pow_p_5_8:Is(f,jh,i)*t%i,b2:o}}function LS(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}const MS=Xn($S.p,{isLE:!0}),Hl=(()=>{const t=MS.ORDER;return PS({P:t,type:"x25519",powPminus2:e=>{const{pow_p_5_8:s,b2:n}=DS(e);return ns(Is(s,kS,t)*n,t)},adjustScalarBytes:LS})})(),Fh=(t,e)=>(t+(t>=0?e:-e)/cm)/e;function BS(t,e,s){const[[n,r],[i,o]]=e,a=Fh(o*t,s),c=Fh(-r*t,s);let l=t-a*n-c*i,d=-a*r-c*o;const u=l<pn,h=d<pn;u&&(l=-l),h&&(d=-d);const p=Oo(Math.ceil(Kg(s)/2))+ri;if(l<pn||l>=p||d<pn||d>=p)throw new Error("splitScalar (endomorphism): failed, k="+t);return{k1neg:u,k1:l,k2neg:h,k2:d}}function Vl(t){if(!["compact","recovered","der"].includes(t))throw new Error('Signature format must be "compact", "recovered", or "der"');return t}function Wc(t,e){const s={};for(let n of Object.keys(e))s[n]=t[n]===void 0?e[n]:t[n];return La(s.lowS,"lowS"),La(s.prehash,"prehash"),s.format!==void 0&&Vl(s.format),s}class jS extends Error{constructor(e=""){super(e)}}const dn={Err:jS,_tlv:{encode:(t,e)=>{const{Err:s}=dn;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length&1)throw new s("tlv.encode: unpadded data");const n=e.length/2,r=Zo(n);if(r.length/2&128)throw new s("tlv.encode: long form length too big");const i=n>127?Zo(r.length/2|128):"";return Zo(t)+i+r+e},decode(t,e){const{Err:s}=dn;let n=0;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length<2||e[n++]!==t)throw new s("tlv.decode: wrong tlv");const r=e[n++],i=!!(r&128);let o=0;if(!i)o=r;else{const c=r&127;if(!c)throw new s("tlv.decode(long): indefinite length not supported");if(c>4)throw new s("tlv.decode(long): byte length is too big");const l=e.subarray(n,n+c);if(l.length!==c)throw new s("tlv.decode: length bytes not complete");if(l[0]===0)throw new s("tlv.decode(long): zero leftmost byte");for(const d of l)o=o<<8|d;if(n+=c,o<128)throw new s("tlv.decode(long): not minimal encoding")}const a=e.subarray(n,n+o);if(a.length!==o)throw new s("tlv.decode: wrong value length");return{v:a,l:e.subarray(n+o)}}},_int:{encode(t){const{Err:e}=dn;if(t<pn)throw new e("integer: negative integers are not allowed");let s=Zo(t);if(Number.parseInt(s[0],16)&8&&(s="00"+s),s.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return s},decode(t){const{Err:e}=dn;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return ac(t)}},toSig(t){const{Err:e,_int:s,_tlv:n}=dn,r=Nt("signature",t),{v:i,l:o}=n.decode(48,r);if(o.length)throw new e("invalid signature: left bytes after parsing");const{v:a,l:c}=n.decode(2,i),{v:l,l:d}=n.decode(2,c);if(d.length)throw new e("invalid signature: left bytes after parsing");return{r:s.decode(a),s:s.decode(l)}},hexFromSig(t){const{_tlv:e,_int:s}=dn,n=e.encode(2,s.encode(t.r)),r=e.encode(2,s.encode(t.s)),i=n+r;return e.encode(48,i)}},pn=BigInt(0),ri=BigInt(1),cm=BigInt(2),Xo=BigInt(3),FS=BigInt(4);function Zr(t,e){const{BYTES:s}=t;let n;if(typeof e=="bigint")n=e;else{let r=Nt("private key",e);try{n=t.fromBytes(r)}catch{throw new Error(`invalid private key: expected ui8a of size ${s}, got ${typeof e}`)}}if(!t.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function qS(t,e={}){const s=RS("weierstrass",t,e),{Fp:n,Fn:r}=s;let i=s.CURVE;const{h:o,n:a}=i;cc(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:c}=e;if(c&&(!n.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const l=dm(n,r);function d(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function u(O,A,N){const{x:E,y:_}=A.toAffine(),T=n.toBytes(E);if(La(N,"isCompressed"),N){d();const D=!n.isOdd(_);return Dn(lm(D),T)}else return Dn(Uint8Array.of(4),T,n.toBytes(_))}function h(O){gr(O,void 0,"Point");const{publicKey:A,publicKeyUncompressed:N}=l,E=O.length,_=O[0],T=O.subarray(1);if(E===A&&(_===2||_===3)){const D=n.fromBytes(T);if(!n.isValid(D))throw new Error("bad point: is not on curve, wrong x");const I=f(D);let P;try{P=n.sqrt(I)}catch(z){const me=z instanceof Error?": "+z.message:"";throw new Error("bad point: is not on curve, sqrt error"+me)}d();const H=n.isOdd(P);return(_&1)===1!==H&&(P=n.neg(P)),{x:D,y:P}}else if(E===N&&_===4){const D=n.BYTES,I=n.fromBytes(T.subarray(0,D)),P=n.fromBytes(T.subarray(D,D*2));if(!y(I,P))throw new Error("bad point: is not on curve");return{x:I,y:P}}else throw new Error(`bad point: got length ${E}, expected compressed=${A} or uncompressed=${N}`)}const p=e.toBytes||u,m=e.fromBytes||h;function f(O){const A=n.sqr(O),N=n.mul(A,O);return n.add(n.add(N,n.mul(O,i.a)),i.b)}function y(O,A){const N=n.sqr(A),E=f(O);return n.eql(N,E)}if(!y(i.Gx,i.Gy))throw new Error("bad curve params: generator point");const b=n.mul(n.pow(i.a,Xo),FS),S=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(b,S)))throw new Error("bad curve params: a or b");function v(O,A,N=!1){if(!n.isValid(A)||N&&n.is0(A))throw new Error(`bad point coordinate ${O}`);return A}function C(O){if(!(O instanceof x))throw new Error("ProjectivePoint expected")}function R(O){if(!c||!c.basises)throw new Error("no endo");return BS(O,c.basises,r.ORDER)}const k=Uh((O,A)=>{const{X:N,Y:E,Z:_}=O;if(n.eql(_,n.ONE))return{x:N,y:E};const T=O.is0();A==null&&(A=T?n.ONE:n.inv(_));const D=n.mul(N,A),I=n.mul(E,A),P=n.mul(_,A);if(T)return{x:n.ZERO,y:n.ZERO};if(!n.eql(P,n.ONE))throw new Error("invZ was invalid");return{x:D,y:I}}),L=Uh(O=>{if(O.is0()){if(e.allowInfinityPoint&&!n.is0(O.Y))return;throw new Error("bad point: ZERO")}const{x:A,y:N}=O.toAffine();if(!n.isValid(A)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!y(A,N))throw new Error("bad point: equation left != right");if(!O.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function F(O,A,N,E,_){return N=new x(n.mul(N.X,O),N.Y,N.Z),A=Ba(E,A),N=Ba(_,N),A.add(N)}class x{constructor(A,N,E){this.X=v("x",A),this.Y=v("y",N,!0),this.Z=v("z",E),Object.freeze(this)}static CURVE(){return i}static fromAffine(A){const{x:N,y:E}=A||{};if(!A||!n.isValid(N)||!n.isValid(E))throw new Error("invalid affine point");if(A instanceof x)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(E)?x.ZERO:new x(N,E,n.ONE)}static fromBytes(A){const N=x.fromAffine(m(gr(A,void 0,"point")));return N.assertValidity(),N}static fromHex(A){return x.fromBytes(Nt("pointHex",A))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(A=8,N=!0){return W.createCache(this,A),N||this.multiply(Xo),this}assertValidity(){L(this)}hasEvenY(){const{y:A}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(A)}equals(A){C(A);const{X:N,Y:E,Z:_}=this,{X:T,Y:D,Z:I}=A,P=n.eql(n.mul(N,I),n.mul(T,_)),H=n.eql(n.mul(E,I),n.mul(D,_));return P&&H}negate(){return new x(this.X,n.neg(this.Y),this.Z)}double(){const{a:A,b:N}=i,E=n.mul(N,Xo),{X:_,Y:T,Z:D}=this;let I=n.ZERO,P=n.ZERO,H=n.ZERO,z=n.mul(_,_),me=n.mul(T,T),de=n.mul(D,D),oe=n.mul(_,T);return oe=n.add(oe,oe),H=n.mul(_,D),H=n.add(H,H),I=n.mul(A,H),P=n.mul(E,de),P=n.add(I,P),I=n.sub(me,P),P=n.add(me,P),P=n.mul(I,P),I=n.mul(oe,I),H=n.mul(E,H),de=n.mul(A,de),oe=n.sub(z,de),oe=n.mul(A,oe),oe=n.add(oe,H),H=n.add(z,z),z=n.add(H,z),z=n.add(z,de),z=n.mul(z,oe),P=n.add(P,z),de=n.mul(T,D),de=n.add(de,de),z=n.mul(de,oe),I=n.sub(I,z),H=n.mul(de,me),H=n.add(H,H),H=n.add(H,H),new x(I,P,H)}add(A){C(A);const{X:N,Y:E,Z:_}=this,{X:T,Y:D,Z:I}=A;let P=n.ZERO,H=n.ZERO,z=n.ZERO;const me=i.a,de=n.mul(i.b,Xo);let oe=n.mul(N,T),be=n.mul(E,D),fe=n.mul(_,I),Be=n.add(N,E),ye=n.add(T,D);Be=n.mul(Be,ye),ye=n.add(oe,be),Be=n.sub(Be,ye),ye=n.add(N,_);let qe=n.add(T,I);return ye=n.mul(ye,qe),qe=n.add(oe,fe),ye=n.sub(ye,qe),qe=n.add(E,_),P=n.add(D,I),qe=n.mul(qe,P),P=n.add(be,fe),qe=n.sub(qe,P),z=n.mul(me,ye),P=n.mul(de,fe),z=n.add(P,z),P=n.sub(be,z),z=n.add(be,z),H=n.mul(P,z),be=n.add(oe,oe),be=n.add(be,oe),fe=n.mul(me,fe),ye=n.mul(de,ye),be=n.add(be,fe),fe=n.sub(oe,fe),fe=n.mul(me,fe),ye=n.add(ye,fe),oe=n.mul(be,ye),H=n.add(H,oe),oe=n.mul(qe,ye),P=n.mul(Be,P),P=n.sub(P,oe),oe=n.mul(Be,be),z=n.mul(qe,z),z=n.add(z,oe),new x(P,H,z)}subtract(A){return this.add(A.negate())}is0(){return this.equals(x.ZERO)}multiply(A){const{endo:N}=e;if(!r.isValidNot0(A))throw new Error("invalid scalar: out of range");let E,_;const T=D=>W.cached(this,D,I=>Bc(x,I));if(N){const{k1neg:D,k1:I,k2neg:P,k2:H}=R(A),{p:z,f:me}=T(I),{p:de,f:oe}=T(H);_=me.add(oe),E=F(N.beta,z,de,D,P)}else{const{p:D,f:I}=T(A);E=D,_=I}return Bc(x,[E,_])[0]}multiplyUnsafe(A){const{endo:N}=e,E=this;if(!r.isValid(A))throw new Error("invalid scalar: out of range");if(A===pn||E.is0())return x.ZERO;if(A===ri)return E;if(W.hasCache(this))return this.multiply(A);if(N){const{k1neg:_,k1:T,k2neg:D,k2:I}=R(A),{p1:P,p2:H}=NS(x,E,T,I);return F(N.beta,P,H,_,D)}else return W.unsafe(E,A)}multiplyAndAddUnsafe(A,N,E){const _=this.multiplyUnsafe(N).add(A.multiplyUnsafe(E));return _.is0()?void 0:_}toAffine(A){return k(this,A)}isTorsionFree(){const{isTorsionFree:A}=e;return o===ri?!0:A?A(x,this):W.unsafe(this,a).is0()}clearCofactor(){const{clearCofactor:A}=e;return o===ri?this:A?A(x,this):this.multiplyUnsafe(o)}isSmallOrder(){return this.multiplyUnsafe(o).is0()}toBytes(A=!0){return La(A,"isCompressed"),this.assertValidity(),p(x,this,A)}toHex(A=!0){return ni(this.toBytes(A))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(A=!0){return this.toBytes(A)}_setWindowSize(A){this.precompute(A)}static normalizeZ(A){return Bc(x,A)}static msm(A,N){return TS(x,r,A,N)}static fromPrivateKey(A){return x.BASE.multiply(Zr(r,A))}}x.BASE=new x(i.Gx,i.Gy,n.ONE),x.ZERO=new x(n.ZERO,n.ONE,n.ZERO),x.Fp=n,x.Fn=r;const B=r.BITS,W=new IS(x,e.endo?Math.ceil(B/2):B);return x.BASE.precompute(8),x}function lm(t){return Uint8Array.of(t?2:3)}function dm(t,e){return{secretKey:e.BYTES,publicKey:1+t.BYTES,publicKeyUncompressed:1+2*t.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function WS(t,e={}){const{Fn:s}=t,n=e.randomBytes||$r,r=Object.assign(dm(t.Fp,s),{seed:rm(s.ORDER)});function i(h){try{return!!Zr(s,h)}catch{return!1}}function o(h,p){const{publicKey:m,publicKeyUncompressed:f}=r;try{const y=h.length;return p===!0&&y!==m||p===!1&&y!==f?!1:!!t.fromBytes(h)}catch{return!1}}function a(h=n(r.seed)){return _S(gr(h,r.seed,"seed"),s.ORDER)}function c(h,p=!0){return t.BASE.multiply(Zr(s,h)).toBytes(p)}function l(h){const p=a(h);return{secretKey:p,publicKey:c(p)}}function d(h){if(typeof h=="bigint")return!1;if(h instanceof t)return!0;const{secretKey:p,publicKey:m,publicKeyUncompressed:f}=r;if(s.allowedLengths||p===m)return;const y=Nt("key",h).length;return y===m||y===f}function u(h,p,m=!0){if(d(h)===!0)throw new Error("first arg must be private key");if(d(p)===!1)throw new Error("second arg must be public key");const f=Zr(s,h);return t.fromHex(p).multiply(f).toBytes(m)}return Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:l,Point:t,utils:{isValidSecretKey:i,isValidPublicKey:o,randomSecretKey:a,isValidPrivateKey:i,randomPrivateKey:a,normPrivateKeyToScalar:h=>Zr(s,h),precompute(h=8,p=t.BASE){return p.precompute(h,!1)}},lengths:r})}function HS(t,e,s={}){tc(e),cc(s,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const n=s.randomBytes||$r,r=s.hmac||((N,...E)=>ic(e,N,Dn(...E))),{Fp:i,Fn:o}=t,{ORDER:a,BITS:c}=o,{keygen:l,getPublicKey:d,getSharedSecret:u,utils:h,lengths:p}=WS(t,s),m={prehash:!1,lowS:typeof s.lowS=="boolean"?s.lowS:!1,format:void 0,extraEntropy:!1},f="compact";function y(N){const E=a>>ri;return N>E}function b(N,E){if(!o.isValidNot0(E))throw new Error(`invalid signature ${N}: out of range 1..Point.Fn.ORDER`);return E}function S(N,E){Vl(E);const _=p.signature,T=E==="compact"?_:E==="recovered"?_+1:void 0;return gr(N,T,`${E} signature`)}class v{constructor(E,_,T){this.r=b("r",E),this.s=b("s",_),T!=null&&(this.recovery=T),Object.freeze(this)}static fromBytes(E,_=f){S(E,_);let T;if(_==="der"){const{r:H,s:z}=dn.toSig(gr(E));return new v(H,z)}_==="recovered"&&(T=E[0],_="compact",E=E.subarray(1));const D=o.BYTES,I=E.subarray(0,D),P=E.subarray(D,D*2);return new v(o.fromBytes(I),o.fromBytes(P),T)}static fromHex(E,_){return this.fromBytes($a(E),_)}addRecoveryBit(E){return new v(this.r,this.s,E)}recoverPublicKey(E){const _=i.ORDER,{r:T,s:D,recovery:I}=this;if(I==null||![0,1,2,3].includes(I))throw new Error("recovery id invalid");if(a*cm<_&&I>1)throw new Error("recovery id is ambiguous for h>1 curve");const P=I===2||I===3?T+a:T;if(!i.isValid(P))throw new Error("recovery id 2 or 3 invalid");const H=i.toBytes(P),z=t.fromBytes(Dn(lm((I&1)===0),H)),me=o.inv(P),de=R(Nt("msgHash",E)),oe=o.create(-de*me),be=o.create(D*me),fe=t.BASE.multiplyUnsafe(oe).add(z.multiplyUnsafe(be));if(fe.is0())throw new Error("point at infinify");return fe.assertValidity(),fe}hasHighS(){return y(this.s)}toBytes(E=f){if(Vl(E),E==="der")return $a(dn.hexFromSig(this));const _=o.toBytes(this.r),T=o.toBytes(this.s);if(E==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return Dn(Uint8Array.of(this.recovery),_,T)}return Dn(_,T)}toHex(E){return ni(this.toBytes(E))}assertValidity(){}static fromCompact(E){return v.fromBytes(Nt("sig",E),"compact")}static fromDER(E){return v.fromBytes(Nt("sig",E),"der")}normalizeS(){return this.hasHighS()?new v(this.r,o.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return ni(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return ni(this.toBytes("compact"))}}const C=s.bits2int||function(N){if(N.length>8192)throw new Error("input is too large");const E=ac(N),_=N.length*8-c;return _>0?E>>BigInt(_):E},R=s.bits2int_modN||function(N){return o.create(C(N))},k=Oo(c);function L(N){return Wl("num < 2^"+c,N,pn,k),o.toBytes(N)}function F(N,E){return gr(N,void 0,"message"),E?gr(e(N),void 0,"prehashed message"):N}function x(N,E,_){if(["recovered","canonical"].some(be=>be in _))throw new Error("sign() legacy options not supported");const{lowS:T,prehash:D,extraEntropy:I}=Wc(_,m);N=F(N,D);const P=R(N),H=Zr(o,E),z=[L(H),L(P)];if(I!=null&&I!==!1){const be=I===!0?n(p.secretKey):I;z.push(Nt("extraEntropy",be))}const me=Dn(...z),de=P;function oe(be){const fe=C(be);if(!o.isValidNot0(fe))return;const Be=o.inv(fe),ye=t.BASE.multiply(fe).toAffine(),qe=o.create(ye.x);if(qe===pn)return;const Rt=o.create(Be*o.create(de+qe*H));if(Rt===pn)return;let Bt=(ye.x===qe?0:2)|Number(ye.y&ri),Ot=Rt;return T&&y(Rt)&&(Ot=o.neg(Rt),Bt^=1),new v(qe,Ot,Bt)}return{seed:me,k2sig:oe}}function B(N,E,_={}){N=Nt("message",N);const{seed:T,k2sig:D}=x(N,E,_);return fS(e.outputLen,o.BYTES,r)(T,D)}function W(N){let E;const _=typeof N=="string"||ec(N),T=!_&&N!==null&&typeof N=="object"&&typeof N.r=="bigint"&&typeof N.s=="bigint";if(!_&&!T)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(T)E=new v(N.r,N.s);else if(_){try{E=v.fromBytes(Nt("sig",N),"der")}catch(D){if(!(D instanceof dn.Err))throw D}if(!E)try{E=v.fromBytes(Nt("sig",N),"compact")}catch{return!1}}return E||!1}function O(N,E,_,T={}){const{lowS:D,prehash:I,format:P}=Wc(T,m);if(_=Nt("publicKey",_),E=F(Nt("message",E),I),"strict"in T)throw new Error("options.strict was renamed to lowS");const H=P===void 0?W(N):v.fromBytes(Nt("sig",N),P);if(H===!1)return!1;try{const z=t.fromBytes(_);if(D&&H.hasHighS())return!1;const{r:me,s:de}=H,oe=R(E),be=o.inv(de),fe=o.create(oe*be),Be=o.create(me*be),ye=t.BASE.multiplyUnsafe(fe).add(z.multiplyUnsafe(Be));return ye.is0()?!1:o.create(ye.x)===me}catch{return!1}}function A(N,E,_={}){const{prehash:T}=Wc(_,m);return E=F(E,T),v.fromBytes(N,"recovered").recoverPublicKey(E).toBytes()}return Object.freeze({keygen:l,getPublicKey:d,getSharedSecret:u,utils:h,lengths:p,Point:t,sign:B,verify:O,recoverPublicKey:A,Signature:v,hash:e})}function VS(t){const e={a:t.a,b:t.b,p:t.Fp.ORDER,n:t.n,h:t.h,Gx:t.Gx,Gy:t.Gy},s=t.Fp;let n=t.allowedPrivateKeyLengths?Array.from(new Set(t.allowedPrivateKeyLengths.map(o=>Math.ceil(o/2)))):void 0;const r=Xn(e.n,{BITS:t.nBitLength,allowedLengths:n,modFromBytes:t.wrapPrivateKey}),i={Fp:s,Fn:r,allowInfinityPoint:t.allowInfinityPoint,endo:t.endo,isTorsionFree:t.isTorsionFree,clearCofactor:t.clearCofactor,fromBytes:t.fromBytes,toBytes:t.toBytes};return{CURVE:e,curveOpts:i}}function zS(t){const{CURVE:e,curveOpts:s}=VS(t),n={hmac:t.hmac,randomBytes:t.randomBytes,lowS:t.lowS,bits2int:t.bits2int,bits2int_modN:t.bits2int_modN};return{CURVE:e,curveOpts:s,hash:t.hash,ecdsaOpts:n}}function KS(t,e){const s=e.Point;return Object.assign({},e,{ProjectivePoint:s,CURVE:Object.assign({},t,sm(s.Fn.ORDER,s.Fn.BITS))})}function GS(t){const{CURVE:e,curveOpts:s,hash:n,ecdsaOpts:r}=zS(t),i=qS(e,s),o=HS(i,n,r);return KS(t,o)}function zl(t,e){const s=n=>GS({...t,hash:n});return{...s(e),create:s}}const um={p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")},hm={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")},pm={p:BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),h:BigInt(1),a:BigInt("0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc"),b:BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650")},YS=Xn(um.p),ZS=Xn(hm.p),JS=Xn(pm.p),XS=zl({...um,Fp:YS,lowS:!1},nc);zl({...hm,Fp:ZS,lowS:!1},nA),zl({...pm,Fp:JS,lowS:!1,allowedPrivateKeyLengths:[130,131,132]},sA);const QS=XS,fm="base10",Lt="base16",Kt="base64pad",Ln="base64url",Po="utf8",gm=0,yn=1,xo=2,eI=0,qh=1,Fi=12,Bd=32;function tI(){const t=Hl.utils.randomPrivateKey(),e=Hl.getPublicKey(t);return{privateKey:Zt(t,Lt),publicKey:Zt(e,Lt)}}function Kl(){const t=$r(Bd);return Zt(t,Lt)}function sI(t,e){const s=Hl.getSharedSecret(bs(t,Lt),bs(e,Lt)),n=hS(oc,s,void 0,void 0,Bd);return Zt(n,Lt)}function ha(t){const e=oc(bs(t,Lt));return Zt(e,Lt)}function ys(t){const e=oc(bs(t,Po));return Zt(e,Lt)}function mm(t){return bs(`${t}`,fm)}function Rr(t){return Number(Zt(t,fm))}function ym(t){return t.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function wm(t){const e=t.replace(/-/g,"+").replace(/_/g,"/"),s=(4-e.length%4)%4;return e+"=".repeat(s)}function nI(t){const e=mm(typeof t.type<"u"?t.type:gm);if(Rr(e)===yn&&typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const s=typeof t.senderPublicKey<"u"?bs(t.senderPublicKey,Lt):void 0,n=typeof t.iv<"u"?bs(t.iv,Lt):$r(Fi),r=bs(t.symKey,Lt),i=Hg(r,n).encrypt(bs(t.message,Po)),o=Em({type:e,sealed:i,iv:n,senderPublicKey:s});return t.encoding===Ln?ym(o):o}function rI(t){const e=bs(t.symKey,Lt),{sealed:s,iv:n}=yo({encoded:t.encoded,encoding:t.encoding}),r=Hg(e,n).decrypt(s);if(r===null)throw new Error("Failed to decrypt");return Zt(r,Po)}function iI(t,e){const s=mm(xo),n=$r(Fi),r=bs(t,Po),i=Em({type:s,sealed:r,iv:n});return e===Ln?ym(i):i}function oI(t,e){const{sealed:s}=yo({encoded:t,encoding:e});return Zt(s,Po)}function Em(t){if(Rr(t.type)===xo)return Zt(Mi([t.type,t.sealed]),Kt);if(Rr(t.type)===yn){if(typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return Zt(Mi([t.type,t.senderPublicKey,t.iv,t.sealed]),Kt)}return Zt(Mi([t.type,t.iv,t.sealed]),Kt)}function yo(t){const e=(t.encoding||Kt)===Ln?wm(t.encoded):t.encoded,s=bs(e,Kt),n=s.slice(eI,qh),r=qh;if(Rr(n)===yn){const c=r+Bd,l=c+Fi,d=s.slice(r,c),u=s.slice(c,l),h=s.slice(l);return{type:n,sealed:h,iv:u,senderPublicKey:d}}if(Rr(n)===xo){const c=s.slice(r),l=$r(Fi);return{type:n,sealed:c,iv:l}}const i=r+Fi,o=s.slice(r,i),a=s.slice(i);return{type:n,sealed:a,iv:o}}function aI(t,e){const s=yo({encoded:t,encoding:e==null?void 0:e.encoding});return bm({type:Rr(s.type),senderPublicKey:typeof s.senderPublicKey<"u"?Zt(s.senderPublicKey,Lt):void 0,receiverPublicKey:e==null?void 0:e.receiverPublicKey})}function bm(t){const e=(t==null?void 0:t.type)||gm;if(e===yn){if(typeof(t==null?void 0:t.senderPublicKey)>"u")throw new Error("missing sender public key");if(typeof(t==null?void 0:t.receiverPublicKey)>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:t==null?void 0:t.senderPublicKey,receiverPublicKey:t==null?void 0:t.receiverPublicKey}}function Wh(t){return t.type===yn&&typeof t.senderPublicKey=="string"&&typeof t.receiverPublicKey=="string"}function Hh(t){return t.type===xo}function cI(t){const e=ke.from(t.x,"base64"),s=ke.from(t.y,"base64");return Mi([new Uint8Array([4]),e,s])}function lI(t,e){const[s,n,r]=t.split("."),i=ke.from(wm(r),"base64");if(i.length!==64)throw new Error("Invalid signature length");const o=i.slice(0,32),a=i.slice(32,64),c=`${s}.${n}`,l=oc(c),d=cI(e);if(!QS.verify(Mi([o,a]),l,d))throw new Error("Invalid signature");return ul(t).payload}const dI="irn";function ja(t){return(t==null?void 0:t.relay)||{protocol:dI}}function Jr(t){const e=my[t];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${t}`);return e}var uI=Object.defineProperty,hI=Object.defineProperties,pI=Object.getOwnPropertyDescriptors,Vh=Object.getOwnPropertySymbols,fI=Object.prototype.hasOwnProperty,gI=Object.prototype.propertyIsEnumerable,zh=(t,e,s)=>e in t?uI(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Hc=(t,e)=>{for(var s in e||(e={}))fI.call(e,s)&&zh(t,s,e[s]);if(Vh)for(var s of Vh(e))gI.call(e,s)&&zh(t,s,e[s]);return t},mI=(t,e)=>hI(t,pI(e));function yI(t,e="-"){const s={},n="relay"+e;return Object.keys(t).forEach(r=>{if(r.startsWith(n)){const i=r.replace(n,""),o=t[r];s[i]=o}}),s}function Kh(t){if(!t.includes("wc:")){const l=_g(t);l!=null&&l.includes("wc:")&&(t=l)}t=t.includes("wc://")?t.replace("wc://",""):t,t=t.includes("wc:")?t.replace("wc:",""):t;const e=t.indexOf(":"),s=t.indexOf("?")!==-1?t.indexOf("?"):void 0,n=t.substring(0,e),r=t.substring(e+1,s).split("@"),i=typeof s<"u"?t.substring(s):"",o=new URLSearchParams(i),a=Object.fromEntries(o.entries()),c=typeof a.methods=="string"?a.methods.split(","):void 0;return{protocol:n,topic:wI(r[0]),version:parseInt(r[1],10),symKey:a.symKey,relay:yI(a),methods:c,expiryTimestamp:a.expiryTimestamp?parseInt(a.expiryTimestamp,10):void 0}}function wI(t){return t.startsWith("//")?t.substring(2):t}function EI(t,e="-"){const s="relay",n={};return Object.keys(t).forEach(r=>{const i=r,o=s+e+i;t[i]&&(n[o]=t[i])}),n}function Gh(t){const e=new URLSearchParams,s=Hc(Hc(mI(Hc({},EI(t.relay)),{symKey:t.symKey}),t.expiryTimestamp&&{expiryTimestamp:t.expiryTimestamp.toString()}),t.methods&&{methods:t.methods.join(",")});return Object.entries(s).sort(([n],[r])=>n.localeCompare(r)).forEach(([n,r])=>{r!==void 0&&e.append(n,String(r))}),`${t.protocol}:${t.topic}@${t.version}?${e}`}function Qo(t,e,s){return`${t}?wc_ev=${s}&topic=${e}`}var bI=Object.defineProperty,CI=Object.defineProperties,vI=Object.getOwnPropertyDescriptors,Yh=Object.getOwnPropertySymbols,_I=Object.prototype.hasOwnProperty,AI=Object.prototype.propertyIsEnumerable,Zh=(t,e,s)=>e in t?bI(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,SI=(t,e)=>{for(var s in e||(e={}))_I.call(e,s)&&Zh(t,s,e[s]);if(Yh)for(var s of Yh(e))AI.call(e,s)&&Zh(t,s,e[s]);return t},II=(t,e)=>CI(t,vI(e));function bi(t){const e=[];return t.forEach(s=>{const[n,r]=s.split(":");e.push(`${n}:${r}`)}),e}function Cm(t){const e=[];return Object.values(t).forEach(s=>{e.push(...bi(s.accounts))}),[...new Set(e)]}function NI(t){const e=[];return Object.values(t).forEach(s=>{e.push(...s.methods)}),[...new Set(e)]}function TI(t){const e=[];return Object.values(t).forEach(s=>{e.push(...s.events)}),[...new Set(e)]}function RI(t,e){const s=[];return Object.values(t).forEach(n=>{bi(n.accounts).includes(e)&&s.push(...n.methods)}),s}function OI(t,e){const s=[];return Object.values(t).forEach(n=>{bi(n.accounts).includes(e)&&s.push(...n.events)}),s}function lc(t){return t.includes(":")}function Xr(t){return lc(t)?t.split(":")[0]:t}function Jh(t){var e,s,n;const r={};if(!Gs(t))return r;for(const[i,o]of Object.entries(t)){const a=lc(i)?[i]:o.chains,c=o.methods||[],l=o.events||[],d=Xr(i);r[d]=II(SI({},r[d]),{chains:Ks(a,(e=r[d])==null?void 0:e.chains),methods:Ks(c,(s=r[d])==null?void 0:s.methods),events:Ks(l,(n=r[d])==null?void 0:n.events)})}return r}function PI(t){const e={};return t==null||t.forEach(s=>{var n;const[r,i]=s.split(":");e[r]||(e[r]={accounts:[],chains:[],events:[],methods:[]}),e[r].accounts.push(s),(n=e[r].chains)==null||n.push(`${r}:${i}`)}),e}function Xh(t,e){e=e.map(n=>n.replace("did:pkh:",""));const s=PI(e);for(const[n,r]of Object.entries(s))r.methods?r.methods=Ks(r.methods,t):r.methods=t,r.events=["chainChanged","accountsChanged"];return s}function xI(t,e){var s,n,r,i,o,a;const c=Jh(t),l=Jh(e),d={},u=Object.keys(c).concat(Object.keys(l));for(const h of u)d[h]={chains:Ks((s=c[h])==null?void 0:s.chains,(n=l[h])==null?void 0:n.chains),methods:Ks((r=c[h])==null?void 0:r.methods,(i=l[h])==null?void 0:i.methods),events:Ks((o=c[h])==null?void 0:o.events,(a=l[h])==null?void 0:a.events)};return d}const kI={INVALID_METHOD:{message:"Invalid method.",code:1001},INVALID_EVENT:{message:"Invalid event.",code:1002},INVALID_UPDATE_REQUEST:{message:"Invalid update request.",code:1003},INVALID_EXTEND_REQUEST:{message:"Invalid extend request.",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:"Invalid session settle request.",code:1005},UNAUTHORIZED_METHOD:{message:"Unauthorized method.",code:3001},UNAUTHORIZED_EVENT:{message:"Unauthorized event.",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:"Unauthorized update request.",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:"Unauthorized extend request.",code:3004},USER_REJECTED:{message:"User rejected.",code:5e3},USER_REJECTED_CHAINS:{message:"User rejected chains.",code:5001},USER_REJECTED_METHODS:{message:"User rejected methods.",code:5002},USER_REJECTED_EVENTS:{message:"User rejected events.",code:5003},UNSUPPORTED_CHAINS:{message:"Unsupported chains.",code:5100},UNSUPPORTED_METHODS:{message:"Unsupported methods.",code:5101},UNSUPPORTED_EVENTS:{message:"Unsupported events.",code:5102},UNSUPPORTED_ACCOUNTS:{message:"Unsupported accounts.",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:"Unsupported namespace key.",code:5104},USER_DISCONNECTED:{message:"User disconnected.",code:6e3},SESSION_SETTLEMENT_FAILED:{message:"Session settlement failed.",code:7e3},WC_METHOD_UNSUPPORTED:{message:"Unsupported wc_ method.",code:10001}},UI={NOT_INITIALIZED:{message:"Not initialized.",code:1},NO_MATCHING_KEY:{message:"No matching key.",code:2},RESTORE_WILL_OVERRIDE:{message:"Restore will override.",code:3},RESUBSCRIBED:{message:"Resubscribed.",code:4},MISSING_OR_INVALID:{message:"Missing or invalid.",code:5},EXPIRED:{message:"Expired.",code:6},UNKNOWN_TYPE:{message:"Unknown type.",code:7},MISMATCHED_TOPIC:{message:"Mismatched topic.",code:8},NON_CONFORMING_NAMESPACES:{message:"Non conforming namespaces.",code:9}};function G(t,e){const{message:s,code:n}=UI[t];return{message:e?`${s} ${e}`:s,code:n}}function Ye(t,e){const{message:s,code:n}=kI[t];return{message:e?`${s} ${e}`:s,code:n}}function wn(t,e){return!!Array.isArray(t)}function Gs(t){return Object.getPrototypeOf(t)===Object.prototype&&Object.keys(t).length}function ht(t){return typeof t>"u"}function rt(t,e){return e&&ht(t)?!0:typeof t=="string"&&!!t.trim().length}function jd(t,e){return typeof t=="number"&&!isNaN(t)}function $I(t,e){const{requiredNamespaces:s}=e,n=Object.keys(t.namespaces),r=Object.keys(s);let i=!0;return fr(r,n)?(n.forEach(o=>{const{accounts:a,methods:c,events:l}=t.namespaces[o],d=bi(a),u=s[o];(!fr(wg(o,u),d)||!fr(u.methods,c)||!fr(u.events,l))&&(i=!1)}),i):!1}function Fa(t){return rt(t,!1)&&t.includes(":")?t.split(":").length===2:!1}function DI(t){if(rt(t,!1)&&t.includes(":")){const e=t.split(":");if(e.length===3){const s=e[0]+":"+e[1];return!!e[2]&&Fa(s)}}return!1}function LI(t){function e(s){try{return typeof new URL(s)<"u"}catch{return!1}}try{if(rt(t,!1)){if(e(t))return!0;const s=_g(t);return e(s)}}catch{}return!1}function MI(t){var e;return(e=t==null?void 0:t.proposer)==null?void 0:e.publicKey}function BI(t){return t==null?void 0:t.topic}function jI(t,e){let s=null;return rt(t==null?void 0:t.publicKey,!1)||(s=G("MISSING_OR_INVALID",`${e} controller public key should be a string`)),s}function Qh(t){let e=!0;return wn(t)?t.length&&(e=t.every(s=>rt(s,!1))):e=!1,e}function FI(t,e,s){let n=null;return wn(e)&&e.length?e.forEach(r=>{n||Fa(r)||(n=Ye("UNSUPPORTED_CHAINS",`${s}, chain ${r} should be a string and conform to "namespace:chainId" format`))}):Fa(t)||(n=Ye("UNSUPPORTED_CHAINS",`${s}, chains must be defined as "namespace:chainId" e.g. "eip155:1": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: ["eip155:1", "eip155:5"] }`)),n}function qI(t,e,s){let n=null;return Object.entries(t).forEach(([r,i])=>{if(n)return;const o=FI(r,wg(r,i),`${e} ${s}`);o&&(n=o)}),n}function WI(t,e){let s=null;return wn(t)?t.forEach(n=>{s||DI(n)||(s=Ye("UNSUPPORTED_ACCOUNTS",`${e}, account ${n} should be a string and conform to "namespace:chainId:address" format`))}):s=Ye("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),s}function HI(t,e){let s=null;return Object.values(t).forEach(n=>{if(s)return;const r=WI(n==null?void 0:n.accounts,`${e} namespace`);r&&(s=r)}),s}function VI(t,e){let s=null;return Qh(t==null?void 0:t.methods)?Qh(t==null?void 0:t.events)||(s=Ye("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):s=Ye("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),s}function vm(t,e){let s=null;return Object.values(t).forEach(n=>{if(s)return;const r=VI(n,`${e}, namespace`);r&&(s=r)}),s}function zI(t,e,s){let n=null;if(t&&Gs(t)){const r=vm(t,e);r&&(n=r);const i=qI(t,e,s);i&&(n=i)}else n=G("MISSING_OR_INVALID",`${e}, ${s} should be an object with data`);return n}function Vc(t,e){let s=null;if(t&&Gs(t)){const n=vm(t,e);n&&(s=n);const r=HI(t,e);r&&(s=r)}else s=G("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return s}function _m(t){return rt(t.protocol,!0)}function KI(t,e){let s=!1;return t?t&&wn(t)&&t.length&&t.forEach(n=>{s=_m(n)}):s=!0,s}function GI(t){return typeof t=="number"}function Wt(t){return typeof t<"u"&&typeof t!==null}function YI(t){return!(!t||typeof t!="object"||!t.code||!jd(t.code)||!t.message||!rt(t.message,!1))}function ZI(t){return!(ht(t)||!rt(t.method,!1))}function JI(t){return!(ht(t)||ht(t.result)&&ht(t.error)||!jd(t.id)||!rt(t.jsonrpc,!1))}function XI(t){return!(ht(t)||!rt(t.name,!1))}function ep(t,e){return!(!Fa(e)||!Cm(t).includes(e))}function QI(t,e,s){return rt(s,!1)?RI(t,e).includes(s):!1}function eN(t,e,s){return rt(s,!1)?OI(t,e).includes(s):!1}function tp(t,e,s){let n=null;const r=tN(t),i=sN(e),o=Object.keys(r),a=Object.keys(i),c=sp(Object.keys(t)),l=sp(Object.keys(e)),d=c.filter(u=>!l.includes(u));return d.length&&(n=G("NON_CONFORMING_NAMESPACES",`${s} namespaces keys don't satisfy requiredNamespaces.
8
+ `)};function PA(t){return ke.from(JSON.stringify(t)).toString("base64")}function xA(t){return JSON.parse(ke.from(t,"base64").toString("utf-8"))}function Tr(t){if(!t)throw new Error("No recap provided, value is undefined");if(!t.att)throw new Error("No `att` property found");const e=Object.keys(t.att);if(!(e!=null&&e.length))throw new Error("No resources found in `att` property");e.forEach(s=>{const n=t.att[s];if(Array.isArray(n))throw new Error(`Resource must be an object: ${s}`);if(typeof n!="object")throw new Error(`Resource must be an object: ${s}`);if(!Object.keys(n).length)throw new Error(`Resource object is empty: ${s}`);Object.keys(n).forEach(r=>{const i=n[r];if(!Array.isArray(i))throw new Error(`Ability limits ${r} must be an array of objects, found: ${i}`);if(!i.length)throw new Error(`Value of ${r} is empty array, must be an array with objects`);i.forEach(o=>{if(typeof o!="object")throw new Error(`Ability limits (${r}) must be an array of objects, found: ${o}`)})})})}function kA(t,e,s,n={}){return s==null||s.sort((r,i)=>r.localeCompare(i)),{att:{[t]:UA(e,s,n)}}}function UA(t,e,s={}){e=e==null?void 0:e.sort((r,i)=>r.localeCompare(i));const n=e.map(r=>({[`${t}/${r}`]:[s]}));return Object.assign({},...n)}function jg(t){return Tr(t),`urn:recap:${PA(t).replace(/=/g,"")}`}function mo(t){const e=xA(t.replace("urn:recap:",""));return Tr(e),e}function $A(t,e,s){const n=kA(t,e,s);return jg(n)}function DA(t){return t&&t.includes("urn:recap:")}function LA(t,e){const s=mo(t),n=mo(e),r=MA(s,n);return jg(r)}function MA(t,e){Tr(t),Tr(e);const s=Object.keys(t.att).concat(Object.keys(e.att)).sort((r,i)=>r.localeCompare(i)),n={att:{}};return s.forEach(r=>{var i,o;Object.keys(((i=t.att)==null?void 0:i[r])||{}).concat(Object.keys(((o=e.att)==null?void 0:o[r])||{})).sort((a,c)=>a.localeCompare(c)).forEach(a=>{var c,l;n.att[r]=IA(SA({},n.att[r]),{[a]:((c=t.att[r])==null?void 0:c[a])||((l=e.att[r])==null?void 0:l[a])})})}),n}function BA(t="",e){Tr(e);const s="I further authorize the stated URI to perform the following actions on my behalf: ";if(t.includes(s))return t;const n=[];let r=0;Object.keys(e.att).forEach(a=>{const c=Object.keys(e.att[a]).map(u=>({ability:u.split("/")[0],action:u.split("/")[1]}));c.sort((u,h)=>u.action.localeCompare(h.action));const l={};c.forEach(u=>{l[u.ability]||(l[u.ability]=[]),l[u.ability].push(u.action)});const d=Object.keys(l).map(u=>(r++,`(${r}) '${u}': '${l[u].join("', '")}' for '${a}'.`));n.push(d.join(", ").replace(".,","."))});const i=n.join(" "),o=`${s}${i}`;return`${t?t+" ":""}${o}`}function Sh(t){var e;const s=mo(t);Tr(s);const n=(e=s.att)==null?void 0:e.eip155;return n?Object.keys(n).map(r=>r.split("/")[1]):[]}function Ih(t){const e=mo(t);Tr(e);const s=[];return Object.values(e.att).forEach(n=>{Object.values(n).forEach(r=>{var i;(i=r==null?void 0:r[0])!=null&&i.chains&&s.push(r[0].chains)})}),[...new Set(s.flat())]}function ua(t){if(!t)return;const e=t==null?void 0:t[t.length-1];return DA(e)?e:void 0}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */function Fg(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Ml(t){if(typeof t!="boolean")throw new Error(`boolean expected, not ${t}`)}function Dc(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function zt(t,...e){if(!Fg(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Nh(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function jA(t,e){zt(t);const s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function qn(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function hi(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function FA(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const qA=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function WA(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Bl(t){if(typeof t=="string")t=WA(t);else if(Fg(t))t=jl(t);else throw new Error("Uint8Array expected, got "+typeof t);return t}function HA(t,e){if(e==null||typeof e!="object")throw new Error("options must be defined");return Object.assign(t,e)}function VA(t,e){if(t.length!==e.length)return!1;let s=0;for(let n=0;n<t.length;n++)s|=t[n]^e[n];return s===0}const zA=(t,e)=>{function s(n,...r){if(zt(n),!qA)throw new Error("Non little-endian hardware is not yet supported");if(t.nonceLength!==void 0){const l=r[0];if(!l)throw new Error("nonce / iv required");t.varSizeNonce?zt(l):zt(l,t.nonceLength)}const i=t.tagLength;i&&r[1]!==void 0&&zt(r[1]);const o=e(n,...r),a=(l,d)=>{if(d!==void 0){if(l!==2)throw new Error("cipher output not supported");zt(d)}};let c=!1;return{encrypt(l,d){if(c)throw new Error("cannot encrypt() twice with same key + nonce");return c=!0,zt(l),a(o.encrypt.length,d),o.encrypt(l,d)},decrypt(l,d){if(zt(l),i&&l.length<i)throw new Error("invalid ciphertext length: smaller than tagLength="+i);return a(o.decrypt.length,d),o.decrypt(l,d)}}}return Object.assign(s,t),s};function Th(t,e,s=!0){if(e===void 0)return new Uint8Array(t);if(e.length!==t)throw new Error("invalid output length, expected "+t+", got: "+e.length);if(s&&!GA(e))throw new Error("invalid output, must be aligned");return e}function Rh(t,e,s,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,s,n);const r=BigInt(32),i=BigInt(4294967295),o=Number(s>>r&i),a=Number(s&i);t.setUint32(e+4,o,n),t.setUint32(e+0,a,n)}function KA(t,e,s){Ml(s);const n=new Uint8Array(16),r=FA(n);return Rh(r,0,BigInt(e),s),Rh(r,8,BigInt(t),s),n}function GA(t){return t.byteOffset%4===0}function jl(t){return Uint8Array.from(t)}const qg=t=>Uint8Array.from(t.split("").map(e=>e.charCodeAt(0))),YA=qg("expand 16-byte k"),ZA=qg("expand 32-byte k"),JA=qn(YA),XA=qn(ZA);function Ue(t,e){return t<<e|t>>>32-e}function Fl(t){return t.byteOffset%4===0}const Yo=64,QA=16,Wg=2**32-1,Oh=new Uint32Array;function eS(t,e,s,n,r,i,o,a){const c=r.length,l=new Uint8Array(Yo),d=qn(l),u=Fl(r)&&Fl(i),h=u?qn(r):Oh,p=u?qn(i):Oh;for(let m=0;m<c;o++){if(t(e,s,n,d,o,a),o>=Wg)throw new Error("arx: counter overflow");const f=Math.min(Yo,c-m);if(u&&f===Yo){const y=m/4;if(m%4!==0)throw new Error("arx: invalid block position");for(let b=0,S;b<QA;b++)S=y+b,p[S]=h[S]^d[b];m+=Yo;continue}for(let y=0,b;y<f;y++)b=m+y,i[b]=r[b]^l[y];m+=f}}function tS(t,e){const{allowShortKeys:s,extendNonceFn:n,counterLength:r,counterRight:i,rounds:o}=HA({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!="function")throw new Error("core must be a function");return Dc(r),Dc(o),Ml(i),Ml(s),(a,c,l,d,u=0)=>{zt(a),zt(c),zt(l);const h=l.length;if(d===void 0&&(d=new Uint8Array(h)),zt(d),Dc(u),u<0||u>=Wg)throw new Error("arx: counter overflow");if(d.length<h)throw new Error(`arx: output (${d.length}) is shorter than data (${h})`);const p=[];let m=a.length,f,y;if(m===32)p.push(f=jl(a)),y=XA;else if(m===16&&s)f=new Uint8Array(32),f.set(a),f.set(a,16),y=JA,p.push(f);else throw new Error(`arx: invalid 32-byte key, got length=${m}`);Fl(c)||p.push(c=jl(c));const b=qn(f);if(n){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");n(y,b,qn(c.subarray(0,16)),b),c=c.subarray(16)}const S=16-r;if(S!==c.length)throw new Error(`arx: nonce must be ${S} or 16 bytes`);if(S!==12){const C=new Uint8Array(12);C.set(c,i?0:12-c.length),c=C,p.push(c)}const v=qn(c);return eS(t,y,b,v,l,d,u,o),hi(...p),d}}const ft=(t,e)=>t[e++]&255|(t[e++]&255)<<8;class sS{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=Bl(e),zt(e,32);const s=ft(e,0),n=ft(e,2),r=ft(e,4),i=ft(e,6),o=ft(e,8),a=ft(e,10),c=ft(e,12),l=ft(e,14);this.r[0]=s&8191,this.r[1]=(s>>>13|n<<3)&8191,this.r[2]=(n>>>10|r<<6)&7939,this.r[3]=(r>>>7|i<<9)&8191,this.r[4]=(i>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|l<<8)&8191,this.r[9]=l>>>5&127;for(let d=0;d<8;d++)this.pad[d]=ft(e,16+2*d)}process(e,s,n=!1){const r=n?0:2048,{h:i,r:o}=this,a=o[0],c=o[1],l=o[2],d=o[3],u=o[4],h=o[5],p=o[6],m=o[7],f=o[8],y=o[9],b=ft(e,s+0),S=ft(e,s+2),v=ft(e,s+4),C=ft(e,s+6),R=ft(e,s+8),k=ft(e,s+10),L=ft(e,s+12),F=ft(e,s+14);let x=i[0]+(b&8191),B=i[1]+((b>>>13|S<<3)&8191),W=i[2]+((S>>>10|v<<6)&8191),O=i[3]+((v>>>7|C<<9)&8191),A=i[4]+((C>>>4|R<<12)&8191),N=i[5]+(R>>>1&8191),E=i[6]+((R>>>14|k<<2)&8191),_=i[7]+((k>>>11|L<<5)&8191),T=i[8]+((L>>>8|F<<8)&8191),D=i[9]+(F>>>5|r),I=0,P=I+x*a+B*(5*y)+W*(5*f)+O*(5*m)+A*(5*p);I=P>>>13,P&=8191,P+=N*(5*h)+E*(5*u)+_*(5*d)+T*(5*l)+D*(5*c),I+=P>>>13,P&=8191;let H=I+x*c+B*a+W*(5*y)+O*(5*f)+A*(5*m);I=H>>>13,H&=8191,H+=N*(5*p)+E*(5*h)+_*(5*u)+T*(5*d)+D*(5*l),I+=H>>>13,H&=8191;let z=I+x*l+B*c+W*a+O*(5*y)+A*(5*f);I=z>>>13,z&=8191,z+=N*(5*m)+E*(5*p)+_*(5*h)+T*(5*u)+D*(5*d),I+=z>>>13,z&=8191;let me=I+x*d+B*l+W*c+O*a+A*(5*y);I=me>>>13,me&=8191,me+=N*(5*f)+E*(5*m)+_*(5*p)+T*(5*h)+D*(5*u),I+=me>>>13,me&=8191;let de=I+x*u+B*d+W*l+O*c+A*a;I=de>>>13,de&=8191,de+=N*(5*y)+E*(5*f)+_*(5*m)+T*(5*p)+D*(5*h),I+=de>>>13,de&=8191;let oe=I+x*h+B*u+W*d+O*l+A*c;I=oe>>>13,oe&=8191,oe+=N*a+E*(5*y)+_*(5*f)+T*(5*m)+D*(5*p),I+=oe>>>13,oe&=8191;let be=I+x*p+B*h+W*u+O*d+A*l;I=be>>>13,be&=8191,be+=N*c+E*a+_*(5*y)+T*(5*f)+D*(5*m),I+=be>>>13,be&=8191;let fe=I+x*m+B*p+W*h+O*u+A*d;I=fe>>>13,fe&=8191,fe+=N*l+E*c+_*a+T*(5*y)+D*(5*f),I+=fe>>>13,fe&=8191;let Be=I+x*f+B*m+W*p+O*h+A*u;I=Be>>>13,Be&=8191,Be+=N*d+E*l+_*c+T*a+D*(5*y),I+=Be>>>13,Be&=8191;let ye=I+x*y+B*f+W*m+O*p+A*h;I=ye>>>13,ye&=8191,ye+=N*u+E*d+_*l+T*c+D*a,I+=ye>>>13,ye&=8191,I=(I<<2)+I|0,I=I+P|0,P=I&8191,I=I>>>13,H+=I,i[0]=P,i[1]=H,i[2]=z,i[3]=me,i[4]=de,i[5]=oe,i[6]=be,i[7]=fe,i[8]=Be,i[9]=ye}finalize(){const{h:e,pad:s}=this,n=new Uint16Array(10);let r=e[1]>>>13;e[1]&=8191;for(let a=2;a<10;a++)e[a]+=r,r=e[a]>>>13,e[a]&=8191;e[0]+=r*5,r=e[0]>>>13,e[0]&=8191,e[1]+=r,r=e[1]>>>13,e[1]&=8191,e[2]+=r,n[0]=e[0]+5,r=n[0]>>>13,n[0]&=8191;for(let a=1;a<10;a++)n[a]=e[a]+r,r=n[a]>>>13,n[a]&=8191;n[9]-=8192;let i=(r^1)-1;for(let a=0;a<10;a++)n[a]&=i;i=~i;for(let a=0;a<10;a++)e[a]=e[a]&i|n[a];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let o=e[0]+s[0];e[0]=o&65535;for(let a=1;a<8;a++)o=(e[a]+s[a]|0)+(o>>>16)|0,e[a]=o&65535;hi(n)}update(e){Nh(this),e=Bl(e),zt(e);const{buffer:s,blockLen:n}=this,r=e.length;for(let i=0;i<r;){const o=Math.min(n-this.pos,r-i);if(o===n){for(;n<=r-i;i+=n)this.process(e,i);continue}s.set(e.subarray(i,i+o),this.pos),this.pos+=o,i+=o,this.pos===n&&(this.process(s,0,!1),this.pos=0)}return this}destroy(){hi(this.h,this.r,this.buffer,this.pad)}digestInto(e){Nh(this),jA(e,this),this.finished=!0;const{buffer:s,h:n}=this;let{pos:r}=this;if(r){for(s[r++]=1;r<16;r++)s[r]=0;this.process(s,0,!0)}this.finalize();let i=0;for(let o=0;o<8;o++)e[i++]=n[o]>>>0,e[i++]=n[o]>>>8;return e}digest(){const{buffer:e,outputLen:s}=this;this.digestInto(e);const n=e.slice(0,s);return this.destroy(),n}}function nS(t){const e=(n,r)=>t(r).update(Bl(n)).digest(),s=t(new Uint8Array(32));return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=n=>t(n),e}const rS=nS(t=>new sS(t));function iS(t,e,s,n,r,i=20){let o=t[0],a=t[1],c=t[2],l=t[3],d=e[0],u=e[1],h=e[2],p=e[3],m=e[4],f=e[5],y=e[6],b=e[7],S=r,v=s[0],C=s[1],R=s[2],k=o,L=a,F=c,x=l,B=d,W=u,O=h,A=p,N=m,E=f,_=y,T=b,D=S,I=v,P=C,H=R;for(let me=0;me<i;me+=2)k=k+B|0,D=Ue(D^k,16),N=N+D|0,B=Ue(B^N,12),k=k+B|0,D=Ue(D^k,8),N=N+D|0,B=Ue(B^N,7),L=L+W|0,I=Ue(I^L,16),E=E+I|0,W=Ue(W^E,12),L=L+W|0,I=Ue(I^L,8),E=E+I|0,W=Ue(W^E,7),F=F+O|0,P=Ue(P^F,16),_=_+P|0,O=Ue(O^_,12),F=F+O|0,P=Ue(P^F,8),_=_+P|0,O=Ue(O^_,7),x=x+A|0,H=Ue(H^x,16),T=T+H|0,A=Ue(A^T,12),x=x+A|0,H=Ue(H^x,8),T=T+H|0,A=Ue(A^T,7),k=k+W|0,H=Ue(H^k,16),_=_+H|0,W=Ue(W^_,12),k=k+W|0,H=Ue(H^k,8),_=_+H|0,W=Ue(W^_,7),L=L+O|0,D=Ue(D^L,16),T=T+D|0,O=Ue(O^T,12),L=L+O|0,D=Ue(D^L,8),T=T+D|0,O=Ue(O^T,7),F=F+A|0,I=Ue(I^F,16),N=N+I|0,A=Ue(A^N,12),F=F+A|0,I=Ue(I^F,8),N=N+I|0,A=Ue(A^N,7),x=x+B|0,P=Ue(P^x,16),E=E+P|0,B=Ue(B^E,12),x=x+B|0,P=Ue(P^x,8),E=E+P|0,B=Ue(B^E,7);let z=0;n[z++]=o+k|0,n[z++]=a+L|0,n[z++]=c+F|0,n[z++]=l+x|0,n[z++]=d+B|0,n[z++]=u+W|0,n[z++]=h+O|0,n[z++]=p+A|0,n[z++]=m+N|0,n[z++]=f+E|0,n[z++]=y+_|0,n[z++]=b+T|0,n[z++]=S+D|0,n[z++]=v+I|0,n[z++]=C+P|0,n[z++]=R+H|0}const oS=tS(iS,{counterRight:!1,counterLength:4,allowShortKeys:!1}),aS=new Uint8Array(16),Ph=(t,e)=>{t.update(e);const s=e.length%16;s&&t.update(aS.subarray(s))},cS=new Uint8Array(32);function xh(t,e,s,n,r){const i=t(e,s,cS),o=rS.create(i);r&&Ph(o,r),Ph(o,n);const a=KA(n.length,r?r.length:0,!0);o.update(a);const c=o.digest();return hi(i,a),c}const lS=t=>(e,s,n)=>({encrypt(r,i){const o=r.length;i=Th(o+16,i,!1),i.set(r);const a=i.subarray(0,-16);t(e,s,a,a,1);const c=xh(t,e,s,a,n);return i.set(c,o),hi(c),i},decrypt(r,i){i=Th(r.length-16,i,!1);const o=r.subarray(0,-16),a=r.subarray(-16),c=xh(t,e,s,o,n);if(!VA(a,c))throw new Error("invalid tag");return i.set(r.subarray(0,-16)),t(e,s,i,i,1),hi(c),i}}),Hg=zA({blockSize:64,nonceLength:12,tagLength:16},lS(oS));let Vg=class extends sc{constructor(e,s){super(),this.finished=!1,this.destroyed=!1,tc(e);const n=ks(s);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?e.create().update(n).digest():n);for(let o=0;o<i.length;o++)i[o]^=54;this.iHash.update(i),this.oHash=e.create();for(let o=0;o<i.length;o++)i[o]^=106;this.oHash.update(i),Cs(i)}update(e){return Zn(this),this.iHash.update(e),this}digestInto(e){Zn(this),$s(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:s,iHash:n,finished:r,destroyed:i,blockLen:o,outputLen:a}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=o,e.outputLen=a,e.oHash=s._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const ic=(t,e,s)=>new Vg(t,e).update(s).digest();ic.create=(t,e)=>new Vg(t,e);function dS(t,e,s){return tc(t),s===void 0&&(s=new Uint8Array(t.outputLen)),ic(t,ks(s),ks(e))}const Lc=Uint8Array.from([0]),kh=Uint8Array.of();function uS(t,e,s,n=32){tc(t),Cn(n);const r=t.outputLen;if(n>255*r)throw new Error("Length should be <= 255*HashLen");const i=Math.ceil(n/r);s===void 0&&(s=kh);const o=new Uint8Array(i*r),a=ic.create(t,e),c=a._cloneInto(),l=new Uint8Array(a.outputLen);for(let d=0;d<i;d++)Lc[0]=d+1,c.update(d===0?kh:l).update(s).update(Lc).digestInto(l),o.set(l,r*d),a._cloneInto(c);return a.destroy(),c.destroy(),Cs(l,Lc),o.slice(0,n)}const hS=(t,e,s,n,r)=>uS(t,dS(t,e,s),n,r),oc=nc,$d=BigInt(0),ql=BigInt(1);function La(t,e=""){if(typeof t!="boolean"){const s=e&&`"${e}"`;throw new Error(s+"expected boolean, got type="+typeof t)}return t}function gr(t,e,s=""){const n=ec(t),r=t==null?void 0:t.length,i=e!==void 0;if(!n||i&&r!==e){const o=s&&`"${s}" `,a=i?` of length ${e}`:"",c=n?`length=${r}`:`type=${typeof t}`;throw new Error(o+"expected Uint8Array"+a+", got "+c)}return t}function Zo(t){const e=t.toString(16);return e.length&1?"0"+e:e}function zg(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?$d:BigInt("0x"+t)}function ac(t){return zg(ni(t))}function Ma(t){return $s(t),zg(ni(Uint8Array.from(t).reverse()))}function Dd(t,e){return $a(t.toString(16).padStart(e*2,"0"))}function Ld(t,e){return Dd(t,e).reverse()}function Nt(t,e,s){let n;if(typeof e=="string")try{n=$a(e)}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(ec(e))n=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");const r=n.length;if(typeof s=="number"&&r!==s)throw new Error(t+" of length "+s+" expected, got "+r);return n}const Mc=t=>typeof t=="bigint"&&$d<=t;function pS(t,e,s){return Mc(t)&&Mc(e)&&Mc(s)&&e<=t&&t<s}function Wl(t,e,s,n){if(!pS(e,s,n))throw new Error("expected valid "+t+": "+s+" <= n < "+n+", got "+e)}function Kg(t){let e;for(e=0;t>$d;t>>=ql,e+=1);return e}const Oo=t=>(ql<<BigInt(t))-ql;function fS(t,e,s){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof s!="function")throw new Error("hmacFn must be a function");const n=h=>new Uint8Array(h),r=h=>Uint8Array.of(h);let i=n(t),o=n(t),a=0;const c=()=>{i.fill(1),o.fill(0),a=0},l=(...h)=>s(o,i,...h),d=(h=n(0))=>{o=l(r(0),h),i=l(),h.length!==0&&(o=l(r(1),h),i=l())},u=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let h=0;const p=[];for(;h<e;){i=l();const m=i.slice();p.push(m),h+=i.length}return Dn(...p)};return(h,p)=>{c(),d(h);let m;for(;!(m=p(u()));)d();return c(),m}}function cc(t,e,s={}){if(!t||typeof t!="object")throw new Error("expected valid options object");function n(r,i,o){const a=t[r];if(o&&a===void 0)return;const c=typeof a;if(c!==i||a===null)throw new Error(`param "${r}" is invalid: expected ${i}, got ${c}`)}Object.entries(e).forEach(([r,i])=>n(r,i,!1)),Object.entries(s).forEach(([r,i])=>n(r,i,!0))}function Uh(t){const e=new WeakMap;return(s,...n)=>{const r=e.get(s);if(r!==void 0)return r;const i=t(s,...n);return e.set(s,i),i}}const Yt=BigInt(0),Dt=BigInt(1),mr=BigInt(2),Gg=BigInt(3),Yg=BigInt(4),Zg=BigInt(5),gS=BigInt(7),Jg=BigInt(8),mS=BigInt(9),Xg=BigInt(16);function ns(t,e){const s=t%e;return s>=Yt?s:e+s}function Is(t,e,s){let n=t;for(;e-- >Yt;)n*=n,n%=s;return n}function $h(t,e){if(t===Yt)throw new Error("invert: expected non-zero number");if(e<=Yt)throw new Error("invert: expected positive modulus, got "+e);let s=ns(t,e),n=e,r=Yt,i=Dt;for(;s!==Yt;){const o=n/s,a=n%s,c=r-i*o;n=s,s=a,r=i,i=c}if(n!==Dt)throw new Error("invert: does not exist");return ns(r,e)}function Md(t,e,s){if(!t.eql(t.sqr(e),s))throw new Error("Cannot find square root")}function Qg(t,e){const s=(t.ORDER+Dt)/Yg,n=t.pow(e,s);return Md(t,n,e),n}function yS(t,e){const s=(t.ORDER-Zg)/Jg,n=t.mul(e,mr),r=t.pow(n,s),i=t.mul(e,r),o=t.mul(t.mul(i,mr),r),a=t.mul(i,t.sub(o,t.ONE));return Md(t,a,e),a}function wS(t){const e=Xn(t),s=em(t),n=s(e,e.neg(e.ONE)),r=s(e,n),i=s(e,e.neg(n)),o=(t+gS)/Xg;return(a,c)=>{let l=a.pow(c,o),d=a.mul(l,n);const u=a.mul(l,r),h=a.mul(l,i),p=a.eql(a.sqr(d),c),m=a.eql(a.sqr(u),c);l=a.cmov(l,d,p),d=a.cmov(h,u,m);const f=a.eql(a.sqr(d),c),y=a.cmov(l,d,f);return Md(a,y,c),y}}function em(t){if(t<Gg)throw new Error("sqrt is not defined for small field");let e=t-Dt,s=0;for(;e%mr===Yt;)e/=mr,s++;let n=mr;const r=Xn(t);for(;Dh(r,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(s===1)return Qg;let i=r.pow(n,e);const o=(e+Dt)/mr;return function(a,c){if(a.is0(c))return c;if(Dh(a,c)!==1)throw new Error("Cannot find square root");let l=s,d=a.mul(a.ONE,i),u=a.pow(c,e),h=a.pow(c,o);for(;!a.eql(u,a.ONE);){if(a.is0(u))return a.ZERO;let p=1,m=a.sqr(u);for(;!a.eql(m,a.ONE);)if(p++,m=a.sqr(m),p===l)throw new Error("Cannot find square root");const f=Dt<<BigInt(l-p-1),y=a.pow(d,f);l=p,d=a.sqr(y),u=a.mul(u,d),h=a.mul(h,y)}return h}}function ES(t){return t%Yg===Gg?Qg:t%Jg===Zg?yS:t%Xg===mS?wS(t):em(t)}const bS=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function CS(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},s=bS.reduce((n,r)=>(n[r]="function",n),e);return cc(t,s),t}function vS(t,e,s){if(s<Yt)throw new Error("invalid exponent, negatives unsupported");if(s===Yt)return t.ONE;if(s===Dt)return e;let n=t.ONE,r=e;for(;s>Yt;)s&Dt&&(n=t.mul(n,r)),r=t.sqr(r),s>>=Dt;return n}function tm(t,e,s=!1){const n=new Array(e.length).fill(s?t.ZERO:void 0),r=e.reduce((o,a,c)=>t.is0(a)?o:(n[c]=o,t.mul(o,a)),t.ONE),i=t.inv(r);return e.reduceRight((o,a,c)=>t.is0(a)?o:(n[c]=t.mul(o,n[c]),t.mul(o,a)),i),n}function Dh(t,e){const s=(t.ORDER-Dt)/mr,n=t.pow(e,s),r=t.eql(n,t.ONE),i=t.eql(n,t.ZERO),o=t.eql(n,t.neg(t.ONE));if(!r&&!i&&!o)throw new Error("invalid Legendre symbol result");return r?1:i?0:-1}function sm(t,e){e!==void 0&&Cn(e);const s=e!==void 0?e:t.toString(2).length,n=Math.ceil(s/8);return{nBitLength:s,nByteLength:n}}function Xn(t,e,s=!1,n={}){if(t<=Yt)throw new Error("invalid field: expected ORDER > 0, got "+t);let r,i,o=!1,a;if(typeof e=="object"&&e!=null){if(n.sqrt||s)throw new Error("cannot specify opts in two arguments");const h=e;h.BITS&&(r=h.BITS),h.sqrt&&(i=h.sqrt),typeof h.isLE=="boolean"&&(s=h.isLE),typeof h.modFromBytes=="boolean"&&(o=h.modFromBytes),a=h.allowedLengths}else typeof e=="number"&&(r=e),n.sqrt&&(i=n.sqrt);const{nBitLength:c,nByteLength:l}=sm(t,r);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let d;const u=Object.freeze({ORDER:t,isLE:s,BITS:c,BYTES:l,MASK:Oo(c),ZERO:Yt,ONE:Dt,allowedLengths:a,create:h=>ns(h,t),isValid:h=>{if(typeof h!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof h);return Yt<=h&&h<t},is0:h=>h===Yt,isValidNot0:h=>!u.is0(h)&&u.isValid(h),isOdd:h=>(h&Dt)===Dt,neg:h=>ns(-h,t),eql:(h,p)=>h===p,sqr:h=>ns(h*h,t),add:(h,p)=>ns(h+p,t),sub:(h,p)=>ns(h-p,t),mul:(h,p)=>ns(h*p,t),pow:(h,p)=>vS(u,h,p),div:(h,p)=>ns(h*$h(p,t),t),sqrN:h=>h*h,addN:(h,p)=>h+p,subN:(h,p)=>h-p,mulN:(h,p)=>h*p,inv:h=>$h(h,t),sqrt:i||(h=>(d||(d=ES(t)),d(u,h))),toBytes:h=>s?Ld(h,l):Dd(h,l),fromBytes:(h,p=!0)=>{if(a){if(!a.includes(h.length)||h.length>l)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+h.length);const f=new Uint8Array(l);f.set(h,s?0:f.length-h.length),h=f}if(h.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+h.length);let m=s?Ma(h):ac(h);if(o&&(m=ns(m,t)),!p&&!u.isValid(m))throw new Error("invalid field element: outside of range 0..ORDER");return m},invertBatch:h=>tm(u,h),cmov:(h,p,m)=>m?p:h});return Object.freeze(u)}function nm(t){if(typeof t!="bigint")throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function rm(t){const e=nm(t);return e+Math.ceil(e/2)}function _S(t,e,s=!1){const n=t.length,r=nm(e),i=rm(e);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);const o=s?Ma(t):ac(t),a=ns(o,e-Dt)+Dt;return s?Ld(a,r):Dd(a,r)}const pi=BigInt(0),yr=BigInt(1);function Ba(t,e){const s=e.negate();return t?s:e}function Bc(t,e){const s=tm(t.Fp,e.map(n=>n.Z));return e.map((n,r)=>t.fromAffine(n.toAffine(s[r])))}function im(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function jc(t,e){im(t,e);const s=Math.ceil(e/t)+1,n=2**(t-1),r=2**t,i=Oo(t),o=BigInt(t);return{windows:s,windowSize:n,mask:i,maxNumber:r,shiftBy:o}}function Lh(t,e,s){const{windowSize:n,mask:r,maxNumber:i,shiftBy:o}=s;let a=Number(t&r),c=t>>o;a>n&&(a-=i,c+=yr);const l=e*n,d=l+Math.abs(a)-1,u=a===0,h=a<0,p=e%2!==0;return{nextN:c,offset:d,isZero:u,isNeg:h,isNegF:p,offsetF:l}}function AS(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((s,n)=>{if(!(s instanceof e))throw new Error("invalid point at index "+n)})}function SS(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((s,n)=>{if(!e.isValid(s))throw new Error("invalid scalar at index "+n)})}const Fc=new WeakMap,om=new WeakMap;function qc(t){return om.get(t)||1}function Mh(t){if(t!==pi)throw new Error("invalid wNAF")}class IS{constructor(e,s){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=s}_unsafeLadder(e,s,n=this.ZERO){let r=e;for(;s>pi;)s&yr&&(n=n.add(r)),r=r.double(),s>>=yr;return n}precomputeWindow(e,s){const{windows:n,windowSize:r}=jc(s,this.bits),i=[];let o=e,a=o;for(let c=0;c<n;c++){a=o,i.push(a);for(let l=1;l<r;l++)a=a.add(o),i.push(a);o=a.double()}return i}wNAF(e,s,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let r=this.ZERO,i=this.BASE;const o=jc(e,this.bits);for(let a=0;a<o.windows;a++){const{nextN:c,offset:l,isZero:d,isNeg:u,isNegF:h,offsetF:p}=Lh(n,a,o);n=c,d?i=i.add(Ba(h,s[p])):r=r.add(Ba(u,s[l]))}return Mh(n),{p:r,f:i}}wNAFUnsafe(e,s,n,r=this.ZERO){const i=jc(e,this.bits);for(let o=0;o<i.windows&&n!==pi;o++){const{nextN:a,offset:c,isZero:l,isNeg:d}=Lh(n,o,i);if(n=a,!l){const u=s[c];r=r.add(d?u.negate():u)}}return Mh(n),r}getPrecomputes(e,s,n){let r=Fc.get(s);return r||(r=this.precomputeWindow(s,e),e!==1&&(typeof n=="function"&&(r=n(r)),Fc.set(s,r))),r}cached(e,s,n){const r=qc(e);return this.wNAF(r,this.getPrecomputes(r,e,n),s)}unsafe(e,s,n,r){const i=qc(e);return i===1?this._unsafeLadder(e,s,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),s,r)}createCache(e,s){im(s,this.bits),om.set(e,s),Fc.delete(e)}hasCache(e){return qc(e)!==1}}function NS(t,e,s,n){let r=e,i=t.ZERO,o=t.ZERO;for(;s>pi||n>pi;)s&yr&&(i=i.add(r)),n&yr&&(o=o.add(r)),r=r.double(),s>>=yr,n>>=yr;return{p1:i,p2:o}}function TS(t,e,s,n){AS(s,t),SS(n,e);const r=s.length,i=n.length;if(r!==i)throw new Error("arrays of points and scalars must have equal length");const o=t.ZERO,a=Kg(BigInt(r));let c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);const l=Oo(c),d=new Array(Number(l)+1).fill(o),u=Math.floor((e.BITS-1)/c)*c;let h=o;for(let p=u;p>=0;p-=c){d.fill(o);for(let f=0;f<i;f++){const y=n[f],b=Number(y>>BigInt(p)&l);d[b]=d[b].add(s[f])}let m=o;for(let f=d.length-1,y=o;f>0;f--)y=y.add(d[f]),m=m.add(y);if(h=h.add(m),p!==0)for(let f=0;f<c;f++)h=h.double()}return h}function Bh(t,e,s){if(e){if(e.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return CS(e),e}else return Xn(t,{isLE:s})}function RS(t,e,s={},n){if(n===void 0&&(n=t==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${t} CURVE object`);for(const a of["p","n","h"]){const c=e[a];if(!(typeof c=="bigint"&&c>pi))throw new Error(`CURVE.${a} must be positive bigint`)}const r=Bh(e.p,s.Fp,n),i=Bh(e.n,s.Fn,n),o=["Gx","Gy","a","b"];for(const a of o)if(!r.isValid(e[a]))throw new Error(`CURVE.${a} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:r,Fn:i}}BigInt(0),BigInt(1),BigInt(2),BigInt(8),Rg("HashToScalar-");const Ai=BigInt(0),Fr=BigInt(1),Jo=BigInt(2);function OS(t){return cc(t,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...t})}function PS(t){const e=OS(t),{P:s,type:n,adjustScalarBytes:r,powPminus2:i,randomBytes:o}=e,a=n==="x25519";if(!a&&n!=="x448")throw new Error("invalid type");const c=o||$r,l=a?255:448,d=a?32:56,u=BigInt(a?9:5),h=BigInt(a?121665:39081),p=a?Jo**BigInt(254):Jo**BigInt(447),m=a?BigInt(8)*Jo**BigInt(251)-Fr:BigInt(4)*Jo**BigInt(445)-Fr,f=p+m+Fr,y=O=>ns(O,s),b=S(u);function S(O){return Ld(y(O),d)}function v(O){const A=Nt("u coordinate",O,d);return a&&(A[31]&=127),y(Ma(A))}function C(O){return Ma(r(Nt("scalar",O,d)))}function R(O,A){const N=F(v(A),C(O));if(N===Ai)throw new Error("invalid private or public key received");return S(N)}function k(O){return R(O,b)}function L(O,A,N){const E=y(O*(A-N));return A=y(A-E),N=y(N+E),{x_2:A,x_3:N}}function F(O,A){Wl("u",O,Ai,s),Wl("scalar",A,p,f);const N=A,E=O;let _=Fr,T=Ai,D=O,I=Fr,P=Ai;for(let z=BigInt(l-1);z>=Ai;z--){const me=N>>z&Fr;P^=me,{x_2:_,x_3:D}=L(P,_,D),{x_2:T,x_3:I}=L(P,T,I),P=me;const de=_+T,oe=y(de*de),be=_-T,fe=y(be*be),Be=oe-fe,ye=D+I,qe=D-I,Rt=y(qe*de),Bt=y(ye*be),Ot=Rt+Bt,ls=Rt-Bt;D=y(Ot*Ot),I=y(E*y(ls*ls)),_=y(oe*fe),T=y(Be*(oe+y(h*Be)))}({x_2:_,x_3:D}=L(P,_,D)),{x_2:T,x_3:I}=L(P,T,I);const H=i(T);return y(_*H)}const x={secretKey:d,publicKey:d,seed:d},B=(O=c(d))=>($s(O,x.seed),O);function W(O){const A=B(O);return{secretKey:A,publicKey:k(A)}}return{keygen:W,getSharedSecret:(O,A)=>R(O,A),getPublicKey:O=>k(O),scalarMult:R,scalarMultBase:k,utils:{randomSecretKey:B,randomPrivateKey:B},GuBytes:b.slice(),lengths:x}}const xS=BigInt(1),jh=BigInt(2),kS=BigInt(3),US=BigInt(5);BigInt(8);const am=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),$S={p:am,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function DS(t){const e=BigInt(10),s=BigInt(20),n=BigInt(40),r=BigInt(80),i=am,o=t*t%i*t%i,a=Is(o,jh,i)*o%i,c=Is(a,xS,i)*t%i,l=Is(c,US,i)*c%i,d=Is(l,e,i)*l%i,u=Is(d,s,i)*d%i,h=Is(u,n,i)*u%i,p=Is(h,r,i)*h%i,m=Is(p,r,i)*h%i,f=Is(m,e,i)*l%i;return{pow_p_5_8:Is(f,jh,i)*t%i,b2:o}}function LS(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}const MS=Xn($S.p,{isLE:!0}),Hl=(()=>{const t=MS.ORDER;return PS({P:t,type:"x25519",powPminus2:e=>{const{pow_p_5_8:s,b2:n}=DS(e);return ns(Is(s,kS,t)*n,t)},adjustScalarBytes:LS})})(),Fh=(t,e)=>(t+(t>=0?e:-e)/cm)/e;function BS(t,e,s){const[[n,r],[i,o]]=e,a=Fh(o*t,s),c=Fh(-r*t,s);let l=t-a*n-c*i,d=-a*r-c*o;const u=l<pn,h=d<pn;u&&(l=-l),h&&(d=-d);const p=Oo(Math.ceil(Kg(s)/2))+ri;if(l<pn||l>=p||d<pn||d>=p)throw new Error("splitScalar (endomorphism): failed, k="+t);return{k1neg:u,k1:l,k2neg:h,k2:d}}function Vl(t){if(!["compact","recovered","der"].includes(t))throw new Error('Signature format must be "compact", "recovered", or "der"');return t}function Wc(t,e){const s={};for(let n of Object.keys(e))s[n]=t[n]===void 0?e[n]:t[n];return La(s.lowS,"lowS"),La(s.prehash,"prehash"),s.format!==void 0&&Vl(s.format),s}class jS extends Error{constructor(e=""){super(e)}}const dn={Err:jS,_tlv:{encode:(t,e)=>{const{Err:s}=dn;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length&1)throw new s("tlv.encode: unpadded data");const n=e.length/2,r=Zo(n);if(r.length/2&128)throw new s("tlv.encode: long form length too big");const i=n>127?Zo(r.length/2|128):"";return Zo(t)+i+r+e},decode(t,e){const{Err:s}=dn;let n=0;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length<2||e[n++]!==t)throw new s("tlv.decode: wrong tlv");const r=e[n++],i=!!(r&128);let o=0;if(!i)o=r;else{const c=r&127;if(!c)throw new s("tlv.decode(long): indefinite length not supported");if(c>4)throw new s("tlv.decode(long): byte length is too big");const l=e.subarray(n,n+c);if(l.length!==c)throw new s("tlv.decode: length bytes not complete");if(l[0]===0)throw new s("tlv.decode(long): zero leftmost byte");for(const d of l)o=o<<8|d;if(n+=c,o<128)throw new s("tlv.decode(long): not minimal encoding")}const a=e.subarray(n,n+o);if(a.length!==o)throw new s("tlv.decode: wrong value length");return{v:a,l:e.subarray(n+o)}}},_int:{encode(t){const{Err:e}=dn;if(t<pn)throw new e("integer: negative integers are not allowed");let s=Zo(t);if(Number.parseInt(s[0],16)&8&&(s="00"+s),s.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return s},decode(t){const{Err:e}=dn;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return ac(t)}},toSig(t){const{Err:e,_int:s,_tlv:n}=dn,r=Nt("signature",t),{v:i,l:o}=n.decode(48,r);if(o.length)throw new e("invalid signature: left bytes after parsing");const{v:a,l:c}=n.decode(2,i),{v:l,l:d}=n.decode(2,c);if(d.length)throw new e("invalid signature: left bytes after parsing");return{r:s.decode(a),s:s.decode(l)}},hexFromSig(t){const{_tlv:e,_int:s}=dn,n=e.encode(2,s.encode(t.r)),r=e.encode(2,s.encode(t.s)),i=n+r;return e.encode(48,i)}},pn=BigInt(0),ri=BigInt(1),cm=BigInt(2),Xo=BigInt(3),FS=BigInt(4);function Zr(t,e){const{BYTES:s}=t;let n;if(typeof e=="bigint")n=e;else{let r=Nt("private key",e);try{n=t.fromBytes(r)}catch{throw new Error(`invalid private key: expected ui8a of size ${s}, got ${typeof e}`)}}if(!t.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function qS(t,e={}){const s=RS("weierstrass",t,e),{Fp:n,Fn:r}=s;let i=s.CURVE;const{h:o,n:a}=i;cc(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:c}=e;if(c&&(!n.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const l=dm(n,r);function d(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function u(O,A,N){const{x:E,y:_}=A.toAffine(),T=n.toBytes(E);if(La(N,"isCompressed"),N){d();const D=!n.isOdd(_);return Dn(lm(D),T)}else return Dn(Uint8Array.of(4),T,n.toBytes(_))}function h(O){gr(O,void 0,"Point");const{publicKey:A,publicKeyUncompressed:N}=l,E=O.length,_=O[0],T=O.subarray(1);if(E===A&&(_===2||_===3)){const D=n.fromBytes(T);if(!n.isValid(D))throw new Error("bad point: is not on curve, wrong x");const I=f(D);let P;try{P=n.sqrt(I)}catch(z){const me=z instanceof Error?": "+z.message:"";throw new Error("bad point: is not on curve, sqrt error"+me)}d();const H=n.isOdd(P);return(_&1)===1!==H&&(P=n.neg(P)),{x:D,y:P}}else if(E===N&&_===4){const D=n.BYTES,I=n.fromBytes(T.subarray(0,D)),P=n.fromBytes(T.subarray(D,D*2));if(!y(I,P))throw new Error("bad point: is not on curve");return{x:I,y:P}}else throw new Error(`bad point: got length ${E}, expected compressed=${A} or uncompressed=${N}`)}const p=e.toBytes||u,m=e.fromBytes||h;function f(O){const A=n.sqr(O),N=n.mul(A,O);return n.add(n.add(N,n.mul(O,i.a)),i.b)}function y(O,A){const N=n.sqr(A),E=f(O);return n.eql(N,E)}if(!y(i.Gx,i.Gy))throw new Error("bad curve params: generator point");const b=n.mul(n.pow(i.a,Xo),FS),S=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(b,S)))throw new Error("bad curve params: a or b");function v(O,A,N=!1){if(!n.isValid(A)||N&&n.is0(A))throw new Error(`bad point coordinate ${O}`);return A}function C(O){if(!(O instanceof x))throw new Error("ProjectivePoint expected")}function R(O){if(!c||!c.basises)throw new Error("no endo");return BS(O,c.basises,r.ORDER)}const k=Uh((O,A)=>{const{X:N,Y:E,Z:_}=O;if(n.eql(_,n.ONE))return{x:N,y:E};const T=O.is0();A==null&&(A=T?n.ONE:n.inv(_));const D=n.mul(N,A),I=n.mul(E,A),P=n.mul(_,A);if(T)return{x:n.ZERO,y:n.ZERO};if(!n.eql(P,n.ONE))throw new Error("invZ was invalid");return{x:D,y:I}}),L=Uh(O=>{if(O.is0()){if(e.allowInfinityPoint&&!n.is0(O.Y))return;throw new Error("bad point: ZERO")}const{x:A,y:N}=O.toAffine();if(!n.isValid(A)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!y(A,N))throw new Error("bad point: equation left != right");if(!O.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function F(O,A,N,E,_){return N=new x(n.mul(N.X,O),N.Y,N.Z),A=Ba(E,A),N=Ba(_,N),A.add(N)}class x{constructor(A,N,E){this.X=v("x",A),this.Y=v("y",N,!0),this.Z=v("z",E),Object.freeze(this)}static CURVE(){return i}static fromAffine(A){const{x:N,y:E}=A||{};if(!A||!n.isValid(N)||!n.isValid(E))throw new Error("invalid affine point");if(A instanceof x)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(E)?x.ZERO:new x(N,E,n.ONE)}static fromBytes(A){const N=x.fromAffine(m(gr(A,void 0,"point")));return N.assertValidity(),N}static fromHex(A){return x.fromBytes(Nt("pointHex",A))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(A=8,N=!0){return W.createCache(this,A),N||this.multiply(Xo),this}assertValidity(){L(this)}hasEvenY(){const{y:A}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(A)}equals(A){C(A);const{X:N,Y:E,Z:_}=this,{X:T,Y:D,Z:I}=A,P=n.eql(n.mul(N,I),n.mul(T,_)),H=n.eql(n.mul(E,I),n.mul(D,_));return P&&H}negate(){return new x(this.X,n.neg(this.Y),this.Z)}double(){const{a:A,b:N}=i,E=n.mul(N,Xo),{X:_,Y:T,Z:D}=this;let I=n.ZERO,P=n.ZERO,H=n.ZERO,z=n.mul(_,_),me=n.mul(T,T),de=n.mul(D,D),oe=n.mul(_,T);return oe=n.add(oe,oe),H=n.mul(_,D),H=n.add(H,H),I=n.mul(A,H),P=n.mul(E,de),P=n.add(I,P),I=n.sub(me,P),P=n.add(me,P),P=n.mul(I,P),I=n.mul(oe,I),H=n.mul(E,H),de=n.mul(A,de),oe=n.sub(z,de),oe=n.mul(A,oe),oe=n.add(oe,H),H=n.add(z,z),z=n.add(H,z),z=n.add(z,de),z=n.mul(z,oe),P=n.add(P,z),de=n.mul(T,D),de=n.add(de,de),z=n.mul(de,oe),I=n.sub(I,z),H=n.mul(de,me),H=n.add(H,H),H=n.add(H,H),new x(I,P,H)}add(A){C(A);const{X:N,Y:E,Z:_}=this,{X:T,Y:D,Z:I}=A;let P=n.ZERO,H=n.ZERO,z=n.ZERO;const me=i.a,de=n.mul(i.b,Xo);let oe=n.mul(N,T),be=n.mul(E,D),fe=n.mul(_,I),Be=n.add(N,E),ye=n.add(T,D);Be=n.mul(Be,ye),ye=n.add(oe,be),Be=n.sub(Be,ye),ye=n.add(N,_);let qe=n.add(T,I);return ye=n.mul(ye,qe),qe=n.add(oe,fe),ye=n.sub(ye,qe),qe=n.add(E,_),P=n.add(D,I),qe=n.mul(qe,P),P=n.add(be,fe),qe=n.sub(qe,P),z=n.mul(me,ye),P=n.mul(de,fe),z=n.add(P,z),P=n.sub(be,z),z=n.add(be,z),H=n.mul(P,z),be=n.add(oe,oe),be=n.add(be,oe),fe=n.mul(me,fe),ye=n.mul(de,ye),be=n.add(be,fe),fe=n.sub(oe,fe),fe=n.mul(me,fe),ye=n.add(ye,fe),oe=n.mul(be,ye),H=n.add(H,oe),oe=n.mul(qe,ye),P=n.mul(Be,P),P=n.sub(P,oe),oe=n.mul(Be,be),z=n.mul(qe,z),z=n.add(z,oe),new x(P,H,z)}subtract(A){return this.add(A.negate())}is0(){return this.equals(x.ZERO)}multiply(A){const{endo:N}=e;if(!r.isValidNot0(A))throw new Error("invalid scalar: out of range");let E,_;const T=D=>W.cached(this,D,I=>Bc(x,I));if(N){const{k1neg:D,k1:I,k2neg:P,k2:H}=R(A),{p:z,f:me}=T(I),{p:de,f:oe}=T(H);_=me.add(oe),E=F(N.beta,z,de,D,P)}else{const{p:D,f:I}=T(A);E=D,_=I}return Bc(x,[E,_])[0]}multiplyUnsafe(A){const{endo:N}=e,E=this;if(!r.isValid(A))throw new Error("invalid scalar: out of range");if(A===pn||E.is0())return x.ZERO;if(A===ri)return E;if(W.hasCache(this))return this.multiply(A);if(N){const{k1neg:_,k1:T,k2neg:D,k2:I}=R(A),{p1:P,p2:H}=NS(x,E,T,I);return F(N.beta,P,H,_,D)}else return W.unsafe(E,A)}multiplyAndAddUnsafe(A,N,E){const _=this.multiplyUnsafe(N).add(A.multiplyUnsafe(E));return _.is0()?void 0:_}toAffine(A){return k(this,A)}isTorsionFree(){const{isTorsionFree:A}=e;return o===ri?!0:A?A(x,this):W.unsafe(this,a).is0()}clearCofactor(){const{clearCofactor:A}=e;return o===ri?this:A?A(x,this):this.multiplyUnsafe(o)}isSmallOrder(){return this.multiplyUnsafe(o).is0()}toBytes(A=!0){return La(A,"isCompressed"),this.assertValidity(),p(x,this,A)}toHex(A=!0){return ni(this.toBytes(A))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(A=!0){return this.toBytes(A)}_setWindowSize(A){this.precompute(A)}static normalizeZ(A){return Bc(x,A)}static msm(A,N){return TS(x,r,A,N)}static fromPrivateKey(A){return x.BASE.multiply(Zr(r,A))}}x.BASE=new x(i.Gx,i.Gy,n.ONE),x.ZERO=new x(n.ZERO,n.ONE,n.ZERO),x.Fp=n,x.Fn=r;const B=r.BITS,W=new IS(x,e.endo?Math.ceil(B/2):B);return x.BASE.precompute(8),x}function lm(t){return Uint8Array.of(t?2:3)}function dm(t,e){return{secretKey:e.BYTES,publicKey:1+t.BYTES,publicKeyUncompressed:1+2*t.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function WS(t,e={}){const{Fn:s}=t,n=e.randomBytes||$r,r=Object.assign(dm(t.Fp,s),{seed:rm(s.ORDER)});function i(h){try{return!!Zr(s,h)}catch{return!1}}function o(h,p){const{publicKey:m,publicKeyUncompressed:f}=r;try{const y=h.length;return p===!0&&y!==m||p===!1&&y!==f?!1:!!t.fromBytes(h)}catch{return!1}}function a(h=n(r.seed)){return _S(gr(h,r.seed,"seed"),s.ORDER)}function c(h,p=!0){return t.BASE.multiply(Zr(s,h)).toBytes(p)}function l(h){const p=a(h);return{secretKey:p,publicKey:c(p)}}function d(h){if(typeof h=="bigint")return!1;if(h instanceof t)return!0;const{secretKey:p,publicKey:m,publicKeyUncompressed:f}=r;if(s.allowedLengths||p===m)return;const y=Nt("key",h).length;return y===m||y===f}function u(h,p,m=!0){if(d(h)===!0)throw new Error("first arg must be private key");if(d(p)===!1)throw new Error("second arg must be public key");const f=Zr(s,h);return t.fromHex(p).multiply(f).toBytes(m)}return Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:l,Point:t,utils:{isValidSecretKey:i,isValidPublicKey:o,randomSecretKey:a,isValidPrivateKey:i,randomPrivateKey:a,normPrivateKeyToScalar:h=>Zr(s,h),precompute(h=8,p=t.BASE){return p.precompute(h,!1)}},lengths:r})}function HS(t,e,s={}){tc(e),cc(s,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const n=s.randomBytes||$r,r=s.hmac||((N,...E)=>ic(e,N,Dn(...E))),{Fp:i,Fn:o}=t,{ORDER:a,BITS:c}=o,{keygen:l,getPublicKey:d,getSharedSecret:u,utils:h,lengths:p}=WS(t,s),m={prehash:!1,lowS:typeof s.lowS=="boolean"?s.lowS:!1,format:void 0,extraEntropy:!1},f="compact";function y(N){const E=a>>ri;return N>E}function b(N,E){if(!o.isValidNot0(E))throw new Error(`invalid signature ${N}: out of range 1..Point.Fn.ORDER`);return E}function S(N,E){Vl(E);const _=p.signature,T=E==="compact"?_:E==="recovered"?_+1:void 0;return gr(N,T,`${E} signature`)}class v{constructor(E,_,T){this.r=b("r",E),this.s=b("s",_),T!=null&&(this.recovery=T),Object.freeze(this)}static fromBytes(E,_=f){S(E,_);let T;if(_==="der"){const{r:H,s:z}=dn.toSig(gr(E));return new v(H,z)}_==="recovered"&&(T=E[0],_="compact",E=E.subarray(1));const D=o.BYTES,I=E.subarray(0,D),P=E.subarray(D,D*2);return new v(o.fromBytes(I),o.fromBytes(P),T)}static fromHex(E,_){return this.fromBytes($a(E),_)}addRecoveryBit(E){return new v(this.r,this.s,E)}recoverPublicKey(E){const _=i.ORDER,{r:T,s:D,recovery:I}=this;if(I==null||![0,1,2,3].includes(I))throw new Error("recovery id invalid");if(a*cm<_&&I>1)throw new Error("recovery id is ambiguous for h>1 curve");const P=I===2||I===3?T+a:T;if(!i.isValid(P))throw new Error("recovery id 2 or 3 invalid");const H=i.toBytes(P),z=t.fromBytes(Dn(lm((I&1)===0),H)),me=o.inv(P),de=R(Nt("msgHash",E)),oe=o.create(-de*me),be=o.create(D*me),fe=t.BASE.multiplyUnsafe(oe).add(z.multiplyUnsafe(be));if(fe.is0())throw new Error("point at infinify");return fe.assertValidity(),fe}hasHighS(){return y(this.s)}toBytes(E=f){if(Vl(E),E==="der")return $a(dn.hexFromSig(this));const _=o.toBytes(this.r),T=o.toBytes(this.s);if(E==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return Dn(Uint8Array.of(this.recovery),_,T)}return Dn(_,T)}toHex(E){return ni(this.toBytes(E))}assertValidity(){}static fromCompact(E){return v.fromBytes(Nt("sig",E),"compact")}static fromDER(E){return v.fromBytes(Nt("sig",E),"der")}normalizeS(){return this.hasHighS()?new v(this.r,o.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return ni(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return ni(this.toBytes("compact"))}}const C=s.bits2int||function(N){if(N.length>8192)throw new Error("input is too large");const E=ac(N),_=N.length*8-c;return _>0?E>>BigInt(_):E},R=s.bits2int_modN||function(N){return o.create(C(N))},k=Oo(c);function L(N){return Wl("num < 2^"+c,N,pn,k),o.toBytes(N)}function F(N,E){return gr(N,void 0,"message"),E?gr(e(N),void 0,"prehashed message"):N}function x(N,E,_){if(["recovered","canonical"].some(be=>be in _))throw new Error("sign() legacy options not supported");const{lowS:T,prehash:D,extraEntropy:I}=Wc(_,m);N=F(N,D);const P=R(N),H=Zr(o,E),z=[L(H),L(P)];if(I!=null&&I!==!1){const be=I===!0?n(p.secretKey):I;z.push(Nt("extraEntropy",be))}const me=Dn(...z),de=P;function oe(be){const fe=C(be);if(!o.isValidNot0(fe))return;const Be=o.inv(fe),ye=t.BASE.multiply(fe).toAffine(),qe=o.create(ye.x);if(qe===pn)return;const Rt=o.create(Be*o.create(de+qe*H));if(Rt===pn)return;let Bt=(ye.x===qe?0:2)|Number(ye.y&ri),Ot=Rt;return T&&y(Rt)&&(Ot=o.neg(Rt),Bt^=1),new v(qe,Ot,Bt)}return{seed:me,k2sig:oe}}function B(N,E,_={}){N=Nt("message",N);const{seed:T,k2sig:D}=x(N,E,_);return fS(e.outputLen,o.BYTES,r)(T,D)}function W(N){let E;const _=typeof N=="string"||ec(N),T=!_&&N!==null&&typeof N=="object"&&typeof N.r=="bigint"&&typeof N.s=="bigint";if(!_&&!T)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(T)E=new v(N.r,N.s);else if(_){try{E=v.fromBytes(Nt("sig",N),"der")}catch(D){if(!(D instanceof dn.Err))throw D}if(!E)try{E=v.fromBytes(Nt("sig",N),"compact")}catch{return!1}}return E||!1}function O(N,E,_,T={}){const{lowS:D,prehash:I,format:P}=Wc(T,m);if(_=Nt("publicKey",_),E=F(Nt("message",E),I),"strict"in T)throw new Error("options.strict was renamed to lowS");const H=P===void 0?W(N):v.fromBytes(Nt("sig",N),P);if(H===!1)return!1;try{const z=t.fromBytes(_);if(D&&H.hasHighS())return!1;const{r:me,s:de}=H,oe=R(E),be=o.inv(de),fe=o.create(oe*be),Be=o.create(me*be),ye=t.BASE.multiplyUnsafe(fe).add(z.multiplyUnsafe(Be));return ye.is0()?!1:o.create(ye.x)===me}catch{return!1}}function A(N,E,_={}){const{prehash:T}=Wc(_,m);return E=F(E,T),v.fromBytes(N,"recovered").recoverPublicKey(E).toBytes()}return Object.freeze({keygen:l,getPublicKey:d,getSharedSecret:u,utils:h,lengths:p,Point:t,sign:B,verify:O,recoverPublicKey:A,Signature:v,hash:e})}function VS(t){const e={a:t.a,b:t.b,p:t.Fp.ORDER,n:t.n,h:t.h,Gx:t.Gx,Gy:t.Gy},s=t.Fp;let n=t.allowedPrivateKeyLengths?Array.from(new Set(t.allowedPrivateKeyLengths.map(o=>Math.ceil(o/2)))):void 0;const r=Xn(e.n,{BITS:t.nBitLength,allowedLengths:n,modFromBytes:t.wrapPrivateKey}),i={Fp:s,Fn:r,allowInfinityPoint:t.allowInfinityPoint,endo:t.endo,isTorsionFree:t.isTorsionFree,clearCofactor:t.clearCofactor,fromBytes:t.fromBytes,toBytes:t.toBytes};return{CURVE:e,curveOpts:i}}function zS(t){const{CURVE:e,curveOpts:s}=VS(t),n={hmac:t.hmac,randomBytes:t.randomBytes,lowS:t.lowS,bits2int:t.bits2int,bits2int_modN:t.bits2int_modN};return{CURVE:e,curveOpts:s,hash:t.hash,ecdsaOpts:n}}function KS(t,e){const s=e.Point;return Object.assign({},e,{ProjectivePoint:s,CURVE:Object.assign({},t,sm(s.Fn.ORDER,s.Fn.BITS))})}function GS(t){const{CURVE:e,curveOpts:s,hash:n,ecdsaOpts:r}=zS(t),i=qS(e,s),o=HS(i,n,r);return KS(t,o)}function zl(t,e){const s=n=>GS({...t,hash:n});return{...s(e),create:s}}const um={p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")},hm={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")},pm={p:BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),h:BigInt(1),a:BigInt("0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc"),b:BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650")},YS=Xn(um.p),ZS=Xn(hm.p),JS=Xn(pm.p),XS=zl({...um,Fp:YS,lowS:!1},nc);zl({...hm,Fp:ZS,lowS:!1},nA),zl({...pm,Fp:JS,lowS:!1,allowedPrivateKeyLengths:[130,131,132]},sA);const QS=XS,fm="base10",Lt="base16",Kt="base64pad",Ln="base64url",Po="utf8",gm=0,yn=1,xo=2,eI=0,qh=1,Fi=12,Bd=32;function tI(){const t=Hl.utils.randomPrivateKey(),e=Hl.getPublicKey(t);return{privateKey:Zt(t,Lt),publicKey:Zt(e,Lt)}}function Kl(){const t=$r(Bd);return Zt(t,Lt)}function sI(t,e){const s=Hl.getSharedSecret(bs(t,Lt),bs(e,Lt)),n=hS(oc,s,void 0,void 0,Bd);return Zt(n,Lt)}function ha(t){const e=oc(bs(t,Lt));return Zt(e,Lt)}function ys(t){const e=oc(bs(t,Po));return Zt(e,Lt)}function mm(t){return bs(`${t}`,fm)}function Rr(t){return Number(Zt(t,fm))}function ym(t){return t.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function wm(t){const e=t.replace(/-/g,"+").replace(/_/g,"/"),s=(4-e.length%4)%4;return e+"=".repeat(s)}function nI(t){const e=mm(typeof t.type<"u"?t.type:gm);if(Rr(e)===yn&&typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const s=typeof t.senderPublicKey<"u"?bs(t.senderPublicKey,Lt):void 0,n=typeof t.iv<"u"?bs(t.iv,Lt):$r(Fi),r=bs(t.symKey,Lt),i=Hg(r,n).encrypt(bs(t.message,Po)),o=Em({type:e,sealed:i,iv:n,senderPublicKey:s});return t.encoding===Ln?ym(o):o}function rI(t){const e=bs(t.symKey,Lt),{sealed:s,iv:n}=yo({encoded:t.encoded,encoding:t.encoding}),r=Hg(e,n).decrypt(s);if(r===null)throw new Error("Failed to decrypt");return Zt(r,Po)}function iI(t,e){const s=mm(xo),n=$r(Fi),r=bs(t,Po),i=Em({type:s,sealed:r,iv:n});return e===Ln?ym(i):i}function oI(t,e){const{sealed:s}=yo({encoded:t,encoding:e});return Zt(s,Po)}function Em(t){if(Rr(t.type)===xo)return Zt(Bi([t.type,t.sealed]),Kt);if(Rr(t.type)===yn){if(typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return Zt(Bi([t.type,t.senderPublicKey,t.iv,t.sealed]),Kt)}return Zt(Bi([t.type,t.iv,t.sealed]),Kt)}function yo(t){const e=(t.encoding||Kt)===Ln?wm(t.encoded):t.encoded,s=bs(e,Kt),n=s.slice(eI,qh),r=qh;if(Rr(n)===yn){const c=r+Bd,l=c+Fi,d=s.slice(r,c),u=s.slice(c,l),h=s.slice(l);return{type:n,sealed:h,iv:u,senderPublicKey:d}}if(Rr(n)===xo){const c=s.slice(r),l=$r(Fi);return{type:n,sealed:c,iv:l}}const i=r+Fi,o=s.slice(r,i),a=s.slice(i);return{type:n,sealed:a,iv:o}}function aI(t,e){const s=yo({encoded:t,encoding:e==null?void 0:e.encoding});return bm({type:Rr(s.type),senderPublicKey:typeof s.senderPublicKey<"u"?Zt(s.senderPublicKey,Lt):void 0,receiverPublicKey:e==null?void 0:e.receiverPublicKey})}function bm(t){const e=(t==null?void 0:t.type)||gm;if(e===yn){if(typeof(t==null?void 0:t.senderPublicKey)>"u")throw new Error("missing sender public key");if(typeof(t==null?void 0:t.receiverPublicKey)>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:t==null?void 0:t.senderPublicKey,receiverPublicKey:t==null?void 0:t.receiverPublicKey}}function Wh(t){return t.type===yn&&typeof t.senderPublicKey=="string"&&typeof t.receiverPublicKey=="string"}function Hh(t){return t.type===xo}function cI(t){const e=ke.from(t.x,"base64"),s=ke.from(t.y,"base64");return Bi([new Uint8Array([4]),e,s])}function lI(t,e){const[s,n,r]=t.split("."),i=ke.from(wm(r),"base64");if(i.length!==64)throw new Error("Invalid signature length");const o=i.slice(0,32),a=i.slice(32,64),c=`${s}.${n}`,l=oc(c),d=cI(e);if(!QS.verify(Bi([o,a]),l,d))throw new Error("Invalid signature");return fl(t).payload}const dI="irn";function ja(t){return(t==null?void 0:t.relay)||{protocol:dI}}function Jr(t){const e=_y[t];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${t}`);return e}var uI=Object.defineProperty,hI=Object.defineProperties,pI=Object.getOwnPropertyDescriptors,Vh=Object.getOwnPropertySymbols,fI=Object.prototype.hasOwnProperty,gI=Object.prototype.propertyIsEnumerable,zh=(t,e,s)=>e in t?uI(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Hc=(t,e)=>{for(var s in e||(e={}))fI.call(e,s)&&zh(t,s,e[s]);if(Vh)for(var s of Vh(e))gI.call(e,s)&&zh(t,s,e[s]);return t},mI=(t,e)=>hI(t,pI(e));function yI(t,e="-"){const s={},n="relay"+e;return Object.keys(t).forEach(r=>{if(r.startsWith(n)){const i=r.replace(n,""),o=t[r];s[i]=o}}),s}function Kh(t){if(!t.includes("wc:")){const l=_g(t);l!=null&&l.includes("wc:")&&(t=l)}t=t.includes("wc://")?t.replace("wc://",""):t,t=t.includes("wc:")?t.replace("wc:",""):t;const e=t.indexOf(":"),s=t.indexOf("?")!==-1?t.indexOf("?"):void 0,n=t.substring(0,e),r=t.substring(e+1,s).split("@"),i=typeof s<"u"?t.substring(s):"",o=new URLSearchParams(i),a=Object.fromEntries(o.entries()),c=typeof a.methods=="string"?a.methods.split(","):void 0;return{protocol:n,topic:wI(r[0]),version:parseInt(r[1],10),symKey:a.symKey,relay:yI(a),methods:c,expiryTimestamp:a.expiryTimestamp?parseInt(a.expiryTimestamp,10):void 0}}function wI(t){return t.startsWith("//")?t.substring(2):t}function EI(t,e="-"){const s="relay",n={};return Object.keys(t).forEach(r=>{const i=r,o=s+e+i;t[i]&&(n[o]=t[i])}),n}function Gh(t){const e=new URLSearchParams,s=Hc(Hc(mI(Hc({},EI(t.relay)),{symKey:t.symKey}),t.expiryTimestamp&&{expiryTimestamp:t.expiryTimestamp.toString()}),t.methods&&{methods:t.methods.join(",")});return Object.entries(s).sort(([n],[r])=>n.localeCompare(r)).forEach(([n,r])=>{r!==void 0&&e.append(n,String(r))}),`${t.protocol}:${t.topic}@${t.version}?${e}`}function Qo(t,e,s){return`${t}?wc_ev=${s}&topic=${e}`}var bI=Object.defineProperty,CI=Object.defineProperties,vI=Object.getOwnPropertyDescriptors,Yh=Object.getOwnPropertySymbols,_I=Object.prototype.hasOwnProperty,AI=Object.prototype.propertyIsEnumerable,Zh=(t,e,s)=>e in t?bI(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,SI=(t,e)=>{for(var s in e||(e={}))_I.call(e,s)&&Zh(t,s,e[s]);if(Yh)for(var s of Yh(e))AI.call(e,s)&&Zh(t,s,e[s]);return t},II=(t,e)=>CI(t,vI(e));function bi(t){const e=[];return t.forEach(s=>{const[n,r]=s.split(":");e.push(`${n}:${r}`)}),e}function Cm(t){const e=[];return Object.values(t).forEach(s=>{e.push(...bi(s.accounts))}),[...new Set(e)]}function NI(t){const e=[];return Object.values(t).forEach(s=>{e.push(...s.methods)}),[...new Set(e)]}function TI(t){const e=[];return Object.values(t).forEach(s=>{e.push(...s.events)}),[...new Set(e)]}function RI(t,e){const s=[];return Object.values(t).forEach(n=>{bi(n.accounts).includes(e)&&s.push(...n.methods)}),s}function OI(t,e){const s=[];return Object.values(t).forEach(n=>{bi(n.accounts).includes(e)&&s.push(...n.events)}),s}function lc(t){return t.includes(":")}function Xr(t){return lc(t)?t.split(":")[0]:t}function Jh(t){var e,s,n;const r={};if(!Gs(t))return r;for(const[i,o]of Object.entries(t)){const a=lc(i)?[i]:o.chains,c=o.methods||[],l=o.events||[],d=Xr(i);r[d]=II(SI({},r[d]),{chains:Ks(a,(e=r[d])==null?void 0:e.chains),methods:Ks(c,(s=r[d])==null?void 0:s.methods),events:Ks(l,(n=r[d])==null?void 0:n.events)})}return r}function PI(t){const e={};return t==null||t.forEach(s=>{var n;const[r,i]=s.split(":");e[r]||(e[r]={accounts:[],chains:[],events:[],methods:[]}),e[r].accounts.push(s),(n=e[r].chains)==null||n.push(`${r}:${i}`)}),e}function Xh(t,e){e=e.map(n=>n.replace("did:pkh:",""));const s=PI(e);for(const[n,r]of Object.entries(s))r.methods?r.methods=Ks(r.methods,t):r.methods=t,r.events=["chainChanged","accountsChanged"];return s}function xI(t,e){var s,n,r,i,o,a;const c=Jh(t),l=Jh(e),d={},u=Object.keys(c).concat(Object.keys(l));for(const h of u)d[h]={chains:Ks((s=c[h])==null?void 0:s.chains,(n=l[h])==null?void 0:n.chains),methods:Ks((r=c[h])==null?void 0:r.methods,(i=l[h])==null?void 0:i.methods),events:Ks((o=c[h])==null?void 0:o.events,(a=l[h])==null?void 0:a.events)};return d}const kI={INVALID_METHOD:{message:"Invalid method.",code:1001},INVALID_EVENT:{message:"Invalid event.",code:1002},INVALID_UPDATE_REQUEST:{message:"Invalid update request.",code:1003},INVALID_EXTEND_REQUEST:{message:"Invalid extend request.",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:"Invalid session settle request.",code:1005},UNAUTHORIZED_METHOD:{message:"Unauthorized method.",code:3001},UNAUTHORIZED_EVENT:{message:"Unauthorized event.",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:"Unauthorized update request.",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:"Unauthorized extend request.",code:3004},USER_REJECTED:{message:"User rejected.",code:5e3},USER_REJECTED_CHAINS:{message:"User rejected chains.",code:5001},USER_REJECTED_METHODS:{message:"User rejected methods.",code:5002},USER_REJECTED_EVENTS:{message:"User rejected events.",code:5003},UNSUPPORTED_CHAINS:{message:"Unsupported chains.",code:5100},UNSUPPORTED_METHODS:{message:"Unsupported methods.",code:5101},UNSUPPORTED_EVENTS:{message:"Unsupported events.",code:5102},UNSUPPORTED_ACCOUNTS:{message:"Unsupported accounts.",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:"Unsupported namespace key.",code:5104},USER_DISCONNECTED:{message:"User disconnected.",code:6e3},SESSION_SETTLEMENT_FAILED:{message:"Session settlement failed.",code:7e3},WC_METHOD_UNSUPPORTED:{message:"Unsupported wc_ method.",code:10001}},UI={NOT_INITIALIZED:{message:"Not initialized.",code:1},NO_MATCHING_KEY:{message:"No matching key.",code:2},RESTORE_WILL_OVERRIDE:{message:"Restore will override.",code:3},RESUBSCRIBED:{message:"Resubscribed.",code:4},MISSING_OR_INVALID:{message:"Missing or invalid.",code:5},EXPIRED:{message:"Expired.",code:6},UNKNOWN_TYPE:{message:"Unknown type.",code:7},MISMATCHED_TOPIC:{message:"Mismatched topic.",code:8},NON_CONFORMING_NAMESPACES:{message:"Non conforming namespaces.",code:9}};function G(t,e){const{message:s,code:n}=UI[t];return{message:e?`${s} ${e}`:s,code:n}}function Ye(t,e){const{message:s,code:n}=kI[t];return{message:e?`${s} ${e}`:s,code:n}}function wn(t,e){return!!Array.isArray(t)}function Gs(t){return Object.getPrototypeOf(t)===Object.prototype&&Object.keys(t).length}function ht(t){return typeof t>"u"}function rt(t,e){return e&&ht(t)?!0:typeof t=="string"&&!!t.trim().length}function jd(t,e){return typeof t=="number"&&!isNaN(t)}function $I(t,e){const{requiredNamespaces:s}=e,n=Object.keys(t.namespaces),r=Object.keys(s);let i=!0;return fr(r,n)?(n.forEach(o=>{const{accounts:a,methods:c,events:l}=t.namespaces[o],d=bi(a),u=s[o];(!fr(wg(o,u),d)||!fr(u.methods,c)||!fr(u.events,l))&&(i=!1)}),i):!1}function Fa(t){return rt(t,!1)&&t.includes(":")?t.split(":").length===2:!1}function DI(t){if(rt(t,!1)&&t.includes(":")){const e=t.split(":");if(e.length===3){const s=e[0]+":"+e[1];return!!e[2]&&Fa(s)}}return!1}function LI(t){function e(s){try{return typeof new URL(s)<"u"}catch{return!1}}try{if(rt(t,!1)){if(e(t))return!0;const s=_g(t);return e(s)}}catch{}return!1}function MI(t){var e;return(e=t==null?void 0:t.proposer)==null?void 0:e.publicKey}function BI(t){return t==null?void 0:t.topic}function jI(t,e){let s=null;return rt(t==null?void 0:t.publicKey,!1)||(s=G("MISSING_OR_INVALID",`${e} controller public key should be a string`)),s}function Qh(t){let e=!0;return wn(t)?t.length&&(e=t.every(s=>rt(s,!1))):e=!1,e}function FI(t,e,s){let n=null;return wn(e)&&e.length?e.forEach(r=>{n||Fa(r)||(n=Ye("UNSUPPORTED_CHAINS",`${s}, chain ${r} should be a string and conform to "namespace:chainId" format`))}):Fa(t)||(n=Ye("UNSUPPORTED_CHAINS",`${s}, chains must be defined as "namespace:chainId" e.g. "eip155:1": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: ["eip155:1", "eip155:5"] }`)),n}function qI(t,e,s){let n=null;return Object.entries(t).forEach(([r,i])=>{if(n)return;const o=FI(r,wg(r,i),`${e} ${s}`);o&&(n=o)}),n}function WI(t,e){let s=null;return wn(t)?t.forEach(n=>{s||DI(n)||(s=Ye("UNSUPPORTED_ACCOUNTS",`${e}, account ${n} should be a string and conform to "namespace:chainId:address" format`))}):s=Ye("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),s}function HI(t,e){let s=null;return Object.values(t).forEach(n=>{if(s)return;const r=WI(n==null?void 0:n.accounts,`${e} namespace`);r&&(s=r)}),s}function VI(t,e){let s=null;return Qh(t==null?void 0:t.methods)?Qh(t==null?void 0:t.events)||(s=Ye("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):s=Ye("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),s}function vm(t,e){let s=null;return Object.values(t).forEach(n=>{if(s)return;const r=VI(n,`${e}, namespace`);r&&(s=r)}),s}function zI(t,e,s){let n=null;if(t&&Gs(t)){const r=vm(t,e);r&&(n=r);const i=qI(t,e,s);i&&(n=i)}else n=G("MISSING_OR_INVALID",`${e}, ${s} should be an object with data`);return n}function Vc(t,e){let s=null;if(t&&Gs(t)){const n=vm(t,e);n&&(s=n);const r=HI(t,e);r&&(s=r)}else s=G("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return s}function _m(t){return rt(t.protocol,!0)}function KI(t,e){let s=!1;return t?t&&wn(t)&&t.length&&t.forEach(n=>{s=_m(n)}):s=!0,s}function GI(t){return typeof t=="number"}function Wt(t){return typeof t<"u"&&typeof t!==null}function YI(t){return!(!t||typeof t!="object"||!t.code||!jd(t.code)||!t.message||!rt(t.message,!1))}function ZI(t){return!(ht(t)||!rt(t.method,!1))}function JI(t){return!(ht(t)||ht(t.result)&&ht(t.error)||!jd(t.id)||!rt(t.jsonrpc,!1))}function XI(t){return!(ht(t)||!rt(t.name,!1))}function ep(t,e){return!(!Fa(e)||!Cm(t).includes(e))}function QI(t,e,s){return rt(s,!1)?RI(t,e).includes(s):!1}function eN(t,e,s){return rt(s,!1)?OI(t,e).includes(s):!1}function tp(t,e,s){let n=null;const r=tN(t),i=sN(e),o=Object.keys(r),a=Object.keys(i),c=sp(Object.keys(t)),l=sp(Object.keys(e)),d=c.filter(u=>!l.includes(u));return d.length&&(n=G("NON_CONFORMING_NAMESPACES",`${s} namespaces keys don't satisfy requiredNamespaces.
9
9
  Required: ${d.toString()}
10
10
  Received: ${Object.keys(e).toString()}`)),fr(o,a)||(n=G("NON_CONFORMING_NAMESPACES",`${s} namespaces chains don't satisfy required namespaces.
11
11
  Required: ${o.toString()}
12
12
  Approved: ${a.toString()}`)),Object.keys(e).forEach(u=>{if(!u.includes(":")||n)return;const h=bi(e[u].accounts);h.includes(u)||(n=G("NON_CONFORMING_NAMESPACES",`${s} namespaces accounts don't satisfy namespace accounts for ${u}
13
13
  Required: ${u}
14
- Approved: ${h.toString()}`))}),o.forEach(u=>{n||(fr(r[u].methods,i[u].methods)?fr(r[u].events,i[u].events)||(n=G("NON_CONFORMING_NAMESPACES",`${s} namespaces events don't satisfy namespace events for ${u}`)):n=G("NON_CONFORMING_NAMESPACES",`${s} namespaces methods don't satisfy namespace methods for ${u}`))}),n}function tN(t){const e={};return Object.keys(t).forEach(s=>{var n;s.includes(":")?e[s]=t[s]:(n=t[s].chains)==null||n.forEach(r=>{e[r]={methods:t[s].methods,events:t[s].events}})}),e}function sp(t){return[...new Set(t.map(e=>e.includes(":")?e.split(":")[0]:e))]}function sN(t){const e={};return Object.keys(t).forEach(s=>{if(s.includes(":"))e[s]=t[s];else{const n=bi(t[s].accounts);n==null||n.forEach(r=>{e[r]={accounts:t[s].accounts.filter(i=>i.includes(`${r}:`)),methods:t[s].methods,events:t[s].events}})}}),e}function nN(t,e){return jd(t)&&t<=e.max&&t>=e.min}function np(){const t=To();return new Promise(e=>{switch(t){case cs.browser:e(rN());break;case cs.reactNative:e(iN());break;case cs.node:e(oN());break;default:e(!0)}})}function rN(){return Ei()&&(navigator==null?void 0:navigator.onLine)}async function iN(){if(Jn()&&typeof ve<"u"&&ve!=null&&ve.NetInfo){const t=await(ve==null?void 0:ve.NetInfo.fetch());return t==null?void 0:t.isConnected}return!0}function oN(){return!0}function aN(t){switch(To()){case cs.browser:cN(t);break;case cs.reactNative:lN(t);break}}function cN(t){!Jn()&&Ei()&&(window.addEventListener("online",()=>t(!0)),window.addEventListener("offline",()=>t(!1)))}function lN(t){var e;Jn()&&typeof ve<"u"&&ve!=null&&ve.NetInfo&&((e=ve)==null||e.NetInfo.addEventListener(s=>t(s==null?void 0:s.isConnected)))}function dN(){var t;return Ei()&&ci()?((t=ci())==null?void 0:t.visibilityState)==="visible":!0}const zc={};class Si{static get(e){return zc[e]}static set(e,s){zc[e]=s}static delete(e){delete zc[e]}}function uN(t){const e=yi.decode(t);if(e.length<33)throw new Error("Too short to contain a public key");return e.slice(1,33)}function hN({publicKey:t,signature:e,payload:s}){var n;const r=Gl(s.method),i=128|parseInt(((n=s.version)==null?void 0:n.toString())||"4"),o=gN(s.address),a=s.era==="00"?new Uint8Array([0]):Gl(s.era);if(a.length!==1&&a.length!==2)throw new Error("Invalid era length");const c=parseInt(s.nonce,16),l=new Uint8Array([c&255,c>>8&255]),d=BigInt(`0x${fN(s.tip)}`),u=yN(d),h=new Uint8Array([0,...t,o,...e,...a,...l,...u,...r]),p=mN(h.length+1);return new Uint8Array([...p,i,...h])}function pN(t){const e=Gl(t),s=vy.blake2b(e,void 0,32);return"0x"+ke.from(s).toString("hex")}function Gl(t){return new Uint8Array(t.replace(/^0x/,"").match(/.{1,2}/g).map(e=>parseInt(e,16)))}function fN(t){return t.startsWith("0x")?t.slice(2):t}function gN(t){const e=yi.decode(t)[0];return e===42?0:e===60?2:1}function mN(t){if(t<64)return new Uint8Array([t<<2]);if(t<16384){const e=t<<2|1;return new Uint8Array([e&255,e>>8&255])}else if(t<1<<30){const e=t<<2|2;return new Uint8Array([e&255,e>>8&255,e>>16&255,e>>24&255])}else throw new Error("Compact encoding > 2^30 not supported")}function yN(t){if(t<BigInt(1)<<BigInt(6))return new Uint8Array([Number(t<<BigInt(2))]);if(t<BigInt(1)<<BigInt(14)){const e=t<<BigInt(2)|BigInt(1);return new Uint8Array([Number(e&BigInt(255)),Number(e>>BigInt(8)&BigInt(255))])}else if(t<BigInt(1)<<BigInt(30)){const e=t<<BigInt(2)|BigInt(2);return new Uint8Array([Number(e&BigInt(255)),Number(e>>BigInt(8)&BigInt(255)),Number(e>>BigInt(16)&BigInt(255)),Number(e>>BigInt(24)&BigInt(255))])}else throw new Error("BigInt compact encoding not supported > 2^30")}function wN(t){const e=Uint8Array.from(ke.from(t.signature,"hex")),s=uN(t.transaction.address),n=hN({publicKey:s,signature:e,payload:t.transaction}),r=ke.from(n).toString("hex");return pN(r)}function Fd({logger:t,name:e}){const s=typeof t=="string"?Ja({opts:{level:t,name:e}}).logger:t;return s.level=typeof t=="string"?t:t.level,s}var EN={};const Am="wc",Sm=2,Yl="core",Js=`${Am}@2:${Yl}:`,bN={logger:"error"},CN={database:":memory:"},vN="crypto",rp="client_ed25519_seed",_N=Y.ONE_DAY,AN="keychain",SN="0.3",IN="messages",NN="0.3",TN=Y.SIX_HOURS,RN="publisher",Im="irn",ON="error",Nm="wss://relay.walletconnect.org",PN="relayer",nt={message:"relayer_message",message_ack:"relayer_message_ack",connect:"relayer_connect",disconnect:"relayer_disconnect",error:"relayer_error",connection_stalled:"relayer_connection_stalled",transport_closed:"relayer_transport_closed",publish:"relayer_publish"},xN="_subscription",us={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},kN=.1,Zl="2.23.0",ze={link_mode:"link_mode",relay:"relay"},pa={inbound:"inbound",outbound:"outbound"},UN="0.3",$N="WALLETCONNECT_CLIENT_ID",ip="WALLETCONNECT_LINK_MODE_APPS",ss={created:"subscription_created",deleted:"subscription_deleted",expired:"subscription_expired",disabled:"subscription_disabled",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},DN="subscription",LN="0.3",MN="pairing",BN="0.3",Ii={wc_pairingDelete:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:Y.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:Y.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:0},res:{ttl:Y.ONE_DAY,prompt:!1,tag:0}}},lr={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},_s={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},jN="history",FN="0.3",qN="expirer",gs={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},WN="0.3",HN="verify-api",VN="https://verify.walletconnect.com",Tm="https://verify.walletconnect.org",qi=Tm,zN=`${qi}/v3`,KN=[VN,Tm],GN="echo",YN="https://echo.walletconnect.com",Bs={pairing_started:"pairing_started",pairing_uri_validation_success:"pairing_uri_validation_success",pairing_uri_not_expired:"pairing_uri_not_expired",store_new_pairing:"store_new_pairing",subscribing_pairing_topic:"subscribing_pairing_topic",subscribe_pairing_topic_success:"subscribe_pairing_topic_success",existing_pairing:"existing_pairing",pairing_not_expired:"pairing_not_expired",emit_inactive_pairing:"emit_inactive_pairing",emit_session_proposal:"emit_session_proposal",subscribing_to_pairing_topic:"subscribing_to_pairing_topic"},rn={no_wss_connection:"no_wss_connection",no_internet_connection:"no_internet_connection",malformed_pairing_uri:"malformed_pairing_uri",active_pairing_already_exists:"active_pairing_already_exists",subscribe_pairing_topic_failure:"subscribe_pairing_topic_failure",pairing_expired:"pairing_expired",proposal_expired:"proposal_expired",proposal_listener_not_found:"proposal_listener_not_found"},As={session_approve_started:"session_approve_started",proposal_not_expired:"proposal_not_expired",session_namespaces_validation_success:"session_namespaces_validation_success",create_session_topic:"create_session_topic",subscribing_session_topic:"subscribing_session_topic",subscribe_session_topic_success:"subscribe_session_topic_success",publishing_session_approve:"publishing_session_approve",session_approve_publish_success:"session_approve_publish_success",store_session:"store_session",publishing_session_settle:"publishing_session_settle",session_settle_publish_success:"session_settle_publish_success",session_request_response_started:"session_request_response_started",session_request_response_validation_success:"session_request_response_validation_success",session_request_response_publish_started:"session_request_response_publish_started"},sr={no_internet_connection:"no_internet_connection",no_wss_connection:"no_wss_connection",proposal_expired:"proposal_expired",subscribe_session_topic_failure:"subscribe_session_topic_failure",session_approve_publish_failure:"session_approve_publish_failure",session_settle_publish_failure:"session_settle_publish_failure",session_approve_namespace_validation_failure:"session_approve_namespace_validation_failure",proposal_not_found:"proposal_not_found",session_request_response_validation_failure:"session_request_response_validation_failure",session_request_response_publish_failure:"session_request_response_publish_failure"},nr={authenticated_session_approve_started:"authenticated_session_approve_started",create_authenticated_session_topic:"create_authenticated_session_topic",cacaos_verified:"cacaos_verified",store_authenticated_session:"store_authenticated_session",subscribing_authenticated_session_topic:"subscribing_authenticated_session_topic",subscribe_authenticated_session_topic_success:"subscribe_authenticated_session_topic_success",publishing_authenticated_session_approve:"publishing_authenticated_session_approve"},Ni={no_internet_connection:"no_internet_connection",invalid_cacao:"invalid_cacao",subscribe_authenticated_session_topic_failure:"subscribe_authenticated_session_topic_failure",authenticated_session_approve_publish_failure:"authenticated_session_approve_publish_failure",authenticated_session_pending_request_not_found:"authenticated_session_pending_request_not_found"},ZN=.1,JN="event-client",XN=86400,QN="https://pulse.walletconnect.org/batch";function e1(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var s=new Uint8Array(256),n=0;n<s.length;n++)s[n]=255;for(var r=0;r<t.length;r++){var i=t.charAt(r),o=i.charCodeAt(0);if(s[o]!==255)throw new TypeError(i+" is ambiguous");s[o]=r}var a=t.length,c=t.charAt(0),l=Math.log(a)/Math.log(256),d=Math.log(256)/Math.log(a);function u(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var f=0,y=0,b=0,S=m.length;b!==S&&m[b]===0;)b++,f++;for(var v=(S-b)*d+1>>>0,C=new Uint8Array(v);b!==S;){for(var R=m[b],k=0,L=v-1;(R!==0||k<y)&&L!==-1;L--,k++)R+=256*C[L]>>>0,C[L]=R%a>>>0,R=R/a>>>0;if(R!==0)throw new Error("Non-zero carry");y=k,b++}for(var F=v-y;F!==v&&C[F]===0;)F++;for(var x=c.repeat(f);F<v;++F)x+=t.charAt(C[F]);return x}function h(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var f=0;if(m[f]!==" "){for(var y=0,b=0;m[f]===c;)y++,f++;for(var S=(m.length-f)*l+1>>>0,v=new Uint8Array(S);m[f];){var C=s[m.charCodeAt(f)];if(C===255)return;for(var R=0,k=S-1;(C!==0||R<b)&&k!==-1;k--,R++)C+=a*v[k]>>>0,v[k]=C%256>>>0,C=C/256>>>0;if(C!==0)throw new Error("Non-zero carry");b=R,f++}if(m[f]!==" "){for(var L=S-b;L!==S&&v[L]===0;)L++;for(var F=new Uint8Array(y+(S-L)),x=y;L!==S;)F[x++]=v[L++];return F}}}function p(m){var f=h(m);if(f)return f;throw new Error(`Non-${e} character`)}return{encode:u,decodeUnsafe:h,decode:p}}var t1=e1,s1=t1;const Rm=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},n1=t=>new TextEncoder().encode(t),r1=t=>new TextDecoder().decode(t);class i1{constructor(e,s,n){this.name=e,this.prefix=s,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class o1{constructor(e,s,n){if(this.name=e,this.prefix=s,s.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=s.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Om(this,e)}}class a1{constructor(e){this.decoders=e}or(e){return Om(this,e)}decode(e){const s=e[0],n=this.decoders[s];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const Om=(t,e)=>new a1({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}});class c1{constructor(e,s,n,r){this.name=e,this.prefix=s,this.baseEncode=n,this.baseDecode=r,this.encoder=new i1(e,s,n),this.decoder=new o1(e,s,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const dc=({name:t,prefix:e,encode:s,decode:n})=>new c1(t,e,s,n),ko=({prefix:t,name:e,alphabet:s})=>{const{encode:n,decode:r}=s1(s,e);return dc({prefix:t,name:e,encode:n,decode:i=>Rm(r(i))})},l1=(t,e,s,n)=>{const r={};for(let d=0;d<e.length;++d)r[e[d]]=d;let i=t.length;for(;t[i-1]==="=";)--i;const o=new Uint8Array(i*s/8|0);let a=0,c=0,l=0;for(let d=0;d<i;++d){const u=r[t[d]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<s|u,a+=s,a>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=s||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},d1=(t,e,s)=>{const n=e[e.length-1]==="=",r=(1<<s)-1;let i="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>s;)o-=s,i+=e[r&a>>o];if(o&&(i+=e[r&a<<s-o]),n)for(;i.length*s&7;)i+="=";return i},bt=({name:t,prefix:e,bitsPerChar:s,alphabet:n})=>dc({prefix:e,name:t,encode(r){return d1(r,n,s)},decode(r){return l1(r,n,s,t)}}),u1=dc({prefix:"\0",name:"identity",encode:t=>r1(t),decode:t=>n1(t)});var h1=Object.freeze({__proto__:null,identity:u1});const p1=bt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var f1=Object.freeze({__proto__:null,base2:p1});const g1=bt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var m1=Object.freeze({__proto__:null,base8:g1});const y1=ko({prefix:"9",name:"base10",alphabet:"0123456789"});var w1=Object.freeze({__proto__:null,base10:y1});const E1=bt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),b1=bt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var C1=Object.freeze({__proto__:null,base16:E1,base16upper:b1});const v1=bt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),_1=bt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),A1=bt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),S1=bt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),I1=bt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),N1=bt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),T1=bt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),R1=bt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),O1=bt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var P1=Object.freeze({__proto__:null,base32:v1,base32upper:_1,base32pad:A1,base32padupper:S1,base32hex:I1,base32hexupper:N1,base32hexpad:T1,base32hexpadupper:R1,base32z:O1});const x1=ko({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),k1=ko({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var U1=Object.freeze({__proto__:null,base36:x1,base36upper:k1});const $1=ko({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),D1=ko({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var L1=Object.freeze({__proto__:null,base58btc:$1,base58flickr:D1});const M1=bt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),B1=bt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),j1=bt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),F1=bt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var q1=Object.freeze({__proto__:null,base64:M1,base64pad:B1,base64url:j1,base64urlpad:F1});const Pm=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),W1=Pm.reduce((t,e,s)=>(t[s]=e,t),[]),H1=Pm.reduce((t,e,s)=>(t[e.codePointAt(0)]=s,t),[]);function V1(t){return t.reduce((e,s)=>(e+=W1[s],e),"")}function z1(t){const e=[];for(const s of t){const n=H1[s.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${s}`);e.push(n)}return new Uint8Array(e)}const K1=dc({prefix:"🚀",name:"base256emoji",encode:V1,decode:z1});var G1=Object.freeze({__proto__:null,base256emoji:K1}),Y1=xm,op=128,Z1=-128,J1=Math.pow(2,31);function xm(t,e,s){e=e||[],s=s||0;for(var n=s;t>=J1;)e[s++]=t&255|op,t/=128;for(;t&Z1;)e[s++]=t&255|op,t>>>=7;return e[s]=t|0,xm.bytes=s-n+1,e}var X1=Jl,Q1=128,ap=127;function Jl(t,n){var s=0,n=n||0,r=0,i=n,o,a=t.length;do{if(i>=a)throw Jl.bytes=0,new RangeError("Could not decode varint");o=t[i++],s+=r<28?(o&ap)<<r:(o&ap)*Math.pow(2,r),r+=7}while(o>=Q1);return Jl.bytes=i-n,s}var eT=Math.pow(2,7),tT=Math.pow(2,14),sT=Math.pow(2,21),nT=Math.pow(2,28),rT=Math.pow(2,35),iT=Math.pow(2,42),oT=Math.pow(2,49),aT=Math.pow(2,56),cT=Math.pow(2,63),lT=function(t){return t<eT?1:t<tT?2:t<sT?3:t<nT?4:t<rT?5:t<iT?6:t<oT?7:t<aT?8:t<cT?9:10},dT={encode:Y1,decode:X1,encodingLength:lT},km=dT;const cp=(t,e,s=0)=>(km.encode(t,e,s),e),lp=t=>km.encodingLength(t),Xl=(t,e)=>{const s=e.byteLength,n=lp(t),r=n+lp(s),i=new Uint8Array(r+s);return cp(t,i,0),cp(s,i,n),i.set(e,r),new uT(t,s,e,i)};class uT{constructor(e,s,n,r){this.code=e,this.size=s,this.digest=n,this.bytes=r}}const Um=({name:t,code:e,encode:s})=>new hT(t,e,s);class hT{constructor(e,s,n){this.name=e,this.code=s,this.encode=n}digest(e){if(e instanceof Uint8Array){const s=this.encode(e);return s instanceof Uint8Array?Xl(this.code,s):s.then(n=>Xl(this.code,n))}else throw Error("Unknown type, must be binary type")}}const $m=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),pT=Um({name:"sha2-256",code:18,encode:$m("SHA-256")}),fT=Um({name:"sha2-512",code:19,encode:$m("SHA-512")});var gT=Object.freeze({__proto__:null,sha256:pT,sha512:fT});const Dm=0,mT="identity",Lm=Rm,yT=t=>Xl(Dm,Lm(t)),wT={code:Dm,name:mT,encode:Lm,digest:yT};var ET=Object.freeze({__proto__:null,identity:wT});new TextEncoder,new TextDecoder;const dp={...h1,...f1,...m1,...w1,...C1,...P1,...U1,...L1,...q1,...G1};({...gT,...ET});function Mm(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function bT(t=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Mm(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Bm(t,e,s,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:s},decoder:{decode:n}}}const up=Bm("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Kc=Bm("ascii","a",t=>{let e="a";for(let s=0;s<t.length;s++)e+=String.fromCharCode(t[s]);return e},t=>{t=t.substring(1);const e=bT(t.length);for(let s=0;s<t.length;s++)e[s]=t.charCodeAt(s);return e}),CT={utf8:up,"utf-8":up,hex:dp.base16,latin1:Kc,ascii:Kc,binary:Kc,...dp};function vT(t,e="utf8"){const s=CT[e];if(!s)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Mm(globalThis.Buffer.from(t,"utf-8")):s.decoder.decode(`${s.prefix}${t}`)}var _T=Object.defineProperty,AT=(t,e,s)=>e in t?_T(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ls=(t,e,s)=>AT(t,typeof e!="symbol"?e+"":e,s);class ST{constructor(e,s){this.core=e,this.logger=s,Ls(this,"keychain",new Map),Ls(this,"name",AN),Ls(this,"version",SN),Ls(this,"initialized",!1),Ls(this,"storagePrefix",Js),Ls(this,"init",async()=>{if(!this.initialized){const n=await this.getKeyChain();typeof n<"u"&&(this.keychain=n),this.initialized=!0}}),Ls(this,"has",n=>(this.isInitialized(),this.keychain.has(n))),Ls(this,"set",async(n,r)=>{this.isInitialized(),this.keychain.set(n,r),await this.persist()}),Ls(this,"get",n=>{this.isInitialized();const r=this.keychain.get(n);if(typeof r>"u"){const{message:i}=G("NO_MATCHING_KEY",`${this.name}: ${n}`);throw new Error(i)}return r}),Ls(this,"del",async n=>{this.isInitialized(),this.keychain.delete(n),await this.persist()}),this.core=e,this.logger=Xt(s,this.name)}get context(){return Jt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,$l(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Dl(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}}var IT=Object.defineProperty,NT=(t,e,s)=>e in t?IT(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,lt=(t,e,s)=>NT(t,typeof e!="symbol"?e+"":e,s);class TT{constructor(e,s,n){this.core=e,this.logger=s,lt(this,"name",vN),lt(this,"keychain"),lt(this,"randomSessionIdentifier",Kl()),lt(this,"initialized",!1),lt(this,"clientId"),lt(this,"init",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),lt(this,"hasKeys",r=>(this.isInitialized(),this.keychain.has(r))),lt(this,"getClientId",async()=>{if(this.isInitialized(),this.clientId)return this.clientId;const r=await this.getClientSeed(),i=Xd(r),o=Iy(i.publicKey);return this.clientId=o,o}),lt(this,"generateKeyPair",()=>{this.isInitialized();const r=tI();return this.setPrivateKey(r.publicKey,r.privateKey)}),lt(this,"signJWT",async r=>{this.isInitialized();const i=await this.getClientSeed(),o=Xd(i),a=this.randomSessionIdentifier;return await Ny(a,r,_N,o)}),lt(this,"generateSharedKey",(r,i,o)=>{this.isInitialized();const a=this.getPrivateKey(r),c=sI(a,i);return this.setSymKey(c,o)}),lt(this,"setSymKey",async(r,i)=>{this.isInitialized();const o=i||ha(r);return await this.keychain.set(o,r),o}),lt(this,"deleteKeyPair",async r=>{this.isInitialized(),await this.keychain.del(r)}),lt(this,"deleteSymKey",async r=>{this.isInitialized(),await this.keychain.del(r)}),lt(this,"encode",async(r,i,o)=>{this.isInitialized();const a=bm(o),c=dl(i);if(Hh(a))return iI(c,o==null?void 0:o.encoding);if(Wh(a)){const h=a.senderPublicKey,p=a.receiverPublicKey;r=await this.generateSharedKey(h,p)}const l=this.getSymKey(r),{type:d,senderPublicKey:u}=a;return nI({type:d,symKey:l,message:c,senderPublicKey:u,encoding:o==null?void 0:o.encoding})}),lt(this,"decode",async(r,i,o)=>{this.isInitialized();const a=aI(i,o);if(Hh(a)){const c=oI(i,o==null?void 0:o.encoding);return Qd(c)}if(Wh(a)){const c=a.receiverPublicKey,l=a.senderPublicKey;r=await this.generateSharedKey(c,l)}try{const c=this.getSymKey(r),l=rI({symKey:c,encoded:i,encoding:o==null?void 0:o.encoding});return Qd(l)}catch(c){this.logger.error(`Failed to decode message from topic: '${r}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}}),lt(this,"getPayloadType",(r,i=Kt)=>{const o=yo({encoded:r,encoding:i});return Rr(o.type)}),lt(this,"getPayloadSenderPublicKey",(r,i=Kt)=>{const o=yo({encoded:r,encoding:i});return o.senderPublicKey?Zt(o.senderPublicKey,Lt):void 0}),this.core=e,this.logger=Xt(s,this.name),this.keychain=n||new ST(this.core,this.logger)}get context(){return Jt(this.logger)}async setPrivateKey(e,s){return await this.keychain.set(e,s),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(rp)}catch{e=Kl(),await this.keychain.set(rp,e)}return vT(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}}var RT=Object.defineProperty,OT=Object.defineProperties,PT=Object.getOwnPropertyDescriptors,hp=Object.getOwnPropertySymbols,xT=Object.prototype.hasOwnProperty,kT=Object.prototype.propertyIsEnumerable,Ql=(t,e,s)=>e in t?RT(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,UT=(t,e)=>{for(var s in e||(e={}))xT.call(e,s)&&Ql(t,s,e[s]);if(hp)for(var s of hp(e))kT.call(e,s)&&Ql(t,s,e[s]);return t},$T=(t,e)=>OT(t,PT(e)),es=(t,e,s)=>Ql(t,typeof e!="symbol"?e+"":e,s);class DT extends mv{constructor(e,s){super(e,s),this.logger=e,this.core=s,es(this,"messages",new Map),es(this,"messagesWithoutClientAck",new Map),es(this,"name",IN),es(this,"version",NN),es(this,"initialized",!1),es(this,"storagePrefix",Js),es(this,"init",async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const n=await this.getRelayerMessages();typeof n<"u"&&(this.messages=n);const r=await this.getRelayerMessagesWithoutClientAck();typeof r<"u"&&(this.messagesWithoutClientAck=r),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(n){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(n)}finally{this.initialized=!0}}}),es(this,"set",async(n,r,i)=>{this.isInitialized();const o=ys(r);let a=this.messages.get(n);if(typeof a>"u"&&(a={}),typeof a[o]<"u")return o;if(a[o]=r,this.messages.set(n,a),i===pa.inbound){const c=this.messagesWithoutClientAck.get(n)||{};this.messagesWithoutClientAck.set(n,$T(UT({},c),{[o]:r}))}return await this.persist(),o}),es(this,"get",n=>{this.isInitialized();let r=this.messages.get(n);return typeof r>"u"&&(r={}),r}),es(this,"getWithoutAck",n=>{this.isInitialized();const r={};for(const i of n){const o=this.messagesWithoutClientAck.get(i)||{};r[i]=Object.values(o)}return r}),es(this,"has",(n,r)=>{this.isInitialized();const i=this.get(n),o=ys(r);return typeof i[o]<"u"}),es(this,"ack",async(n,r)=>{this.isInitialized();const i=this.messagesWithoutClientAck.get(n);if(typeof i>"u")return;const o=ys(r);delete i[o],Object.keys(i).length===0?this.messagesWithoutClientAck.delete(n):this.messagesWithoutClientAck.set(n,i),await this.persist()}),es(this,"del",async n=>{this.isInitialized(),this.messages.delete(n),this.messagesWithoutClientAck.delete(n),await this.persist()}),this.logger=Xt(e,this.name),this.core=s}get context(){return Jt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get storageKeyWithoutClientAck(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name+"_withoutClientAck"}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,$l(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,$l(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Dl(e):void 0}async getRelayerMessagesWithoutClientAck(){const e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<"u"?Dl(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}}var LT=Object.defineProperty,MT=Object.defineProperties,BT=Object.getOwnPropertyDescriptors,pp=Object.getOwnPropertySymbols,jT=Object.prototype.hasOwnProperty,FT=Object.prototype.propertyIsEnumerable,ed=(t,e,s)=>e in t?LT(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,qr=(t,e)=>{for(var s in e||(e={}))jT.call(e,s)&&ed(t,s,e[s]);if(pp)for(var s of pp(e))FT.call(e,s)&&ed(t,s,e[s]);return t},fp=(t,e)=>MT(t,BT(e)),hs=(t,e,s)=>ed(t,typeof e!="symbol"?e+"":e,s);class qT extends yv{constructor(e,s){super(e,s),this.relayer=e,this.logger=s,hs(this,"events",new Pr.EventEmitter),hs(this,"name",RN),hs(this,"queue",new Map),hs(this,"publishTimeout",Y.toMiliseconds(Y.ONE_MINUTE)),hs(this,"initialPublishTimeout",Y.toMiliseconds(Y.ONE_SECOND*15)),hs(this,"needsTransportRestart",!1),hs(this,"publish",async(n,r,i)=>{var o,a,c,l,d;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:n,message:r,opts:i}});const u=(i==null?void 0:i.ttl)||TN,h=(i==null?void 0:i.prompt)||!1,p=(i==null?void 0:i.tag)||0,m=(i==null?void 0:i.id)||hr().toString(),f=Jr(ja().protocol),y={id:m,method:(i==null?void 0:i.publishMethod)||f.publish,params:qr({topic:n,message:r,ttl:u,prompt:h,tag:p,attestation:i==null?void 0:i.attestation},i==null?void 0:i.tvf)},b=`Failed to publish payload, please try again. id:${m} tag:${p}`;try{ht((o=y.params)==null?void 0:o.prompt)&&((a=y.params)==null||delete a.prompt),ht((c=y.params)==null?void 0:c.tag)&&((l=y.params)==null||delete l.tag);const S=new Promise(async v=>{const C=({id:k})=>{var L;((L=y.id)==null?void 0:L.toString())===k.toString()&&(this.removeRequestFromQueue(k),this.relayer.events.removeListener(nt.publish,C),v())};this.relayer.events.on(nt.publish,C);const R=Hs(new Promise((k,L)=>{this.rpcPublish(y,i).then(k).catch(F=>{this.logger.warn(F,F==null?void 0:F.message),L(F)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${m} tag:${p}`);try{await R,this.events.removeListener(nt.publish,C)}catch(k){this.queue.set(m,{request:y,opts:i,attempt:1}),this.logger.warn(k,k==null?void 0:k.message)}});this.logger.trace({type:"method",method:"publish",params:{id:m,topic:n,message:r,opts:i}}),await Hs(S,this.publishTimeout,b)}catch(S){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(S),(d=i==null?void 0:i.internal)!=null&&d.throwOnFailedPublish)throw S}finally{this.queue.delete(m)}}),hs(this,"publishCustom",async n=>{var r,i,o,a,c;this.logger.debug("Publishing custom payload"),this.logger.trace({type:"method",method:"publishCustom",params:n});const{payload:l,opts:d={}}=n,{attestation:u,tvf:h,publishMethod:p,prompt:m,tag:f,ttl:y=Y.FIVE_MINUTES}=d,b=d.id||hr().toString(),S=Jr(ja().protocol),v=p||S.publish,C={id:b,method:v,params:qr(fp(qr({},l),{ttl:y,prompt:m,tag:f,attestation:u}),h)},R=`Failed to publish custom payload, please try again. id:${b} tag:${f}`;try{ht((r=C.params)==null?void 0:r.prompt)&&((i=C.params)==null||delete i.prompt),ht((o=C.params)==null?void 0:o.tag)&&((a=C.params)==null||delete a.tag);const k=new Promise(async L=>{const F=({id:B})=>{var W;((W=C.id)==null?void 0:W.toString())===B.toString()&&(this.removeRequestFromQueue(B),this.relayer.events.removeListener(nt.publish,F),L())};this.relayer.events.on(nt.publish,F);const x=Hs(new Promise((B,W)=>{this.rpcPublish(C,d).then(B).catch(O=>{this.logger.warn(O,O==null?void 0:O.message),W(O)})}),this.initialPublishTimeout,`Failed initial custom payload publish, retrying.... method:${v} id:${b} tag:${f}`);try{await x,this.events.removeListener(nt.publish,F)}catch(B){this.queue.set(b,{request:C,opts:d,attempt:1}),this.logger.warn(B,B==null?void 0:B.message)}});this.logger.trace({type:"method",method:"publish",params:{id:b,payload:l,opts:d}}),await Hs(k,this.publishTimeout,R)}catch(k){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(k),(c=d==null?void 0:d.internal)!=null&&c.throwOnFailedPublish)throw k}finally{this.queue.delete(b)}}),hs(this,"on",(n,r)=>{this.events.on(n,r)}),hs(this,"once",(n,r)=>{this.events.once(n,r)}),hs(this,"off",(n,r)=>{this.events.off(n,r)}),hs(this,"removeListener",(n,r)=>{this.events.removeListener(n,r)}),this.relayer=e,this.logger=Xt(s,this.name),this.registerEventListeners()}get context(){return Jt(this.logger)}async rpcPublish(e,s){this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:e});const n=await this.relayer.request(e);return this.relayer.events.emit(nt.publish,qr(qr({},e),s)),this.logger.debug("Successfully Published Payload"),n}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,s)=>{var n;const r=e.attempt+1;this.queue.set(s,fp(qr({},e),{attempt:r})),this.logger.warn({},`Publisher: queue->publishing: ${e.request.id}, tag: ${(n=e.request.params)==null?void 0:n.tag}, attempt: ${r}`),await this.rpcPublish(e.request,e.opts),this.logger.warn({},`Publisher: queue->published: ${e.request.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(wi.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(nt.connection_stalled);return}this.checkQueue()}),this.relayer.on(nt.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var WT=Object.defineProperty,HT=(t,e,s)=>e in t?WT(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Wr=(t,e,s)=>HT(t,typeof e!="symbol"?e+"":e,s);class VT{constructor(){Wr(this,"map",new Map),Wr(this,"set",(e,s)=>{const n=this.get(e);this.exists(e,s)||this.map.set(e,[...n,s])}),Wr(this,"get",e=>this.map.get(e)||[]),Wr(this,"exists",(e,s)=>this.get(e).includes(s)),Wr(this,"delete",(e,s)=>{if(typeof s>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const n=this.get(e);if(!this.exists(e,s))return;const r=n.filter(i=>i!==s);if(!r.length){this.map.delete(e);return}this.map.set(e,r)}),Wr(this,"clear",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var zT=Object.defineProperty,KT=Object.defineProperties,GT=Object.getOwnPropertyDescriptors,gp=Object.getOwnPropertySymbols,YT=Object.prototype.hasOwnProperty,ZT=Object.prototype.propertyIsEnumerable,td=(t,e,s)=>e in t?zT(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ti=(t,e)=>{for(var s in e||(e={}))YT.call(e,s)&&td(t,s,e[s]);if(gp)for(var s of gp(e))ZT.call(e,s)&&td(t,s,e[s]);return t},Gc=(t,e)=>KT(t,GT(e)),We=(t,e,s)=>td(t,typeof e!="symbol"?e+"":e,s);class JT extends bv{constructor(e,s){super(e,s),this.relayer=e,this.logger=s,We(this,"subscriptions",new Map),We(this,"topicMap",new VT),We(this,"events",new Pr.EventEmitter),We(this,"name",DN),We(this,"version",LN),We(this,"pending",new Map),We(this,"cached",[]),We(this,"initialized",!1),We(this,"storagePrefix",Js),We(this,"subscribeTimeout",Y.toMiliseconds(Y.ONE_MINUTE)),We(this,"initialSubscribeTimeout",Y.toMiliseconds(Y.ONE_SECOND*15)),We(this,"clientId"),We(this,"batchSubscribeTopicsLimit",500),We(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),We(this,"subscribe",async(n,r)=>{var i;this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:n,opts:r}});try{const o=ja(r),a={topic:n,relay:o,transportType:r==null?void 0:r.transportType};(i=r==null?void 0:r.internal)!=null&&i.skipSubscribe||this.pending.set(n,a);const c=await this.rpcSubscribe(n,o,r);return typeof c=="string"&&(this.onSubscribe(c,a),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:n,opts:r}})),c}catch(o){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(o),o}}),We(this,"unsubscribe",async(n,r)=>{this.isInitialized(),typeof(r==null?void 0:r.id)<"u"?await this.unsubscribeById(n,r.id,r):await this.unsubscribeByTopic(n,r)}),We(this,"isSubscribed",n=>new Promise(r=>{r(this.topicMap.topics.includes(n))})),We(this,"isKnownTopic",n=>new Promise(r=>{r(this.topicMap.topics.includes(n)||this.pending.has(n)||this.cached.some(i=>i.topic===n))})),We(this,"on",(n,r)=>{this.events.on(n,r)}),We(this,"once",(n,r)=>{this.events.once(n,r)}),We(this,"off",(n,r)=>{this.events.off(n,r)}),We(this,"removeListener",(n,r)=>{this.events.removeListener(n,r)}),We(this,"start",async()=>{await this.onConnect()}),We(this,"stop",async()=>{await this.onDisconnect()}),We(this,"restart",async()=>{await this.restore(),await this.onRestart()}),We(this,"checkPending",async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const n=[];this.pending.forEach(r=>{n.push(r)}),await this.batchSubscribe(n)}),We(this,"registerEventListeners",()=>{this.relayer.core.heartbeat.on(wi.pulse,async()=>{await this.checkPending()}),this.events.on(ss.created,async n=>{const r=ss.created;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:n}),await this.persist()}),this.events.on(ss.deleted,async n=>{const r=ss.deleted;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:n}),await this.persist()})}),this.relayer=e,this.logger=Xt(s,this.name),this.clientId=""}get context(){return Jt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}get hasAnyTopics(){return this.topicMap.topics.length>0||this.pending.size>0||this.cached.length>0||this.subscriptions.size>0}hasSubscription(e,s){let n=!1;try{n=this.getSubscription(e).topic===s}catch{}return n}reset(){this.cached=[],this.initialized=!0}onDisable(){this.values.length>0&&(this.cached=this.values),this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,s){const n=this.topicMap.get(e);await Promise.all(n.map(async r=>await this.unsubscribeById(e,r,s)))}async unsubscribeById(e,s,n){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:s,opts:n}});try{const r=ja(n);await this.restartToComplete({topic:e,id:s,relay:r}),await this.rpcUnsubscribe(e,s,r);const i=Ye("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,s,i),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:s,opts:n}})}catch(r){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(r),r}}async rpcSubscribe(e,s,n){var r,i;const o=await this.getSubscriptionId(e);if((r=n==null?void 0:n.internal)!=null&&r.skipSubscribe)return o;(!n||(n==null?void 0:n.transportType)===ze.relay)&&await this.restartToComplete({topic:e,id:e,relay:s});const a={method:Jr(s.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:a});const c=(i=n==null?void 0:n.internal)==null?void 0:i.throwOnFailedPublish;try{if((n==null?void 0:n.transportType)===ze.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(a).catch(u=>this.logger.warn(u))},Y.toMiliseconds(Y.ONE_SECOND)),o;const l=new Promise(async u=>{const h=p=>{p.topic===e&&(this.events.removeListener(ss.created,h),u(p.id))};this.events.on(ss.created,h);try{const p=await Hs(new Promise((m,f)=>{this.relayer.request(a).catch(y=>{this.logger.warn(y,y==null?void 0:y.message),f(y)}).then(m)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(ss.created,h),u(p)}catch{}}),d=await Hs(l,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!d&&c)throw new Error(`Subscribing to ${e} failed, please try again`);return d?o:null}catch(l){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(nt.connection_stalled),c)throw l}return null}async rpcBatchSubscribe(e){if(!e.length)return;const s=e[0].relay,n={method:Jr(s.protocol).batchSubscribe,params:{topics:e.map(r=>r.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});try{await await Hs(new Promise(r=>{this.relayer.request(n).catch(i=>this.logger.warn(i)).then(r)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(nt.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const s=e[0].relay,n={method:Jr(s.protocol).batchFetchMessages,params:{topics:e.map(i=>i.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});let r;try{r=await await Hs(new Promise((i,o)=>{this.relayer.request(n).catch(a=>{this.logger.warn(a),o(a)}).then(i)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(nt.connection_stalled)}return r}rpcUnsubscribe(e,s,n){const r={method:Jr(n.protocol).unsubscribe,params:{topic:e,id:s}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:r}),this.relayer.request(r)}onSubscribe(e,s){this.setSubscription(e,Gc(Ti({},s),{id:e})),this.pending.delete(s.topic)}onBatchSubscribe(e){e.length&&e.forEach(s=>{this.setSubscription(s.id,Ti({},s)),this.pending.delete(s.topic)})}async onUnsubscribe(e,s,n){this.events.removeAllListeners(s),this.hasSubscription(s,e)&&this.deleteSubscription(s,n),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,s){this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:s}),this.addSubscription(e,s)}addSubscription(e,s){this.subscriptions.set(e,Ti({},s)),this.topicMap.set(s.topic,e),this.events.emit(ss.created,s)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const s=this.subscriptions.get(e);if(!s){const{message:n}=G("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(n)}return s}deleteSubscription(e,s){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:s});const n=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(n.topic,e),this.events.emit(ss.deleted,Gc(Ti({},n),{reason:s}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(ss.sync)}async onRestart(){if(this.cached.length){const e=[...this.cached],s=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let n=0;n<s;n++){const r=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(r)}}this.events.emit(ss.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size&&!e.every(s=>{var n;return s.topic===((n=this.subscriptions.get(s.id))==null?void 0:n.topic)})){const{message:s}=G("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async s=>Gc(Ti({},s),{id:await this.getSubscriptionId(s.topic)})))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);const s=await this.rpcBatchFetchMessages(e);s&&s.messages&&(await C0(Y.toMiliseconds(Y.ONE_SECOND)),await this.relayer.handleBatchMessageEvents(s.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(e){!this.relayer.connected&&!this.relayer.connecting&&(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||(this.clientId=await this.relayer.core.crypto.getClientId()),this.clientId}async getSubscriptionId(e){return ys(e+await this.getClientId())}}var XT=Object.defineProperty,mp=Object.getOwnPropertySymbols,QT=Object.prototype.hasOwnProperty,eR=Object.prototype.propertyIsEnumerable,sd=(t,e,s)=>e in t?XT(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,yp=(t,e)=>{for(var s in e||(e={}))QT.call(e,s)&&sd(t,s,e[s]);if(mp)for(var s of mp(e))eR.call(e,s)&&sd(t,s,e[s]);return t},$e=(t,e,s)=>sd(t,typeof e!="symbol"?e+"":e,s);class tR extends wv{constructor(e){var s;super(e),$e(this,"protocol","wc"),$e(this,"version",2),$e(this,"core"),$e(this,"logger"),$e(this,"events",new Pr.EventEmitter),$e(this,"provider"),$e(this,"messages"),$e(this,"subscriber"),$e(this,"publisher"),$e(this,"name",PN),$e(this,"transportExplicitlyClosed",!1),$e(this,"initialized",!1),$e(this,"connectionAttemptInProgress",!1),$e(this,"relayUrl"),$e(this,"projectId"),$e(this,"packageName"),$e(this,"bundleId"),$e(this,"hasExperiencedNetworkDisruption",!1),$e(this,"pingTimeout"),$e(this,"heartBeatTimeout",Y.toMiliseconds(Y.THIRTY_SECONDS+Y.FIVE_SECONDS)),$e(this,"reconnectTimeout"),$e(this,"connectPromise"),$e(this,"reconnectInProgress",!1),$e(this,"requestsInFlight",[]),$e(this,"connectTimeout",Y.toMiliseconds(Y.ONE_SECOND*15)),$e(this,"request",async n=>{var r,i;this.logger.debug("Publishing Request Payload");const o=n.id||hr().toString();await this.toEstablishConnection();try{this.logger.trace({id:o,method:n.method,topic:(r=n.params)==null?void 0:r.topic},"relayer.request - publishing...");const a=`${o}:${((i=n.params)==null?void 0:i.tag)||""}`;this.requestsInFlight.push(a);const c=await this.provider.request(n);return this.requestsInFlight=this.requestsInFlight.filter(l=>l!==a),c}catch(a){throw this.logger.debug(`Failed to Publish Request: ${o}`),a}}),$e(this,"resetPingTimeout",()=>{Ua()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var n,r,i,o;try{this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),(o=(i=(r=(n=this.provider)==null?void 0:n.connection)==null?void 0:r.socket)==null?void 0:i.terminate)==null||o.call(i)}catch(a){this.logger.warn(a,a==null?void 0:a.message)}},this.heartBeatTimeout))}),$e(this,"onPayloadHandler",n=>{this.onProviderPayload(n),this.resetPingTimeout()}),$e(this,"onConnectHandler",()=>{this.logger.warn({},"Relayer connected 🛜"),this.startPingTimeout(),this.events.emit(nt.connect)}),$e(this,"onDisconnectHandler",()=>{this.logger.warn({},"Relayer disconnected 🛑"),this.requestsInFlight=[],this.onProviderDisconnect()}),$e(this,"onProviderErrorHandler",n=>{this.logger.fatal(`Fatal socket error: ${n.message}`),this.events.emit(nt.error,n),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()}),$e(this,"registerProviderListeners",()=>{this.provider.on(us.payload,this.onPayloadHandler),this.provider.on(us.connect,this.onConnectHandler),this.provider.on(us.disconnect,this.onDisconnectHandler),this.provider.on(us.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=Fd({logger:(s=e.logger)!=null?s:ON,name:this.name}),this.messages=new DT(this.logger,e.core),this.subscriber=new JT(this,this.logger),this.publisher=new qT(this,this.logger),this.projectId=e==null?void 0:e.projectId,this.relayUrl=(e==null?void 0:e.relayUrl)||Nm,i0()?this.packageName=uh():o0()&&(this.bundleId=uh()),this.provider={}}async init(){this.logger.trace("Initialized"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.transportOpen().catch(e=>this.logger.warn(e,e==null?void 0:e.message))}get context(){return Jt(this.logger)}get connected(){var e,s,n;return((n=(s=(e=this.provider)==null?void 0:e.connection)==null?void 0:s.socket)==null?void 0:n.readyState)===1||!1}get connecting(){var e,s,n;return((n=(s=(e=this.provider)==null?void 0:e.connection)==null?void 0:s.socket)==null?void 0:n.readyState)===0||this.connectPromise!==void 0||!1}async publish(e,s,n){this.isInitialized(),await this.publisher.publish(e,s,n),await this.recordMessageEvent({topic:e,message:s,publishedAt:Date.now(),transportType:ze.relay},pa.outbound)}async publishCustom(e){this.isInitialized(),await this.publisher.publishCustom(e)}async subscribe(e,s){var n,r,i;this.isInitialized(),(!(s!=null&&s.transportType)||(s==null?void 0:s.transportType)==="relay")&&await this.toEstablishConnection();const o=typeof((n=s==null?void 0:s.internal)==null?void 0:n.throwOnFailedPublish)>"u"?!0:(r=s==null?void 0:s.internal)==null?void 0:r.throwOnFailedPublish;let a=((i=this.subscriber.topicMap.get(e))==null?void 0:i[0])||"",c;const l=d=>{d.topic===e&&(this.subscriber.off(ss.created,l),c())};return await Promise.all([new Promise(d=>{c=d,this.subscriber.on(ss.created,l)}),new Promise(async(d,u)=>{a=await this.subscriber.subscribe(e,yp({internal:{throwOnFailedPublish:o}},s)).catch(h=>{o&&u(h)})||a,d()})]),a}async unsubscribe(e,s){this.isInitialized(),await this.subscriber.unsubscribe(e,s)}on(e,s){this.events.on(e,s)}once(e,s){this.events.once(e,s)}off(e,s){this.events.off(e,s)}removeListener(e,s){this.events.removeListener(e,s)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await Hs(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.info("Starting WS connection skipped because the client has no topics to work with.");return}if(this.connectPromise?(this.logger.debug({},"Waiting for existing connection attempt to resolve..."),await this.connectPromise,this.logger.debug({},"Existing connection attempt resolved")):(this.connectPromise=new Promise(async(s,n)=>{await this.connect(e).then(s).catch(n).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw new Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},"Restarting transport..."),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await np())throw new Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if((e==null?void 0:e.length)===0){this.logger.trace("Batch message events is empty. Ignoring...");return}const s=e.sort((n,r)=>n.publishedAt-r.publishedAt);this.logger.debug(`Batch of ${s.length} message events sorted`);for(const n of s)try{await this.onMessageEvent(n)}catch(r){this.logger.warn(r,"Error while processing batch message event: "+(r==null?void 0:r.message))}this.logger.trace(`Batch of ${s.length} message events processed`)}async onLinkMessageEvent(e,s){const{topic:n}=e;if(!s.sessionExists){const r=st(Y.FIVE_MINUTES),i={topic:n,expiry:r,relay:{protocol:"irn"},active:!1};await this.core.pairing.pairings.set(n,i)}this.events.emit(nt.message,e),await this.recordMessageEvent(e,pa.inbound)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let s=1;for(;s<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${s}...`),await this.createProvider(),await new Promise(async(n,r)=>{const i=()=>{r(new Error("Connection interrupted while trying to connect"))};this.provider.once(us.disconnect,i),await Hs(new Promise((o,a)=>{this.provider.connect().then(o).catch(a)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(o=>{r(o)}).finally(()=>{this.provider.off(us.disconnect,i),clearTimeout(this.reconnectTimeout)}),await new Promise(async(o,a)=>{const c=()=>{r(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(us.disconnect,c),await this.subscriber.start().then(o).catch(a).finally(()=>{this.provider.off(us.disconnect,c)})}),this.hasExperiencedNetworkDisruption=!1,n()})}catch(n){await this.subscriber.stop();const r=n;this.logger.warn({},r.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${s}`);break}await new Promise(n=>setTimeout(n,Y.toMiliseconds(s*1))),s++}}startPingTimeout(){var e,s,n,r,i;if(Ua())try{(s=(e=this.provider)==null?void 0:e.connection)!=null&&s.socket&&((i=(r=(n=this.provider)==null?void 0:n.connection)==null?void 0:r.socket)==null||i.on("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o,o==null?void 0:o.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new fd(new Sy(u0({sdkVersion:Zl,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e,s){const{topic:n,message:r}=e;await this.messages.set(n,r,s)}async shouldIgnoreMessageEvent(e){const{topic:s,message:n}=e;if(!n||n.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${n}`),!0;if(!await this.subscriber.isKnownTopic(s))return this.logger.warn(`Ignoring message for unknown topic ${s}`),!0;const r=this.messages.has(s,n);return r&&this.logger.warn(`Ignoring duplicate message: ${n}`),r}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),gd(e)){if(!e.method.endsWith(xN))return;const s=e.params,{topic:n,message:r,publishedAt:i,attestation:o}=s.data,a={topic:n,message:r,publishedAt:i,transportType:ze.relay,attestation:o};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(yp({type:"event",event:s.id},a)),this.events.emit(s.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else md(e)&&this.events.emit(nt.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,pa.inbound),this.events.emit(nt.message,e))}async acknowledgePayload(e){const s=Gi(e.id,!0);await this.provider.connection.send(s)}unregisterProviderListeners(){this.provider.off(us.payload,this.onPayloadHandler),this.provider.off(us.connect,this.onConnectHandler),this.provider.off(us.disconnect,this.onDisconnectHandler),this.provider.off(us.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await np();aN(async s=>{e!==s&&(e=s,s?await this.transportOpen().catch(n=>this.logger.error(n,n==null?void 0:n.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))}),this.core.heartbeat.on(wi.pulse,async()=>{if(!this.transportExplicitlyClosed&&!this.connected&&dN())try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(s){this.logger.warn(s,s==null?void 0:s.message)}})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(nt.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e==null?void 0:e.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},Y.toMiliseconds(kN)))))}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectPromise){await this.connectPromise;return}await this.connect()}}}function sR(t,e){return t===e||Number.isNaN(t)&&Number.isNaN(e)}function wp(t){return Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e))}function Ep(t){return t==null?t===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const nR="[object RegExp]",rR="[object String]",iR="[object Number]",oR="[object Boolean]",bp="[object Arguments]",aR="[object Symbol]",cR="[object Date]",lR="[object Map]",dR="[object Set]",uR="[object Array]",hR="[object Function]",pR="[object ArrayBuffer]",Yc="[object Object]",fR="[object Error]",gR="[object DataView]",mR="[object Uint8Array]",yR="[object Uint8ClampedArray]",wR="[object Uint16Array]",ER="[object Uint32Array]",bR="[object BigUint64Array]",CR="[object Int8Array]",vR="[object Int16Array]",_R="[object Int32Array]",AR="[object BigInt64Array]",SR="[object Float32Array]",IR="[object Float64Array]";function NR(){}function Cp(t){if(!t||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);return e===null||e===Object.prototype||Object.getPrototypeOf(e)===null?Object.prototype.toString.call(t)==="[object Object]":!1}function TR(t,e,s){return Di(t,e,void 0,void 0,void 0,void 0,s)}function Di(t,e,s,n,r,i,o){const a=o(t,e,s,n,r,i);if(a!==void 0)return a;if(typeof t==typeof e)switch(typeof t){case"bigint":case"string":case"boolean":case"symbol":case"undefined":return t===e;case"number":return t===e||Object.is(t,e);case"function":return t===e;case"object":return Wi(t,e,i,o)}return Wi(t,e,i,o)}function Wi(t,e,s,n){if(Object.is(t,e))return!0;let r=Ep(t),i=Ep(e);if(r===bp&&(r=Yc),i===bp&&(i=Yc),r!==i)return!1;switch(r){case rR:return t.toString()===e.toString();case iR:{const c=t.valueOf(),l=e.valueOf();return sR(c,l)}case oR:case cR:case aR:return Object.is(t.valueOf(),e.valueOf());case nR:return t.source===e.source&&t.flags===e.flags;case hR:return t===e}s=s??new Map;const o=s.get(t),a=s.get(e);if(o!=null&&a!=null)return o===e;s.set(t,e),s.set(e,t);try{switch(r){case lR:{if(t.size!==e.size)return!1;for(const[c,l]of t.entries())if(!e.has(c)||!Di(l,e.get(c),c,t,e,s,n))return!1;return!0}case dR:{if(t.size!==e.size)return!1;const c=Array.from(t.values()),l=Array.from(e.values());for(let d=0;d<c.length;d++){const u=c[d],h=l.findIndex(p=>Di(u,p,void 0,t,e,s,n));if(h===-1)return!1;l.splice(h,1)}return!0}case uR:case mR:case yR:case wR:case ER:case bR:case CR:case vR:case _R:case AR:case SR:case IR:{if(typeof ke<"u"&&ke.isBuffer(t)!==ke.isBuffer(e)||t.length!==e.length)return!1;for(let c=0;c<t.length;c++)if(!Di(t[c],e[c],c,t,e,s,n))return!1;return!0}case pR:return t.byteLength!==e.byteLength?!1:Wi(new Uint8Array(t),new Uint8Array(e),s,n);case gR:return t.byteLength!==e.byteLength||t.byteOffset!==e.byteOffset?!1:Wi(new Uint8Array(t),new Uint8Array(e),s,n);case fR:return t.name===e.name&&t.message===e.message;case Yc:{if(!(Wi(t.constructor,e.constructor,s,n)||Cp(t)&&Cp(e)))return!1;const c=[...Object.keys(t),...wp(t)],l=[...Object.keys(e),...wp(e)];if(c.length!==l.length)return!1;for(let d=0;d<c.length;d++){const u=c[d],h=t[u];if(!Object.hasOwn(e,u))return!1;const p=e[u];if(!Di(h,p,u,t,e,s,n))return!1}return!0}default:return!1}}finally{s.delete(t),s.delete(e)}}function RR(t,e){return TR(t,e,NR)}var OR=Object.defineProperty,vp=Object.getOwnPropertySymbols,PR=Object.prototype.hasOwnProperty,xR=Object.prototype.propertyIsEnumerable,nd=(t,e,s)=>e in t?OR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,_p=(t,e)=>{for(var s in e||(e={}))PR.call(e,s)&&nd(t,s,e[s]);if(vp)for(var s of vp(e))xR.call(e,s)&&nd(t,s,e[s]);return t},qt=(t,e,s)=>nd(t,typeof e!="symbol"?e+"":e,s);class Dr extends Ev{constructor(e,s,n,r=Js,i=void 0){super(e,s,n,r),this.core=e,this.logger=s,this.name=n,qt(this,"map",new Map),qt(this,"version",UN),qt(this,"cached",[]),qt(this,"initialized",!1),qt(this,"getKey"),qt(this,"storagePrefix",Js),qt(this,"recentlyDeleted",[]),qt(this,"recentlyDeletedLimit",200),qt(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!ht(o)?this.map.set(this.getKey(o),o):MI(o)?this.map.set(o.id,o):BI(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)}),qt(this,"set",async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:o,value:a}),this.map.set(o,a),await this.persist())}),qt(this,"get",o=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:o}),this.getData(o))),qt(this,"getAll",o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(c=>RR(a[c],o[c]))):this.values)),qt(this,"update",async(o,a)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:o,update:a});const c=_p(_p({},this.getData(o)),a);this.map.set(o,c),await this.persist()}),qt(this,"delete",async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())}),this.logger=Xt(s,this.name),this.storagePrefix=r,this.getKey=i}get context(){return Jt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const s=this.map.get(e);if(!s){if(this.recentlyDeleted.includes(e)){const{message:r}=G("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(r),new Error(r)}const{message:n}=G("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(n),new Error(n)}return s}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:s}=G("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}}var kR=Object.defineProperty,UR=(t,e,s)=>e in t?kR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Te=(t,e,s)=>UR(t,typeof e!="symbol"?e+"":e,s);class $R{constructor(e,s){this.core=e,this.logger=s,Te(this,"name",MN),Te(this,"version",BN),Te(this,"events",new yd),Te(this,"pairings"),Te(this,"initialized",!1),Te(this,"storagePrefix",Js),Te(this,"ignoredPayloadTypes",[yn]),Te(this,"registeredMethods",[]),Te(this,"init",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))}),Te(this,"register",({methods:n})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...n])]}),Te(this,"create",async n=>{this.isInitialized();const r=Kl(),i=await this.core.crypto.setSymKey(r),o=st(Y.FIVE_MINUTES),a={protocol:Im},c={topic:i,expiry:o,relay:a,active:!1,methods:n==null?void 0:n.methods},l=Gh({protocol:this.core.protocol,version:this.core.version,topic:i,symKey:r,relay:a,expiryTimestamp:o,methods:n==null?void 0:n.methods});return this.events.emit(lr.create,c),this.core.expirer.set(i,o),await this.pairings.set(i,c),await this.core.relayer.subscribe(i,{transportType:n==null?void 0:n.transportType,internal:n==null?void 0:n.internal}),{topic:i,uri:l}}),Te(this,"pair",async n=>{this.isInitialized();const r=this.core.eventClient.createEvent({properties:{topic:n==null?void 0:n.uri,trace:[Bs.pairing_started]}});this.isValidPair(n,r);const{topic:i,symKey:o,relay:a,expiryTimestamp:c,methods:l}=Kh(n.uri);r.props.properties.topic=i,r.addTrace(Bs.pairing_uri_validation_success),r.addTrace(Bs.pairing_uri_not_expired);let d;if(this.pairings.keys.includes(i)){if(d=this.pairings.get(i),r.addTrace(Bs.existing_pairing),d.active)throw r.setError(rn.active_pairing_already_exists),new Error(`Pairing already exists: ${i}. Please try again with a new connection URI.`);r.addTrace(Bs.pairing_not_expired)}const u=c||st(Y.FIVE_MINUTES),h={topic:i,relay:a,expiry:u,active:!1,methods:l};this.core.expirer.set(i,u),await this.pairings.set(i,h),r.addTrace(Bs.store_new_pairing),n.activatePairing&&await this.activate({topic:i}),this.events.emit(lr.create,h),r.addTrace(Bs.emit_inactive_pairing),this.core.crypto.keychain.has(i)||await this.core.crypto.setSymKey(o,i),r.addTrace(Bs.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{r.setError(rn.no_internet_connection)}try{await this.core.relayer.subscribe(i,{relay:a})}catch(p){throw r.setError(rn.subscribe_pairing_topic_failure),p}return r.addTrace(Bs.subscribe_pairing_topic_success),h}),Te(this,"activate",async({topic:n})=>{this.isInitialized();const r=st(Y.FIVE_MINUTES);this.core.expirer.set(n,r),await this.pairings.update(n,{active:!0,expiry:r})}),Te(this,"ping",async n=>{this.isInitialized(),await this.isValidPing(n),this.logger.warn("ping() is deprecated and will be removed in the next major release.");const{topic:r}=n;if(this.pairings.keys.includes(r)){const i=await this.sendRequest(r,"wc_pairingPing",{}),{done:o,resolve:a,reject:c}=cr();this.events.once(je("pairing_ping",i),({error:l})=>{l?c(l):a()}),await o()}}),Te(this,"updateExpiry",async({topic:n,expiry:r})=>{this.isInitialized(),await this.pairings.update(n,{expiry:r})}),Te(this,"updateMetadata",async({topic:n,metadata:r})=>{this.isInitialized(),await this.pairings.update(n,{peerMetadata:r})}),Te(this,"getPairings",()=>(this.isInitialized(),this.pairings.values)),Te(this,"disconnect",async n=>{this.isInitialized(),await this.isValidDisconnect(n);const{topic:r}=n;this.pairings.keys.includes(r)&&(await this.sendRequest(r,"wc_pairingDelete",Ye("USER_DISCONNECTED")),await this.deletePairing(r))}),Te(this,"formatUriFromPairing",n=>{this.isInitialized();const{topic:r,relay:i,expiry:o,methods:a}=n,c=this.core.crypto.keychain.get(r);return Gh({protocol:this.core.protocol,version:this.core.version,topic:r,symKey:c,relay:i,expiryTimestamp:o,methods:a})}),Te(this,"sendRequest",async(n,r,i)=>{const o=Fs(r,i),a=await this.core.crypto.encode(n,o),c=Ii[r].req;return this.core.history.set(n,o),this.core.relayer.publish(n,a,c),o.id}),Te(this,"sendResult",async(n,r,i)=>{const o=Gi(n,i),a=await this.core.crypto.encode(r,o),c=(await this.core.history.get(r,n)).request.method,l=Ii[c].res;await this.core.relayer.publish(r,a,l),await this.core.history.resolve(o)}),Te(this,"sendError",async(n,r,i)=>{const o=ff(n,i),a=await this.core.crypto.encode(r,o),c=(await this.core.history.get(r,n)).request.method,l=Ii[c]?Ii[c].res:Ii.unregistered_method.res;await this.core.relayer.publish(r,a,l),await this.core.history.resolve(o)}),Te(this,"deletePairing",async(n,r)=>{await this.core.relayer.unsubscribe(n),await Promise.all([this.pairings.delete(n,Ye("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(n),r?Promise.resolve():this.core.expirer.del(n)])}),Te(this,"cleanup",async()=>{const n=this.pairings.getAll().filter(r=>qs(r.expiry));await Promise.all(n.map(r=>this.deletePairing(r.topic)))}),Te(this,"onRelayEventRequest",async n=>{const{topic:r,payload:i}=n;switch(i.method){case"wc_pairingPing":return await this.onPairingPingRequest(r,i);case"wc_pairingDelete":return await this.onPairingDeleteRequest(r,i);default:return await this.onUnknownRpcMethodRequest(r,i)}}),Te(this,"onRelayEventResponse",async n=>{const{topic:r,payload:i}=n,o=(await this.core.history.get(r,i.id)).request.method;switch(o){case"wc_pairingPing":return this.onPairingPingResponse(r,i);default:return this.onUnknownRpcMethodResponse(o)}}),Te(this,"onPairingPingRequest",async(n,r)=>{const{id:i}=r;try{this.isValidPing({topic:n}),await this.sendResult(i,n,!0),this.events.emit(lr.ping,{id:i,topic:n})}catch(o){await this.sendError(i,n,o),this.logger.error(o)}}),Te(this,"onPairingPingResponse",(n,r)=>{const{id:i}=r;setTimeout(()=>{sn(r)?this.events.emit(je("pairing_ping",i),{}):js(r)&&this.events.emit(je("pairing_ping",i),{error:r.error})},500)}),Te(this,"onPairingDeleteRequest",async(n,r)=>{const{id:i}=r;try{this.isValidDisconnect({topic:n}),await this.deletePairing(n),this.events.emit(lr.delete,{id:i,topic:n})}catch(o){await this.sendError(i,n,o),this.logger.error(o)}}),Te(this,"onUnknownRpcMethodRequest",async(n,r)=>{const{id:i,method:o}=r;try{if(this.registeredMethods.includes(o))return;const a=Ye("WC_METHOD_UNSUPPORTED",o);await this.sendError(i,n,a),this.logger.error(a)}catch(a){await this.sendError(i,n,a),this.logger.error(a)}}),Te(this,"onUnknownRpcMethodResponse",n=>{this.registeredMethods.includes(n)||this.logger.error(Ye("WC_METHOD_UNSUPPORTED",n))}),Te(this,"isValidPair",(n,r)=>{var i;if(!Wt(n)){const{message:a}=G("MISSING_OR_INVALID",`pair() params: ${n}`);throw r.setError(rn.malformed_pairing_uri),new Error(a)}if(!LI(n.uri)){const{message:a}=G("MISSING_OR_INVALID",`pair() uri: ${n.uri}`);throw r.setError(rn.malformed_pairing_uri),new Error(a)}const o=Kh(n==null?void 0:n.uri);if(!((i=o==null?void 0:o.relay)!=null&&i.protocol)){const{message:a}=G("MISSING_OR_INVALID","pair() uri#relay-protocol");throw r.setError(rn.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=G("MISSING_OR_INVALID","pair() uri#symKey");throw r.setError(rn.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&Y.toMiliseconds(o==null?void 0:o.expiryTimestamp)<Date.now()){r.setError(rn.pairing_expired);const{message:a}=G("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw new Error(a)}}),Te(this,"isValidPing",async n=>{if(!Wt(n)){const{message:i}=G("MISSING_OR_INVALID",`ping() params: ${n}`);throw new Error(i)}const{topic:r}=n;await this.isValidPairingTopic(r)}),Te(this,"isValidDisconnect",async n=>{if(!Wt(n)){const{message:i}=G("MISSING_OR_INVALID",`disconnect() params: ${n}`);throw new Error(i)}const{topic:r}=n;await this.isValidPairingTopic(r)}),Te(this,"isValidPairingTopic",async n=>{if(!rt(n,!1)){const{message:r}=G("MISSING_OR_INVALID",`pairing topic should be a string: ${n}`);throw new Error(r)}if(!this.pairings.keys.includes(n)){const{message:r}=G("NO_MATCHING_KEY",`pairing topic doesn't exist: ${n}`);throw new Error(r)}if(qs(this.pairings.get(n).expiry)){await this.deletePairing(n);const{message:r}=G("EXPIRED",`pairing topic: ${n}`);throw new Error(r)}}),this.core=e,this.logger=Xt(s,this.name),this.pairings=new Dr(this.core,this.logger,this.name,this.storagePrefix)}get context(){return Jt(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(nt.message,async e=>{const{topic:s,message:n,transportType:r}=e;if(this.pairings.keys.includes(s)&&r!==ze.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(n)))try{const i=await this.core.crypto.decode(s,n);gd(i)?(this.core.history.set(s,i),await this.onRelayEventRequest({topic:s,payload:i})):md(i)&&(await this.core.history.resolve(i),await this.onRelayEventResponse({topic:s,payload:i}),this.core.history.delete(s,i.id)),await this.core.relayer.messages.ack(s,n)}catch(i){this.logger.error(i)}})}registerExpirerEvents(){this.core.expirer.on(gs.expired,async e=>{const{topic:s}=vg(e.target);s&&this.pairings.keys.includes(s)&&(await this.deletePairing(s,!0),this.events.emit(lr.expire,{topic:s}))})}}var DR=Object.defineProperty,LR=(t,e,s)=>e in t?DR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,gt=(t,e,s)=>LR(t,typeof e!="symbol"?e+"":e,s);class MR extends gv{constructor(e,s){super(e,s),this.core=e,this.logger=s,gt(this,"records",new Map),gt(this,"events",new Pr.EventEmitter),gt(this,"name",jN),gt(this,"version",FN),gt(this,"cached",[]),gt(this,"initialized",!1),gt(this,"storagePrefix",Js),gt(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(n=>this.records.set(n.id,n)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),gt(this,"set",(n,r,i)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:n,request:r,chainId:i}),this.records.has(r.id))return;const o={id:r.id,topic:n,request:{method:r.method,params:r.params||null},chainId:i,expiry:st(Y.THIRTY_DAYS)};this.records.set(o.id,o),this.persist(),this.events.emit(_s.created,o)}),gt(this,"resolve",async n=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:n}),!this.records.has(n.id))return;const r=await this.getRecord(n.id);typeof r.response>"u"&&(r.response=js(n)?{error:n.error}:{result:n.result},this.records.set(r.id,r),this.persist(),this.events.emit(_s.updated,r))}),gt(this,"get",async(n,r)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:n,id:r}),await this.getRecord(r))),gt(this,"delete",(n,r)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:r}),this.values.forEach(i=>{if(i.topic===n){if(typeof r<"u"&&i.id!==r)return;this.records.delete(i.id),this.events.emit(_s.deleted,i)}}),this.persist()}),gt(this,"exists",async(n,r)=>(this.isInitialized(),this.records.has(r)?(await this.getRecord(r)).topic===n:!1)),gt(this,"on",(n,r)=>{this.events.on(n,r)}),gt(this,"once",(n,r)=>{this.events.once(n,r)}),gt(this,"off",(n,r)=>{this.events.off(n,r)}),gt(this,"removeListener",(n,r)=>{this.events.removeListener(n,r)}),this.logger=Xt(s,this.name)}get context(){return Jt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(s=>{if(typeof s.response<"u")return;const n={topic:s.topic,request:Fs(s.request.method,s.request.params,s.id),chainId:s.chainId};return e.push(n)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const s=this.records.get(e);if(!s){const{message:n}=G("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(n)}return s}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(_s.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:s}=G("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(_s.created,e=>{const s=_s.created;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,record:e})}),this.events.on(_s.updated,e=>{const s=_s.updated;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,record:e})}),this.events.on(_s.deleted,e=>{const s=_s.deleted;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,record:e})}),this.core.heartbeat.on(wi.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(s=>{Y.toMiliseconds(s.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${s.id}`),this.records.delete(s.id),this.events.emit(_s.deleted,s,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}}var BR=Object.defineProperty,jR=(t,e,s)=>e in t?BR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,At=(t,e,s)=>jR(t,typeof e!="symbol"?e+"":e,s);class FR extends Cv{constructor(e,s){super(e,s),this.core=e,this.logger=s,At(this,"expirations",new Map),At(this,"events",new Pr.EventEmitter),At(this,"name",qN),At(this,"version",WN),At(this,"cached",[]),At(this,"initialized",!1),At(this,"storagePrefix",Js),At(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(n=>this.expirations.set(n.target,n)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),At(this,"has",n=>{try{const r=this.formatTarget(n);return typeof this.getExpiration(r)<"u"}catch{return!1}}),At(this,"set",(n,r)=>{this.isInitialized();const i=this.formatTarget(n),o={target:i,expiry:r};this.expirations.set(i,o),this.checkExpiry(i,o),this.events.emit(gs.created,{target:i,expiration:o})}),At(this,"get",n=>{this.isInitialized();const r=this.formatTarget(n);return this.getExpiration(r)}),At(this,"del",n=>{if(this.isInitialized(),this.has(n)){const r=this.formatTarget(n),i=this.getExpiration(r);this.expirations.delete(r),this.events.emit(gs.deleted,{target:r,expiration:i})}}),At(this,"on",(n,r)=>{this.events.on(n,r)}),At(this,"once",(n,r)=>{this.events.once(n,r)}),At(this,"off",(n,r)=>{this.events.off(n,r)}),At(this,"removeListener",(n,r)=>{this.events.removeListener(n,r)}),this.logger=Xt(s,this.name)}get context(){return Jt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e=="string")return h0(e);if(typeof e=="number")return p0(e);const{message:s}=G("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new Error(s)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(gs.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:s}=G("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const s=this.expirations.get(e);if(!s){const{message:n}=G("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(n),new Error(n)}return s}checkExpiry(e,s){const{expiry:n}=s;Y.toMiliseconds(n)-Date.now()<=0&&this.expire(e,s)}expire(e,s){this.expirations.delete(e),this.events.emit(gs.expired,{target:e,expiration:s})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,s)=>this.checkExpiry(s,e))}registerEventListeners(){this.core.heartbeat.on(wi.pulse,()=>this.checkExpirations()),this.events.on(gs.created,e=>{const s=gs.created;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:e}),this.persist()}),this.events.on(gs.expired,e=>{const s=gs.expired;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:e}),this.persist()}),this.events.on(gs.deleted,e=>{const s=gs.deleted;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}}var qR=Object.defineProperty,WR=(t,e,s)=>e in t?qR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,tt=(t,e,s)=>WR(t,typeof e!="symbol"?e+"":e,s);class HR extends vv{constructor(e,s,n){super(e,s,n),this.core=e,this.logger=s,this.store=n,tt(this,"name",HN),tt(this,"abortController"),tt(this,"isDevEnv"),tt(this,"verifyUrlV3",zN),tt(this,"storagePrefix",Js),tt(this,"version",Sm),tt(this,"publicKey"),tt(this,"fetchPromise"),tt(this,"init",async()=>{var r;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&Y.toMiliseconds((r=this.publicKey)==null?void 0:r.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))}),tt(this,"register",async r=>{if(!Ei()||this.isDevEnv)return;const i=window.location.origin,{id:o,decryptedId:a}=r,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${i}&id=${o}&decryptedId=${a}`;try{const l=ci(),d=this.startAbortTimer(Y.ONE_SECOND*5),u=await new Promise((h,p)=>{const m=()=>{window.removeEventListener("message",y),l.body.removeChild(f),p("attestation aborted")};this.abortController.signal.addEventListener("abort",m);const f=l.createElement("iframe");f.src=c,f.style.display="none",f.addEventListener("error",m,{signal:this.abortController.signal});const y=b=>{if(b.data&&typeof b.data=="string")try{const S=JSON.parse(b.data);if(S.type==="verify_attestation"){if(ul(S.attestation).payload.id!==o)return;clearInterval(d),l.body.removeChild(f),this.abortController.signal.removeEventListener("abort",m),window.removeEventListener("message",y),h(S.attestation===null?"":S.attestation)}}catch(S){this.logger.warn(S)}};l.body.appendChild(f),window.addEventListener("message",y,{signal:this.abortController.signal})});return this.logger.debug(u,"jwt attestation"),u}catch(l){this.logger.warn(l)}return""}),tt(this,"resolve",async r=>{if(this.isDevEnv)return"";const{attestationId:i,hash:o,encryptedId:a}=r;if(i===""){this.logger.debug("resolve: attestationId is empty, skipping");return}if(i){if(ul(i).payload.id!==a)return;const l=await this.isValidJwtAttestation(i);if(l){if(!l.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return l}}if(!o)return;const c=this.getVerifyUrl(r==null?void 0:r.verifyUrl);return this.fetchAttestation(o,c)}),tt(this,"fetchAttestation",async(r,i)=>{this.logger.debug(`resolving attestation: ${r} from url: ${i}`);const o=this.startAbortTimer(Y.ONE_SECOND*5),a=await fetch(`${i}/attestation/${r}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0}),tt(this,"getVerifyUrl",r=>{let i=r||qi;return KN.includes(i)||(this.logger.info(`verify url: ${i}, not included in trusted list, assigning default: ${qi}`),i=qi),i}),tt(this,"fetchPublicKey",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const r=this.startAbortTimer(Y.FIVE_SECONDS),i=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(r),await i.json()}catch(r){this.logger.warn(r)}}),tt(this,"persistPublicKey",async r=>{this.logger.debug(r,"persisting public key to local storage"),await this.store.setItem(this.storeKey,r),this.publicKey=r}),tt(this,"removePublicKey",async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),tt(this,"isValidJwtAttestation",async r=>{const i=await this.getPublicKey();try{if(i)return this.validateAttestation(r,i)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(r,o)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}}),tt(this,"getPublicKey",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),tt(this,"fetchAndPersistPublicKey",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async i=>{const o=await this.fetchPublicKey();o&&(await this.persistPublicKey(o),i(o))});const r=await this.fetchPromise;return this.fetchPromise=void 0,r}),tt(this,"validateAttestation",(r,i)=>{const o=lI(r,i.publicKey),a={hasExpired:Y.toMiliseconds(o.exp)<Date.now(),payload:o};if(a.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),new Error("JWT attestation expired");return{origin:a.payload.origin,isScam:a.payload.isScam,isVerified:a.payload.isVerified}}),this.logger=Xt(s,this.name),this.abortController=new AbortController,this.isDevEnv=Od(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return Jt(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),Y.toMiliseconds(e))}}var VR=Object.defineProperty,zR=(t,e,s)=>e in t?VR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ap=(t,e,s)=>zR(t,typeof e!="symbol"?e+"":e,s);class KR extends _v{constructor(e,s){super(e,s),this.projectId=e,this.logger=s,Ap(this,"context",GN),Ap(this,"registerDeviceToken",async n=>{const{clientId:r,token:i,notificationType:o,enableEncrypted:a=!1}=n,c=`${YN}/${this.projectId}/clients`;await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:r,type:o,token:i,always_raw:a})})}),this.logger=Xt(s,this.context)}}var GR=Object.defineProperty,Sp=Object.getOwnPropertySymbols,YR=Object.prototype.hasOwnProperty,ZR=Object.prototype.propertyIsEnumerable,rd=(t,e,s)=>e in t?GR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ri=(t,e)=>{for(var s in e||(e={}))YR.call(e,s)&&rd(t,s,e[s]);if(Sp)for(var s of Sp(e))ZR.call(e,s)&&rd(t,s,e[s]);return t},dt=(t,e,s)=>rd(t,typeof e!="symbol"?e+"":e,s);class JR extends Av{constructor(e,s,n=!0){super(e,s,n),this.core=e,this.logger=s,dt(this,"context",JN),dt(this,"storagePrefix",Js),dt(this,"storageVersion",ZN),dt(this,"events",new Map),dt(this,"shouldPersist",!1),dt(this,"init",async()=>{if(!Od())try{const r={eventId:ph(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:bg(this.core.relayer.protocol,this.core.relayer.version,Zl)}}};await this.sendEvent([r])}catch(r){this.logger.warn(r)}}),dt(this,"createEvent",r=>{const{event:i="ERROR",type:o="",properties:{topic:a,trace:c}}=r,l=ph(),d=this.core.projectId||"",u=Date.now(),h=Ri({eventId:l,timestamp:u,props:{event:i,type:o,properties:{topic:a,trace:c}},bundleId:d,domain:this.getAppDomain()},this.setMethods(l));return this.telemetryEnabled&&(this.events.set(l,h),this.shouldPersist=!0),h}),dt(this,"getEvent",r=>{const{eventId:i,topic:o}=r;if(i)return this.events.get(i);const a=Array.from(this.events.values()).find(c=>c.props.properties.topic===o);if(a)return Ri(Ri({},a),this.setMethods(a.eventId))}),dt(this,"deleteEvent",r=>{const{eventId:i}=r;this.events.delete(i),this.shouldPersist=!0}),dt(this,"setEventListeners",()=>{this.core.heartbeat.on(wi.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(r=>{Y.fromMiliseconds(Date.now())-Y.fromMiliseconds(r.timestamp)>XN&&(this.events.delete(r.eventId),this.shouldPersist=!0)})})}),dt(this,"setMethods",r=>({addTrace:i=>this.addTrace(r,i),setError:i=>this.setError(r,i)})),dt(this,"addTrace",(r,i)=>{const o=this.events.get(r);o&&(o.props.properties.trace.push(i),this.events.set(r,o),this.shouldPersist=!0)}),dt(this,"setError",(r,i)=>{const o=this.events.get(r);o&&(o.props.type=i,o.timestamp=Date.now(),this.events.set(r,o),this.shouldPersist=!0)}),dt(this,"persist",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),dt(this,"restore",async()=>{try{const r=await this.core.storage.getItem(this.storageKey)||[];if(!r.length)return;r.forEach(i=>{this.events.set(i.eventId,Ri(Ri({},i),this.setMethods(i.eventId)))})}catch(r){this.logger.warn(r)}}),dt(this,"submit",async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const r=[];for(const[i,o]of this.events)o.props.type&&r.push(o);if(r.length!==0)try{if((await this.sendEvent(r)).ok)for(const i of r)this.events.delete(i.eventId),this.shouldPersist=!0}catch(i){this.logger.warn(i)}}),dt(this,"sendEvent",async r=>{const i=this.getAppDomain()?"":"&sp=desktop";return await fetch(`${QN}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${Zl}${i}`,{method:"POST",body:JSON.stringify(r)})}),dt(this,"getAppDomain",()=>Eg().url),this.logger=Xt(s,this.context),this.telemetryEnabled=n,n?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var XR=Object.defineProperty,Ip=Object.getOwnPropertySymbols,QR=Object.prototype.hasOwnProperty,eO=Object.prototype.propertyIsEnumerable,id=(t,e,s)=>e in t?XR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Np=(t,e)=>{for(var s in e||(e={}))QR.call(e,s)&&id(t,s,e[s]);if(Ip)for(var s of Ip(e))eO.call(e,s)&&id(t,s,e[s]);return t},Ve=(t,e,s)=>id(t,typeof e!="symbol"?e+"":e,s);let tO=class jm extends uv{constructor(e){var s;super(e),Ve(this,"protocol",Am),Ve(this,"version",Sm),Ve(this,"name",Yl),Ve(this,"relayUrl"),Ve(this,"projectId"),Ve(this,"customStoragePrefix"),Ve(this,"events",new Pr.EventEmitter),Ve(this,"logger"),Ve(this,"heartbeat"),Ve(this,"relayer"),Ve(this,"crypto"),Ve(this,"storage"),Ve(this,"history"),Ve(this,"expirer"),Ve(this,"pairing"),Ve(this,"verify"),Ve(this,"echoClient"),Ve(this,"linkModeSupportedApps"),Ve(this,"eventClient"),Ve(this,"initialized",!1),Ve(this,"logChunkController"),Ve(this,"on",(a,c)=>this.events.on(a,c)),Ve(this,"once",(a,c)=>this.events.once(a,c)),Ve(this,"off",(a,c)=>this.events.off(a,c)),Ve(this,"removeListener",(a,c)=>this.events.removeListener(a,c)),Ve(this,"dispatchEnvelope",({topic:a,message:c,sessionExists:l})=>{if(!a||!c)return;const d={topic:a,message:c,publishedAt:Date.now(),transportType:ze.link_mode};this.relayer.onLinkMessageEvent(d,{sessionExists:l})});const n=this.getGlobalCore(e==null?void 0:e.customStoragePrefix);if(n)try{return this.customStoragePrefix=n.customStoragePrefix,this.logger=n.logger,this.heartbeat=n.heartbeat,this.crypto=n.crypto,this.history=n.history,this.expirer=n.expirer,this.storage=n.storage,this.relayer=n.relayer,this.pairing=n.pairing,this.verify=n.verify,this.echoClient=n.echoClient,this.linkModeSupportedApps=n.linkModeSupportedApps,this.eventClient=n.eventClient,this.initialized=n.initialized,this.logChunkController=n.logChunkController,n}catch(a){console.warn("Failed to copy global core",a)}this.projectId=e==null?void 0:e.projectId,this.relayUrl=(e==null?void 0:e.relayUrl)||Nm,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const r=vd({level:typeof(e==null?void 0:e.logger)=="string"&&e.logger?e.logger:bN.logger,name:Yl}),{logger:i,chunkLoggerController:o}=Ja({opts:r,maxSizeInBytes:e==null?void 0:e.maxLogBlobSizeInBytes,loggerOverride:e==null?void 0:e.logger});this.logChunkController=o,(s=this.logChunkController)!=null&&s.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var a,c;(a=this.logChunkController)!=null&&a.downloadLogsBlobInBrowser&&((c=this.logChunkController)==null||c.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=Xt(i,this.name),this.heartbeat=new _y,this.crypto=new TT(this,this.logger,e==null?void 0:e.keychain),this.history=new MR(this,this.logger),this.expirer=new FR(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Ay(Np(Np({},CN),e==null?void 0:e.storageOptions)),this.relayer=new tR({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new $R(this,this.logger),this.verify=new HR(this,this.logger,this.storage),this.echoClient=new KR(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new JR(this,this.logger,e==null?void 0:e.telemetryEnabled),this.setGlobalCore(this)}static async init(e){const s=new jm(e);await s.initialize();const n=await s.crypto.getClientId();return await s.storage.setItem($N,n),s}get context(){return Jt(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(ip,this.linkModeSupportedApps))}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(ip)||[],this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(e,`Core Initialization Failure at epoch ${Date.now()}`),this.logger.error(e.message),e}}getGlobalCore(e=""){try{if(this.isGlobalCoreDisabled())return;const s=`_walletConnectCore_${e}`,n=`${s}_count`;return globalThis[n]=(globalThis[n]||0)+1,globalThis[n]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[n]} times.`),globalThis[s]}catch(s){console.warn("Failed to get global WalletConnect core",s);return}}setGlobalCore(e){var s;try{if(this.isGlobalCoreDisabled())return;const n=`_walletConnectCore_${((s=e.opts)==null?void 0:s.customStoragePrefix)||""}`;globalThis[n]=e}catch(n){console.warn("Failed to set global WalletConnect core",n)}}isGlobalCoreDisabled(){try{return typeof fn<"u"&&EN.DISABLE_GLOBAL_CORE==="true"}catch{return!0}}};const sO=tO,Fm="wc",qm=2,Wm="client",qd=`${Fm}@${qm}:${Wm}:`,Zc={name:Wm,logger:"error"},Tp="WALLETCONNECT_DEEPLINK_CHOICE",nO="proposal",Rp="Proposal expired",rO="session",Hr=Y.SEVEN_DAYS,iO="engine",mt={wc_sessionPropose:{req:{ttl:Y.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1104},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1106},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:Y.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:Y.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1112},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1114},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:Y.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:Y.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1119}}},Jc={min:Y.FIVE_MINUTES,max:Y.SEVEN_DAYS},Ms={idle:"IDLE",active:"ACTIVE"},oO={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"},sui_signAndExecuteTransaction:{key:"digest"},sui_signTransaction:{key:""},hedera_signAndExecuteTransaction:{key:"transactionId"},hedera_executeTransaction:{key:"transactionId"},near_signTransaction:{key:""},near_signTransactions:{key:""},tron_signTransaction:{key:"txID"},xrpl_signTransaction:{key:""},xrpl_signTransactionFor:{key:""},algo_signTxn:{key:""},sendTransfer:{key:"txid"},stacks_stxTransfer:{key:"txId"},polkadot_signTransaction:{key:""},cosmos_signDirect:{key:""}},aO="request",cO=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],lO="wc",dO="auth",uO="authKeys",hO="pairingTopics",pO="requests",uc=`${lO}@${1.5}:${dO}:`,fa=`${uc}:PUB_KEY`;var fO=Object.defineProperty,gO=Object.defineProperties,mO=Object.getOwnPropertyDescriptors,Op=Object.getOwnPropertySymbols,yO=Object.prototype.hasOwnProperty,wO=Object.prototype.propertyIsEnumerable,od=(t,e,s)=>e in t?fO(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Le=(t,e)=>{for(var s in e||(e={}))yO.call(e,s)&&od(t,s,e[s]);if(Op)for(var s of Op(e))wO.call(e,s)&&od(t,s,e[s]);return t},yt=(t,e)=>gO(t,mO(e)),j=(t,e,s)=>od(t,typeof e!="symbol"?e+"":e,s);class EO extends Tv{constructor(e){super(e),j(this,"name",iO),j(this,"events",new yd),j(this,"initialized",!1),j(this,"requestQueue",{state:Ms.idle,queue:[]}),j(this,"sessionRequestQueue",{state:Ms.idle,queue:[]}),j(this,"emittedSessionRequests",new v0({limit:500})),j(this,"requestQueueDelay",Y.ONE_SECOND),j(this,"expectedPairingMethodMap",new Map),j(this,"recentlyDeletedMap",new Map),j(this,"recentlyDeletedLimit",200),j(this,"relayMessageCache",[]),j(this,"pendingSessions",new Map),j(this,"init",async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(mt)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Y.toMiliseconds(this.requestQueueDelay)))}),j(this,"connect",async s=>{var n;this.isInitialized(),await this.confirmOnlineStateOrThrow();const r=yt(Le({},s),{requiredNamespaces:s.requiredNamespaces||{},optionalNamespaces:s.optionalNamespaces||{}});await this.isValidConnect(r),r.optionalNamespaces=xI(r.requiredNamespaces,r.optionalNamespaces),r.requiredNamespaces={};const{pairingTopic:i,requiredNamespaces:o,optionalNamespaces:a,sessionProperties:c,scopedProperties:l,relays:d,authentication:u,walletPay:h}=r,p=((n=u==null?void 0:u[0])==null?void 0:n.ttl)||mt.wc_sessionPropose.req.ttl||Y.FIVE_MINUTES;this.validateRequestExpiry(p);let m=i,f,y=!1;try{if(m){const x=this.client.core.pairing.pairings.get(m);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),y=x.active}}catch(x){throw this.client.logger.error(`connect() -> pairing.get(${m}) failed`),x}if(!m||!y){const{topic:x,uri:B}=await this.client.core.pairing.create({internal:{skipSubscribe:!0}});m=x,f=B}if(!m){const{message:x}=G("NO_MATCHING_KEY",`connect() pairing topic: ${m}`);throw new Error(x)}const b=await this.client.core.crypto.generateKeyPair(),S=st(p),v=Le(yt(Le(Le({requiredNamespaces:o,optionalNamespaces:a,relays:d??[{protocol:Im}],proposer:{publicKey:b,metadata:this.client.metadata},expiryTimestamp:S,pairingTopic:m},c&&{sessionProperties:c}),l&&{scopedProperties:l}),{id:vn()}),(u||h)&&{requests:{authentication:u==null?void 0:u.map(x=>{const{domain:B,chains:W,nonce:O,uri:A,exp:N,nbf:E,type:_,statement:T,requestId:D,resources:I,signatureTypes:P}=x;return{domain:B,chains:W,nonce:O,type:_??"caip122",aud:A,version:"1",iat:new Date().toISOString(),exp:N,nbf:E,statement:T,requestId:D,resources:I,signatureTypes:P}}),walletPay:h}}),C=je("session_connect",v.id),{reject:R,resolve:k,done:L}=cr(p,Rp),F=({id:x})=>{x===v.id&&(this.client.events.off("proposal_expire",F),this.pendingSessions.delete(v.id),this.events.emit(C,{error:{message:Rp,code:0}}))};return this.client.events.on("proposal_expire",F),this.events.once(C,({error:x,session:B})=>{this.client.events.off("proposal_expire",F),x?R(x):B&&k(B)}),await this.setProposal(v.id,v),await this.sendProposeSession({proposal:v,publishOpts:{internal:{throwOnFailedPublish:!0},tvf:{correlationId:v.id}}}).catch(x=>{throw this.deleteProposal(v.id),x}),{uri:f,approval:L}}),j(this,"pair",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(s)}catch(n){throw this.client.logger.error("pair() failed"),n}}),j(this,"approve",async s=>{var n,r,i;const o=this.client.core.eventClient.createEvent({properties:{topic:(n=s==null?void 0:s.id)==null?void 0:n.toString(),trace:[As.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(B){throw o.setError(sr.no_internet_connection),B}try{await this.isValidProposalId(s==null?void 0:s.id)}catch(B){throw this.client.logger.error(`approve() -> proposal.get(${s==null?void 0:s.id}) failed`),o.setError(sr.proposal_not_found),B}try{await this.isValidApprove(s)}catch(B){throw this.client.logger.error("approve() -> isValidApprove() failed"),o.setError(sr.session_approve_namespace_validation_failure),B}const{id:a,relayProtocol:c,namespaces:l,sessionProperties:d,scopedProperties:u,sessionConfig:h,proposalRequestsResponses:p}=s,m=this.client.proposal.get(a);this.client.core.eventClient.deleteEvent({eventId:o.eventId});const{pairingTopic:f,proposer:y,requiredNamespaces:b,optionalNamespaces:S}=m;let v=(r=this.client.core.eventClient)==null?void 0:r.getEvent({topic:f});v||(v=(i=this.client.core.eventClient)==null?void 0:i.createEvent({type:As.session_approve_started,properties:{topic:f,trace:[As.session_approve_started,As.session_namespaces_validation_success]}}));const C=await this.client.core.crypto.generateKeyPair(),R=y.publicKey,k=await this.client.core.crypto.generateSharedKey(C,R),L=yt(Le(Le(Le({relay:{protocol:c??"irn"},namespaces:l,controller:{publicKey:C,metadata:this.client.metadata},expiry:st(Hr)},d&&{sessionProperties:d}),u&&{scopedProperties:u}),h&&{sessionConfig:h}),{proposalRequestsResponses:p}),F=ze.relay;v.addTrace(As.subscribing_session_topic);try{await this.client.core.relayer.subscribe(k,{transportType:F,internal:{skipSubscribe:!0}})}catch(B){throw v.setError(sr.subscribe_session_topic_failure),B}v.addTrace(As.subscribe_session_topic_success);const x=yt(Le({},L),{topic:k,requiredNamespaces:b,optionalNamespaces:S,pairingTopic:f,acknowledged:!1,self:L.controller,peer:{publicKey:y.publicKey,metadata:y.metadata},controller:C,transportType:ze.relay,authentication:p==null?void 0:p.authentication,walletPayResult:p==null?void 0:p.walletPay});await this.client.session.set(k,x),v.addTrace(As.store_session);try{await this.sendApproveSession({sessionTopic:k,proposal:m,pairingProposalResponse:{relay:{protocol:c??"irn"},responderPublicKey:C},sessionSettleRequest:L,publishOpts:{internal:{throwOnFailedPublish:!0},tvf:Le({correlationId:a},this.getTVFApproveParams(x))}}),v.addTrace(As.session_approve_publish_success)}catch(B){throw this.client.logger.error(B),this.client.session.delete(k,Ye("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(k),B}return this.client.core.eventClient.deleteEvent({eventId:v.eventId}),await this.client.core.pairing.updateMetadata({topic:f,metadata:y.metadata}),await this.deleteProposal(a),await this.client.core.pairing.activate({topic:f}),await this.setExpiry(k,st(Hr)),{topic:k,acknowledged:()=>Promise.resolve(this.client.session.get(k))}}),j(this,"reject",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(s)}catch(o){throw this.client.logger.error("reject() -> isValidReject() failed"),o}const{id:n,reason:r}=s;let i;try{i=this.client.proposal.get(n).pairingTopic}catch(o){throw this.client.logger.error(`reject() -> proposal.get(${n}) failed`),o}i&&await this.sendError({id:n,topic:i,error:r,rpcOpts:mt.wc_sessionPropose.reject}),await this.deleteProposal(n)}),j(this,"update",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(s)}catch(u){throw this.client.logger.error("update() -> isValidUpdate() failed"),u}const{topic:n,namespaces:r}=s,{done:i,resolve:o,reject:a}=cr(Y.FIVE_MINUTES,"Session update request expired without receiving any acknowledgement"),c=vn(),l=hr().toString(),d=this.client.session.get(n).namespaces;return this.events.once(je("session_update",c),({error:u})=>{u?a(u):o()}),await this.client.session.update(n,{namespaces:r}),await this.sendRequest({topic:n,method:"wc_sessionUpdate",params:{namespaces:r},throwOnFailedPublish:!0,clientRpcId:c,relayRpcId:l}).catch(u=>{this.client.logger.error(u),this.client.session.update(n,{namespaces:d}),a(u)}),{acknowledged:i}}),j(this,"extend",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(s)}catch(c){throw this.client.logger.error("extend() -> isValidExtend() failed"),c}const{topic:n}=s,r=vn(),{done:i,resolve:o,reject:a}=cr(Y.FIVE_MINUTES,"Session extend request expired without receiving any acknowledgement");return this.events.once(je("session_extend",r),({error:c})=>{c?a(c):o()}),await this.setExpiry(n,st(Hr)),this.sendRequest({topic:n,method:"wc_sessionExtend",params:{},clientRpcId:r,throwOnFailedPublish:!0}).catch(c=>{a(c)}),{acknowledged:i}}),j(this,"request",async s=>{this.isInitialized();try{await this.isValidRequest(s)}catch(y){throw this.client.logger.error("request() -> isValidRequest() failed"),y}const{chainId:n,request:r,topic:i,expiry:o=mt.wc_sessionRequest.req.ttl}=s,a=this.client.session.get(i);(a==null?void 0:a.transportType)===ze.relay&&await this.confirmOnlineStateOrThrow();const c=vn(),l=hr().toString(),{done:d,resolve:u,reject:h}=cr(o,"Request expired. Please try again.");this.events.once(je("session_request",c),({error:y,result:b})=>{y?h(y):u(b)});const p="wc_sessionRequest",m=this.getAppLinkIfEnabled(a.peer.metadata,a.transportType);if(m)return await this.sendRequest({clientRpcId:c,relayRpcId:l,topic:i,method:p,params:{request:yt(Le({},r),{expiryTimestamp:st(o)}),chainId:n},expiry:o,throwOnFailedPublish:!0,appLink:m}).catch(y=>h(y)),this.client.events.emit("session_request_sent",{topic:i,request:r,chainId:n,id:c}),await d();const f={request:yt(Le({},r),{expiryTimestamp:st(o)}),chainId:n};return await Promise.all([new Promise(async y=>{await this.sendRequest({clientRpcId:c,relayRpcId:l,topic:i,method:p,params:f,expiry:o,throwOnFailedPublish:!0,tvf:this.getTVFParams(c,f)}).catch(b=>h(b)),this.client.events.emit("session_request_sent",{topic:i,request:r,chainId:n,id:c}),y()}),new Promise(async y=>{var b;if(!((b=a.sessionConfig)!=null&&b.disableDeepLink)){const S=await y0(this.client.core.storage,Tp);await f0({id:c,topic:i,wcDeepLink:S})}y()}),d()]).then(y=>y[2])}),j(this,"respond",async s=>{var n,r;this.isInitialized();const i=this.client.core.eventClient.createEvent({properties:{topic:(s==null?void 0:s.topic)||((r=(n=s==null?void 0:s.response)==null?void 0:n.id)==null?void 0:r.toString()),trace:[As.session_request_response_started]}});try{await this.isValidRespond(s)}catch(u){throw i.addTrace(u==null?void 0:u.message),i.setError(sr.session_request_response_validation_failure),u}i.addTrace(As.session_request_response_validation_success);const{topic:o,response:a}=s,{id:c}=a,l=this.client.session.get(o);l.transportType===ze.relay&&await this.confirmOnlineStateOrThrow();const d=this.getAppLinkIfEnabled(l.peer.metadata,l.transportType);try{i.addTrace(As.session_request_response_publish_started),sn(a)?await this.sendResult({id:c,topic:o,result:a.result,throwOnFailedPublish:!0,appLink:d}):js(a)&&await this.sendError({id:c,topic:o,error:a.error,appLink:d}),this.cleanupAfterResponse(s)}catch(u){throw i.addTrace(u==null?void 0:u.message),i.setError(sr.session_request_response_publish_failure),u}}),j(this,"ping",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(s)}catch(r){throw this.client.logger.error("ping() -> isValidPing() failed"),r}const{topic:n}=s;if(this.client.session.keys.includes(n)){const r=vn(),i=hr().toString(),{done:o,resolve:a,reject:c}=cr(Y.FIVE_MINUTES,"Ping request expired without receiving any acknowledgement");this.events.once(je("session_ping",r),({error:l})=>{l?c(l):a()}),await Promise.all([this.sendRequest({topic:n,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:r,relayRpcId:i}),o()])}else this.client.core.pairing.pairings.keys.includes(n)&&(this.client.logger.warn("ping() on pairing topic is deprecated and will be removed in the next major release."),await this.client.core.pairing.ping({topic:n}))}),j(this,"emit",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(s);const{topic:n,event:r,chainId:i}=s,o=hr().toString(),a=vn();await this.sendRequest({topic:n,method:"wc_sessionEvent",params:{event:r,chainId:i},throwOnFailedPublish:!0,relayRpcId:o,clientRpcId:a})}),j(this,"disconnect",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(s);const{topic:n}=s;if(this.client.session.keys.includes(n))await this.sendRequest({topic:n,method:"wc_sessionDelete",params:Ye("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:n,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(n))await this.client.core.pairing.disconnect({topic:n});else{const{message:r}=G("MISMATCHED_TOPIC",`Session or pairing topic not found: ${n}`);throw new Error(r)}}),j(this,"find",s=>(this.isInitialized(),this.client.session.getAll().filter(n=>$I(n,s)))),j(this,"getPendingSessionRequests",()=>this.client.pendingRequest.getAll()),j(this,"authenticate",async(s,n)=>{var r;this.isInitialized(),this.isValidAuthenticate(s);const i=n&&this.client.core.linkModeSupportedApps.includes(n)&&((r=this.client.metadata.redirect)==null?void 0:r.linkMode),o=i?ze.link_mode:ze.relay;o===ze.relay&&await this.confirmOnlineStateOrThrow();const{chains:a,statement:c="",uri:l,domain:d,nonce:u,type:h,exp:p,nbf:m,methods:f=[],expiry:y}=s,b=[...s.resources||[]],{topic:S,uri:v}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:o});this.client.logger.info({message:"Generated new pairing",pairing:{topic:S,uri:v}});const C=await this.client.core.crypto.generateKeyPair(),R=ha(C);if(await Promise.all([this.client.auth.authKeys.set(fa,{responseTopic:R,publicKey:C}),this.client.auth.pairingTopics.set(R,{topic:R,pairingTopic:S})]),await this.client.core.relayer.subscribe(R,{transportType:o}),this.client.logger.info(`sending request to new pairing topic: ${S}`),f.length>0){const{namespace:I}=mn(a[0]);let P=$A(I,"request",f);ua(b)&&(P=LA(P,b.pop())),b.push(P)}const k=y&&y>mt.wc_sessionAuthenticate.req.ttl?y:mt.wc_sessionAuthenticate.req.ttl,L={authPayload:{type:h??"caip122",chains:a,statement:c,aud:l,domain:d,version:"1",nonce:u,iat:new Date().toISOString(),exp:p,nbf:m,resources:b},requester:{publicKey:C,metadata:this.client.metadata},expiryTimestamp:st(k)},F={eip155:{chains:a,methods:[...new Set(["personal_sign",...f])],events:["chainChanged","accountsChanged"]}},x={requiredNamespaces:{},optionalNamespaces:F,relays:[{protocol:"irn"}],pairingTopic:S,proposer:{publicKey:C,metadata:this.client.metadata},expiryTimestamp:st(mt.wc_sessionPropose.req.ttl),id:vn()},{done:B,resolve:W,reject:O}=cr(k,"Request expired"),A=vn(),N=je("session_connect",x.id),E=je("session_request",A),_=async({error:I,session:P})=>{this.events.off(E,T),I?O(I):P&&W({session:P})},T=async I=>{var P,H,z;if(await this.deletePendingAuthRequest(A,{message:"fulfilled",code:0}),I.error){const ye=Ye("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return I.error.code===ye.code?void 0:(this.events.off(N,_),O(I.error.message))}await this.deleteProposal(x.id),this.events.off(N,_);const{cacaos:me,responder:de}=I.result,oe=[],be=[];for(const ye of me){await Ah({cacao:ye,projectId:this.client.core.projectId})||(this.client.logger.error(ye,"Signature verification failed"),O(Ye("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p:qe}=ye,Rt=ua(qe.resources),Bt=[Ll(qe.iss)],Ot=Da(qe.iss);if(Rt){const ls=Sh(Rt),Qn=Ih(Rt);oe.push(...ls),Bt.push(...Qn)}for(const ls of Bt)be.push(`${ls}:${Ot}`)}const fe=await this.client.core.crypto.generateSharedKey(C,de.publicKey);let Be;oe.length>0&&(Be={topic:fe,acknowledged:!0,self:{publicKey:C,metadata:this.client.metadata},peer:de,controller:de.publicKey,expiry:st(Hr),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:S,namespaces:Xh([...new Set(oe)],[...new Set(be)]),transportType:o},await this.client.core.relayer.subscribe(fe,{transportType:o}),await this.client.session.set(fe,Be),S&&await this.client.core.pairing.updateMetadata({topic:S,metadata:de.metadata}),Be=this.client.session.get(fe)),(P=this.client.metadata.redirect)!=null&&P.linkMode&&(H=de.metadata.redirect)!=null&&H.linkMode&&(z=de.metadata.redirect)!=null&&z.universal&&n&&(this.client.core.addLinkModeSupportedApp(de.metadata.redirect.universal),this.client.session.update(fe,{transportType:ze.link_mode})),W({auths:me,session:Be})};this.events.once(N,_),this.events.once(E,T);let D;try{if(i){const I=Fs("wc_sessionAuthenticate",L,A);this.client.core.history.set(S,I);const P=await this.client.core.crypto.encode("",I,{type:xo,encoding:Ln});D=Qo(n,S,P)}else await Promise.all([this.sendRequest({topic:S,method:"wc_sessionAuthenticate",params:L,expiry:s.expiry,throwOnFailedPublish:!0,clientRpcId:A}),this.sendRequest({topic:S,method:"wc_sessionPropose",params:x,expiry:mt.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:x.id})])}catch(I){throw this.events.off(N,_),this.events.off(E,T),I}return await this.setProposal(x.id,x),await this.setAuthRequest(A,{request:yt(Le({},L),{verifyContext:{}}),pairingTopic:S,transportType:o}),{uri:D??v,response:B}}),j(this,"approveSessionAuthenticate",async s=>{const{id:n,auths:r}=s,i=this.client.core.eventClient.createEvent({properties:{topic:n.toString(),trace:[nr.authenticated_session_approve_started]}});try{this.isInitialized()}catch(y){throw i.setError(Ni.no_internet_connection),y}const o=this.getPendingAuthRequest(n);if(!o)throw i.setError(Ni.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${n}`);const a=o.transportType||ze.relay;a===ze.relay&&await this.confirmOnlineStateOrThrow();const c=o.requester.publicKey,l=await this.client.core.crypto.generateKeyPair(),d=ha(c),u={type:yn,receiverPublicKey:c,senderPublicKey:l},h=[],p=[];for(const y of r){if(!await Ah({cacao:y,projectId:this.client.core.projectId})){i.setError(Ni.invalid_cacao);const R=Ye("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:n,topic:d,error:R,encodeOpts:u}),new Error(R.message)}i.addTrace(nr.cacaos_verified);const{p:b}=y,S=ua(b.resources),v=[Ll(b.iss)],C=Da(b.iss);if(S){const R=Sh(S),k=Ih(S);h.push(...R),v.push(...k)}for(const R of v)p.push(`${R}:${C}`)}const m=await this.client.core.crypto.generateSharedKey(l,c);i.addTrace(nr.create_authenticated_session_topic);let f;if((h==null?void 0:h.length)>0){f={topic:m,acknowledged:!0,self:{publicKey:l,metadata:this.client.metadata},peer:{publicKey:c,metadata:o.requester.metadata},controller:c,expiry:st(Hr),authentication:r,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:o.pairingTopic,namespaces:Xh([...new Set(h)],[...new Set(p)]),transportType:a},i.addTrace(nr.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(m,{transportType:a})}catch(y){throw i.setError(Ni.subscribe_authenticated_session_topic_failure),y}i.addTrace(nr.subscribe_authenticated_session_topic_success),await this.client.session.set(m,f),i.addTrace(nr.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:o.pairingTopic,metadata:o.requester.metadata})}i.addTrace(nr.publishing_authenticated_session_approve);try{await this.sendResult({topic:d,id:n,result:{cacaos:r,responder:{publicKey:l,metadata:this.client.metadata}},encodeOpts:u,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(o.requester.metadata,a)})}catch(y){throw i.setError(Ni.authenticated_session_approve_publish_failure),y}return await this.client.auth.requests.delete(n,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:o.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:i.eventId}),{session:f}}),j(this,"rejectSessionAuthenticate",async s=>{this.isInitialized();const{id:n,reason:r}=s,i=this.getPendingAuthRequest(n);if(!i)throw new Error(`Could not find pending auth request with id ${n}`);i.transportType===ze.relay&&await this.confirmOnlineStateOrThrow();const o=i.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),c=ha(o),l={type:yn,receiverPublicKey:o,senderPublicKey:a};await this.sendError({id:n,topic:c,error:r,encodeOpts:l,rpcOpts:mt.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(i.requester.metadata,i.transportType)}),await this.client.auth.requests.delete(n,{message:"rejected",code:0}),await this.deleteProposal(n)}),j(this,"formatAuthMessage",s=>{this.isInitialized();const{request:n,iss:r}=s;return Bg(n,r)}),j(this,"processRelayMessageCache",()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const s=this.relayMessageCache.shift();s&&await this.onRelayMessage(s)}catch(s){this.client.logger.error(s)}},50)}),j(this,"cleanupDuplicatePairings",async s=>{if(s.pairingTopic)try{const n=this.client.core.pairing.pairings.get(s.pairingTopic),r=this.client.core.pairing.pairings.getAll().filter(i=>{var o,a;return((o=i.peerMetadata)==null?void 0:o.url)&&((a=i.peerMetadata)==null?void 0:a.url)===s.peer.metadata.url&&i.topic&&i.topic!==n.topic});if(r.length===0)return;this.client.logger.info(`Cleaning up ${r.length} duplicate pairing(s)`),await Promise.all(r.map(i=>this.client.core.pairing.disconnect({topic:i.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(n){this.client.logger.error(n)}}),j(this,"deleteSession",async s=>{var n;const{topic:r,expirerHasDeleted:i=!1,emitEvent:o=!0,id:a=0}=s,{self:c}=this.client.session.get(r);await this.client.core.relayer.unsubscribe(r),await this.client.session.delete(r,Ye("USER_DISCONNECTED")),this.addToRecentlyDeleted(r,"session"),this.client.core.crypto.keychain.has(c.publicKey)&&await this.client.core.crypto.deleteKeyPair(c.publicKey),this.client.core.crypto.keychain.has(r)&&await this.client.core.crypto.deleteSymKey(r),i||this.client.core.expirer.del(r),this.client.core.storage.removeItem(Tp).catch(l=>this.client.logger.warn(l)),r===((n=this.sessionRequestQueue.queue[0])==null?void 0:n.topic)&&(this.sessionRequestQueue.state=Ms.idle),await Promise.all(this.getPendingSessionRequests().filter(l=>l.topic===r).map(l=>this.deletePendingSessionRequest(l.id,Ye("USER_DISCONNECTED")))),o&&this.client.events.emit("session_delete",{id:a,topic:r})}),j(this,"deleteProposal",async(s,n)=>{if(n)try{const r=this.client.proposal.get(s),i=this.client.core.eventClient.getEvent({topic:r.pairingTopic});i==null||i.setError(sr.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(s,Ye("USER_DISCONNECTED")),n?Promise.resolve():this.client.core.expirer.del(s)]),this.addToRecentlyDeleted(s,"proposal")}),j(this,"deletePendingSessionRequest",async(s,n,r=!1)=>{await Promise.all([this.client.pendingRequest.delete(s,n),r?Promise.resolve():this.client.core.expirer.del(s)]),this.addToRecentlyDeleted(s,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(i=>i.id!==s),r&&(this.sessionRequestQueue.state=Ms.idle,this.client.events.emit("session_request_expire",{id:s}))}),j(this,"deletePendingAuthRequest",async(s,n,r=!1)=>{await Promise.all([this.client.auth.requests.delete(s,n),r?Promise.resolve():this.client.core.expirer.del(s)])}),j(this,"setExpiry",async(s,n)=>{this.client.session.keys.includes(s)&&(this.client.core.expirer.set(s,n),await this.client.session.update(s,{expiry:n}))}),j(this,"setProposal",async(s,n)=>{this.client.core.expirer.set(s,st(mt.wc_sessionPropose.req.ttl)),await this.client.proposal.set(s,n)}),j(this,"setAuthRequest",async(s,n)=>{const{request:r,pairingTopic:i,transportType:o=ze.relay}=n;this.client.core.expirer.set(s,r.expiryTimestamp),await this.client.auth.requests.set(s,{authPayload:r.authPayload,requester:r.requester,expiryTimestamp:r.expiryTimestamp,id:s,pairingTopic:i,verifyContext:r.verifyContext,transportType:o})}),j(this,"setPendingSessionRequest",async s=>{const{id:n,topic:r,params:i,verifyContext:o}=s,a=i.request.expiryTimestamp||st(mt.wc_sessionRequest.req.ttl);this.client.core.expirer.set(n,a),await this.client.pendingRequest.set(n,{id:n,topic:r,params:i,verifyContext:o})}),j(this,"sendRequest",async s=>{const{topic:n,method:r,params:i,expiry:o,relayRpcId:a,clientRpcId:c,throwOnFailedPublish:l,appLink:d,tvf:u,publishOpts:h={}}=s,p=Fs(r,i,c);let m;const f=!!d;try{const S=f?Ln:Kt;m=await this.client.core.crypto.encode(n,p,{encoding:S})}catch(S){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${n} failed`),S}let y;if(cO.includes(r)){const S=ys(JSON.stringify(p)),v=ys(m);y=await this.client.core.verify.register({id:v,decryptedId:S})}const b=Le(Le({},mt[r].req),h);if(b.attestation=y,o&&(b.ttl=o),a&&(b.id=a),this.client.core.history.set(n,p),f){const S=Qo(d,n,m);await ve.Linking.openURL(S,this.client.name)}else b.tvf=yt(Le({},u),{correlationId:p.id}),l?(b.internal=yt(Le({},b.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,m,b)):this.client.core.relayer.publish(n,m,b).catch(S=>this.client.logger.error(S));return p.id}),j(this,"sendProposeSession",async s=>{const{proposal:n,publishOpts:r}=s,i=Fs("wc_sessionPropose",n,n.id);this.client.core.history.set(n.pairingTopic,i);const o=await this.client.core.crypto.encode(n.pairingTopic,i,{encoding:Kt}),a=ys(JSON.stringify(i)),c=ys(o),l=await this.client.core.verify.register({id:c,decryptedId:a});await this.client.core.relayer.publishCustom({payload:{pairingTopic:n.pairingTopic,sessionProposal:o},opts:yt(Le({},r),{publishMethod:"wc_proposeSession",attestation:l})})}),j(this,"sendApproveSession",async s=>{const{sessionTopic:n,pairingProposalResponse:r,proposal:i,sessionSettleRequest:o,publishOpts:a}=s,c=Gi(i.id,r),l=await this.client.core.crypto.encode(i.pairingTopic,c,{encoding:Kt}),d=Fs("wc_sessionSettle",o,a==null?void 0:a.id),u=await this.client.core.crypto.encode(n,d,{encoding:Kt});this.client.core.history.set(n,d),await this.client.core.relayer.publishCustom({payload:{sessionTopic:n,pairingTopic:i.pairingTopic,sessionProposalResponse:l,sessionSettlementRequest:u},opts:yt(Le({},a),{publishMethod:"wc_approveSession"})})}),j(this,"sendResult",async s=>{const{id:n,topic:r,result:i,throwOnFailedPublish:o,encodeOpts:a,appLink:c}=s,l=Gi(n,i);let d;const u=c&&typeof(ve==null?void 0:ve.Linking)<"u";try{const m=u?Ln:Kt;d=await this.client.core.crypto.encode(r,l,yt(Le({},a||{}),{encoding:m}))}catch(m){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${r} failed`),m}let h,p;try{h=await this.client.core.history.get(r,n);const m=h.request;try{p=this.getTVFParams(n,m.params,i)}catch(f){this.client.logger.warn(`sendResult() -> getTVFParams() failed: ${f==null?void 0:f.message}`)}}catch(m){throw this.client.logger.error(`sendResult() -> history.get(${r}, ${n}) failed`),m}if(u){const m=Qo(c,r,d);await ve.Linking.openURL(m,this.client.name)}else{const m=h.request.method,f=mt[m].res;f.tvf=yt(Le({},p),{correlationId:n}),o?(f.internal=yt(Le({},f.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(r,d,f)):this.client.core.relayer.publish(r,d,f).catch(y=>this.client.logger.error(y))}await this.client.core.history.resolve(l)}),j(this,"sendError",async s=>{const{id:n,topic:r,error:i,encodeOpts:o,rpcOpts:a,appLink:c}=s,l=ff(n,i);let d;const u=c&&typeof(ve==null?void 0:ve.Linking)<"u";try{const p=u?Ln:Kt;d=await this.client.core.crypto.encode(r,l,yt(Le({},o||{}),{encoding:p}))}catch(p){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${r} failed`),p}let h;try{h=await this.client.core.history.get(r,n)}catch(p){throw this.client.logger.error(`sendError() -> history.get(${r}, ${n}) failed`),p}if(u){const p=Qo(c,r,d);await ve.Linking.openURL(p,this.client.name)}else{const p=h.request.method,m=a||mt[p].res;this.client.core.relayer.publish(r,d,m)}await this.client.core.history.resolve(l)}),j(this,"cleanup",async()=>{const s=[],n=[];this.client.session.getAll().forEach(r=>{let i=!1;qs(r.expiry)&&(i=!0),this.client.core.crypto.keychain.has(r.topic)||(i=!0),i&&s.push(r.topic)}),this.client.proposal.getAll().forEach(r=>{qs(r.expiryTimestamp)&&n.push(r.id)}),await Promise.all([...s.map(r=>this.deleteSession({topic:r})),...n.map(r=>this.deleteProposal(r))])}),j(this,"onProviderMessageEvent",async s=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(s):await this.onRelayMessage(s)}),j(this,"onRelayEventRequest",async s=>{this.requestQueue.queue.push(s),await this.processRequestsQueue()}),j(this,"processRequestsQueue",async()=>{if(this.requestQueue.state===Ms.active){this.client.logger.info("Request queue already active, skipping...");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=Ms.active;const s=this.requestQueue.queue.shift();if(s)try{await this.processRequest(s)}catch(n){this.client.logger.warn(n)}}this.requestQueue.state=Ms.idle}),j(this,"processRequest",async s=>{const{topic:n,payload:r,attestation:i,transportType:o,encryptedId:a}=s,c=r.method;if(!this.shouldIgnorePairingRequest({topic:n,requestMethod:c}))switch(c){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:n,payload:r,attestation:i,encryptedId:a});case"wc_sessionSettle":return await this.onSessionSettleRequest(n,r);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(n,r);case"wc_sessionExtend":return await this.onSessionExtendRequest(n,r);case"wc_sessionPing":return await this.onSessionPingRequest(n,r);case"wc_sessionDelete":return await this.onSessionDeleteRequest(n,r);case"wc_sessionRequest":return await this.onSessionRequest({topic:n,payload:r,attestation:i,encryptedId:a,transportType:o});case"wc_sessionEvent":return await this.onSessionEventRequest(n,r);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:n,payload:r,attestation:i,encryptedId:a,transportType:o});default:return this.client.logger.info(`Unsupported request method ${c}`)}}),j(this,"onRelayEventResponse",async s=>{const{topic:n,payload:r,transportType:i}=s,o=(await this.client.core.history.get(n,r.id)).request.method;switch(o){case"wc_sessionPropose":return this.onSessionProposeResponse(n,r,i);case"wc_sessionSettle":return this.onSessionSettleResponse(n,r);case"wc_sessionUpdate":return this.onSessionUpdateResponse(n,r);case"wc_sessionExtend":return this.onSessionExtendResponse(n,r);case"wc_sessionPing":return this.onSessionPingResponse(n,r);case"wc_sessionRequest":return this.onSessionRequestResponse(n,r);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(n,r);default:return this.client.logger.info(`Unsupported response method ${o}`)}}),j(this,"onRelayEventUnknownPayload",s=>{const{topic:n}=s,{message:r}=G("MISSING_OR_INVALID",`Decoded payload on topic ${n} is not identifiable as a JSON-RPC request or a response.`);throw new Error(r)}),j(this,"shouldIgnorePairingRequest",s=>{const{topic:n,requestMethod:r}=s,i=this.expectedPairingMethodMap.get(n);return!i||i.includes(r)?!1:!!(i.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)}),j(this,"onSessionProposeRequest",async s=>{const{topic:n,payload:r,attestation:i,encryptedId:o}=s,{params:a,id:c}=r;try{const l=this.client.core.eventClient.getEvent({topic:n});this.client.events.listenerCount("session_proposal")===0&&(console.warn("No listener for session_proposal event"),l==null||l.setError(rn.proposal_listener_not_found)),this.isValidConnect(Le({},r.params));const d=a.expiryTimestamp||st(mt.wc_sessionPropose.req.ttl),u=Le({id:c,pairingTopic:n,expiryTimestamp:d,attestation:i,encryptedId:o},a);await this.setProposal(c,u);const h=await this.getVerifyContext({attestationId:i,hash:ys(JSON.stringify(r)),encryptedId:o,metadata:u.proposer.metadata});l==null||l.addTrace(Bs.emit_session_proposal),this.client.events.emit("session_proposal",{id:c,params:u,verifyContext:h})}catch(l){await this.sendError({id:c,topic:n,error:l,rpcOpts:mt.wc_sessionPropose.autoReject}),this.client.logger.error(l)}}),j(this,"onSessionProposeResponse",async(s,n,r)=>{const{id:i}=n;if(sn(n)){const{result:o}=n;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:o});const a=this.client.proposal.get(i);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:a});const c=a.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:c});const l=o.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:l});const d=await this.client.core.crypto.generateSharedKey(c,l);this.pendingSessions.set(i,{sessionTopic:d,pairingTopic:s,proposalId:i,publicKey:c});const u=await this.client.core.relayer.subscribe(d,{transportType:r});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:u}),await this.client.core.pairing.activate({topic:s})}else if(js(n)){await this.deleteProposal(i);const o=je("session_connect",i);if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners, 954`);this.events.emit(o,{error:n.error})}}),j(this,"onSessionSettleRequest",async(s,n)=>{const{id:r,params:i}=n;try{this.isValidSessionSettleRequest(i);const{relay:o,controller:a,expiry:c,namespaces:l,sessionProperties:d,scopedProperties:u,sessionConfig:h,proposalRequestsResponses:p}=n.params,m=[...this.pendingSessions.values()].find(b=>b.sessionTopic===s);if(!m)return this.client.logger.error(`Pending session not found for topic ${s}`);const f=this.client.proposal.get(m.proposalId),y=yt(Le(Le(Le({topic:s,relay:o,expiry:c,namespaces:l,acknowledged:!0,pairingTopic:m.pairingTopic,requiredNamespaces:f.requiredNamespaces,optionalNamespaces:f.optionalNamespaces,controller:a.publicKey,self:{publicKey:m.publicKey,metadata:this.client.metadata},peer:{publicKey:a.publicKey,metadata:a.metadata}},d&&{sessionProperties:d}),u&&{scopedProperties:u}),h&&{sessionConfig:h}),{transportType:ze.relay,authentication:p==null?void 0:p.authentication,walletPayResult:p==null?void 0:p.walletPay});await this.client.session.set(y.topic,y),await this.setExpiry(y.topic,y.expiry),await this.client.core.pairing.updateMetadata({topic:m.pairingTopic,metadata:y.peer.metadata}),this.pendingSessions.delete(m.proposalId),this.deleteProposal(m.proposalId,!1),this.cleanupDuplicatePairings(y),await this.sendResult({id:n.id,topic:s,throwOnFailedPublish:!0,result:!0}),this.client.events.emit("session_connect",{session:y}),this.events.emit(je("session_connect",m.proposalId),{session:y})}catch(o){await this.sendError({id:r,topic:s,error:o}),this.client.logger.error(o)}}),j(this,"onSessionSettleResponse",async(s,n)=>{const{id:r}=n;sn(n)?(await this.client.session.update(s,{acknowledged:!0}),this.events.emit(je("session_approve",r),{})):js(n)&&(await this.client.session.delete(s,Ye("USER_DISCONNECTED")),this.events.emit(je("session_approve",r),{error:n.error}))}),j(this,"onSessionUpdateRequest",async(s,n)=>{const{params:r,id:i}=n;try{const o=`${s}_session_update`,a=Si.get(o);if(a&&this.isRequestOutOfSync(a,i)){this.client.logger.warn(`Discarding out of sync request - ${i}`),this.sendError({id:i,topic:s,error:Ye("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(Le({topic:s},r));try{Si.set(o,i),await this.client.session.update(s,{namespaces:r.namespaces}),await this.sendResult({id:i,topic:s,result:!0})}catch(c){throw Si.delete(o),c}this.client.events.emit("session_update",{id:i,topic:s,params:r})}catch(o){await this.sendError({id:i,topic:s,error:o}),this.client.logger.error(o)}}),j(this,"isRequestOutOfSync",(s,n)=>n.toString().slice(0,-3)<s.toString().slice(0,-3)),j(this,"onSessionUpdateResponse",(s,n)=>{const{id:r}=n,i=je("session_update",r);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);sn(n)?this.events.emit(je("session_update",r),{}):js(n)&&this.events.emit(je("session_update",r),{error:n.error})}),j(this,"onSessionExtendRequest",async(s,n)=>{const{id:r}=n;try{this.isValidExtend({topic:s}),await this.setExpiry(s,st(Hr)),await this.sendResult({id:r,topic:s,result:!0}),this.client.events.emit("session_extend",{id:r,topic:s})}catch(i){await this.sendError({id:r,topic:s,error:i}),this.client.logger.error(i)}}),j(this,"onSessionExtendResponse",(s,n)=>{const{id:r}=n,i=je("session_extend",r);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);sn(n)?this.events.emit(je("session_extend",r),{}):js(n)&&this.events.emit(je("session_extend",r),{error:n.error})}),j(this,"onSessionPingRequest",async(s,n)=>{const{id:r}=n;try{this.isValidPing({topic:s}),await this.sendResult({id:r,topic:s,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:r,topic:s})}catch(i){await this.sendError({id:r,topic:s,error:i}),this.client.logger.error(i)}}),j(this,"onSessionPingResponse",(s,n)=>{const{id:r}=n,i=je("session_ping",r);setTimeout(()=>{if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners 2176`);sn(n)?this.events.emit(je("session_ping",r),{}):js(n)&&this.events.emit(je("session_ping",r),{error:n.error})},500)}),j(this,"onSessionDeleteRequest",async(s,n)=>{const{id:r}=n;try{await this.isValidDisconnect({topic:s,reason:n.params}),this.cleanupPendingSentRequestsForTopic({topic:s,error:Ye("USER_DISCONNECTED")}),await this.deleteSession({topic:s,id:r})}catch(i){this.client.logger.error(i)}}),j(this,"onSessionRequest",async s=>{var n,r,i;const{topic:o,payload:a,attestation:c,encryptedId:l,transportType:d}=s,{id:u,params:h}=a;try{await this.isValidRequest(Le({topic:o},h));const p=this.client.session.get(o),m=await this.getVerifyContext({attestationId:c,hash:ys(JSON.stringify(Fs("wc_sessionRequest",h,u))),encryptedId:l,metadata:p.peer.metadata,transportType:d}),f={id:u,topic:o,params:h,verifyContext:m};await this.setPendingSessionRequest(f),d===ze.link_mode&&(n=p.peer.metadata.redirect)!=null&&n.universal&&this.client.core.addLinkModeSupportedApp((r=p.peer.metadata.redirect)==null?void 0:r.universal),(i=this.client.signConfig)!=null&&i.disableRequestQueue?this.emitSessionRequest(f):(this.addSessionRequestToSessionRequestQueue(f),this.processSessionRequestQueue())}catch(p){await this.sendError({id:u,topic:o,error:p}),this.client.logger.error(p)}}),j(this,"onSessionRequestResponse",(s,n)=>{const{id:r}=n,i=je("session_request",r);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);sn(n)?this.events.emit(je("session_request",r),{result:n.result}):js(n)&&this.events.emit(je("session_request",r),{error:n.error})}),j(this,"onSessionEventRequest",async(s,n)=>{const{id:r,params:i}=n;try{const o=`${s}_session_event_${i.event.name}`,a=Si.get(o);if(a&&this.isRequestOutOfSync(a,r)){this.client.logger.info(`Discarding out of sync request - ${r}`);return}this.isValidEmit(Le({topic:s},i)),this.client.events.emit("session_event",{id:r,topic:s,params:i}),Si.set(o,r)}catch(o){await this.sendError({id:r,topic:s,error:o}),this.client.logger.error(o)}}),j(this,"onSessionAuthenticateResponse",(s,n)=>{const{id:r}=n;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:s,payload:n}),sn(n)?this.events.emit(je("session_request",r),{result:n.result}):js(n)&&this.events.emit(je("session_request",r),{error:n.error})}),j(this,"onSessionAuthenticateRequest",async s=>{var n;const{topic:r,payload:i,attestation:o,encryptedId:a,transportType:c}=s;try{const{requester:l,authPayload:d,expiryTimestamp:u}=i.params,h=await this.getVerifyContext({attestationId:o,hash:ys(JSON.stringify(i)),encryptedId:a,metadata:l.metadata,transportType:c}),p={requester:l,pairingTopic:r,id:i.id,authPayload:d,verifyContext:h,expiryTimestamp:u};await this.setAuthRequest(i.id,{request:p,pairingTopic:r,transportType:c}),c===ze.link_mode&&(n=l.metadata.redirect)!=null&&n.universal&&this.client.core.addLinkModeSupportedApp(l.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:r,params:i.params,id:i.id,verifyContext:h})}catch(l){this.client.logger.error(l);const d=i.params.requester.publicKey,u=await this.client.core.crypto.generateKeyPair(),h=this.getAppLinkIfEnabled(i.params.requester.metadata,c),p={type:yn,receiverPublicKey:d,senderPublicKey:u};await this.sendError({id:i.id,topic:r,error:l,encodeOpts:p,rpcOpts:mt.wc_sessionAuthenticate.autoReject,appLink:h})}}),j(this,"addSessionRequestToSessionRequestQueue",s=>{this.sessionRequestQueue.queue.push(s)}),j(this,"cleanupAfterResponse",s=>{this.deletePendingSessionRequest(s.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=Ms.idle,this.processSessionRequestQueue()},Y.toMiliseconds(this.requestQueueDelay))}),j(this,"cleanupPendingSentRequestsForTopic",({topic:s,error:n})=>{const r=this.client.core.history.pending;r.length>0&&r.filter(i=>i.topic===s&&i.request.method==="wc_sessionRequest").forEach(i=>{this.events.emit(je("session_request",i.request.id),{error:n})})}),j(this,"processSessionRequestQueue",()=>{if(this.sessionRequestQueue.state===Ms.active){this.client.logger.info("session request queue is already active.");return}const s=this.sessionRequestQueue.queue[0];if(!s){this.client.logger.info("session request queue is empty.");return}try{this.emitSessionRequest(s)}catch(n){this.client.logger.error(n)}}),j(this,"emitSessionRequest",s=>{if(this.emittedSessionRequests.has(s.id)){this.client.logger.warn({id:s.id},`Skipping emitting \`session_request\` event for duplicate request. id: ${s.id}`);return}this.sessionRequestQueue.state=Ms.active,this.emittedSessionRequests.add(s.id),this.client.events.emit("session_request",s)}),j(this,"onPairingCreated",s=>{if(s.methods&&this.expectedPairingMethodMap.set(s.topic,s.methods),s.active)return;const n=this.client.proposal.getAll().find(r=>r.pairingTopic===s.topic);n&&this.onSessionProposeRequest({topic:s.topic,payload:Fs("wc_sessionPropose",yt(Le({},n),{requiredNamespaces:n.requiredNamespaces,optionalNamespaces:n.optionalNamespaces,relays:n.relays,proposer:n.proposer,sessionProperties:n.sessionProperties,scopedProperties:n.scopedProperties}),n.id),attestation:n.attestation,encryptedId:n.encryptedId})}),j(this,"isValidConnect",async s=>{if(!Wt(s)){const{message:l}=G("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(s)}`);throw new Error(l)}const{pairingTopic:n,requiredNamespaces:r,optionalNamespaces:i,sessionProperties:o,scopedProperties:a,relays:c}=s;if(ht(n)||await this.isValidPairingTopic(n),!KI(c)){const{message:l}=G("MISSING_OR_INVALID",`connect() relays: ${c}`);throw new Error(l)}if(r&&!ht(r)&&Gs(r)!==0){const l="requiredNamespaces are deprecated and are automatically assigned to optionalNamespaces";["fatal","error","silent"].includes(this.client.logger.level)?console.warn(l):this.client.logger.warn(l),this.validateNamespaces(r,"requiredNamespaces")}if(i&&!ht(i)&&Gs(i)!==0&&this.validateNamespaces(i,"optionalNamespaces"),o&&!ht(o)&&this.validateSessionProps(o,"sessionProperties"),a&&!ht(a)){this.validateSessionProps(a,"scopedProperties");const l=Object.keys(r||{}).concat(Object.keys(i||{}));if(!Object.keys(a).every(d=>l.includes(d.split(":")[0])))throw new Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(a)}, required/optional namespaces: ${JSON.stringify(l)}`)}}),j(this,"validateNamespaces",(s,n)=>{const r=zI(s,"connect()",n);if(r)throw new Error(r.message)}),j(this,"isValidApprove",async s=>{if(!Wt(s))throw new Error(G("MISSING_OR_INVALID",`approve() params: ${s}`).message);const{id:n,namespaces:r,relayProtocol:i,sessionProperties:o,scopedProperties:a}=s;this.checkRecentlyDeleted(n),await this.isValidProposalId(n);const c=this.client.proposal.get(n),l=Vc(r,"approve()");if(l)throw new Error(l.message);const d=tp(c.requiredNamespaces,r,"approve()");if(d)throw new Error(d.message);if(!rt(i,!0)){const{message:u}=G("MISSING_OR_INVALID",`approve() relayProtocol: ${i}`);throw new Error(u)}if(o&&!ht(o)&&this.validateSessionProps(o,"sessionProperties"),a&&!ht(a)){this.validateSessionProps(a,"scopedProperties");const u=new Set(Object.keys(r));if(!Object.keys(a).every(h=>u.has(h.split(":")[0])))throw new Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(a)}, approved namespaces: ${Array.from(u).join(", ")}`)}}),j(this,"isValidReject",async s=>{if(!Wt(s)){const{message:i}=G("MISSING_OR_INVALID",`reject() params: ${s}`);throw new Error(i)}const{id:n,reason:r}=s;if(this.checkRecentlyDeleted(n),await this.isValidProposalId(n),!YI(r)){const{message:i}=G("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(r)}`);throw new Error(i)}}),j(this,"isValidSessionSettleRequest",s=>{if(!Wt(s)){const{message:l}=G("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${s}`);throw new Error(l)}const{relay:n,controller:r,namespaces:i,expiry:o}=s;if(!_m(n)){const{message:l}=G("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(l)}const a=jI(r,"onSessionSettleRequest()");if(a)throw new Error(a.message);const c=Vc(i,"onSessionSettleRequest()");if(c)throw new Error(c.message);if(qs(o)){const{message:l}=G("EXPIRED","onSessionSettleRequest()");throw new Error(l)}}),j(this,"isValidUpdate",async s=>{if(!Wt(s)){const{message:c}=G("MISSING_OR_INVALID",`update() params: ${s}`);throw new Error(c)}const{topic:n,namespaces:r}=s;this.checkRecentlyDeleted(n),await this.isValidSessionTopic(n);const i=this.client.session.get(n),o=Vc(r,"update()");if(o)throw new Error(o.message);const a=tp(i.requiredNamespaces,r,"update()");if(a)throw new Error(a.message)}),j(this,"isValidExtend",async s=>{if(!Wt(s)){const{message:r}=G("MISSING_OR_INVALID",`extend() params: ${s}`);throw new Error(r)}const{topic:n}=s;this.checkRecentlyDeleted(n),await this.isValidSessionTopic(n)}),j(this,"isValidRequest",async s=>{if(!Wt(s)){const{message:c}=G("MISSING_OR_INVALID",`request() params: ${s}`);throw new Error(c)}const{topic:n,request:r,chainId:i,expiry:o}=s;this.checkRecentlyDeleted(n),await this.isValidSessionTopic(n);const{namespaces:a}=this.client.session.get(n);if(!ep(a,i)){const{message:c}=G("MISSING_OR_INVALID",`request() chainId: ${i}`);throw new Error(c)}if(!ZI(r)){const{message:c}=G("MISSING_OR_INVALID",`request() ${JSON.stringify(r)}`);throw new Error(c)}if(!QI(a,i,r.method)){const{message:c}=G("MISSING_OR_INVALID",`request() method: ${r.method}`);throw new Error(c)}this.validateRequestExpiry(o)}),j(this,"isValidRespond",async s=>{var n;if(!Wt(s)){const{message:a}=G("MISSING_OR_INVALID",`respond() params: ${s}`);throw new Error(a)}const{topic:r,response:i}=s;try{await this.isValidSessionTopic(r)}catch(a){throw(n=s==null?void 0:s.response)!=null&&n.id&&this.cleanupAfterResponse(s),a}if(!JI(i)){const{message:a}=G("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(i)}`);throw new Error(a)}const o=this.client.pendingRequest.get(i.id);if(o.topic!==r){const{message:a}=G("MISMATCHED_TOPIC",`Request response topic mismatch. reqId: ${i.id}, expected topic: ${o.topic}, received topic: ${r}`);throw new Error(a)}}),j(this,"isValidPing",async s=>{if(!Wt(s)){const{message:r}=G("MISSING_OR_INVALID",`ping() params: ${s}`);throw new Error(r)}const{topic:n}=s;await this.isValidSessionOrPairingTopic(n)}),j(this,"isValidEmit",async s=>{if(!Wt(s)){const{message:a}=G("MISSING_OR_INVALID",`emit() params: ${s}`);throw new Error(a)}const{topic:n,event:r,chainId:i}=s;await this.isValidSessionTopic(n);const{namespaces:o}=this.client.session.get(n);if(!ep(o,i)){const{message:a}=G("MISSING_OR_INVALID",`emit() chainId: ${i}`);throw new Error(a)}if(!XI(r)){const{message:a}=G("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(r)}`);throw new Error(a)}if(!eN(o,i,r.name)){const{message:a}=G("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(r)}`);throw new Error(a)}}),j(this,"isValidDisconnect",async s=>{if(!Wt(s)){const{message:r}=G("MISSING_OR_INVALID",`disconnect() params: ${s}`);throw new Error(r)}const{topic:n}=s;await this.isValidSessionOrPairingTopic(n)}),j(this,"isValidAuthenticate",s=>{const{chains:n,uri:r,domain:i,nonce:o}=s;if(!Array.isArray(n)||n.length===0)throw new Error("chains is required and must be a non-empty array");if(!rt(r,!1))throw new Error("uri is required parameter");if(!rt(i,!1))throw new Error("domain is required parameter");if(!rt(o,!1))throw new Error("nonce is required parameter");if([...new Set(n.map(c=>mn(c).namespace))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:a}=mn(n[0]);if(a!=="eip155")throw new Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}),j(this,"getVerifyContext",async s=>{const{attestationId:n,hash:r,encryptedId:i,metadata:o,transportType:a}=s,c={verified:{verifyUrl:o.verifyUrl||qi,validation:"UNKNOWN",origin:o.url||""}};try{if(a===ze.link_mode){const d=this.getAppLinkIfEnabled(o,a);return c.verified.validation=d&&new URL(d).origin===new URL(o.url).origin?"VALID":"INVALID",c}const l=await this.client.core.verify.resolve({attestationId:n,hash:r,encryptedId:i,verifyUrl:o.verifyUrl});l&&(c.verified.origin=l.origin,c.verified.isScam=l.isScam,c.verified.validation=l.origin===new URL(o.url).origin?"VALID":"INVALID")}catch(l){this.client.logger.warn(l)}return this.client.logger.debug(`Verify context: ${JSON.stringify(c)}`),c}),j(this,"validateSessionProps",(s,n)=>{Object.values(s).forEach((r,i)=>{if(r==null){const{message:o}=G("MISSING_OR_INVALID",`${n} must contain an existing value for each key. Received: ${r} for key ${Object.keys(s)[i]}`);throw new Error(o)}})}),j(this,"getPendingAuthRequest",s=>{const n=this.client.auth.requests.get(s);return typeof n=="object"?n:void 0}),j(this,"addToRecentlyDeleted",(s,n)=>{if(this.recentlyDeletedMap.set(s,n),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let r=0;const i=this.recentlyDeletedLimit/2;for(const o of this.recentlyDeletedMap.keys()){if(r++>=i)break;this.recentlyDeletedMap.delete(o)}}}),j(this,"checkRecentlyDeleted",s=>{const n=this.recentlyDeletedMap.get(s);if(n){const{message:r}=G("MISSING_OR_INVALID",`Record was recently deleted - ${n}: ${s}`);throw new Error(r)}}),j(this,"isLinkModeEnabled",(s,n)=>{var r,i,o,a,c,l,d,u,h;return!s||n!==ze.link_mode?!1:((i=(r=this.client.metadata)==null?void 0:r.redirect)==null?void 0:i.linkMode)===!0&&((a=(o=this.client.metadata)==null?void 0:o.redirect)==null?void 0:a.universal)!==void 0&&((l=(c=this.client.metadata)==null?void 0:c.redirect)==null?void 0:l.universal)!==""&&((d=s==null?void 0:s.redirect)==null?void 0:d.universal)!==void 0&&((u=s==null?void 0:s.redirect)==null?void 0:u.universal)!==""&&((h=s==null?void 0:s.redirect)==null?void 0:h.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(s.redirect.universal)&&typeof(ve==null?void 0:ve.Linking)<"u"}),j(this,"getAppLinkIfEnabled",(s,n)=>{var r;return this.isLinkModeEnabled(s,n)?(r=s==null?void 0:s.redirect)==null?void 0:r.universal:void 0}),j(this,"handleLinkModeMessage",({url:s})=>{if(!s||!s.includes("wc_ev")||!s.includes("topic"))return;const n=hh(s,"topic")||"",r=decodeURIComponent(hh(s,"wc_ev")||""),i=this.client.session.keys.includes(n);i&&this.client.session.update(n,{transportType:ze.link_mode}),this.client.core.dispatchEnvelope({topic:n,message:r,sessionExists:i})}),j(this,"registerLinkModeListeners",async()=>{var s;if(Od()||Jn()&&(s=this.client.metadata.redirect)!=null&&s.linkMode){const n=ve==null?void 0:ve.Linking;if(typeof n<"u"){n.addEventListener("url",this.handleLinkModeMessage,this.client.name);const r=await n.getInitialURL();r&&setTimeout(()=>{this.handleLinkModeMessage({url:r})},50)}}}),j(this,"getTVFApproveParams",s=>{try{const n=Cm(s.namespaces),r=NI(s.namespaces),i=TI(s.namespaces),o=s.sessionProperties,a=s.scopedProperties;return{approvedChains:n,approvedMethods:r,approvedEvents:i,sessionProperties:o,scopedProperties:a}}catch(n){return this.client.logger.warn(n,"Error getting TVF approve params"),{}}}),j(this,"getTVFParams",(s,n,r)=>{var i,o,a;if(!((i=n.request)!=null&&i.method))return{};const c={correlationId:s,rpcMethods:[n.request.method],chainId:n.chainId};try{const l=this.extractTxHashesFromResult(n.request,r);c.txHashes=l,c.contractAddresses=this.isValidContractData(n.request.params)?[(a=(o=n.request.params)==null?void 0:o[0])==null?void 0:a.to]:[]}catch(l){this.client.logger.warn(l,"Error getting TVF params")}return c}),j(this,"isValidContractData",s=>{var n;if(!s)return!1;try{const r=(s==null?void 0:s.data)||((n=s==null?void 0:s[0])==null?void 0:n.data);if(!r.startsWith("0x"))return!1;const i=r.slice(2);return/^[0-9a-fA-F]*$/.test(i)?i.length%2===0:!1}catch{}return!1}),j(this,"extractTxHashesFromResult",(s,n)=>{var r;try{if(!n)return[];const i=s.method,o=oO[i];if(i==="sui_signTransaction")return[mA(n.transactionBytes)];if(i==="near_signTransaction")return[bh(n)];if(i==="near_signTransactions")return n.map(c=>bh(c));if(i==="xrpl_signTransactionFor"||i==="xrpl_signTransaction")return[(r=n.tx_json)==null?void 0:r.hash];if(i==="polkadot_signTransaction")return[wN({transaction:s.params.transactionPayload,signature:n.signature})];if(i==="algo_signTxn")return wn(n)?n.map(c=>Ch(c)):[Ch(n)];if(i==="cosmos_signDirect")return[wA(n)];if(i==="wallet_sendCalls")return EA(n);if(typeof n=="string")return[n];const a=n[o.key];if(wn(a))return i==="solana_signAllTransactions"?a.map(c=>gA(c)):a;if(typeof a=="string")return[a]}catch(i){this.client.logger.warn(i,"Error extracting tx hashes from result")}return[]})}async processPendingMessageEvents(){try{const e=this.client.session.keys,s=this.client.core.relayer.messages.getWithoutAck(e);for(const[n,r]of Object.entries(s))for(const i of r)try{await this.onProviderMessageEvent({topic:n,message:i,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${n}, message: ${i}`)}}catch(e){this.client.logger.warn(e,"processPendingMessageEvents failed")}}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(nt.message,e=>{this.onProviderMessageEvent(e)})}async onRelayMessage(e){const{topic:s,message:n,attestation:r,transportType:i}=e,{publicKey:o}=this.client.auth.authKeys.keys.includes(fa)?this.client.auth.authKeys.get(fa):{publicKey:void 0};try{const a=await this.client.core.crypto.decode(s,n,{receiverPublicKey:o,encoding:i===ze.link_mode?Ln:Kt});gd(a)?(this.client.core.history.set(s,a),await this.onRelayEventRequest({topic:s,payload:a,attestation:r,transportType:i,encryptedId:ys(n)})):md(a)?(await this.client.core.history.resolve(a),await this.onRelayEventResponse({topic:s,payload:a,transportType:i}),this.client.core.history.delete(s,a.id)):(this.client.logger.error(`onRelayMessage() -> unknown payload: ${JSON.stringify(a)}`),await this.onRelayEventUnknownPayload({topic:s,payload:a,transportType:i})),await this.client.core.relayer.messages.ack(s,n)}catch(a){this.client.logger.error(`onRelayMessage() -> failed to process an inbound message: ${n}`),this.client.logger.error(a)}}registerExpirerEvents(){this.client.core.expirer.on(gs.expired,async e=>{const{topic:s,id:n}=vg(e.target);if(n&&this.client.pendingRequest.keys.includes(n))return await this.deletePendingSessionRequest(n,G("EXPIRED"),!0);if(n&&this.client.auth.requests.keys.includes(n))return await this.deletePendingAuthRequest(n,G("EXPIRED"),!0);s?this.client.session.keys.includes(s)&&(await this.deleteSession({topic:s,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:s})):n&&(await this.deleteProposal(n,!0),this.client.events.emit("proposal_expire",{id:n}))})}registerPairingEvents(){this.client.core.pairing.events.on(lr.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(lr.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!rt(e,!1)){const{message:s}=G("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw new Error(s)}if(!this.client.core.pairing.pairings.keys.includes(e)){const{message:s}=G("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(s)}if(qs(this.client.core.pairing.pairings.get(e).expiry)){const{message:s}=G("EXPIRED",`pairing topic: ${e}`);throw new Error(s)}}async isValidSessionTopic(e){if(!rt(e,!1)){const{message:s}=G("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw new Error(s)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){const{message:s}=G("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(s)}if(qs(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:s}=G("EXPIRED",`session topic: ${e}`);throw new Error(s)}if(!this.client.core.crypto.keychain.has(e)){const{message:s}=G("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),new Error(s)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if(rt(e,!1)){const{message:s}=G("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(s)}else{const{message:s}=G("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(s)}}async isValidProposalId(e){if(!GI(e)){const{message:s}=G("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(s)}if(!this.client.proposal.keys.includes(e)){const{message:s}=G("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(s)}if(qs(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:s}=G("EXPIRED",`proposal id: ${e}`);throw new Error(s)}}validateRequestExpiry(e){if(e&&!nN(e,Jc)){const{message:s}=G("MISSING_OR_INVALID",`request() expiry: ${e}. Expiry must be a number (in seconds) between ${Jc.min} and ${Jc.max}`);throw new Error(s)}}}class bO extends Dr{constructor(e,s){super(e,s,nO,qd),this.core=e,this.logger=s}}let CO=class extends Dr{constructor(e,s){super(e,s,rO,qd),this.core=e,this.logger=s}};class vO extends Dr{constructor(e,s){super(e,s,aO,qd,n=>n.id),this.core=e,this.logger=s}}class _O extends Dr{constructor(e,s){super(e,s,uO,uc,()=>fa),this.core=e,this.logger=s}}class AO extends Dr{constructor(e,s){super(e,s,hO,uc),this.core=e,this.logger=s}}class SO extends Dr{constructor(e,s){super(e,s,pO,uc,n=>n.id),this.core=e,this.logger=s}}var IO=Object.defineProperty,NO=(t,e,s)=>e in t?IO(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Xc=(t,e,s)=>NO(t,typeof e!="symbol"?e+"":e,s);class TO{constructor(e,s){this.core=e,this.logger=s,Xc(this,"authKeys"),Xc(this,"pairingTopics"),Xc(this,"requests"),this.authKeys=new _O(this.core,this.logger),this.pairingTopics=new AO(this.core,this.logger),this.requests=new SO(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var RO=Object.defineProperty,OO=(t,e,s)=>e in t?RO(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Re=(t,e,s)=>OO(t,typeof e!="symbol"?e+"":e,s);class Wd extends Nv{constructor(e){super(e),Re(this,"protocol",Fm),Re(this,"version",qm),Re(this,"name",Zc.name),Re(this,"metadata"),Re(this,"core"),Re(this,"logger"),Re(this,"events",new Pr.EventEmitter),Re(this,"engine"),Re(this,"session"),Re(this,"proposal"),Re(this,"pendingRequest"),Re(this,"auth"),Re(this,"signConfig"),Re(this,"on",(n,r)=>this.events.on(n,r)),Re(this,"once",(n,r)=>this.events.once(n,r)),Re(this,"off",(n,r)=>this.events.off(n,r)),Re(this,"removeListener",(n,r)=>this.events.removeListener(n,r)),Re(this,"removeAllListeners",n=>this.events.removeAllListeners(n)),Re(this,"connect",async n=>{try{return await this.engine.connect(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"pair",async n=>{try{return await this.engine.pair(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"approve",async n=>{try{return await this.engine.approve(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"reject",async n=>{try{return await this.engine.reject(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"update",async n=>{try{return await this.engine.update(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"extend",async n=>{try{return await this.engine.extend(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"request",async n=>{try{return await this.engine.request(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"respond",async n=>{try{return await this.engine.respond(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"ping",async n=>{try{return await this.engine.ping(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"emit",async n=>{try{return await this.engine.emit(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"disconnect",async n=>{try{return await this.engine.disconnect(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"find",n=>{try{return this.engine.find(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"getPendingSessionRequests",()=>{try{return this.engine.getPendingSessionRequests()}catch(n){throw this.logger.error(n.message),n}}),Re(this,"authenticate",async(n,r)=>{try{return await this.engine.authenticate(n,r)}catch(i){throw this.logger.error(i.message),i}}),Re(this,"formatAuthMessage",n=>{try{return this.engine.formatAuthMessage(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"approveSessionAuthenticate",async n=>{try{return await this.engine.approveSessionAuthenticate(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"rejectSessionAuthenticate",async n=>{try{return await this.engine.rejectSessionAuthenticate(n)}catch(r){throw this.logger.error(r.message),r}}),this.name=(e==null?void 0:e.name)||Zc.name,this.metadata=c0(e==null?void 0:e.metadata),this.signConfig=e==null?void 0:e.signConfig;const s=Fd({logger:(e==null?void 0:e.logger)||Zc.logger,name:this.name});this.logger=s,this.core=(e==null?void 0:e.core)||new sO(e),this.session=new CO(this.core,this.logger),this.proposal=new bO(this.core,this.logger),this.pendingRequest=new vO(this.core,this.logger),this.engine=new EO(this),this.auth=new TO(this.core,this.logger)}static async init(e){const s=new Wd(e);return await s.initialize(),s}get context(){return Jt(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info("SignClient Initialization Success")}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}const PO=Wd;function Hd(t){return t==null||typeof t!="object"&&typeof t!="function"}function Hm(t){return Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e))}function Vm(t){return t==null?t===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const xO="[object RegExp]",zm="[object String]",Km="[object Number]",Gm="[object Boolean]",Ym="[object Arguments]",kO="[object Symbol]",UO="[object Date]",$O="[object Map]",DO="[object Set]",LO="[object Array]",MO="[object ArrayBuffer]",BO="[object Object]",jO="[object DataView]",FO="[object Uint8Array]",qO="[object Uint8ClampedArray]",WO="[object Uint16Array]",HO="[object Uint32Array]",VO="[object Int8Array]",zO="[object Int16Array]",KO="[object Int32Array]",GO="[object Float32Array]",YO="[object Float64Array]";function Vd(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function ZO(t,e){return Qr(t,void 0,t,new Map,e)}function Qr(t,e,s,n=new Map,r=void 0){const i=r==null?void 0:r(t,e,s,n);if(i!=null)return i;if(Hd(t))return t;if(n.has(t))return n.get(t);if(Array.isArray(t)){const o=new Array(t.length);n.set(t,o);for(let a=0;a<t.length;a++)o[a]=Qr(t[a],a,s,n,r);return Object.hasOwn(t,"index")&&(o.index=t.index),Object.hasOwn(t,"input")&&(o.input=t.input),o}if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp){const o=new RegExp(t.source,t.flags);return o.lastIndex=t.lastIndex,o}if(t instanceof Map){const o=new Map;n.set(t,o);for(const[a,c]of t)o.set(a,Qr(c,a,s,n,r));return o}if(t instanceof Set){const o=new Set;n.set(t,o);for(const a of t)o.add(Qr(a,void 0,s,n,r));return o}if(typeof ke<"u"&&ke.isBuffer(t))return t.subarray();if(Vd(t)){const o=new(Object.getPrototypeOf(t)).constructor(t.length);n.set(t,o);for(let a=0;a<t.length;a++)o[a]=Qr(t[a],a,s,n,r);return o}if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer)return t.slice(0);if(t instanceof DataView){const o=new DataView(t.buffer.slice(0),t.byteOffset,t.byteLength);return n.set(t,o),dr(o,t,s,n,r),o}if(typeof File<"u"&&t instanceof File){const o=new File([t],t.name,{type:t.type});return n.set(t,o),dr(o,t,s,n,r),o}if(t instanceof Blob){const o=new Blob([t],{type:t.type});return n.set(t,o),dr(o,t,s,n,r),o}if(t instanceof Error){const o=new t.constructor;return n.set(t,o),o.message=t.message,o.name=t.name,o.stack=t.stack,o.cause=t.cause,dr(o,t,s,n,r),o}if(typeof t=="object"&&JO(t)){const o=Object.create(Object.getPrototypeOf(t));return n.set(t,o),dr(o,t,s,n,r),o}return t}function dr(t,e,s=t,n,r){const i=[...Object.keys(e),...Hm(e)];for(let o=0;o<i.length;o++){const a=i[o],c=Object.getOwnPropertyDescriptor(t,a);(c==null||c.writable)&&(t[a]=Qr(e[a],a,s,n,r))}}function JO(t){switch(Vm(t)){case Ym:case LO:case MO:case jO:case Gm:case UO:case GO:case YO:case VO:case zO:case KO:case $O:case Km:case BO:case xO:case DO:case zm:case kO:case FO:case qO:case WO:case HO:return!0;default:return!1}}function XO(t,e){return ZO(t,(s,n,r,i)=>{if(typeof t=="object")switch(Object.prototype.toString.call(t)){case Km:case zm:case Gm:{const o=new t.constructor(t==null?void 0:t.valueOf());return dr(o,t),o}case Ym:{const o={};return dr(o,t),o.length=t.length,o[Symbol.iterator]=t[Symbol.iterator],o}default:return}})}function Pp(t){return XO(t)}function xp(t){return t!==null&&typeof t=="object"&&Vm(t)==="[object Arguments]"}function kp(t){return typeof t=="object"&&t!==null}function QO(){}function eP(t){return Vd(t)}function tP(t){var s;if(typeof t!="object"||t==null)return!1;if(Object.getPrototypeOf(t)===null)return!0;if(Object.prototype.toString.call(t)!=="[object Object]"){const n=t[Symbol.toStringTag];return n==null||!((s=Object.getOwnPropertyDescriptor(t,Symbol.toStringTag))!=null&&s.writable)?!1:t.toString()===`[object ${n}]`}let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function sP(t){if(Hd(t))return t;if(Array.isArray(t)||Vd(t)||t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer)return t.slice(0);const e=Object.getPrototypeOf(t),s=e.constructor;if(t instanceof Date||t instanceof Map||t instanceof Set)return new s(t);if(t instanceof RegExp){const n=new s(t);return n.lastIndex=t.lastIndex,n}if(t instanceof DataView)return new s(t.buffer.slice(0));if(t instanceof Error){const n=new s(t.message);return n.stack=t.stack,n.name=t.name,n.cause=t.cause,n}if(typeof File<"u"&&t instanceof File)return new s([t],t.name,{type:t.type,lastModified:t.lastModified});if(typeof t=="object"){const n=Object.create(e);return Object.assign(n,t)}return t}function nP(t,...e){const s=e.slice(0,-1),n=e[e.length-1];let r=t;for(let i=0;i<s.length;i++){const o=s[i];r=ad(r,o,n,new Map)}return r}function ad(t,e,s,n){if(Hd(t)&&(t=Object(t)),e==null||typeof e!="object")return t;if(n.has(e))return sP(n.get(e));if(n.set(e,t),Array.isArray(e)){e=e.slice();for(let i=0;i<e.length;i++)e[i]=e[i]??void 0}const r=[...Object.keys(e),...Hm(e)];for(let i=0;i<r.length;i++){const o=r[i];let a=e[o],c=t[o];if(xp(a)&&(a={...a}),xp(c)&&(c={...c}),typeof ke<"u"&&ke.isBuffer(a)&&(a=Pp(a)),Array.isArray(a))if(typeof c=="object"&&c!=null){const d=[],u=Reflect.ownKeys(c);for(let h=0;h<u.length;h++){const p=u[h];d[p]=c[p]}c=d}else c=[];const l=s(c,a,o,t,e,n);l!=null?t[o]=l:Array.isArray(a)||kp(c)&&kp(a)?t[o]=ad(c,a,s,n):c==null&&tP(a)?t[o]=ad({},a,s,n):c==null&&eP(a)?t[o]=Pp(a):(c===void 0||a!==void 0)&&(t[o]=a)}return t}function rP(t,...e){return nP(t,...e,QO)}const Up="error",iP="wss://relay.walletconnect.org",oP="wc",Zm="universal_provider",ea=`${oP}@2:${Zm}:`,Jm="https://rpc.walletconnect.org/v1/",Xm="generic",aP=`${Jm}bundler`,ii="call_status",cP=86400,zd={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};var lP=Object.defineProperty,dP=Object.defineProperties,uP=Object.getOwnPropertyDescriptors,$p=Object.getOwnPropertySymbols,hP=Object.prototype.hasOwnProperty,pP=Object.prototype.propertyIsEnumerable,Dp=(t,e,s)=>e in t?lP(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ta=(t,e)=>{for(var s in e||(e={}))hP.call(e,s)&&Dp(t,s,e[s]);if($p)for(var s of $p(e))pP.call(e,s)&&Dp(t,s,e[s]);return t},fP=(t,e)=>dP(t,uP(e));function Qm(t,e,s){var n;const r=mn(t);return((n=e.rpcMap)==null?void 0:n[r.reference])||`${Jm}?chainId=${r.namespace}:${r.reference}&projectId=${s}`}function gP(t){return t.includes(":")?t.split(":")[1]:t}function ey(t){return t.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function mP(t,e){const s=Object.keys(e.namespaces).filter(r=>r.includes(t));if(!s.length)return[];const n=[];return s.forEach(r=>{const i=e.namespaces[r].accounts;n.push(...i)}),n}function Lp(t){return Object.fromEntries(Object.entries(t).filter(([e,s])=>{var n,r;return((n=s==null?void 0:s.chains)==null?void 0:n.length)&&((r=s==null?void 0:s.chains)==null?void 0:r.length)>0}))}function sa(t={},e={}){const s=Lp(Mp(t)),n=Lp(Mp(e));return rP(s,n)}function Mp(t){var e,s,n,r,i;const o={};if(!Gs(t))return o;for(const[a,c]of Object.entries(t)){const l=lc(a)?[a]:c.chains,d=c.methods||[],u=c.events||[],h=c.rpcMap||{},p=Xr(a);o[p]=fP(ta(ta({},o[p]),c),{chains:Ks(l,(e=o[p])==null?void 0:e.chains),methods:Ks(d,(s=o[p])==null?void 0:s.methods),events:Ks(u,(n=o[p])==null?void 0:n.events)}),(Gs(h)||Gs(((r=o[p])==null?void 0:r.rpcMap)||{}))&&(o[p].rpcMap=ta(ta({},h),(i=o[p])==null?void 0:i.rpcMap))}return o}function Bp(t){return t.includes(":")?t.split(":")[2]:t}function jp(t){const e={};for(const[s,n]of Object.entries(t)){const r=n.methods||[],i=n.events||[],o=n.accounts||[],a=lc(s)?[s]:n.chains?n.chains:ey(n.accounts);e[s]={chains:a,methods:r,events:i,accounts:o}}return e}function Qc(t){return typeof t=="number"?t:t.includes("0x")?parseInt(t,16):(t=t.includes(":")?t.split(":")[1]:t,isNaN(Number(t))?t:Number(t))}function yP(t){try{const e=JSON.parse(t);return typeof e=="object"&&e!==null&&!Array.isArray(e)}catch{return!1}}const ty={},oi=t=>ty[t],el=(t,e)=>{ty[t]=e};var wP=Object.defineProperty,Fp=Object.getOwnPropertySymbols,EP=Object.prototype.hasOwnProperty,bP=Object.prototype.propertyIsEnumerable,qp=(t,e,s)=>e in t?wP(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Wp=(t,e)=>{for(var s in e||(e={}))EP.call(e,s)&&qp(t,s,e[s]);if(Fp)for(var s of Fp(e))bP.call(e,s)&&qp(t,s,e[s]);return t};const Hp="eip155",CP=["atomic","flow-control","paymasterService","sessionKeys","auxiliaryFunds"],vP=t=>t&&t.startsWith("0x")?BigInt(t).toString(10):t,tl=t=>t&&t.startsWith("0x")?t:`0x${BigInt(t).toString(16)}`,Vp=t=>Object.keys(t).filter(e=>CP.includes(e)).reduce((e,s)=>(e[s]=_P(t[s]),e),{}),_P=t=>typeof t=="string"&&yP(t)?JSON.parse(t):t,AP=(t,e,s)=>{const{sessionProperties:n={},scopedProperties:r={}}=t,i={};if(!Gs(r)&&!Gs(n))return;const o=Vp(n);for(const a of s){const c=vP(a);if(!c)continue;i[tl(c)]=o;const l=r==null?void 0:r[`${Hp}:${c}`];if(l){const d=l==null?void 0:l[`${Hp}:${c}:${e}`];i[tl(c)]=Wp(Wp({},i[tl(c)]),Vp(d||l))}}for(const[a,c]of Object.entries(i))Object.keys(c).length===0&&delete i[a];return Object.keys(i).length>0?i:void 0};var SP=Object.defineProperty,IP=(t,e,s)=>e in t?SP(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,NP=(t,e,s)=>IP(t,e+"",s);let sl;class Kd{constructor(e){NP(this,"storage"),this.storage=e}async getItem(e){return await this.storage.getItem(e)}async setItem(e,s){return await this.storage.setItem(e,s)}async removeItem(e){return await this.storage.removeItem(e)}static getStorage(e){return sl||(sl=new Kd(e)),sl}}var TP=Object.defineProperty,RP=Object.defineProperties,OP=Object.getOwnPropertyDescriptors,zp=Object.getOwnPropertySymbols,PP=Object.prototype.hasOwnProperty,xP=Object.prototype.propertyIsEnumerable,Kp=(t,e,s)=>e in t?TP(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,kP=(t,e)=>{for(var s in e||(e={}))PP.call(e,s)&&Kp(t,s,e[s]);if(zp)for(var s of zp(e))xP.call(e,s)&&Kp(t,s,e[s]);return t},UP=(t,e)=>RP(t,OP(e));async function $P(t,e){const s=mn(t.result.capabilities.caip345.caip2),n=t.result.capabilities.caip345.transactionHashes,r=await Promise.allSettled(n.map(u=>DP(s.reference,u,e))),i=r.filter(u=>u.status==="fulfilled").map(u=>u.value).filter(u=>u);r.filter(u=>u.status==="rejected").forEach(u=>console.warn("Failed to fetch transaction receipt:",u.reason));const o=!i.length||i.some(u=>!u),a=i.every(u=>(u==null?void 0:u.status)==="0x1"),c=i.every(u=>(u==null?void 0:u.status)==="0x0"),l=i.some(u=>(u==null?void 0:u.status)==="0x0");let d;return o?d=100:a?d=200:c?d=500:l&&(d=600),{id:t.result.id,version:t.request.version,atomic:t.request.atomicRequired,chainId:t.request.chainId,capabilities:t.result.capabilities,receipts:i,status:d}}async function DP(t,e,s){return await s(parseInt(t)).request(Fs("eth_getTransactionReceipt",[e]))}async function LP({sendCalls:t,storage:e}){const s=await e.getItem(ii);await e.setItem(ii,UP(kP({},s),{[t.result.id]:{request:t.request,result:t.result,expiry:st(cP)}}))}async function MP({resultId:t,storage:e}){const s=await e.getItem(ii);if(s){delete s[t],await e.setItem(ii,s);for(const n in s)qs(s[n].expiry)&&delete s[n];await e.setItem(ii,s)}}async function BP({resultId:t,storage:e}){const s=await e.getItem(ii),n=s==null?void 0:s[t];if(n&&!qs(n.expiry))return n;await MP({resultId:t,storage:e})}var jP=Object.defineProperty,FP=Object.defineProperties,qP=Object.getOwnPropertyDescriptors,Gp=Object.getOwnPropertySymbols,WP=Object.prototype.hasOwnProperty,HP=Object.prototype.propertyIsEnumerable,cd=(t,e,s)=>e in t?jP(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,nl=(t,e)=>{for(var s in e||(e={}))WP.call(e,s)&&cd(t,s,e[s]);if(Gp)for(var s of Gp(e))HP.call(e,s)&&cd(t,s,e[s]);return t},rl=(t,e)=>FP(t,qP(e)),rr=(t,e,s)=>cd(t,typeof e!="symbol"?e+"":e,s);class VP{constructor(e){rr(this,"name","eip155"),rr(this,"client"),rr(this,"chainId"),rr(this,"namespace"),rr(this,"httpProviders"),rr(this,"events"),rr(this,"storage"),this.namespace=e.namespace,this.events=oi("events"),this.client=oi("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain()),this.storage=Kd.getStorage(this.client.core.storage)}async request(e){switch(e.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain());case"wallet_getCapabilities":return await this.getCapabilities(e);case"wallet_getCallsStatus":return await this.getCallStatus(e);case"wallet_sendCalls":return await this.sendCalls(e)}return this.namespace.methods.includes(e.request.method)?await this.client.request(e):this.getHttpProvider().request(e.request)}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(parseInt(e),s);const n=this.chainId;this.chainId=parseInt(e),this.events.emit(zd.DEFAULT_CHAIN_CHANGED,{currentCaipChainId:`${this.name}:${e}`,previousCaipChainId:`${this.name}:${n}`})}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,s){const n=s||Qm(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new fd(new gf(n,oi("disableProviderPing")))}setHttpProvider(e,s){const n=this.createHttpProvider(e,s);n&&(this.httpProviders[e]=n)}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var n;const r=parseInt(gP(s));e[r]=this.createHttpProvider(r,(n=this.namespace.rpcMap)==null?void 0:n[s])}),e}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}getHttpProvider(e){const s=e||this.chainId;return this.httpProviders[s]||(this.httpProviders=rl(nl({},this.httpProviders),{[s]:this.createHttpProvider(s)}),this.httpProviders[s])}async handleSwitchChain(e){var s,n;let r=e.request.params?(s=e.request.params[0])==null?void 0:s.chainId:"0x0";r=r.startsWith("0x")?r:`0x${r}`;const i=parseInt(r,16);if(this.isChainApproved(i))this.setDefaultChain(`${i}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:r}]},chainId:(n=this.namespace.chains)==null?void 0:n[0]}),this.setDefaultChain(`${i}`);else throw new Error(`Failed to switch to chain 'eip155:${i}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(e){return this.namespace.chains.includes(`${this.name}:${e}`)}async getCapabilities(e){var s,n,r,i,o;const a=(n=(s=e.request)==null?void 0:s.params)==null?void 0:n[0],c=((i=(r=e.request)==null?void 0:r.params)==null?void 0:i[1])||[];if(!a)throw new Error("Missing address parameter in `wallet_getCapabilities` request");const l=this.client.session.get(e.topic),d=((o=l==null?void 0:l.sessionProperties)==null?void 0:o.capabilities)||{},u=`${a}${c.join(",")}`,h=d==null?void 0:d[u];if(h)return h;let p;try{p=AP(l,a,c)}catch(f){console.warn("Failed to extract capabilities from session",f)}if(p)return p;const m=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:rl(nl({},l.sessionProperties||{}),{capabilities:rl(nl({},d||{}),{[u]:m})})})}catch(f){console.warn("Failed to update session with capabilities",f)}return m}async getCallStatus(e){var s,n,r;const i=this.client.session.get(e.topic),o=(s=i.sessionProperties)==null?void 0:s.bundler_name;if(o){const l=this.getBundlerUrl(e.chainId,o);try{return await this.getUserOperationReceipt(l,e)}catch(d){console.warn("Failed to fetch call status from bundler",d,l)}}const a=(n=i.sessionProperties)==null?void 0:n.bundler_url;if(a)try{return await this.getUserOperationReceipt(a,e)}catch(l){console.warn("Failed to fetch call status from custom bundler",l,a)}const c=await BP({resultId:(r=e.request.params)==null?void 0:r[0],storage:this.storage});if(c)try{return await $P(c,this.getHttpProvider.bind(this))}catch(l){console.warn("Failed to fetch call status from stored send calls",l,c)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw new Error("Fetching call status not approved by the wallet.")}async getUserOperationReceipt(e,s){var n;const r=new URL(e),i=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Fs("eth_getUserOperationReceipt",[(n=s.request.params)==null?void 0:n[0]]))});if(!i.ok)throw new Error(`Failed to fetch user operation receipt - ${i.status}`);return await i.json()}getBundlerUrl(e,s){return`${aP}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${s}`}async sendCalls(e){var s,n,r;const i=await this.client.request(e),o=(s=e.request.params)==null?void 0:s[0],a=i==null?void 0:i.id,c=(i==null?void 0:i.capabilities)||{},l=(n=c==null?void 0:c.caip345)==null?void 0:n.caip2,d=(r=c==null?void 0:c.caip345)==null?void 0:r.transactionHashes;return!a||!l||!(d!=null&&d.length)||await LP({sendCalls:{request:o,result:i},storage:this.storage}),i}}var zP=Object.defineProperty,KP=(t,e,s)=>e in t?zP(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Vr=(t,e,s)=>KP(t,typeof e!="symbol"?e+"":e,s);class GP{constructor(e){Vr(this,"name",Xm),Vr(this,"client"),Vr(this,"httpProviders"),Vr(this,"events"),Vr(this,"namespace"),Vr(this,"chainId"),this.namespace=e.namespace,this.events=oi("events"),this.client=oi("client"),this.chainId=this.getDefaultChain(),this.name=this.getNamespaceName(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(e.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(e.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(e.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(e.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider(e.chainId).request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s);const n=this.chainId;this.chainId=e,this.events.emit(zd.DEFAULT_CHAIN_CHANGED,{currentCaipChainId:`${this.name}:${e}`,previousCaipChainId:`${this.name}:${n}`})}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getNamespaceName(){const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return mn(e).namespace}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){var e,s;const n={};return(s=(e=this.namespace)==null?void 0:e.accounts)==null||s.forEach(r=>{var i,o;const a=mn(r),c=(o=(i=this.namespace)==null?void 0:i.rpcMap)==null?void 0:o[`${a.namespace}:${a.reference}`];n[a.reference]=this.createHttpProvider(r,c)}),n}getHttpProvider(e){const s=mn(e).reference,n=this.httpProviders[s];if(typeof n>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return n}setHttpProvider(e,s){const n=this.createHttpProvider(e,s);n&&(this.httpProviders[e]=n)}createHttpProvider(e,s){const n=s||Qm(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new fd(new gf(n,oi("disableProviderPing")))}}var YP=Object.defineProperty,ZP=Object.defineProperties,JP=Object.getOwnPropertyDescriptors,Yp=Object.getOwnPropertySymbols,XP=Object.prototype.hasOwnProperty,QP=Object.prototype.propertyIsEnumerable,ld=(t,e,s)=>e in t?YP(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Oi=(t,e)=>{for(var s in e||(e={}))XP.call(e,s)&&ld(t,s,e[s]);if(Yp)for(var s of Yp(e))QP.call(e,s)&&ld(t,s,e[s]);return t},na=(t,e)=>ZP(t,JP(e)),ts=(t,e,s)=>ld(t,typeof e!="symbol"?e+"":e,s);let ex=class sy{constructor(e){ts(this,"client"),ts(this,"namespaces"),ts(this,"optionalNamespaces"),ts(this,"sessionProperties"),ts(this,"scopedProperties"),ts(this,"events",new yd),ts(this,"rpcProviders",{}),ts(this,"session"),ts(this,"providerOpts"),ts(this,"logger"),ts(this,"uri"),ts(this,"disableProviderPing",!1),ts(this,"connectParams");var s,n;this.providerOpts=e,this.logger=Fd({logger:(s=e.logger)!=null?s:Up,name:(n=this.providerOpts.name)!=null?n:Zm}),this.disableProviderPing=(e==null?void 0:e.disableProviderPing)||!1}static async init(e){const s=new sy(e);return await s.initialize(),s}async request(e,s,n){const[r,i]=this.validateChain(s);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(r).request({request:Oi({},e),chainId:`${r}:${i}`,topic:this.session.topic,expiry:n})}sendAsync(e,s,n,r){const i=new Date().getTime();this.request(e,n,r).then(o=>s(null,Gi(i,o))).catch(o=>s(o,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(e=this.session)==null?void 0:e.topic,reason:Ye("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw new Error("Sign Client not initialized");if(this.connectParams=e,this.setNamespaces(e),this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,s){if(!this.client)throw new Error("Sign Client not initialized");this.setNamespaces(e),await this.cleanupPendingPairings();const{uri:n,response:r}=await this.client.authenticate(e,s);n&&(this.uri=n,this.events.emit("display_uri",n));const i=await r();if(this.session=i.session,this.session){const o=jp(this.session.namespaces);this.namespaces=sa(this.namespaces,o),await this.persist("namespaces",this.namespaces),this.onConnect()}return i}on(e,s){this.events.on(e,s)}once(e,s){this.events.once(e,s)}removeListener(e,s){this.events.removeListener(e,s)}off(e,s){this.events.off(e,s)}get isWalletConnect(){return!0}async pair(e){var s,n;const{uri:r,approval:i}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties,authentication:(s=this.connectParams)==null?void 0:s.authentication,walletPay:(n=this.connectParams)==null?void 0:n.walletPay});r&&(this.uri=r,this.events.emit("display_uri",r));const o=await i();this.session=o;const a=jp(o.namespaces);return this.namespaces=sa(this.namespaces,a),await this.persist("namespaces",this.namespaces),await this.persist("optionalNamespaces",this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(e,s){try{if(!this.session)return;const[n,r]=this.validateChain(e);this.getProvider(n).setDefaultChain(r,s)}catch(n){if(!/Please call connect/.test(n.message))throw n}}async cleanupPendingPairings(e={}){try{this.logger.info("Cleaning up inactive pairings...");const s=this.client.pairing.getAll();if(!wn(s))return;for(const n of s)e.deletePairings?this.client.core.expirer.set(n.topic,0):await this.client.core.relayer.subscriber.unsubscribe(n.topic);this.logger.info(`Inactive pairings cleared: ${s.length}`)}catch(s){this.logger.warn(s,"Failed to cleanup pending pairings")}}abortPairingAttempt(){this.logger.warn("abortPairingAttempt is deprecated. This is now a no-op.")}async checkStorage(){this.namespaces=await this.getFromStore("namespaces")||{},this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.session&&this.createProviders()}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){var e,s;if(this.client=this.providerOpts.client||await PO.init({core:this.providerOpts.core,logger:this.providerOpts.logger||Up,relayUrl:this.providerOpts.relayUrl||iP,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.providerOpts.session)try{this.session=this.client.session.get(this.providerOpts.session.topic)}catch(n){throw this.logger.error(n,"Failed to get session"),new Error(`The provided session: ${(s=(e=this.providerOpts)==null?void 0:e.session)==null?void 0:s.topic} doesn't exist in the Sign client`)}else{const n=this.client.session.getAll();this.session=n[0]}this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const e=[...new Set(Object.keys(this.session.namespaces).map(s=>Xr(s)))];el("client",this.client),el("events",this.events),el("disableProviderPing",this.disableProviderPing),e.forEach(s=>{if(!this.session)return;const n=mP(s,this.session);if((n==null?void 0:n.length)===0)return;const r=ey(n),i=sa(this.namespaces,this.optionalNamespaces),o=na(Oi({},i[s]),{accounts:n,chains:r});switch(s){case"eip155":this.rpcProviders[s]=new VP({namespace:o});break;default:this.rpcProviders[s]=new GP({namespace:o})}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",e=>{var s;const{topic:n}=e;n===((s=this.session)==null?void 0:s.topic)&&this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{var s;const{params:n,topic:r}=e;if(r!==((s=this.session)==null?void 0:s.topic))return;const{event:i}=n;if(i.name==="accountsChanged"){const o=i.data;o&&wn(o)&&this.events.emit("accountsChanged",o.map(Bp))}else if(i.name==="chainChanged"){const o=n.chainId,a=n.event.data,c=Xr(o),l=Qc(o)!==Qc(a)?`${c}:${Qc(a)}`:o;this.onChainChanged({currentCaipChainId:l})}else this.events.emit(i.name,i.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:s})=>{var n,r;if(e!==((n=this.session)==null?void 0:n.topic))return;const{namespaces:i}=s,o=(r=this.client)==null?void 0:r.session.get(e);this.session=na(Oi({},o),{namespaces:i}),this.onSessionUpdate(),this.events.emit("session_update",{topic:e,params:s})}),this.client.on("session_delete",async e=>{var s;e.topic===((s=this.session)==null?void 0:s.topic)&&(await this.cleanup(),this.events.emit("session_delete",e),this.events.emit("disconnect",na(Oi({},Ye("USER_DISCONNECTED")),{data:e.topic})))}),this.on(zd.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(na(Oi({},e),{internal:!0}))})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[Xm]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var s;this.getProvider(e).updateNamespace((s=this.session)==null?void 0:s.namespaces[e])})}setNamespaces(e){const{namespaces:s={},optionalNamespaces:n={},sessionProperties:r,scopedProperties:i}=e;this.optionalNamespaces=sa(s,n),this.sessionProperties=r,this.scopedProperties=i}validateChain(e){const[s,n]=(e==null?void 0:e.split(":"))||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[s,n];if(s&&!Object.keys(this.namespaces||{}).map(o=>Xr(o)).includes(s))throw new Error(`Namespace '${s}' is not configured. Please call connect() first with namespace config.`);if(s&&n)return[s,n];const r=Xr(Object.keys(this.namespaces)[0]),i=this.rpcProviders[r].getDefaultChain();return[r,i]}async requestAccounts(){const[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged({currentCaipChainId:e,previousCaipChainId:s,internal:n=!1}){if(!this.namespaces)return;const[r,i]=this.validateChain(e);i&&(this.updateNamespaceChain(r,i),n?(this.events.emit("chainChanged",i),this.emitAccountsChangedOnChainChange({namespace:r,currentCaipChainId:e,previousCaipChainId:s})):this.getProvider(r).setDefaultChain(i),await this.persist("namespaces",this.namespaces))}emitAccountsChangedOnChainChange({namespace:e,currentCaipChainId:s,previousCaipChainId:n}){var r,i;try{if(n===s)return;const o=(i=(r=this.session)==null?void 0:r.namespaces[e])==null?void 0:i.accounts;if(!o)return;const a=o.filter(c=>c.includes(`${s}:`)).map(Bp);if(!wn(a))return;this.events.emit("accountsChanged",a)}catch(o){this.logger.warn(o,"Failed to emit accountsChanged on chain change")}}updateNamespaceChain(e,s){if(!this.namespaces)return;const n=this.namespaces[e]?e:`${e}:${s}`,r={chains:[],methods:[],events:[],defaultChain:s};this.namespaces[n]?this.namespaces[n]&&(this.namespaces[n].defaultChain=s):this.namespaces[n]=r}onConnect(){this.createProviders(),this.events.emit("connect",{session:this.session})}async cleanup(){this.connectParams=void 0,this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,await this.deleteFromStore("namespaces"),await this.deleteFromStore("optionalNamespaces"),await this.deleteFromStore("sessionProperties"),this.session=void 0,this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(e,s){var n;const r=((n=this.session)==null?void 0:n.topic)||"";await this.client.core.storage.setItem(`${ea}/${e}${r}`,s)}async getFromStore(e){var s;const n=((s=this.session)==null?void 0:s.topic)||"";return await this.client.core.storage.getItem(`${ea}/${e}${n}`)}async deleteFromStore(e){var s;const n=((s=this.session)==null?void 0:s.topic)||"";await this.client.core.storage.removeItem(`${ea}/${e}${n}`)}async cleanupStorage(){var e;try{if(((e=this.client)==null?void 0:e.session.length)>0)return;const s=await this.client.core.storage.getKeys();for(const n of s)n.startsWith(ea)&&await this.client.core.storage.removeItem(n)}catch(s){this.logger.warn(s,"Failed to cleanup storage")}}};const Zp=2147483648,tx={convertEVMChainIdToCoinType(t){if(t>=Zp)throw new Error("Invalid chainId");return(Zp|t)>>>0}},ps=Ke({suggestions:[],loading:!1}),sx={state:ps,subscribe(t){return wt(ps,()=>t(ps))},subscribeKey(t,e){return Et(ps,t,e)},async resolveName(t){var e,s;try{return await he.lookupEnsName(t)}catch(n){const r=n;throw new Error(((s=(e=r==null?void 0:r.reasons)==null?void 0:e[0])==null?void 0:s.description)||"Error resolving name")}},async isNameRegistered(t){try{return await he.lookupEnsName(t),!0}catch{return!1}},async getSuggestions(t){try{ps.loading=!0,ps.suggestions=[];const e=await he.getEnsNameSuggestions(t);return ps.suggestions=e.suggestions||[],ps.suggestions}catch(e){const s=Hi.parseEnsApiError(e,"Error fetching name suggestions");throw new Error(s)}finally{ps.loading=!1}},async getNamesForAddress(t){try{if(!w.state.activeCaipNetwork)return[];const s=M.getEnsFromCacheForAddress(t);if(s)return s;const n=await he.reverseLookupEnsName({address:t});return M.updateEnsCache({address:t,ens:n,timestamp:Date.now()}),n}catch(e){const s=Hi.parseEnsApiError(e,"Error fetching names for address");throw new Error(s)}},async registerName(t){var r;const e=w.state.activeCaipNetwork,s=(r=w.getAccountData(e==null?void 0:e.chainNamespace))==null?void 0:r.address,n=q.getAuthConnector();if(!e)throw new Error("Network not found");if(!s||!n)throw new Error("Address or auth connector not found");ps.loading=!0;try{const i=JSON.stringify({name:t,attributes:{},timestamp:Math.floor(Date.now()/1e3)});le.pushTransactionStack({onCancel(){le.replace("RegisterAccountName")}});const o=await K.signMessage(i);ps.loading=!1;const a=e.id;if(!a)throw new Error("Network not found");const c=tx.convertEVMChainIdToCoinType(Number(a));await he.registerEnsName({coinType:c,address:s,signature:o,message:i}),w.setAccountProp("profileName",t,e.chainNamespace),M.updateEnsCache({address:s,ens:[{name:t,registered_at:new Date().toISOString(),updated_at:void 0,addresses:{},attributes:[]}],timestamp:Date.now()}),le.replace("RegisterAccountNameSuccess")}catch(i){const o=Hi.parseEnsApiError(i,`Error registering name ${t}`);throw le.replace("RegisterAccountName"),new Error(o)}finally{ps.loading=!1}},validateName(t){return/^[a-zA-Z0-9-]{4,}$/u.test(t)},parseEnsApiError(t,e){var n,r;const s=t;return((r=(n=s==null?void 0:s.reasons)==null?void 0:n[0])==null?void 0:r.description)||e}},Hi=vs(sx);function dd(t){try{return new URL(t)}catch{return null}}function nx(t){const e=t.split("/"),s=e.length>0&&e[0]!==void 0?e[0]:"",n=s.lastIndexOf(":");return n===-1?{host:s}:{host:s.slice(0,n),port:s.slice(n+1)}}function rx(t){const e=t.indexOf("://");if(e===-1)return null;const s=t.slice(0,e),n=e+3;let r=t.indexOf("/",n);r===-1&&(r=t.length);const i=t.slice(n,r),o=i.lastIndexOf(":");return o===-1?{scheme:s,host:i}:{scheme:s,host:i.slice(0,o),port:i.slice(o+1)}}function ix(t,e){if(e.includes("://")){const o=dd(e);return o?o.origin===t:!1}const{host:s,port:n}=nx(e),r=t.indexOf("://");if(r!==-1){const o=r+3;let a=t.indexOf("/",o);a===-1&&(a=t.length);const c=t.slice(o,a);if(n!==void 0)return`${s}:${n}`===c;const l=c.split(":")[0];return s===l}const i=dd(t);return i?n!==void 0?s===i.hostname&&n===(i.port||void 0):s===i.hostname:!1}function ox(t,e,s){let n=s,r;const i=n.indexOf("://");i!==-1&&(r=n.slice(0,i),n=n.slice(i+3));const o=n.indexOf("/");o!==-1&&(n=n.slice(0,o));let a=n,c;const l=a.lastIndexOf(":");l!==-1&&(c=a.slice(l+1),a=a.slice(0,l));const d=a.split(".");for(const f of d)if(f.includes("*")&&f!=="*")return!1;const u=t.protocol.replace(/:$/u,"");if(r&&r!==u||c!==void 0&&c!=="*"&&c!==t.port)return!1;const h=rx(e),m=(h?h.host:t.hostname).split(".");if(d.length!==m.length)return!1;for(let f=d.length-1;f>=0;f-=1){const y=d[f],b=m[f];if(y!=="*"&&y!==b)return!1}return!0}const ax={ton:["ton_sendMessage","ton_signData"],solana:["solana_signMessage","solana_signTransaction","solana_requestAccounts","solana_getAccounts","solana_signAllTransactions","solana_signAndSendTransaction"],eip155:["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode","wallet_getCallsStatus","wallet_showCallsStatus","wallet_sendCalls","wallet_getCapabilities","wallet_grantPermissions","wallet_revokePermissions","wallet_getAssets"],bip122:["sendTransfer","signMessage","signPsbt","getAccountAddresses"]},Wn={RPC_ERROR_CODE:{USER_REJECTED:5e3,USER_REJECTED_METHODS:5002},getMethodsByChainNamespace(t){return ax[t]||[]},createDefaultNamespace(t){return{methods:this.getMethodsByChainNamespace(t),events:["accountsChanged","chainChanged"],chains:[],rpcMap:{}}},applyNamespaceOverrides(t,e){if(!e)return{...t};const s={...t},n=new Set;if(e.methods&&Object.keys(e.methods).forEach(r=>n.add(r)),e.chains&&Object.keys(e.chains).forEach(r=>n.add(r)),e.events&&Object.keys(e.events).forEach(r=>n.add(r)),e.rpcMap&&Object.keys(e.rpcMap).forEach(r=>{const[i]=r.split(":");i&&n.add(i)}),n.forEach(r=>{s[r]||(s[r]=this.createDefaultNamespace(r))}),e.methods&&Object.entries(e.methods).forEach(([r,i])=>{s[r]&&(s[r].methods=i)}),e.chains&&Object.entries(e.chains).forEach(([r,i])=>{s[r]&&(s[r].chains=i)}),e.events&&Object.entries(e.events).forEach(([r,i])=>{s[r]&&(s[r].events=i)}),e.rpcMap){const r=new Set;Object.entries(e.rpcMap).forEach(([i,o])=>{const[a,c]=i.split(":");!a||!c||!s[a]||(s[a].rpcMap||(s[a].rpcMap={}),r.has(a)||(s[a].rpcMap={},r.add(a)),s[a].rpcMap[c]=o)})}return s},createNamespaces(t,e){const s=t.reduce((n,r)=>{const{id:i,chainNamespace:o,rpcUrls:a}=r,c=a.default.http[0];n[o]||(n[o]=this.createDefaultNamespace(o));const l=`${o}:${i}`,d=n[o];switch(d.chains.push(l),l){case"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp":d.chains.push("solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ");break;case"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1":d.chains.push("solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K");break}return d!=null&&d.rpcMap&&c&&(d.rpcMap[i]=c),n},{});return this.applyNamespaceOverrides(s,e)},resolveReownName:async t=>{var n;const e=await Hi.resolveName(t);return((n=(e!=null&&e.addresses?Object.values(e.addresses):[])[0])==null?void 0:n.address)||!1},getChainsFromNamespaces(t={}){return Object.values(t).flatMap(e=>{const s=e.chains||[],n=e.accounts.map(r=>{const[i,o]=r.split(":");return`${i}:${o}`});return Array.from(new Set([...s,...n]))})},isSessionEventData(t){return typeof t=="object"&&t!==null&&"id"in t&&"topic"in t&&"params"in t&&typeof t.params=="object"&&t.params!==null&&"chainId"in t.params&&"event"in t.params&&typeof t.params.event=="object"&&t.params.event!==null},isUserRejectedRequestError(t){try{if(typeof t=="object"&&t!==null){const e=t,s=typeof e.code=="number",n=s&&e.code===Wn.RPC_ERROR_CODE.USER_REJECTED_METHODS,r=s&&e.code===Wn.RPC_ERROR_CODE.USER_REJECTED;return n||r}return!1}catch{return!1}},isOriginAllowed(t,e,s){const n=[...e,...s];if(e.length===0)return!0;const r=dd(t);if(!r)return n.some(i=>!i.includes("*")&&i===t);if(r.hostname==="localhost"||r.hostname==="127.0.0.1")return!0;for(const i of n)if(i.includes("*")){if(ox(r,t,i))return!0}else if(ix(t,i))return!0;return!1},listenWcProvider({universalProvider:t,namespace:e,onConnect:s,onDisconnect:n,onAccountsChanged:r,onChainChanged:i,onDisplayUri:o}){s&&t.on("connect",()=>{const a=Wn.getWalletConnectAccounts(t,e);s(a)}),n&&t.on("disconnect",()=>{n()}),r&&t.on("accountsChanged",a=>{var c,l,d,u,h;try{const p=((d=(l=(c=t.session)==null?void 0:c.namespaces)==null?void 0:l[e])==null?void 0:d.accounts)||[],m=(h=(u=t.rpcProviders)==null?void 0:u[e])==null?void 0:h.getDefaultChain(),f=a.map(y=>{const b=p.find(C=>C.includes(`${e}:${m}:${y}`));if(!b)return;const{chainId:S,chainNamespace:v}=ct.parseCaipAddress(b);return{address:y,chainId:S,chainNamespace:v}}).filter(y=>y!==void 0);f.length>0&&r(f)}catch(p){console.warn("Failed to parse accounts for namespace on accountsChanged event",e,a,p)}}),i&&t.on("chainChanged",a=>{i(a)}),o&&t.on("display_uri",a=>{o(a)})},getWalletConnectAccounts(t,e){var r,i,o,a;const s=new Set,n=(a=(o=(i=(r=t==null?void 0:t.session)==null?void 0:r.namespaces)==null?void 0:i[e])==null?void 0:o.accounts)==null?void 0:a.map(c=>ct.parseCaipAddress(c)).filter(({address:c})=>s.has(c.toLowerCase())?!1:(s.add(c.toLowerCase()),!0));return n&&n.length>0?n:[]}},cx=[U.CONNECTOR_ID.AUTH,U.CONNECTOR_ID.WALLET_CONNECT];class lx{constructor(e){this.availableConnectors=[],this.availableConnections=[],this.providerHandlers={},this.eventListeners=new Map,this.getCaipNetworks=s=>w.getCaipNetworks(s),this.getConnectorId=s=>q.getConnectorId(s),e&&this.construct(e)}construct(e){this.projectId=e.projectId,this.namespace=e.namespace,this.adapterType=e.adapterType}get connectors(){return this.availableConnectors}get connections(){return this.availableConnections}get networks(){return this.getCaipNetworks(this.namespace)}onAuthConnected({accounts:e,chainId:s}){const n=this.getCaipNetworks().filter(r=>r.chainNamespace===this.namespace).find(r=>r.id.toString()===(s==null?void 0:s.toString()));e&&n&&this.addConnection({connectorId:U.CONNECTOR_ID.AUTH,accounts:e,caipNetwork:n})}setAuthProvider(e){e.onConnect(this.onAuthConnected.bind(this)),e.onSocialConnected(this.onAuthConnected.bind(this)),this.addConnector({id:U.CONNECTOR_ID.AUTH,type:"AUTH",name:U.CONNECTOR_NAMES.AUTH,provider:e,imageId:void 0,chain:this.namespace,chains:[]})}addConnector(...e){const s=new Set;this.availableConnectors=[...e,...this.availableConnectors].filter(n=>s.has(n.id)?!1:(s.add(n.id),!0)),this.emit("connectors",this.availableConnectors)}addConnection(...e){const s=new Set;this.availableConnections=[...e,...this.availableConnections].filter(n=>s.has(n.connectorId.toLowerCase())?!1:(s.add(n.connectorId.toLowerCase()),!0)),this.emit("connections",this.availableConnections)}deleteConnection(e){this.availableConnections=this.availableConnections.filter(s=>s.connectorId.toLowerCase()!==e.toLowerCase()),this.emit("connections",this.availableConnections)}clearConnections(e=!1){this.availableConnections=[],e&&this.emit("connections",this.availableConnections)}setStatus(e,s){w.setAccountProp("status",e,s)}on(e,s){var n;this.eventListeners.has(e)||this.eventListeners.set(e,new Set),(n=this.eventListeners.get(e))==null||n.add(s)}off(e,s){const n=this.eventListeners.get(e);n&&n.delete(s)}removeAllEventListeners(){this.eventListeners.forEach(e=>{e.clear()})}emit(e,s){const n=this.eventListeners.get(e);n&&n.forEach(r=>r(s))}async connectWalletConnect(e){try{return{clientId:(await this.getWalletConnectConnector().connectWalletConnect()).clientId}}catch(s){throw Wn.isUserRejectedRequestError(s)?new _f(s):s}}async switchNetwork(e){var i;const{caipNetwork:s}=e,n=He.getProviderId(s.chainNamespace),r=He.getProvider(s.chainNamespace);if(!r)throw new Error("Provider not found");if(n==="WALLET_CONNECT"){r.setDefaultChain(s.caipNetworkId);return}if(n==="AUTH"){const o=(i=q.getAuthConnector())==null?void 0:i.provider;if(!o)throw new Error("Auth provider not found");const a=os(s.chainNamespace);await o.switchNetwork({chainId:s.caipNetworkId});const c=await o.getUser({chainId:s.caipNetworkId,preferredAccountType:a});this.emit("switchNetwork",c)}}getWalletConnectConnector(){const e=this.connectors.find(s=>s.id==="walletConnect");if(!e)throw new Error("WalletConnectConnector not found");return e}onConnect(e,s){if(e.length>0){const{address:n,chainId:r}=Z.getAccount(e[0]),i=this.getCaipNetworks().filter(a=>a.chainNamespace===this.namespace).find(a=>a.id.toString()===(r==null?void 0:r.toString())),o=this.connectors.find(a=>a.id===s);n&&(this.emit("accountChanged",{address:n,chainId:r,connector:o}),this.addConnection({connectorId:s,accounts:e.map(a=>{const{address:c}=Z.getAccount(a);return{address:c}}),caipNetwork:i}))}}onAccountsChanged(e,s,n=!0){var r,i;if(e.length>0){const{address:o}=Z.getAccount(e[0]),a=this.getConnection({connectorId:s,connections:this.connections,connectors:this.connectors});o&&((r=this.getConnectorId(U.CHAIN.EVM))==null?void 0:r.toLowerCase())===s.toLowerCase()&&this.emit("accountChanged",{address:o,chainId:(i=a==null?void 0:a.caipNetwork)==null?void 0:i.id,connector:a==null?void 0:a.connector}),this.addConnection({connectorId:s,accounts:e.map(c=>{const{address:l}=Z.getAccount(c);return{address:l}}),caipNetwork:a==null?void 0:a.caipNetwork})}else n&&this.onDisconnect(s)}onDisconnect(e){var s;this.removeProviderListeners(e),this.deleteConnection(e),((s=this.getConnectorId(U.CHAIN.EVM))==null?void 0:s.toLowerCase())===e.toLowerCase()&&this.emitFirstAvailableConnection(),this.connections.length===0&&this.emit("disconnect")}onChainChanged(e,s){var o;const n=typeof e=="string"&&e.startsWith("0x")?parseInt(e,16).toString():e.toString(),r=this.getConnection({connectorId:s,connections:this.connections,connectors:this.connectors}),i=this.getCaipNetworks().filter(a=>a.chainNamespace===this.namespace).find(a=>a.id.toString()===n);r&&this.addConnection({connectorId:s,accounts:r.accounts,caipNetwork:i}),((o=this.getConnectorId(U.CHAIN.EVM))==null?void 0:o.toLowerCase())===s.toLowerCase()&&this.emit("switchNetwork",{chainId:n})}listenProviderEvents(e,s){if(cx.includes(e))return;const n=o=>this.onAccountsChanged(o,e),r=o=>this.onChainChanged(o,e),i=()=>this.onDisconnect(e);this.providerHandlers[e]||(s.on("disconnect",i),s.on("accountsChanged",n),s.on("chainChanged",r),this.providerHandlers[e]={provider:s,disconnect:i,accountsChanged:n,chainChanged:r})}removeProviderListeners(e){if(this.providerHandlers[e]){const{provider:s,disconnect:n,accountsChanged:r,chainChanged:i}=this.providerHandlers[e];s.removeListener("disconnect",n),s.removeListener("accountsChanged",r),s.removeListener("chainChanged",i),this.providerHandlers[e]=null}}emitFirstAvailableConnection(){var s;const e=this.getConnection({connections:this.connections,connectors:this.connectors});if(e){const[n]=e.accounts;this.emit("accountChanged",{address:n==null?void 0:n.address,chainId:(s=e.caipNetwork)==null?void 0:s.id,connector:e.connector})}}getConnection({address:e,connectorId:s,connections:n,connectors:r}){if(s){const o=n.find(l=>l.connectorId.toLowerCase()===s.toLowerCase());if(!o)return null;const a=r.find(l=>l.id.toLowerCase()===o.connectorId.toLowerCase()),c=e?o.accounts.find(l=>l.address.toLowerCase()===e.toLowerCase()):o.accounts[0];return{...o,account:c,connector:a}}const i=n.find(o=>o.accounts.length>0&&r.some(a=>a.id.toLowerCase()===o.connectorId.toLowerCase()));if(i){const[o]=i.accounts,a=r.find(c=>c.id.toLowerCase()===i.connectorId.toLowerCase());return{...i,account:o,connector:a}}return null}}let ir=null;const Es={getSIWX(){return $.state.siwx},async initializeIfEnabled(t=w.getActiveCaipAddress()){var i,o,a;const e=$.state.siwx;if(!(e&&t))return;const[s,n,r]=t.split(":");if(w.checkIfSupportedNetwork(s,`${s}:${n}`))try{if((i=$.state.remoteFeatures)!=null&&i.emailCapture){const l=(o=w.getAccountData(s))==null?void 0:o.user;await Ne.open({view:"DataCapture",data:{email:(l==null?void 0:l.email)??void 0}});return}if(ir&&await ir,(await e.getSessions(`${s}:${n}`,r)).length)return;await Ne.open({view:"SIWXSignMessage"})}catch(c){console.error("SIWXUtil:initializeIfEnabled",c),we.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:this.getSIWXEventProperties(c)}),await((a=K._getClient())==null?void 0:a.disconnect().catch(console.error)),le.reset("Connect"),Ws.showError("A problem occurred while trying initialize authentication")}},async isAuthenticated(t=w.getActiveCaipAddress()){if(!$.state.siwx||!t)return!0;const{chainNamespace:s,chainId:n,address:r}=ct.parseCaipAddress(t),i=`${s}:${n}`;return(await Es.getSessions({address:r,caipNetworkId:i})).length>0},async requestSignMessage(){const t=$.state.siwx,e=Z.getPlainAddress(w.getActiveCaipAddress()),s=ki();if(!t)throw new Error("SIWX is not enabled");if(!e)throw new Error("No ActiveCaipAddress found");if(!s)throw new Error("No ActiveCaipNetwork or client found");try{const n=await t.createMessage({chainId:s.caipNetworkId,accountAddress:e}),r=n.toString();let i="";t.signMessage?i=await t.signMessage({message:r,chainId:s.caipNetworkId,accountAddress:e}):(q.getConnectorId(s.chainNamespace)===U.CONNECTOR_ID.AUTH&&le.pushTransactionStack({}),i=await K.signMessage(r)||""),await t.addSession({data:n,message:r,signature:i}),w.setLastConnectedSIWECaipNetwork(s),Ne.close(),we.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:this.getSIWXEventProperties()})}catch(n){(!Ne.state.open||le.state.view==="ApproveTransaction")&&await Ne.open({view:"SIWXSignMessage"}),Ws.showError("Error signing message"),we.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:this.getSIWXEventProperties(n)}),console.error("SWIXUtil:requestSignMessage",n)}},async cancelSignMessage(){var t;try{const e=this.getSIWX();if((t=e==null?void 0:e.getRequired)==null?void 0:t.call(e)){const n=w.getLastConnectedSIWECaipNetwork();if(n){const r=await(e==null?void 0:e.getSessions(n==null?void 0:n.caipNetworkId,Z.getPlainAddress(w.getActiveCaipAddress())||""));r&&r.length>0?await w.switchActiveNetwork(n):await K.disconnect()}else await K.disconnect()}else Ne.close();Ne.close(),we.sendEvent({event:"CLICK_CANCEL_SIWX",type:"track",properties:this.getSIWXEventProperties()})}catch(e){console.error("SIWXUtil:cancelSignMessage",e)}},async getAllSessions(){const t=this.getSIWX(),e=w.getAllRequestedCaipNetworks(),s=[];return await Promise.all(e.map(async n=>{const r=await(t==null?void 0:t.getSessions(n.caipNetworkId,Z.getPlainAddress(w.getActiveCaipAddress())||""));r&&s.push(...r)})),s},async getSessions(t){const e=$.state.siwx;let s=t==null?void 0:t.address;if(!s){const r=w.getActiveCaipAddress();s=Z.getPlainAddress(r)}let n=t==null?void 0:t.caipNetworkId;if(!n){const r=w.getActiveCaipNetwork();n=r==null?void 0:r.caipNetworkId}return e&&s&&n?e.getSessions(n,s):[]},async isSIWXCloseDisabled(){var e;const t=this.getSIWX();if(t){const s=le.state.view==="ApproveTransaction",n=le.state.view==="SIWXSignMessage";if(s||n)return((e=t.getRequired)==null?void 0:e.call(t))&&(await this.getSessions()).length===0}return!1},async authConnectorAuthenticate({authConnector:t,chainId:e,socialUri:s,preferredAccountType:n,chainNamespace:r}){var u;const i=Es.getSIWX(),o=ki();if(!i||!r.includes(U.CHAIN.EVM)||(u=$.state.remoteFeatures)!=null&&u.emailCapture){const h=await t.connect({chainId:e,socialUri:s,preferredAccountType:n});return{address:h.address,chainId:h.chainId,accounts:h.accounts}}const a=`${r}:${e}`,c=await i.createMessage({chainId:a,accountAddress:"<<AccountAddress>>"}),l={accountAddress:c.accountAddress,chainId:c.chainId,domain:c.domain,uri:c.uri,version:c.version,nonce:c.nonce,notBefore:c.notBefore,statement:c.statement,resources:c.resources,requestId:c.requestId,issuedAt:c.issuedAt,expirationTime:c.expirationTime,serializedMessage:c.toString()},d=await t.connect({chainId:e,socialUri:s,siwxMessage:l,preferredAccountType:n});return l.accountAddress=d.address,l.serializedMessage=d.message||"",d.signature&&d.message&&await Es.addEmbeddedWalletSession(l,d.message,d.signature),w.setLastConnectedSIWECaipNetwork(o),{address:d.address,chainId:d.chainId,accounts:d.accounts}},async addEmbeddedWalletSession(t,e,s){if(ir)return ir;const n=Es.getSIWX();return n?(ir=n.addSession({data:t,message:e,signature:s}).finally(()=>{ir=null}),ir):Promise.resolve()},async universalProviderAuthenticate({universalProvider:t,chains:e,methods:s}){var l,d,u;const n=Es.getSIWX(),r=ki(),i=new Set(e.map(h=>h.split(":")[0]));if(!n||i.size!==1||!i.has("eip155"))return!1;const o=await n.createMessage({chainId:((l=ki())==null?void 0:l.caipNetworkId)||"",accountAddress:""}),a=await t.authenticate({nonce:o.nonce,domain:o.domain,uri:o.uri,exp:o.expirationTime,iat:o.issuedAt,nbf:o.notBefore,requestId:o.requestId,version:o.version,resources:o.resources,statement:o.statement,chainId:o.chainId,methods:s,chains:[o.chainId,...e.filter(h=>h!==o.chainId)]});Ws.showLoading("Authenticating...",{autoClose:!1});const c={...a.session.peer.metadata,name:a.session.peer.metadata.name,icon:(d=a.session.peer.metadata.icons)==null?void 0:d[0],type:"WALLET_CONNECT"};if(w.setAccountProp("connectedWalletInfo",c,Array.from(i)[0]),(u=a==null?void 0:a.auths)!=null&&u.length){const h=a.auths.map(p=>{const m=t.client.formatAuthMessage({request:p.p,iss:p.p.iss});return{data:{...p.p,accountAddress:p.p.iss.split(":").slice(-1).join(""),chainId:p.p.iss.split(":").slice(2,4).join(":"),uri:p.p.aud??"",version:p.p.version||o.version,expirationTime:p.p.exp,issuedAt:p.p.iat,notBefore:p.p.nbf},message:m,signature:p.s.s,cacao:p}});try{await n.setSessions(h),r&&w.setLastConnectedSIWECaipNetwork(r),we.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:Es.getSIWXEventProperties()})}catch(p){throw console.error("SIWX:universalProviderAuth - failed to set sessions",p),we.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:Es.getSIWXEventProperties(p)}),await t.disconnect().catch(console.error),p}finally{Ws.hide()}}return!0},getSIWXEventProperties(t){var s;const e=w.state.activeChain;if(!e)throw new Error("SIWXUtil:getSIWXEventProperties - namespace is required");return{network:((s=w.state.activeCaipNetwork)==null?void 0:s.caipNetworkId)||"",isSmartAccount:os(e)===et.ACCOUNT_TYPES.SMART_ACCOUNT,message:t?Z.parseError(t):void 0}},async clearSessions(){const t=this.getSIWX();t&&await t.setSessions([])}};class dx{constructor({provider:e,namespace:s}){this.id=U.CONNECTOR_ID.WALLET_CONNECT,this.name="WalletConnect",this.type="WALLET_CONNECT",this.imageId="ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400",this.getCaipNetworks=w.getCaipNetworks.bind(w),this.caipNetworks=this.getCaipNetworks(),this.provider=e,this.chain=s}get chains(){return this.getCaipNetworks()}async connectWalletConnect(){if(!await this.authenticate()){const s=this.getCaipNetworks(),n=$.state.universalProviderConfigOverride,r=Wn.createNamespaces(s,n);await this.provider.connect({optionalNamespaces:r})}return{clientId:await this.provider.client.core.crypto.getClientId(),session:this.provider.session}}async disconnect(){await this.provider.disconnect()}async authenticate(){const e=this.chains.map(s=>s.caipNetworkId);return Es.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:ux})}}const ux=["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode","wallet_getCallsStatus","wallet_sendCalls","wallet_getCapabilities","wallet_grantPermissions","wallet_revokePermissions","wallet_getAssets"],Ss=Ke({message:"",variant:"info",open:!1}),hx={state:Ss,subscribeKey(t,e){return Et(Ss,t,e)},open(t,e){const{debug:s}=$.state,{code:n,displayMessage:r,debugMessage:i}=t;r&&s&&(Ss.message=r,Ss.variant=e,Ss.open=!0),i&&console.error(typeof i=="function"?i():i,n?{code:n}:void 0)},warn(t,e,s){Ss.open=!0,Ss.message=t,Ss.variant="warning",e&&console.warn(e,s)},close(){Ss.open=!1,Ss.message="",Ss.variant="info"}},St=vs(hx),px={eip155:{native:{assetNamespace:"slip44",assetReference:"60"},defaultTokenNamespace:"erc20"},solana:{native:{assetNamespace:"slip44",assetReference:"501"},defaultTokenNamespace:"token"}};class fx extends Error{}function gx(){const{sdkType:t,sdkVersion:e,projectId:s}=$.getSnapshot(),n=new URL("https://rpc.walletconnect.org/v1/json-rpc");return n.searchParams.set("projectId",s),n.searchParams.set("st",t),n.searchParams.set("sv",e),n.searchParams.set("source","fund-wallet"),n.toString()}async function Gd(t,e){const s=gx(),{projectId:n}=$.getSnapshot(),r={jsonrpc:"2.0",id:1,method:t,params:{...e||{},projectId:n}},o=await(await fetch(s,{method:"POST",body:JSON.stringify(r),headers:{"Content-Type":"application/json"}})).json();if(o.error)throw new fx(o.error.message);return o}async function Wk(t){return(await Gd("reown_getExchanges",t)).result}async function Hk(t){return(await Gd("reown_getExchangePayUrl",t)).result}async function Vk(t){return(await Gd("reown_getExchangeBuyStatus",t)).result}function zk(t,e){const{chainNamespace:s,chainId:n}=ct.parseCaipNetworkId(t),r=px[s];if(!r)throw new Error(`Unsupported chain namespace for CAIP-19 formatting: ${s}`);let i=r.native.assetNamespace,o=r.native.assetReference;return e!=="native"&&(i=r.defaultTokenNamespace,o=e),`${`${s}:${n}`}/${i}:${o}`}const mx={network:"eip155:1",asset:"native",metadata:{name:"Ethereum",symbol:"ETH",decimals:18}},yx={network:"eip155:8453",asset:"native",metadata:{name:"Ethereum",symbol:"ETH",decimals:18}},ny={network:"eip155:8453",asset:"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},wx={asset:"0x036CbD53842c5426634e7929541eC2318f3dCF7e"},Ex={network:"eip155:84532",asset:"native",metadata:{name:"Ethereum",symbol:"ETH",decimals:18}},bx={network:"eip155:1",asset:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},Cx={network:"eip155:42161",asset:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},vx={network:"eip155:137",asset:"0x2791bca1f2de4661ed88a30c99a7a9449aa84174",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},_x={network:"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",asset:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},Ax={network:"eip155:1",asset:"0xdAC17F958D2ee523a2206206994597C13D831ec7",metadata:{name:"Tether USD",symbol:"USDT",decimals:6}},Sx={network:"eip155:10",asset:"0x94b008aA00579c1307B0EF2c499aD98a8ce58e58",metadata:{name:"Tether USD",symbol:"USDT",decimals:6}},Ix={network:"eip155:42161",asset:"0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",metadata:{name:"Tether USD",symbol:"USDT",decimals:6}},Nx={network:"eip155:137",asset:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f",metadata:{name:"Tether USD",symbol:"USDT",decimals:6}},Tx={network:"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",asset:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",metadata:{name:"Tether USD",symbol:"USDT",decimals:6}},Rx={network:"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",asset:"native",metadata:{name:"Solana",symbol:"SOL",decimals:9}},Ox={ethereumETH:mx,baseETH:yx,baseUSDC:ny,baseSepoliaETH:Ex,ethereumUSDC:bx,arbitrumUSDC:Cx,polygonUSDC:vx,solanaUSDC:_x,ethereumUSDT:Ax,optimismUSDT:Sx,arbitrumUSDT:Ix,polygonUSDT:Nx,solanaUSDT:Tx,solanaSOL:Rx};function Kk(t){return Object.values(Ox).filter(e=>e.network===t)}const Rs={getConnectorsByType(t,e,s){const{customWallets:n}=$.state,r=M.getRecentWallets(),i=Fn.filterOutDuplicateWallets(e),o=Fn.filterOutDuplicateWallets(s),a=t.filter(u=>u.type==="MULTI_CHAIN"),c=t.filter(u=>u.type==="ANNOUNCED"),l=t.filter(u=>u.type==="INJECTED"),d=t.filter(u=>u.type==="EXTERNAL");return{custom:n,recent:r,external:d,multiChain:a,announced:c,injected:l,recommended:i,featured:o}},showConnector(t){var r;const e=(r=t.info)==null?void 0:r.rdns,s=!!e&&Q.state.excludedWallets.some(i=>!!i.rdns&&i.rdns===e),n=!!t.name&&Q.state.excludedWallets.some(i=>bf.isLowerCaseMatch(i.name,t.name));return!(t.type==="INJECTED"&&(t.name==="Browser Wallet"&&(!Z.isMobile()||Z.isMobile()&&!e&&!K.checkInstalled())||s||n)||(t.type==="ANNOUNCED"||t.type==="EXTERNAL")&&(s||n))},getIsConnectedWithWC(){return Array.from(w.state.chains.values()).some(s=>q.getConnectorId(s.namespace)===U.CONNECTOR_ID.WALLET_CONNECT)},getConnectorTypeOrder({recommended:t,featured:e,custom:s,recent:n,announced:r,injected:i,multiChain:o,external:a,overriddenConnectors:c=(l=>(l=$.state.features)==null?void 0:l.connectorTypeOrder)()??[]}){const u=[{type:"walletConnect",isEnabled:!0},{type:"recent",isEnabled:n.length>0},{type:"injected",isEnabled:[...i,...r,...o].length>0},{type:"featured",isEnabled:e.length>0},{type:"custom",isEnabled:s&&s.length>0},{type:"external",isEnabled:a.length>0},{type:"recommended",isEnabled:t.length>0}].filter(f=>f.isEnabled),h=new Set(u.map(f=>f.type)),p=c.filter(f=>h.has(f)).map(f=>({type:f,isEnabled:!0})),m=u.filter(({type:f})=>!p.some(({type:b})=>b===f));return Array.from(new Set([...p,...m].map(({type:f})=>f)))},sortConnectorsByExplorerWallet(t){return[...t].sort((e,s)=>e.explorerWallet&&s.explorerWallet?(e.explorerWallet.order??0)-(s.explorerWallet.order??0):e.explorerWallet?-1:s.explorerWallet?1:0)},getAuthName({email:t,socialUsername:e,socialProvider:s}){return e?s&&s==="discord"&&e.endsWith("0")?e.slice(0,-1):e:t.length>30?`${t.slice(0,-3)}...`:t},async fetchProviderData(t){var e,s;try{if(t.name==="Browser Wallet"&&!Z.isMobile())return{accounts:[],chainId:void 0};if(t.id===U.CONNECTOR_ID.AUTH)return{accounts:[],chainId:void 0};const[n,r]=await Promise.all([(e=t.provider)==null?void 0:e.request({method:"eth_accounts"}),(s=t.provider)==null?void 0:s.request({method:"eth_chainId"}).then(i=>Number(i))]);return{accounts:n,chainId:r}}catch(n){return console.warn(`Failed to fetch provider data for ${t.name}`,n),{accounts:[],chainId:void 0}}},getFilteredCustomWallets(t){const e=M.getRecentWallets(),s=q.state.connectors.map(o=>{var a;return(a=o.info)==null?void 0:a.rdns}).filter(Boolean),n=e.map(o=>o.rdns).filter(Boolean),r=s.concat(n);if(r.includes("io.metamask.mobile")&&Z.isMobile()){const o=r.indexOf("io.metamask.mobile");r[o]="io.metamask"}return t.filter(o=>!r.includes(String(o==null?void 0:o.rdns)))},hasWalletConnector(t){return q.state.connectors.some(e=>e.id===t.id||e.name===t.name)},isWalletCompatibleWithCurrentChain(t){const e=w.state.activeChain;return e&&t.chains?t.chains.some(s=>{const n=s.split(":")[0];return e===n}):!0},getFilteredRecentWallets(){return M.getRecentWallets().filter(s=>!Fn.isExcluded(s)).filter(s=>!this.hasWalletConnector(s)).filter(s=>this.isWalletCompatibleWithCurrentChain(s))},getCappedRecommendedWallets(t){const{connectors:e}=q.state,{customWallets:s,featuredWalletIds:n}=$.state,r=e.find(S=>S.id==="walletConnect"),i=e.filter(S=>S.type==="INJECTED"||S.type==="ANNOUNCED"||S.type==="MULTI_CHAIN");if(!r&&!i.length&&!(s!=null&&s.length))return[];const o=Al.isEmailEnabled(),a=Al.isSocialsEnabled(),c=i.filter(S=>S.name!=="Browser Wallet"&&S.name!=="WalletConnect"),l=(n==null?void 0:n.length)||0,d=(s==null?void 0:s.length)||0,u=c.length||0,h=o?1:0,p=a?1:0,m=l+d+u+h+p,y=Math.max(0,4-m);return y<=0?[]:Fn.filterOutDuplicateWallets(t).slice(0,y)},processConnectorsByType(t,e=!0){const s=Rs.sortConnectorsByExplorerWallet([...t]);return e?s.filter(Rs.showConnector):s},connectorList(){const t=Rs.getConnectorsByType(q.state.connectors,Q.state.recommended,Q.state.featured),e=this.processConnectorsByType(t.announced.filter(p=>p.id!=="walletConnect")),s=this.processConnectorsByType(t.injected),n=this.processConnectorsByType(t.multiChain.filter(p=>p.name!=="WalletConnect"),!1),r=t.custom,i=t.recent,o=this.processConnectorsByType(t.external.filter(p=>p.id!==U.CONNECTOR_ID.COINBASE_SDK&&p.id!==U.CONNECTOR_ID.BASE_ACCOUNT)),a=t.recommended,c=t.featured,l=Rs.getConnectorTypeOrder({custom:r,recent:i,announced:e,injected:s,multiChain:n,recommended:a,featured:c,external:o}),d=q.state.connectors.find(p=>p.id==="walletConnect"),u=Z.isMobile(),h=[];for(const p of l)switch(p){case"walletConnect":{!u&&d&&h.push({kind:"connector",subtype:"walletConnect",connector:d});break}case"recent":{Rs.getFilteredRecentWallets().forEach(f=>h.push({kind:"wallet",subtype:"recent",wallet:f}));break}case"injected":{n.forEach(m=>h.push({kind:"connector",subtype:"multiChain",connector:m})),e.forEach(m=>h.push({kind:"connector",subtype:"announced",connector:m})),s.forEach(m=>h.push({kind:"connector",subtype:"injected",connector:m}));break}case"featured":{c.forEach(m=>h.push({kind:"wallet",subtype:"featured",wallet:m}));break}case"custom":{Rs.getFilteredCustomWallets(r??[]).forEach(f=>h.push({kind:"wallet",subtype:"custom",wallet:f}));break}case"external":{o.forEach(m=>h.push({kind:"connector",subtype:"external",connector:m}));break}case"recommended":{Rs.getCappedRecommendedWallets(a).forEach(f=>h.push({kind:"wallet",subtype:"recommended",wallet:f}));break}default:console.warn(`Unknown connector type: ${p}`)}return h},hasInjectedConnectors(){return q.state.connectors.filter(t=>(t.type==="INJECTED"||t.type==="ANNOUNCED"||t.type==="MULTI_CHAIN")&&t.name!=="Browser Wallet"&&t.name!=="WalletConnect").length}},Fn={filterOutDuplicatesByRDNS(t){const e=$.state.enableEIP6963?q.state.connectors:[],s=M.getRecentWallets(),n=e.map(a=>{var c;return(c=a.info)==null?void 0:c.rdns}).filter(Boolean),r=s.map(a=>a.rdns).filter(Boolean),i=n.concat(r);if(i.includes("io.metamask.mobile")&&Z.isMobile()){const a=i.indexOf("io.metamask.mobile");i[a]="io.metamask"}return t.filter(a=>!(a!=null&&a.rdns&&i.includes(String(a.rdns))||!(a!=null&&a.rdns)&&e.some(l=>l.name===a.name)))},filterOutDuplicatesByIds(t){const e=q.state.connectors.filter(a=>a.type==="ANNOUNCED"||a.type==="INJECTED"||a.type==="MULTI_CHAIN"),s=M.getRecentWallets(),n=e.map(a=>{var c;return a.explorerId||((c=a.explorerWallet)==null?void 0:c.id)||a.id}),r=s.map(a=>a.id),i=n.concat(r);return t.filter(a=>!i.includes(a==null?void 0:a.id))},filterOutDuplicateWallets(t){const e=this.filterOutDuplicatesByRDNS(t);return this.filterOutDuplicatesByIds(e)},markWalletsAsInstalled(t){const{connectors:e}=q.state,{featuredWalletIds:s}=$.state,n=e.filter(o=>o.type==="ANNOUNCED").reduce((o,a)=>{var c;return(c=a.info)!=null&&c.rdns&&(o[a.info.rdns]=!0),o},{});return t.map(o=>({...o,installed:!!o.rdns&&!!n[o.rdns??""]})).sort((o,a)=>{const c=Number(a.installed)-Number(o.installed);if(c!==0)return c;if(s!=null&&s.length){const l=s.indexOf(o.id),d=s.indexOf(a.id);if(l!==-1&&d!==-1)return l-d;if(l!==-1)return-1;if(d!==-1)return 1}return 0})},getConnectOrderMethod(t,e){var c;const s=(t==null?void 0:t.connectMethodsOrder)||((c=$.state.features)==null?void 0:c.connectMethodsOrder),n=e||q.state.connectors;if(s)return s;const{injected:r,announced:i}=Rs.getConnectorsByType(n,Q.state.recommended,Q.state.featured),o=r.filter(Rs.showConnector),a=i.filter(Rs.showConnector);return o.length||a.length?["wallet","email","social"]:Ie.DEFAULT_CONNECT_METHOD_ORDER},isExcluded(t){const e=!!t.rdns&&Q.state.excludedWallets.some(n=>n.rdns===t.rdns),s=!!t.name&&Q.state.excludedWallets.some(n=>bf.isLowerCaseMatch(n.name,t.name));return e||s},markWalletsWithDisplayIndex(t){return t.map((e,s)=>({...e,display_index:s}))},filterWalletsByWcSupport(t){return K.state.wcBasic?t.filter(e=>e.supports_wc):Z.isMobile()?t.filter(e=>e.supports_wc||Ie.MANDATORY_WALLET_IDS_ON_MOBILE.includes(e.id)):t},getWalletConnectWallets(t){var i;const e=[...Q.state.featured,...Q.state.recommended];((i=Q.state.filteredWallets)==null?void 0:i.length)>0?e.push(...Q.state.filteredWallets):e.push(...t);const s=Z.uniqueBy(e,"id"),n=Fn.markWalletsAsInstalled(s),r=Fn.filterWalletsByWcSupport(n);return Fn.markWalletsWithDisplayIndex(r)}},Ut={METMASK_CONNECTOR_NAME:"MetaMask",TRUST_CONNECTOR_NAME:"Trust Wallet",SOLFLARE_CONNECTOR_NAME:"Solflare",PHANTOM_CONNECTOR_NAME:"Phantom",COIN98_CONNECTOR_NAME:"Coin98",MAGIC_EDEN_CONNECTOR_NAME:"Magic Eden",BACKPACK_CONNECTOR_NAME:"Backpack",BITGET_CONNECTOR_NAME:"Bitget Wallet",FRONTIER_CONNECTOR_NAME:"Frontier",XVERSE_CONNECTOR_NAME:"Xverse Wallet",LEATHER_CONNECTOR_NAME:"Leather",OKX_CONNECTOR_NAME:"OKX Wallet",BINANCE_CONNECTOR_NAME:"Binance Wallet",EIP155:U.CHAIN.EVM,ADD_CHAIN_METHOD:"wallet_addEthereumChain",EIP6963_ANNOUNCE_EVENT:"eip6963:announceProvider",EIP6963_REQUEST_EVENT:"eip6963:requestProvider",CONNECTOR_RDNS_MAP:{coinbaseWallet:"com.coinbase.wallet",coinbaseWalletSDK:"com.coinbase.wallet"},CONNECTOR_TYPE_EXTERNAL:"EXTERNAL",CONNECTOR_TYPE_WALLET_CONNECT:"WALLET_CONNECT",CONNECTOR_TYPE_INJECTED:"INJECTED",CONNECTOR_TYPE_ANNOUNCED:"ANNOUNCED",CONNECTOR_TYPE_AUTH:"AUTH",CONNECTOR_TYPE_MULTI_CHAIN:"MULTI_CHAIN",CONNECTOR_TYPE_W3M_AUTH:"AUTH",getSDKVersionWarningMessage(t,e){return`
14
+ Approved: ${h.toString()}`))}),o.forEach(u=>{n||(fr(r[u].methods,i[u].methods)?fr(r[u].events,i[u].events)||(n=G("NON_CONFORMING_NAMESPACES",`${s} namespaces events don't satisfy namespace events for ${u}`)):n=G("NON_CONFORMING_NAMESPACES",`${s} namespaces methods don't satisfy namespace methods for ${u}`))}),n}function tN(t){const e={};return Object.keys(t).forEach(s=>{var n;s.includes(":")?e[s]=t[s]:(n=t[s].chains)==null||n.forEach(r=>{e[r]={methods:t[s].methods,events:t[s].events}})}),e}function sp(t){return[...new Set(t.map(e=>e.includes(":")?e.split(":")[0]:e))]}function sN(t){const e={};return Object.keys(t).forEach(s=>{if(s.includes(":"))e[s]=t[s];else{const n=bi(t[s].accounts);n==null||n.forEach(r=>{e[r]={accounts:t[s].accounts.filter(i=>i.includes(`${r}:`)),methods:t[s].methods,events:t[s].events}})}}),e}function nN(t,e){return jd(t)&&t<=e.max&&t>=e.min}function np(){const t=To();return new Promise(e=>{switch(t){case cs.browser:e(rN());break;case cs.reactNative:e(iN());break;case cs.node:e(oN());break;default:e(!0)}})}function rN(){return Ei()&&(navigator==null?void 0:navigator.onLine)}async function iN(){if(Jn()&&typeof ve<"u"&&ve!=null&&ve.NetInfo){const t=await(ve==null?void 0:ve.NetInfo.fetch());return t==null?void 0:t.isConnected}return!0}function oN(){return!0}function aN(t){switch(To()){case cs.browser:cN(t);break;case cs.reactNative:lN(t);break}}function cN(t){!Jn()&&Ei()&&(window.addEventListener("online",()=>t(!0)),window.addEventListener("offline",()=>t(!1)))}function lN(t){var e;Jn()&&typeof ve<"u"&&ve!=null&&ve.NetInfo&&((e=ve)==null||e.NetInfo.addEventListener(s=>t(s==null?void 0:s.isConnected)))}function dN(){var t;return Ei()&&ci()?((t=ci())==null?void 0:t.visibilityState)==="visible":!0}const zc={};class Si{static get(e){return zc[e]}static set(e,s){zc[e]=s}static delete(e){delete zc[e]}}function uN(t){const e=yi.decode(t);if(e.length<33)throw new Error("Too short to contain a public key");return e.slice(1,33)}function hN({publicKey:t,signature:e,payload:s}){var n;const r=Gl(s.method),i=128|parseInt(((n=s.version)==null?void 0:n.toString())||"4"),o=gN(s.address),a=s.era==="00"?new Uint8Array([0]):Gl(s.era);if(a.length!==1&&a.length!==2)throw new Error("Invalid era length");const c=parseInt(s.nonce,16),l=new Uint8Array([c&255,c>>8&255]),d=BigInt(`0x${fN(s.tip)}`),u=yN(d),h=new Uint8Array([0,...t,o,...e,...a,...l,...u,...r]),p=mN(h.length+1);return new Uint8Array([...p,i,...h])}function pN(t){const e=Gl(t),s=Ry.blake2b(e,void 0,32);return"0x"+ke.from(s).toString("hex")}function Gl(t){return new Uint8Array(t.replace(/^0x/,"").match(/.{1,2}/g).map(e=>parseInt(e,16)))}function fN(t){return t.startsWith("0x")?t.slice(2):t}function gN(t){const e=yi.decode(t)[0];return e===42?0:e===60?2:1}function mN(t){if(t<64)return new Uint8Array([t<<2]);if(t<16384){const e=t<<2|1;return new Uint8Array([e&255,e>>8&255])}else if(t<1<<30){const e=t<<2|2;return new Uint8Array([e&255,e>>8&255,e>>16&255,e>>24&255])}else throw new Error("Compact encoding > 2^30 not supported")}function yN(t){if(t<BigInt(1)<<BigInt(6))return new Uint8Array([Number(t<<BigInt(2))]);if(t<BigInt(1)<<BigInt(14)){const e=t<<BigInt(2)|BigInt(1);return new Uint8Array([Number(e&BigInt(255)),Number(e>>BigInt(8)&BigInt(255))])}else if(t<BigInt(1)<<BigInt(30)){const e=t<<BigInt(2)|BigInt(2);return new Uint8Array([Number(e&BigInt(255)),Number(e>>BigInt(8)&BigInt(255)),Number(e>>BigInt(16)&BigInt(255)),Number(e>>BigInt(24)&BigInt(255))])}else throw new Error("BigInt compact encoding not supported > 2^30")}function wN(t){const e=Uint8Array.from(ke.from(t.signature,"hex")),s=uN(t.transaction.address),n=hN({publicKey:s,signature:e,payload:t.transaction}),r=ke.from(n).toString("hex");return pN(r)}function Fd({logger:t,name:e}){const s=typeof t=="string"?Ja({opts:{level:t,name:e}}).logger:t;return s.level=typeof t=="string"?t:t.level,s}var EN={};const Am="wc",Sm=2,Yl="core",Js=`${Am}@2:${Yl}:`,bN={logger:"error"},CN={database:":memory:"},vN="crypto",rp="client_ed25519_seed",_N=Y.ONE_DAY,AN="keychain",SN="0.3",IN="messages",NN="0.3",TN=Y.SIX_HOURS,RN="publisher",Im="irn",ON="error",Nm="wss://relay.walletconnect.org",PN="relayer",nt={message:"relayer_message",message_ack:"relayer_message_ack",connect:"relayer_connect",disconnect:"relayer_disconnect",error:"relayer_error",connection_stalled:"relayer_connection_stalled",transport_closed:"relayer_transport_closed",publish:"relayer_publish"},xN="_subscription",us={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},kN=.1,Zl="2.23.0",ze={link_mode:"link_mode",relay:"relay"},pa={inbound:"inbound",outbound:"outbound"},UN="0.3",$N="WALLETCONNECT_CLIENT_ID",ip="WALLETCONNECT_LINK_MODE_APPS",ss={created:"subscription_created",deleted:"subscription_deleted",expired:"subscription_expired",disabled:"subscription_disabled",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},DN="subscription",LN="0.3",MN="pairing",BN="0.3",Ii={wc_pairingDelete:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:Y.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:Y.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:0},res:{ttl:Y.ONE_DAY,prompt:!1,tag:0}}},lr={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},_s={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},jN="history",FN="0.3",qN="expirer",gs={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},WN="0.3",HN="verify-api",VN="https://verify.walletconnect.com",Tm="https://verify.walletconnect.org",qi=Tm,zN=`${qi}/v3`,KN=[VN,Tm],GN="echo",YN="https://echo.walletconnect.com",Bs={pairing_started:"pairing_started",pairing_uri_validation_success:"pairing_uri_validation_success",pairing_uri_not_expired:"pairing_uri_not_expired",store_new_pairing:"store_new_pairing",subscribing_pairing_topic:"subscribing_pairing_topic",subscribe_pairing_topic_success:"subscribe_pairing_topic_success",existing_pairing:"existing_pairing",pairing_not_expired:"pairing_not_expired",emit_inactive_pairing:"emit_inactive_pairing",emit_session_proposal:"emit_session_proposal",subscribing_to_pairing_topic:"subscribing_to_pairing_topic"},rn={no_wss_connection:"no_wss_connection",no_internet_connection:"no_internet_connection",malformed_pairing_uri:"malformed_pairing_uri",active_pairing_already_exists:"active_pairing_already_exists",subscribe_pairing_topic_failure:"subscribe_pairing_topic_failure",pairing_expired:"pairing_expired",proposal_expired:"proposal_expired",proposal_listener_not_found:"proposal_listener_not_found"},As={session_approve_started:"session_approve_started",proposal_not_expired:"proposal_not_expired",session_namespaces_validation_success:"session_namespaces_validation_success",create_session_topic:"create_session_topic",subscribing_session_topic:"subscribing_session_topic",subscribe_session_topic_success:"subscribe_session_topic_success",publishing_session_approve:"publishing_session_approve",session_approve_publish_success:"session_approve_publish_success",store_session:"store_session",publishing_session_settle:"publishing_session_settle",session_settle_publish_success:"session_settle_publish_success",session_request_response_started:"session_request_response_started",session_request_response_validation_success:"session_request_response_validation_success",session_request_response_publish_started:"session_request_response_publish_started"},sr={no_internet_connection:"no_internet_connection",no_wss_connection:"no_wss_connection",proposal_expired:"proposal_expired",subscribe_session_topic_failure:"subscribe_session_topic_failure",session_approve_publish_failure:"session_approve_publish_failure",session_settle_publish_failure:"session_settle_publish_failure",session_approve_namespace_validation_failure:"session_approve_namespace_validation_failure",proposal_not_found:"proposal_not_found",session_request_response_validation_failure:"session_request_response_validation_failure",session_request_response_publish_failure:"session_request_response_publish_failure"},nr={authenticated_session_approve_started:"authenticated_session_approve_started",create_authenticated_session_topic:"create_authenticated_session_topic",cacaos_verified:"cacaos_verified",store_authenticated_session:"store_authenticated_session",subscribing_authenticated_session_topic:"subscribing_authenticated_session_topic",subscribe_authenticated_session_topic_success:"subscribe_authenticated_session_topic_success",publishing_authenticated_session_approve:"publishing_authenticated_session_approve"},Ni={no_internet_connection:"no_internet_connection",invalid_cacao:"invalid_cacao",subscribe_authenticated_session_topic_failure:"subscribe_authenticated_session_topic_failure",authenticated_session_approve_publish_failure:"authenticated_session_approve_publish_failure",authenticated_session_pending_request_not_found:"authenticated_session_pending_request_not_found"},ZN=.1,JN="event-client",XN=86400,QN="https://pulse.walletconnect.org/batch";function e1(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var s=new Uint8Array(256),n=0;n<s.length;n++)s[n]=255;for(var r=0;r<t.length;r++){var i=t.charAt(r),o=i.charCodeAt(0);if(s[o]!==255)throw new TypeError(i+" is ambiguous");s[o]=r}var a=t.length,c=t.charAt(0),l=Math.log(a)/Math.log(256),d=Math.log(256)/Math.log(a);function u(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var f=0,y=0,b=0,S=m.length;b!==S&&m[b]===0;)b++,f++;for(var v=(S-b)*d+1>>>0,C=new Uint8Array(v);b!==S;){for(var R=m[b],k=0,L=v-1;(R!==0||k<y)&&L!==-1;L--,k++)R+=256*C[L]>>>0,C[L]=R%a>>>0,R=R/a>>>0;if(R!==0)throw new Error("Non-zero carry");y=k,b++}for(var F=v-y;F!==v&&C[F]===0;)F++;for(var x=c.repeat(f);F<v;++F)x+=t.charAt(C[F]);return x}function h(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var f=0;if(m[f]!==" "){for(var y=0,b=0;m[f]===c;)y++,f++;for(var S=(m.length-f)*l+1>>>0,v=new Uint8Array(S);m[f];){var C=s[m.charCodeAt(f)];if(C===255)return;for(var R=0,k=S-1;(C!==0||R<b)&&k!==-1;k--,R++)C+=a*v[k]>>>0,v[k]=C%256>>>0,C=C/256>>>0;if(C!==0)throw new Error("Non-zero carry");b=R,f++}if(m[f]!==" "){for(var L=S-b;L!==S&&v[L]===0;)L++;for(var F=new Uint8Array(y+(S-L)),x=y;L!==S;)F[x++]=v[L++];return F}}}function p(m){var f=h(m);if(f)return f;throw new Error(`Non-${e} character`)}return{encode:u,decodeUnsafe:h,decode:p}}var t1=e1,s1=t1;const Rm=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},n1=t=>new TextEncoder().encode(t),r1=t=>new TextDecoder().decode(t);class i1{constructor(e,s,n){this.name=e,this.prefix=s,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class o1{constructor(e,s,n){if(this.name=e,this.prefix=s,s.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=s.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Om(this,e)}}class a1{constructor(e){this.decoders=e}or(e){return Om(this,e)}decode(e){const s=e[0],n=this.decoders[s];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const Om=(t,e)=>new a1({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}});class c1{constructor(e,s,n,r){this.name=e,this.prefix=s,this.baseEncode=n,this.baseDecode=r,this.encoder=new i1(e,s,n),this.decoder=new o1(e,s,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const dc=({name:t,prefix:e,encode:s,decode:n})=>new c1(t,e,s,n),ko=({prefix:t,name:e,alphabet:s})=>{const{encode:n,decode:r}=s1(s,e);return dc({prefix:t,name:e,encode:n,decode:i=>Rm(r(i))})},l1=(t,e,s,n)=>{const r={};for(let d=0;d<e.length;++d)r[e[d]]=d;let i=t.length;for(;t[i-1]==="=";)--i;const o=new Uint8Array(i*s/8|0);let a=0,c=0,l=0;for(let d=0;d<i;++d){const u=r[t[d]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<s|u,a+=s,a>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=s||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},d1=(t,e,s)=>{const n=e[e.length-1]==="=",r=(1<<s)-1;let i="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>s;)o-=s,i+=e[r&a>>o];if(o&&(i+=e[r&a<<s-o]),n)for(;i.length*s&7;)i+="=";return i},bt=({name:t,prefix:e,bitsPerChar:s,alphabet:n})=>dc({prefix:e,name:t,encode(r){return d1(r,n,s)},decode(r){return l1(r,n,s,t)}}),u1=dc({prefix:"\0",name:"identity",encode:t=>r1(t),decode:t=>n1(t)});var h1=Object.freeze({__proto__:null,identity:u1});const p1=bt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var f1=Object.freeze({__proto__:null,base2:p1});const g1=bt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var m1=Object.freeze({__proto__:null,base8:g1});const y1=ko({prefix:"9",name:"base10",alphabet:"0123456789"});var w1=Object.freeze({__proto__:null,base10:y1});const E1=bt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),b1=bt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var C1=Object.freeze({__proto__:null,base16:E1,base16upper:b1});const v1=bt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),_1=bt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),A1=bt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),S1=bt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),I1=bt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),N1=bt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),T1=bt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),R1=bt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),O1=bt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var P1=Object.freeze({__proto__:null,base32:v1,base32upper:_1,base32pad:A1,base32padupper:S1,base32hex:I1,base32hexupper:N1,base32hexpad:T1,base32hexpadupper:R1,base32z:O1});const x1=ko({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),k1=ko({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var U1=Object.freeze({__proto__:null,base36:x1,base36upper:k1});const $1=ko({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),D1=ko({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var L1=Object.freeze({__proto__:null,base58btc:$1,base58flickr:D1});const M1=bt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),B1=bt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),j1=bt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),F1=bt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var q1=Object.freeze({__proto__:null,base64:M1,base64pad:B1,base64url:j1,base64urlpad:F1});const Pm=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),W1=Pm.reduce((t,e,s)=>(t[s]=e,t),[]),H1=Pm.reduce((t,e,s)=>(t[e.codePointAt(0)]=s,t),[]);function V1(t){return t.reduce((e,s)=>(e+=W1[s],e),"")}function z1(t){const e=[];for(const s of t){const n=H1[s.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${s}`);e.push(n)}return new Uint8Array(e)}const K1=dc({prefix:"🚀",name:"base256emoji",encode:V1,decode:z1});var G1=Object.freeze({__proto__:null,base256emoji:K1}),Y1=xm,op=128,Z1=-128,J1=Math.pow(2,31);function xm(t,e,s){e=e||[],s=s||0;for(var n=s;t>=J1;)e[s++]=t&255|op,t/=128;for(;t&Z1;)e[s++]=t&255|op,t>>>=7;return e[s]=t|0,xm.bytes=s-n+1,e}var X1=Jl,Q1=128,ap=127;function Jl(t,n){var s=0,n=n||0,r=0,i=n,o,a=t.length;do{if(i>=a)throw Jl.bytes=0,new RangeError("Could not decode varint");o=t[i++],s+=r<28?(o&ap)<<r:(o&ap)*Math.pow(2,r),r+=7}while(o>=Q1);return Jl.bytes=i-n,s}var eT=Math.pow(2,7),tT=Math.pow(2,14),sT=Math.pow(2,21),nT=Math.pow(2,28),rT=Math.pow(2,35),iT=Math.pow(2,42),oT=Math.pow(2,49),aT=Math.pow(2,56),cT=Math.pow(2,63),lT=function(t){return t<eT?1:t<tT?2:t<sT?3:t<nT?4:t<rT?5:t<iT?6:t<oT?7:t<aT?8:t<cT?9:10},dT={encode:Y1,decode:X1,encodingLength:lT},km=dT;const cp=(t,e,s=0)=>(km.encode(t,e,s),e),lp=t=>km.encodingLength(t),Xl=(t,e)=>{const s=e.byteLength,n=lp(t),r=n+lp(s),i=new Uint8Array(r+s);return cp(t,i,0),cp(s,i,n),i.set(e,r),new uT(t,s,e,i)};class uT{constructor(e,s,n,r){this.code=e,this.size=s,this.digest=n,this.bytes=r}}const Um=({name:t,code:e,encode:s})=>new hT(t,e,s);class hT{constructor(e,s,n){this.name=e,this.code=s,this.encode=n}digest(e){if(e instanceof Uint8Array){const s=this.encode(e);return s instanceof Uint8Array?Xl(this.code,s):s.then(n=>Xl(this.code,n))}else throw Error("Unknown type, must be binary type")}}const $m=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),pT=Um({name:"sha2-256",code:18,encode:$m("SHA-256")}),fT=Um({name:"sha2-512",code:19,encode:$m("SHA-512")});var gT=Object.freeze({__proto__:null,sha256:pT,sha512:fT});const Dm=0,mT="identity",Lm=Rm,yT=t=>Xl(Dm,Lm(t)),wT={code:Dm,name:mT,encode:Lm,digest:yT};var ET=Object.freeze({__proto__:null,identity:wT});new TextEncoder,new TextDecoder;const dp={...h1,...f1,...m1,...w1,...C1,...P1,...U1,...L1,...q1,...G1};({...gT,...ET});function Mm(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function bT(t=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Mm(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Bm(t,e,s,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:s},decoder:{decode:n}}}const up=Bm("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Kc=Bm("ascii","a",t=>{let e="a";for(let s=0;s<t.length;s++)e+=String.fromCharCode(t[s]);return e},t=>{t=t.substring(1);const e=bT(t.length);for(let s=0;s<t.length;s++)e[s]=t.charCodeAt(s);return e}),CT={utf8:up,"utf-8":up,hex:dp.base16,latin1:Kc,ascii:Kc,binary:Kc,...dp};function vT(t,e="utf8"){const s=CT[e];if(!s)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Mm(globalThis.Buffer.from(t,"utf-8")):s.decoder.decode(`${s.prefix}${t}`)}var _T=Object.defineProperty,AT=(t,e,s)=>e in t?_T(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ls=(t,e,s)=>AT(t,typeof e!="symbol"?e+"":e,s);class ST{constructor(e,s){this.core=e,this.logger=s,Ls(this,"keychain",new Map),Ls(this,"name",AN),Ls(this,"version",SN),Ls(this,"initialized",!1),Ls(this,"storagePrefix",Js),Ls(this,"init",async()=>{if(!this.initialized){const n=await this.getKeyChain();typeof n<"u"&&(this.keychain=n),this.initialized=!0}}),Ls(this,"has",n=>(this.isInitialized(),this.keychain.has(n))),Ls(this,"set",async(n,r)=>{this.isInitialized(),this.keychain.set(n,r),await this.persist()}),Ls(this,"get",n=>{this.isInitialized();const r=this.keychain.get(n);if(typeof r>"u"){const{message:i}=G("NO_MATCHING_KEY",`${this.name}: ${n}`);throw new Error(i)}return r}),Ls(this,"del",async n=>{this.isInitialized(),this.keychain.delete(n),await this.persist()}),this.core=e,this.logger=Xt(s,this.name)}get context(){return Jt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,$l(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Dl(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}}var IT=Object.defineProperty,NT=(t,e,s)=>e in t?IT(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,lt=(t,e,s)=>NT(t,typeof e!="symbol"?e+"":e,s);class TT{constructor(e,s,n){this.core=e,this.logger=s,lt(this,"name",vN),lt(this,"keychain"),lt(this,"randomSessionIdentifier",Kl()),lt(this,"initialized",!1),lt(this,"clientId"),lt(this,"init",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),lt(this,"hasKeys",r=>(this.isInitialized(),this.keychain.has(r))),lt(this,"getClientId",async()=>{if(this.isInitialized(),this.clientId)return this.clientId;const r=await this.getClientSeed(),i=bu(r),o=ky(i.publicKey);return this.clientId=o,o}),lt(this,"generateKeyPair",()=>{this.isInitialized();const r=tI();return this.setPrivateKey(r.publicKey,r.privateKey)}),lt(this,"signJWT",async r=>{this.isInitialized();const i=await this.getClientSeed(),o=bu(i),a=this.randomSessionIdentifier;return await Uy(a,r,_N,o)}),lt(this,"generateSharedKey",(r,i,o)=>{this.isInitialized();const a=this.getPrivateKey(r),c=sI(a,i);return this.setSymKey(c,o)}),lt(this,"setSymKey",async(r,i)=>{this.isInitialized();const o=i||ha(r);return await this.keychain.set(o,r),o}),lt(this,"deleteKeyPair",async r=>{this.isInitialized(),await this.keychain.del(r)}),lt(this,"deleteSymKey",async r=>{this.isInitialized(),await this.keychain.del(r)}),lt(this,"encode",async(r,i,o)=>{this.isInitialized();const a=bm(o),c=pl(i);if(Hh(a))return iI(c,o==null?void 0:o.encoding);if(Wh(a)){const h=a.senderPublicKey,p=a.receiverPublicKey;r=await this.generateSharedKey(h,p)}const l=this.getSymKey(r),{type:d,senderPublicKey:u}=a;return nI({type:d,symKey:l,message:c,senderPublicKey:u,encoding:o==null?void 0:o.encoding})}),lt(this,"decode",async(r,i,o)=>{this.isInitialized();const a=aI(i,o);if(Hh(a)){const c=oI(i,o==null?void 0:o.encoding);return Cu(c)}if(Wh(a)){const c=a.receiverPublicKey,l=a.senderPublicKey;r=await this.generateSharedKey(c,l)}try{const c=this.getSymKey(r),l=rI({symKey:c,encoded:i,encoding:o==null?void 0:o.encoding});return Cu(l)}catch(c){this.logger.error(`Failed to decode message from topic: '${r}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}}),lt(this,"getPayloadType",(r,i=Kt)=>{const o=yo({encoded:r,encoding:i});return Rr(o.type)}),lt(this,"getPayloadSenderPublicKey",(r,i=Kt)=>{const o=yo({encoded:r,encoding:i});return o.senderPublicKey?Zt(o.senderPublicKey,Lt):void 0}),this.core=e,this.logger=Xt(s,this.name),this.keychain=n||new ST(this.core,this.logger)}get context(){return Jt(this.logger)}async setPrivateKey(e,s){return await this.keychain.set(e,s),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(rp)}catch{e=Kl(),await this.keychain.set(rp,e)}return vT(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}}var RT=Object.defineProperty,OT=Object.defineProperties,PT=Object.getOwnPropertyDescriptors,hp=Object.getOwnPropertySymbols,xT=Object.prototype.hasOwnProperty,kT=Object.prototype.propertyIsEnumerable,Ql=(t,e,s)=>e in t?RT(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,UT=(t,e)=>{for(var s in e||(e={}))xT.call(e,s)&&Ql(t,s,e[s]);if(hp)for(var s of hp(e))kT.call(e,s)&&Ql(t,s,e[s]);return t},$T=(t,e)=>OT(t,PT(e)),es=(t,e,s)=>Ql(t,typeof e!="symbol"?e+"":e,s);class DT extends mv{constructor(e,s){super(e,s),this.logger=e,this.core=s,es(this,"messages",new Map),es(this,"messagesWithoutClientAck",new Map),es(this,"name",IN),es(this,"version",NN),es(this,"initialized",!1),es(this,"storagePrefix",Js),es(this,"init",async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const n=await this.getRelayerMessages();typeof n<"u"&&(this.messages=n);const r=await this.getRelayerMessagesWithoutClientAck();typeof r<"u"&&(this.messagesWithoutClientAck=r),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(n){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(n)}finally{this.initialized=!0}}}),es(this,"set",async(n,r,i)=>{this.isInitialized();const o=ys(r);let a=this.messages.get(n);if(typeof a>"u"&&(a={}),typeof a[o]<"u")return o;if(a[o]=r,this.messages.set(n,a),i===pa.inbound){const c=this.messagesWithoutClientAck.get(n)||{};this.messagesWithoutClientAck.set(n,$T(UT({},c),{[o]:r}))}return await this.persist(),o}),es(this,"get",n=>{this.isInitialized();let r=this.messages.get(n);return typeof r>"u"&&(r={}),r}),es(this,"getWithoutAck",n=>{this.isInitialized();const r={};for(const i of n){const o=this.messagesWithoutClientAck.get(i)||{};r[i]=Object.values(o)}return r}),es(this,"has",(n,r)=>{this.isInitialized();const i=this.get(n),o=ys(r);return typeof i[o]<"u"}),es(this,"ack",async(n,r)=>{this.isInitialized();const i=this.messagesWithoutClientAck.get(n);if(typeof i>"u")return;const o=ys(r);delete i[o],Object.keys(i).length===0?this.messagesWithoutClientAck.delete(n):this.messagesWithoutClientAck.set(n,i),await this.persist()}),es(this,"del",async n=>{this.isInitialized(),this.messages.delete(n),this.messagesWithoutClientAck.delete(n),await this.persist()}),this.logger=Xt(e,this.name),this.core=s}get context(){return Jt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get storageKeyWithoutClientAck(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name+"_withoutClientAck"}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,$l(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,$l(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Dl(e):void 0}async getRelayerMessagesWithoutClientAck(){const e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<"u"?Dl(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}}var LT=Object.defineProperty,MT=Object.defineProperties,BT=Object.getOwnPropertyDescriptors,pp=Object.getOwnPropertySymbols,jT=Object.prototype.hasOwnProperty,FT=Object.prototype.propertyIsEnumerable,ed=(t,e,s)=>e in t?LT(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,qr=(t,e)=>{for(var s in e||(e={}))jT.call(e,s)&&ed(t,s,e[s]);if(pp)for(var s of pp(e))FT.call(e,s)&&ed(t,s,e[s]);return t},fp=(t,e)=>MT(t,BT(e)),hs=(t,e,s)=>ed(t,typeof e!="symbol"?e+"":e,s);class qT extends yv{constructor(e,s){super(e,s),this.relayer=e,this.logger=s,hs(this,"events",new Pr.EventEmitter),hs(this,"name",RN),hs(this,"queue",new Map),hs(this,"publishTimeout",Y.toMiliseconds(Y.ONE_MINUTE)),hs(this,"initialPublishTimeout",Y.toMiliseconds(Y.ONE_SECOND*15)),hs(this,"needsTransportRestart",!1),hs(this,"publish",async(n,r,i)=>{var o,a,c,l,d;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:n,message:r,opts:i}});const u=(i==null?void 0:i.ttl)||TN,h=(i==null?void 0:i.prompt)||!1,p=(i==null?void 0:i.tag)||0,m=(i==null?void 0:i.id)||hr().toString(),f=Jr(ja().protocol),y={id:m,method:(i==null?void 0:i.publishMethod)||f.publish,params:qr({topic:n,message:r,ttl:u,prompt:h,tag:p,attestation:i==null?void 0:i.attestation},i==null?void 0:i.tvf)},b=`Failed to publish payload, please try again. id:${m} tag:${p}`;try{ht((o=y.params)==null?void 0:o.prompt)&&((a=y.params)==null||delete a.prompt),ht((c=y.params)==null?void 0:c.tag)&&((l=y.params)==null||delete l.tag);const S=new Promise(async v=>{const C=({id:k})=>{var L;((L=y.id)==null?void 0:L.toString())===k.toString()&&(this.removeRequestFromQueue(k),this.relayer.events.removeListener(nt.publish,C),v())};this.relayer.events.on(nt.publish,C);const R=Hs(new Promise((k,L)=>{this.rpcPublish(y,i).then(k).catch(F=>{this.logger.warn(F,F==null?void 0:F.message),L(F)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${m} tag:${p}`);try{await R,this.events.removeListener(nt.publish,C)}catch(k){this.queue.set(m,{request:y,opts:i,attempt:1}),this.logger.warn(k,k==null?void 0:k.message)}});this.logger.trace({type:"method",method:"publish",params:{id:m,topic:n,message:r,opts:i}}),await Hs(S,this.publishTimeout,b)}catch(S){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(S),(d=i==null?void 0:i.internal)!=null&&d.throwOnFailedPublish)throw S}finally{this.queue.delete(m)}}),hs(this,"publishCustom",async n=>{var r,i,o,a,c;this.logger.debug("Publishing custom payload"),this.logger.trace({type:"method",method:"publishCustom",params:n});const{payload:l,opts:d={}}=n,{attestation:u,tvf:h,publishMethod:p,prompt:m,tag:f,ttl:y=Y.FIVE_MINUTES}=d,b=d.id||hr().toString(),S=Jr(ja().protocol),v=p||S.publish,C={id:b,method:v,params:qr(fp(qr({},l),{ttl:y,prompt:m,tag:f,attestation:u}),h)},R=`Failed to publish custom payload, please try again. id:${b} tag:${f}`;try{ht((r=C.params)==null?void 0:r.prompt)&&((i=C.params)==null||delete i.prompt),ht((o=C.params)==null?void 0:o.tag)&&((a=C.params)==null||delete a.tag);const k=new Promise(async L=>{const F=({id:B})=>{var W;((W=C.id)==null?void 0:W.toString())===B.toString()&&(this.removeRequestFromQueue(B),this.relayer.events.removeListener(nt.publish,F),L())};this.relayer.events.on(nt.publish,F);const x=Hs(new Promise((B,W)=>{this.rpcPublish(C,d).then(B).catch(O=>{this.logger.warn(O,O==null?void 0:O.message),W(O)})}),this.initialPublishTimeout,`Failed initial custom payload publish, retrying.... method:${v} id:${b} tag:${f}`);try{await x,this.events.removeListener(nt.publish,F)}catch(B){this.queue.set(b,{request:C,opts:d,attempt:1}),this.logger.warn(B,B==null?void 0:B.message)}});this.logger.trace({type:"method",method:"publish",params:{id:b,payload:l,opts:d}}),await Hs(k,this.publishTimeout,R)}catch(k){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(k),(c=d==null?void 0:d.internal)!=null&&c.throwOnFailedPublish)throw k}finally{this.queue.delete(b)}}),hs(this,"on",(n,r)=>{this.events.on(n,r)}),hs(this,"once",(n,r)=>{this.events.once(n,r)}),hs(this,"off",(n,r)=>{this.events.off(n,r)}),hs(this,"removeListener",(n,r)=>{this.events.removeListener(n,r)}),this.relayer=e,this.logger=Xt(s,this.name),this.registerEventListeners()}get context(){return Jt(this.logger)}async rpcPublish(e,s){this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:e});const n=await this.relayer.request(e);return this.relayer.events.emit(nt.publish,qr(qr({},e),s)),this.logger.debug("Successfully Published Payload"),n}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,s)=>{var n;const r=e.attempt+1;this.queue.set(s,fp(qr({},e),{attempt:r})),this.logger.warn({},`Publisher: queue->publishing: ${e.request.id}, tag: ${(n=e.request.params)==null?void 0:n.tag}, attempt: ${r}`),await this.rpcPublish(e.request,e.opts),this.logger.warn({},`Publisher: queue->published: ${e.request.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(wi.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(nt.connection_stalled);return}this.checkQueue()}),this.relayer.on(nt.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var WT=Object.defineProperty,HT=(t,e,s)=>e in t?WT(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Wr=(t,e,s)=>HT(t,typeof e!="symbol"?e+"":e,s);class VT{constructor(){Wr(this,"map",new Map),Wr(this,"set",(e,s)=>{const n=this.get(e);this.exists(e,s)||this.map.set(e,[...n,s])}),Wr(this,"get",e=>this.map.get(e)||[]),Wr(this,"exists",(e,s)=>this.get(e).includes(s)),Wr(this,"delete",(e,s)=>{if(typeof s>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const n=this.get(e);if(!this.exists(e,s))return;const r=n.filter(i=>i!==s);if(!r.length){this.map.delete(e);return}this.map.set(e,r)}),Wr(this,"clear",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var zT=Object.defineProperty,KT=Object.defineProperties,GT=Object.getOwnPropertyDescriptors,gp=Object.getOwnPropertySymbols,YT=Object.prototype.hasOwnProperty,ZT=Object.prototype.propertyIsEnumerable,td=(t,e,s)=>e in t?zT(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ti=(t,e)=>{for(var s in e||(e={}))YT.call(e,s)&&td(t,s,e[s]);if(gp)for(var s of gp(e))ZT.call(e,s)&&td(t,s,e[s]);return t},Gc=(t,e)=>KT(t,GT(e)),We=(t,e,s)=>td(t,typeof e!="symbol"?e+"":e,s);class JT extends bv{constructor(e,s){super(e,s),this.relayer=e,this.logger=s,We(this,"subscriptions",new Map),We(this,"topicMap",new VT),We(this,"events",new Pr.EventEmitter),We(this,"name",DN),We(this,"version",LN),We(this,"pending",new Map),We(this,"cached",[]),We(this,"initialized",!1),We(this,"storagePrefix",Js),We(this,"subscribeTimeout",Y.toMiliseconds(Y.ONE_MINUTE)),We(this,"initialSubscribeTimeout",Y.toMiliseconds(Y.ONE_SECOND*15)),We(this,"clientId"),We(this,"batchSubscribeTopicsLimit",500),We(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),We(this,"subscribe",async(n,r)=>{var i;this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:n,opts:r}});try{const o=ja(r),a={topic:n,relay:o,transportType:r==null?void 0:r.transportType};(i=r==null?void 0:r.internal)!=null&&i.skipSubscribe||this.pending.set(n,a);const c=await this.rpcSubscribe(n,o,r);return typeof c=="string"&&(this.onSubscribe(c,a),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:n,opts:r}})),c}catch(o){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(o),o}}),We(this,"unsubscribe",async(n,r)=>{this.isInitialized(),typeof(r==null?void 0:r.id)<"u"?await this.unsubscribeById(n,r.id,r):await this.unsubscribeByTopic(n,r)}),We(this,"isSubscribed",n=>new Promise(r=>{r(this.topicMap.topics.includes(n))})),We(this,"isKnownTopic",n=>new Promise(r=>{r(this.topicMap.topics.includes(n)||this.pending.has(n)||this.cached.some(i=>i.topic===n))})),We(this,"on",(n,r)=>{this.events.on(n,r)}),We(this,"once",(n,r)=>{this.events.once(n,r)}),We(this,"off",(n,r)=>{this.events.off(n,r)}),We(this,"removeListener",(n,r)=>{this.events.removeListener(n,r)}),We(this,"start",async()=>{await this.onConnect()}),We(this,"stop",async()=>{await this.onDisconnect()}),We(this,"restart",async()=>{await this.restore(),await this.onRestart()}),We(this,"checkPending",async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const n=[];this.pending.forEach(r=>{n.push(r)}),await this.batchSubscribe(n)}),We(this,"registerEventListeners",()=>{this.relayer.core.heartbeat.on(wi.pulse,async()=>{await this.checkPending()}),this.events.on(ss.created,async n=>{const r=ss.created;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:n}),await this.persist()}),this.events.on(ss.deleted,async n=>{const r=ss.deleted;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:n}),await this.persist()})}),this.relayer=e,this.logger=Xt(s,this.name),this.clientId=""}get context(){return Jt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}get hasAnyTopics(){return this.topicMap.topics.length>0||this.pending.size>0||this.cached.length>0||this.subscriptions.size>0}hasSubscription(e,s){let n=!1;try{n=this.getSubscription(e).topic===s}catch{}return n}reset(){this.cached=[],this.initialized=!0}onDisable(){this.values.length>0&&(this.cached=this.values),this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,s){const n=this.topicMap.get(e);await Promise.all(n.map(async r=>await this.unsubscribeById(e,r,s)))}async unsubscribeById(e,s,n){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:s,opts:n}});try{const r=ja(n);await this.restartToComplete({topic:e,id:s,relay:r}),await this.rpcUnsubscribe(e,s,r);const i=Ye("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,s,i),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:s,opts:n}})}catch(r){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(r),r}}async rpcSubscribe(e,s,n){var r,i;const o=await this.getSubscriptionId(e);if((r=n==null?void 0:n.internal)!=null&&r.skipSubscribe)return o;(!n||(n==null?void 0:n.transportType)===ze.relay)&&await this.restartToComplete({topic:e,id:e,relay:s});const a={method:Jr(s.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:a});const c=(i=n==null?void 0:n.internal)==null?void 0:i.throwOnFailedPublish;try{if((n==null?void 0:n.transportType)===ze.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(a).catch(u=>this.logger.warn(u))},Y.toMiliseconds(Y.ONE_SECOND)),o;const l=new Promise(async u=>{const h=p=>{p.topic===e&&(this.events.removeListener(ss.created,h),u(p.id))};this.events.on(ss.created,h);try{const p=await Hs(new Promise((m,f)=>{this.relayer.request(a).catch(y=>{this.logger.warn(y,y==null?void 0:y.message),f(y)}).then(m)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(ss.created,h),u(p)}catch{}}),d=await Hs(l,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!d&&c)throw new Error(`Subscribing to ${e} failed, please try again`);return d?o:null}catch(l){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(nt.connection_stalled),c)throw l}return null}async rpcBatchSubscribe(e){if(!e.length)return;const s=e[0].relay,n={method:Jr(s.protocol).batchSubscribe,params:{topics:e.map(r=>r.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});try{await await Hs(new Promise(r=>{this.relayer.request(n).catch(i=>this.logger.warn(i)).then(r)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(nt.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const s=e[0].relay,n={method:Jr(s.protocol).batchFetchMessages,params:{topics:e.map(i=>i.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});let r;try{r=await await Hs(new Promise((i,o)=>{this.relayer.request(n).catch(a=>{this.logger.warn(a),o(a)}).then(i)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(nt.connection_stalled)}return r}rpcUnsubscribe(e,s,n){const r={method:Jr(n.protocol).unsubscribe,params:{topic:e,id:s}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:r}),this.relayer.request(r)}onSubscribe(e,s){this.setSubscription(e,Gc(Ti({},s),{id:e})),this.pending.delete(s.topic)}onBatchSubscribe(e){e.length&&e.forEach(s=>{this.setSubscription(s.id,Ti({},s)),this.pending.delete(s.topic)})}async onUnsubscribe(e,s,n){this.events.removeAllListeners(s),this.hasSubscription(s,e)&&this.deleteSubscription(s,n),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,s){this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:s}),this.addSubscription(e,s)}addSubscription(e,s){this.subscriptions.set(e,Ti({},s)),this.topicMap.set(s.topic,e),this.events.emit(ss.created,s)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const s=this.subscriptions.get(e);if(!s){const{message:n}=G("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(n)}return s}deleteSubscription(e,s){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:s});const n=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(n.topic,e),this.events.emit(ss.deleted,Gc(Ti({},n),{reason:s}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(ss.sync)}async onRestart(){if(this.cached.length){const e=[...this.cached],s=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let n=0;n<s;n++){const r=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(r)}}this.events.emit(ss.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size&&!e.every(s=>{var n;return s.topic===((n=this.subscriptions.get(s.id))==null?void 0:n.topic)})){const{message:s}=G("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async s=>Gc(Ti({},s),{id:await this.getSubscriptionId(s.topic)})))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);const s=await this.rpcBatchFetchMessages(e);s&&s.messages&&(await C0(Y.toMiliseconds(Y.ONE_SECOND)),await this.relayer.handleBatchMessageEvents(s.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(e){!this.relayer.connected&&!this.relayer.connecting&&(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||(this.clientId=await this.relayer.core.crypto.getClientId()),this.clientId}async getSubscriptionId(e){return ys(e+await this.getClientId())}}var XT=Object.defineProperty,mp=Object.getOwnPropertySymbols,QT=Object.prototype.hasOwnProperty,eR=Object.prototype.propertyIsEnumerable,sd=(t,e,s)=>e in t?XT(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,yp=(t,e)=>{for(var s in e||(e={}))QT.call(e,s)&&sd(t,s,e[s]);if(mp)for(var s of mp(e))eR.call(e,s)&&sd(t,s,e[s]);return t},$e=(t,e,s)=>sd(t,typeof e!="symbol"?e+"":e,s);class tR extends wv{constructor(e){var s;super(e),$e(this,"protocol","wc"),$e(this,"version",2),$e(this,"core"),$e(this,"logger"),$e(this,"events",new Pr.EventEmitter),$e(this,"provider"),$e(this,"messages"),$e(this,"subscriber"),$e(this,"publisher"),$e(this,"name",PN),$e(this,"transportExplicitlyClosed",!1),$e(this,"initialized",!1),$e(this,"connectionAttemptInProgress",!1),$e(this,"relayUrl"),$e(this,"projectId"),$e(this,"packageName"),$e(this,"bundleId"),$e(this,"hasExperiencedNetworkDisruption",!1),$e(this,"pingTimeout"),$e(this,"heartBeatTimeout",Y.toMiliseconds(Y.THIRTY_SECONDS+Y.FIVE_SECONDS)),$e(this,"reconnectTimeout"),$e(this,"connectPromise"),$e(this,"reconnectInProgress",!1),$e(this,"requestsInFlight",[]),$e(this,"connectTimeout",Y.toMiliseconds(Y.ONE_SECOND*15)),$e(this,"request",async n=>{var r,i;this.logger.debug("Publishing Request Payload");const o=n.id||hr().toString();await this.toEstablishConnection();try{this.logger.trace({id:o,method:n.method,topic:(r=n.params)==null?void 0:r.topic},"relayer.request - publishing...");const a=`${o}:${((i=n.params)==null?void 0:i.tag)||""}`;this.requestsInFlight.push(a);const c=await this.provider.request(n);return this.requestsInFlight=this.requestsInFlight.filter(l=>l!==a),c}catch(a){throw this.logger.debug(`Failed to Publish Request: ${o}`),a}}),$e(this,"resetPingTimeout",()=>{Ua()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var n,r,i,o;try{this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),(o=(i=(r=(n=this.provider)==null?void 0:n.connection)==null?void 0:r.socket)==null?void 0:i.terminate)==null||o.call(i)}catch(a){this.logger.warn(a,a==null?void 0:a.message)}},this.heartBeatTimeout))}),$e(this,"onPayloadHandler",n=>{this.onProviderPayload(n),this.resetPingTimeout()}),$e(this,"onConnectHandler",()=>{this.logger.warn({},"Relayer connected 🛜"),this.startPingTimeout(),this.events.emit(nt.connect)}),$e(this,"onDisconnectHandler",()=>{this.logger.warn({},"Relayer disconnected 🛑"),this.requestsInFlight=[],this.onProviderDisconnect()}),$e(this,"onProviderErrorHandler",n=>{this.logger.fatal(`Fatal socket error: ${n.message}`),this.events.emit(nt.error,n),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()}),$e(this,"registerProviderListeners",()=>{this.provider.on(us.payload,this.onPayloadHandler),this.provider.on(us.connect,this.onConnectHandler),this.provider.on(us.disconnect,this.onDisconnectHandler),this.provider.on(us.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=Fd({logger:(s=e.logger)!=null?s:ON,name:this.name}),this.messages=new DT(this.logger,e.core),this.subscriber=new JT(this,this.logger),this.publisher=new qT(this,this.logger),this.projectId=e==null?void 0:e.projectId,this.relayUrl=(e==null?void 0:e.relayUrl)||Nm,i0()?this.packageName=uh():o0()&&(this.bundleId=uh()),this.provider={}}async init(){this.logger.trace("Initialized"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.transportOpen().catch(e=>this.logger.warn(e,e==null?void 0:e.message))}get context(){return Jt(this.logger)}get connected(){var e,s,n;return((n=(s=(e=this.provider)==null?void 0:e.connection)==null?void 0:s.socket)==null?void 0:n.readyState)===1||!1}get connecting(){var e,s,n;return((n=(s=(e=this.provider)==null?void 0:e.connection)==null?void 0:s.socket)==null?void 0:n.readyState)===0||this.connectPromise!==void 0||!1}async publish(e,s,n){this.isInitialized(),await this.publisher.publish(e,s,n),await this.recordMessageEvent({topic:e,message:s,publishedAt:Date.now(),transportType:ze.relay},pa.outbound)}async publishCustom(e){this.isInitialized(),await this.publisher.publishCustom(e)}async subscribe(e,s){var n,r,i;this.isInitialized(),(!(s!=null&&s.transportType)||(s==null?void 0:s.transportType)==="relay")&&await this.toEstablishConnection();const o=typeof((n=s==null?void 0:s.internal)==null?void 0:n.throwOnFailedPublish)>"u"?!0:(r=s==null?void 0:s.internal)==null?void 0:r.throwOnFailedPublish;let a=((i=this.subscriber.topicMap.get(e))==null?void 0:i[0])||"",c;const l=d=>{d.topic===e&&(this.subscriber.off(ss.created,l),c())};return await Promise.all([new Promise(d=>{c=d,this.subscriber.on(ss.created,l)}),new Promise(async(d,u)=>{a=await this.subscriber.subscribe(e,yp({internal:{throwOnFailedPublish:o}},s)).catch(h=>{o&&u(h)})||a,d()})]),a}async unsubscribe(e,s){this.isInitialized(),await this.subscriber.unsubscribe(e,s)}on(e,s){this.events.on(e,s)}once(e,s){this.events.once(e,s)}off(e,s){this.events.off(e,s)}removeListener(e,s){this.events.removeListener(e,s)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await Hs(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.info("Starting WS connection skipped because the client has no topics to work with.");return}if(this.connectPromise?(this.logger.debug({},"Waiting for existing connection attempt to resolve..."),await this.connectPromise,this.logger.debug({},"Existing connection attempt resolved")):(this.connectPromise=new Promise(async(s,n)=>{await this.connect(e).then(s).catch(n).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw new Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},"Restarting transport..."),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await np())throw new Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if((e==null?void 0:e.length)===0){this.logger.trace("Batch message events is empty. Ignoring...");return}const s=e.sort((n,r)=>n.publishedAt-r.publishedAt);this.logger.debug(`Batch of ${s.length} message events sorted`);for(const n of s)try{await this.onMessageEvent(n)}catch(r){this.logger.warn(r,"Error while processing batch message event: "+(r==null?void 0:r.message))}this.logger.trace(`Batch of ${s.length} message events processed`)}async onLinkMessageEvent(e,s){const{topic:n}=e;if(!s.sessionExists){const r=st(Y.FIVE_MINUTES),i={topic:n,expiry:r,relay:{protocol:"irn"},active:!1};await this.core.pairing.pairings.set(n,i)}this.events.emit(nt.message,e),await this.recordMessageEvent(e,pa.inbound)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let s=1;for(;s<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${s}...`),await this.createProvider(),await new Promise(async(n,r)=>{const i=()=>{r(new Error("Connection interrupted while trying to connect"))};this.provider.once(us.disconnect,i),await Hs(new Promise((o,a)=>{this.provider.connect().then(o).catch(a)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(o=>{r(o)}).finally(()=>{this.provider.off(us.disconnect,i),clearTimeout(this.reconnectTimeout)}),await new Promise(async(o,a)=>{const c=()=>{r(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(us.disconnect,c),await this.subscriber.start().then(o).catch(a).finally(()=>{this.provider.off(us.disconnect,c)})}),this.hasExperiencedNetworkDisruption=!1,n()})}catch(n){await this.subscriber.stop();const r=n;this.logger.warn({},r.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${s}`);break}await new Promise(n=>setTimeout(n,Y.toMiliseconds(s*1))),s++}}startPingTimeout(){var e,s,n,r,i;if(Ua())try{(s=(e=this.provider)==null?void 0:e.connection)!=null&&s.socket&&((i=(r=(n=this.provider)==null?void 0:n.connection)==null?void 0:r.socket)==null||i.on("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o,o==null?void 0:o.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new gd(new xy(u0({sdkVersion:Zl,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e,s){const{topic:n,message:r}=e;await this.messages.set(n,r,s)}async shouldIgnoreMessageEvent(e){const{topic:s,message:n}=e;if(!n||n.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${n}`),!0;if(!await this.subscriber.isKnownTopic(s))return this.logger.warn(`Ignoring message for unknown topic ${s}`),!0;const r=this.messages.has(s,n);return r&&this.logger.warn(`Ignoring duplicate message: ${n}`),r}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),md(e)){if(!e.method.endsWith(xN))return;const s=e.params,{topic:n,message:r,publishedAt:i,attestation:o}=s.data,a={topic:n,message:r,publishedAt:i,transportType:ze.relay,attestation:o};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(yp({type:"event",event:s.id},a)),this.events.emit(s.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else yd(e)&&this.events.emit(nt.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,pa.inbound),this.events.emit(nt.message,e))}async acknowledgePayload(e){const s=Gi(e.id,!0);await this.provider.connection.send(s)}unregisterProviderListeners(){this.provider.off(us.payload,this.onPayloadHandler),this.provider.off(us.connect,this.onConnectHandler),this.provider.off(us.disconnect,this.onDisconnectHandler),this.provider.off(us.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await np();aN(async s=>{e!==s&&(e=s,s?await this.transportOpen().catch(n=>this.logger.error(n,n==null?void 0:n.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))}),this.core.heartbeat.on(wi.pulse,async()=>{if(!this.transportExplicitlyClosed&&!this.connected&&dN())try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(s){this.logger.warn(s,s==null?void 0:s.message)}})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(nt.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e==null?void 0:e.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},Y.toMiliseconds(kN)))))}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectPromise){await this.connectPromise;return}await this.connect()}}}function sR(t,e){return t===e||Number.isNaN(t)&&Number.isNaN(e)}function wp(t){return Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e))}function Ep(t){return t==null?t===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const nR="[object RegExp]",rR="[object String]",iR="[object Number]",oR="[object Boolean]",bp="[object Arguments]",aR="[object Symbol]",cR="[object Date]",lR="[object Map]",dR="[object Set]",uR="[object Array]",hR="[object Function]",pR="[object ArrayBuffer]",Yc="[object Object]",fR="[object Error]",gR="[object DataView]",mR="[object Uint8Array]",yR="[object Uint8ClampedArray]",wR="[object Uint16Array]",ER="[object Uint32Array]",bR="[object BigUint64Array]",CR="[object Int8Array]",vR="[object Int16Array]",_R="[object Int32Array]",AR="[object BigInt64Array]",SR="[object Float32Array]",IR="[object Float64Array]";function NR(){}function Cp(t){if(!t||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);return e===null||e===Object.prototype||Object.getPrototypeOf(e)===null?Object.prototype.toString.call(t)==="[object Object]":!1}function TR(t,e,s){return Di(t,e,void 0,void 0,void 0,void 0,s)}function Di(t,e,s,n,r,i,o){const a=o(t,e,s,n,r,i);if(a!==void 0)return a;if(typeof t==typeof e)switch(typeof t){case"bigint":case"string":case"boolean":case"symbol":case"undefined":return t===e;case"number":return t===e||Object.is(t,e);case"function":return t===e;case"object":return Wi(t,e,i,o)}return Wi(t,e,i,o)}function Wi(t,e,s,n){if(Object.is(t,e))return!0;let r=Ep(t),i=Ep(e);if(r===bp&&(r=Yc),i===bp&&(i=Yc),r!==i)return!1;switch(r){case rR:return t.toString()===e.toString();case iR:{const c=t.valueOf(),l=e.valueOf();return sR(c,l)}case oR:case cR:case aR:return Object.is(t.valueOf(),e.valueOf());case nR:return t.source===e.source&&t.flags===e.flags;case hR:return t===e}s=s??new Map;const o=s.get(t),a=s.get(e);if(o!=null&&a!=null)return o===e;s.set(t,e),s.set(e,t);try{switch(r){case lR:{if(t.size!==e.size)return!1;for(const[c,l]of t.entries())if(!e.has(c)||!Di(l,e.get(c),c,t,e,s,n))return!1;return!0}case dR:{if(t.size!==e.size)return!1;const c=Array.from(t.values()),l=Array.from(e.values());for(let d=0;d<c.length;d++){const u=c[d],h=l.findIndex(p=>Di(u,p,void 0,t,e,s,n));if(h===-1)return!1;l.splice(h,1)}return!0}case uR:case mR:case yR:case wR:case ER:case bR:case CR:case vR:case _R:case AR:case SR:case IR:{if(typeof ke<"u"&&ke.isBuffer(t)!==ke.isBuffer(e)||t.length!==e.length)return!1;for(let c=0;c<t.length;c++)if(!Di(t[c],e[c],c,t,e,s,n))return!1;return!0}case pR:return t.byteLength!==e.byteLength?!1:Wi(new Uint8Array(t),new Uint8Array(e),s,n);case gR:return t.byteLength!==e.byteLength||t.byteOffset!==e.byteOffset?!1:Wi(new Uint8Array(t),new Uint8Array(e),s,n);case fR:return t.name===e.name&&t.message===e.message;case Yc:{if(!(Wi(t.constructor,e.constructor,s,n)||Cp(t)&&Cp(e)))return!1;const c=[...Object.keys(t),...wp(t)],l=[...Object.keys(e),...wp(e)];if(c.length!==l.length)return!1;for(let d=0;d<c.length;d++){const u=c[d],h=t[u];if(!Object.hasOwn(e,u))return!1;const p=e[u];if(!Di(h,p,u,t,e,s,n))return!1}return!0}default:return!1}}finally{s.delete(t),s.delete(e)}}function RR(t,e){return TR(t,e,NR)}var OR=Object.defineProperty,vp=Object.getOwnPropertySymbols,PR=Object.prototype.hasOwnProperty,xR=Object.prototype.propertyIsEnumerable,nd=(t,e,s)=>e in t?OR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,_p=(t,e)=>{for(var s in e||(e={}))PR.call(e,s)&&nd(t,s,e[s]);if(vp)for(var s of vp(e))xR.call(e,s)&&nd(t,s,e[s]);return t},qt=(t,e,s)=>nd(t,typeof e!="symbol"?e+"":e,s);class Dr extends Ev{constructor(e,s,n,r=Js,i=void 0){super(e,s,n,r),this.core=e,this.logger=s,this.name=n,qt(this,"map",new Map),qt(this,"version",UN),qt(this,"cached",[]),qt(this,"initialized",!1),qt(this,"getKey"),qt(this,"storagePrefix",Js),qt(this,"recentlyDeleted",[]),qt(this,"recentlyDeletedLimit",200),qt(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!ht(o)?this.map.set(this.getKey(o),o):MI(o)?this.map.set(o.id,o):BI(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)}),qt(this,"set",async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:o,value:a}),this.map.set(o,a),await this.persist())}),qt(this,"get",o=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:o}),this.getData(o))),qt(this,"getAll",o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(c=>RR(a[c],o[c]))):this.values)),qt(this,"update",async(o,a)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:o,update:a});const c=_p(_p({},this.getData(o)),a);this.map.set(o,c),await this.persist()}),qt(this,"delete",async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())}),this.logger=Xt(s,this.name),this.storagePrefix=r,this.getKey=i}get context(){return Jt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const s=this.map.get(e);if(!s){if(this.recentlyDeleted.includes(e)){const{message:r}=G("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(r),new Error(r)}const{message:n}=G("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(n),new Error(n)}return s}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:s}=G("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}}var kR=Object.defineProperty,UR=(t,e,s)=>e in t?kR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Te=(t,e,s)=>UR(t,typeof e!="symbol"?e+"":e,s);class $R{constructor(e,s){this.core=e,this.logger=s,Te(this,"name",MN),Te(this,"version",BN),Te(this,"events",new fd),Te(this,"pairings"),Te(this,"initialized",!1),Te(this,"storagePrefix",Js),Te(this,"ignoredPayloadTypes",[yn]),Te(this,"registeredMethods",[]),Te(this,"init",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))}),Te(this,"register",({methods:n})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...n])]}),Te(this,"create",async n=>{this.isInitialized();const r=Kl(),i=await this.core.crypto.setSymKey(r),o=st(Y.FIVE_MINUTES),a={protocol:Im},c={topic:i,expiry:o,relay:a,active:!1,methods:n==null?void 0:n.methods},l=Gh({protocol:this.core.protocol,version:this.core.version,topic:i,symKey:r,relay:a,expiryTimestamp:o,methods:n==null?void 0:n.methods});return this.events.emit(lr.create,c),this.core.expirer.set(i,o),await this.pairings.set(i,c),await this.core.relayer.subscribe(i,{transportType:n==null?void 0:n.transportType,internal:n==null?void 0:n.internal}),{topic:i,uri:l}}),Te(this,"pair",async n=>{this.isInitialized();const r=this.core.eventClient.createEvent({properties:{topic:n==null?void 0:n.uri,trace:[Bs.pairing_started]}});this.isValidPair(n,r);const{topic:i,symKey:o,relay:a,expiryTimestamp:c,methods:l}=Kh(n.uri);r.props.properties.topic=i,r.addTrace(Bs.pairing_uri_validation_success),r.addTrace(Bs.pairing_uri_not_expired);let d;if(this.pairings.keys.includes(i)){if(d=this.pairings.get(i),r.addTrace(Bs.existing_pairing),d.active)throw r.setError(rn.active_pairing_already_exists),new Error(`Pairing already exists: ${i}. Please try again with a new connection URI.`);r.addTrace(Bs.pairing_not_expired)}const u=c||st(Y.FIVE_MINUTES),h={topic:i,relay:a,expiry:u,active:!1,methods:l};this.core.expirer.set(i,u),await this.pairings.set(i,h),r.addTrace(Bs.store_new_pairing),n.activatePairing&&await this.activate({topic:i}),this.events.emit(lr.create,h),r.addTrace(Bs.emit_inactive_pairing),this.core.crypto.keychain.has(i)||await this.core.crypto.setSymKey(o,i),r.addTrace(Bs.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{r.setError(rn.no_internet_connection)}try{await this.core.relayer.subscribe(i,{relay:a})}catch(p){throw r.setError(rn.subscribe_pairing_topic_failure),p}return r.addTrace(Bs.subscribe_pairing_topic_success),h}),Te(this,"activate",async({topic:n})=>{this.isInitialized();const r=st(Y.FIVE_MINUTES);this.core.expirer.set(n,r),await this.pairings.update(n,{active:!0,expiry:r})}),Te(this,"ping",async n=>{this.isInitialized(),await this.isValidPing(n),this.logger.warn("ping() is deprecated and will be removed in the next major release.");const{topic:r}=n;if(this.pairings.keys.includes(r)){const i=await this.sendRequest(r,"wc_pairingPing",{}),{done:o,resolve:a,reject:c}=cr();this.events.once(je("pairing_ping",i),({error:l})=>{l?c(l):a()}),await o()}}),Te(this,"updateExpiry",async({topic:n,expiry:r})=>{this.isInitialized(),await this.pairings.update(n,{expiry:r})}),Te(this,"updateMetadata",async({topic:n,metadata:r})=>{this.isInitialized(),await this.pairings.update(n,{peerMetadata:r})}),Te(this,"getPairings",()=>(this.isInitialized(),this.pairings.values)),Te(this,"disconnect",async n=>{this.isInitialized(),await this.isValidDisconnect(n);const{topic:r}=n;this.pairings.keys.includes(r)&&(await this.sendRequest(r,"wc_pairingDelete",Ye("USER_DISCONNECTED")),await this.deletePairing(r))}),Te(this,"formatUriFromPairing",n=>{this.isInitialized();const{topic:r,relay:i,expiry:o,methods:a}=n,c=this.core.crypto.keychain.get(r);return Gh({protocol:this.core.protocol,version:this.core.version,topic:r,symKey:c,relay:i,expiryTimestamp:o,methods:a})}),Te(this,"sendRequest",async(n,r,i)=>{const o=Fs(r,i),a=await this.core.crypto.encode(n,o),c=Ii[r].req;return this.core.history.set(n,o),this.core.relayer.publish(n,a,c),o.id}),Te(this,"sendResult",async(n,r,i)=>{const o=Gi(n,i),a=await this.core.crypto.encode(r,o),c=(await this.core.history.get(r,n)).request.method,l=Ii[c].res;await this.core.relayer.publish(r,a,l),await this.core.history.resolve(o)}),Te(this,"sendError",async(n,r,i)=>{const o=wf(n,i),a=await this.core.crypto.encode(r,o),c=(await this.core.history.get(r,n)).request.method,l=Ii[c]?Ii[c].res:Ii.unregistered_method.res;await this.core.relayer.publish(r,a,l),await this.core.history.resolve(o)}),Te(this,"deletePairing",async(n,r)=>{await this.core.relayer.unsubscribe(n),await Promise.all([this.pairings.delete(n,Ye("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(n),r?Promise.resolve():this.core.expirer.del(n)])}),Te(this,"cleanup",async()=>{const n=this.pairings.getAll().filter(r=>qs(r.expiry));await Promise.all(n.map(r=>this.deletePairing(r.topic)))}),Te(this,"onRelayEventRequest",async n=>{const{topic:r,payload:i}=n;switch(i.method){case"wc_pairingPing":return await this.onPairingPingRequest(r,i);case"wc_pairingDelete":return await this.onPairingDeleteRequest(r,i);default:return await this.onUnknownRpcMethodRequest(r,i)}}),Te(this,"onRelayEventResponse",async n=>{const{topic:r,payload:i}=n,o=(await this.core.history.get(r,i.id)).request.method;switch(o){case"wc_pairingPing":return this.onPairingPingResponse(r,i);default:return this.onUnknownRpcMethodResponse(o)}}),Te(this,"onPairingPingRequest",async(n,r)=>{const{id:i}=r;try{this.isValidPing({topic:n}),await this.sendResult(i,n,!0),this.events.emit(lr.ping,{id:i,topic:n})}catch(o){await this.sendError(i,n,o),this.logger.error(o)}}),Te(this,"onPairingPingResponse",(n,r)=>{const{id:i}=r;setTimeout(()=>{sn(r)?this.events.emit(je("pairing_ping",i),{}):js(r)&&this.events.emit(je("pairing_ping",i),{error:r.error})},500)}),Te(this,"onPairingDeleteRequest",async(n,r)=>{const{id:i}=r;try{this.isValidDisconnect({topic:n}),await this.deletePairing(n),this.events.emit(lr.delete,{id:i,topic:n})}catch(o){await this.sendError(i,n,o),this.logger.error(o)}}),Te(this,"onUnknownRpcMethodRequest",async(n,r)=>{const{id:i,method:o}=r;try{if(this.registeredMethods.includes(o))return;const a=Ye("WC_METHOD_UNSUPPORTED",o);await this.sendError(i,n,a),this.logger.error(a)}catch(a){await this.sendError(i,n,a),this.logger.error(a)}}),Te(this,"onUnknownRpcMethodResponse",n=>{this.registeredMethods.includes(n)||this.logger.error(Ye("WC_METHOD_UNSUPPORTED",n))}),Te(this,"isValidPair",(n,r)=>{var i;if(!Wt(n)){const{message:a}=G("MISSING_OR_INVALID",`pair() params: ${n}`);throw r.setError(rn.malformed_pairing_uri),new Error(a)}if(!LI(n.uri)){const{message:a}=G("MISSING_OR_INVALID",`pair() uri: ${n.uri}`);throw r.setError(rn.malformed_pairing_uri),new Error(a)}const o=Kh(n==null?void 0:n.uri);if(!((i=o==null?void 0:o.relay)!=null&&i.protocol)){const{message:a}=G("MISSING_OR_INVALID","pair() uri#relay-protocol");throw r.setError(rn.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=G("MISSING_OR_INVALID","pair() uri#symKey");throw r.setError(rn.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&Y.toMiliseconds(o==null?void 0:o.expiryTimestamp)<Date.now()){r.setError(rn.pairing_expired);const{message:a}=G("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw new Error(a)}}),Te(this,"isValidPing",async n=>{if(!Wt(n)){const{message:i}=G("MISSING_OR_INVALID",`ping() params: ${n}`);throw new Error(i)}const{topic:r}=n;await this.isValidPairingTopic(r)}),Te(this,"isValidDisconnect",async n=>{if(!Wt(n)){const{message:i}=G("MISSING_OR_INVALID",`disconnect() params: ${n}`);throw new Error(i)}const{topic:r}=n;await this.isValidPairingTopic(r)}),Te(this,"isValidPairingTopic",async n=>{if(!rt(n,!1)){const{message:r}=G("MISSING_OR_INVALID",`pairing topic should be a string: ${n}`);throw new Error(r)}if(!this.pairings.keys.includes(n)){const{message:r}=G("NO_MATCHING_KEY",`pairing topic doesn't exist: ${n}`);throw new Error(r)}if(qs(this.pairings.get(n).expiry)){await this.deletePairing(n);const{message:r}=G("EXPIRED",`pairing topic: ${n}`);throw new Error(r)}}),this.core=e,this.logger=Xt(s,this.name),this.pairings=new Dr(this.core,this.logger,this.name,this.storagePrefix)}get context(){return Jt(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(nt.message,async e=>{const{topic:s,message:n,transportType:r}=e;if(this.pairings.keys.includes(s)&&r!==ze.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(n)))try{const i=await this.core.crypto.decode(s,n);md(i)?(this.core.history.set(s,i),await this.onRelayEventRequest({topic:s,payload:i})):yd(i)&&(await this.core.history.resolve(i),await this.onRelayEventResponse({topic:s,payload:i}),this.core.history.delete(s,i.id)),await this.core.relayer.messages.ack(s,n)}catch(i){this.logger.error(i)}})}registerExpirerEvents(){this.core.expirer.on(gs.expired,async e=>{const{topic:s}=vg(e.target);s&&this.pairings.keys.includes(s)&&(await this.deletePairing(s,!0),this.events.emit(lr.expire,{topic:s}))})}}var DR=Object.defineProperty,LR=(t,e,s)=>e in t?DR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,gt=(t,e,s)=>LR(t,typeof e!="symbol"?e+"":e,s);class MR extends gv{constructor(e,s){super(e,s),this.core=e,this.logger=s,gt(this,"records",new Map),gt(this,"events",new Pr.EventEmitter),gt(this,"name",jN),gt(this,"version",FN),gt(this,"cached",[]),gt(this,"initialized",!1),gt(this,"storagePrefix",Js),gt(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(n=>this.records.set(n.id,n)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),gt(this,"set",(n,r,i)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:n,request:r,chainId:i}),this.records.has(r.id))return;const o={id:r.id,topic:n,request:{method:r.method,params:r.params||null},chainId:i,expiry:st(Y.THIRTY_DAYS)};this.records.set(o.id,o),this.persist(),this.events.emit(_s.created,o)}),gt(this,"resolve",async n=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:n}),!this.records.has(n.id))return;const r=await this.getRecord(n.id);typeof r.response>"u"&&(r.response=js(n)?{error:n.error}:{result:n.result},this.records.set(r.id,r),this.persist(),this.events.emit(_s.updated,r))}),gt(this,"get",async(n,r)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:n,id:r}),await this.getRecord(r))),gt(this,"delete",(n,r)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:r}),this.values.forEach(i=>{if(i.topic===n){if(typeof r<"u"&&i.id!==r)return;this.records.delete(i.id),this.events.emit(_s.deleted,i)}}),this.persist()}),gt(this,"exists",async(n,r)=>(this.isInitialized(),this.records.has(r)?(await this.getRecord(r)).topic===n:!1)),gt(this,"on",(n,r)=>{this.events.on(n,r)}),gt(this,"once",(n,r)=>{this.events.once(n,r)}),gt(this,"off",(n,r)=>{this.events.off(n,r)}),gt(this,"removeListener",(n,r)=>{this.events.removeListener(n,r)}),this.logger=Xt(s,this.name)}get context(){return Jt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(s=>{if(typeof s.response<"u")return;const n={topic:s.topic,request:Fs(s.request.method,s.request.params,s.id),chainId:s.chainId};return e.push(n)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const s=this.records.get(e);if(!s){const{message:n}=G("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(n)}return s}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(_s.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:s}=G("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(_s.created,e=>{const s=_s.created;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,record:e})}),this.events.on(_s.updated,e=>{const s=_s.updated;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,record:e})}),this.events.on(_s.deleted,e=>{const s=_s.deleted;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,record:e})}),this.core.heartbeat.on(wi.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(s=>{Y.toMiliseconds(s.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${s.id}`),this.records.delete(s.id),this.events.emit(_s.deleted,s,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}}var BR=Object.defineProperty,jR=(t,e,s)=>e in t?BR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,At=(t,e,s)=>jR(t,typeof e!="symbol"?e+"":e,s);class FR extends Cv{constructor(e,s){super(e,s),this.core=e,this.logger=s,At(this,"expirations",new Map),At(this,"events",new Pr.EventEmitter),At(this,"name",qN),At(this,"version",WN),At(this,"cached",[]),At(this,"initialized",!1),At(this,"storagePrefix",Js),At(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(n=>this.expirations.set(n.target,n)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),At(this,"has",n=>{try{const r=this.formatTarget(n);return typeof this.getExpiration(r)<"u"}catch{return!1}}),At(this,"set",(n,r)=>{this.isInitialized();const i=this.formatTarget(n),o={target:i,expiry:r};this.expirations.set(i,o),this.checkExpiry(i,o),this.events.emit(gs.created,{target:i,expiration:o})}),At(this,"get",n=>{this.isInitialized();const r=this.formatTarget(n);return this.getExpiration(r)}),At(this,"del",n=>{if(this.isInitialized(),this.has(n)){const r=this.formatTarget(n),i=this.getExpiration(r);this.expirations.delete(r),this.events.emit(gs.deleted,{target:r,expiration:i})}}),At(this,"on",(n,r)=>{this.events.on(n,r)}),At(this,"once",(n,r)=>{this.events.once(n,r)}),At(this,"off",(n,r)=>{this.events.off(n,r)}),At(this,"removeListener",(n,r)=>{this.events.removeListener(n,r)}),this.logger=Xt(s,this.name)}get context(){return Jt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e=="string")return h0(e);if(typeof e=="number")return p0(e);const{message:s}=G("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new Error(s)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(gs.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:s}=G("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const s=this.expirations.get(e);if(!s){const{message:n}=G("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(n),new Error(n)}return s}checkExpiry(e,s){const{expiry:n}=s;Y.toMiliseconds(n)-Date.now()<=0&&this.expire(e,s)}expire(e,s){this.expirations.delete(e),this.events.emit(gs.expired,{target:e,expiration:s})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,s)=>this.checkExpiry(s,e))}registerEventListeners(){this.core.heartbeat.on(wi.pulse,()=>this.checkExpirations()),this.events.on(gs.created,e=>{const s=gs.created;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:e}),this.persist()}),this.events.on(gs.expired,e=>{const s=gs.expired;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:e}),this.persist()}),this.events.on(gs.deleted,e=>{const s=gs.deleted;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}}var qR=Object.defineProperty,WR=(t,e,s)=>e in t?qR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,tt=(t,e,s)=>WR(t,typeof e!="symbol"?e+"":e,s);class HR extends vv{constructor(e,s,n){super(e,s,n),this.core=e,this.logger=s,this.store=n,tt(this,"name",HN),tt(this,"abortController"),tt(this,"isDevEnv"),tt(this,"verifyUrlV3",zN),tt(this,"storagePrefix",Js),tt(this,"version",Sm),tt(this,"publicKey"),tt(this,"fetchPromise"),tt(this,"init",async()=>{var r;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&Y.toMiliseconds((r=this.publicKey)==null?void 0:r.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))}),tt(this,"register",async r=>{if(!Ei()||this.isDevEnv)return;const i=window.location.origin,{id:o,decryptedId:a}=r,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${i}&id=${o}&decryptedId=${a}`;try{const l=ci(),d=this.startAbortTimer(Y.ONE_SECOND*5),u=await new Promise((h,p)=>{const m=()=>{window.removeEventListener("message",y),l.body.removeChild(f),p("attestation aborted")};this.abortController.signal.addEventListener("abort",m);const f=l.createElement("iframe");f.src=c,f.style.display="none",f.addEventListener("error",m,{signal:this.abortController.signal});const y=b=>{if(b.data&&typeof b.data=="string")try{const S=JSON.parse(b.data);if(S.type==="verify_attestation"){if(fl(S.attestation).payload.id!==o)return;clearInterval(d),l.body.removeChild(f),this.abortController.signal.removeEventListener("abort",m),window.removeEventListener("message",y),h(S.attestation===null?"":S.attestation)}}catch(S){this.logger.warn(S)}};l.body.appendChild(f),window.addEventListener("message",y,{signal:this.abortController.signal})});return this.logger.debug(u,"jwt attestation"),u}catch(l){this.logger.warn(l)}return""}),tt(this,"resolve",async r=>{if(this.isDevEnv)return"";const{attestationId:i,hash:o,encryptedId:a}=r;if(i===""){this.logger.debug("resolve: attestationId is empty, skipping");return}if(i){if(fl(i).payload.id!==a)return;const l=await this.isValidJwtAttestation(i);if(l){if(!l.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return l}}if(!o)return;const c=this.getVerifyUrl(r==null?void 0:r.verifyUrl);return this.fetchAttestation(o,c)}),tt(this,"fetchAttestation",async(r,i)=>{this.logger.debug(`resolving attestation: ${r} from url: ${i}`);const o=this.startAbortTimer(Y.ONE_SECOND*5),a=await fetch(`${i}/attestation/${r}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0}),tt(this,"getVerifyUrl",r=>{let i=r||qi;return KN.includes(i)||(this.logger.info(`verify url: ${i}, not included in trusted list, assigning default: ${qi}`),i=qi),i}),tt(this,"fetchPublicKey",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const r=this.startAbortTimer(Y.FIVE_SECONDS),i=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(r),await i.json()}catch(r){this.logger.warn(r)}}),tt(this,"persistPublicKey",async r=>{this.logger.debug(r,"persisting public key to local storage"),await this.store.setItem(this.storeKey,r),this.publicKey=r}),tt(this,"removePublicKey",async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),tt(this,"isValidJwtAttestation",async r=>{const i=await this.getPublicKey();try{if(i)return this.validateAttestation(r,i)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(r,o)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}}),tt(this,"getPublicKey",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),tt(this,"fetchAndPersistPublicKey",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async i=>{const o=await this.fetchPublicKey();o&&(await this.persistPublicKey(o),i(o))});const r=await this.fetchPromise;return this.fetchPromise=void 0,r}),tt(this,"validateAttestation",(r,i)=>{const o=lI(r,i.publicKey),a={hasExpired:Y.toMiliseconds(o.exp)<Date.now(),payload:o};if(a.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),new Error("JWT attestation expired");return{origin:a.payload.origin,isScam:a.payload.isScam,isVerified:a.payload.isVerified}}),this.logger=Xt(s,this.name),this.abortController=new AbortController,this.isDevEnv=Od(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return Jt(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),Y.toMiliseconds(e))}}var VR=Object.defineProperty,zR=(t,e,s)=>e in t?VR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ap=(t,e,s)=>zR(t,typeof e!="symbol"?e+"":e,s);class KR extends _v{constructor(e,s){super(e,s),this.projectId=e,this.logger=s,Ap(this,"context",GN),Ap(this,"registerDeviceToken",async n=>{const{clientId:r,token:i,notificationType:o,enableEncrypted:a=!1}=n,c=`${YN}/${this.projectId}/clients`;await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:r,type:o,token:i,always_raw:a})})}),this.logger=Xt(s,this.context)}}var GR=Object.defineProperty,Sp=Object.getOwnPropertySymbols,YR=Object.prototype.hasOwnProperty,ZR=Object.prototype.propertyIsEnumerable,rd=(t,e,s)=>e in t?GR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ri=(t,e)=>{for(var s in e||(e={}))YR.call(e,s)&&rd(t,s,e[s]);if(Sp)for(var s of Sp(e))ZR.call(e,s)&&rd(t,s,e[s]);return t},dt=(t,e,s)=>rd(t,typeof e!="symbol"?e+"":e,s);class JR extends Av{constructor(e,s,n=!0){super(e,s,n),this.core=e,this.logger=s,dt(this,"context",JN),dt(this,"storagePrefix",Js),dt(this,"storageVersion",ZN),dt(this,"events",new Map),dt(this,"shouldPersist",!1),dt(this,"init",async()=>{if(!Od())try{const r={eventId:ph(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:bg(this.core.relayer.protocol,this.core.relayer.version,Zl)}}};await this.sendEvent([r])}catch(r){this.logger.warn(r)}}),dt(this,"createEvent",r=>{const{event:i="ERROR",type:o="",properties:{topic:a,trace:c}}=r,l=ph(),d=this.core.projectId||"",u=Date.now(),h=Ri({eventId:l,timestamp:u,props:{event:i,type:o,properties:{topic:a,trace:c}},bundleId:d,domain:this.getAppDomain()},this.setMethods(l));return this.telemetryEnabled&&(this.events.set(l,h),this.shouldPersist=!0),h}),dt(this,"getEvent",r=>{const{eventId:i,topic:o}=r;if(i)return this.events.get(i);const a=Array.from(this.events.values()).find(c=>c.props.properties.topic===o);if(a)return Ri(Ri({},a),this.setMethods(a.eventId))}),dt(this,"deleteEvent",r=>{const{eventId:i}=r;this.events.delete(i),this.shouldPersist=!0}),dt(this,"setEventListeners",()=>{this.core.heartbeat.on(wi.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(r=>{Y.fromMiliseconds(Date.now())-Y.fromMiliseconds(r.timestamp)>XN&&(this.events.delete(r.eventId),this.shouldPersist=!0)})})}),dt(this,"setMethods",r=>({addTrace:i=>this.addTrace(r,i),setError:i=>this.setError(r,i)})),dt(this,"addTrace",(r,i)=>{const o=this.events.get(r);o&&(o.props.properties.trace.push(i),this.events.set(r,o),this.shouldPersist=!0)}),dt(this,"setError",(r,i)=>{const o=this.events.get(r);o&&(o.props.type=i,o.timestamp=Date.now(),this.events.set(r,o),this.shouldPersist=!0)}),dt(this,"persist",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),dt(this,"restore",async()=>{try{const r=await this.core.storage.getItem(this.storageKey)||[];if(!r.length)return;r.forEach(i=>{this.events.set(i.eventId,Ri(Ri({},i),this.setMethods(i.eventId)))})}catch(r){this.logger.warn(r)}}),dt(this,"submit",async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const r=[];for(const[i,o]of this.events)o.props.type&&r.push(o);if(r.length!==0)try{if((await this.sendEvent(r)).ok)for(const i of r)this.events.delete(i.eventId),this.shouldPersist=!0}catch(i){this.logger.warn(i)}}),dt(this,"sendEvent",async r=>{const i=this.getAppDomain()?"":"&sp=desktop";return await fetch(`${QN}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${Zl}${i}`,{method:"POST",body:JSON.stringify(r)})}),dt(this,"getAppDomain",()=>Eg().url),this.logger=Xt(s,this.context),this.telemetryEnabled=n,n?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var XR=Object.defineProperty,Ip=Object.getOwnPropertySymbols,QR=Object.prototype.hasOwnProperty,eO=Object.prototype.propertyIsEnumerable,id=(t,e,s)=>e in t?XR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Np=(t,e)=>{for(var s in e||(e={}))QR.call(e,s)&&id(t,s,e[s]);if(Ip)for(var s of Ip(e))eO.call(e,s)&&id(t,s,e[s]);return t},Ve=(t,e,s)=>id(t,typeof e!="symbol"?e+"":e,s);let tO=class jm extends uv{constructor(e){var s;super(e),Ve(this,"protocol",Am),Ve(this,"version",Sm),Ve(this,"name",Yl),Ve(this,"relayUrl"),Ve(this,"projectId"),Ve(this,"customStoragePrefix"),Ve(this,"events",new Pr.EventEmitter),Ve(this,"logger"),Ve(this,"heartbeat"),Ve(this,"relayer"),Ve(this,"crypto"),Ve(this,"storage"),Ve(this,"history"),Ve(this,"expirer"),Ve(this,"pairing"),Ve(this,"verify"),Ve(this,"echoClient"),Ve(this,"linkModeSupportedApps"),Ve(this,"eventClient"),Ve(this,"initialized",!1),Ve(this,"logChunkController"),Ve(this,"on",(a,c)=>this.events.on(a,c)),Ve(this,"once",(a,c)=>this.events.once(a,c)),Ve(this,"off",(a,c)=>this.events.off(a,c)),Ve(this,"removeListener",(a,c)=>this.events.removeListener(a,c)),Ve(this,"dispatchEnvelope",({topic:a,message:c,sessionExists:l})=>{if(!a||!c)return;const d={topic:a,message:c,publishedAt:Date.now(),transportType:ze.link_mode};this.relayer.onLinkMessageEvent(d,{sessionExists:l})});const n=this.getGlobalCore(e==null?void 0:e.customStoragePrefix);if(n)try{return this.customStoragePrefix=n.customStoragePrefix,this.logger=n.logger,this.heartbeat=n.heartbeat,this.crypto=n.crypto,this.history=n.history,this.expirer=n.expirer,this.storage=n.storage,this.relayer=n.relayer,this.pairing=n.pairing,this.verify=n.verify,this.echoClient=n.echoClient,this.linkModeSupportedApps=n.linkModeSupportedApps,this.eventClient=n.eventClient,this.initialized=n.initialized,this.logChunkController=n.logChunkController,n}catch(a){console.warn("Failed to copy global core",a)}this.projectId=e==null?void 0:e.projectId,this.relayUrl=(e==null?void 0:e.relayUrl)||Nm,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const r=vd({level:typeof(e==null?void 0:e.logger)=="string"&&e.logger?e.logger:bN.logger,name:Yl}),{logger:i,chunkLoggerController:o}=Ja({opts:r,maxSizeInBytes:e==null?void 0:e.maxLogBlobSizeInBytes,loggerOverride:e==null?void 0:e.logger});this.logChunkController=o,(s=this.logChunkController)!=null&&s.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var a,c;(a=this.logChunkController)!=null&&a.downloadLogsBlobInBrowser&&((c=this.logChunkController)==null||c.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=Xt(i,this.name),this.heartbeat=new Oy,this.crypto=new TT(this,this.logger,e==null?void 0:e.keychain),this.history=new MR(this,this.logger),this.expirer=new FR(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Py(Np(Np({},CN),e==null?void 0:e.storageOptions)),this.relayer=new tR({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new $R(this,this.logger),this.verify=new HR(this,this.logger,this.storage),this.echoClient=new KR(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new JR(this,this.logger,e==null?void 0:e.telemetryEnabled),this.setGlobalCore(this)}static async init(e){const s=new jm(e);await s.initialize();const n=await s.crypto.getClientId();return await s.storage.setItem($N,n),s}get context(){return Jt(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(ip,this.linkModeSupportedApps))}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(ip)||[],this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(e,`Core Initialization Failure at epoch ${Date.now()}`),this.logger.error(e.message),e}}getGlobalCore(e=""){try{if(this.isGlobalCoreDisabled())return;const s=`_walletConnectCore_${e}`,n=`${s}_count`;return globalThis[n]=(globalThis[n]||0)+1,globalThis[n]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[n]} times.`),globalThis[s]}catch(s){console.warn("Failed to get global WalletConnect core",s);return}}setGlobalCore(e){var s;try{if(this.isGlobalCoreDisabled())return;const n=`_walletConnectCore_${((s=e.opts)==null?void 0:s.customStoragePrefix)||""}`;globalThis[n]=e}catch(n){console.warn("Failed to set global WalletConnect core",n)}}isGlobalCoreDisabled(){try{return typeof fn<"u"&&EN.DISABLE_GLOBAL_CORE==="true"}catch{return!0}}};const sO=tO,Fm="wc",qm=2,Wm="client",qd=`${Fm}@${qm}:${Wm}:`,Zc={name:Wm,logger:"error"},Tp="WALLETCONNECT_DEEPLINK_CHOICE",nO="proposal",Rp="Proposal expired",rO="session",Hr=Y.SEVEN_DAYS,iO="engine",mt={wc_sessionPropose:{req:{ttl:Y.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1104},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1106},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:Y.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:Y.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1112},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1114},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:Y.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:Y.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1119}}},Jc={min:Y.FIVE_MINUTES,max:Y.SEVEN_DAYS},Ms={idle:"IDLE",active:"ACTIVE"},oO={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"},sui_signAndExecuteTransaction:{key:"digest"},sui_signTransaction:{key:""},hedera_signAndExecuteTransaction:{key:"transactionId"},hedera_executeTransaction:{key:"transactionId"},near_signTransaction:{key:""},near_signTransactions:{key:""},tron_signTransaction:{key:"txID"},xrpl_signTransaction:{key:""},xrpl_signTransactionFor:{key:""},algo_signTxn:{key:""},sendTransfer:{key:"txid"},stacks_stxTransfer:{key:"txId"},polkadot_signTransaction:{key:""},cosmos_signDirect:{key:""}},aO="request",cO=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],lO="wc",dO="auth",uO="authKeys",hO="pairingTopics",pO="requests",uc=`${lO}@${1.5}:${dO}:`,fa=`${uc}:PUB_KEY`;var fO=Object.defineProperty,gO=Object.defineProperties,mO=Object.getOwnPropertyDescriptors,Op=Object.getOwnPropertySymbols,yO=Object.prototype.hasOwnProperty,wO=Object.prototype.propertyIsEnumerable,od=(t,e,s)=>e in t?fO(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Le=(t,e)=>{for(var s in e||(e={}))yO.call(e,s)&&od(t,s,e[s]);if(Op)for(var s of Op(e))wO.call(e,s)&&od(t,s,e[s]);return t},yt=(t,e)=>gO(t,mO(e)),j=(t,e,s)=>od(t,typeof e!="symbol"?e+"":e,s);class EO extends Tv{constructor(e){super(e),j(this,"name",iO),j(this,"events",new fd),j(this,"initialized",!1),j(this,"requestQueue",{state:Ms.idle,queue:[]}),j(this,"sessionRequestQueue",{state:Ms.idle,queue:[]}),j(this,"emittedSessionRequests",new v0({limit:500})),j(this,"requestQueueDelay",Y.ONE_SECOND),j(this,"expectedPairingMethodMap",new Map),j(this,"recentlyDeletedMap",new Map),j(this,"recentlyDeletedLimit",200),j(this,"relayMessageCache",[]),j(this,"pendingSessions",new Map),j(this,"init",async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(mt)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Y.toMiliseconds(this.requestQueueDelay)))}),j(this,"connect",async s=>{var n;this.isInitialized(),await this.confirmOnlineStateOrThrow();const r=yt(Le({},s),{requiredNamespaces:s.requiredNamespaces||{},optionalNamespaces:s.optionalNamespaces||{}});await this.isValidConnect(r),r.optionalNamespaces=xI(r.requiredNamespaces,r.optionalNamespaces),r.requiredNamespaces={};const{pairingTopic:i,requiredNamespaces:o,optionalNamespaces:a,sessionProperties:c,scopedProperties:l,relays:d,authentication:u,walletPay:h}=r,p=((n=u==null?void 0:u[0])==null?void 0:n.ttl)||mt.wc_sessionPropose.req.ttl||Y.FIVE_MINUTES;this.validateRequestExpiry(p);let m=i,f,y=!1;try{if(m){const x=this.client.core.pairing.pairings.get(m);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),y=x.active}}catch(x){throw this.client.logger.error(`connect() -> pairing.get(${m}) failed`),x}if(!m||!y){const{topic:x,uri:B}=await this.client.core.pairing.create({internal:{skipSubscribe:!0}});m=x,f=B}if(!m){const{message:x}=G("NO_MATCHING_KEY",`connect() pairing topic: ${m}`);throw new Error(x)}const b=await this.client.core.crypto.generateKeyPair(),S=st(p),v=Le(yt(Le(Le({requiredNamespaces:o,optionalNamespaces:a,relays:d??[{protocol:Im}],proposer:{publicKey:b,metadata:this.client.metadata},expiryTimestamp:S,pairingTopic:m},c&&{sessionProperties:c}),l&&{scopedProperties:l}),{id:vn()}),(u||h)&&{requests:{authentication:u==null?void 0:u.map(x=>{const{domain:B,chains:W,nonce:O,uri:A,exp:N,nbf:E,type:_,statement:T,requestId:D,resources:I,signatureTypes:P}=x;return{domain:B,chains:W,nonce:O,type:_??"caip122",aud:A,version:"1",iat:new Date().toISOString(),exp:N,nbf:E,statement:T,requestId:D,resources:I,signatureTypes:P}}),walletPay:h}}),C=je("session_connect",v.id),{reject:R,resolve:k,done:L}=cr(p,Rp),F=({id:x})=>{x===v.id&&(this.client.events.off("proposal_expire",F),this.pendingSessions.delete(v.id),this.events.emit(C,{error:{message:Rp,code:0}}))};return this.client.events.on("proposal_expire",F),this.events.once(C,({error:x,session:B})=>{this.client.events.off("proposal_expire",F),x?R(x):B&&k(B)}),await this.setProposal(v.id,v),await this.sendProposeSession({proposal:v,publishOpts:{internal:{throwOnFailedPublish:!0},tvf:{correlationId:v.id}}}).catch(x=>{throw this.deleteProposal(v.id),x}),{uri:f,approval:L}}),j(this,"pair",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(s)}catch(n){throw this.client.logger.error("pair() failed"),n}}),j(this,"approve",async s=>{var n,r,i;const o=this.client.core.eventClient.createEvent({properties:{topic:(n=s==null?void 0:s.id)==null?void 0:n.toString(),trace:[As.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(B){throw o.setError(sr.no_internet_connection),B}try{await this.isValidProposalId(s==null?void 0:s.id)}catch(B){throw this.client.logger.error(`approve() -> proposal.get(${s==null?void 0:s.id}) failed`),o.setError(sr.proposal_not_found),B}try{await this.isValidApprove(s)}catch(B){throw this.client.logger.error("approve() -> isValidApprove() failed"),o.setError(sr.session_approve_namespace_validation_failure),B}const{id:a,relayProtocol:c,namespaces:l,sessionProperties:d,scopedProperties:u,sessionConfig:h,proposalRequestsResponses:p}=s,m=this.client.proposal.get(a);this.client.core.eventClient.deleteEvent({eventId:o.eventId});const{pairingTopic:f,proposer:y,requiredNamespaces:b,optionalNamespaces:S}=m;let v=(r=this.client.core.eventClient)==null?void 0:r.getEvent({topic:f});v||(v=(i=this.client.core.eventClient)==null?void 0:i.createEvent({type:As.session_approve_started,properties:{topic:f,trace:[As.session_approve_started,As.session_namespaces_validation_success]}}));const C=await this.client.core.crypto.generateKeyPair(),R=y.publicKey,k=await this.client.core.crypto.generateSharedKey(C,R),L=yt(Le(Le(Le({relay:{protocol:c??"irn"},namespaces:l,controller:{publicKey:C,metadata:this.client.metadata},expiry:st(Hr)},d&&{sessionProperties:d}),u&&{scopedProperties:u}),h&&{sessionConfig:h}),{proposalRequestsResponses:p}),F=ze.relay;v.addTrace(As.subscribing_session_topic);try{await this.client.core.relayer.subscribe(k,{transportType:F,internal:{skipSubscribe:!0}})}catch(B){throw v.setError(sr.subscribe_session_topic_failure),B}v.addTrace(As.subscribe_session_topic_success);const x=yt(Le({},L),{topic:k,requiredNamespaces:b,optionalNamespaces:S,pairingTopic:f,acknowledged:!1,self:L.controller,peer:{publicKey:y.publicKey,metadata:y.metadata},controller:C,transportType:ze.relay,authentication:p==null?void 0:p.authentication,walletPayResult:p==null?void 0:p.walletPay});await this.client.session.set(k,x),v.addTrace(As.store_session);try{await this.sendApproveSession({sessionTopic:k,proposal:m,pairingProposalResponse:{relay:{protocol:c??"irn"},responderPublicKey:C},sessionSettleRequest:L,publishOpts:{internal:{throwOnFailedPublish:!0},tvf:Le({correlationId:a},this.getTVFApproveParams(x))}}),v.addTrace(As.session_approve_publish_success)}catch(B){throw this.client.logger.error(B),this.client.session.delete(k,Ye("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(k),B}return this.client.core.eventClient.deleteEvent({eventId:v.eventId}),await this.client.core.pairing.updateMetadata({topic:f,metadata:y.metadata}),await this.deleteProposal(a),await this.client.core.pairing.activate({topic:f}),await this.setExpiry(k,st(Hr)),{topic:k,acknowledged:()=>Promise.resolve(this.client.session.get(k))}}),j(this,"reject",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(s)}catch(o){throw this.client.logger.error("reject() -> isValidReject() failed"),o}const{id:n,reason:r}=s;let i;try{i=this.client.proposal.get(n).pairingTopic}catch(o){throw this.client.logger.error(`reject() -> proposal.get(${n}) failed`),o}i&&await this.sendError({id:n,topic:i,error:r,rpcOpts:mt.wc_sessionPropose.reject}),await this.deleteProposal(n)}),j(this,"update",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(s)}catch(u){throw this.client.logger.error("update() -> isValidUpdate() failed"),u}const{topic:n,namespaces:r}=s,{done:i,resolve:o,reject:a}=cr(Y.FIVE_MINUTES,"Session update request expired without receiving any acknowledgement"),c=vn(),l=hr().toString(),d=this.client.session.get(n).namespaces;return this.events.once(je("session_update",c),({error:u})=>{u?a(u):o()}),await this.client.session.update(n,{namespaces:r}),await this.sendRequest({topic:n,method:"wc_sessionUpdate",params:{namespaces:r},throwOnFailedPublish:!0,clientRpcId:c,relayRpcId:l}).catch(u=>{this.client.logger.error(u),this.client.session.update(n,{namespaces:d}),a(u)}),{acknowledged:i}}),j(this,"extend",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(s)}catch(c){throw this.client.logger.error("extend() -> isValidExtend() failed"),c}const{topic:n}=s,r=vn(),{done:i,resolve:o,reject:a}=cr(Y.FIVE_MINUTES,"Session extend request expired without receiving any acknowledgement");return this.events.once(je("session_extend",r),({error:c})=>{c?a(c):o()}),await this.setExpiry(n,st(Hr)),this.sendRequest({topic:n,method:"wc_sessionExtend",params:{},clientRpcId:r,throwOnFailedPublish:!0}).catch(c=>{a(c)}),{acknowledged:i}}),j(this,"request",async s=>{this.isInitialized();try{await this.isValidRequest(s)}catch(y){throw this.client.logger.error("request() -> isValidRequest() failed"),y}const{chainId:n,request:r,topic:i,expiry:o=mt.wc_sessionRequest.req.ttl}=s,a=this.client.session.get(i);(a==null?void 0:a.transportType)===ze.relay&&await this.confirmOnlineStateOrThrow();const c=vn(),l=hr().toString(),{done:d,resolve:u,reject:h}=cr(o,"Request expired. Please try again.");this.events.once(je("session_request",c),({error:y,result:b})=>{y?h(y):u(b)});const p="wc_sessionRequest",m=this.getAppLinkIfEnabled(a.peer.metadata,a.transportType);if(m)return await this.sendRequest({clientRpcId:c,relayRpcId:l,topic:i,method:p,params:{request:yt(Le({},r),{expiryTimestamp:st(o)}),chainId:n},expiry:o,throwOnFailedPublish:!0,appLink:m}).catch(y=>h(y)),this.client.events.emit("session_request_sent",{topic:i,request:r,chainId:n,id:c}),await d();const f={request:yt(Le({},r),{expiryTimestamp:st(o)}),chainId:n};return await Promise.all([new Promise(async y=>{await this.sendRequest({clientRpcId:c,relayRpcId:l,topic:i,method:p,params:f,expiry:o,throwOnFailedPublish:!0,tvf:this.getTVFParams(c,f)}).catch(b=>h(b)),this.client.events.emit("session_request_sent",{topic:i,request:r,chainId:n,id:c}),y()}),new Promise(async y=>{var b;if(!((b=a.sessionConfig)!=null&&b.disableDeepLink)){const S=await y0(this.client.core.storage,Tp);await f0({id:c,topic:i,wcDeepLink:S})}y()}),d()]).then(y=>y[2])}),j(this,"respond",async s=>{var n,r;this.isInitialized();const i=this.client.core.eventClient.createEvent({properties:{topic:(s==null?void 0:s.topic)||((r=(n=s==null?void 0:s.response)==null?void 0:n.id)==null?void 0:r.toString()),trace:[As.session_request_response_started]}});try{await this.isValidRespond(s)}catch(u){throw i.addTrace(u==null?void 0:u.message),i.setError(sr.session_request_response_validation_failure),u}i.addTrace(As.session_request_response_validation_success);const{topic:o,response:a}=s,{id:c}=a,l=this.client.session.get(o);l.transportType===ze.relay&&await this.confirmOnlineStateOrThrow();const d=this.getAppLinkIfEnabled(l.peer.metadata,l.transportType);try{i.addTrace(As.session_request_response_publish_started),sn(a)?await this.sendResult({id:c,topic:o,result:a.result,throwOnFailedPublish:!0,appLink:d}):js(a)&&await this.sendError({id:c,topic:o,error:a.error,appLink:d}),this.cleanupAfterResponse(s)}catch(u){throw i.addTrace(u==null?void 0:u.message),i.setError(sr.session_request_response_publish_failure),u}}),j(this,"ping",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(s)}catch(r){throw this.client.logger.error("ping() -> isValidPing() failed"),r}const{topic:n}=s;if(this.client.session.keys.includes(n)){const r=vn(),i=hr().toString(),{done:o,resolve:a,reject:c}=cr(Y.FIVE_MINUTES,"Ping request expired without receiving any acknowledgement");this.events.once(je("session_ping",r),({error:l})=>{l?c(l):a()}),await Promise.all([this.sendRequest({topic:n,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:r,relayRpcId:i}),o()])}else this.client.core.pairing.pairings.keys.includes(n)&&(this.client.logger.warn("ping() on pairing topic is deprecated and will be removed in the next major release."),await this.client.core.pairing.ping({topic:n}))}),j(this,"emit",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(s);const{topic:n,event:r,chainId:i}=s,o=hr().toString(),a=vn();await this.sendRequest({topic:n,method:"wc_sessionEvent",params:{event:r,chainId:i},throwOnFailedPublish:!0,relayRpcId:o,clientRpcId:a})}),j(this,"disconnect",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(s);const{topic:n}=s;if(this.client.session.keys.includes(n))await this.sendRequest({topic:n,method:"wc_sessionDelete",params:Ye("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:n,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(n))await this.client.core.pairing.disconnect({topic:n});else{const{message:r}=G("MISMATCHED_TOPIC",`Session or pairing topic not found: ${n}`);throw new Error(r)}}),j(this,"find",s=>(this.isInitialized(),this.client.session.getAll().filter(n=>$I(n,s)))),j(this,"getPendingSessionRequests",()=>this.client.pendingRequest.getAll()),j(this,"authenticate",async(s,n)=>{var r;this.isInitialized(),this.isValidAuthenticate(s);const i=n&&this.client.core.linkModeSupportedApps.includes(n)&&((r=this.client.metadata.redirect)==null?void 0:r.linkMode),o=i?ze.link_mode:ze.relay;o===ze.relay&&await this.confirmOnlineStateOrThrow();const{chains:a,statement:c="",uri:l,domain:d,nonce:u,type:h,exp:p,nbf:m,methods:f=[],expiry:y}=s,b=[...s.resources||[]],{topic:S,uri:v}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:o});this.client.logger.info({message:"Generated new pairing",pairing:{topic:S,uri:v}});const C=await this.client.core.crypto.generateKeyPair(),R=ha(C);if(await Promise.all([this.client.auth.authKeys.set(fa,{responseTopic:R,publicKey:C}),this.client.auth.pairingTopics.set(R,{topic:R,pairingTopic:S})]),await this.client.core.relayer.subscribe(R,{transportType:o}),this.client.logger.info(`sending request to new pairing topic: ${S}`),f.length>0){const{namespace:I}=mn(a[0]);let P=$A(I,"request",f);ua(b)&&(P=LA(P,b.pop())),b.push(P)}const k=y&&y>mt.wc_sessionAuthenticate.req.ttl?y:mt.wc_sessionAuthenticate.req.ttl,L={authPayload:{type:h??"caip122",chains:a,statement:c,aud:l,domain:d,version:"1",nonce:u,iat:new Date().toISOString(),exp:p,nbf:m,resources:b},requester:{publicKey:C,metadata:this.client.metadata},expiryTimestamp:st(k)},F={eip155:{chains:a,methods:[...new Set(["personal_sign",...f])],events:["chainChanged","accountsChanged"]}},x={requiredNamespaces:{},optionalNamespaces:F,relays:[{protocol:"irn"}],pairingTopic:S,proposer:{publicKey:C,metadata:this.client.metadata},expiryTimestamp:st(mt.wc_sessionPropose.req.ttl),id:vn()},{done:B,resolve:W,reject:O}=cr(k,"Request expired"),A=vn(),N=je("session_connect",x.id),E=je("session_request",A),_=async({error:I,session:P})=>{this.events.off(E,T),I?O(I):P&&W({session:P})},T=async I=>{var P,H,z;if(await this.deletePendingAuthRequest(A,{message:"fulfilled",code:0}),I.error){const ye=Ye("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return I.error.code===ye.code?void 0:(this.events.off(N,_),O(I.error.message))}await this.deleteProposal(x.id),this.events.off(N,_);const{cacaos:me,responder:de}=I.result,oe=[],be=[];for(const ye of me){await Ah({cacao:ye,projectId:this.client.core.projectId})||(this.client.logger.error(ye,"Signature verification failed"),O(Ye("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p:qe}=ye,Rt=ua(qe.resources),Bt=[Ll(qe.iss)],Ot=Da(qe.iss);if(Rt){const ls=Sh(Rt),Qn=Ih(Rt);oe.push(...ls),Bt.push(...Qn)}for(const ls of Bt)be.push(`${ls}:${Ot}`)}const fe=await this.client.core.crypto.generateSharedKey(C,de.publicKey);let Be;oe.length>0&&(Be={topic:fe,acknowledged:!0,self:{publicKey:C,metadata:this.client.metadata},peer:de,controller:de.publicKey,expiry:st(Hr),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:S,namespaces:Xh([...new Set(oe)],[...new Set(be)]),transportType:o},await this.client.core.relayer.subscribe(fe,{transportType:o}),await this.client.session.set(fe,Be),S&&await this.client.core.pairing.updateMetadata({topic:S,metadata:de.metadata}),Be=this.client.session.get(fe)),(P=this.client.metadata.redirect)!=null&&P.linkMode&&(H=de.metadata.redirect)!=null&&H.linkMode&&(z=de.metadata.redirect)!=null&&z.universal&&n&&(this.client.core.addLinkModeSupportedApp(de.metadata.redirect.universal),this.client.session.update(fe,{transportType:ze.link_mode})),W({auths:me,session:Be})};this.events.once(N,_),this.events.once(E,T);let D;try{if(i){const I=Fs("wc_sessionAuthenticate",L,A);this.client.core.history.set(S,I);const P=await this.client.core.crypto.encode("",I,{type:xo,encoding:Ln});D=Qo(n,S,P)}else await Promise.all([this.sendRequest({topic:S,method:"wc_sessionAuthenticate",params:L,expiry:s.expiry,throwOnFailedPublish:!0,clientRpcId:A}),this.sendRequest({topic:S,method:"wc_sessionPropose",params:x,expiry:mt.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:x.id})])}catch(I){throw this.events.off(N,_),this.events.off(E,T),I}return await this.setProposal(x.id,x),await this.setAuthRequest(A,{request:yt(Le({},L),{verifyContext:{}}),pairingTopic:S,transportType:o}),{uri:D??v,response:B}}),j(this,"approveSessionAuthenticate",async s=>{const{id:n,auths:r}=s,i=this.client.core.eventClient.createEvent({properties:{topic:n.toString(),trace:[nr.authenticated_session_approve_started]}});try{this.isInitialized()}catch(y){throw i.setError(Ni.no_internet_connection),y}const o=this.getPendingAuthRequest(n);if(!o)throw i.setError(Ni.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${n}`);const a=o.transportType||ze.relay;a===ze.relay&&await this.confirmOnlineStateOrThrow();const c=o.requester.publicKey,l=await this.client.core.crypto.generateKeyPair(),d=ha(c),u={type:yn,receiverPublicKey:c,senderPublicKey:l},h=[],p=[];for(const y of r){if(!await Ah({cacao:y,projectId:this.client.core.projectId})){i.setError(Ni.invalid_cacao);const R=Ye("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:n,topic:d,error:R,encodeOpts:u}),new Error(R.message)}i.addTrace(nr.cacaos_verified);const{p:b}=y,S=ua(b.resources),v=[Ll(b.iss)],C=Da(b.iss);if(S){const R=Sh(S),k=Ih(S);h.push(...R),v.push(...k)}for(const R of v)p.push(`${R}:${C}`)}const m=await this.client.core.crypto.generateSharedKey(l,c);i.addTrace(nr.create_authenticated_session_topic);let f;if((h==null?void 0:h.length)>0){f={topic:m,acknowledged:!0,self:{publicKey:l,metadata:this.client.metadata},peer:{publicKey:c,metadata:o.requester.metadata},controller:c,expiry:st(Hr),authentication:r,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:o.pairingTopic,namespaces:Xh([...new Set(h)],[...new Set(p)]),transportType:a},i.addTrace(nr.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(m,{transportType:a})}catch(y){throw i.setError(Ni.subscribe_authenticated_session_topic_failure),y}i.addTrace(nr.subscribe_authenticated_session_topic_success),await this.client.session.set(m,f),i.addTrace(nr.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:o.pairingTopic,metadata:o.requester.metadata})}i.addTrace(nr.publishing_authenticated_session_approve);try{await this.sendResult({topic:d,id:n,result:{cacaos:r,responder:{publicKey:l,metadata:this.client.metadata}},encodeOpts:u,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(o.requester.metadata,a)})}catch(y){throw i.setError(Ni.authenticated_session_approve_publish_failure),y}return await this.client.auth.requests.delete(n,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:o.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:i.eventId}),{session:f}}),j(this,"rejectSessionAuthenticate",async s=>{this.isInitialized();const{id:n,reason:r}=s,i=this.getPendingAuthRequest(n);if(!i)throw new Error(`Could not find pending auth request with id ${n}`);i.transportType===ze.relay&&await this.confirmOnlineStateOrThrow();const o=i.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),c=ha(o),l={type:yn,receiverPublicKey:o,senderPublicKey:a};await this.sendError({id:n,topic:c,error:r,encodeOpts:l,rpcOpts:mt.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(i.requester.metadata,i.transportType)}),await this.client.auth.requests.delete(n,{message:"rejected",code:0}),await this.deleteProposal(n)}),j(this,"formatAuthMessage",s=>{this.isInitialized();const{request:n,iss:r}=s;return Bg(n,r)}),j(this,"processRelayMessageCache",()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const s=this.relayMessageCache.shift();s&&await this.onRelayMessage(s)}catch(s){this.client.logger.error(s)}},50)}),j(this,"cleanupDuplicatePairings",async s=>{if(s.pairingTopic)try{const n=this.client.core.pairing.pairings.get(s.pairingTopic),r=this.client.core.pairing.pairings.getAll().filter(i=>{var o,a;return((o=i.peerMetadata)==null?void 0:o.url)&&((a=i.peerMetadata)==null?void 0:a.url)===s.peer.metadata.url&&i.topic&&i.topic!==n.topic});if(r.length===0)return;this.client.logger.info(`Cleaning up ${r.length} duplicate pairing(s)`),await Promise.all(r.map(i=>this.client.core.pairing.disconnect({topic:i.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(n){this.client.logger.error(n)}}),j(this,"deleteSession",async s=>{var n;const{topic:r,expirerHasDeleted:i=!1,emitEvent:o=!0,id:a=0}=s,{self:c}=this.client.session.get(r);await this.client.core.relayer.unsubscribe(r),await this.client.session.delete(r,Ye("USER_DISCONNECTED")),this.addToRecentlyDeleted(r,"session"),this.client.core.crypto.keychain.has(c.publicKey)&&await this.client.core.crypto.deleteKeyPair(c.publicKey),this.client.core.crypto.keychain.has(r)&&await this.client.core.crypto.deleteSymKey(r),i||this.client.core.expirer.del(r),this.client.core.storage.removeItem(Tp).catch(l=>this.client.logger.warn(l)),r===((n=this.sessionRequestQueue.queue[0])==null?void 0:n.topic)&&(this.sessionRequestQueue.state=Ms.idle),await Promise.all(this.getPendingSessionRequests().filter(l=>l.topic===r).map(l=>this.deletePendingSessionRequest(l.id,Ye("USER_DISCONNECTED")))),o&&this.client.events.emit("session_delete",{id:a,topic:r})}),j(this,"deleteProposal",async(s,n)=>{if(n)try{const r=this.client.proposal.get(s),i=this.client.core.eventClient.getEvent({topic:r.pairingTopic});i==null||i.setError(sr.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(s,Ye("USER_DISCONNECTED")),n?Promise.resolve():this.client.core.expirer.del(s)]),this.addToRecentlyDeleted(s,"proposal")}),j(this,"deletePendingSessionRequest",async(s,n,r=!1)=>{await Promise.all([this.client.pendingRequest.delete(s,n),r?Promise.resolve():this.client.core.expirer.del(s)]),this.addToRecentlyDeleted(s,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(i=>i.id!==s),r&&(this.sessionRequestQueue.state=Ms.idle,this.client.events.emit("session_request_expire",{id:s}))}),j(this,"deletePendingAuthRequest",async(s,n,r=!1)=>{await Promise.all([this.client.auth.requests.delete(s,n),r?Promise.resolve():this.client.core.expirer.del(s)])}),j(this,"setExpiry",async(s,n)=>{this.client.session.keys.includes(s)&&(this.client.core.expirer.set(s,n),await this.client.session.update(s,{expiry:n}))}),j(this,"setProposal",async(s,n)=>{this.client.core.expirer.set(s,st(mt.wc_sessionPropose.req.ttl)),await this.client.proposal.set(s,n)}),j(this,"setAuthRequest",async(s,n)=>{const{request:r,pairingTopic:i,transportType:o=ze.relay}=n;this.client.core.expirer.set(s,r.expiryTimestamp),await this.client.auth.requests.set(s,{authPayload:r.authPayload,requester:r.requester,expiryTimestamp:r.expiryTimestamp,id:s,pairingTopic:i,verifyContext:r.verifyContext,transportType:o})}),j(this,"setPendingSessionRequest",async s=>{const{id:n,topic:r,params:i,verifyContext:o}=s,a=i.request.expiryTimestamp||st(mt.wc_sessionRequest.req.ttl);this.client.core.expirer.set(n,a),await this.client.pendingRequest.set(n,{id:n,topic:r,params:i,verifyContext:o})}),j(this,"sendRequest",async s=>{const{topic:n,method:r,params:i,expiry:o,relayRpcId:a,clientRpcId:c,throwOnFailedPublish:l,appLink:d,tvf:u,publishOpts:h={}}=s,p=Fs(r,i,c);let m;const f=!!d;try{const S=f?Ln:Kt;m=await this.client.core.crypto.encode(n,p,{encoding:S})}catch(S){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${n} failed`),S}let y;if(cO.includes(r)){const S=ys(JSON.stringify(p)),v=ys(m);y=await this.client.core.verify.register({id:v,decryptedId:S})}const b=Le(Le({},mt[r].req),h);if(b.attestation=y,o&&(b.ttl=o),a&&(b.id=a),this.client.core.history.set(n,p),f){const S=Qo(d,n,m);await ve.Linking.openURL(S,this.client.name)}else b.tvf=yt(Le({},u),{correlationId:p.id}),l?(b.internal=yt(Le({},b.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,m,b)):this.client.core.relayer.publish(n,m,b).catch(S=>this.client.logger.error(S));return p.id}),j(this,"sendProposeSession",async s=>{const{proposal:n,publishOpts:r}=s,i=Fs("wc_sessionPropose",n,n.id);this.client.core.history.set(n.pairingTopic,i);const o=await this.client.core.crypto.encode(n.pairingTopic,i,{encoding:Kt}),a=ys(JSON.stringify(i)),c=ys(o),l=await this.client.core.verify.register({id:c,decryptedId:a});await this.client.core.relayer.publishCustom({payload:{pairingTopic:n.pairingTopic,sessionProposal:o},opts:yt(Le({},r),{publishMethod:"wc_proposeSession",attestation:l})})}),j(this,"sendApproveSession",async s=>{const{sessionTopic:n,pairingProposalResponse:r,proposal:i,sessionSettleRequest:o,publishOpts:a}=s,c=Gi(i.id,r),l=await this.client.core.crypto.encode(i.pairingTopic,c,{encoding:Kt}),d=Fs("wc_sessionSettle",o,a==null?void 0:a.id),u=await this.client.core.crypto.encode(n,d,{encoding:Kt});this.client.core.history.set(n,d),await this.client.core.relayer.publishCustom({payload:{sessionTopic:n,pairingTopic:i.pairingTopic,sessionProposalResponse:l,sessionSettlementRequest:u},opts:yt(Le({},a),{publishMethod:"wc_approveSession"})})}),j(this,"sendResult",async s=>{const{id:n,topic:r,result:i,throwOnFailedPublish:o,encodeOpts:a,appLink:c}=s,l=Gi(n,i);let d;const u=c&&typeof(ve==null?void 0:ve.Linking)<"u";try{const m=u?Ln:Kt;d=await this.client.core.crypto.encode(r,l,yt(Le({},a||{}),{encoding:m}))}catch(m){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${r} failed`),m}let h,p;try{h=await this.client.core.history.get(r,n);const m=h.request;try{p=this.getTVFParams(n,m.params,i)}catch(f){this.client.logger.warn(`sendResult() -> getTVFParams() failed: ${f==null?void 0:f.message}`)}}catch(m){throw this.client.logger.error(`sendResult() -> history.get(${r}, ${n}) failed`),m}if(u){const m=Qo(c,r,d);await ve.Linking.openURL(m,this.client.name)}else{const m=h.request.method,f=mt[m].res;f.tvf=yt(Le({},p),{correlationId:n}),o?(f.internal=yt(Le({},f.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(r,d,f)):this.client.core.relayer.publish(r,d,f).catch(y=>this.client.logger.error(y))}await this.client.core.history.resolve(l)}),j(this,"sendError",async s=>{const{id:n,topic:r,error:i,encodeOpts:o,rpcOpts:a,appLink:c}=s,l=wf(n,i);let d;const u=c&&typeof(ve==null?void 0:ve.Linking)<"u";try{const p=u?Ln:Kt;d=await this.client.core.crypto.encode(r,l,yt(Le({},o||{}),{encoding:p}))}catch(p){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${r} failed`),p}let h;try{h=await this.client.core.history.get(r,n)}catch(p){throw this.client.logger.error(`sendError() -> history.get(${r}, ${n}) failed`),p}if(u){const p=Qo(c,r,d);await ve.Linking.openURL(p,this.client.name)}else{const p=h.request.method,m=a||mt[p].res;this.client.core.relayer.publish(r,d,m)}await this.client.core.history.resolve(l)}),j(this,"cleanup",async()=>{const s=[],n=[];this.client.session.getAll().forEach(r=>{let i=!1;qs(r.expiry)&&(i=!0),this.client.core.crypto.keychain.has(r.topic)||(i=!0),i&&s.push(r.topic)}),this.client.proposal.getAll().forEach(r=>{qs(r.expiryTimestamp)&&n.push(r.id)}),await Promise.all([...s.map(r=>this.deleteSession({topic:r})),...n.map(r=>this.deleteProposal(r))])}),j(this,"onProviderMessageEvent",async s=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(s):await this.onRelayMessage(s)}),j(this,"onRelayEventRequest",async s=>{this.requestQueue.queue.push(s),await this.processRequestsQueue()}),j(this,"processRequestsQueue",async()=>{if(this.requestQueue.state===Ms.active){this.client.logger.info("Request queue already active, skipping...");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=Ms.active;const s=this.requestQueue.queue.shift();if(s)try{await this.processRequest(s)}catch(n){this.client.logger.warn(n)}}this.requestQueue.state=Ms.idle}),j(this,"processRequest",async s=>{const{topic:n,payload:r,attestation:i,transportType:o,encryptedId:a}=s,c=r.method;if(!this.shouldIgnorePairingRequest({topic:n,requestMethod:c}))switch(c){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:n,payload:r,attestation:i,encryptedId:a});case"wc_sessionSettle":return await this.onSessionSettleRequest(n,r);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(n,r);case"wc_sessionExtend":return await this.onSessionExtendRequest(n,r);case"wc_sessionPing":return await this.onSessionPingRequest(n,r);case"wc_sessionDelete":return await this.onSessionDeleteRequest(n,r);case"wc_sessionRequest":return await this.onSessionRequest({topic:n,payload:r,attestation:i,encryptedId:a,transportType:o});case"wc_sessionEvent":return await this.onSessionEventRequest(n,r);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:n,payload:r,attestation:i,encryptedId:a,transportType:o});default:return this.client.logger.info(`Unsupported request method ${c}`)}}),j(this,"onRelayEventResponse",async s=>{const{topic:n,payload:r,transportType:i}=s,o=(await this.client.core.history.get(n,r.id)).request.method;switch(o){case"wc_sessionPropose":return this.onSessionProposeResponse(n,r,i);case"wc_sessionSettle":return this.onSessionSettleResponse(n,r);case"wc_sessionUpdate":return this.onSessionUpdateResponse(n,r);case"wc_sessionExtend":return this.onSessionExtendResponse(n,r);case"wc_sessionPing":return this.onSessionPingResponse(n,r);case"wc_sessionRequest":return this.onSessionRequestResponse(n,r);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(n,r);default:return this.client.logger.info(`Unsupported response method ${o}`)}}),j(this,"onRelayEventUnknownPayload",s=>{const{topic:n}=s,{message:r}=G("MISSING_OR_INVALID",`Decoded payload on topic ${n} is not identifiable as a JSON-RPC request or a response.`);throw new Error(r)}),j(this,"shouldIgnorePairingRequest",s=>{const{topic:n,requestMethod:r}=s,i=this.expectedPairingMethodMap.get(n);return!i||i.includes(r)?!1:!!(i.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)}),j(this,"onSessionProposeRequest",async s=>{const{topic:n,payload:r,attestation:i,encryptedId:o}=s,{params:a,id:c}=r;try{const l=this.client.core.eventClient.getEvent({topic:n});this.client.events.listenerCount("session_proposal")===0&&(console.warn("No listener for session_proposal event"),l==null||l.setError(rn.proposal_listener_not_found)),this.isValidConnect(Le({},r.params));const d=a.expiryTimestamp||st(mt.wc_sessionPropose.req.ttl),u=Le({id:c,pairingTopic:n,expiryTimestamp:d,attestation:i,encryptedId:o},a);await this.setProposal(c,u);const h=await this.getVerifyContext({attestationId:i,hash:ys(JSON.stringify(r)),encryptedId:o,metadata:u.proposer.metadata});l==null||l.addTrace(Bs.emit_session_proposal),this.client.events.emit("session_proposal",{id:c,params:u,verifyContext:h})}catch(l){await this.sendError({id:c,topic:n,error:l,rpcOpts:mt.wc_sessionPropose.autoReject}),this.client.logger.error(l)}}),j(this,"onSessionProposeResponse",async(s,n,r)=>{const{id:i}=n;if(sn(n)){const{result:o}=n;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:o});const a=this.client.proposal.get(i);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:a});const c=a.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:c});const l=o.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:l});const d=await this.client.core.crypto.generateSharedKey(c,l);this.pendingSessions.set(i,{sessionTopic:d,pairingTopic:s,proposalId:i,publicKey:c});const u=await this.client.core.relayer.subscribe(d,{transportType:r});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:u}),await this.client.core.pairing.activate({topic:s})}else if(js(n)){await this.deleteProposal(i);const o=je("session_connect",i);if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners, 954`);this.events.emit(o,{error:n.error})}}),j(this,"onSessionSettleRequest",async(s,n)=>{const{id:r,params:i}=n;try{this.isValidSessionSettleRequest(i);const{relay:o,controller:a,expiry:c,namespaces:l,sessionProperties:d,scopedProperties:u,sessionConfig:h,proposalRequestsResponses:p}=n.params,m=[...this.pendingSessions.values()].find(b=>b.sessionTopic===s);if(!m)return this.client.logger.error(`Pending session not found for topic ${s}`);const f=this.client.proposal.get(m.proposalId),y=yt(Le(Le(Le({topic:s,relay:o,expiry:c,namespaces:l,acknowledged:!0,pairingTopic:m.pairingTopic,requiredNamespaces:f.requiredNamespaces,optionalNamespaces:f.optionalNamespaces,controller:a.publicKey,self:{publicKey:m.publicKey,metadata:this.client.metadata},peer:{publicKey:a.publicKey,metadata:a.metadata}},d&&{sessionProperties:d}),u&&{scopedProperties:u}),h&&{sessionConfig:h}),{transportType:ze.relay,authentication:p==null?void 0:p.authentication,walletPayResult:p==null?void 0:p.walletPay});await this.client.session.set(y.topic,y),await this.setExpiry(y.topic,y.expiry),await this.client.core.pairing.updateMetadata({topic:m.pairingTopic,metadata:y.peer.metadata}),this.pendingSessions.delete(m.proposalId),this.deleteProposal(m.proposalId,!1),this.cleanupDuplicatePairings(y),await this.sendResult({id:n.id,topic:s,throwOnFailedPublish:!0,result:!0}),this.client.events.emit("session_connect",{session:y}),this.events.emit(je("session_connect",m.proposalId),{session:y})}catch(o){await this.sendError({id:r,topic:s,error:o}),this.client.logger.error(o)}}),j(this,"onSessionSettleResponse",async(s,n)=>{const{id:r}=n;sn(n)?(await this.client.session.update(s,{acknowledged:!0}),this.events.emit(je("session_approve",r),{})):js(n)&&(await this.client.session.delete(s,Ye("USER_DISCONNECTED")),this.events.emit(je("session_approve",r),{error:n.error}))}),j(this,"onSessionUpdateRequest",async(s,n)=>{const{params:r,id:i}=n;try{const o=`${s}_session_update`,a=Si.get(o);if(a&&this.isRequestOutOfSync(a,i)){this.client.logger.warn(`Discarding out of sync request - ${i}`),this.sendError({id:i,topic:s,error:Ye("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(Le({topic:s},r));try{Si.set(o,i),await this.client.session.update(s,{namespaces:r.namespaces}),await this.sendResult({id:i,topic:s,result:!0})}catch(c){throw Si.delete(o),c}this.client.events.emit("session_update",{id:i,topic:s,params:r})}catch(o){await this.sendError({id:i,topic:s,error:o}),this.client.logger.error(o)}}),j(this,"isRequestOutOfSync",(s,n)=>n.toString().slice(0,-3)<s.toString().slice(0,-3)),j(this,"onSessionUpdateResponse",(s,n)=>{const{id:r}=n,i=je("session_update",r);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);sn(n)?this.events.emit(je("session_update",r),{}):js(n)&&this.events.emit(je("session_update",r),{error:n.error})}),j(this,"onSessionExtendRequest",async(s,n)=>{const{id:r}=n;try{this.isValidExtend({topic:s}),await this.setExpiry(s,st(Hr)),await this.sendResult({id:r,topic:s,result:!0}),this.client.events.emit("session_extend",{id:r,topic:s})}catch(i){await this.sendError({id:r,topic:s,error:i}),this.client.logger.error(i)}}),j(this,"onSessionExtendResponse",(s,n)=>{const{id:r}=n,i=je("session_extend",r);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);sn(n)?this.events.emit(je("session_extend",r),{}):js(n)&&this.events.emit(je("session_extend",r),{error:n.error})}),j(this,"onSessionPingRequest",async(s,n)=>{const{id:r}=n;try{this.isValidPing({topic:s}),await this.sendResult({id:r,topic:s,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:r,topic:s})}catch(i){await this.sendError({id:r,topic:s,error:i}),this.client.logger.error(i)}}),j(this,"onSessionPingResponse",(s,n)=>{const{id:r}=n,i=je("session_ping",r);setTimeout(()=>{if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners 2176`);sn(n)?this.events.emit(je("session_ping",r),{}):js(n)&&this.events.emit(je("session_ping",r),{error:n.error})},500)}),j(this,"onSessionDeleteRequest",async(s,n)=>{const{id:r}=n;try{await this.isValidDisconnect({topic:s,reason:n.params}),this.cleanupPendingSentRequestsForTopic({topic:s,error:Ye("USER_DISCONNECTED")}),await this.deleteSession({topic:s,id:r})}catch(i){this.client.logger.error(i)}}),j(this,"onSessionRequest",async s=>{var n,r,i;const{topic:o,payload:a,attestation:c,encryptedId:l,transportType:d}=s,{id:u,params:h}=a;try{await this.isValidRequest(Le({topic:o},h));const p=this.client.session.get(o),m=await this.getVerifyContext({attestationId:c,hash:ys(JSON.stringify(Fs("wc_sessionRequest",h,u))),encryptedId:l,metadata:p.peer.metadata,transportType:d}),f={id:u,topic:o,params:h,verifyContext:m};await this.setPendingSessionRequest(f),d===ze.link_mode&&(n=p.peer.metadata.redirect)!=null&&n.universal&&this.client.core.addLinkModeSupportedApp((r=p.peer.metadata.redirect)==null?void 0:r.universal),(i=this.client.signConfig)!=null&&i.disableRequestQueue?this.emitSessionRequest(f):(this.addSessionRequestToSessionRequestQueue(f),this.processSessionRequestQueue())}catch(p){await this.sendError({id:u,topic:o,error:p}),this.client.logger.error(p)}}),j(this,"onSessionRequestResponse",(s,n)=>{const{id:r}=n,i=je("session_request",r);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);sn(n)?this.events.emit(je("session_request",r),{result:n.result}):js(n)&&this.events.emit(je("session_request",r),{error:n.error})}),j(this,"onSessionEventRequest",async(s,n)=>{const{id:r,params:i}=n;try{const o=`${s}_session_event_${i.event.name}`,a=Si.get(o);if(a&&this.isRequestOutOfSync(a,r)){this.client.logger.info(`Discarding out of sync request - ${r}`);return}this.isValidEmit(Le({topic:s},i)),this.client.events.emit("session_event",{id:r,topic:s,params:i}),Si.set(o,r)}catch(o){await this.sendError({id:r,topic:s,error:o}),this.client.logger.error(o)}}),j(this,"onSessionAuthenticateResponse",(s,n)=>{const{id:r}=n;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:s,payload:n}),sn(n)?this.events.emit(je("session_request",r),{result:n.result}):js(n)&&this.events.emit(je("session_request",r),{error:n.error})}),j(this,"onSessionAuthenticateRequest",async s=>{var n;const{topic:r,payload:i,attestation:o,encryptedId:a,transportType:c}=s;try{const{requester:l,authPayload:d,expiryTimestamp:u}=i.params,h=await this.getVerifyContext({attestationId:o,hash:ys(JSON.stringify(i)),encryptedId:a,metadata:l.metadata,transportType:c}),p={requester:l,pairingTopic:r,id:i.id,authPayload:d,verifyContext:h,expiryTimestamp:u};await this.setAuthRequest(i.id,{request:p,pairingTopic:r,transportType:c}),c===ze.link_mode&&(n=l.metadata.redirect)!=null&&n.universal&&this.client.core.addLinkModeSupportedApp(l.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:r,params:i.params,id:i.id,verifyContext:h})}catch(l){this.client.logger.error(l);const d=i.params.requester.publicKey,u=await this.client.core.crypto.generateKeyPair(),h=this.getAppLinkIfEnabled(i.params.requester.metadata,c),p={type:yn,receiverPublicKey:d,senderPublicKey:u};await this.sendError({id:i.id,topic:r,error:l,encodeOpts:p,rpcOpts:mt.wc_sessionAuthenticate.autoReject,appLink:h})}}),j(this,"addSessionRequestToSessionRequestQueue",s=>{this.sessionRequestQueue.queue.push(s)}),j(this,"cleanupAfterResponse",s=>{this.deletePendingSessionRequest(s.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=Ms.idle,this.processSessionRequestQueue()},Y.toMiliseconds(this.requestQueueDelay))}),j(this,"cleanupPendingSentRequestsForTopic",({topic:s,error:n})=>{const r=this.client.core.history.pending;r.length>0&&r.filter(i=>i.topic===s&&i.request.method==="wc_sessionRequest").forEach(i=>{this.events.emit(je("session_request",i.request.id),{error:n})})}),j(this,"processSessionRequestQueue",()=>{if(this.sessionRequestQueue.state===Ms.active){this.client.logger.info("session request queue is already active.");return}const s=this.sessionRequestQueue.queue[0];if(!s){this.client.logger.info("session request queue is empty.");return}try{this.emitSessionRequest(s)}catch(n){this.client.logger.error(n)}}),j(this,"emitSessionRequest",s=>{if(this.emittedSessionRequests.has(s.id)){this.client.logger.warn({id:s.id},`Skipping emitting \`session_request\` event for duplicate request. id: ${s.id}`);return}this.sessionRequestQueue.state=Ms.active,this.emittedSessionRequests.add(s.id),this.client.events.emit("session_request",s)}),j(this,"onPairingCreated",s=>{if(s.methods&&this.expectedPairingMethodMap.set(s.topic,s.methods),s.active)return;const n=this.client.proposal.getAll().find(r=>r.pairingTopic===s.topic);n&&this.onSessionProposeRequest({topic:s.topic,payload:Fs("wc_sessionPropose",yt(Le({},n),{requiredNamespaces:n.requiredNamespaces,optionalNamespaces:n.optionalNamespaces,relays:n.relays,proposer:n.proposer,sessionProperties:n.sessionProperties,scopedProperties:n.scopedProperties}),n.id),attestation:n.attestation,encryptedId:n.encryptedId})}),j(this,"isValidConnect",async s=>{if(!Wt(s)){const{message:l}=G("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(s)}`);throw new Error(l)}const{pairingTopic:n,requiredNamespaces:r,optionalNamespaces:i,sessionProperties:o,scopedProperties:a,relays:c}=s;if(ht(n)||await this.isValidPairingTopic(n),!KI(c)){const{message:l}=G("MISSING_OR_INVALID",`connect() relays: ${c}`);throw new Error(l)}if(r&&!ht(r)&&Gs(r)!==0){const l="requiredNamespaces are deprecated and are automatically assigned to optionalNamespaces";["fatal","error","silent"].includes(this.client.logger.level)?console.warn(l):this.client.logger.warn(l),this.validateNamespaces(r,"requiredNamespaces")}if(i&&!ht(i)&&Gs(i)!==0&&this.validateNamespaces(i,"optionalNamespaces"),o&&!ht(o)&&this.validateSessionProps(o,"sessionProperties"),a&&!ht(a)){this.validateSessionProps(a,"scopedProperties");const l=Object.keys(r||{}).concat(Object.keys(i||{}));if(!Object.keys(a).every(d=>l.includes(d.split(":")[0])))throw new Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(a)}, required/optional namespaces: ${JSON.stringify(l)}`)}}),j(this,"validateNamespaces",(s,n)=>{const r=zI(s,"connect()",n);if(r)throw new Error(r.message)}),j(this,"isValidApprove",async s=>{if(!Wt(s))throw new Error(G("MISSING_OR_INVALID",`approve() params: ${s}`).message);const{id:n,namespaces:r,relayProtocol:i,sessionProperties:o,scopedProperties:a}=s;this.checkRecentlyDeleted(n),await this.isValidProposalId(n);const c=this.client.proposal.get(n),l=Vc(r,"approve()");if(l)throw new Error(l.message);const d=tp(c.requiredNamespaces,r,"approve()");if(d)throw new Error(d.message);if(!rt(i,!0)){const{message:u}=G("MISSING_OR_INVALID",`approve() relayProtocol: ${i}`);throw new Error(u)}if(o&&!ht(o)&&this.validateSessionProps(o,"sessionProperties"),a&&!ht(a)){this.validateSessionProps(a,"scopedProperties");const u=new Set(Object.keys(r));if(!Object.keys(a).every(h=>u.has(h.split(":")[0])))throw new Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(a)}, approved namespaces: ${Array.from(u).join(", ")}`)}}),j(this,"isValidReject",async s=>{if(!Wt(s)){const{message:i}=G("MISSING_OR_INVALID",`reject() params: ${s}`);throw new Error(i)}const{id:n,reason:r}=s;if(this.checkRecentlyDeleted(n),await this.isValidProposalId(n),!YI(r)){const{message:i}=G("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(r)}`);throw new Error(i)}}),j(this,"isValidSessionSettleRequest",s=>{if(!Wt(s)){const{message:l}=G("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${s}`);throw new Error(l)}const{relay:n,controller:r,namespaces:i,expiry:o}=s;if(!_m(n)){const{message:l}=G("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(l)}const a=jI(r,"onSessionSettleRequest()");if(a)throw new Error(a.message);const c=Vc(i,"onSessionSettleRequest()");if(c)throw new Error(c.message);if(qs(o)){const{message:l}=G("EXPIRED","onSessionSettleRequest()");throw new Error(l)}}),j(this,"isValidUpdate",async s=>{if(!Wt(s)){const{message:c}=G("MISSING_OR_INVALID",`update() params: ${s}`);throw new Error(c)}const{topic:n,namespaces:r}=s;this.checkRecentlyDeleted(n),await this.isValidSessionTopic(n);const i=this.client.session.get(n),o=Vc(r,"update()");if(o)throw new Error(o.message);const a=tp(i.requiredNamespaces,r,"update()");if(a)throw new Error(a.message)}),j(this,"isValidExtend",async s=>{if(!Wt(s)){const{message:r}=G("MISSING_OR_INVALID",`extend() params: ${s}`);throw new Error(r)}const{topic:n}=s;this.checkRecentlyDeleted(n),await this.isValidSessionTopic(n)}),j(this,"isValidRequest",async s=>{if(!Wt(s)){const{message:c}=G("MISSING_OR_INVALID",`request() params: ${s}`);throw new Error(c)}const{topic:n,request:r,chainId:i,expiry:o}=s;this.checkRecentlyDeleted(n),await this.isValidSessionTopic(n);const{namespaces:a}=this.client.session.get(n);if(!ep(a,i)){const{message:c}=G("MISSING_OR_INVALID",`request() chainId: ${i}`);throw new Error(c)}if(!ZI(r)){const{message:c}=G("MISSING_OR_INVALID",`request() ${JSON.stringify(r)}`);throw new Error(c)}if(!QI(a,i,r.method)){const{message:c}=G("MISSING_OR_INVALID",`request() method: ${r.method}`);throw new Error(c)}this.validateRequestExpiry(o)}),j(this,"isValidRespond",async s=>{var n;if(!Wt(s)){const{message:a}=G("MISSING_OR_INVALID",`respond() params: ${s}`);throw new Error(a)}const{topic:r,response:i}=s;try{await this.isValidSessionTopic(r)}catch(a){throw(n=s==null?void 0:s.response)!=null&&n.id&&this.cleanupAfterResponse(s),a}if(!JI(i)){const{message:a}=G("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(i)}`);throw new Error(a)}const o=this.client.pendingRequest.get(i.id);if(o.topic!==r){const{message:a}=G("MISMATCHED_TOPIC",`Request response topic mismatch. reqId: ${i.id}, expected topic: ${o.topic}, received topic: ${r}`);throw new Error(a)}}),j(this,"isValidPing",async s=>{if(!Wt(s)){const{message:r}=G("MISSING_OR_INVALID",`ping() params: ${s}`);throw new Error(r)}const{topic:n}=s;await this.isValidSessionOrPairingTopic(n)}),j(this,"isValidEmit",async s=>{if(!Wt(s)){const{message:a}=G("MISSING_OR_INVALID",`emit() params: ${s}`);throw new Error(a)}const{topic:n,event:r,chainId:i}=s;await this.isValidSessionTopic(n);const{namespaces:o}=this.client.session.get(n);if(!ep(o,i)){const{message:a}=G("MISSING_OR_INVALID",`emit() chainId: ${i}`);throw new Error(a)}if(!XI(r)){const{message:a}=G("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(r)}`);throw new Error(a)}if(!eN(o,i,r.name)){const{message:a}=G("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(r)}`);throw new Error(a)}}),j(this,"isValidDisconnect",async s=>{if(!Wt(s)){const{message:r}=G("MISSING_OR_INVALID",`disconnect() params: ${s}`);throw new Error(r)}const{topic:n}=s;await this.isValidSessionOrPairingTopic(n)}),j(this,"isValidAuthenticate",s=>{const{chains:n,uri:r,domain:i,nonce:o}=s;if(!Array.isArray(n)||n.length===0)throw new Error("chains is required and must be a non-empty array");if(!rt(r,!1))throw new Error("uri is required parameter");if(!rt(i,!1))throw new Error("domain is required parameter");if(!rt(o,!1))throw new Error("nonce is required parameter");if([...new Set(n.map(c=>mn(c).namespace))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:a}=mn(n[0]);if(a!=="eip155")throw new Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}),j(this,"getVerifyContext",async s=>{const{attestationId:n,hash:r,encryptedId:i,metadata:o,transportType:a}=s,c={verified:{verifyUrl:o.verifyUrl||qi,validation:"UNKNOWN",origin:o.url||""}};try{if(a===ze.link_mode){const d=this.getAppLinkIfEnabled(o,a);return c.verified.validation=d&&new URL(d).origin===new URL(o.url).origin?"VALID":"INVALID",c}const l=await this.client.core.verify.resolve({attestationId:n,hash:r,encryptedId:i,verifyUrl:o.verifyUrl});l&&(c.verified.origin=l.origin,c.verified.isScam=l.isScam,c.verified.validation=l.origin===new URL(o.url).origin?"VALID":"INVALID")}catch(l){this.client.logger.warn(l)}return this.client.logger.debug(`Verify context: ${JSON.stringify(c)}`),c}),j(this,"validateSessionProps",(s,n)=>{Object.values(s).forEach((r,i)=>{if(r==null){const{message:o}=G("MISSING_OR_INVALID",`${n} must contain an existing value for each key. Received: ${r} for key ${Object.keys(s)[i]}`);throw new Error(o)}})}),j(this,"getPendingAuthRequest",s=>{const n=this.client.auth.requests.get(s);return typeof n=="object"?n:void 0}),j(this,"addToRecentlyDeleted",(s,n)=>{if(this.recentlyDeletedMap.set(s,n),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let r=0;const i=this.recentlyDeletedLimit/2;for(const o of this.recentlyDeletedMap.keys()){if(r++>=i)break;this.recentlyDeletedMap.delete(o)}}}),j(this,"checkRecentlyDeleted",s=>{const n=this.recentlyDeletedMap.get(s);if(n){const{message:r}=G("MISSING_OR_INVALID",`Record was recently deleted - ${n}: ${s}`);throw new Error(r)}}),j(this,"isLinkModeEnabled",(s,n)=>{var r,i,o,a,c,l,d,u,h;return!s||n!==ze.link_mode?!1:((i=(r=this.client.metadata)==null?void 0:r.redirect)==null?void 0:i.linkMode)===!0&&((a=(o=this.client.metadata)==null?void 0:o.redirect)==null?void 0:a.universal)!==void 0&&((l=(c=this.client.metadata)==null?void 0:c.redirect)==null?void 0:l.universal)!==""&&((d=s==null?void 0:s.redirect)==null?void 0:d.universal)!==void 0&&((u=s==null?void 0:s.redirect)==null?void 0:u.universal)!==""&&((h=s==null?void 0:s.redirect)==null?void 0:h.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(s.redirect.universal)&&typeof(ve==null?void 0:ve.Linking)<"u"}),j(this,"getAppLinkIfEnabled",(s,n)=>{var r;return this.isLinkModeEnabled(s,n)?(r=s==null?void 0:s.redirect)==null?void 0:r.universal:void 0}),j(this,"handleLinkModeMessage",({url:s})=>{if(!s||!s.includes("wc_ev")||!s.includes("topic"))return;const n=hh(s,"topic")||"",r=decodeURIComponent(hh(s,"wc_ev")||""),i=this.client.session.keys.includes(n);i&&this.client.session.update(n,{transportType:ze.link_mode}),this.client.core.dispatchEnvelope({topic:n,message:r,sessionExists:i})}),j(this,"registerLinkModeListeners",async()=>{var s;if(Od()||Jn()&&(s=this.client.metadata.redirect)!=null&&s.linkMode){const n=ve==null?void 0:ve.Linking;if(typeof n<"u"){n.addEventListener("url",this.handleLinkModeMessage,this.client.name);const r=await n.getInitialURL();r&&setTimeout(()=>{this.handleLinkModeMessage({url:r})},50)}}}),j(this,"getTVFApproveParams",s=>{try{const n=Cm(s.namespaces),r=NI(s.namespaces),i=TI(s.namespaces),o=s.sessionProperties,a=s.scopedProperties;return{approvedChains:n,approvedMethods:r,approvedEvents:i,sessionProperties:o,scopedProperties:a}}catch(n){return this.client.logger.warn(n,"Error getting TVF approve params"),{}}}),j(this,"getTVFParams",(s,n,r)=>{var i,o,a;if(!((i=n.request)!=null&&i.method))return{};const c={correlationId:s,rpcMethods:[n.request.method],chainId:n.chainId};try{const l=this.extractTxHashesFromResult(n.request,r);c.txHashes=l,c.contractAddresses=this.isValidContractData(n.request.params)?[(a=(o=n.request.params)==null?void 0:o[0])==null?void 0:a.to]:[]}catch(l){this.client.logger.warn(l,"Error getting TVF params")}return c}),j(this,"isValidContractData",s=>{var n;if(!s)return!1;try{const r=(s==null?void 0:s.data)||((n=s==null?void 0:s[0])==null?void 0:n.data);if(!r.startsWith("0x"))return!1;const i=r.slice(2);return/^[0-9a-fA-F]*$/.test(i)?i.length%2===0:!1}catch{}return!1}),j(this,"extractTxHashesFromResult",(s,n)=>{var r;try{if(!n)return[];const i=s.method,o=oO[i];if(i==="sui_signTransaction")return[mA(n.transactionBytes)];if(i==="near_signTransaction")return[bh(n)];if(i==="near_signTransactions")return n.map(c=>bh(c));if(i==="xrpl_signTransactionFor"||i==="xrpl_signTransaction")return[(r=n.tx_json)==null?void 0:r.hash];if(i==="polkadot_signTransaction")return[wN({transaction:s.params.transactionPayload,signature:n.signature})];if(i==="algo_signTxn")return wn(n)?n.map(c=>Ch(c)):[Ch(n)];if(i==="cosmos_signDirect")return[wA(n)];if(i==="wallet_sendCalls")return EA(n);if(typeof n=="string")return[n];const a=n[o.key];if(wn(a))return i==="solana_signAllTransactions"?a.map(c=>gA(c)):a;if(typeof a=="string")return[a]}catch(i){this.client.logger.warn(i,"Error extracting tx hashes from result")}return[]})}async processPendingMessageEvents(){try{const e=this.client.session.keys,s=this.client.core.relayer.messages.getWithoutAck(e);for(const[n,r]of Object.entries(s))for(const i of r)try{await this.onProviderMessageEvent({topic:n,message:i,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${n}, message: ${i}`)}}catch(e){this.client.logger.warn(e,"processPendingMessageEvents failed")}}isInitialized(){if(!this.initialized){const{message:e}=G("NOT_INITIALIZED",this.name);throw new Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(nt.message,e=>{this.onProviderMessageEvent(e)})}async onRelayMessage(e){const{topic:s,message:n,attestation:r,transportType:i}=e,{publicKey:o}=this.client.auth.authKeys.keys.includes(fa)?this.client.auth.authKeys.get(fa):{publicKey:void 0};try{const a=await this.client.core.crypto.decode(s,n,{receiverPublicKey:o,encoding:i===ze.link_mode?Ln:Kt});md(a)?(this.client.core.history.set(s,a),await this.onRelayEventRequest({topic:s,payload:a,attestation:r,transportType:i,encryptedId:ys(n)})):yd(a)?(await this.client.core.history.resolve(a),await this.onRelayEventResponse({topic:s,payload:a,transportType:i}),this.client.core.history.delete(s,a.id)):(this.client.logger.error(`onRelayMessage() -> unknown payload: ${JSON.stringify(a)}`),await this.onRelayEventUnknownPayload({topic:s,payload:a,transportType:i})),await this.client.core.relayer.messages.ack(s,n)}catch(a){this.client.logger.error(`onRelayMessage() -> failed to process an inbound message: ${n}`),this.client.logger.error(a)}}registerExpirerEvents(){this.client.core.expirer.on(gs.expired,async e=>{const{topic:s,id:n}=vg(e.target);if(n&&this.client.pendingRequest.keys.includes(n))return await this.deletePendingSessionRequest(n,G("EXPIRED"),!0);if(n&&this.client.auth.requests.keys.includes(n))return await this.deletePendingAuthRequest(n,G("EXPIRED"),!0);s?this.client.session.keys.includes(s)&&(await this.deleteSession({topic:s,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:s})):n&&(await this.deleteProposal(n,!0),this.client.events.emit("proposal_expire",{id:n}))})}registerPairingEvents(){this.client.core.pairing.events.on(lr.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(lr.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!rt(e,!1)){const{message:s}=G("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw new Error(s)}if(!this.client.core.pairing.pairings.keys.includes(e)){const{message:s}=G("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(s)}if(qs(this.client.core.pairing.pairings.get(e).expiry)){const{message:s}=G("EXPIRED",`pairing topic: ${e}`);throw new Error(s)}}async isValidSessionTopic(e){if(!rt(e,!1)){const{message:s}=G("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw new Error(s)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){const{message:s}=G("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(s)}if(qs(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:s}=G("EXPIRED",`session topic: ${e}`);throw new Error(s)}if(!this.client.core.crypto.keychain.has(e)){const{message:s}=G("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),new Error(s)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if(rt(e,!1)){const{message:s}=G("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(s)}else{const{message:s}=G("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(s)}}async isValidProposalId(e){if(!GI(e)){const{message:s}=G("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(s)}if(!this.client.proposal.keys.includes(e)){const{message:s}=G("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(s)}if(qs(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:s}=G("EXPIRED",`proposal id: ${e}`);throw new Error(s)}}validateRequestExpiry(e){if(e&&!nN(e,Jc)){const{message:s}=G("MISSING_OR_INVALID",`request() expiry: ${e}. Expiry must be a number (in seconds) between ${Jc.min} and ${Jc.max}`);throw new Error(s)}}}class bO extends Dr{constructor(e,s){super(e,s,nO,qd),this.core=e,this.logger=s}}let CO=class extends Dr{constructor(e,s){super(e,s,rO,qd),this.core=e,this.logger=s}};class vO extends Dr{constructor(e,s){super(e,s,aO,qd,n=>n.id),this.core=e,this.logger=s}}class _O extends Dr{constructor(e,s){super(e,s,uO,uc,()=>fa),this.core=e,this.logger=s}}class AO extends Dr{constructor(e,s){super(e,s,hO,uc),this.core=e,this.logger=s}}class SO extends Dr{constructor(e,s){super(e,s,pO,uc,n=>n.id),this.core=e,this.logger=s}}var IO=Object.defineProperty,NO=(t,e,s)=>e in t?IO(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Xc=(t,e,s)=>NO(t,typeof e!="symbol"?e+"":e,s);class TO{constructor(e,s){this.core=e,this.logger=s,Xc(this,"authKeys"),Xc(this,"pairingTopics"),Xc(this,"requests"),this.authKeys=new _O(this.core,this.logger),this.pairingTopics=new AO(this.core,this.logger),this.requests=new SO(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var RO=Object.defineProperty,OO=(t,e,s)=>e in t?RO(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Re=(t,e,s)=>OO(t,typeof e!="symbol"?e+"":e,s);class Wd extends Nv{constructor(e){super(e),Re(this,"protocol",Fm),Re(this,"version",qm),Re(this,"name",Zc.name),Re(this,"metadata"),Re(this,"core"),Re(this,"logger"),Re(this,"events",new Pr.EventEmitter),Re(this,"engine"),Re(this,"session"),Re(this,"proposal"),Re(this,"pendingRequest"),Re(this,"auth"),Re(this,"signConfig"),Re(this,"on",(n,r)=>this.events.on(n,r)),Re(this,"once",(n,r)=>this.events.once(n,r)),Re(this,"off",(n,r)=>this.events.off(n,r)),Re(this,"removeListener",(n,r)=>this.events.removeListener(n,r)),Re(this,"removeAllListeners",n=>this.events.removeAllListeners(n)),Re(this,"connect",async n=>{try{return await this.engine.connect(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"pair",async n=>{try{return await this.engine.pair(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"approve",async n=>{try{return await this.engine.approve(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"reject",async n=>{try{return await this.engine.reject(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"update",async n=>{try{return await this.engine.update(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"extend",async n=>{try{return await this.engine.extend(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"request",async n=>{try{return await this.engine.request(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"respond",async n=>{try{return await this.engine.respond(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"ping",async n=>{try{return await this.engine.ping(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"emit",async n=>{try{return await this.engine.emit(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"disconnect",async n=>{try{return await this.engine.disconnect(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"find",n=>{try{return this.engine.find(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"getPendingSessionRequests",()=>{try{return this.engine.getPendingSessionRequests()}catch(n){throw this.logger.error(n.message),n}}),Re(this,"authenticate",async(n,r)=>{try{return await this.engine.authenticate(n,r)}catch(i){throw this.logger.error(i.message),i}}),Re(this,"formatAuthMessage",n=>{try{return this.engine.formatAuthMessage(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"approveSessionAuthenticate",async n=>{try{return await this.engine.approveSessionAuthenticate(n)}catch(r){throw this.logger.error(r.message),r}}),Re(this,"rejectSessionAuthenticate",async n=>{try{return await this.engine.rejectSessionAuthenticate(n)}catch(r){throw this.logger.error(r.message),r}}),this.name=(e==null?void 0:e.name)||Zc.name,this.metadata=c0(e==null?void 0:e.metadata),this.signConfig=e==null?void 0:e.signConfig;const s=Fd({logger:(e==null?void 0:e.logger)||Zc.logger,name:this.name});this.logger=s,this.core=(e==null?void 0:e.core)||new sO(e),this.session=new CO(this.core,this.logger),this.proposal=new bO(this.core,this.logger),this.pendingRequest=new vO(this.core,this.logger),this.engine=new EO(this),this.auth=new TO(this.core,this.logger)}static async init(e){const s=new Wd(e);return await s.initialize(),s}get context(){return Jt(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info("SignClient Initialization Success")}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}const PO=Wd;function Hd(t){return t==null||typeof t!="object"&&typeof t!="function"}function Hm(t){return Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e))}function Vm(t){return t==null?t===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const xO="[object RegExp]",zm="[object String]",Km="[object Number]",Gm="[object Boolean]",Ym="[object Arguments]",kO="[object Symbol]",UO="[object Date]",$O="[object Map]",DO="[object Set]",LO="[object Array]",MO="[object ArrayBuffer]",BO="[object Object]",jO="[object DataView]",FO="[object Uint8Array]",qO="[object Uint8ClampedArray]",WO="[object Uint16Array]",HO="[object Uint32Array]",VO="[object Int8Array]",zO="[object Int16Array]",KO="[object Int32Array]",GO="[object Float32Array]",YO="[object Float64Array]";function Vd(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function ZO(t,e){return Qr(t,void 0,t,new Map,e)}function Qr(t,e,s,n=new Map,r=void 0){const i=r==null?void 0:r(t,e,s,n);if(i!=null)return i;if(Hd(t))return t;if(n.has(t))return n.get(t);if(Array.isArray(t)){const o=new Array(t.length);n.set(t,o);for(let a=0;a<t.length;a++)o[a]=Qr(t[a],a,s,n,r);return Object.hasOwn(t,"index")&&(o.index=t.index),Object.hasOwn(t,"input")&&(o.input=t.input),o}if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp){const o=new RegExp(t.source,t.flags);return o.lastIndex=t.lastIndex,o}if(t instanceof Map){const o=new Map;n.set(t,o);for(const[a,c]of t)o.set(a,Qr(c,a,s,n,r));return o}if(t instanceof Set){const o=new Set;n.set(t,o);for(const a of t)o.add(Qr(a,void 0,s,n,r));return o}if(typeof ke<"u"&&ke.isBuffer(t))return t.subarray();if(Vd(t)){const o=new(Object.getPrototypeOf(t)).constructor(t.length);n.set(t,o);for(let a=0;a<t.length;a++)o[a]=Qr(t[a],a,s,n,r);return o}if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer)return t.slice(0);if(t instanceof DataView){const o=new DataView(t.buffer.slice(0),t.byteOffset,t.byteLength);return n.set(t,o),dr(o,t,s,n,r),o}if(typeof File<"u"&&t instanceof File){const o=new File([t],t.name,{type:t.type});return n.set(t,o),dr(o,t,s,n,r),o}if(t instanceof Blob){const o=new Blob([t],{type:t.type});return n.set(t,o),dr(o,t,s,n,r),o}if(t instanceof Error){const o=new t.constructor;return n.set(t,o),o.message=t.message,o.name=t.name,o.stack=t.stack,o.cause=t.cause,dr(o,t,s,n,r),o}if(typeof t=="object"&&JO(t)){const o=Object.create(Object.getPrototypeOf(t));return n.set(t,o),dr(o,t,s,n,r),o}return t}function dr(t,e,s=t,n,r){const i=[...Object.keys(e),...Hm(e)];for(let o=0;o<i.length;o++){const a=i[o],c=Object.getOwnPropertyDescriptor(t,a);(c==null||c.writable)&&(t[a]=Qr(e[a],a,s,n,r))}}function JO(t){switch(Vm(t)){case Ym:case LO:case MO:case jO:case Gm:case UO:case GO:case YO:case VO:case zO:case KO:case $O:case Km:case BO:case xO:case DO:case zm:case kO:case FO:case qO:case WO:case HO:return!0;default:return!1}}function XO(t,e){return ZO(t,(s,n,r,i)=>{if(typeof t=="object")switch(Object.prototype.toString.call(t)){case Km:case zm:case Gm:{const o=new t.constructor(t==null?void 0:t.valueOf());return dr(o,t),o}case Ym:{const o={};return dr(o,t),o.length=t.length,o[Symbol.iterator]=t[Symbol.iterator],o}default:return}})}function Pp(t){return XO(t)}function xp(t){return t!==null&&typeof t=="object"&&Vm(t)==="[object Arguments]"}function kp(t){return typeof t=="object"&&t!==null}function QO(){}function eP(t){return Vd(t)}function tP(t){var s;if(typeof t!="object"||t==null)return!1;if(Object.getPrototypeOf(t)===null)return!0;if(Object.prototype.toString.call(t)!=="[object Object]"){const n=t[Symbol.toStringTag];return n==null||!((s=Object.getOwnPropertyDescriptor(t,Symbol.toStringTag))!=null&&s.writable)?!1:t.toString()===`[object ${n}]`}let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function sP(t){if(Hd(t))return t;if(Array.isArray(t)||Vd(t)||t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer)return t.slice(0);const e=Object.getPrototypeOf(t),s=e.constructor;if(t instanceof Date||t instanceof Map||t instanceof Set)return new s(t);if(t instanceof RegExp){const n=new s(t);return n.lastIndex=t.lastIndex,n}if(t instanceof DataView)return new s(t.buffer.slice(0));if(t instanceof Error){const n=new s(t.message);return n.stack=t.stack,n.name=t.name,n.cause=t.cause,n}if(typeof File<"u"&&t instanceof File)return new s([t],t.name,{type:t.type,lastModified:t.lastModified});if(typeof t=="object"){const n=Object.create(e);return Object.assign(n,t)}return t}function nP(t,...e){const s=e.slice(0,-1),n=e[e.length-1];let r=t;for(let i=0;i<s.length;i++){const o=s[i];r=ad(r,o,n,new Map)}return r}function ad(t,e,s,n){if(Hd(t)&&(t=Object(t)),e==null||typeof e!="object")return t;if(n.has(e))return sP(n.get(e));if(n.set(e,t),Array.isArray(e)){e=e.slice();for(let i=0;i<e.length;i++)e[i]=e[i]??void 0}const r=[...Object.keys(e),...Hm(e)];for(let i=0;i<r.length;i++){const o=r[i];let a=e[o],c=t[o];if(xp(a)&&(a={...a}),xp(c)&&(c={...c}),typeof ke<"u"&&ke.isBuffer(a)&&(a=Pp(a)),Array.isArray(a))if(typeof c=="object"&&c!=null){const d=[],u=Reflect.ownKeys(c);for(let h=0;h<u.length;h++){const p=u[h];d[p]=c[p]}c=d}else c=[];const l=s(c,a,o,t,e,n);l!=null?t[o]=l:Array.isArray(a)||kp(c)&&kp(a)?t[o]=ad(c,a,s,n):c==null&&tP(a)?t[o]=ad({},a,s,n):c==null&&eP(a)?t[o]=Pp(a):(c===void 0||a!==void 0)&&(t[o]=a)}return t}function rP(t,...e){return nP(t,...e,QO)}const Up="error",iP="wss://relay.walletconnect.org",oP="wc",Zm="universal_provider",ea=`${oP}@2:${Zm}:`,Jm="https://rpc.walletconnect.org/v1/",Xm="generic",aP=`${Jm}bundler`,ii="call_status",cP=86400,zd={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};var lP=Object.defineProperty,dP=Object.defineProperties,uP=Object.getOwnPropertyDescriptors,$p=Object.getOwnPropertySymbols,hP=Object.prototype.hasOwnProperty,pP=Object.prototype.propertyIsEnumerable,Dp=(t,e,s)=>e in t?lP(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ta=(t,e)=>{for(var s in e||(e={}))hP.call(e,s)&&Dp(t,s,e[s]);if($p)for(var s of $p(e))pP.call(e,s)&&Dp(t,s,e[s]);return t},fP=(t,e)=>dP(t,uP(e));function Qm(t,e,s){var n;const r=mn(t);return((n=e.rpcMap)==null?void 0:n[r.reference])||`${Jm}?chainId=${r.namespace}:${r.reference}&projectId=${s}`}function gP(t){return t.includes(":")?t.split(":")[1]:t}function ey(t){return t.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function mP(t,e){const s=Object.keys(e.namespaces).filter(r=>r.includes(t));if(!s.length)return[];const n=[];return s.forEach(r=>{const i=e.namespaces[r].accounts;n.push(...i)}),n}function Lp(t){return Object.fromEntries(Object.entries(t).filter(([e,s])=>{var n,r;return((n=s==null?void 0:s.chains)==null?void 0:n.length)&&((r=s==null?void 0:s.chains)==null?void 0:r.length)>0}))}function sa(t={},e={}){const s=Lp(Mp(t)),n=Lp(Mp(e));return rP(s,n)}function Mp(t){var e,s,n,r,i;const o={};if(!Gs(t))return o;for(const[a,c]of Object.entries(t)){const l=lc(a)?[a]:c.chains,d=c.methods||[],u=c.events||[],h=c.rpcMap||{},p=Xr(a);o[p]=fP(ta(ta({},o[p]),c),{chains:Ks(l,(e=o[p])==null?void 0:e.chains),methods:Ks(d,(s=o[p])==null?void 0:s.methods),events:Ks(u,(n=o[p])==null?void 0:n.events)}),(Gs(h)||Gs(((r=o[p])==null?void 0:r.rpcMap)||{}))&&(o[p].rpcMap=ta(ta({},h),(i=o[p])==null?void 0:i.rpcMap))}return o}function Bp(t){return t.includes(":")?t.split(":")[2]:t}function jp(t){const e={};for(const[s,n]of Object.entries(t)){const r=n.methods||[],i=n.events||[],o=n.accounts||[],a=lc(s)?[s]:n.chains?n.chains:ey(n.accounts);e[s]={chains:a,methods:r,events:i,accounts:o}}return e}function Qc(t){return typeof t=="number"?t:t.includes("0x")?parseInt(t,16):(t=t.includes(":")?t.split(":")[1]:t,isNaN(Number(t))?t:Number(t))}function yP(t){try{const e=JSON.parse(t);return typeof e=="object"&&e!==null&&!Array.isArray(e)}catch{return!1}}const ty={},oi=t=>ty[t],el=(t,e)=>{ty[t]=e};var wP=Object.defineProperty,Fp=Object.getOwnPropertySymbols,EP=Object.prototype.hasOwnProperty,bP=Object.prototype.propertyIsEnumerable,qp=(t,e,s)=>e in t?wP(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Wp=(t,e)=>{for(var s in e||(e={}))EP.call(e,s)&&qp(t,s,e[s]);if(Fp)for(var s of Fp(e))bP.call(e,s)&&qp(t,s,e[s]);return t};const Hp="eip155",CP=["atomic","flow-control","paymasterService","sessionKeys","auxiliaryFunds"],vP=t=>t&&t.startsWith("0x")?BigInt(t).toString(10):t,tl=t=>t&&t.startsWith("0x")?t:`0x${BigInt(t).toString(16)}`,Vp=t=>Object.keys(t).filter(e=>CP.includes(e)).reduce((e,s)=>(e[s]=_P(t[s]),e),{}),_P=t=>typeof t=="string"&&yP(t)?JSON.parse(t):t,AP=(t,e,s)=>{const{sessionProperties:n={},scopedProperties:r={}}=t,i={};if(!Gs(r)&&!Gs(n))return;const o=Vp(n);for(const a of s){const c=vP(a);if(!c)continue;i[tl(c)]=o;const l=r==null?void 0:r[`${Hp}:${c}`];if(l){const d=l==null?void 0:l[`${Hp}:${c}:${e}`];i[tl(c)]=Wp(Wp({},i[tl(c)]),Vp(d||l))}}for(const[a,c]of Object.entries(i))Object.keys(c).length===0&&delete i[a];return Object.keys(i).length>0?i:void 0};var SP=Object.defineProperty,IP=(t,e,s)=>e in t?SP(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,NP=(t,e,s)=>IP(t,e+"",s);let sl;class Kd{constructor(e){NP(this,"storage"),this.storage=e}async getItem(e){return await this.storage.getItem(e)}async setItem(e,s){return await this.storage.setItem(e,s)}async removeItem(e){return await this.storage.removeItem(e)}static getStorage(e){return sl||(sl=new Kd(e)),sl}}var TP=Object.defineProperty,RP=Object.defineProperties,OP=Object.getOwnPropertyDescriptors,zp=Object.getOwnPropertySymbols,PP=Object.prototype.hasOwnProperty,xP=Object.prototype.propertyIsEnumerable,Kp=(t,e,s)=>e in t?TP(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,kP=(t,e)=>{for(var s in e||(e={}))PP.call(e,s)&&Kp(t,s,e[s]);if(zp)for(var s of zp(e))xP.call(e,s)&&Kp(t,s,e[s]);return t},UP=(t,e)=>RP(t,OP(e));async function $P(t,e){const s=mn(t.result.capabilities.caip345.caip2),n=t.result.capabilities.caip345.transactionHashes,r=await Promise.allSettled(n.map(u=>DP(s.reference,u,e))),i=r.filter(u=>u.status==="fulfilled").map(u=>u.value).filter(u=>u);r.filter(u=>u.status==="rejected").forEach(u=>console.warn("Failed to fetch transaction receipt:",u.reason));const o=!i.length||i.some(u=>!u),a=i.every(u=>(u==null?void 0:u.status)==="0x1"),c=i.every(u=>(u==null?void 0:u.status)==="0x0"),l=i.some(u=>(u==null?void 0:u.status)==="0x0");let d;return o?d=100:a?d=200:c?d=500:l&&(d=600),{id:t.result.id,version:t.request.version,atomic:t.request.atomicRequired,chainId:t.request.chainId,capabilities:t.result.capabilities,receipts:i,status:d}}async function DP(t,e,s){return await s(parseInt(t)).request(Fs("eth_getTransactionReceipt",[e]))}async function LP({sendCalls:t,storage:e}){const s=await e.getItem(ii);await e.setItem(ii,UP(kP({},s),{[t.result.id]:{request:t.request,result:t.result,expiry:st(cP)}}))}async function MP({resultId:t,storage:e}){const s=await e.getItem(ii);if(s){delete s[t],await e.setItem(ii,s);for(const n in s)qs(s[n].expiry)&&delete s[n];await e.setItem(ii,s)}}async function BP({resultId:t,storage:e}){const s=await e.getItem(ii),n=s==null?void 0:s[t];if(n&&!qs(n.expiry))return n;await MP({resultId:t,storage:e})}var jP=Object.defineProperty,FP=Object.defineProperties,qP=Object.getOwnPropertyDescriptors,Gp=Object.getOwnPropertySymbols,WP=Object.prototype.hasOwnProperty,HP=Object.prototype.propertyIsEnumerable,cd=(t,e,s)=>e in t?jP(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,nl=(t,e)=>{for(var s in e||(e={}))WP.call(e,s)&&cd(t,s,e[s]);if(Gp)for(var s of Gp(e))HP.call(e,s)&&cd(t,s,e[s]);return t},rl=(t,e)=>FP(t,qP(e)),rr=(t,e,s)=>cd(t,typeof e!="symbol"?e+"":e,s);class VP{constructor(e){rr(this,"name","eip155"),rr(this,"client"),rr(this,"chainId"),rr(this,"namespace"),rr(this,"httpProviders"),rr(this,"events"),rr(this,"storage"),this.namespace=e.namespace,this.events=oi("events"),this.client=oi("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain()),this.storage=Kd.getStorage(this.client.core.storage)}async request(e){switch(e.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain());case"wallet_getCapabilities":return await this.getCapabilities(e);case"wallet_getCallsStatus":return await this.getCallStatus(e);case"wallet_sendCalls":return await this.sendCalls(e)}return this.namespace.methods.includes(e.request.method)?await this.client.request(e):this.getHttpProvider().request(e.request)}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(parseInt(e),s);const n=this.chainId;this.chainId=parseInt(e),this.events.emit(zd.DEFAULT_CHAIN_CHANGED,{currentCaipChainId:`${this.name}:${e}`,previousCaipChainId:`${this.name}:${n}`})}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,s){const n=s||Qm(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new gd(new Ef(n,oi("disableProviderPing")))}setHttpProvider(e,s){const n=this.createHttpProvider(e,s);n&&(this.httpProviders[e]=n)}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var n;const r=parseInt(gP(s));e[r]=this.createHttpProvider(r,(n=this.namespace.rpcMap)==null?void 0:n[s])}),e}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}getHttpProvider(e){const s=e||this.chainId;return this.httpProviders[s]||(this.httpProviders=rl(nl({},this.httpProviders),{[s]:this.createHttpProvider(s)}),this.httpProviders[s])}async handleSwitchChain(e){var s,n;let r=e.request.params?(s=e.request.params[0])==null?void 0:s.chainId:"0x0";r=r.startsWith("0x")?r:`0x${r}`;const i=parseInt(r,16);if(this.isChainApproved(i))this.setDefaultChain(`${i}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:r}]},chainId:(n=this.namespace.chains)==null?void 0:n[0]}),this.setDefaultChain(`${i}`);else throw new Error(`Failed to switch to chain 'eip155:${i}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(e){return this.namespace.chains.includes(`${this.name}:${e}`)}async getCapabilities(e){var s,n,r,i,o;const a=(n=(s=e.request)==null?void 0:s.params)==null?void 0:n[0],c=((i=(r=e.request)==null?void 0:r.params)==null?void 0:i[1])||[];if(!a)throw new Error("Missing address parameter in `wallet_getCapabilities` request");const l=this.client.session.get(e.topic),d=((o=l==null?void 0:l.sessionProperties)==null?void 0:o.capabilities)||{},u=`${a}${c.join(",")}`,h=d==null?void 0:d[u];if(h)return h;let p;try{p=AP(l,a,c)}catch(f){console.warn("Failed to extract capabilities from session",f)}if(p)return p;const m=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:rl(nl({},l.sessionProperties||{}),{capabilities:rl(nl({},d||{}),{[u]:m})})})}catch(f){console.warn("Failed to update session with capabilities",f)}return m}async getCallStatus(e){var s,n,r;const i=this.client.session.get(e.topic),o=(s=i.sessionProperties)==null?void 0:s.bundler_name;if(o){const l=this.getBundlerUrl(e.chainId,o);try{return await this.getUserOperationReceipt(l,e)}catch(d){console.warn("Failed to fetch call status from bundler",d,l)}}const a=(n=i.sessionProperties)==null?void 0:n.bundler_url;if(a)try{return await this.getUserOperationReceipt(a,e)}catch(l){console.warn("Failed to fetch call status from custom bundler",l,a)}const c=await BP({resultId:(r=e.request.params)==null?void 0:r[0],storage:this.storage});if(c)try{return await $P(c,this.getHttpProvider.bind(this))}catch(l){console.warn("Failed to fetch call status from stored send calls",l,c)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw new Error("Fetching call status not approved by the wallet.")}async getUserOperationReceipt(e,s){var n;const r=new URL(e),i=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Fs("eth_getUserOperationReceipt",[(n=s.request.params)==null?void 0:n[0]]))});if(!i.ok)throw new Error(`Failed to fetch user operation receipt - ${i.status}`);return await i.json()}getBundlerUrl(e,s){return`${aP}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${s}`}async sendCalls(e){var s,n,r;const i=await this.client.request(e),o=(s=e.request.params)==null?void 0:s[0],a=i==null?void 0:i.id,c=(i==null?void 0:i.capabilities)||{},l=(n=c==null?void 0:c.caip345)==null?void 0:n.caip2,d=(r=c==null?void 0:c.caip345)==null?void 0:r.transactionHashes;return!a||!l||!(d!=null&&d.length)||await LP({sendCalls:{request:o,result:i},storage:this.storage}),i}}var zP=Object.defineProperty,KP=(t,e,s)=>e in t?zP(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Vr=(t,e,s)=>KP(t,typeof e!="symbol"?e+"":e,s);class GP{constructor(e){Vr(this,"name",Xm),Vr(this,"client"),Vr(this,"httpProviders"),Vr(this,"events"),Vr(this,"namespace"),Vr(this,"chainId"),this.namespace=e.namespace,this.events=oi("events"),this.client=oi("client"),this.chainId=this.getDefaultChain(),this.name=this.getNamespaceName(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(e.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(e.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(e.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(e.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider(e.chainId).request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s);const n=this.chainId;this.chainId=e,this.events.emit(zd.DEFAULT_CHAIN_CHANGED,{currentCaipChainId:`${this.name}:${e}`,previousCaipChainId:`${this.name}:${n}`})}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getNamespaceName(){const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return mn(e).namespace}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){var e,s;const n={};return(s=(e=this.namespace)==null?void 0:e.accounts)==null||s.forEach(r=>{var i,o;const a=mn(r),c=(o=(i=this.namespace)==null?void 0:i.rpcMap)==null?void 0:o[`${a.namespace}:${a.reference}`];n[a.reference]=this.createHttpProvider(r,c)}),n}getHttpProvider(e){const s=mn(e).reference,n=this.httpProviders[s];if(typeof n>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return n}setHttpProvider(e,s){const n=this.createHttpProvider(e,s);n&&(this.httpProviders[e]=n)}createHttpProvider(e,s){const n=s||Qm(e,this.namespace,this.client.core.projectId);if(!n)throw new Error(`No RPC url provided for chainId: ${e}`);return new gd(new Ef(n,oi("disableProviderPing")))}}var YP=Object.defineProperty,ZP=Object.defineProperties,JP=Object.getOwnPropertyDescriptors,Yp=Object.getOwnPropertySymbols,XP=Object.prototype.hasOwnProperty,QP=Object.prototype.propertyIsEnumerable,ld=(t,e,s)=>e in t?YP(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Oi=(t,e)=>{for(var s in e||(e={}))XP.call(e,s)&&ld(t,s,e[s]);if(Yp)for(var s of Yp(e))QP.call(e,s)&&ld(t,s,e[s]);return t},na=(t,e)=>ZP(t,JP(e)),ts=(t,e,s)=>ld(t,typeof e!="symbol"?e+"":e,s);let ex=class sy{constructor(e){ts(this,"client"),ts(this,"namespaces"),ts(this,"optionalNamespaces"),ts(this,"sessionProperties"),ts(this,"scopedProperties"),ts(this,"events",new fd),ts(this,"rpcProviders",{}),ts(this,"session"),ts(this,"providerOpts"),ts(this,"logger"),ts(this,"uri"),ts(this,"disableProviderPing",!1),ts(this,"connectParams");var s,n;this.providerOpts=e,this.logger=Fd({logger:(s=e.logger)!=null?s:Up,name:(n=this.providerOpts.name)!=null?n:Zm}),this.disableProviderPing=(e==null?void 0:e.disableProviderPing)||!1}static async init(e){const s=new sy(e);return await s.initialize(),s}async request(e,s,n){const[r,i]=this.validateChain(s);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(r).request({request:Oi({},e),chainId:`${r}:${i}`,topic:this.session.topic,expiry:n})}sendAsync(e,s,n,r){const i=new Date().getTime();this.request(e,n,r).then(o=>s(null,Gi(i,o))).catch(o=>s(o,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(e=this.session)==null?void 0:e.topic,reason:Ye("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw new Error("Sign Client not initialized");if(this.connectParams=e,this.setNamespaces(e),this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,s){if(!this.client)throw new Error("Sign Client not initialized");this.setNamespaces(e),await this.cleanupPendingPairings();const{uri:n,response:r}=await this.client.authenticate(e,s);n&&(this.uri=n,this.events.emit("display_uri",n));const i=await r();if(this.session=i.session,this.session){const o=jp(this.session.namespaces);this.namespaces=sa(this.namespaces,o),await this.persist("namespaces",this.namespaces),this.onConnect()}return i}on(e,s){this.events.on(e,s)}once(e,s){this.events.once(e,s)}removeListener(e,s){this.events.removeListener(e,s)}off(e,s){this.events.off(e,s)}get isWalletConnect(){return!0}async pair(e){var s,n;const{uri:r,approval:i}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties,authentication:(s=this.connectParams)==null?void 0:s.authentication,walletPay:(n=this.connectParams)==null?void 0:n.walletPay});r&&(this.uri=r,this.events.emit("display_uri",r));const o=await i();this.session=o;const a=jp(o.namespaces);return this.namespaces=sa(this.namespaces,a),await this.persist("namespaces",this.namespaces),await this.persist("optionalNamespaces",this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(e,s){try{if(!this.session)return;const[n,r]=this.validateChain(e);this.getProvider(n).setDefaultChain(r,s)}catch(n){if(!/Please call connect/.test(n.message))throw n}}async cleanupPendingPairings(e={}){try{this.logger.info("Cleaning up inactive pairings...");const s=this.client.pairing.getAll();if(!wn(s))return;for(const n of s)e.deletePairings?this.client.core.expirer.set(n.topic,0):await this.client.core.relayer.subscriber.unsubscribe(n.topic);this.logger.info(`Inactive pairings cleared: ${s.length}`)}catch(s){this.logger.warn(s,"Failed to cleanup pending pairings")}}abortPairingAttempt(){this.logger.warn("abortPairingAttempt is deprecated. This is now a no-op.")}async checkStorage(){this.namespaces=await this.getFromStore("namespaces")||{},this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.session&&this.createProviders()}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){var e,s;if(this.client=this.providerOpts.client||await PO.init({core:this.providerOpts.core,logger:this.providerOpts.logger||Up,relayUrl:this.providerOpts.relayUrl||iP,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.providerOpts.session)try{this.session=this.client.session.get(this.providerOpts.session.topic)}catch(n){throw this.logger.error(n,"Failed to get session"),new Error(`The provided session: ${(s=(e=this.providerOpts)==null?void 0:e.session)==null?void 0:s.topic} doesn't exist in the Sign client`)}else{const n=this.client.session.getAll();this.session=n[0]}this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const e=[...new Set(Object.keys(this.session.namespaces).map(s=>Xr(s)))];el("client",this.client),el("events",this.events),el("disableProviderPing",this.disableProviderPing),e.forEach(s=>{if(!this.session)return;const n=mP(s,this.session);if((n==null?void 0:n.length)===0)return;const r=ey(n),i=sa(this.namespaces,this.optionalNamespaces),o=na(Oi({},i[s]),{accounts:n,chains:r});switch(s){case"eip155":this.rpcProviders[s]=new VP({namespace:o});break;default:this.rpcProviders[s]=new GP({namespace:o})}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",e=>{var s;const{topic:n}=e;n===((s=this.session)==null?void 0:s.topic)&&this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{var s;const{params:n,topic:r}=e;if(r!==((s=this.session)==null?void 0:s.topic))return;const{event:i}=n;if(i.name==="accountsChanged"){const o=i.data;o&&wn(o)&&this.events.emit("accountsChanged",o.map(Bp))}else if(i.name==="chainChanged"){const o=n.chainId,a=n.event.data,c=Xr(o),l=Qc(o)!==Qc(a)?`${c}:${Qc(a)}`:o;this.onChainChanged({currentCaipChainId:l})}else this.events.emit(i.name,i.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:s})=>{var n,r;if(e!==((n=this.session)==null?void 0:n.topic))return;const{namespaces:i}=s,o=(r=this.client)==null?void 0:r.session.get(e);this.session=na(Oi({},o),{namespaces:i}),this.onSessionUpdate(),this.events.emit("session_update",{topic:e,params:s})}),this.client.on("session_delete",async e=>{var s;e.topic===((s=this.session)==null?void 0:s.topic)&&(await this.cleanup(),this.events.emit("session_delete",e),this.events.emit("disconnect",na(Oi({},Ye("USER_DISCONNECTED")),{data:e.topic})))}),this.on(zd.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(na(Oi({},e),{internal:!0}))})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[Xm]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var s;this.getProvider(e).updateNamespace((s=this.session)==null?void 0:s.namespaces[e])})}setNamespaces(e){const{namespaces:s={},optionalNamespaces:n={},sessionProperties:r,scopedProperties:i}=e;this.optionalNamespaces=sa(s,n),this.sessionProperties=r,this.scopedProperties=i}validateChain(e){const[s,n]=(e==null?void 0:e.split(":"))||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[s,n];if(s&&!Object.keys(this.namespaces||{}).map(o=>Xr(o)).includes(s))throw new Error(`Namespace '${s}' is not configured. Please call connect() first with namespace config.`);if(s&&n)return[s,n];const r=Xr(Object.keys(this.namespaces)[0]),i=this.rpcProviders[r].getDefaultChain();return[r,i]}async requestAccounts(){const[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged({currentCaipChainId:e,previousCaipChainId:s,internal:n=!1}){if(!this.namespaces)return;const[r,i]=this.validateChain(e);i&&(this.updateNamespaceChain(r,i),n?(this.events.emit("chainChanged",i),this.emitAccountsChangedOnChainChange({namespace:r,currentCaipChainId:e,previousCaipChainId:s})):this.getProvider(r).setDefaultChain(i),await this.persist("namespaces",this.namespaces))}emitAccountsChangedOnChainChange({namespace:e,currentCaipChainId:s,previousCaipChainId:n}){var r,i;try{if(n===s)return;const o=(i=(r=this.session)==null?void 0:r.namespaces[e])==null?void 0:i.accounts;if(!o)return;const a=o.filter(c=>c.includes(`${s}:`)).map(Bp);if(!wn(a))return;this.events.emit("accountsChanged",a)}catch(o){this.logger.warn(o,"Failed to emit accountsChanged on chain change")}}updateNamespaceChain(e,s){if(!this.namespaces)return;const n=this.namespaces[e]?e:`${e}:${s}`,r={chains:[],methods:[],events:[],defaultChain:s};this.namespaces[n]?this.namespaces[n]&&(this.namespaces[n].defaultChain=s):this.namespaces[n]=r}onConnect(){this.createProviders(),this.events.emit("connect",{session:this.session})}async cleanup(){this.connectParams=void 0,this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,await this.deleteFromStore("namespaces"),await this.deleteFromStore("optionalNamespaces"),await this.deleteFromStore("sessionProperties"),this.session=void 0,this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(e,s){var n;const r=((n=this.session)==null?void 0:n.topic)||"";await this.client.core.storage.setItem(`${ea}/${e}${r}`,s)}async getFromStore(e){var s;const n=((s=this.session)==null?void 0:s.topic)||"";return await this.client.core.storage.getItem(`${ea}/${e}${n}`)}async deleteFromStore(e){var s;const n=((s=this.session)==null?void 0:s.topic)||"";await this.client.core.storage.removeItem(`${ea}/${e}${n}`)}async cleanupStorage(){var e;try{if(((e=this.client)==null?void 0:e.session.length)>0)return;const s=await this.client.core.storage.getKeys();for(const n of s)n.startsWith(ea)&&await this.client.core.storage.removeItem(n)}catch(s){this.logger.warn(s,"Failed to cleanup storage")}}};const Zp=2147483648,tx={convertEVMChainIdToCoinType(t){if(t>=Zp)throw new Error("Invalid chainId");return(Zp|t)>>>0}},ps=Ke({suggestions:[],loading:!1}),sx={state:ps,subscribe(t){return wt(ps,()=>t(ps))},subscribeKey(t,e){return Et(ps,t,e)},async resolveName(t){var e,s;try{return await he.lookupEnsName(t)}catch(n){const r=n;throw new Error(((s=(e=r==null?void 0:r.reasons)==null?void 0:e[0])==null?void 0:s.description)||"Error resolving name")}},async isNameRegistered(t){try{return await he.lookupEnsName(t),!0}catch{return!1}},async getSuggestions(t){try{ps.loading=!0,ps.suggestions=[];const e=await he.getEnsNameSuggestions(t);return ps.suggestions=e.suggestions||[],ps.suggestions}catch(e){const s=Hi.parseEnsApiError(e,"Error fetching name suggestions");throw new Error(s)}finally{ps.loading=!1}},async getNamesForAddress(t){try{if(!w.state.activeCaipNetwork)return[];const s=M.getEnsFromCacheForAddress(t);if(s)return s;const n=await he.reverseLookupEnsName({address:t});return M.updateEnsCache({address:t,ens:n,timestamp:Date.now()}),n}catch(e){const s=Hi.parseEnsApiError(e,"Error fetching names for address");throw new Error(s)}},async registerName(t){var r;const e=w.state.activeCaipNetwork,s=(r=w.getAccountData(e==null?void 0:e.chainNamespace))==null?void 0:r.address,n=q.getAuthConnector();if(!e)throw new Error("Network not found");if(!s||!n)throw new Error("Address or auth connector not found");ps.loading=!0;try{const i=JSON.stringify({name:t,attributes:{},timestamp:Math.floor(Date.now()/1e3)});le.pushTransactionStack({onCancel(){le.replace("RegisterAccountName")}});const o=await K.signMessage(i);ps.loading=!1;const a=e.id;if(!a)throw new Error("Network not found");const c=tx.convertEVMChainIdToCoinType(Number(a));await he.registerEnsName({coinType:c,address:s,signature:o,message:i}),w.setAccountProp("profileName",t,e.chainNamespace),M.updateEnsCache({address:s,ens:[{name:t,registered_at:new Date().toISOString(),updated_at:void 0,addresses:{},attributes:[]}],timestamp:Date.now()}),le.replace("RegisterAccountNameSuccess")}catch(i){const o=Hi.parseEnsApiError(i,`Error registering name ${t}`);throw le.replace("RegisterAccountName"),new Error(o)}finally{ps.loading=!1}},validateName(t){return/^[a-zA-Z0-9-]{4,}$/u.test(t)},parseEnsApiError(t,e){var n,r;const s=t;return((r=(n=s==null?void 0:s.reasons)==null?void 0:n[0])==null?void 0:r.description)||e}},Hi=vs(sx);function dd(t){try{return new URL(t)}catch{return null}}function nx(t){const e=t.split("/"),s=e.length>0&&e[0]!==void 0?e[0]:"",n=s.lastIndexOf(":");return n===-1?{host:s}:{host:s.slice(0,n),port:s.slice(n+1)}}function rx(t){const e=t.indexOf("://");if(e===-1)return null;const s=t.slice(0,e),n=e+3;let r=t.indexOf("/",n);r===-1&&(r=t.length);const i=t.slice(n,r),o=i.lastIndexOf(":");return o===-1?{scheme:s,host:i}:{scheme:s,host:i.slice(0,o),port:i.slice(o+1)}}function ix(t,e){if(e.includes("://")){const o=dd(e);return o?o.origin===t:!1}const{host:s,port:n}=nx(e),r=t.indexOf("://");if(r!==-1){const o=r+3;let a=t.indexOf("/",o);a===-1&&(a=t.length);const c=t.slice(o,a);if(n!==void 0)return`${s}:${n}`===c;const l=c.split(":")[0];return s===l}const i=dd(t);return i?n!==void 0?s===i.hostname&&n===(i.port||void 0):s===i.hostname:!1}function ox(t,e,s){let n=s,r;const i=n.indexOf("://");i!==-1&&(r=n.slice(0,i),n=n.slice(i+3));const o=n.indexOf("/");o!==-1&&(n=n.slice(0,o));let a=n,c;const l=a.lastIndexOf(":");l!==-1&&(c=a.slice(l+1),a=a.slice(0,l));const d=a.split(".");for(const f of d)if(f.includes("*")&&f!=="*")return!1;const u=t.protocol.replace(/:$/u,"");if(r&&r!==u||c!==void 0&&c!=="*"&&c!==t.port)return!1;const h=rx(e),m=(h?h.host:t.hostname).split(".");if(d.length!==m.length)return!1;for(let f=d.length-1;f>=0;f-=1){const y=d[f],b=m[f];if(y!=="*"&&y!==b)return!1}return!0}const ax={ton:["ton_sendMessage","ton_signData"],solana:["solana_signMessage","solana_signTransaction","solana_requestAccounts","solana_getAccounts","solana_signAllTransactions","solana_signAndSendTransaction"],eip155:["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode","wallet_getCallsStatus","wallet_showCallsStatus","wallet_sendCalls","wallet_getCapabilities","wallet_grantPermissions","wallet_revokePermissions","wallet_getAssets"],bip122:["sendTransfer","signMessage","signPsbt","getAccountAddresses"]},Wn={RPC_ERROR_CODE:{USER_REJECTED:5e3,USER_REJECTED_METHODS:5002},getMethodsByChainNamespace(t){return ax[t]||[]},createDefaultNamespace(t){return{methods:this.getMethodsByChainNamespace(t),events:["accountsChanged","chainChanged"],chains:[],rpcMap:{}}},applyNamespaceOverrides(t,e){if(!e)return{...t};const s={...t},n=new Set;if(e.methods&&Object.keys(e.methods).forEach(r=>n.add(r)),e.chains&&Object.keys(e.chains).forEach(r=>n.add(r)),e.events&&Object.keys(e.events).forEach(r=>n.add(r)),e.rpcMap&&Object.keys(e.rpcMap).forEach(r=>{const[i]=r.split(":");i&&n.add(i)}),n.forEach(r=>{s[r]||(s[r]=this.createDefaultNamespace(r))}),e.methods&&Object.entries(e.methods).forEach(([r,i])=>{s[r]&&(s[r].methods=i)}),e.chains&&Object.entries(e.chains).forEach(([r,i])=>{s[r]&&(s[r].chains=i)}),e.events&&Object.entries(e.events).forEach(([r,i])=>{s[r]&&(s[r].events=i)}),e.rpcMap){const r=new Set;Object.entries(e.rpcMap).forEach(([i,o])=>{const[a,c]=i.split(":");!a||!c||!s[a]||(s[a].rpcMap||(s[a].rpcMap={}),r.has(a)||(s[a].rpcMap={},r.add(a)),s[a].rpcMap[c]=o)})}return s},createNamespaces(t,e){const s=t.reduce((n,r)=>{const{id:i,chainNamespace:o,rpcUrls:a}=r,c=a.default.http[0];n[o]||(n[o]=this.createDefaultNamespace(o));const l=`${o}:${i}`,d=n[o];switch(d.chains.push(l),l){case"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp":d.chains.push("solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ");break;case"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1":d.chains.push("solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K");break}return d!=null&&d.rpcMap&&c&&(d.rpcMap[i]=c),n},{});return this.applyNamespaceOverrides(s,e)},resolveReownName:async t=>{var n;const e=await Hi.resolveName(t);return((n=(e!=null&&e.addresses?Object.values(e.addresses):[])[0])==null?void 0:n.address)||!1},getChainsFromNamespaces(t={}){return Object.values(t).flatMap(e=>{const s=e.chains||[],n=e.accounts.map(r=>{const[i,o]=r.split(":");return`${i}:${o}`});return Array.from(new Set([...s,...n]))})},isSessionEventData(t){return typeof t=="object"&&t!==null&&"id"in t&&"topic"in t&&"params"in t&&typeof t.params=="object"&&t.params!==null&&"chainId"in t.params&&"event"in t.params&&typeof t.params.event=="object"&&t.params.event!==null},isUserRejectedRequestError(t){try{if(typeof t=="object"&&t!==null){const e=t,s=typeof e.code=="number",n=s&&e.code===Wn.RPC_ERROR_CODE.USER_REJECTED_METHODS,r=s&&e.code===Wn.RPC_ERROR_CODE.USER_REJECTED;return n||r}return!1}catch{return!1}},isOriginAllowed(t,e,s){const n=[...e,...s];if(e.length===0)return!0;const r=dd(t);if(!r)return n.some(i=>!i.includes("*")&&i===t);if(r.hostname==="localhost"||r.hostname==="127.0.0.1")return!0;for(const i of n)if(i.includes("*")){if(ox(r,t,i))return!0}else if(ix(t,i))return!0;return!1},listenWcProvider({universalProvider:t,namespace:e,onConnect:s,onDisconnect:n,onAccountsChanged:r,onChainChanged:i,onDisplayUri:o}){s&&t.on("connect",()=>{const a=Wn.getWalletConnectAccounts(t,e);s(a)}),n&&t.on("disconnect",()=>{n()}),r&&t.on("accountsChanged",a=>{var c,l,d,u,h;try{const p=((d=(l=(c=t.session)==null?void 0:c.namespaces)==null?void 0:l[e])==null?void 0:d.accounts)||[],m=(h=(u=t.rpcProviders)==null?void 0:u[e])==null?void 0:h.getDefaultChain(),f=a.map(y=>{const b=p.find(C=>C.includes(`${e}:${m}:${y}`));if(!b)return;const{chainId:S,chainNamespace:v}=ct.parseCaipAddress(b);return{address:y,chainId:S,chainNamespace:v}}).filter(y=>y!==void 0);f.length>0&&r(f)}catch(p){console.warn("Failed to parse accounts for namespace on accountsChanged event",e,a,p)}}),i&&t.on("chainChanged",a=>{i(a)}),o&&t.on("display_uri",a=>{o(a)})},getWalletConnectAccounts(t,e){var r,i,o,a;const s=new Set,n=(a=(o=(i=(r=t==null?void 0:t.session)==null?void 0:r.namespaces)==null?void 0:i[e])==null?void 0:o.accounts)==null?void 0:a.map(c=>ct.parseCaipAddress(c)).filter(({address:c})=>s.has(c.toLowerCase())?!1:(s.add(c.toLowerCase()),!0));return n&&n.length>0?n:[]}},cx=[U.CONNECTOR_ID.AUTH,U.CONNECTOR_ID.WALLET_CONNECT];class lx{constructor(e){this.availableConnectors=[],this.availableConnections=[],this.providerHandlers={},this.eventListeners=new Map,this.getCaipNetworks=s=>w.getCaipNetworks(s),this.getConnectorId=s=>q.getConnectorId(s),e&&this.construct(e)}construct(e){this.projectId=e.projectId,this.namespace=e.namespace,this.adapterType=e.adapterType}get connectors(){return this.availableConnectors}get connections(){return this.availableConnections}get networks(){return this.getCaipNetworks(this.namespace)}onAuthConnected({accounts:e,chainId:s}){const n=this.getCaipNetworks().filter(r=>r.chainNamespace===this.namespace).find(r=>r.id.toString()===(s==null?void 0:s.toString()));e&&n&&this.addConnection({connectorId:U.CONNECTOR_ID.AUTH,accounts:e,caipNetwork:n})}setAuthProvider(e){e.onConnect(this.onAuthConnected.bind(this)),e.onSocialConnected(this.onAuthConnected.bind(this)),this.addConnector({id:U.CONNECTOR_ID.AUTH,type:"AUTH",name:U.CONNECTOR_NAMES.AUTH,provider:e,imageId:void 0,chain:this.namespace,chains:[]})}addConnector(...e){const s=new Set;this.availableConnectors=[...e,...this.availableConnectors].filter(n=>s.has(n.id)?!1:(s.add(n.id),!0)),this.emit("connectors",this.availableConnectors)}addConnection(...e){const s=new Set;this.availableConnections=[...e,...this.availableConnections].filter(n=>s.has(n.connectorId.toLowerCase())?!1:(s.add(n.connectorId.toLowerCase()),!0)),this.emit("connections",this.availableConnections)}deleteConnection(e){this.availableConnections=this.availableConnections.filter(s=>s.connectorId.toLowerCase()!==e.toLowerCase()),this.emit("connections",this.availableConnections)}clearConnections(e=!1){this.availableConnections=[],e&&this.emit("connections",this.availableConnections)}setStatus(e,s){w.setAccountProp("status",e,s)}on(e,s){var n;this.eventListeners.has(e)||this.eventListeners.set(e,new Set),(n=this.eventListeners.get(e))==null||n.add(s)}off(e,s){const n=this.eventListeners.get(e);n&&n.delete(s)}removeAllEventListeners(){this.eventListeners.forEach(e=>{e.clear()})}emit(e,s){const n=this.eventListeners.get(e);n&&n.forEach(r=>r(s))}async connectWalletConnect(e){try{return{clientId:(await this.getWalletConnectConnector().connectWalletConnect()).clientId}}catch(s){throw Wn.isUserRejectedRequestError(s)?new _f(s):s}}async switchNetwork(e){var i;const{caipNetwork:s}=e,n=He.getProviderId(s.chainNamespace),r=He.getProvider(s.chainNamespace);if(!r)throw new Error("Provider not found");if(n==="WALLET_CONNECT"){r.setDefaultChain(s.caipNetworkId);return}if(n==="AUTH"){const o=(i=q.getAuthConnector())==null?void 0:i.provider;if(!o)throw new Error("Auth provider not found");const a=os(s.chainNamespace);await o.switchNetwork({chainId:s.caipNetworkId});const c=await o.getUser({chainId:s.caipNetworkId,preferredAccountType:a});this.emit("switchNetwork",c)}}getWalletConnectConnector(){const e=this.connectors.find(s=>s.id==="walletConnect");if(!e)throw new Error("WalletConnectConnector not found");return e}onConnect(e,s){if(e.length>0){const{address:n,chainId:r}=Z.getAccount(e[0]),i=this.getCaipNetworks().filter(a=>a.chainNamespace===this.namespace).find(a=>a.id.toString()===(r==null?void 0:r.toString())),o=this.connectors.find(a=>a.id===s);n&&(this.emit("accountChanged",{address:n,chainId:r,connector:o}),this.addConnection({connectorId:s,accounts:e.map(a=>{const{address:c}=Z.getAccount(a);return{address:c}}),caipNetwork:i}))}}onAccountsChanged(e,s,n=!0){var r,i;if(e.length>0){const{address:o}=Z.getAccount(e[0]),a=this.getConnection({connectorId:s,connections:this.connections,connectors:this.connectors});o&&((r=this.getConnectorId(U.CHAIN.EVM))==null?void 0:r.toLowerCase())===s.toLowerCase()&&this.emit("accountChanged",{address:o,chainId:(i=a==null?void 0:a.caipNetwork)==null?void 0:i.id,connector:a==null?void 0:a.connector}),this.addConnection({connectorId:s,accounts:e.map(c=>{const{address:l}=Z.getAccount(c);return{address:l}}),caipNetwork:a==null?void 0:a.caipNetwork})}else n&&this.onDisconnect(s)}onDisconnect(e){var s;this.removeProviderListeners(e),this.deleteConnection(e),((s=this.getConnectorId(U.CHAIN.EVM))==null?void 0:s.toLowerCase())===e.toLowerCase()&&this.emitFirstAvailableConnection(),this.connections.length===0&&this.emit("disconnect")}onChainChanged(e,s){var o;const n=typeof e=="string"&&e.startsWith("0x")?parseInt(e,16).toString():e.toString(),r=this.getConnection({connectorId:s,connections:this.connections,connectors:this.connectors}),i=this.getCaipNetworks().filter(a=>a.chainNamespace===this.namespace).find(a=>a.id.toString()===n);r&&this.addConnection({connectorId:s,accounts:r.accounts,caipNetwork:i}),((o=this.getConnectorId(U.CHAIN.EVM))==null?void 0:o.toLowerCase())===s.toLowerCase()&&this.emit("switchNetwork",{chainId:n})}listenProviderEvents(e,s){if(cx.includes(e))return;const n=o=>this.onAccountsChanged(o,e),r=o=>this.onChainChanged(o,e),i=()=>this.onDisconnect(e);this.providerHandlers[e]||(s.on("disconnect",i),s.on("accountsChanged",n),s.on("chainChanged",r),this.providerHandlers[e]={provider:s,disconnect:i,accountsChanged:n,chainChanged:r})}removeProviderListeners(e){if(this.providerHandlers[e]){const{provider:s,disconnect:n,accountsChanged:r,chainChanged:i}=this.providerHandlers[e];s.removeListener("disconnect",n),s.removeListener("accountsChanged",r),s.removeListener("chainChanged",i),this.providerHandlers[e]=null}}emitFirstAvailableConnection(){var s;const e=this.getConnection({connections:this.connections,connectors:this.connectors});if(e){const[n]=e.accounts;this.emit("accountChanged",{address:n==null?void 0:n.address,chainId:(s=e.caipNetwork)==null?void 0:s.id,connector:e.connector})}}getConnection({address:e,connectorId:s,connections:n,connectors:r}){if(s){const o=n.find(l=>l.connectorId.toLowerCase()===s.toLowerCase());if(!o)return null;const a=r.find(l=>l.id.toLowerCase()===o.connectorId.toLowerCase()),c=e?o.accounts.find(l=>l.address.toLowerCase()===e.toLowerCase()):o.accounts[0];return{...o,account:c,connector:a}}const i=n.find(o=>o.accounts.length>0&&r.some(a=>a.id.toLowerCase()===o.connectorId.toLowerCase()));if(i){const[o]=i.accounts,a=r.find(c=>c.id.toLowerCase()===i.connectorId.toLowerCase());return{...i,account:o,connector:a}}return null}}let ir=null;const Es={getSIWX(){return $.state.siwx},async initializeIfEnabled(t=w.getActiveCaipAddress()){var i,o,a;const e=$.state.siwx;if(!(e&&t))return;const[s,n,r]=t.split(":");if(w.checkIfSupportedNetwork(s,`${s}:${n}`))try{if((i=$.state.remoteFeatures)!=null&&i.emailCapture){const l=(o=w.getAccountData(s))==null?void 0:o.user;await Ne.open({view:"DataCapture",data:{email:(l==null?void 0:l.email)??void 0}});return}if(ir&&await ir,(await e.getSessions(`${s}:${n}`,r)).length)return;await Ne.open({view:"SIWXSignMessage"})}catch(c){console.error("SIWXUtil:initializeIfEnabled",c),we.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:this.getSIWXEventProperties(c)}),await((a=K._getClient())==null?void 0:a.disconnect().catch(console.error)),le.reset("Connect"),Ws.showError("A problem occurred while trying initialize authentication")}},async isAuthenticated(t=w.getActiveCaipAddress()){if(!$.state.siwx||!t)return!0;const{chainNamespace:s,chainId:n,address:r}=ct.parseCaipAddress(t),i=`${s}:${n}`;return(await Es.getSessions({address:r,caipNetworkId:i})).length>0},async requestSignMessage(){const t=$.state.siwx,e=Z.getPlainAddress(w.getActiveCaipAddress()),s=ki();if(!t)throw new Error("SIWX is not enabled");if(!e)throw new Error("No ActiveCaipAddress found");if(!s)throw new Error("No ActiveCaipNetwork or client found");try{const n=await t.createMessage({chainId:s.caipNetworkId,accountAddress:e}),r=n.toString();let i="";t.signMessage?i=await t.signMessage({message:r,chainId:s.caipNetworkId,accountAddress:e}):(q.getConnectorId(s.chainNamespace)===U.CONNECTOR_ID.AUTH&&le.pushTransactionStack({}),i=await K.signMessage(r)||""),await t.addSession({data:n,message:r,signature:i}),w.setLastConnectedSIWECaipNetwork(s),Ne.close(),we.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:this.getSIWXEventProperties()})}catch(n){(!Ne.state.open||le.state.view==="ApproveTransaction")&&await Ne.open({view:"SIWXSignMessage"}),Ws.showError("Error signing message"),we.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:this.getSIWXEventProperties(n)}),console.error("SWIXUtil:requestSignMessage",n)}},async cancelSignMessage(){var t;try{const e=this.getSIWX();if((t=e==null?void 0:e.getRequired)==null?void 0:t.call(e)){const n=w.getLastConnectedSIWECaipNetwork();if(n){const r=await(e==null?void 0:e.getSessions(n==null?void 0:n.caipNetworkId,Z.getPlainAddress(w.getActiveCaipAddress())||""));r&&r.length>0?await w.switchActiveNetwork(n):await K.disconnect()}else await K.disconnect()}else Ne.close();Ne.close(),we.sendEvent({event:"CLICK_CANCEL_SIWX",type:"track",properties:this.getSIWXEventProperties()})}catch(e){console.error("SIWXUtil:cancelSignMessage",e)}},async getAllSessions(){const t=this.getSIWX(),e=w.getAllRequestedCaipNetworks(),s=[];return await Promise.all(e.map(async n=>{const r=await(t==null?void 0:t.getSessions(n.caipNetworkId,Z.getPlainAddress(w.getActiveCaipAddress())||""));r&&s.push(...r)})),s},async getSessions(t){const e=$.state.siwx;let s=t==null?void 0:t.address;if(!s){const r=w.getActiveCaipAddress();s=Z.getPlainAddress(r)}let n=t==null?void 0:t.caipNetworkId;if(!n){const r=w.getActiveCaipNetwork();n=r==null?void 0:r.caipNetworkId}return e&&s&&n?e.getSessions(n,s):[]},async isSIWXCloseDisabled(){var e;const t=this.getSIWX();if(t){const s=le.state.view==="ApproveTransaction",n=le.state.view==="SIWXSignMessage";if(s||n)return((e=t.getRequired)==null?void 0:e.call(t))&&(await this.getSessions()).length===0}return!1},async authConnectorAuthenticate({authConnector:t,chainId:e,socialUri:s,preferredAccountType:n,chainNamespace:r}){var u;const i=Es.getSIWX(),o=ki();if(!i||!r.includes(U.CHAIN.EVM)||(u=$.state.remoteFeatures)!=null&&u.emailCapture){const h=await t.connect({chainId:e,socialUri:s,preferredAccountType:n});return{address:h.address,chainId:h.chainId,accounts:h.accounts}}const a=`${r}:${e}`,c=await i.createMessage({chainId:a,accountAddress:"<<AccountAddress>>"}),l={accountAddress:c.accountAddress,chainId:c.chainId,domain:c.domain,uri:c.uri,version:c.version,nonce:c.nonce,notBefore:c.notBefore,statement:c.statement,resources:c.resources,requestId:c.requestId,issuedAt:c.issuedAt,expirationTime:c.expirationTime,serializedMessage:c.toString()},d=await t.connect({chainId:e,socialUri:s,siwxMessage:l,preferredAccountType:n});return l.accountAddress=d.address,l.serializedMessage=d.message||"",d.signature&&d.message&&await Es.addEmbeddedWalletSession(l,d.message,d.signature),w.setLastConnectedSIWECaipNetwork(o),{address:d.address,chainId:d.chainId,accounts:d.accounts}},async addEmbeddedWalletSession(t,e,s){if(ir)return ir;const n=Es.getSIWX();return n?(ir=n.addSession({data:t,message:e,signature:s}).finally(()=>{ir=null}),ir):Promise.resolve()},async universalProviderAuthenticate({universalProvider:t,chains:e,methods:s}){var l,d,u;const n=Es.getSIWX(),r=ki(),i=new Set(e.map(h=>h.split(":")[0]));if(!n||i.size!==1||!i.has("eip155"))return!1;const o=await n.createMessage({chainId:((l=ki())==null?void 0:l.caipNetworkId)||"",accountAddress:""}),a=await t.authenticate({nonce:o.nonce,domain:o.domain,uri:o.uri,exp:o.expirationTime,iat:o.issuedAt,nbf:o.notBefore,requestId:o.requestId,version:o.version,resources:o.resources,statement:o.statement,chainId:o.chainId,methods:s,chains:[o.chainId,...e.filter(h=>h!==o.chainId)]});Ws.showLoading("Authenticating...",{autoClose:!1});const c={...a.session.peer.metadata,name:a.session.peer.metadata.name,icon:(d=a.session.peer.metadata.icons)==null?void 0:d[0],type:"WALLET_CONNECT"};if(w.setAccountProp("connectedWalletInfo",c,Array.from(i)[0]),(u=a==null?void 0:a.auths)!=null&&u.length){const h=a.auths.map(p=>{const m=t.client.formatAuthMessage({request:p.p,iss:p.p.iss});return{data:{...p.p,accountAddress:p.p.iss.split(":").slice(-1).join(""),chainId:p.p.iss.split(":").slice(2,4).join(":"),uri:p.p.aud??"",version:p.p.version||o.version,expirationTime:p.p.exp,issuedAt:p.p.iat,notBefore:p.p.nbf},message:m,signature:p.s.s,cacao:p}});try{await n.setSessions(h),r&&w.setLastConnectedSIWECaipNetwork(r),we.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:Es.getSIWXEventProperties()})}catch(p){throw console.error("SIWX:universalProviderAuth - failed to set sessions",p),we.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:Es.getSIWXEventProperties(p)}),await t.disconnect().catch(console.error),p}finally{Ws.hide()}}return!0},getSIWXEventProperties(t){var s;const e=w.state.activeChain;if(!e)throw new Error("SIWXUtil:getSIWXEventProperties - namespace is required");return{network:((s=w.state.activeCaipNetwork)==null?void 0:s.caipNetworkId)||"",isSmartAccount:os(e)===et.ACCOUNT_TYPES.SMART_ACCOUNT,message:t?Z.parseError(t):void 0}},async clearSessions(){const t=this.getSIWX();t&&await t.setSessions([])}};class dx{constructor({provider:e,namespace:s}){this.id=U.CONNECTOR_ID.WALLET_CONNECT,this.name="WalletConnect",this.type="WALLET_CONNECT",this.imageId="ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400",this.getCaipNetworks=w.getCaipNetworks.bind(w),this.caipNetworks=this.getCaipNetworks(),this.provider=e,this.chain=s}get chains(){return this.getCaipNetworks()}async connectWalletConnect(){if(!await this.authenticate()){const s=this.getCaipNetworks(),n=$.state.universalProviderConfigOverride,r=Wn.createNamespaces(s,n);await this.provider.connect({optionalNamespaces:r})}return{clientId:await this.provider.client.core.crypto.getClientId(),session:this.provider.session}}async disconnect(){await this.provider.disconnect()}async authenticate(){const e=this.chains.map(s=>s.caipNetworkId);return Es.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:ux})}}const ux=["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode","wallet_getCallsStatus","wallet_sendCalls","wallet_getCapabilities","wallet_grantPermissions","wallet_revokePermissions","wallet_getAssets"],Ss=Ke({message:"",variant:"info",open:!1}),hx={state:Ss,subscribeKey(t,e){return Et(Ss,t,e)},open(t,e){const{debug:s}=$.state,{code:n,displayMessage:r,debugMessage:i}=t;r&&s&&(Ss.message=r,Ss.variant=e,Ss.open=!0),i&&console.error(typeof i=="function"?i():i,n?{code:n}:void 0)},warn(t,e,s){Ss.open=!0,Ss.message=t,Ss.variant="warning",e&&console.warn(e,s)},close(){Ss.open=!1,Ss.message="",Ss.variant="info"}},St=vs(hx),px={eip155:{native:{assetNamespace:"slip44",assetReference:"60"},defaultTokenNamespace:"erc20"},solana:{native:{assetNamespace:"slip44",assetReference:"501"},defaultTokenNamespace:"token"}};class fx extends Error{}function gx(){const{sdkType:t,sdkVersion:e,projectId:s}=$.getSnapshot(),n=new URL("https://rpc.walletconnect.org/v1/json-rpc");return n.searchParams.set("projectId",s),n.searchParams.set("st",t),n.searchParams.set("sv",e),n.searchParams.set("source","fund-wallet"),n.toString()}async function Gd(t,e){const s=gx(),{projectId:n}=$.getSnapshot(),r={jsonrpc:"2.0",id:1,method:t,params:{...e||{},projectId:n}},o=await(await fetch(s,{method:"POST",body:JSON.stringify(r),headers:{"Content-Type":"application/json"}})).json();if(o.error)throw new fx(o.error.message);return o}async function zk(t){return(await Gd("reown_getExchanges",t)).result}async function Kk(t){return(await Gd("reown_getExchangePayUrl",t)).result}async function Gk(t){return(await Gd("reown_getExchangeBuyStatus",t)).result}function Yk(t,e){const{chainNamespace:s,chainId:n}=ct.parseCaipNetworkId(t),r=px[s];if(!r)throw new Error(`Unsupported chain namespace for CAIP-19 formatting: ${s}`);let i=r.native.assetNamespace,o=r.native.assetReference;return e!=="native"&&(i=r.defaultTokenNamespace,o=e),`${`${s}:${n}`}/${i}:${o}`}const mx={network:"eip155:1",asset:"native",metadata:{name:"Ethereum",symbol:"ETH",decimals:18}},yx={network:"eip155:8453",asset:"native",metadata:{name:"Ethereum",symbol:"ETH",decimals:18}},ny={network:"eip155:8453",asset:"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},wx={asset:"0x036CbD53842c5426634e7929541eC2318f3dCF7e"},Ex={network:"eip155:84532",asset:"native",metadata:{name:"Ethereum",symbol:"ETH",decimals:18}},bx={network:"eip155:1",asset:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},Cx={network:"eip155:42161",asset:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},vx={network:"eip155:137",asset:"0x2791bca1f2de4661ed88a30c99a7a9449aa84174",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},_x={network:"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",asset:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},Ax={network:"eip155:1",asset:"0xdAC17F958D2ee523a2206206994597C13D831ec7",metadata:{name:"Tether USD",symbol:"USDT",decimals:6}},Sx={network:"eip155:10",asset:"0x94b008aA00579c1307B0EF2c499aD98a8ce58e58",metadata:{name:"Tether USD",symbol:"USDT",decimals:6}},Ix={network:"eip155:42161",asset:"0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",metadata:{name:"Tether USD",symbol:"USDT",decimals:6}},Nx={network:"eip155:137",asset:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f",metadata:{name:"Tether USD",symbol:"USDT",decimals:6}},Tx={network:"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",asset:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",metadata:{name:"Tether USD",symbol:"USDT",decimals:6}},Rx={network:"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",asset:"native",metadata:{name:"Solana",symbol:"SOL",decimals:9}},Ox={ethereumETH:mx,baseETH:yx,baseUSDC:ny,baseSepoliaETH:Ex,ethereumUSDC:bx,arbitrumUSDC:Cx,polygonUSDC:vx,solanaUSDC:_x,ethereumUSDT:Ax,optimismUSDT:Sx,arbitrumUSDT:Ix,polygonUSDT:Nx,solanaUSDT:Tx,solanaSOL:Rx};function Zk(t){return Object.values(Ox).filter(e=>e.network===t)}const Rs={getConnectorsByType(t,e,s){const{customWallets:n}=$.state,r=M.getRecentWallets(),i=Fn.filterOutDuplicateWallets(e),o=Fn.filterOutDuplicateWallets(s),a=t.filter(u=>u.type==="MULTI_CHAIN"),c=t.filter(u=>u.type==="ANNOUNCED"),l=t.filter(u=>u.type==="INJECTED"),d=t.filter(u=>u.type==="EXTERNAL");return{custom:n,recent:r,external:d,multiChain:a,announced:c,injected:l,recommended:i,featured:o}},showConnector(t){var r;const e=(r=t.info)==null?void 0:r.rdns,s=!!e&&Q.state.excludedWallets.some(i=>!!i.rdns&&i.rdns===e),n=!!t.name&&Q.state.excludedWallets.some(i=>bf.isLowerCaseMatch(i.name,t.name));return!(t.type==="INJECTED"&&(t.name==="Browser Wallet"&&(!Z.isMobile()||Z.isMobile()&&!e&&!K.checkInstalled())||s||n)||(t.type==="ANNOUNCED"||t.type==="EXTERNAL")&&(s||n))},getIsConnectedWithWC(){return Array.from(w.state.chains.values()).some(s=>q.getConnectorId(s.namespace)===U.CONNECTOR_ID.WALLET_CONNECT)},getConnectorTypeOrder({recommended:t,featured:e,custom:s,recent:n,announced:r,injected:i,multiChain:o,external:a,overriddenConnectors:c=(l=>(l=$.state.features)==null?void 0:l.connectorTypeOrder)()??[]}){const u=[{type:"walletConnect",isEnabled:!0},{type:"recent",isEnabled:n.length>0},{type:"injected",isEnabled:[...i,...r,...o].length>0},{type:"featured",isEnabled:e.length>0},{type:"custom",isEnabled:s&&s.length>0},{type:"external",isEnabled:a.length>0},{type:"recommended",isEnabled:t.length>0}].filter(f=>f.isEnabled),h=new Set(u.map(f=>f.type)),p=c.filter(f=>h.has(f)).map(f=>({type:f,isEnabled:!0})),m=u.filter(({type:f})=>!p.some(({type:b})=>b===f));return Array.from(new Set([...p,...m].map(({type:f})=>f)))},sortConnectorsByExplorerWallet(t){return[...t].sort((e,s)=>e.explorerWallet&&s.explorerWallet?(e.explorerWallet.order??0)-(s.explorerWallet.order??0):e.explorerWallet?-1:s.explorerWallet?1:0)},getAuthName({email:t,socialUsername:e,socialProvider:s}){return e?s&&s==="discord"&&e.endsWith("0")?e.slice(0,-1):e:t.length>30?`${t.slice(0,-3)}...`:t},async fetchProviderData(t){var e,s;try{if(t.name==="Browser Wallet"&&!Z.isMobile())return{accounts:[],chainId:void 0};if(t.id===U.CONNECTOR_ID.AUTH)return{accounts:[],chainId:void 0};const[n,r]=await Promise.all([(e=t.provider)==null?void 0:e.request({method:"eth_accounts"}),(s=t.provider)==null?void 0:s.request({method:"eth_chainId"}).then(i=>Number(i))]);return{accounts:n,chainId:r}}catch(n){return console.warn(`Failed to fetch provider data for ${t.name}`,n),{accounts:[],chainId:void 0}}},getFilteredCustomWallets(t){const e=M.getRecentWallets(),s=q.state.connectors.map(o=>{var a;return(a=o.info)==null?void 0:a.rdns}).filter(Boolean),n=e.map(o=>o.rdns).filter(Boolean),r=s.concat(n);if(r.includes("io.metamask.mobile")&&Z.isMobile()){const o=r.indexOf("io.metamask.mobile");r[o]="io.metamask"}return t.filter(o=>!r.includes(String(o==null?void 0:o.rdns)))},hasWalletConnector(t){return q.state.connectors.some(e=>e.id===t.id||e.name===t.name)},isWalletCompatibleWithCurrentChain(t){const e=w.state.activeChain;return e&&t.chains?t.chains.some(s=>{const n=s.split(":")[0];return e===n}):!0},getFilteredRecentWallets(){return M.getRecentWallets().filter(s=>!Fn.isExcluded(s)).filter(s=>!this.hasWalletConnector(s)).filter(s=>this.isWalletCompatibleWithCurrentChain(s))},getCappedRecommendedWallets(t){const{connectors:e}=q.state,{customWallets:s,featuredWalletIds:n}=$.state,r=e.find(S=>S.id==="walletConnect"),i=e.filter(S=>S.type==="INJECTED"||S.type==="ANNOUNCED"||S.type==="MULTI_CHAIN");if(!r&&!i.length&&!(s!=null&&s.length))return[];const o=Al.isEmailEnabled(),a=Al.isSocialsEnabled(),c=i.filter(S=>S.name!=="Browser Wallet"&&S.name!=="WalletConnect"),l=(n==null?void 0:n.length)||0,d=(s==null?void 0:s.length)||0,u=c.length||0,h=o?1:0,p=a?1:0,m=l+d+u+h+p,y=Math.max(0,4-m);return y<=0?[]:Fn.filterOutDuplicateWallets(t).slice(0,y)},processConnectorsByType(t,e=!0){const s=Rs.sortConnectorsByExplorerWallet([...t]);return e?s.filter(Rs.showConnector):s},connectorList(){const t=Rs.getConnectorsByType(q.state.connectors,Q.state.recommended,Q.state.featured),e=this.processConnectorsByType(t.announced.filter(p=>p.id!=="walletConnect")),s=this.processConnectorsByType(t.injected),n=this.processConnectorsByType(t.multiChain.filter(p=>p.name!=="WalletConnect"),!1),r=t.custom,i=t.recent,o=this.processConnectorsByType(t.external.filter(p=>p.id!==U.CONNECTOR_ID.COINBASE_SDK&&p.id!==U.CONNECTOR_ID.BASE_ACCOUNT)),a=t.recommended,c=t.featured,l=Rs.getConnectorTypeOrder({custom:r,recent:i,announced:e,injected:s,multiChain:n,recommended:a,featured:c,external:o}),d=q.state.connectors.find(p=>p.id==="walletConnect"),u=Z.isMobile(),h=[];for(const p of l)switch(p){case"walletConnect":{!u&&d&&h.push({kind:"connector",subtype:"walletConnect",connector:d});break}case"recent":{Rs.getFilteredRecentWallets().forEach(f=>h.push({kind:"wallet",subtype:"recent",wallet:f}));break}case"injected":{n.forEach(m=>h.push({kind:"connector",subtype:"multiChain",connector:m})),e.forEach(m=>h.push({kind:"connector",subtype:"announced",connector:m})),s.forEach(m=>h.push({kind:"connector",subtype:"injected",connector:m}));break}case"featured":{c.forEach(m=>h.push({kind:"wallet",subtype:"featured",wallet:m}));break}case"custom":{Rs.getFilteredCustomWallets(r??[]).forEach(f=>h.push({kind:"wallet",subtype:"custom",wallet:f}));break}case"external":{o.forEach(m=>h.push({kind:"connector",subtype:"external",connector:m}));break}case"recommended":{Rs.getCappedRecommendedWallets(a).forEach(f=>h.push({kind:"wallet",subtype:"recommended",wallet:f}));break}default:console.warn(`Unknown connector type: ${p}`)}return h},hasInjectedConnectors(){return q.state.connectors.filter(t=>(t.type==="INJECTED"||t.type==="ANNOUNCED"||t.type==="MULTI_CHAIN")&&t.name!=="Browser Wallet"&&t.name!=="WalletConnect").length}},Fn={filterOutDuplicatesByRDNS(t){const e=$.state.enableEIP6963?q.state.connectors:[],s=M.getRecentWallets(),n=e.map(a=>{var c;return(c=a.info)==null?void 0:c.rdns}).filter(Boolean),r=s.map(a=>a.rdns).filter(Boolean),i=n.concat(r);if(i.includes("io.metamask.mobile")&&Z.isMobile()){const a=i.indexOf("io.metamask.mobile");i[a]="io.metamask"}return t.filter(a=>!(a!=null&&a.rdns&&i.includes(String(a.rdns))||!(a!=null&&a.rdns)&&e.some(l=>l.name===a.name)))},filterOutDuplicatesByIds(t){const e=q.state.connectors.filter(a=>a.type==="ANNOUNCED"||a.type==="INJECTED"||a.type==="MULTI_CHAIN"),s=M.getRecentWallets(),n=e.map(a=>{var c;return a.explorerId||((c=a.explorerWallet)==null?void 0:c.id)||a.id}),r=s.map(a=>a.id),i=n.concat(r);return t.filter(a=>!i.includes(a==null?void 0:a.id))},filterOutDuplicateWallets(t){const e=this.filterOutDuplicatesByRDNS(t);return this.filterOutDuplicatesByIds(e)},markWalletsAsInstalled(t){const{connectors:e}=q.state,{featuredWalletIds:s}=$.state,n=e.filter(o=>o.type==="ANNOUNCED").reduce((o,a)=>{var c;return(c=a.info)!=null&&c.rdns&&(o[a.info.rdns]=!0),o},{});return t.map(o=>({...o,installed:!!o.rdns&&!!n[o.rdns??""]})).sort((o,a)=>{const c=Number(a.installed)-Number(o.installed);if(c!==0)return c;if(s!=null&&s.length){const l=s.indexOf(o.id),d=s.indexOf(a.id);if(l!==-1&&d!==-1)return l-d;if(l!==-1)return-1;if(d!==-1)return 1}return 0})},getConnectOrderMethod(t,e){var c;const s=(t==null?void 0:t.connectMethodsOrder)||((c=$.state.features)==null?void 0:c.connectMethodsOrder),n=e||q.state.connectors;if(s)return s;const{injected:r,announced:i}=Rs.getConnectorsByType(n,Q.state.recommended,Q.state.featured),o=r.filter(Rs.showConnector),a=i.filter(Rs.showConnector);return o.length||a.length?["wallet","email","social"]:Ie.DEFAULT_CONNECT_METHOD_ORDER},isExcluded(t){const e=!!t.rdns&&Q.state.excludedWallets.some(n=>n.rdns===t.rdns),s=!!t.name&&Q.state.excludedWallets.some(n=>bf.isLowerCaseMatch(n.name,t.name));return e||s},markWalletsWithDisplayIndex(t){return t.map((e,s)=>({...e,display_index:s}))},filterWalletsByWcSupport(t){return K.state.wcBasic?t.filter(e=>e.supports_wc):Z.isMobile()?t.filter(e=>e.supports_wc||Ie.MANDATORY_WALLET_IDS_ON_MOBILE.includes(e.id)):t},getWalletConnectWallets(t){var i;const e=[...Q.state.featured,...Q.state.recommended];((i=Q.state.filteredWallets)==null?void 0:i.length)>0?e.push(...Q.state.filteredWallets):e.push(...t);const s=Z.uniqueBy(e,"id"),n=Fn.markWalletsAsInstalled(s),r=Fn.filterWalletsByWcSupport(n);return Fn.markWalletsWithDisplayIndex(r)}},Ut={METMASK_CONNECTOR_NAME:"MetaMask",TRUST_CONNECTOR_NAME:"Trust Wallet",SOLFLARE_CONNECTOR_NAME:"Solflare",PHANTOM_CONNECTOR_NAME:"Phantom",COIN98_CONNECTOR_NAME:"Coin98",MAGIC_EDEN_CONNECTOR_NAME:"Magic Eden",BACKPACK_CONNECTOR_NAME:"Backpack",BITGET_CONNECTOR_NAME:"Bitget Wallet",FRONTIER_CONNECTOR_NAME:"Frontier",XVERSE_CONNECTOR_NAME:"Xverse Wallet",LEATHER_CONNECTOR_NAME:"Leather",OKX_CONNECTOR_NAME:"OKX Wallet",BINANCE_CONNECTOR_NAME:"Binance Wallet",EIP155:U.CHAIN.EVM,ADD_CHAIN_METHOD:"wallet_addEthereumChain",EIP6963_ANNOUNCE_EVENT:"eip6963:announceProvider",EIP6963_REQUEST_EVENT:"eip6963:requestProvider",CONNECTOR_RDNS_MAP:{coinbaseWallet:"com.coinbase.wallet",coinbaseWalletSDK:"com.coinbase.wallet"},CONNECTOR_TYPE_EXTERNAL:"EXTERNAL",CONNECTOR_TYPE_WALLET_CONNECT:"WALLET_CONNECT",CONNECTOR_TYPE_INJECTED:"INJECTED",CONNECTOR_TYPE_ANNOUNCED:"ANNOUNCED",CONNECTOR_TYPE_AUTH:"AUTH",CONNECTOR_TYPE_MULTI_CHAIN:"MULTI_CHAIN",CONNECTOR_TYPE_W3M_AUTH:"AUTH",getSDKVersionWarningMessage(t,e){return`
15
15
  @@@@@@@ @@@@@@@@@@@@@@@@@@
16
16
  @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@
17
17
  @@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@
@@ -45,7 +45,7 @@ NPM Registry: https://www.npmjs.com/package/@reown/appkit`}},Px={NetworkImageIds
45
45
  * SPDX-License-Identifier: BSD-3-Clause
46
46
  */const Ki=globalThis,sf=t=>t,qa=Ki.trustedTypes,nf=qa?qa.createPolicy("lit-html",{createHTML:t=>t}):void 0,ay="$lit$",Bn=`lit$${Math.random().toFixed(9).slice(2)}$`,cy="?"+Bn,Wx=`<${cy}>`,Or=document,Eo=()=>Or.createComment(""),bo=t=>t===null||typeof t!="object"&&typeof t!="function",Jd=Array.isArray,Hx=t=>Jd(t)||typeof(t==null?void 0:t[Symbol.iterator])=="function",al=`[
47
47
  \f\r]`,Pi=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,rf=/-->/g,of=/>/g,or=RegExp(`>|${al}(?:([^\\s"'>=/]+)(${al}*=${al}*(?:[^
48
- \f\r"'\`<>=]|("|')|))|$)`,"g"),af=/'/g,cf=/"/g,ly=/^(?:script|style|textarea|title)$/i,dy=t=>(e,...s)=>({_$litType$:t,strings:e,values:s}),Zk=dy(1),Jk=dy(2),fi=Symbol.for("lit-noChange"),pt=Symbol.for("lit-nothing"),lf=new WeakMap,wr=Or.createTreeWalker(Or,129);function uy(t,e){if(!Jd(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return nf!==void 0?nf.createHTML(e):e}const Vx=(t,e)=>{const s=t.length-1,n=[];let r,i=e===2?"<svg>":e===3?"<math>":"",o=Pi;for(let a=0;a<s;a++){const c=t[a];let l,d,u=-1,h=0;for(;h<c.length&&(o.lastIndex=h,d=o.exec(c),d!==null);)h=o.lastIndex,o===Pi?d[1]==="!--"?o=rf:d[1]!==void 0?o=of:d[2]!==void 0?(ly.test(d[2])&&(r=RegExp("</"+d[2],"g")),o=or):d[3]!==void 0&&(o=or):o===or?d[0]===">"?(o=r??Pi,u=-1):d[1]===void 0?u=-2:(u=o.lastIndex-d[2].length,l=d[1],o=d[3]===void 0?or:d[3]==='"'?cf:af):o===cf||o===af?o=or:o===rf||o===of?o=Pi:(o=or,r=void 0);const p=o===or&&t[a+1].startsWith("/>")?" ":"";i+=o===Pi?c+Wx:u>=0?(n.push(l),c.slice(0,u)+ay+c.slice(u)+Bn+p):c+Bn+(u===-2?a:p)}return[uy(t,i+(t[s]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),n]};class Co{constructor({strings:e,_$litType$:s},n){let r;this.parts=[];let i=0,o=0;const a=e.length-1,c=this.parts,[l,d]=Vx(e,s);if(this.el=Co.createElement(l,n),wr.currentNode=this.el.content,s===2||s===3){const u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(r=wr.nextNode())!==null&&c.length<a;){if(r.nodeType===1){if(r.hasAttributes())for(const u of r.getAttributeNames())if(u.endsWith(ay)){const h=d[o++],p=r.getAttribute(u).split(Bn),m=/([.?@])?(.*)/.exec(h);c.push({type:1,index:i,name:m[2],strings:p,ctor:m[1]==="."?Kx:m[1]==="?"?Gx:m[1]==="@"?Yx:hc}),r.removeAttribute(u)}else u.startsWith(Bn)&&(c.push({type:6,index:i}),r.removeAttribute(u));if(ly.test(r.tagName)){const u=r.textContent.split(Bn),h=u.length-1;if(h>0){r.textContent=qa?qa.emptyScript:"";for(let p=0;p<h;p++)r.append(u[p],Eo()),wr.nextNode(),c.push({type:2,index:++i});r.append(u[h],Eo())}}}else if(r.nodeType===8)if(r.data===cy)c.push({type:2,index:i});else{let u=-1;for(;(u=r.data.indexOf(Bn,u+1))!==-1;)c.push({type:7,index:i}),u+=Bn.length-1}i++}}static createElement(e,s){const n=Or.createElement("template");return n.innerHTML=e,n}}function gi(t,e,s=t,n){var o,a;if(e===fi)return e;let r=n!==void 0?(o=s._$Co)==null?void 0:o[n]:s._$Cl;const i=bo(e)?void 0:e._$litDirective$;return(r==null?void 0:r.constructor)!==i&&((a=r==null?void 0:r._$AO)==null||a.call(r,!1),i===void 0?r=void 0:(r=new i(t),r._$AT(t,s,n)),n!==void 0?(s._$Co??(s._$Co=[]))[n]=r:s._$Cl=r),r!==void 0&&(e=gi(t,r._$AS(t,e.values),r,n)),e}class zx{constructor(e,s){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=s}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:s},parts:n}=this._$AD,r=((e==null?void 0:e.creationScope)??Or).importNode(s,!0);wr.currentNode=r;let i=wr.nextNode(),o=0,a=0,c=n[0];for(;c!==void 0;){if(o===c.index){let l;c.type===2?l=new Uo(i,i.nextSibling,this,e):c.type===1?l=new c.ctor(i,c.name,c.strings,this,e):c.type===6&&(l=new Zx(i,this,e)),this._$AV.push(l),c=n[++a]}o!==(c==null?void 0:c.index)&&(i=wr.nextNode(),o++)}return wr.currentNode=Or,r}p(e){let s=0;for(const n of this._$AV)n!==void 0&&(n.strings!==void 0?(n._$AI(e,n,s),s+=n.strings.length-2):n._$AI(e[s])),s++}}class Uo{get _$AU(){var e;return((e=this._$AM)==null?void 0:e._$AU)??this._$Cv}constructor(e,s,n,r){this.type=2,this._$AH=pt,this._$AN=void 0,this._$AA=e,this._$AB=s,this._$AM=n,this.options=r,this._$Cv=(r==null?void 0:r.isConnected)??!0}get parentNode(){let e=this._$AA.parentNode;const s=this._$AM;return s!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=s.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,s=this){e=gi(this,e,s),bo(e)?e===pt||e==null||e===""?(this._$AH!==pt&&this._$AR(),this._$AH=pt):e!==this._$AH&&e!==fi&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Hx(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==pt&&bo(this._$AH)?this._$AA.nextSibling.data=e:this.T(Or.createTextNode(e)),this._$AH=e}$(e){var i;const{values:s,_$litType$:n}=e,r=typeof n=="number"?this._$AC(e):(n.el===void 0&&(n.el=Co.createElement(uy(n.h,n.h[0]),this.options)),n);if(((i=this._$AH)==null?void 0:i._$AD)===r)this._$AH.p(s);else{const o=new zx(r,this),a=o.u(this.options);o.p(s),this.T(a),this._$AH=o}}_$AC(e){let s=lf.get(e.strings);return s===void 0&&lf.set(e.strings,s=new Co(e)),s}k(e){Jd(this._$AH)||(this._$AH=[],this._$AR());const s=this._$AH;let n,r=0;for(const i of e)r===s.length?s.push(n=new Uo(this.O(Eo()),this.O(Eo()),this,this.options)):n=s[r],n._$AI(i),r++;r<s.length&&(this._$AR(n&&n._$AB.nextSibling,r),s.length=r)}_$AR(e=this._$AA.nextSibling,s){var n;for((n=this._$AP)==null?void 0:n.call(this,!1,!0,s);e!==this._$AB;){const r=sf(e).nextSibling;sf(e).remove(),e=r}}setConnected(e){var s;this._$AM===void 0&&(this._$Cv=e,(s=this._$AP)==null||s.call(this,e))}}class hc{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,s,n,r,i){this.type=1,this._$AH=pt,this._$AN=void 0,this.element=e,this.name=s,this._$AM=r,this.options=i,n.length>2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=pt}_$AI(e,s=this,n,r){const i=this.strings;let o=!1;if(i===void 0)e=gi(this,e,s,0),o=!bo(e)||e!==this._$AH&&e!==fi,o&&(this._$AH=e);else{const a=e;let c,l;for(e=i[0],c=0;c<i.length-1;c++)l=gi(this,a[n+c],s,c),l===fi&&(l=this._$AH[c]),o||(o=!bo(l)||l!==this._$AH[c]),l===pt?e=pt:e!==pt&&(e+=(l??"")+i[c+1]),this._$AH[c]=l}o&&!r&&this.j(e)}j(e){e===pt?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class Kx extends hc{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===pt?void 0:e}}class Gx extends hc{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==pt)}}class Yx extends hc{constructor(e,s,n,r,i){super(e,s,n,r,i),this.type=5}_$AI(e,s=this){if((e=gi(this,e,s,0)??pt)===fi)return;const n=this._$AH,r=e===pt&&n!==pt||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,i=e!==pt&&(n===pt||r);r&&this.element.removeEventListener(this.name,this,n),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var s;typeof this._$AH=="function"?this._$AH.call(((s=this.options)==null?void 0:s.host)??this.element,e):this._$AH.handleEvent(e)}}class Zx{constructor(e,s,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=s,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){gi(this,e)}}const cl=Ki.litHtmlPolyfillSupport;cl==null||cl(Co,Uo),(Ki.litHtmlVersions??(Ki.litHtmlVersions=[])).push("3.3.2");const Jx=(t,e,s)=>{const n=(s==null?void 0:s.renderBefore)??e;let r=n._$litPart$;if(r===void 0){const i=(s==null?void 0:s.renderBefore)??null;n._$litPart$=r=new Uo(e.insertBefore(Eo(),i),i,void 0,s??{})}return r._$AI(t),r};/**
48
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),af=/'/g,cf=/"/g,ly=/^(?:script|style|textarea|title)$/i,dy=t=>(e,...s)=>({_$litType$:t,strings:e,values:s}),Qk=dy(1),e2=dy(2),fi=Symbol.for("lit-noChange"),pt=Symbol.for("lit-nothing"),lf=new WeakMap,wr=Or.createTreeWalker(Or,129);function uy(t,e){if(!Jd(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return nf!==void 0?nf.createHTML(e):e}const Vx=(t,e)=>{const s=t.length-1,n=[];let r,i=e===2?"<svg>":e===3?"<math>":"",o=Pi;for(let a=0;a<s;a++){const c=t[a];let l,d,u=-1,h=0;for(;h<c.length&&(o.lastIndex=h,d=o.exec(c),d!==null);)h=o.lastIndex,o===Pi?d[1]==="!--"?o=rf:d[1]!==void 0?o=of:d[2]!==void 0?(ly.test(d[2])&&(r=RegExp("</"+d[2],"g")),o=or):d[3]!==void 0&&(o=or):o===or?d[0]===">"?(o=r??Pi,u=-1):d[1]===void 0?u=-2:(u=o.lastIndex-d[2].length,l=d[1],o=d[3]===void 0?or:d[3]==='"'?cf:af):o===cf||o===af?o=or:o===rf||o===of?o=Pi:(o=or,r=void 0);const p=o===or&&t[a+1].startsWith("/>")?" ":"";i+=o===Pi?c+Wx:u>=0?(n.push(l),c.slice(0,u)+ay+c.slice(u)+Bn+p):c+Bn+(u===-2?a:p)}return[uy(t,i+(t[s]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),n]};class Co{constructor({strings:e,_$litType$:s},n){let r;this.parts=[];let i=0,o=0;const a=e.length-1,c=this.parts,[l,d]=Vx(e,s);if(this.el=Co.createElement(l,n),wr.currentNode=this.el.content,s===2||s===3){const u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(r=wr.nextNode())!==null&&c.length<a;){if(r.nodeType===1){if(r.hasAttributes())for(const u of r.getAttributeNames())if(u.endsWith(ay)){const h=d[o++],p=r.getAttribute(u).split(Bn),m=/([.?@])?(.*)/.exec(h);c.push({type:1,index:i,name:m[2],strings:p,ctor:m[1]==="."?Kx:m[1]==="?"?Gx:m[1]==="@"?Yx:hc}),r.removeAttribute(u)}else u.startsWith(Bn)&&(c.push({type:6,index:i}),r.removeAttribute(u));if(ly.test(r.tagName)){const u=r.textContent.split(Bn),h=u.length-1;if(h>0){r.textContent=qa?qa.emptyScript:"";for(let p=0;p<h;p++)r.append(u[p],Eo()),wr.nextNode(),c.push({type:2,index:++i});r.append(u[h],Eo())}}}else if(r.nodeType===8)if(r.data===cy)c.push({type:2,index:i});else{let u=-1;for(;(u=r.data.indexOf(Bn,u+1))!==-1;)c.push({type:7,index:i}),u+=Bn.length-1}i++}}static createElement(e,s){const n=Or.createElement("template");return n.innerHTML=e,n}}function gi(t,e,s=t,n){var o,a;if(e===fi)return e;let r=n!==void 0?(o=s._$Co)==null?void 0:o[n]:s._$Cl;const i=bo(e)?void 0:e._$litDirective$;return(r==null?void 0:r.constructor)!==i&&((a=r==null?void 0:r._$AO)==null||a.call(r,!1),i===void 0?r=void 0:(r=new i(t),r._$AT(t,s,n)),n!==void 0?(s._$Co??(s._$Co=[]))[n]=r:s._$Cl=r),r!==void 0&&(e=gi(t,r._$AS(t,e.values),r,n)),e}class zx{constructor(e,s){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=s}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:s},parts:n}=this._$AD,r=((e==null?void 0:e.creationScope)??Or).importNode(s,!0);wr.currentNode=r;let i=wr.nextNode(),o=0,a=0,c=n[0];for(;c!==void 0;){if(o===c.index){let l;c.type===2?l=new Uo(i,i.nextSibling,this,e):c.type===1?l=new c.ctor(i,c.name,c.strings,this,e):c.type===6&&(l=new Zx(i,this,e)),this._$AV.push(l),c=n[++a]}o!==(c==null?void 0:c.index)&&(i=wr.nextNode(),o++)}return wr.currentNode=Or,r}p(e){let s=0;for(const n of this._$AV)n!==void 0&&(n.strings!==void 0?(n._$AI(e,n,s),s+=n.strings.length-2):n._$AI(e[s])),s++}}class Uo{get _$AU(){var e;return((e=this._$AM)==null?void 0:e._$AU)??this._$Cv}constructor(e,s,n,r){this.type=2,this._$AH=pt,this._$AN=void 0,this._$AA=e,this._$AB=s,this._$AM=n,this.options=r,this._$Cv=(r==null?void 0:r.isConnected)??!0}get parentNode(){let e=this._$AA.parentNode;const s=this._$AM;return s!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=s.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,s=this){e=gi(this,e,s),bo(e)?e===pt||e==null||e===""?(this._$AH!==pt&&this._$AR(),this._$AH=pt):e!==this._$AH&&e!==fi&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Hx(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==pt&&bo(this._$AH)?this._$AA.nextSibling.data=e:this.T(Or.createTextNode(e)),this._$AH=e}$(e){var i;const{values:s,_$litType$:n}=e,r=typeof n=="number"?this._$AC(e):(n.el===void 0&&(n.el=Co.createElement(uy(n.h,n.h[0]),this.options)),n);if(((i=this._$AH)==null?void 0:i._$AD)===r)this._$AH.p(s);else{const o=new zx(r,this),a=o.u(this.options);o.p(s),this.T(a),this._$AH=o}}_$AC(e){let s=lf.get(e.strings);return s===void 0&&lf.set(e.strings,s=new Co(e)),s}k(e){Jd(this._$AH)||(this._$AH=[],this._$AR());const s=this._$AH;let n,r=0;for(const i of e)r===s.length?s.push(n=new Uo(this.O(Eo()),this.O(Eo()),this,this.options)):n=s[r],n._$AI(i),r++;r<s.length&&(this._$AR(n&&n._$AB.nextSibling,r),s.length=r)}_$AR(e=this._$AA.nextSibling,s){var n;for((n=this._$AP)==null?void 0:n.call(this,!1,!0,s);e!==this._$AB;){const r=sf(e).nextSibling;sf(e).remove(),e=r}}setConnected(e){var s;this._$AM===void 0&&(this._$Cv=e,(s=this._$AP)==null||s.call(this,e))}}class hc{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,s,n,r,i){this.type=1,this._$AH=pt,this._$AN=void 0,this.element=e,this.name=s,this._$AM=r,this.options=i,n.length>2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=pt}_$AI(e,s=this,n,r){const i=this.strings;let o=!1;if(i===void 0)e=gi(this,e,s,0),o=!bo(e)||e!==this._$AH&&e!==fi,o&&(this._$AH=e);else{const a=e;let c,l;for(e=i[0],c=0;c<i.length-1;c++)l=gi(this,a[n+c],s,c),l===fi&&(l=this._$AH[c]),o||(o=!bo(l)||l!==this._$AH[c]),l===pt?e=pt:e!==pt&&(e+=(l??"")+i[c+1]),this._$AH[c]=l}o&&!r&&this.j(e)}j(e){e===pt?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class Kx extends hc{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===pt?void 0:e}}class Gx extends hc{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==pt)}}class Yx extends hc{constructor(e,s,n,r,i){super(e,s,n,r,i),this.type=5}_$AI(e,s=this){if((e=gi(this,e,s,0)??pt)===fi)return;const n=this._$AH,r=e===pt&&n!==pt||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,i=e!==pt&&(n===pt||r);r&&this.element.removeEventListener(this.name,this,n),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var s;typeof this._$AH=="function"?this._$AH.call(((s=this.options)==null?void 0:s.host)??this.element,e):this._$AH.handleEvent(e)}}class Zx{constructor(e,s,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=s,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){gi(this,e)}}const cl=Ki.litHtmlPolyfillSupport;cl==null||cl(Co,Uo),(Ki.litHtmlVersions??(Ki.litHtmlVersions=[])).push("3.3.2");const Jx=(t,e,s)=>{const n=(s==null?void 0:s.renderBefore)??e;let r=n._$litPart$;if(r===void 0){const i=(s==null?void 0:s.renderBefore)??null;n._$litPart$=r=new Uo(e.insertBefore(Eo(),i),i,void 0,s??{})}return r._$AI(t),r};/**
49
49
  * @license
50
50
  * Copyright 2017 Google LLC
51
51
  * SPDX-License-Identifier: BSD-3-Clause
@@ -53,7 +53,7 @@ NPM Registry: https://www.npmjs.com/package/@reown/appkit`}},Px={NetworkImageIds
53
53
  :root {
54
54
  ${r.map(o=>{const a=(e==null?void 0:e[o])||"";return a.includes("color-mix")||a.startsWith("#")||a.startsWith("rgb")?`${o}: color-mix(in srgb, ${s} ${n}%, ${a});`:`${o}: color-mix(in srgb, ${s} ${n}%, var(${o}-base, ${a}));`}).join("")}
55
55
  }
56
- }`},generateBaseVariables(t){const e={},s=t["--apkt-tokens-theme-backgroundPrimary"];s&&(e["--apkt-tokens-theme-backgroundPrimary-base"]=s);const n=t["--apkt-tokens-core-backgroundAccentPrimary"];return n&&(e["--apkt-tokens-core-backgroundAccentPrimary-base"]=n),e},applyColorMixToVariables(t,e){const s={};e!=null&&e["--apkt-tokens-theme-backgroundPrimary"]&&(s["--apkt-tokens-theme-backgroundPrimary"]="var(--apkt-tokens-theme-backgroundPrimary-base)"),e!=null&&e["--apkt-tokens-core-backgroundAccentPrimary"]&&(s["--apkt-tokens-core-backgroundAccentPrimary"]="var(--apkt-tokens-core-backgroundAccentPrimary-base)");const n=ra(t),r=n["color-mix"],i=n["color-mix-strength"];if(!i||i===0)return s;const o=Object.keys(e||{}).filter(a=>{const c=a.includes("-tokens-core-background")||a.includes("-tokens-core-text")||a.includes("-tokens-core-border")||a.includes("-tokens-core-foreground")||a.includes("-tokens-core-icon")||a.includes("-tokens-theme-background")||a.includes("-tokens-theme-text")||a.includes("-tokens-theme-border")||a.includes("-tokens-theme-foreground")||a.includes("-tokens-theme-icon")||a.includes("-tokens-theme-overlay"),l=a.includes("-borderRadius-")||a.includes("-spacing-")||a.includes("-textSize-")||a.includes("-fontFamily-")||a.includes("-fontWeight-")||a.includes("-typography-")||a.includes("-duration-")||a.includes("-ease-")||a.includes("-path-")||a.includes("-width-")||a.includes("-height-")||a.includes("-visual-size-")||a.includes("-modal-width")||a.includes("-cover");return c&&!l});return o.length===0||o.forEach(a=>{const c=(e==null?void 0:e[a])||"";a.endsWith("-base")||(a==="--apkt-tokens-theme-backgroundPrimary"||a==="--apkt-tokens-core-backgroundAccentPrimary"?s[a]=`color-mix(in srgb, ${r} ${i}%, var(${a}-base))`:c.includes("color-mix")||c.startsWith("#")||c.startsWith("rgb")?s[a]=`color-mix(in srgb, ${r} ${i}%, ${c})`:s[a]=`color-mix(in srgb, ${r} ${i}%, var(${a}-base, ${c}))`)}),s}},{cssVariablesVarPrefix:ak}=cn.createCSSVariables(hd);function Xk(t,...e){return Mn(t,...e.map(s=>Ts(typeof s=="function"?s(ak):s)))}let ur,Er,Vs,rs,Ha;const on={"KHTeka-500-woff2":"https://fonts.reown.com/KHTeka-Medium.woff2","KHTeka-400-woff2":"https://fonts.reown.com/KHTeka-Regular.woff2","KHTeka-300-woff2":"https://fonts.reown.com/KHTeka-Light.woff2","KHTekaMono-400-woff2":"https://fonts.reown.com/KHTekaMono-Regular.woff2","KHTeka-500-woff":"https://fonts.reown.com/KHTeka-Light.woff","KHTeka-400-woff":"https://fonts.reown.com/KHTeka-Regular.woff","KHTeka-300-woff":"https://fonts.reown.com/KHTeka-Light.woff","KHTekaMono-400-woff":"https://fonts.reown.com/KHTekaMono-Regular.woff"};function Va(t,e="dark"){ur&&document.head.removeChild(ur),ur=document.createElement("style"),ur.textContent=cn.createRootStyles(e,t),document.head.appendChild(ur)}function Qk(t,e="dark"){if(Ha=t,Er=document.createElement("style"),Vs=document.createElement("style"),rs=document.createElement("style"),Er.textContent=ai(t).core.cssText,Vs.textContent=ai(t).dark.cssText,rs.textContent=ai(t).light.cssText,document.head.appendChild(Er),document.head.appendChild(Vs),document.head.appendChild(rs),Va(t,e),pd(e),!((t==null?void 0:t["--apkt-font-family"])||(t==null?void 0:t["--w3m-font-family"])))for(const[n,r]of Object.entries(on)){const i=document.createElement("link");i.rel="preload",i.href=r,i.as="font",i.type=n.includes("woff2")?"font/woff2":"font/woff",i.crossOrigin="anonymous",document.head.appendChild(i)}pd(e)}function pd(t="dark"){Vs&&rs&&ur&&(t==="light"?(Va(Ha,t),Vs.removeAttribute("media"),rs.media="enabled"):(Va(Ha,t),rs.removeAttribute("media"),Vs.media="enabled"))}function ck(t){var e,s,n;if(Ha=t,Er&&Vs&&rs){Er.textContent=ai(t).core.cssText,Vs.textContent=ai(t).dark.cssText,rs.textContent=ai(t).light.cssText;const r=(t==null?void 0:t["--apkt-font-family"])||(t==null?void 0:t["--w3m-font-family"]);r&&(Er.textContent=(e=Er.textContent)==null?void 0:e.replace("font-family: KHTeka",`font-family: ${r}`),Vs.textContent=(s=Vs.textContent)==null?void 0:s.replace("font-family: KHTeka",`font-family: ${r}`),rs.textContent=(n=rs.textContent)==null?void 0:n.replace("font-family: KHTeka",`font-family: ${r}`))}if(ur){const r=(rs==null?void 0:rs.media)==="enabled"?"light":"dark";Va(t,r)}}function ai(t){const e=!!(t!=null&&t["--apkt-font-family"]||t!=null&&t["--w3m-font-family"]);return{core:Mn`
56
+ }`},generateBaseVariables(t){const e={},s=t["--apkt-tokens-theme-backgroundPrimary"];s&&(e["--apkt-tokens-theme-backgroundPrimary-base"]=s);const n=t["--apkt-tokens-core-backgroundAccentPrimary"];return n&&(e["--apkt-tokens-core-backgroundAccentPrimary-base"]=n),e},applyColorMixToVariables(t,e){const s={};e!=null&&e["--apkt-tokens-theme-backgroundPrimary"]&&(s["--apkt-tokens-theme-backgroundPrimary"]="var(--apkt-tokens-theme-backgroundPrimary-base)"),e!=null&&e["--apkt-tokens-core-backgroundAccentPrimary"]&&(s["--apkt-tokens-core-backgroundAccentPrimary"]="var(--apkt-tokens-core-backgroundAccentPrimary-base)");const n=ra(t),r=n["color-mix"],i=n["color-mix-strength"];if(!i||i===0)return s;const o=Object.keys(e||{}).filter(a=>{const c=a.includes("-tokens-core-background")||a.includes("-tokens-core-text")||a.includes("-tokens-core-border")||a.includes("-tokens-core-foreground")||a.includes("-tokens-core-icon")||a.includes("-tokens-theme-background")||a.includes("-tokens-theme-text")||a.includes("-tokens-theme-border")||a.includes("-tokens-theme-foreground")||a.includes("-tokens-theme-icon")||a.includes("-tokens-theme-overlay"),l=a.includes("-borderRadius-")||a.includes("-spacing-")||a.includes("-textSize-")||a.includes("-fontFamily-")||a.includes("-fontWeight-")||a.includes("-typography-")||a.includes("-duration-")||a.includes("-ease-")||a.includes("-path-")||a.includes("-width-")||a.includes("-height-")||a.includes("-visual-size-")||a.includes("-modal-width")||a.includes("-cover");return c&&!l});return o.length===0||o.forEach(a=>{const c=(e==null?void 0:e[a])||"";a.endsWith("-base")||(a==="--apkt-tokens-theme-backgroundPrimary"||a==="--apkt-tokens-core-backgroundAccentPrimary"?s[a]=`color-mix(in srgb, ${r} ${i}%, var(${a}-base))`:c.includes("color-mix")||c.startsWith("#")||c.startsWith("rgb")?s[a]=`color-mix(in srgb, ${r} ${i}%, ${c})`:s[a]=`color-mix(in srgb, ${r} ${i}%, var(${a}-base, ${c}))`)}),s}},{cssVariablesVarPrefix:ak}=cn.createCSSVariables(hd);function t2(t,...e){return Mn(t,...e.map(s=>Ts(typeof s=="function"?s(ak):s)))}let ur,Er,Vs,rs,Ha;const on={"KHTeka-500-woff2":"https://fonts.reown.com/KHTeka-Medium.woff2","KHTeka-400-woff2":"https://fonts.reown.com/KHTeka-Regular.woff2","KHTeka-300-woff2":"https://fonts.reown.com/KHTeka-Light.woff2","KHTekaMono-400-woff2":"https://fonts.reown.com/KHTekaMono-Regular.woff2","KHTeka-500-woff":"https://fonts.reown.com/KHTeka-Light.woff","KHTeka-400-woff":"https://fonts.reown.com/KHTeka-Regular.woff","KHTeka-300-woff":"https://fonts.reown.com/KHTeka-Light.woff","KHTekaMono-400-woff":"https://fonts.reown.com/KHTekaMono-Regular.woff"};function Va(t,e="dark"){ur&&document.head.removeChild(ur),ur=document.createElement("style"),ur.textContent=cn.createRootStyles(e,t),document.head.appendChild(ur)}function s2(t,e="dark"){if(Ha=t,Er=document.createElement("style"),Vs=document.createElement("style"),rs=document.createElement("style"),Er.textContent=ai(t).core.cssText,Vs.textContent=ai(t).dark.cssText,rs.textContent=ai(t).light.cssText,document.head.appendChild(Er),document.head.appendChild(Vs),document.head.appendChild(rs),Va(t,e),pd(e),!((t==null?void 0:t["--apkt-font-family"])||(t==null?void 0:t["--w3m-font-family"])))for(const[n,r]of Object.entries(on)){const i=document.createElement("link");i.rel="preload",i.href=r,i.as="font",i.type=n.includes("woff2")?"font/woff2":"font/woff",i.crossOrigin="anonymous",document.head.appendChild(i)}pd(e)}function pd(t="dark"){Vs&&rs&&ur&&(t==="light"?(Va(Ha,t),Vs.removeAttribute("media"),rs.media="enabled"):(Va(Ha,t),rs.removeAttribute("media"),Vs.media="enabled"))}function ck(t){var e,s,n;if(Ha=t,Er&&Vs&&rs){Er.textContent=ai(t).core.cssText,Vs.textContent=ai(t).dark.cssText,rs.textContent=ai(t).light.cssText;const r=(t==null?void 0:t["--apkt-font-family"])||(t==null?void 0:t["--w3m-font-family"]);r&&(Er.textContent=(e=Er.textContent)==null?void 0:e.replace("font-family: KHTeka",`font-family: ${r}`),Vs.textContent=(s=Vs.textContent)==null?void 0:s.replace("font-family: KHTeka",`font-family: ${r}`),rs.textContent=(n=rs.textContent)==null?void 0:n.replace("font-family: KHTeka",`font-family: ${r}`))}if(ur){const r=(rs==null?void 0:rs.media)==="enabled"?"light":"dark";Va(t,r)}}function ai(t){const e=!!(t!=null&&t["--apkt-font-family"]||t!=null&&t["--w3m-font-family"]);return{core:Mn`
57
57
  ${e?Mn``:Mn`
58
58
  @font-face {
59
59
  font-family: 'KHTeka';
@@ -176,7 +176,7 @@ NPM Registry: https://www.npmjs.com/package/@reown/appkit`}},Px={NetworkImageIds
176
176
  `,light:Mn`
177
177
  :root {
178
178
  }
179
- `}}const e2=Mn`
179
+ `}}const n2=Mn`
180
180
  div,
181
181
  span,
182
182
  iframe,
@@ -201,7 +201,7 @@ NPM Registry: https://www.npmjs.com/package/@reown/appkit`}},Px={NetworkImageIds
201
201
  :host {
202
202
  font-family: var(--apkt-fontFamily-regular);
203
203
  }
204
- `,t2=Mn`
204
+ `,r2=Mn`
205
205
  button,
206
206
  a {
207
207
  cursor: pointer;
@@ -245,4 +245,4 @@ NPM Registry: https://www.npmjs.com/package/@reown/appkit`}},Px={NetworkImageIds
245
245
  outline: none;
246
246
  appearance: none;
247
247
  }
248
- `,Li={ERROR_CODE_UNRECOGNIZED_CHAIN_ID:4902,ERROR_CODE_DEFAULT:5e3,ERROR_INVALID_CHAIN_ID:32603};class lk extends lx{async setUniversalProvider(e){if(!this.namespace)throw new Error("UniversalAdapter:setUniversalProvider - namespace is required");return this.addConnector(new dx({provider:e,caipNetworks:this.getCaipNetworks(),namespace:this.namespace})),Promise.resolve()}async connect(e){return Promise.resolve({id:"WALLET_CONNECT",type:"WALLET_CONNECT",chainId:Number(e.chainId),provider:this.provider,address:""})}async disconnect(){try{await this.getWalletConnectConnector().disconnect(),this.emit("disconnect")}catch(e){console.warn("UniversalAdapter:disconnect - error",e)}return{connections:[]}}syncConnections(){return Promise.resolve()}async getAccounts({namespace:e}){var r,i,o,a;const s=this.provider,n=((a=(o=(i=(r=s==null?void 0:s.session)==null?void 0:r.namespaces)==null?void 0:i[e])==null?void 0:o.accounts)==null?void 0:a.map(c=>{const[,,l]=c.split(":");return l}).filter((c,l,d)=>d.indexOf(c)===l))||[];return Promise.resolve({accounts:n.map(c=>Z.createAccount(e,c,e==="bip122"?"payment":"eoa"))})}async syncConnectors(){return Promise.resolve()}async getBalance(e){var o,a,c,l,d;if(!(e.caipNetwork&&Ie.BALANCE_SUPPORTED_CHAINS.includes((o=e.caipNetwork)==null?void 0:o.chainNamespace))||(a=e.caipNetwork)!=null&&a.testnet)return{balance:"0.00",symbol:((c=e.caipNetwork)==null?void 0:c.nativeCurrency.symbol)||""};const n=w.getAccountData();if(n!=null&&n.balanceLoading&&e.chainId===((l=w.state.activeCaipNetwork)==null?void 0:l.id))return{balance:(n==null?void 0:n.balance)||"0.00",symbol:(n==null?void 0:n.balanceSymbol)||""};const i=(await w.fetchTokenBalance()).find(u=>{var h,p;return u.chainId===`${(h=e.caipNetwork)==null?void 0:h.chainNamespace}:${e.chainId}`&&u.symbol===((p=e.caipNetwork)==null?void 0:p.nativeCurrency.symbol)});return{balance:(i==null?void 0:i.quantity.numeric)||"0.00",symbol:(i==null?void 0:i.symbol)||((d=e.caipNetwork)==null?void 0:d.nativeCurrency.symbol)||""}}async signMessage(e){var o,a,c;const{provider:s,message:n,address:r}=e;if(!s)throw new Error("UniversalAdapter:signMessage - provider is undefined");let i="";return((o=w.state.activeCaipNetwork)==null?void 0:o.chainNamespace)===U.CHAIN.SOLANA?i=(await s.request({method:"solana_signMessage",params:{message:yi.encode(new TextEncoder().encode(n)),pubkey:r}},(a=w.state.activeCaipNetwork)==null?void 0:a.caipNetworkId)).signature:i=await s.request({method:"personal_sign",params:[n,r]},(c=w.state.activeCaipNetwork)==null?void 0:c.caipNetworkId),{signature:i}}async estimateGas(){return Promise.resolve({gas:BigInt(0)})}async sendTransaction(){return Promise.resolve({hash:""})}walletGetAssets(e){return Promise.resolve({})}async writeContract(){return Promise.resolve({hash:""})}emitFirstAvailableConnection(){}parseUnits(){return 0n}formatUnits(){return"0"}async getCapabilities(){return Promise.resolve({})}async grantPermissions(){return Promise.resolve({})}async revokePermissions(){return Promise.resolve("0x")}async syncConnection(){return Promise.resolve({id:"WALLET_CONNECT",type:"WALLET_CONNECT",chainId:1,provider:this.provider,address:""})}async switchNetwork(e){var r,i,o,a,c,l;const{caipNetwork:s}=e,n=this.getWalletConnectConnector();if(s.chainNamespace===U.CHAIN.EVM)try{await((r=n.provider)==null?void 0:r.request({method:"wallet_switchEthereumChain",params:[{chainId:Cu(s.id)}]}))}catch(d){if(d.code===Li.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||d.code===Li.ERROR_INVALID_CHAIN_ID||d.code===Li.ERROR_CODE_DEFAULT||((o=(i=d==null?void 0:d.data)==null?void 0:i.originalError)==null?void 0:o.code)===Li.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)try{await((l=n.provider)==null?void 0:l.request({method:"wallet_addEthereumChain",params:[{chainId:Cu(s.id),rpcUrls:[(a=s==null?void 0:s.rpcUrls.chainDefault)==null?void 0:a.http],chainName:s.name,nativeCurrency:s.nativeCurrency,blockExplorerUrls:[(c=s.blockExplorers)==null?void 0:c.default.url]}]}))}catch{throw new Error("Chain is not supported")}}n.provider.setDefaultChain(s.caipNetworkId)}getWalletConnectProvider(){const e=this.connectors.find(n=>n.type==="WALLET_CONNECT");return e==null?void 0:e.provider}}const dk=["email","socials","swaps","onramp","activity","reownBranding","multiWallet","emailCapture","payWithExchange","payments","reownAuthentication","headless"],ia={email:{apiFeatureName:"social_login",localFeatureName:"email",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!(t!=null&&t.config))return!1;const e=t.config;return!!t.isEnabled&&e.includes("email")},processFallback:t=>t===void 0?Ie.DEFAULT_REMOTE_FEATURES.email:!!t},socials:{apiFeatureName:"social_login",localFeatureName:"socials",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!(t!=null&&t.config))return!1;const e=t.config;return t.isEnabled&&e.length>0?e.filter(s=>s!=="email"):!1},processFallback:t=>t===void 0?Ie.DEFAULT_REMOTE_FEATURES.socials:typeof t=="boolean"?t?Ie.DEFAULT_REMOTE_FEATURES.socials:!1:t},swaps:{apiFeatureName:"swap",localFeatureName:"swaps",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!(t!=null&&t.config))return!1;const e=t.config;return t.isEnabled&&e.length>0?e:!1},processFallback:t=>t===void 0?Ie.DEFAULT_REMOTE_FEATURES.swaps:typeof t=="boolean"?t?Ie.DEFAULT_REMOTE_FEATURES.swaps:!1:t},onramp:{apiFeatureName:"onramp",localFeatureName:"onramp",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!(t!=null&&t.config))return!1;const e=t.config;return t.isEnabled&&e.length>0?e:!1},processFallback:t=>t===void 0?Ie.DEFAULT_REMOTE_FEATURES.onramp:typeof t=="boolean"?t?Ie.DEFAULT_REMOTE_FEATURES.onramp:!1:t},activity:{apiFeatureName:"activity",localFeatureName:"history",returnType:!1,isLegacy:!0,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:t=>t===void 0?Ie.DEFAULT_REMOTE_FEATURES.activity:!!t},reownBranding:{apiFeatureName:"reown_branding",localFeatureName:"reownBranding",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:t=>t===void 0?Ie.DEFAULT_REMOTE_FEATURES.reownBranding:!!t},emailCapture:{apiFeatureName:"email_capture",localFeatureName:"emailCapture",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>t.isEnabled&&(t.config??[]),processFallback:t=>!1},multiWallet:{apiFeatureName:"multi_wallet",localFeatureName:"multiWallet",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:()=>Ie.DEFAULT_REMOTE_FEATURES.multiWallet},payWithExchange:{apiFeatureName:"fund_from_exchange",localFeatureName:"payWithExchange",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:()=>Ie.DEFAULT_REMOTE_FEATURES.payWithExchange},payments:{apiFeatureName:"payments",localFeatureName:"payments",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:()=>Ie.DEFAULT_REMOTE_FEATURES.payments},reownAuthentication:{apiFeatureName:"reown_authentication",localFeatureName:"reownAuthentication",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:t=>typeof t>"u"?Ie.DEFAULT_REMOTE_FEATURES.reownAuthentication:!!t},headless:{apiFeatureName:"headless",localFeatureName:"headless",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:()=>Ie.DEFAULT_REMOTE_FEATURES.headless}},uk={localSettingsOverridden:new Set,getApiConfig(t,e){return e==null?void 0:e.find(s=>s.id===t)},addWarning(t,e){if(t!==void 0){const s=ia[e],n=s.isLegacy?`"features.${s.localFeatureName}" (now "${e}")`:`"features.${e}"`;this.localSettingsOverridden.add(n)}},processFeature(t,e,s,n,r){const i=ia[t],o=e[i.localFeatureName];if(r&&!i.isAvailableOnBasic)return!1;if(n){const a=this.getApiConfig(i.apiFeatureName,s);return(a==null?void 0:a.config)===null?this.processFallbackFeature(t,o):a!=null&&a.config?(o!==void 0&&this.addWarning(o,t),this.processApiFeature(t,a)):!1}return this.processFallbackFeature(t,o)},processApiFeature(t,e){return ia[t].processApi(e)},processFallbackFeature(t,e){return ia[t].processFallback(e)},async fetchRemoteFeatures(t){const e=t.basic??!1,s=t.features||{};this.localSettingsOverridden.clear();let n=null,r=!1;try{n=await Q.fetchProjectConfig(),r=n!=null}catch(o){console.warn("[Reown Config] Failed to fetch remote project configuration. Using local/default values.",o)}const i=r&&!e?Ie.DEFAULT_REMOTE_FEATURES:Ie.DEFAULT_REMOTE_FEATURES_DISABLED;try{for(const o of dk){const a=this.processFeature(o,s,n,r,e);Object.assign(i,{[o]:a})}}catch(o){return console.warn("[Reown Config] Failed to process the configuration from Cloud. Using default values.",o),Ie.DEFAULT_REMOTE_FEATURES}if(r&&this.localSettingsOverridden.size>0){const o=`Your local configuration for ${Array.from(this.localSettingsOverridden).join(", ")} was ignored because a remote configuration was successfully fetched. Please manage these features via your project dashboard on dashboard.reown.com.`;St.open({debugMessage:It.ALERT_WARNINGS.LOCAL_CONFIGURATION_IGNORED.debugMessage(o)},"warning")}return i}};class hk{constructor(e){this.chainNamespaces=[],this.features={},this.remoteFeatures={},this.reportedAlertErrors={},this.getCaipNetwork=(s,n)=>{var r,i,o;if(s){const a=(r=w.getCaipNetworks(s))==null?void 0:r.find(d=>d.id===n);if(a)return a;const c=(i=w.getNetworkData(s))==null?void 0:i.caipNetwork;return c||((o=w.getRequestedCaipNetworks(s).filter(d=>d.chainNamespace===s))==null?void 0:o[0])}return w.state.activeCaipNetwork||this.defaultCaipNetwork},this.getCaipNetworkId=()=>{const s=this.getCaipNetwork();if(s)return s.id},this.getCaipNetworks=s=>w.getCaipNetworks(s),this.getActiveChainNamespace=()=>w.state.activeChain,this.setRequestedCaipNetworks=(s,n)=>{w.setRequestedCaipNetworks(s,n)},this.getApprovedCaipNetworkIds=()=>w.getAllApprovedCaipNetworkIds(),this.getCaipAddress=s=>{var n,r;return w.state.activeChain===s||!s?w.state.activeCaipAddress:(r=(n=w.state.chains.get(s))==null?void 0:n.accountState)==null?void 0:r.caipAddress},this.setClientId=s=>{he.setClientId(s)},this.getProvider=s=>He.getProvider(s),this.getProviderType=s=>He.getProviderId(s),this.getPreferredAccountType=s=>os(s),this.setCaipAddress=(s,n,r=!1)=>{w.setAccountProp("caipAddress",s,n,r),w.setAccountProp("address",Z.getPlainAddress(s),n,r)},this.setBalance=(s,n,r)=>{w.setAccountProp("balance",s,r),w.setAccountProp("balanceSymbol",n,r)},this.setProfileName=(s,n)=>{w.setAccountProp("profileName",s,n)},this.setProfileImage=(s,n)=>{w.setAccountProp("profileImage",s,n)},this.setUser=(s,n)=>{w.setAccountProp("user",s,n)},this.resetAccount=s=>{w.resetAccount(s)},this.setCaipNetwork=s=>{w.setActiveCaipNetwork(s)},this.setCaipNetworkOfNamespace=(s,n)=>{w.setChainNetworkData(n,{caipNetwork:s})},this.setStatus=(s,n)=>{w.setAccountProp("status",s,n),q.isConnected()?M.setConnectionStatus("connected"):M.setConnectionStatus("disconnected")},this.getAddressByChainNamespace=s=>{var n;return(n=w.getAccountData(s))==null?void 0:n.address},this.setConnectors=s=>{const n=[...q.state.allConnectors,...s];q.setConnectors(n)},this.setConnections=(s,n)=>{M.setConnections(s,n),K.setConnections(s,n)},this.fetchIdentity=s=>he.fetchIdentity(s),this.getReownName=s=>Hi.getNamesForAddress(s),this.getConnectors=()=>q.getConnectors(),this.getConnectorImage=s=>Ff.getConnectorImage(s),this.getConnections=s=>this.remoteFeatures.multiWallet?Ra.getConnectionsData(s).connections:(St.open(U.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info"),[]),this.getRecentConnections=s=>this.remoteFeatures.multiWallet?Ra.getConnectionsData(s).recentConnections:(St.open(U.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info"),[]),this.switchConnection=async s=>{if(!this.remoteFeatures.multiWallet){St.open(U.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info");return}await K.switchConnection(s)},this.deleteConnection=s=>{if(!this.remoteFeatures.multiWallet){St.open(U.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info");return}M.deleteAddressFromConnection(s),K.syncStorageConnections()},this.setConnectedWalletInfo=(s,n)=>{const r=He.getProviderId(n),i=s?{...s,type:r}:void 0;w.setAccountProp("connectedWalletInfo",i,n)},this.getIsConnectedState=()=>!!w.state.activeCaipAddress,this.addAddressLabel=(s,n,r)=>{var o;const i=((o=w.getAccountData(r))==null?void 0:o.addressLabels)||{};w.setAccountProp("addressLabels",{...i,[s]:n},r)},this.removeAddressLabel=(s,n)=>{var i;const r=((i=w.getAccountData(n))==null?void 0:i.addressLabels)||{};w.setAccountProp("addressLabels",{...r,[s]:void 0},n)},this.getAddress=s=>{var r;const n=s||w.state.activeChain;return(r=w.getAccountData(n))==null?void 0:r.address},this.resetNetwork=s=>{w.resetNetwork(s)},this.addConnector=s=>{q.addConnector(s)},this.resetWcConnection=()=>{K.resetWcConnection()},this.setAddressExplorerUrl=(s,n)=>{w.setAccountProp("addressExplorerUrl",s,n)},this.setSmartAccountDeployed=(s,n)=>{w.setAccountProp("smartAccountDeployed",s,n)},this.setPreferredAccountType=(s,n)=>{w.setAccountProp("preferredAccountType",s,n)},this.setEIP6963Enabled=s=>{$.setEIP6963Enabled(s)},this.handleUnsafeRPCRequest=()=>{if(this.isOpen()){if(this.isTransactionStackEmpty())return;this.redirect("ApproveTransaction")}else this.open({view:"ApproveTransaction"})},this.options=e,this.version=e.sdkVersion,this.caipNetworks=this.extendCaipNetworks(e),this.chainNamespaces=this.getChainNamespacesSet(e.adapters,this.caipNetworks),this.defaultCaipNetwork=this.extendDefaultCaipNetwork(e),this.chainAdapters=this.createAdapters(e.adapters),this.readyPromise=this.initialize(e)}getChainNamespacesSet(e,s){const n=e==null?void 0:e.map(i=>i.namespace).filter(i=>!!i);if(n!=null&&n.length)return[...new Set(n)];const r=s==null?void 0:s.map(i=>i.chainNamespace);return[...new Set(r)]}async initialize(e){var s,n,r,i,o,a;if(this.initializeProjectSettings(e),this.initControllers(e),await this.initChainAdapters(),this.sendInitializeEvent(e),(s=e.features)!=null&&s.headless&&!Rs.hasInjectedConnectors()&&Q.prefetch({fetchNetworkImages:!1,fetchConnectorImages:!1,fetchWalletRanks:!1,fetchRecommendedWallets:!0}),$.state.enableReconnect?(await this.syncExistingConnection(),await this.syncAdapterConnections()):await this.unSyncExistingConnection(),!e.basic&&!e.manualWCControl&&(this.remoteFeatures=await uk.fetchRemoteFeatures(e)),await Q.fetchUsage(),$.setRemoteFeatures(this.remoteFeatures),this.remoteFeatures.onramp&&Tl.setOnrampProviders(this.remoteFeatures.onramp),((n=$.state.remoteFeatures)!=null&&n.email||Array.isArray((r=$.state.remoteFeatures)==null?void 0:r.socials)&&((i=$.state.remoteFeatures)==null?void 0:i.socials.length)>0)&&await this.checkAllowedOrigins(),(o=$.state.features)!=null&&o.reownAuthentication||(a=$.state.remoteFeatures)!=null&&a.reownAuthentication){const{ReownAuthentication:c}=await kt(async()=>{const{ReownAuthentication:d}=await import("./features-icUSTLoJ.js");return{ReownAuthentication:d}},__vite__mapDeps([6,2,3,4])),l=$.state.siwx;l instanceof c||(l&&console.warn("ReownAuthentication option is enabled, SIWX configuration will be overridden."),$.setSIWX(new c))}}async openSend(e){var i;const s=e.namespace||w.state.activeChain,n=this.getCaipAddress(s),r=(i=this.getCaipNetwork(s))==null?void 0:i.id;if(!n)throw new Error("openSend: caipAddress not found");if((r==null?void 0:r.toString())!==e.chainId.toString()){const o=w.getCaipNetworkById(e.chainId,s);if(!o)throw new Error(`openSend: caipNetwork with chainId ${e.chainId} not found`);await this.switchNetwork(o,{throwOnFailure:!0})}try{const o=ry.getTokenSymbolByAddress(e.assetAddress);o&&await Q.fetchTokenImages([o])}catch{}return await Ne.open({view:"WalletSend",data:{send:e}}),new Promise((o,a)=>{const c=_e.subscribeKey("hash",u=>{u&&(d(),o({hash:u}))}),l=Ne.subscribe(u=>{u.open||(d(),a(new Error("Modal closed")))}),d=this.createCleanupHandler([c,l])})}toModalOptions(){function e(n){return(n==null?void 0:n.view)==="Swap"}function s(n){return(n==null?void 0:n.view)==="WalletSend"}return{isSwap:e,isSend:s}}async checkAllowedOrigins(){try{const e=await Q.fetchAllowedOrigins();if(!Z.isClient())return;const s=window.location.origin;Wn.isOriginAllowed(s,e,U.DEFAULT_ALLOWED_ANCESTORS)||St.open(It.ALERT_ERRORS.ORIGIN_NOT_ALLOWED,"error")}catch(e){if(!(e instanceof Error))return;switch(e.message){case"RATE_LIMITED":St.open(It.ALERT_ERRORS.RATE_LIMITED_APP_CONFIGURATION,"error");break;case"SERVER_ERROR":{const s=e.cause instanceof Error?e.cause:e;St.open({displayMessage:It.ALERT_ERRORS.SERVER_ERROR_APP_CONFIGURATION.displayMessage,debugMessage:It.ALERT_ERRORS.SERVER_ERROR_APP_CONFIGURATION.debugMessage(s.message)},"error");break}}}}createCleanupHandler(e){return()=>{e.forEach(s=>{try{s()}catch{}})}}sendInitializeEvent(e){var n;const{...s}=e;delete s.adapters,delete s.universalProvider,we.sendEvent({type:"track",event:"INITIALIZE",properties:{...s,networks:e.networks.map(r=>r.id),siweConfig:{options:((n=e.siweConfig)==null?void 0:n.options)||{}}}})}initControllers(e){this.initializeOptionsController(e),this.initializeChainController(e),this.initializeThemeController(e),this.initializeConnectionController(e),this.initializeConnectorController()}initAdapterController(){Hf.initialize(this.chainAdapters)}initializeThemeController(e){e.themeMode&&Ht.setThemeMode(e.themeMode),e.themeVariables&&Ht.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient)throw new Error("ConnectionControllerClient must be set");w.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient});const s=this.getDefaultNetwork();s&&w.setActiveCaipNetwork(s)}initializeConnectionController(e){K.initialize(e.adapters??[]),K.setWcBasic(e.basic??!1)}initializeConnectorController(){q.initialize(this.chainNamespaces)}initializeProjectSettings(e){$.setProjectId(e.projectId),$.setSdkVersion(e.sdkVersion)}initializeOptionsController(e){var r;$.setDebug(e.debug!==!1),$.setEnableWalletGuide(e.enableWalletGuide!==!1),$.setEnableWallets(e.enableWallets!==!1),$.setEIP6963Enabled(e.enableEIP6963!==!1),$.setEnableNetworkSwitch(e.enableNetworkSwitch!==!1),$.setEnableReconnect(e.enableReconnect!==!1),$.setEnableMobileFullScreen(e.enableMobileFullScreen===!0),$.setCoinbasePreference(e.coinbasePreference),$.setEnableAuthLogger(e.enableAuthLogger!==!1),$.setCustomRpcUrls(e.customRpcUrls),$.setEnableEmbedded(e.enableEmbedded),$.setAllWallets(e.allWallets),$.setIncludeWalletIds(e.includeWalletIds),$.setExcludeWalletIds(e.excludeWalletIds),$.setFeaturedWalletIds(e.featuredWalletIds),$.setTokens(e.tokens),$.setTermsConditionsUrl(e.termsConditionsUrl),$.setPrivacyPolicyUrl(e.privacyPolicyUrl),$.setCustomWallets(e.customWallets),$.setFeatures(e.features),$.setAllowUnsupportedChain(e.allowUnsupportedChain),$.setUniversalProviderConfigOverride(e.universalProviderConfigOverride),$.setPreferUniversalLinks(e.experimental_preferUniversalLinks),$.setDefaultAccountTypes(e.defaultAccountTypes);const s=this.getDefaultMetaData();if(!e.metadata&&s&&(e.metadata=s),$.setMetadata(e.metadata),$.setDisableAppend(e.disableAppend),$.setEnableEmbedded(e.enableEmbedded),$.setSIWX(e.siwx),this.features=$.state.features??{},!e.projectId){St.open(It.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error");return}if(((r=e.adapters)==null?void 0:r.find(i=>i.namespace===U.CHAIN.EVM))&&e.siweConfig){if(e.siwx)throw new Error("Cannot set both `siweConfig` and `siwx` options");$.setSIWX(e.siweConfig.mapToSIWX())}}getDefaultMetaData(){var e,s,n,r;return Z.isClient()?{name:((s=(e=document.getElementsByTagName("title"))==null?void 0:e[0])==null?void 0:s.textContent)||"",description:((n=document.querySelector('meta[property="og:description"]'))==null?void 0:n.content)||"",url:window.location.origin,icons:[((r=document.querySelector('link[rel~="icon"]'))==null?void 0:r.href)||""]}:null}setUnsupportedNetwork(e){const s=this.getActiveChainNamespace();if(s){const n=Gr.getUnsupportedNetwork(`${s}:${e}`);w.setActiveCaipNetwork(n)}}getDefaultNetwork(){return Gr.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,s){return Gr.extendCaipNetwork(e,{customNetworkImageUrls:s.chainImages,projectId:s.projectId})}extendCaipNetworks(e){return Gr.extendCaipNetworks(e.networks,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId})}extendDefaultCaipNetwork(e){const s=e.networks.find(r=>{var i;return r.id===((i=e.defaultNetwork)==null?void 0:i.id)});return s?Gr.extendCaipNetwork(s,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}async disconnectConnector(e,s){var n,r;try{this.setLoading(!0,e);let i={connections:[]};const o=this.getAdapter(e);return(((r=(n=w.state.chains.get(e))==null?void 0:n.accountState)==null?void 0:r.caipAddress)||!$.state.enableReconnect)&&(o!=null&&o.disconnect)&&(i=await o.disconnect({id:s})),this.setLoading(!1,e),i}catch(i){throw this.setLoading(!1,e),new Error(`Failed to disconnect chains: ${i.message}`)}}createClients(){this.connectionControllerClient={connectWalletConnect:async()=>{var l;const e=w.state.activeChain,s=this.getAdapter(e),n=(l=this.getCaipNetwork(e))==null?void 0:l.id,r=K.getConnections(e),i=this.remoteFeatures.multiWallet,o=r.length>0;if(!s)throw new Error("Adapter not found");const a=await s.connectWalletConnect(n);(!o||!i)&&this.close(),this.setClientId((a==null?void 0:a.clientId)||null),M.setConnectedNamespaces([...w.state.chains.keys()]),await this.syncWalletConnectAccount(),await Es.initializeIfEnabled()},connectExternal:async e=>{const s=await this.onConnectExternal(e);return await this.connectInactiveNamespaces(e,s),s?{address:s.address}:void 0},reconnectExternal:async({id:e,info:s,type:n,provider:r})=>{var a;const i=w.state.activeChain,o=this.getAdapter(i);if(!i)throw new Error("reconnectExternal: namespace not found");if(!o)throw new Error("reconnectExternal: adapter not found");o!=null&&o.reconnect&&(await(o==null?void 0:o.reconnect({id:e,info:s,type:n,provider:r,chainId:(a=this.getCaipNetwork())==null?void 0:a.id})),M.addConnectedNamespace(i),this.syncConnectedWalletInfo(i))},disconnectConnector:async e=>{await this.disconnectConnector(e.namespace,e.id)},disconnect:async e=>{var l;const{id:s,chainNamespace:n,initialDisconnect:r}=e||{},i=n||w.state.activeChain,o=q.getConnectorId(i),a=s===U.CONNECTOR_ID.AUTH||o===U.CONNECTOR_ID.AUTH,c=s===U.CONNECTOR_ID.WALLET_CONNECT||o===U.CONNECTOR_ID.WALLET_CONNECT;try{const d=Array.from(w.state.chains.keys());let u=n?[n]:d;(c||a)&&(u=d);const h=u.map(async f=>{const y=q.getConnectorId(f),b=s||y,S=await this.disconnectConnector(f,b);S&&(a&&M.deleteConnectedSocialProvider(),S.connections.forEach(v=>{M.addDisconnectedConnectorId(v.connectorId,f)})),r&&this.onDisconnectNamespace({chainNamespace:f,closeModal:!1})}),p=await Promise.allSettled(h);_e.resetSend(),K.resetWcConnection(),(l=Es.getSIWX())!=null&&l.signOutOnDisconnect&&await Es.clearSessions(),q.setFilterByNamespace(void 0),K.syncStorageConnections();const m=p.filter(f=>f.status==="rejected");if(m.length>0)throw new Error(m.map(f=>f.reason.message).join(", "));we.sendEvent({type:"track",event:"DISCONNECT_SUCCESS",properties:{namespace:n||"all"}})}catch(d){throw new Error(`Failed to disconnect chains: ${d.message}`)}},checkInstalled:e=>e?e.some(s=>{var n;return!!((n=window.ethereum)!=null&&n[String(s)])}):!!window.ethereum,signMessage:async e=>{const s=w.state.activeChain,n=this.getAdapter(w.state.activeChain);if(!s)throw new Error("signMessage: namespace not found");if(!n)throw new Error("signMessage: adapter not found");const r=this.getAddress(s);if(!r)throw new Error("signMessage: address not found");const i=await(n==null?void 0:n.signMessage({message:e,address:r,provider:He.getProvider(s)}));return(i==null?void 0:i.signature)||""},sendTransaction:async e=>{const s=e.chainNamespace;if(!s)throw new Error("sendTransaction: namespace not found");if(Ie.SEND_SUPPORTED_NAMESPACES.includes(s)){const n=this.getAdapter(s);if(!n)throw new Error("sendTransaction: adapter not found");const r=He.getProvider(s),i=await(n==null?void 0:n.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:r}));return(i==null?void 0:i.hash)||""}return""},estimateGas:async e=>{const s=e.chainNamespace;if(s===U.CHAIN.EVM){const n=this.getAdapter(s);if(!n)throw new Error("estimateGas: adapter is required but got undefined");const r=He.getProvider(s),i=this.getCaipNetwork();if(!i)throw new Error("estimateGas: caipNetwork is required but got undefined");const o=await(n==null?void 0:n.estimateGas({...e,provider:r,caipNetwork:i}));return(o==null?void 0:o.gas)||0n}return 0n},getEnsAvatar:async()=>{var r;const e=w.state.activeChain;if(!e)throw new Error("getEnsAvatar: namespace is required but got undefined");const s=this.getAddress(e);if(!s)throw new Error("getEnsAvatar: address not found");await this.syncIdentity({address:s,chainId:Number((r=this.getCaipNetwork())==null?void 0:r.id),chainNamespace:e});const n=w.getAccountData();return(n==null?void 0:n.profileImage)||!1},getEnsAddress:async e=>await Wn.resolveReownName(e),writeContract:async e=>{const s=w.state.activeChain,n=this.getAdapter(s);if(!s)throw new Error("writeContract: namespace is required but got undefined");if(!n)throw new Error("writeContract: adapter is required but got undefined");const r=this.getCaipNetwork(),i=this.getCaipAddress(),o=He.getProvider(s);if(!r||!i)throw new Error("writeContract: caipNetwork or caipAddress is required but got undefined");const a=await(n==null?void 0:n.writeContract({...e,caipNetwork:r,provider:o,caipAddress:i}));return a==null?void 0:a.hash},parseUnits:(e,s)=>{const n=this.getAdapter(w.state.activeChain);if(!n)throw new Error("parseUnits: adapter is required but got undefined");return(n==null?void 0:n.parseUnits({value:e,decimals:s}))??0n},formatUnits:(e,s)=>{const n=this.getAdapter(w.state.activeChain);if(!n)throw new Error("formatUnits: adapter is required but got undefined");return(n==null?void 0:n.formatUnits({value:e,decimals:s}))??"0"},getCapabilities:async e=>{const s=this.getAdapter(w.state.activeChain);if(!s)throw new Error("getCapabilities: adapter is required but got undefined");return await(s==null?void 0:s.getCapabilities(e))},grantPermissions:async e=>{const s=this.getAdapter(w.state.activeChain);if(!s)throw new Error("grantPermissions: adapter is required but got undefined");return await(s==null?void 0:s.grantPermissions(e))},revokePermissions:async e=>{const s=this.getAdapter(w.state.activeChain);if(!s)throw new Error("revokePermissions: adapter is required but got undefined");return s!=null&&s.revokePermissions?await s.revokePermissions(e):"0x"},walletGetAssets:async e=>{const s=this.getAdapter(w.state.activeChain);if(!s)throw new Error("walletGetAssets: adapter is required but got undefined");return await(s==null?void 0:s.walletGetAssets(e))??{}},updateBalance:e=>{const s=this.getAddress(e),n=this.getCaipNetwork(e);!n||!s||this.updateNativeBalance(s,n==null?void 0:n.id,e)}},K.setClient(this.connectionControllerClient)}async onConnectExternal(e){var l,d,u,h,p,m,f,y;const s=w.state.activeChain,n=e.chain||s,r=this.getAdapter(n);let i=!0;if(e.type===Ut.CONNECTOR_TYPE_AUTH&&U.AUTH_CONNECTOR_SUPPORTED_CHAINS.some(v=>q.getConnectorId(v)===U.CONNECTOR_ID.AUTH)&&e.chain!==s&&(i=!1),e.chain&&e.chain!==s&&!e.caipNetwork){const b=this.getCaipNetworks().find(S=>S.chainNamespace===e.chain);b&&i&&this.setCaipNetwork(b)}if(!n)throw new Error("connectExternal: namespace not found");if(!r)throw new Error("connectExternal: adapter not found");const o=this.getCaipNetwork(n),a=e.caipNetwork||o,c=await r.connect({id:e.id,address:e.address,info:e.info,type:e.type,provider:e.provider,socialUri:e.socialUri,chainId:((l=e.caipNetwork)==null?void 0:l.id)||(o==null?void 0:o.id),rpcUrl:((p=(h=(u=(d=e.caipNetwork)==null?void 0:d.rpcUrls)==null?void 0:u.default)==null?void 0:h.http)==null?void 0:p[0])||((y=(f=(m=o==null?void 0:o.rpcUrls)==null?void 0:m.default)==null?void 0:f.http)==null?void 0:y[0])});if(c)return M.addConnectedNamespace(n),this.syncProvider({...c,chainNamespace:n}),this.setStatus("connected",n),this.syncConnectedWalletInfo(n),M.removeDisconnectedConnectorId(e.id,n),{address:c.address,connectedCaipNetwork:a}}async connectInactiveNamespaces(e,s){var a;const n=e.type===Ut.CONNECTOR_TYPE_AUTH,r=wo.getOtherAuthNamespaces((a=s==null?void 0:s.connectedCaipNetwork)==null?void 0:a.chainNamespace),i=w.state.activeCaipNetwork,o=this.getAdapter(i==null?void 0:i.chainNamespace);n&&(await Promise.all(r.map(async c=>{var l,d,u;try{const h=He.getProvider(c),p=this.getCaipNetwork(c),m=this.getAdapter(c);await(m==null?void 0:m.connect({...e,provider:h,socialUri:void 0,chainId:p==null?void 0:p.id,rpcUrl:(u=(d=(l=p==null?void 0:p.rpcUrls)==null?void 0:l.default)==null?void 0:d.http)==null?void 0:u[0]}))&&(M.addConnectedNamespace(c),M.removeDisconnectedConnectorId(e.id,c),this.setStatus("connected",c),this.syncConnectedWalletInfo(c))}catch(h){St.warn(It.ALERT_WARNINGS.INACTIVE_NAMESPACE_NOT_CONNECTED.displayMessage,It.ALERT_WARNINGS.INACTIVE_NAMESPACE_NOT_CONNECTED.debugMessage(c,h instanceof Error?h.message:void 0),It.ALERT_WARNINGS.INACTIVE_NAMESPACE_NOT_CONNECTED.code)}})),i&&await(o==null?void 0:o.switchNetwork({caipNetwork:i})))}getApprovedCaipNetworksData(){var s,n,r,i,o;if(He.getProviderId(w.state.activeChain)===Ut.CONNECTOR_TYPE_WALLET_CONNECT){const a=(n=(s=this.universalProvider)==null?void 0:s.session)==null?void 0:n.namespaces;return{supportsAllNetworks:((o=(i=(r=this.universalProvider)==null?void 0:r.session)==null?void 0:i.peer)==null?void 0:o.metadata.name)==="MetaMask Wallet",approvedCaipNetworkIds:this.getChainsFromNamespaces(a)}}return{supportsAllNetworks:!0,approvedCaipNetworkIds:[]}}async switchCaipNetwork(e){const s=e.chainNamespace;if(this.getAddressByChainNamespace(e.chainNamespace)){const r=He.getProviderId(s);if(e.chainNamespace===w.state.activeChain){const i=this.getAdapter(s);await(i==null?void 0:i.switchNetwork({caipNetwork:e}))}else if(this.setCaipNetwork(e),r===Ut.CONNECTOR_TYPE_WALLET_CONNECT)this.syncWalletConnectAccount();else{const i=this.getAddressByChainNamespace(s);i&&this.syncAccount({address:i,chainId:e.id,chainNamespace:s})}}else this.setCaipNetwork(e)}getChainsFromNamespaces(e={}){return Object.values(e).flatMap(s=>{const n=s.chains||[],r=s.accounts.map(i=>{const{chainId:o,chainNamespace:a}=ct.parseCaipAddress(i);return`${a}:${o}`});return Array.from(new Set([...n,...r]))})}createAdapters(e){return this.createClients(),this.chainNamespaces.reduce((s,n)=>{var i,o;const r=e==null?void 0:e.find(a=>a.namespace===n);return r?(r.construct({namespace:n,projectId:(i=this.options)==null?void 0:i.projectId,networks:(o=this.caipNetworks)==null?void 0:o.filter(({chainNamespace:a})=>a===n)}),s[n]=r):s[n]=new lk({namespace:n,networks:this.getCaipNetworks()}),s},{})}async initChainAdapter(e){this.onConnectors(e),this.listenAdapter(e);const s=this.getAdapter(e);if(!s)throw new Error("adapter not found");await s.syncConnectors(),await this.createUniversalProviderForAdapter(e)}async initChainAdapters(){await Promise.all(this.chainNamespaces.map(async e=>{await this.initChainAdapter(e)})),this.initAdapterController()}onConnectors(e){const s=this.getAdapter(e);s==null||s.on("connectors",this.setConnectors.bind(this))}listenAdapter(e){const s=this.getAdapter(e);if(!s)return;const n=M.getConnectionStatus();$.state.enableReconnect===!1?this.setStatus("disconnected",e):n==="connected"?this.setStatus("connecting",e):n==="disconnected"?(M.clearAddressCache(),this.setStatus(n,e)):this.setStatus(n,e),s.on("switchNetwork",({address:r,chainId:i})=>{var l,d;const o=this.getCaipNetworks().find(u=>u.id.toString()===i.toString()||u.caipNetworkId.toString()===i.toString()),a=w.state.activeChain===e,c=(d=(l=w.state.chains.get(e))==null?void 0:l.accountState)==null?void 0:d.address;if(o){const u=a&&r?r:c;u&&this.syncAccount({address:u,chainId:o.id,chainNamespace:e})}else this.setUnsupportedNetwork(i)}),s.on("disconnect",()=>{const r=this.remoteFeatures.multiWallet,i=Array.from(K.state.connections.values()).flat();this.onDisconnectNamespace({chainNamespace:e,closeModal:!r||i.length===0})}),s.on("connections",r=>{this.setConnections(r,e)}),s.on("pendingTransactions",()=>{const r=this.getAddress(e),i=w.state.activeCaipNetwork;!r||!(i!=null&&i.id)||this.updateNativeBalance(r,i.id,i.chainNamespace)}),s.on("accountChanged",({address:r,chainId:i,connector:o})=>{var d,u;this.handlePreviousConnectorConnection(o);const a=w.state.activeChain===e;o!=null&&o.provider&&(this.syncProvider({id:o.id,type:o.type,provider:o==null?void 0:o.provider,chainNamespace:e}),this.syncConnectedWalletInfo(e));const c=(u=(d=w.getNetworkData(e))==null?void 0:d.caipNetwork)==null?void 0:u.id,l=i||c;a&&l?this.syncAccount({address:r,chainId:l,chainNamespace:e}):!a&&l?(this.syncAccountInfo(r,l,e),this.syncBalance({address:r,chainId:l,chainNamespace:e})):this.syncAccountInfo(r,i,e),M.addConnectedNamespace(e)})}async handlePreviousConnectorConnection(e){var c;const s=e==null?void 0:e.chain,n=e==null?void 0:e.id,r=q.getConnectorId(s),i=(c=$.state.remoteFeatures)==null?void 0:c.multiWallet,a=s&&n&&r&&r!==n&&!i;try{a&&await K.disconnect({id:r,namespace:s})}catch(l){console.warn("Error disconnecting previous connector",l)}}async createUniversalProviderForAdapter(e){var s,n,r;await this.getUniversalProvider(),this.universalProvider&&await((r=(n=(s=this.chainAdapters)==null?void 0:s[e])==null?void 0:n.setUniversalProvider)==null?void 0:r.call(n,this.universalProvider))}async syncExistingConnection(){await Promise.allSettled(this.chainNamespaces.map(e=>this.syncNamespaceConnection(e)))}async unSyncExistingConnection(){try{await Promise.allSettled(this.chainNamespaces.map(e=>K.disconnect({namespace:e,initialDisconnect:!0})))}catch(e){console.error("Error disconnecting existing connections:",e)}}async reconnectWalletConnect(){await this.syncWalletConnectAccount();const e=this.getAddress();this.getCaipAddress()||M.deleteRecentWallet();const s=M.getRecentWallet();we.sendEvent({type:"track",event:"CONNECT_SUCCESS",address:e,properties:{method:Z.isMobile()?"mobile":"qrcode",name:(s==null?void 0:s.name)||"Unknown",reconnect:!0,view:le.state.view,walletRank:s==null?void 0:s.order}})}async syncNamespaceConnection(e){try{e===U.CHAIN.EVM&&Z.isSafeApp()&&q.setConnectorId(U.CONNECTOR_ID.SAFE,e);const s=q.getConnectorId(e);switch(this.setStatus("connecting",e),s){case U.CONNECTOR_ID.WALLET_CONNECT:await this.reconnectWalletConnect();break;case U.CONNECTOR_ID.AUTH:break;default:await this.syncAdapterConnection(e)}}catch(s){console.warn("AppKit couldn't sync existing connection",s),this.setStatus("disconnected",e)}}onDisconnectNamespace(e){const{chainNamespace:s,closeModal:n}=e||{};w.resetAccount(s),w.resetNetwork(s),M.removeConnectedNamespace(s);const r=Array.from(w.state.chains.keys());(s?[s]:r).forEach(o=>M.addDisconnectedConnectorId(q.getConnectorId(o)||"",o)),q.removeConnectorId(s),He.resetChain(s),this.setUser(null,s),this.setStatus("disconnected",s),this.setConnectedWalletInfo(null,s),n!==!1&&Ne.close()}async syncAdapterConnections(){await Promise.allSettled(this.chainNamespaces.map(e=>{const s=this.getAdapter(e),n=this.getCaipAddress(e),r=this.getCaipNetwork(e);return s==null?void 0:s.syncConnections({connectToFirstConnector:!n,caipNetwork:r})}))}async syncAdapterConnection(e){var a,c,l,d,u;const s=this.getAdapter(e),n=this.getCaipNetwork(e),r=q.getConnectorId(e),o=q.getConnectors(e).find(h=>h.id===r);try{if(!s||!o)throw new Error(`Adapter or connector not found for namespace ${e}`);if(!(n!=null&&n.id))throw new Error("CaipNetwork not found");const h=await(s==null?void 0:s.syncConnection({namespace:e,id:o.id,chainId:n.id,rpcUrl:(l=(c=(a=n==null?void 0:n.rpcUrls)==null?void 0:a.default)==null?void 0:c.http)==null?void 0:l[0]}));h?(this.syncProvider({...h,chainNamespace:e}),await this.syncAccount({...h,chainNamespace:e}),this.setStatus("connected",e),we.sendEvent({type:"track",event:"CONNECT_SUCCESS",address:h.address,properties:{method:"browser",name:((d=o.info)==null?void 0:d.name)||o.name||"Unknown",reconnect:!0,view:le.state.view,walletRank:(u=o==null?void 0:o.explorerWallet)==null?void 0:u.order}})):this.setStatus("disconnected",e)}catch{this.onDisconnectNamespace({chainNamespace:e,closeModal:!1})}}async syncWalletConnectAccount(){var n,r;const e=Object.keys(((r=(n=this.universalProvider)==null?void 0:n.session)==null?void 0:r.namespaces)||{}),s=this.chainNamespaces.map(async i=>{var u,h,p,m,f;const o=this.getAdapter(i);if(!o)return;const a=((m=(p=(h=(u=this.universalProvider)==null?void 0:u.session)==null?void 0:h.namespaces)==null?void 0:p[i])==null?void 0:m.accounts)||[],c=(f=w.state.activeCaipNetwork)==null?void 0:f.id,l=a.find(y=>{const{chainId:b}=ct.parseCaipAddress(y);return b===(c==null?void 0:c.toString())})||a[0];if(l){const y=ct.validateCaipAddress(l),{chainId:b,address:S}=ct.parseCaipAddress(y);if(He.setProviderId(i,Ut.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&w.state.activeCaipNetwork&&o.namespace!==U.CHAIN.EVM){const v=o.getWalletConnectProvider({caipNetworks:this.getCaipNetworks(),provider:this.universalProvider,activeCaipNetwork:w.state.activeCaipNetwork});He.setProvider(i,v)}else He.setProvider(i,this.universalProvider);q.setConnectorId(U.CONNECTOR_ID.WALLET_CONNECT,i),M.addConnectedNamespace(i),await this.syncAccount({address:S,chainId:b,chainNamespace:i})}else e.includes(i)&&this.setStatus("disconnected",i);const d=this.getApprovedCaipNetworksData();this.syncConnectedWalletInfo(i),w.setApprovedCaipNetworksData(i,{approvedCaipNetworkIds:d.approvedCaipNetworkIds,supportsAllNetworks:d.supportsAllNetworks})});await Promise.all(s)}syncProvider({type:e,provider:s,id:n,chainNamespace:r}){He.setProviderId(r,e),He.setProvider(r,s),q.setConnectorId(n,r)}async syncAccount(e){var u,h;const s=e.chainNamespace===w.state.activeChain,n=w.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:r,chainId:i,chainNamespace:o}=e,{chainId:a}=M.getActiveNetworkProps(),c=(n==null?void 0:n.id)||a,l=((u=w.state.activeCaipNetwork)==null?void 0:u.name)===U.UNSUPPORTED_NETWORK_NAME,d=w.getNetworkProp("supportsAllNetworks",o);if(this.setStatus("connected",o),!(l&&!d)&&c){let p=this.getCaipNetworks().find(b=>b.id.toString()===c.toString()),m=this.getCaipNetworks().find(b=>b.chainNamespace===o);if(!d&&!p&&!m){const b=this.getApprovedCaipNetworkIds()||[],S=b.find(C=>{var R;return((R=ct.parseCaipNetworkId(C))==null?void 0:R.chainId)===c.toString()}),v=b.find(C=>{var R;return((R=ct.parseCaipNetworkId(C))==null?void 0:R.chainNamespace)===o});p=this.getCaipNetworks().find(C=>C.caipNetworkId===S),m=this.getCaipNetworks().find(C=>C.caipNetworkId===v||"deprecatedCaipNetworkId"in C&&C.deprecatedCaipNetworkId===v)}const f=p||m;(f==null?void 0:f.chainNamespace)===w.state.activeChain?$.state.enableNetworkSwitch&&!$.state.allowUnsupportedChain&&((h=w.state.activeCaipNetwork)==null?void 0:h.name)===U.UNSUPPORTED_NETWORK_NAME?w.showUnsupportedChainUI():this.setCaipNetwork(f):s||n&&this.setCaipNetworkOfNamespace(n,o),this.syncConnectedWalletInfo(o);const y=this.getAddress(o);wo.isLowerCaseMatch(r,y)||this.syncAccountInfo(r,f==null?void 0:f.id,o),s?await this.syncBalance({address:r,chainId:f==null?void 0:f.id,chainNamespace:o}):await this.syncBalance({address:r,chainId:n==null?void 0:n.id,chainNamespace:o}),this.syncIdentity({address:r,chainId:i,chainNamespace:o})}}async syncAccountInfo(e,s,n){const r=this.getCaipAddress(n),i=s||(r==null?void 0:r.split(":")[1]);if(!i)return;const o=`${n}:${i}:${e}`;this.setCaipAddress(o,n,!0),await this.syncIdentity({address:e,chainId:i,chainNamespace:n})}async syncReownName(e,s){try{const n=await this.getReownName(e);if(n[0]){const r=n[0];this.setProfileName(r.name,s)}else this.setProfileName(null,s)}catch{this.setProfileName(null,s)}}syncConnectedWalletInfo(e){var r;const s=q.getConnectorId(e),n=He.getProviderId(e);if(n===Ut.CONNECTOR_TYPE_ANNOUNCED||n===Ut.CONNECTOR_TYPE_INJECTED){if(s){const o=this.getConnectors().find(a=>{var u,h;const c=a.id===s,l=((u=a.info)==null?void 0:u.rdns)===s,d=(h=a.connectors)==null?void 0:h.some(p=>{var m;return p.id===s||((m=p.info)==null?void 0:m.rdns)===s});return c||l||!!d});if(o){const{info:a,name:c,imageUrl:l}=o,d=l||this.getConnectorImage(o);this.setConnectedWalletInfo({name:c,icon:d,...a},e)}}}else if(n===Ut.CONNECTOR_TYPE_WALLET_CONNECT){const i=He.getProvider(e);i!=null&&i.session&&this.setConnectedWalletInfo({...i.session.peer.metadata,name:i.session.peer.metadata.name,icon:(r=i.session.peer.metadata.icons)==null?void 0:r[0]},e)}else if(s&&(s===U.CONNECTOR_ID.COINBASE_SDK||s===U.CONNECTOR_ID.COINBASE)){const i=this.getConnectors().find(l=>l.id===s),o=(i==null?void 0:i.name)||"Coinbase Wallet",a=(i==null?void 0:i.imageUrl)||this.getConnectorImage(i),c=i==null?void 0:i.info;this.setConnectedWalletInfo({...c,name:o,icon:a},e)}}async syncBalance(e){!Ef.getNetworksByNamespace(this.getCaipNetworks(),e.chainNamespace).find(n=>{var r;return n.id.toString()===((r=e.chainId)==null?void 0:r.toString())})||!e.chainId||await this.updateNativeBalance(e.address,e.chainId,e.chainNamespace)}async ready(){await this.readyPromise}async updateNativeBalance(e,s,n){const r=this.getAdapter(n),i=w.getCaipNetworkByNamespace(n,s);if(r){const o=await r.getBalance({address:e,chainId:s,caipNetwork:i,tokens:this.options.tokens});return this.setBalance(o.balance,o.symbol,n),o}}async initializeUniversalAdapter(){var r,i,o,a,c,l,d,u,h,p;const e=kx.createLogger((m,...f)=>{m&&this.handleAlertError(m),console.error(...f)}),s={projectId:(r=this.options)==null?void 0:r.projectId,metadata:{name:(i=this.options)!=null&&i.metadata?(o=this.options)==null?void 0:o.metadata.name:"",description:(a=this.options)!=null&&a.metadata?(c=this.options)==null?void 0:c.metadata.description:"",url:(l=this.options)!=null&&l.metadata?(d=this.options)==null?void 0:d.metadata.url:"",icons:(u=this.options)!=null&&u.metadata?(h=this.options)==null?void 0:h.metadata.icons:[""]},logger:e};$.setManualWCControl(!!((p=this.options)!=null&&p.manualWCControl)),this.universalProvider=this.options.universalProvider??await ex.init(s);const n=this.universalProvider.disconnect.bind(this.universalProvider);this.universalProvider.disconnect=async()=>{try{return await n()}catch(m){if(m instanceof Error&&m.message.includes("Missing or invalid. Record was recently deleted"))return;throw m}},$.state.enableReconnect===!1&&this.universalProvider.session&&await this.universalProvider.disconnect(),this.listenWalletConnect()}listenWalletConnect(){this.universalProvider&&this.chainNamespaces.forEach(e=>{Wn.listenWcProvider({universalProvider:this.universalProvider,namespace:e,onDisplayUri:s=>{K.setUri(s)},onConnect:s=>{const{address:n}=Z.getAccount(s[0]);K.finalizeWcConnection(n)},onDisconnect:()=>{w.state.noAdapters&&this.resetAccount(e),K.resetWcConnection()},onChainChanged:s=>{const n=w.state.activeChain,r=n&&q.state.activeConnectorIds[n]===U.CONNECTOR_ID.WALLET_CONNECT;if(n===e&&(w.state.noAdapters||r)){const i=this.getCaipNetworks().find(a=>a.id.toString()===s.toString()||a.caipNetworkId.toString()===s.toString()),o=this.getCaipNetwork();if(!i){this.setUnsupportedNetwork(s);return}(o==null?void 0:o.id.toString())!==(i==null?void 0:i.id.toString())&&(o==null?void 0:o.chainNamespace)===(i==null?void 0:i.chainNamespace)&&this.setCaipNetwork(i)}},onAccountsChanged:s=>{const n=w.state.activeChain,r=n&&q.state.activeConnectorIds[n]===U.CONNECTOR_ID.WALLET_CONNECT;if(n===e&&(w.state.noAdapters||r)){const i=s==null?void 0:s[0];i&&this.syncAccount({address:i.address,chainId:i.chainId,chainNamespace:i.chainNamespace})}}})})}createUniversalProvider(){var e;return!this.universalProviderInitPromise&&Z.isClient()&&((e=this.options)!=null&&e.projectId)&&(this.universalProviderInitPromise=this.initializeUniversalAdapter()),this.universalProviderInitPromise}async getUniversalProvider(){if(!this.universalProvider)try{await this.createUniversalProvider()}catch(e){we.sendEvent({type:"error",event:"INTERNAL_SDK_ERROR",properties:{errorType:"UniversalProviderInitError",errorMessage:e instanceof Error?e.message:"Unknown",uncaught:!1}}),console.error("AppKit:getUniversalProvider - Cannot create provider",e)}return this.universalProvider}getDisabledCaipNetworks(){const e=w.getAllApprovedCaipNetworkIds(),s=w.getAllRequestedCaipNetworks();return Z.sortRequestedNetworks(e,s).filter(r=>w.isCaipNetworkDisabled(r))}handleAlertError(e){const s=Object.entries(It.UniversalProviderErrors).find(([,{message:a}])=>e.message.includes(a)),[n,r]=s??[],{message:i,alertErrorKey:o}=r??{};if(n&&i&&!this.reportedAlertErrors[n]){const a=It.ALERT_ERRORS[o];a&&(St.open(a,"error"),this.reportedAlertErrors[n]=!0)}}getAdapter(e){var s;if(e)return(s=this.chainAdapters)==null?void 0:s[e]}createAdapter(e){var r,i;if(!e)return;const s=e.namespace;if(!s)return;this.createClients();const n=e;n.namespace=s,n.construct({namespace:s,projectId:(r=this.options)==null?void 0:r.projectId,networks:(i=this.caipNetworks)==null?void 0:i.filter(({chainNamespace:o})=>o===s)}),this.chainNamespaces.includes(s)||this.chainNamespaces.push(s),this.chainAdapters&&(this.chainAdapters[s]=n)}async open(e){await this.injectModalUi(),e!=null&&e.uri&&K.setUri(e.uri);const{isSwap:s,isSend:n}=this.toModalOptions();return s(e)?Ne.open({...e,data:{swap:e.arguments}}):n(e)&&e.arguments?this.openSend(e.arguments):Ne.open(e)}async close(){await this.injectModalUi(),Ne.close()}setLoading(e,s){Ne.setLoading(e,s)}async disconnect(e){await K.disconnect({namespace:e})}getSIWX(){return $.state.siwx}getError(){return""}getChainId(){var e;return(e=w.state.activeCaipNetwork)==null?void 0:e.id}async switchNetwork(e,{throwOnFailure:s=!1}={}){const n=this.getCaipNetworks().find(r=>r.id===e.id);if(!n){St.open(It.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,"error");return}await w.switchActiveNetwork(n,{throwOnFailure:s})}getWalletProvider(){return w.state.activeChain?He.state.providers[w.state.activeChain]:null}getWalletProviderType(){return He.getProviderId(w.state.activeChain)}subscribeProviders(e){return He.subscribeProviders(e)}getThemeMode(){return Ht.state.themeMode}getThemeVariables(){return Ht.state.themeVariables}setThemeMode(e){Ht.setThemeMode(e),pd(Ht.state.themeMode)}setTermsConditionsUrl(e){$.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){$.setPrivacyPolicyUrl(e)}setThemeVariables(e){Ht.setThemeVariables(e),ck(Ht.state.themeVariables)}subscribeTheme(e){return Ht.subscribe(e)}subscribeConnections(e){return this.remoteFeatures.multiWallet?K.subscribe(e):(St.open(U.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info"),()=>{})}getWalletInfo(e){var n,r;if(e)return(r=(n=w.state.chains.get(e))==null?void 0:n.accountState)==null?void 0:r.connectedWalletInfo;const s=w.getAccountData();return s==null?void 0:s.connectedWalletInfo}getAccount(e){const s=e||w.state.activeChain,n=q.getAuthConnector(s),r=w.getAccountData(s),i=M.getConnectedConnectorId(w.state.activeChain),o=K.getConnections(s);if(!s)throw new Error("AppKit:getAccount - namespace is required");const a=o.flatMap(c=>c.accounts.map(({address:l,type:d,publicKey:u})=>Z.createAccount(s,l,d||"eoa",u)));if(r)return{allAccounts:a,caipAddress:r.caipAddress,address:Z.getPlainAddress(r.caipAddress),isConnected:!!r.caipAddress,status:r.status,embeddedWalletInfo:n&&i===U.CONNECTOR_ID.AUTH?{user:r.user?{...r.user,username:M.getConnectedSocialUsername()}:void 0,authProvider:r.socialProvider||"email",accountType:os(s),isSmartAccountDeployed:!!r.smartAccountDeployed}:void 0}}subscribeAccount(e,s){const n=()=>{const r=this.getAccount(s);r&&e(r)};s?w.subscribeChainProp("accountState",n,s):w.subscribe(n),q.subscribe(n)}subscribeNetwork(e){return w.subscribe(({activeCaipNetwork:s})=>{e({caipNetwork:s,chainId:s==null?void 0:s.id,caipNetworkId:s==null?void 0:s.caipNetworkId})})}subscribeWalletInfo(e,s){return s?w.subscribeChainProp("accountState",n=>e(n==null?void 0:n.connectedWalletInfo),s):w.subscribeChainProp("accountState",n=>e(n==null?void 0:n.connectedWalletInfo))}subscribeShouldUpdateToAddress(e){w.subscribeChainProp("accountState",s=>e(s==null?void 0:s.shouldUpdateToAddress))}subscribeCaipNetworkChange(e){w.subscribeKey("activeCaipNetwork",e)}getState(){return as.state}getRemoteFeatures(){return $.state.remoteFeatures}subscribeState(e){return as.subscribe(e)}subscribeRemoteFeatures(e){return $.subscribeKey("remoteFeatures",e)}showErrorMessage(e){Ws.showError(e)}showSuccessMessage(e){Ws.showSuccess(e)}getEvent(){return{...we.state}}subscribeEvents(e){return we.subscribe(e)}replace(e){le.replace(e)}redirect(e){le.push(e)}popTransactionStack(e){le.popTransactionStack(e)}isOpen(){return Ne.state.open}isTransactionStackEmpty(){return le.state.transactionStack.length===0}static getInstance(){return this.instance}updateFeatures(e){$.setFeatures(e)}updateRemoteFeatures(e){$.setRemoteFeatures(e)}updateOptions(e){const n={...$.state||{},...e};$.setOptions(n)}setConnectMethodsOrder(e){$.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){$.setWalletFeaturesOrder(e)}setCollapseWallets(e){$.setCollapseWallets(e)}setSocialsOrder(e){$.setSocialsOrder(e)}getConnectMethodsOrder(){return Fn.getConnectOrderMethod($.state.features,q.getConnectors())}addNetwork(e,s){if(this.chainAdapters&&!this.chainAdapters[e])throw new Error(`Adapter for namespace ${e} doesn't exist`);const n=this.extendCaipNetwork(s,this.options);this.getCaipNetworks().find(r=>r.id===n.id)||w.addNetwork(n)}removeNetwork(e,s){if(this.chainAdapters&&!this.chainAdapters[e])throw new Error(`Adapter for namespace ${e} doesn't exist`);this.getCaipNetworks().find(r=>r.id===s)&&w.removeNetwork(e,s)}}let uf=!1;class hy extends hk{async onAuthProviderConnected(e){const s=wo.userChainIdToChainNamespace(e==null?void 0:e.chainId);if(e.message&&e.signature&&e.siwxMessage&&await Es.addEmbeddedWalletSession({chainId:e.siwxMessage.chainId,accountAddress:e.address,notBefore:e.siwxMessage.notBefore,statement:e.siwxMessage.statement,resources:e.siwxMessage.resources,requestId:e.siwxMessage.requestId,issuedAt:e.siwxMessage.issuedAt,domain:e.siwxMessage.domain,uri:e.siwxMessage.uri,version:e.siwxMessage.version,nonce:e.siwxMessage.nonce},e.message,e.signature),!s)throw new Error("AppKit:onAuthProviderConnected - namespace is required");const n=s===U.CHAIN.EVM?`eip155:${e.chainId}:${e.address}`:`${e.chainId}:${e.address}`,r=$.state.defaultAccountTypes[s],i=os(s),o=e.preferredAccountType||i||r;this.setCaipAddress(n,s);const{signature:a,siwxMessage:c,message:l,...d}=e,u=w.getAccountData(s);this.setUser({...(u==null?void 0:u.user)||{},...d},s),this.setSmartAccountDeployed(!!e.smartAccountDeployed,s),this.setPreferredAccountType(o,s),await Promise.all([this.syncAuthConnectorTheme(this.authProvider),this.syncAccount({address:e.address,chainId:e.chainId,chainNamespace:s})]),this.setLoading(!1,s)}setupAuthConnectorListeners(e){e.onRpcRequest(s=>{is.checkIfRequestExists(s)?is.checkIfRequestIsSafe(s)||this.handleUnsafeRPCRequest():(this.open(),console.error(et.RPC_METHOD_NOT_ALLOWED_MESSAGE,{method:s.method}),setTimeout(()=>{this.showErrorMessage(et.RPC_METHOD_NOT_ALLOWED_UI_MESSAGE)},300),e.rejectRpcRequests())}),e.onRpcError(()=>{this.isOpen()&&(this.isTransactionStackEmpty()?this.close():this.popTransactionStack("error"))}),e.onRpcSuccess((s,n)=>{const r=is.checkIfRequestIsSafe(n),i=this.getAddress(),o=w.state.activeCaipNetwork;r||(i&&(o!=null&&o.id)&&this.updateNativeBalance(i,o.id,o.chainNamespace),this.isTransactionStackEmpty()?this.close():this.popTransactionStack("success"))}),e.onNotConnected(()=>{const s=w.state.activeChain;if(!s)throw new Error("AppKit:onNotConnected - namespace is required");q.getConnectorId(s)===U.CONNECTOR_ID.AUTH&&(this.setCaipAddress(null,s),this.setLoading(!1,s))}),e.onConnect(this.onAuthProviderConnected.bind(this)),e.onSocialConnected(this.onAuthProviderConnected.bind(this)),e.onSetPreferredAccount(({address:s,type:n})=>{const r=w.state.activeChain;if(!r)throw new Error("AppKit:onSetPreferredAccount - namespace is required");s&&this.setPreferredAccountType(n,r)})}async syncAuthConnectorTheme(e){if(!e)return;const s=Ht.getSnapshot();await e.syncTheme({themeMode:s.themeMode,themeVariables:s.themeVariables,w3mThemeVariables:Yi(s.themeVariables,s.themeMode)})}async syncAuthConnector(e,s){var d,u,h,p,m,f,y,b,S;const n=U.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(s),r=s===w.state.activeChain;if(!n)return;this.setLoading(!0,s);const i=e.getLoginEmailUsed();this.setLoading(i,s),i&&this.setStatus("connecting",s);const o=e.getEmail(),a=e.getUsername(),c=((d=w.getAccountData(s))==null?void 0:d.user)||{};this.setUser({...c,username:a,email:o},s),this.setupAuthConnectorListeners(e);const{isConnected:l}=await e.isConnected();if(s&&n&&r)if(l&&((u=this.connectionControllerClient)!=null&&u.connectExternal)){await e.init(),await this.syncAuthConnectorTheme(e),await((m=this.connectionControllerClient)==null?void 0:m.connectExternal({id:U.CONNECTOR_ID.AUTH,info:{name:U.CONNECTOR_ID.AUTH},type:Ut.CONNECTOR_TYPE_AUTH,provider:e,chainId:(p=(h=w.getNetworkData(s))==null?void 0:h.caipNetwork)==null?void 0:p.id,chain:s})),this.setStatus("connected",s);const v=M.getConnectedSocialProvider();v?we.sendEvent({type:"track",event:"SOCIAL_LOGIN_SUCCESS",address:this.getAddress(),properties:{provider:v,reconnect:!0}}):we.sendEvent({type:"track",event:"CONNECT_SUCCESS",address:this.getAddress(),properties:{method:"email",name:((S=(b=(y=(f=this.universalProvider)==null?void 0:f.session)==null?void 0:y.peer)==null?void 0:b.metadata)==null?void 0:S.name)||"Unknown",reconnect:!0,view:le.state.view,walletRank:void 0}})}else q.getConnectorId(s)===U.CONNECTOR_ID.AUTH&&(this.setStatus("disconnected",s),M.removeConnectedNamespace(s));this.setLoading(!1,s)}async checkExistingTelegramSocialConnection(e){var s;try{if(!Z.isTelegram())return;const n=M.getTelegramSocialProvider();if(!n||!Z.isClient())return;const i=new URL(window.location.href).searchParams.get("result_uri");if(!i)return;n&&w.setAccountProp("socialProvider",n,e),await((s=this.authProvider)==null?void 0:s.init());const o=q.getAuthConnector();n&&o&&(this.setLoading(!0,e),await K.connectExternal({id:o.id,type:o.type,socialUri:i},o.chain),M.setConnectedSocialProvider(n),M.removeTelegramSocialProvider(),we.sendEvent({type:"track",event:"SOCIAL_LOGIN_SUCCESS",properties:{provider:n}}))}catch(n){this.setLoading(!1,e),console.error("checkExistingSTelegramocialConnection error",n)}try{const n=new URL(window.location.href);n.searchParams.delete("result_uri"),window.history.replaceState({},document.title,n.toString())}catch(n){console.error("tma social login failed",n)}}createAuthProvider(e){var l,d,u,h;if(!U.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(e))return;const n=(l=this.remoteFeatures)==null?void 0:l.email,r=Array.isArray((d=this.remoteFeatures)==null?void 0:d.socials)&&this.remoteFeatures.socials.length>0,i=n||r,a=wo.getActiveNamespaceConnectedToAuth()||e;!this.authProvider&&((u=this.options)!=null&&u.projectId)&&i&&(this.authProvider=Vi.getInstance({projectId:this.options.projectId,enableLogger:this.options.enableAuthLogger,chainId:(h=this.getCaipNetwork(a))==null?void 0:h.caipNetworkId,abortController:It.EmbeddedWalletAbortController,onTimeout:p=>{p==="iframe_load_failed"?St.open(It.ALERT_ERRORS.IFRAME_LOAD_FAILED,"error"):p==="iframe_request_timeout"?St.open(It.ALERT_ERRORS.IFRAME_REQUEST_TIMEOUT,"error"):p==="unverified_domain"&&St.open(It.ALERT_ERRORS.UNVERIFIED_DOMAIN,"error")},getActiveCaipNetwork:p=>ki(p),getCaipNetworks:p=>w.getCaipNetworks(p)}),as.subscribeOpen(p=>{var m;!p&&this.isTransactionStackEmpty()&&((m=this.authProvider)==null||m.rejectRpcRequests())}));const c=e===w.state.activeChain&&$.state.enableReconnect;$.state.enableReconnect===!1?this.syncAuthConnectorTheme(this.authProvider):this.authProvider&&c&&(this.syncAuthConnector(this.authProvider,e),this.checkExistingTelegramSocialConnection(e))}createAuthProviderForAdapter(e){var s,n,r;this.createAuthProvider(e),this.authProvider&&((r=(n=(s=this.chainAdapters)==null?void 0:s[e])==null?void 0:n.setAuthProvider)==null||r.call(n,this.authProvider))}initControllers(e){super.initControllers(e),this.options.excludeWalletIds&&Q.initializeExcludedWallets({ids:this.options.excludeWalletIds})}async switchCaipNetwork(e){var o,a,c;if(!e)return;const s=w.state.activeChain,n=e.chainNamespace,r=this.getAddressByChainNamespace(n);if(n===s&&((o=w.getAccountData(n))!=null&&o.caipAddress)){const l=this.getAdapter(n);await(l==null?void 0:l.switchNetwork({caipNetwork:e})),this.setCaipNetwork(e)}else{const d=He.getProviderId(s)===Ut.CONNECTOR_TYPE_AUTH,u=He.getProviderId(n),h=u===Ut.CONNECTOR_TYPE_AUTH,p=U.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(n);if(!n)throw new Error("AppKit:switchCaipNetwork - networkNamespace is required");if((d&&u===void 0||h)&&p)try{if(w.state.activeChain=e.chainNamespace,r){const m=this.getAdapter(n);await(m==null?void 0:m.switchNetwork({caipNetwork:e}))}else await((c=(a=this.connectionControllerClient)==null?void 0:a.connectExternal)==null?void 0:c.call(a,{id:U.CONNECTOR_ID.AUTH,provider:this.authProvider,chain:n,chainId:e.id,type:Ut.CONNECTOR_TYPE_AUTH,caipNetwork:e}));this.setCaipNetwork(e)}catch{const f=this.getAdapter(n);await(f==null?void 0:f.switchNetwork({caipNetwork:e}))}else if(u===Ut.CONNECTOR_TYPE_WALLET_CONNECT){if(!w.state.noAdapters){const m=this.getAdapter(n);await(m==null?void 0:m.switchNetwork({caipNetwork:e}))}this.setCaipNetwork(e),this.syncWalletConnectAccount()}else this.setCaipNetwork(e),r&&this.syncAccount({address:r,chainId:e.id,chainNamespace:n})}}async initialize(e){var s;await super.initialize(e),(s=this.chainNamespaces)==null||s.forEach(n=>{this.createAuthProviderForAdapter(n)}),await this.injectModalUi(),as.set({initialized:!0})}async syncIdentity({address:e,chainId:s,chainNamespace:n}){var a;const r=`${n}:${s}`,i=(a=this.caipNetworks)==null?void 0:a.find(c=>c.caipNetworkId===r);if(i!=null&&i.testnet){this.setProfileName(null,n),this.setProfileImage(null,n);return}const o=q.getConnectorId(n)===U.CONNECTOR_ID.AUTH;try{const{name:c,avatar:l}=await this.fetchIdentity({address:e});!c&&o?await this.syncReownName(e,n):(this.setProfileName(c,n),this.setProfileImage(l,n))}catch{s!==1&&this.setProfileImage(null,n)}}syncConnectedWalletInfo(e){const s=He.getProviderId(e);if(s===Ut.CONNECTOR_TYPE_AUTH){const n=this.authProvider;if(n){const r=M.getConnectedSocialProvider()??"email",i=n.getEmail()??n.getUsername();this.setConnectedWalletInfo({name:s,identifier:i,social:r},e)}}else super.syncConnectedWalletInfo(e)}async injectModalUi(){if(Z.isClient()&&!uf)try{const e={...Ie.DEFAULT_FEATURES,...this.options.features},s=this.remoteFeatures;if(await this.loadModalComponents(e,s),Z.isClient()&&!document.querySelector("w3m-modal")){const r=document.createElement("w3m-modal");!$.state.disableAppend&&!$.state.enableEmbedded&&document.body.insertAdjacentElement("beforeend",r)}uf=!0}catch(e){console.error("Error injecting modal UI:",e)}}async loadModalComponents(e,s){if(!Z.isClient())return;const n=[];(s.email||s.socials&&s.socials.length>0)&&n.push(kt(()=>import("./embedded-wallet-B8uZWxEh.js"),__vite__mapDeps([7,8,3,4,9,10,2,11,12,13,14,15,16,17,18,19,20]))),s.email&&n.push(kt(()=>import("./email-BoHg4MC1.js"),__vite__mapDeps([21,8,3,4,22,19,12,18,10,11,17,23,15,2]))),s.socials&&n.push(kt(()=>import("./socials-DMFje8BX.js"),__vite__mapDeps([24,8,3,4,10,25,11,26,2,18,27,14,17,12,28,9,29]))),s.swaps&&s.swaps.length>0&&n.push(kt(()=>import("./swaps-j2qZ5DXt.js"),__vite__mapDeps([30,8,3,4,17,12,18,10,31,32,33,2,29,34,9,15,11]))),e.send&&n.push(kt(()=>import("./send-nv6_aQ5u.js"),__vite__mapDeps([35,8,3,4,17,12,18,10,36,11,37,19,34,9,29,33,2,15,38,39]))),e.receive&&n.push(kt(()=>import("./receive-CSNIDrlL.js"),__vite__mapDeps([40,8,3,4,10,9,28,2]))),s.onramp&&s.onramp.length>0&&n.push(kt(()=>import("./onramp-x3-DpykV.js"),__vite__mapDeps([41,8,3,4,10,42,12,25,11,9,43,44,19,17,18,27,15,2]))),s.payWithExchange&&n.push(kt(()=>import("./pay-with-exchange-CvQl_UJE.js"),__vite__mapDeps([45,8,3,4,10,9,16,42,12,29,17,37,11,19,46,18,15,38,36,2]))),s.activity&&n.push(kt(()=>import("./transactions-Crc2X9nN.js"),__vite__mapDeps([47,8,3,4,48,18,10,19,9,29,2]))),(e.pay||s.payments)&&n.push(kt(()=>import("./index-5qkBR_FM.js"),__vite__mapDeps([49,8,3,4,10,17,12,50,16,9,42,51,36,52,18,2,27]))),s.emailCapture&&n.push(kt(()=>import("./data-capture-HjWJvyUN.js"),__vite__mapDeps([53,8,3,4,22,19,12,6,2]))),await Promise.all([...n,kt(()=>import("./index-CegWB1ic.js"),__vite__mapDeps([54,8,3,4,10,9,12,39,18,55,44,19,13,14,2,52,16,42,17,46,48,29,38,31,32,36,11,15,51,23,25,26,27,28,20,43])),kt(()=>import("./w3m-modal-B-pCSbu7.js"),__vite__mapDeps([56,8,3,4,10,50,9,13,14,2,12,18,32,55,44,19,52,33,17]))])}}const pk="1.8.15";function fk(t){return new hy({...t,sdkVersion:Z.generateSdkVersion(t.adapters??[],"html",pk)})}const s2=Object.freeze(Object.defineProperty({__proto__:null,AppKit:hy,CoreHelperUtil:Z,WcConstantsUtil:Li,createAppKit:fk},Symbol.toStringTag,{value:"Module"}));export{Hi as $,pt as A,he as B,w as C,Jk as D,we as E,Xi as F,M as G,is as H,ie as I,ae as J,Ut as K,Q as L,Ne as M,Gy as N,$ as O,vC as P,It as Q,le as R,Ws as S,Ht as T,ct as U,He as V,et as W,Xy as X,Yi as Y,at as Z,_e as _,Z as a,Tl as a0,ws as a1,da as a2,Nr as a3,un as a4,Es as a5,Qk as a6,Hf as a7,oy as a8,ud as a9,fi as aa,Mf as ab,AC as ac,_C as ad,Bf as ae,Bu as af,PC as ag,Ho as ah,kC as ai,TC as aj,Rs as ak,Ra as al,wo as am,Fn as an,Gr as ao,iv as ap,ki as aq,s2 as ar,Hk as b,Wk as c,Ie as d,Wf as e,zk as f,Vk as g,Kk as h,wt as i,Xk as j,t2 as k,ma as l,Zk as m,Mn as n,K as o,Ke as p,os as q,e2 as r,Et as s,nv as t,St as u,ak as v,vs as w,_d as x,q as y,Ff as z};
248
+ `,Li={ERROR_CODE_UNRECOGNIZED_CHAIN_ID:4902,ERROR_CODE_DEFAULT:5e3,ERROR_INVALID_CHAIN_ID:32603};class lk extends lx{async setUniversalProvider(e){if(!this.namespace)throw new Error("UniversalAdapter:setUniversalProvider - namespace is required");return this.addConnector(new dx({provider:e,caipNetworks:this.getCaipNetworks(),namespace:this.namespace})),Promise.resolve()}async connect(e){return Promise.resolve({id:"WALLET_CONNECT",type:"WALLET_CONNECT",chainId:Number(e.chainId),provider:this.provider,address:""})}async disconnect(){try{await this.getWalletConnectConnector().disconnect(),this.emit("disconnect")}catch(e){console.warn("UniversalAdapter:disconnect - error",e)}return{connections:[]}}syncConnections(){return Promise.resolve()}async getAccounts({namespace:e}){var r,i,o,a;const s=this.provider,n=((a=(o=(i=(r=s==null?void 0:s.session)==null?void 0:r.namespaces)==null?void 0:i[e])==null?void 0:o.accounts)==null?void 0:a.map(c=>{const[,,l]=c.split(":");return l}).filter((c,l,d)=>d.indexOf(c)===l))||[];return Promise.resolve({accounts:n.map(c=>Z.createAccount(e,c,e==="bip122"?"payment":"eoa"))})}async syncConnectors(){return Promise.resolve()}async getBalance(e){var o,a,c,l,d;if(!(e.caipNetwork&&Ie.BALANCE_SUPPORTED_CHAINS.includes((o=e.caipNetwork)==null?void 0:o.chainNamespace))||(a=e.caipNetwork)!=null&&a.testnet)return{balance:"0.00",symbol:((c=e.caipNetwork)==null?void 0:c.nativeCurrency.symbol)||""};const n=w.getAccountData();if(n!=null&&n.balanceLoading&&e.chainId===((l=w.state.activeCaipNetwork)==null?void 0:l.id))return{balance:(n==null?void 0:n.balance)||"0.00",symbol:(n==null?void 0:n.balanceSymbol)||""};const i=(await w.fetchTokenBalance()).find(u=>{var h,p;return u.chainId===`${(h=e.caipNetwork)==null?void 0:h.chainNamespace}:${e.chainId}`&&u.symbol===((p=e.caipNetwork)==null?void 0:p.nativeCurrency.symbol)});return{balance:(i==null?void 0:i.quantity.numeric)||"0.00",symbol:(i==null?void 0:i.symbol)||((d=e.caipNetwork)==null?void 0:d.nativeCurrency.symbol)||""}}async signMessage(e){var o,a,c;const{provider:s,message:n,address:r}=e;if(!s)throw new Error("UniversalAdapter:signMessage - provider is undefined");let i="";return((o=w.state.activeCaipNetwork)==null?void 0:o.chainNamespace)===U.CHAIN.SOLANA?i=(await s.request({method:"solana_signMessage",params:{message:yi.encode(new TextEncoder().encode(n)),pubkey:r}},(a=w.state.activeCaipNetwork)==null?void 0:a.caipNetworkId)).signature:i=await s.request({method:"personal_sign",params:[n,r]},(c=w.state.activeCaipNetwork)==null?void 0:c.caipNetworkId),{signature:i}}async estimateGas(){return Promise.resolve({gas:BigInt(0)})}async sendTransaction(){return Promise.resolve({hash:""})}walletGetAssets(e){return Promise.resolve({})}async writeContract(){return Promise.resolve({hash:""})}emitFirstAvailableConnection(){}parseUnits(){return 0n}formatUnits(){return"0"}async getCapabilities(){return Promise.resolve({})}async grantPermissions(){return Promise.resolve({})}async revokePermissions(){return Promise.resolve("0x")}async syncConnection(){return Promise.resolve({id:"WALLET_CONNECT",type:"WALLET_CONNECT",chainId:1,provider:this.provider,address:""})}async switchNetwork(e){var r,i,o,a,c,l;const{caipNetwork:s}=e,n=this.getWalletConnectConnector();if(s.chainNamespace===U.CHAIN.EVM)try{await((r=n.provider)==null?void 0:r.request({method:"wallet_switchEthereumChain",params:[{chainId:Eu(s.id)}]}))}catch(d){if(d.code===Li.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||d.code===Li.ERROR_INVALID_CHAIN_ID||d.code===Li.ERROR_CODE_DEFAULT||((o=(i=d==null?void 0:d.data)==null?void 0:i.originalError)==null?void 0:o.code)===Li.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)try{await((l=n.provider)==null?void 0:l.request({method:"wallet_addEthereumChain",params:[{chainId:Eu(s.id),rpcUrls:[(a=s==null?void 0:s.rpcUrls.chainDefault)==null?void 0:a.http],chainName:s.name,nativeCurrency:s.nativeCurrency,blockExplorerUrls:[(c=s.blockExplorers)==null?void 0:c.default.url]}]}))}catch{throw new Error("Chain is not supported")}}n.provider.setDefaultChain(s.caipNetworkId)}getWalletConnectProvider(){const e=this.connectors.find(n=>n.type==="WALLET_CONNECT");return e==null?void 0:e.provider}}const dk=["email","socials","swaps","onramp","activity","reownBranding","multiWallet","emailCapture","payWithExchange","payments","reownAuthentication","headless"],ia={email:{apiFeatureName:"social_login",localFeatureName:"email",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!(t!=null&&t.config))return!1;const e=t.config;return!!t.isEnabled&&e.includes("email")},processFallback:t=>t===void 0?Ie.DEFAULT_REMOTE_FEATURES.email:!!t},socials:{apiFeatureName:"social_login",localFeatureName:"socials",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!(t!=null&&t.config))return!1;const e=t.config;return t.isEnabled&&e.length>0?e.filter(s=>s!=="email"):!1},processFallback:t=>t===void 0?Ie.DEFAULT_REMOTE_FEATURES.socials:typeof t=="boolean"?t?Ie.DEFAULT_REMOTE_FEATURES.socials:!1:t},swaps:{apiFeatureName:"swap",localFeatureName:"swaps",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!(t!=null&&t.config))return!1;const e=t.config;return t.isEnabled&&e.length>0?e:!1},processFallback:t=>t===void 0?Ie.DEFAULT_REMOTE_FEATURES.swaps:typeof t=="boolean"?t?Ie.DEFAULT_REMOTE_FEATURES.swaps:!1:t},onramp:{apiFeatureName:"onramp",localFeatureName:"onramp",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!(t!=null&&t.config))return!1;const e=t.config;return t.isEnabled&&e.length>0?e:!1},processFallback:t=>t===void 0?Ie.DEFAULT_REMOTE_FEATURES.onramp:typeof t=="boolean"?t?Ie.DEFAULT_REMOTE_FEATURES.onramp:!1:t},activity:{apiFeatureName:"activity",localFeatureName:"history",returnType:!1,isLegacy:!0,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:t=>t===void 0?Ie.DEFAULT_REMOTE_FEATURES.activity:!!t},reownBranding:{apiFeatureName:"reown_branding",localFeatureName:"reownBranding",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:t=>t===void 0?Ie.DEFAULT_REMOTE_FEATURES.reownBranding:!!t},emailCapture:{apiFeatureName:"email_capture",localFeatureName:"emailCapture",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>t.isEnabled&&(t.config??[]),processFallback:t=>!1},multiWallet:{apiFeatureName:"multi_wallet",localFeatureName:"multiWallet",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:()=>Ie.DEFAULT_REMOTE_FEATURES.multiWallet},payWithExchange:{apiFeatureName:"fund_from_exchange",localFeatureName:"payWithExchange",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:()=>Ie.DEFAULT_REMOTE_FEATURES.payWithExchange},payments:{apiFeatureName:"payments",localFeatureName:"payments",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:()=>Ie.DEFAULT_REMOTE_FEATURES.payments},reownAuthentication:{apiFeatureName:"reown_authentication",localFeatureName:"reownAuthentication",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:t=>typeof t>"u"?Ie.DEFAULT_REMOTE_FEATURES.reownAuthentication:!!t},headless:{apiFeatureName:"headless",localFeatureName:"headless",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:()=>Ie.DEFAULT_REMOTE_FEATURES.headless}},uk={localSettingsOverridden:new Set,getApiConfig(t,e){return e==null?void 0:e.find(s=>s.id===t)},addWarning(t,e){if(t!==void 0){const s=ia[e],n=s.isLegacy?`"features.${s.localFeatureName}" (now "${e}")`:`"features.${e}"`;this.localSettingsOverridden.add(n)}},processFeature(t,e,s,n,r){const i=ia[t],o=e[i.localFeatureName];if(r&&!i.isAvailableOnBasic)return!1;if(n){const a=this.getApiConfig(i.apiFeatureName,s);return(a==null?void 0:a.config)===null?this.processFallbackFeature(t,o):a!=null&&a.config?(o!==void 0&&this.addWarning(o,t),this.processApiFeature(t,a)):!1}return this.processFallbackFeature(t,o)},processApiFeature(t,e){return ia[t].processApi(e)},processFallbackFeature(t,e){return ia[t].processFallback(e)},async fetchRemoteFeatures(t){const e=t.basic??!1,s=t.features||{};this.localSettingsOverridden.clear();let n=null,r=!1;try{n=await Q.fetchProjectConfig(),r=n!=null}catch(o){console.warn("[Reown Config] Failed to fetch remote project configuration. Using local/default values.",o)}const i=r&&!e?Ie.DEFAULT_REMOTE_FEATURES:Ie.DEFAULT_REMOTE_FEATURES_DISABLED;try{for(const o of dk){const a=this.processFeature(o,s,n,r,e);Object.assign(i,{[o]:a})}}catch(o){return console.warn("[Reown Config] Failed to process the configuration from Cloud. Using default values.",o),Ie.DEFAULT_REMOTE_FEATURES}if(r&&this.localSettingsOverridden.size>0){const o=`Your local configuration for ${Array.from(this.localSettingsOverridden).join(", ")} was ignored because a remote configuration was successfully fetched. Please manage these features via your project dashboard on dashboard.reown.com.`;St.open({debugMessage:It.ALERT_WARNINGS.LOCAL_CONFIGURATION_IGNORED.debugMessage(o)},"warning")}return i}};class hk{constructor(e){this.chainNamespaces=[],this.features={},this.remoteFeatures={},this.reportedAlertErrors={},this.getCaipNetwork=(s,n)=>{var r,i,o;if(s){const a=(r=w.getCaipNetworks(s))==null?void 0:r.find(d=>d.id===n);if(a)return a;const c=(i=w.getNetworkData(s))==null?void 0:i.caipNetwork;return c||((o=w.getRequestedCaipNetworks(s).filter(d=>d.chainNamespace===s))==null?void 0:o[0])}return w.state.activeCaipNetwork||this.defaultCaipNetwork},this.getCaipNetworkId=()=>{const s=this.getCaipNetwork();if(s)return s.id},this.getCaipNetworks=s=>w.getCaipNetworks(s),this.getActiveChainNamespace=()=>w.state.activeChain,this.setRequestedCaipNetworks=(s,n)=>{w.setRequestedCaipNetworks(s,n)},this.getApprovedCaipNetworkIds=()=>w.getAllApprovedCaipNetworkIds(),this.getCaipAddress=s=>{var n,r;return w.state.activeChain===s||!s?w.state.activeCaipAddress:(r=(n=w.state.chains.get(s))==null?void 0:n.accountState)==null?void 0:r.caipAddress},this.setClientId=s=>{he.setClientId(s)},this.getProvider=s=>He.getProvider(s),this.getProviderType=s=>He.getProviderId(s),this.getPreferredAccountType=s=>os(s),this.setCaipAddress=(s,n,r=!1)=>{w.setAccountProp("caipAddress",s,n,r),w.setAccountProp("address",Z.getPlainAddress(s),n,r)},this.setBalance=(s,n,r)=>{w.setAccountProp("balance",s,r),w.setAccountProp("balanceSymbol",n,r)},this.setProfileName=(s,n)=>{w.setAccountProp("profileName",s,n)},this.setProfileImage=(s,n)=>{w.setAccountProp("profileImage",s,n)},this.setUser=(s,n)=>{w.setAccountProp("user",s,n)},this.resetAccount=s=>{w.resetAccount(s)},this.setCaipNetwork=s=>{w.setActiveCaipNetwork(s)},this.setCaipNetworkOfNamespace=(s,n)=>{w.setChainNetworkData(n,{caipNetwork:s})},this.setStatus=(s,n)=>{w.setAccountProp("status",s,n),q.isConnected()?M.setConnectionStatus("connected"):M.setConnectionStatus("disconnected")},this.getAddressByChainNamespace=s=>{var n;return(n=w.getAccountData(s))==null?void 0:n.address},this.setConnectors=s=>{const n=[...q.state.allConnectors,...s];q.setConnectors(n)},this.setConnections=(s,n)=>{M.setConnections(s,n),K.setConnections(s,n)},this.fetchIdentity=s=>he.fetchIdentity(s),this.getReownName=s=>Hi.getNamesForAddress(s),this.getConnectors=()=>q.getConnectors(),this.getConnectorImage=s=>Ff.getConnectorImage(s),this.getConnections=s=>this.remoteFeatures.multiWallet?Ra.getConnectionsData(s).connections:(St.open(U.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info"),[]),this.getRecentConnections=s=>this.remoteFeatures.multiWallet?Ra.getConnectionsData(s).recentConnections:(St.open(U.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info"),[]),this.switchConnection=async s=>{if(!this.remoteFeatures.multiWallet){St.open(U.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info");return}await K.switchConnection(s)},this.deleteConnection=s=>{if(!this.remoteFeatures.multiWallet){St.open(U.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info");return}M.deleteAddressFromConnection(s),K.syncStorageConnections()},this.setConnectedWalletInfo=(s,n)=>{const r=He.getProviderId(n),i=s?{...s,type:r}:void 0;w.setAccountProp("connectedWalletInfo",i,n)},this.getIsConnectedState=()=>!!w.state.activeCaipAddress,this.addAddressLabel=(s,n,r)=>{var o;const i=((o=w.getAccountData(r))==null?void 0:o.addressLabels)||{};w.setAccountProp("addressLabels",{...i,[s]:n},r)},this.removeAddressLabel=(s,n)=>{var i;const r=((i=w.getAccountData(n))==null?void 0:i.addressLabels)||{};w.setAccountProp("addressLabels",{...r,[s]:void 0},n)},this.getAddress=s=>{var r;const n=s||w.state.activeChain;return(r=w.getAccountData(n))==null?void 0:r.address},this.resetNetwork=s=>{w.resetNetwork(s)},this.addConnector=s=>{q.addConnector(s)},this.resetWcConnection=()=>{K.resetWcConnection()},this.setAddressExplorerUrl=(s,n)=>{w.setAccountProp("addressExplorerUrl",s,n)},this.setSmartAccountDeployed=(s,n)=>{w.setAccountProp("smartAccountDeployed",s,n)},this.setPreferredAccountType=(s,n)=>{w.setAccountProp("preferredAccountType",s,n)},this.setEIP6963Enabled=s=>{$.setEIP6963Enabled(s)},this.handleUnsafeRPCRequest=()=>{if(this.isOpen()){if(this.isTransactionStackEmpty())return;this.redirect("ApproveTransaction")}else this.open({view:"ApproveTransaction"})},this.options=e,this.version=e.sdkVersion,this.caipNetworks=this.extendCaipNetworks(e),this.chainNamespaces=this.getChainNamespacesSet(e.adapters,this.caipNetworks),this.defaultCaipNetwork=this.extendDefaultCaipNetwork(e),this.chainAdapters=this.createAdapters(e.adapters),this.readyPromise=this.initialize(e)}getChainNamespacesSet(e,s){const n=e==null?void 0:e.map(i=>i.namespace).filter(i=>!!i);if(n!=null&&n.length)return[...new Set(n)];const r=s==null?void 0:s.map(i=>i.chainNamespace);return[...new Set(r)]}async initialize(e){var s,n,r,i,o,a;if(this.initializeProjectSettings(e),this.initControllers(e),await this.initChainAdapters(),this.sendInitializeEvent(e),(s=e.features)!=null&&s.headless&&!Rs.hasInjectedConnectors()&&Q.prefetch({fetchNetworkImages:!1,fetchConnectorImages:!1,fetchWalletRanks:!1,fetchRecommendedWallets:!0}),$.state.enableReconnect?(await this.syncExistingConnection(),await this.syncAdapterConnections()):await this.unSyncExistingConnection(),!e.basic&&!e.manualWCControl&&(this.remoteFeatures=await uk.fetchRemoteFeatures(e)),await Q.fetchUsage(),$.setRemoteFeatures(this.remoteFeatures),this.remoteFeatures.onramp&&Tl.setOnrampProviders(this.remoteFeatures.onramp),((n=$.state.remoteFeatures)!=null&&n.email||Array.isArray((r=$.state.remoteFeatures)==null?void 0:r.socials)&&((i=$.state.remoteFeatures)==null?void 0:i.socials.length)>0)&&await this.checkAllowedOrigins(),(o=$.state.features)!=null&&o.reownAuthentication||(a=$.state.remoteFeatures)!=null&&a.reownAuthentication){const{ReownAuthentication:c}=await kt(async()=>{const{ReownAuthentication:d}=await import("./features-BHAaOwHA.js");return{ReownAuthentication:d}},__vite__mapDeps([10,2,3,4,5,8,9])),l=$.state.siwx;l instanceof c||(l&&console.warn("ReownAuthentication option is enabled, SIWX configuration will be overridden."),$.setSIWX(new c))}}async openSend(e){var i;const s=e.namespace||w.state.activeChain,n=this.getCaipAddress(s),r=(i=this.getCaipNetwork(s))==null?void 0:i.id;if(!n)throw new Error("openSend: caipAddress not found");if((r==null?void 0:r.toString())!==e.chainId.toString()){const o=w.getCaipNetworkById(e.chainId,s);if(!o)throw new Error(`openSend: caipNetwork with chainId ${e.chainId} not found`);await this.switchNetwork(o,{throwOnFailure:!0})}try{const o=ry.getTokenSymbolByAddress(e.assetAddress);o&&await Q.fetchTokenImages([o])}catch{}return await Ne.open({view:"WalletSend",data:{send:e}}),new Promise((o,a)=>{const c=_e.subscribeKey("hash",u=>{u&&(d(),o({hash:u}))}),l=Ne.subscribe(u=>{u.open||(d(),a(new Error("Modal closed")))}),d=this.createCleanupHandler([c,l])})}toModalOptions(){function e(n){return(n==null?void 0:n.view)==="Swap"}function s(n){return(n==null?void 0:n.view)==="WalletSend"}return{isSwap:e,isSend:s}}async checkAllowedOrigins(){try{const e=await Q.fetchAllowedOrigins();if(!Z.isClient())return;const s=window.location.origin;Wn.isOriginAllowed(s,e,U.DEFAULT_ALLOWED_ANCESTORS)||St.open(It.ALERT_ERRORS.ORIGIN_NOT_ALLOWED,"error")}catch(e){if(!(e instanceof Error))return;switch(e.message){case"RATE_LIMITED":St.open(It.ALERT_ERRORS.RATE_LIMITED_APP_CONFIGURATION,"error");break;case"SERVER_ERROR":{const s=e.cause instanceof Error?e.cause:e;St.open({displayMessage:It.ALERT_ERRORS.SERVER_ERROR_APP_CONFIGURATION.displayMessage,debugMessage:It.ALERT_ERRORS.SERVER_ERROR_APP_CONFIGURATION.debugMessage(s.message)},"error");break}}}}createCleanupHandler(e){return()=>{e.forEach(s=>{try{s()}catch{}})}}sendInitializeEvent(e){var n;const{...s}=e;delete s.adapters,delete s.universalProvider,we.sendEvent({type:"track",event:"INITIALIZE",properties:{...s,networks:e.networks.map(r=>r.id),siweConfig:{options:((n=e.siweConfig)==null?void 0:n.options)||{}}}})}initControllers(e){this.initializeOptionsController(e),this.initializeChainController(e),this.initializeThemeController(e),this.initializeConnectionController(e),this.initializeConnectorController()}initAdapterController(){Hf.initialize(this.chainAdapters)}initializeThemeController(e){e.themeMode&&Ht.setThemeMode(e.themeMode),e.themeVariables&&Ht.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient)throw new Error("ConnectionControllerClient must be set");w.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient});const s=this.getDefaultNetwork();s&&w.setActiveCaipNetwork(s)}initializeConnectionController(e){K.initialize(e.adapters??[]),K.setWcBasic(e.basic??!1)}initializeConnectorController(){q.initialize(this.chainNamespaces)}initializeProjectSettings(e){$.setProjectId(e.projectId),$.setSdkVersion(e.sdkVersion)}initializeOptionsController(e){var r;$.setDebug(e.debug!==!1),$.setEnableWalletGuide(e.enableWalletGuide!==!1),$.setEnableWallets(e.enableWallets!==!1),$.setEIP6963Enabled(e.enableEIP6963!==!1),$.setEnableNetworkSwitch(e.enableNetworkSwitch!==!1),$.setEnableReconnect(e.enableReconnect!==!1),$.setEnableMobileFullScreen(e.enableMobileFullScreen===!0),$.setCoinbasePreference(e.coinbasePreference),$.setEnableAuthLogger(e.enableAuthLogger!==!1),$.setCustomRpcUrls(e.customRpcUrls),$.setEnableEmbedded(e.enableEmbedded),$.setAllWallets(e.allWallets),$.setIncludeWalletIds(e.includeWalletIds),$.setExcludeWalletIds(e.excludeWalletIds),$.setFeaturedWalletIds(e.featuredWalletIds),$.setTokens(e.tokens),$.setTermsConditionsUrl(e.termsConditionsUrl),$.setPrivacyPolicyUrl(e.privacyPolicyUrl),$.setCustomWallets(e.customWallets),$.setFeatures(e.features),$.setAllowUnsupportedChain(e.allowUnsupportedChain),$.setUniversalProviderConfigOverride(e.universalProviderConfigOverride),$.setPreferUniversalLinks(e.experimental_preferUniversalLinks),$.setDefaultAccountTypes(e.defaultAccountTypes);const s=this.getDefaultMetaData();if(!e.metadata&&s&&(e.metadata=s),$.setMetadata(e.metadata),$.setDisableAppend(e.disableAppend),$.setEnableEmbedded(e.enableEmbedded),$.setSIWX(e.siwx),this.features=$.state.features??{},!e.projectId){St.open(It.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error");return}if(((r=e.adapters)==null?void 0:r.find(i=>i.namespace===U.CHAIN.EVM))&&e.siweConfig){if(e.siwx)throw new Error("Cannot set both `siweConfig` and `siwx` options");$.setSIWX(e.siweConfig.mapToSIWX())}}getDefaultMetaData(){var e,s,n,r;return Z.isClient()?{name:((s=(e=document.getElementsByTagName("title"))==null?void 0:e[0])==null?void 0:s.textContent)||"",description:((n=document.querySelector('meta[property="og:description"]'))==null?void 0:n.content)||"",url:window.location.origin,icons:[((r=document.querySelector('link[rel~="icon"]'))==null?void 0:r.href)||""]}:null}setUnsupportedNetwork(e){const s=this.getActiveChainNamespace();if(s){const n=Gr.getUnsupportedNetwork(`${s}:${e}`);w.setActiveCaipNetwork(n)}}getDefaultNetwork(){return Gr.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,s){return Gr.extendCaipNetwork(e,{customNetworkImageUrls:s.chainImages,projectId:s.projectId})}extendCaipNetworks(e){return Gr.extendCaipNetworks(e.networks,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId})}extendDefaultCaipNetwork(e){const s=e.networks.find(r=>{var i;return r.id===((i=e.defaultNetwork)==null?void 0:i.id)});return s?Gr.extendCaipNetwork(s,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}async disconnectConnector(e,s){var n,r;try{this.setLoading(!0,e);let i={connections:[]};const o=this.getAdapter(e);return(((r=(n=w.state.chains.get(e))==null?void 0:n.accountState)==null?void 0:r.caipAddress)||!$.state.enableReconnect)&&(o!=null&&o.disconnect)&&(i=await o.disconnect({id:s})),this.setLoading(!1,e),i}catch(i){throw this.setLoading(!1,e),new Error(`Failed to disconnect chains: ${i.message}`)}}createClients(){this.connectionControllerClient={connectWalletConnect:async()=>{var l;const e=w.state.activeChain,s=this.getAdapter(e),n=(l=this.getCaipNetwork(e))==null?void 0:l.id,r=K.getConnections(e),i=this.remoteFeatures.multiWallet,o=r.length>0;if(!s)throw new Error("Adapter not found");const a=await s.connectWalletConnect(n);(!o||!i)&&this.close(),this.setClientId((a==null?void 0:a.clientId)||null),M.setConnectedNamespaces([...w.state.chains.keys()]),await this.syncWalletConnectAccount(),await Es.initializeIfEnabled()},connectExternal:async e=>{const s=await this.onConnectExternal(e);return await this.connectInactiveNamespaces(e,s),s?{address:s.address}:void 0},reconnectExternal:async({id:e,info:s,type:n,provider:r})=>{var a;const i=w.state.activeChain,o=this.getAdapter(i);if(!i)throw new Error("reconnectExternal: namespace not found");if(!o)throw new Error("reconnectExternal: adapter not found");o!=null&&o.reconnect&&(await(o==null?void 0:o.reconnect({id:e,info:s,type:n,provider:r,chainId:(a=this.getCaipNetwork())==null?void 0:a.id})),M.addConnectedNamespace(i),this.syncConnectedWalletInfo(i))},disconnectConnector:async e=>{await this.disconnectConnector(e.namespace,e.id)},disconnect:async e=>{var l;const{id:s,chainNamespace:n,initialDisconnect:r}=e||{},i=n||w.state.activeChain,o=q.getConnectorId(i),a=s===U.CONNECTOR_ID.AUTH||o===U.CONNECTOR_ID.AUTH,c=s===U.CONNECTOR_ID.WALLET_CONNECT||o===U.CONNECTOR_ID.WALLET_CONNECT;try{const d=Array.from(w.state.chains.keys());let u=n?[n]:d;(c||a)&&(u=d);const h=u.map(async f=>{const y=q.getConnectorId(f),b=s||y,S=await this.disconnectConnector(f,b);S&&(a&&M.deleteConnectedSocialProvider(),S.connections.forEach(v=>{M.addDisconnectedConnectorId(v.connectorId,f)})),r&&this.onDisconnectNamespace({chainNamespace:f,closeModal:!1})}),p=await Promise.allSettled(h);_e.resetSend(),K.resetWcConnection(),(l=Es.getSIWX())!=null&&l.signOutOnDisconnect&&await Es.clearSessions(),q.setFilterByNamespace(void 0),K.syncStorageConnections();const m=p.filter(f=>f.status==="rejected");if(m.length>0)throw new Error(m.map(f=>f.reason.message).join(", "));we.sendEvent({type:"track",event:"DISCONNECT_SUCCESS",properties:{namespace:n||"all"}})}catch(d){throw new Error(`Failed to disconnect chains: ${d.message}`)}},checkInstalled:e=>e?e.some(s=>{var n;return!!((n=window.ethereum)!=null&&n[String(s)])}):!!window.ethereum,signMessage:async e=>{const s=w.state.activeChain,n=this.getAdapter(w.state.activeChain);if(!s)throw new Error("signMessage: namespace not found");if(!n)throw new Error("signMessage: adapter not found");const r=this.getAddress(s);if(!r)throw new Error("signMessage: address not found");const i=await(n==null?void 0:n.signMessage({message:e,address:r,provider:He.getProvider(s)}));return(i==null?void 0:i.signature)||""},sendTransaction:async e=>{const s=e.chainNamespace;if(!s)throw new Error("sendTransaction: namespace not found");if(Ie.SEND_SUPPORTED_NAMESPACES.includes(s)){const n=this.getAdapter(s);if(!n)throw new Error("sendTransaction: adapter not found");const r=He.getProvider(s),i=await(n==null?void 0:n.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:r}));return(i==null?void 0:i.hash)||""}return""},estimateGas:async e=>{const s=e.chainNamespace;if(s===U.CHAIN.EVM){const n=this.getAdapter(s);if(!n)throw new Error("estimateGas: adapter is required but got undefined");const r=He.getProvider(s),i=this.getCaipNetwork();if(!i)throw new Error("estimateGas: caipNetwork is required but got undefined");const o=await(n==null?void 0:n.estimateGas({...e,provider:r,caipNetwork:i}));return(o==null?void 0:o.gas)||0n}return 0n},getEnsAvatar:async()=>{var r;const e=w.state.activeChain;if(!e)throw new Error("getEnsAvatar: namespace is required but got undefined");const s=this.getAddress(e);if(!s)throw new Error("getEnsAvatar: address not found");await this.syncIdentity({address:s,chainId:Number((r=this.getCaipNetwork())==null?void 0:r.id),chainNamespace:e});const n=w.getAccountData();return(n==null?void 0:n.profileImage)||!1},getEnsAddress:async e=>await Wn.resolveReownName(e),writeContract:async e=>{const s=w.state.activeChain,n=this.getAdapter(s);if(!s)throw new Error("writeContract: namespace is required but got undefined");if(!n)throw new Error("writeContract: adapter is required but got undefined");const r=this.getCaipNetwork(),i=this.getCaipAddress(),o=He.getProvider(s);if(!r||!i)throw new Error("writeContract: caipNetwork or caipAddress is required but got undefined");const a=await(n==null?void 0:n.writeContract({...e,caipNetwork:r,provider:o,caipAddress:i}));return a==null?void 0:a.hash},parseUnits:(e,s)=>{const n=this.getAdapter(w.state.activeChain);if(!n)throw new Error("parseUnits: adapter is required but got undefined");return(n==null?void 0:n.parseUnits({value:e,decimals:s}))??0n},formatUnits:(e,s)=>{const n=this.getAdapter(w.state.activeChain);if(!n)throw new Error("formatUnits: adapter is required but got undefined");return(n==null?void 0:n.formatUnits({value:e,decimals:s}))??"0"},getCapabilities:async e=>{const s=this.getAdapter(w.state.activeChain);if(!s)throw new Error("getCapabilities: adapter is required but got undefined");return await(s==null?void 0:s.getCapabilities(e))},grantPermissions:async e=>{const s=this.getAdapter(w.state.activeChain);if(!s)throw new Error("grantPermissions: adapter is required but got undefined");return await(s==null?void 0:s.grantPermissions(e))},revokePermissions:async e=>{const s=this.getAdapter(w.state.activeChain);if(!s)throw new Error("revokePermissions: adapter is required but got undefined");return s!=null&&s.revokePermissions?await s.revokePermissions(e):"0x"},walletGetAssets:async e=>{const s=this.getAdapter(w.state.activeChain);if(!s)throw new Error("walletGetAssets: adapter is required but got undefined");return await(s==null?void 0:s.walletGetAssets(e))??{}},updateBalance:e=>{const s=this.getAddress(e),n=this.getCaipNetwork(e);!n||!s||this.updateNativeBalance(s,n==null?void 0:n.id,e)}},K.setClient(this.connectionControllerClient)}async onConnectExternal(e){var l,d,u,h,p,m,f,y;const s=w.state.activeChain,n=e.chain||s,r=this.getAdapter(n);let i=!0;if(e.type===Ut.CONNECTOR_TYPE_AUTH&&U.AUTH_CONNECTOR_SUPPORTED_CHAINS.some(v=>q.getConnectorId(v)===U.CONNECTOR_ID.AUTH)&&e.chain!==s&&(i=!1),e.chain&&e.chain!==s&&!e.caipNetwork){const b=this.getCaipNetworks().find(S=>S.chainNamespace===e.chain);b&&i&&this.setCaipNetwork(b)}if(!n)throw new Error("connectExternal: namespace not found");if(!r)throw new Error("connectExternal: adapter not found");const o=this.getCaipNetwork(n),a=e.caipNetwork||o,c=await r.connect({id:e.id,address:e.address,info:e.info,type:e.type,provider:e.provider,socialUri:e.socialUri,chainId:((l=e.caipNetwork)==null?void 0:l.id)||(o==null?void 0:o.id),rpcUrl:((p=(h=(u=(d=e.caipNetwork)==null?void 0:d.rpcUrls)==null?void 0:u.default)==null?void 0:h.http)==null?void 0:p[0])||((y=(f=(m=o==null?void 0:o.rpcUrls)==null?void 0:m.default)==null?void 0:f.http)==null?void 0:y[0])});if(c)return M.addConnectedNamespace(n),this.syncProvider({...c,chainNamespace:n}),this.setStatus("connected",n),this.syncConnectedWalletInfo(n),M.removeDisconnectedConnectorId(e.id,n),{address:c.address,connectedCaipNetwork:a}}async connectInactiveNamespaces(e,s){var a;const n=e.type===Ut.CONNECTOR_TYPE_AUTH,r=wo.getOtherAuthNamespaces((a=s==null?void 0:s.connectedCaipNetwork)==null?void 0:a.chainNamespace),i=w.state.activeCaipNetwork,o=this.getAdapter(i==null?void 0:i.chainNamespace);n&&(await Promise.all(r.map(async c=>{var l,d,u;try{const h=He.getProvider(c),p=this.getCaipNetwork(c),m=this.getAdapter(c);await(m==null?void 0:m.connect({...e,provider:h,socialUri:void 0,chainId:p==null?void 0:p.id,rpcUrl:(u=(d=(l=p==null?void 0:p.rpcUrls)==null?void 0:l.default)==null?void 0:d.http)==null?void 0:u[0]}))&&(M.addConnectedNamespace(c),M.removeDisconnectedConnectorId(e.id,c),this.setStatus("connected",c),this.syncConnectedWalletInfo(c))}catch(h){St.warn(It.ALERT_WARNINGS.INACTIVE_NAMESPACE_NOT_CONNECTED.displayMessage,It.ALERT_WARNINGS.INACTIVE_NAMESPACE_NOT_CONNECTED.debugMessage(c,h instanceof Error?h.message:void 0),It.ALERT_WARNINGS.INACTIVE_NAMESPACE_NOT_CONNECTED.code)}})),i&&await(o==null?void 0:o.switchNetwork({caipNetwork:i})))}getApprovedCaipNetworksData(){var s,n,r,i,o;if(He.getProviderId(w.state.activeChain)===Ut.CONNECTOR_TYPE_WALLET_CONNECT){const a=(n=(s=this.universalProvider)==null?void 0:s.session)==null?void 0:n.namespaces;return{supportsAllNetworks:((o=(i=(r=this.universalProvider)==null?void 0:r.session)==null?void 0:i.peer)==null?void 0:o.metadata.name)==="MetaMask Wallet",approvedCaipNetworkIds:this.getChainsFromNamespaces(a)}}return{supportsAllNetworks:!0,approvedCaipNetworkIds:[]}}async switchCaipNetwork(e){const s=e.chainNamespace;if(this.getAddressByChainNamespace(e.chainNamespace)){const r=He.getProviderId(s);if(e.chainNamespace===w.state.activeChain){const i=this.getAdapter(s);await(i==null?void 0:i.switchNetwork({caipNetwork:e}))}else if(this.setCaipNetwork(e),r===Ut.CONNECTOR_TYPE_WALLET_CONNECT)this.syncWalletConnectAccount();else{const i=this.getAddressByChainNamespace(s);i&&this.syncAccount({address:i,chainId:e.id,chainNamespace:s})}}else this.setCaipNetwork(e)}getChainsFromNamespaces(e={}){return Object.values(e).flatMap(s=>{const n=s.chains||[],r=s.accounts.map(i=>{const{chainId:o,chainNamespace:a}=ct.parseCaipAddress(i);return`${a}:${o}`});return Array.from(new Set([...n,...r]))})}createAdapters(e){return this.createClients(),this.chainNamespaces.reduce((s,n)=>{var i,o;const r=e==null?void 0:e.find(a=>a.namespace===n);return r?(r.construct({namespace:n,projectId:(i=this.options)==null?void 0:i.projectId,networks:(o=this.caipNetworks)==null?void 0:o.filter(({chainNamespace:a})=>a===n)}),s[n]=r):s[n]=new lk({namespace:n,networks:this.getCaipNetworks()}),s},{})}async initChainAdapter(e){this.onConnectors(e),this.listenAdapter(e);const s=this.getAdapter(e);if(!s)throw new Error("adapter not found");await s.syncConnectors(),await this.createUniversalProviderForAdapter(e)}async initChainAdapters(){await Promise.all(this.chainNamespaces.map(async e=>{await this.initChainAdapter(e)})),this.initAdapterController()}onConnectors(e){const s=this.getAdapter(e);s==null||s.on("connectors",this.setConnectors.bind(this))}listenAdapter(e){const s=this.getAdapter(e);if(!s)return;const n=M.getConnectionStatus();$.state.enableReconnect===!1?this.setStatus("disconnected",e):n==="connected"?this.setStatus("connecting",e):n==="disconnected"?(M.clearAddressCache(),this.setStatus(n,e)):this.setStatus(n,e),s.on("switchNetwork",({address:r,chainId:i})=>{var l,d;const o=this.getCaipNetworks().find(u=>u.id.toString()===i.toString()||u.caipNetworkId.toString()===i.toString()),a=w.state.activeChain===e,c=(d=(l=w.state.chains.get(e))==null?void 0:l.accountState)==null?void 0:d.address;if(o){const u=a&&r?r:c;u&&this.syncAccount({address:u,chainId:o.id,chainNamespace:e})}else this.setUnsupportedNetwork(i)}),s.on("disconnect",()=>{const r=this.remoteFeatures.multiWallet,i=Array.from(K.state.connections.values()).flat();this.onDisconnectNamespace({chainNamespace:e,closeModal:!r||i.length===0})}),s.on("connections",r=>{this.setConnections(r,e)}),s.on("pendingTransactions",()=>{const r=this.getAddress(e),i=w.state.activeCaipNetwork;!r||!(i!=null&&i.id)||this.updateNativeBalance(r,i.id,i.chainNamespace)}),s.on("accountChanged",({address:r,chainId:i,connector:o})=>{var d,u;this.handlePreviousConnectorConnection(o);const a=w.state.activeChain===e;o!=null&&o.provider&&(this.syncProvider({id:o.id,type:o.type,provider:o==null?void 0:o.provider,chainNamespace:e}),this.syncConnectedWalletInfo(e));const c=(u=(d=w.getNetworkData(e))==null?void 0:d.caipNetwork)==null?void 0:u.id,l=i||c;a&&l?this.syncAccount({address:r,chainId:l,chainNamespace:e}):!a&&l?(this.syncAccountInfo(r,l,e),this.syncBalance({address:r,chainId:l,chainNamespace:e})):this.syncAccountInfo(r,i,e),M.addConnectedNamespace(e)})}async handlePreviousConnectorConnection(e){var c;const s=e==null?void 0:e.chain,n=e==null?void 0:e.id,r=q.getConnectorId(s),i=(c=$.state.remoteFeatures)==null?void 0:c.multiWallet,a=s&&n&&r&&r!==n&&!i;try{a&&await K.disconnect({id:r,namespace:s})}catch(l){console.warn("Error disconnecting previous connector",l)}}async createUniversalProviderForAdapter(e){var s,n,r;await this.getUniversalProvider(),this.universalProvider&&await((r=(n=(s=this.chainAdapters)==null?void 0:s[e])==null?void 0:n.setUniversalProvider)==null?void 0:r.call(n,this.universalProvider))}async syncExistingConnection(){await Promise.allSettled(this.chainNamespaces.map(e=>this.syncNamespaceConnection(e)))}async unSyncExistingConnection(){try{await Promise.allSettled(this.chainNamespaces.map(e=>K.disconnect({namespace:e,initialDisconnect:!0})))}catch(e){console.error("Error disconnecting existing connections:",e)}}async reconnectWalletConnect(){await this.syncWalletConnectAccount();const e=this.getAddress();this.getCaipAddress()||M.deleteRecentWallet();const s=M.getRecentWallet();we.sendEvent({type:"track",event:"CONNECT_SUCCESS",address:e,properties:{method:Z.isMobile()?"mobile":"qrcode",name:(s==null?void 0:s.name)||"Unknown",reconnect:!0,view:le.state.view,walletRank:s==null?void 0:s.order}})}async syncNamespaceConnection(e){try{e===U.CHAIN.EVM&&Z.isSafeApp()&&q.setConnectorId(U.CONNECTOR_ID.SAFE,e);const s=q.getConnectorId(e);switch(this.setStatus("connecting",e),s){case U.CONNECTOR_ID.WALLET_CONNECT:await this.reconnectWalletConnect();break;case U.CONNECTOR_ID.AUTH:break;default:await this.syncAdapterConnection(e)}}catch(s){console.warn("AppKit couldn't sync existing connection",s),this.setStatus("disconnected",e)}}onDisconnectNamespace(e){const{chainNamespace:s,closeModal:n}=e||{};w.resetAccount(s),w.resetNetwork(s),M.removeConnectedNamespace(s);const r=Array.from(w.state.chains.keys());(s?[s]:r).forEach(o=>M.addDisconnectedConnectorId(q.getConnectorId(o)||"",o)),q.removeConnectorId(s),He.resetChain(s),this.setUser(null,s),this.setStatus("disconnected",s),this.setConnectedWalletInfo(null,s),n!==!1&&Ne.close()}async syncAdapterConnections(){await Promise.allSettled(this.chainNamespaces.map(e=>{const s=this.getAdapter(e),n=this.getCaipAddress(e),r=this.getCaipNetwork(e);return s==null?void 0:s.syncConnections({connectToFirstConnector:!n,caipNetwork:r})}))}async syncAdapterConnection(e){var a,c,l,d,u;const s=this.getAdapter(e),n=this.getCaipNetwork(e),r=q.getConnectorId(e),o=q.getConnectors(e).find(h=>h.id===r);try{if(!s||!o)throw new Error(`Adapter or connector not found for namespace ${e}`);if(!(n!=null&&n.id))throw new Error("CaipNetwork not found");const h=await(s==null?void 0:s.syncConnection({namespace:e,id:o.id,chainId:n.id,rpcUrl:(l=(c=(a=n==null?void 0:n.rpcUrls)==null?void 0:a.default)==null?void 0:c.http)==null?void 0:l[0]}));h?(this.syncProvider({...h,chainNamespace:e}),await this.syncAccount({...h,chainNamespace:e}),this.setStatus("connected",e),we.sendEvent({type:"track",event:"CONNECT_SUCCESS",address:h.address,properties:{method:"browser",name:((d=o.info)==null?void 0:d.name)||o.name||"Unknown",reconnect:!0,view:le.state.view,walletRank:(u=o==null?void 0:o.explorerWallet)==null?void 0:u.order}})):this.setStatus("disconnected",e)}catch{this.onDisconnectNamespace({chainNamespace:e,closeModal:!1})}}async syncWalletConnectAccount(){var n,r;const e=Object.keys(((r=(n=this.universalProvider)==null?void 0:n.session)==null?void 0:r.namespaces)||{}),s=this.chainNamespaces.map(async i=>{var u,h,p,m,f;const o=this.getAdapter(i);if(!o)return;const a=((m=(p=(h=(u=this.universalProvider)==null?void 0:u.session)==null?void 0:h.namespaces)==null?void 0:p[i])==null?void 0:m.accounts)||[],c=(f=w.state.activeCaipNetwork)==null?void 0:f.id,l=a.find(y=>{const{chainId:b}=ct.parseCaipAddress(y);return b===(c==null?void 0:c.toString())})||a[0];if(l){const y=ct.validateCaipAddress(l),{chainId:b,address:S}=ct.parseCaipAddress(y);if(He.setProviderId(i,Ut.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&w.state.activeCaipNetwork&&o.namespace!==U.CHAIN.EVM){const v=o.getWalletConnectProvider({caipNetworks:this.getCaipNetworks(),provider:this.universalProvider,activeCaipNetwork:w.state.activeCaipNetwork});He.setProvider(i,v)}else He.setProvider(i,this.universalProvider);q.setConnectorId(U.CONNECTOR_ID.WALLET_CONNECT,i),M.addConnectedNamespace(i),await this.syncAccount({address:S,chainId:b,chainNamespace:i})}else e.includes(i)&&this.setStatus("disconnected",i);const d=this.getApprovedCaipNetworksData();this.syncConnectedWalletInfo(i),w.setApprovedCaipNetworksData(i,{approvedCaipNetworkIds:d.approvedCaipNetworkIds,supportsAllNetworks:d.supportsAllNetworks})});await Promise.all(s)}syncProvider({type:e,provider:s,id:n,chainNamespace:r}){He.setProviderId(r,e),He.setProvider(r,s),q.setConnectorId(n,r)}async syncAccount(e){var u,h;const s=e.chainNamespace===w.state.activeChain,n=w.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:r,chainId:i,chainNamespace:o}=e,{chainId:a}=M.getActiveNetworkProps(),c=(n==null?void 0:n.id)||a,l=((u=w.state.activeCaipNetwork)==null?void 0:u.name)===U.UNSUPPORTED_NETWORK_NAME,d=w.getNetworkProp("supportsAllNetworks",o);if(this.setStatus("connected",o),!(l&&!d)&&c){let p=this.getCaipNetworks().find(b=>b.id.toString()===c.toString()),m=this.getCaipNetworks().find(b=>b.chainNamespace===o);if(!d&&!p&&!m){const b=this.getApprovedCaipNetworkIds()||[],S=b.find(C=>{var R;return((R=ct.parseCaipNetworkId(C))==null?void 0:R.chainId)===c.toString()}),v=b.find(C=>{var R;return((R=ct.parseCaipNetworkId(C))==null?void 0:R.chainNamespace)===o});p=this.getCaipNetworks().find(C=>C.caipNetworkId===S),m=this.getCaipNetworks().find(C=>C.caipNetworkId===v||"deprecatedCaipNetworkId"in C&&C.deprecatedCaipNetworkId===v)}const f=p||m;(f==null?void 0:f.chainNamespace)===w.state.activeChain?$.state.enableNetworkSwitch&&!$.state.allowUnsupportedChain&&((h=w.state.activeCaipNetwork)==null?void 0:h.name)===U.UNSUPPORTED_NETWORK_NAME?w.showUnsupportedChainUI():this.setCaipNetwork(f):s||n&&this.setCaipNetworkOfNamespace(n,o),this.syncConnectedWalletInfo(o);const y=this.getAddress(o);wo.isLowerCaseMatch(r,y)||this.syncAccountInfo(r,f==null?void 0:f.id,o),s?await this.syncBalance({address:r,chainId:f==null?void 0:f.id,chainNamespace:o}):await this.syncBalance({address:r,chainId:n==null?void 0:n.id,chainNamespace:o}),this.syncIdentity({address:r,chainId:i,chainNamespace:o})}}async syncAccountInfo(e,s,n){const r=this.getCaipAddress(n),i=s||(r==null?void 0:r.split(":")[1]);if(!i)return;const o=`${n}:${i}:${e}`;this.setCaipAddress(o,n,!0),await this.syncIdentity({address:e,chainId:i,chainNamespace:n})}async syncReownName(e,s){try{const n=await this.getReownName(e);if(n[0]){const r=n[0];this.setProfileName(r.name,s)}else this.setProfileName(null,s)}catch{this.setProfileName(null,s)}}syncConnectedWalletInfo(e){var r;const s=q.getConnectorId(e),n=He.getProviderId(e);if(n===Ut.CONNECTOR_TYPE_ANNOUNCED||n===Ut.CONNECTOR_TYPE_INJECTED){if(s){const o=this.getConnectors().find(a=>{var u,h;const c=a.id===s,l=((u=a.info)==null?void 0:u.rdns)===s,d=(h=a.connectors)==null?void 0:h.some(p=>{var m;return p.id===s||((m=p.info)==null?void 0:m.rdns)===s});return c||l||!!d});if(o){const{info:a,name:c,imageUrl:l}=o,d=l||this.getConnectorImage(o);this.setConnectedWalletInfo({name:c,icon:d,...a},e)}}}else if(n===Ut.CONNECTOR_TYPE_WALLET_CONNECT){const i=He.getProvider(e);i!=null&&i.session&&this.setConnectedWalletInfo({...i.session.peer.metadata,name:i.session.peer.metadata.name,icon:(r=i.session.peer.metadata.icons)==null?void 0:r[0]},e)}else if(s&&(s===U.CONNECTOR_ID.COINBASE_SDK||s===U.CONNECTOR_ID.COINBASE)){const i=this.getConnectors().find(l=>l.id===s),o=(i==null?void 0:i.name)||"Coinbase Wallet",a=(i==null?void 0:i.imageUrl)||this.getConnectorImage(i),c=i==null?void 0:i.info;this.setConnectedWalletInfo({...c,name:o,icon:a},e)}}async syncBalance(e){!mf.getNetworksByNamespace(this.getCaipNetworks(),e.chainNamespace).find(n=>{var r;return n.id.toString()===((r=e.chainId)==null?void 0:r.toString())})||!e.chainId||await this.updateNativeBalance(e.address,e.chainId,e.chainNamespace)}async ready(){await this.readyPromise}async updateNativeBalance(e,s,n){const r=this.getAdapter(n),i=w.getCaipNetworkByNamespace(n,s);if(r){const o=await r.getBalance({address:e,chainId:s,caipNetwork:i,tokens:this.options.tokens});return this.setBalance(o.balance,o.symbol,n),o}}async initializeUniversalAdapter(){var r,i,o,a,c,l,d,u,h,p;const e=kx.createLogger((m,...f)=>{m&&this.handleAlertError(m),console.error(...f)}),s={projectId:(r=this.options)==null?void 0:r.projectId,metadata:{name:(i=this.options)!=null&&i.metadata?(o=this.options)==null?void 0:o.metadata.name:"",description:(a=this.options)!=null&&a.metadata?(c=this.options)==null?void 0:c.metadata.description:"",url:(l=this.options)!=null&&l.metadata?(d=this.options)==null?void 0:d.metadata.url:"",icons:(u=this.options)!=null&&u.metadata?(h=this.options)==null?void 0:h.metadata.icons:[""]},logger:e};$.setManualWCControl(!!((p=this.options)!=null&&p.manualWCControl)),this.universalProvider=this.options.universalProvider??await ex.init(s);const n=this.universalProvider.disconnect.bind(this.universalProvider);this.universalProvider.disconnect=async()=>{try{return await n()}catch(m){if(m instanceof Error&&m.message.includes("Missing or invalid. Record was recently deleted"))return;throw m}},$.state.enableReconnect===!1&&this.universalProvider.session&&await this.universalProvider.disconnect(),this.listenWalletConnect()}listenWalletConnect(){this.universalProvider&&this.chainNamespaces.forEach(e=>{Wn.listenWcProvider({universalProvider:this.universalProvider,namespace:e,onDisplayUri:s=>{K.setUri(s)},onConnect:s=>{const{address:n}=Z.getAccount(s[0]);K.finalizeWcConnection(n)},onDisconnect:()=>{w.state.noAdapters&&this.resetAccount(e),K.resetWcConnection()},onChainChanged:s=>{const n=w.state.activeChain,r=n&&q.state.activeConnectorIds[n]===U.CONNECTOR_ID.WALLET_CONNECT;if(n===e&&(w.state.noAdapters||r)){const i=this.getCaipNetworks().find(a=>a.id.toString()===s.toString()||a.caipNetworkId.toString()===s.toString()),o=this.getCaipNetwork();if(!i){this.setUnsupportedNetwork(s);return}(o==null?void 0:o.id.toString())!==(i==null?void 0:i.id.toString())&&(o==null?void 0:o.chainNamespace)===(i==null?void 0:i.chainNamespace)&&this.setCaipNetwork(i)}},onAccountsChanged:s=>{const n=w.state.activeChain,r=n&&q.state.activeConnectorIds[n]===U.CONNECTOR_ID.WALLET_CONNECT;if(n===e&&(w.state.noAdapters||r)){const i=s==null?void 0:s[0];i&&this.syncAccount({address:i.address,chainId:i.chainId,chainNamespace:i.chainNamespace})}}})})}createUniversalProvider(){var e;return!this.universalProviderInitPromise&&Z.isClient()&&((e=this.options)!=null&&e.projectId)&&(this.universalProviderInitPromise=this.initializeUniversalAdapter()),this.universalProviderInitPromise}async getUniversalProvider(){if(!this.universalProvider)try{await this.createUniversalProvider()}catch(e){we.sendEvent({type:"error",event:"INTERNAL_SDK_ERROR",properties:{errorType:"UniversalProviderInitError",errorMessage:e instanceof Error?e.message:"Unknown",uncaught:!1}}),console.error("AppKit:getUniversalProvider - Cannot create provider",e)}return this.universalProvider}getDisabledCaipNetworks(){const e=w.getAllApprovedCaipNetworkIds(),s=w.getAllRequestedCaipNetworks();return Z.sortRequestedNetworks(e,s).filter(r=>w.isCaipNetworkDisabled(r))}handleAlertError(e){const s=Object.entries(It.UniversalProviderErrors).find(([,{message:a}])=>e.message.includes(a)),[n,r]=s??[],{message:i,alertErrorKey:o}=r??{};if(n&&i&&!this.reportedAlertErrors[n]){const a=It.ALERT_ERRORS[o];a&&(St.open(a,"error"),this.reportedAlertErrors[n]=!0)}}getAdapter(e){var s;if(e)return(s=this.chainAdapters)==null?void 0:s[e]}createAdapter(e){var r,i;if(!e)return;const s=e.namespace;if(!s)return;this.createClients();const n=e;n.namespace=s,n.construct({namespace:s,projectId:(r=this.options)==null?void 0:r.projectId,networks:(i=this.caipNetworks)==null?void 0:i.filter(({chainNamespace:o})=>o===s)}),this.chainNamespaces.includes(s)||this.chainNamespaces.push(s),this.chainAdapters&&(this.chainAdapters[s]=n)}async open(e){await this.injectModalUi(),e!=null&&e.uri&&K.setUri(e.uri);const{isSwap:s,isSend:n}=this.toModalOptions();return s(e)?Ne.open({...e,data:{swap:e.arguments}}):n(e)&&e.arguments?this.openSend(e.arguments):Ne.open(e)}async close(){await this.injectModalUi(),Ne.close()}setLoading(e,s){Ne.setLoading(e,s)}async disconnect(e){await K.disconnect({namespace:e})}getSIWX(){return $.state.siwx}getError(){return""}getChainId(){var e;return(e=w.state.activeCaipNetwork)==null?void 0:e.id}async switchNetwork(e,{throwOnFailure:s=!1}={}){const n=this.getCaipNetworks().find(r=>r.id===e.id);if(!n){St.open(It.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,"error");return}await w.switchActiveNetwork(n,{throwOnFailure:s})}getWalletProvider(){return w.state.activeChain?He.state.providers[w.state.activeChain]:null}getWalletProviderType(){return He.getProviderId(w.state.activeChain)}subscribeProviders(e){return He.subscribeProviders(e)}getThemeMode(){return Ht.state.themeMode}getThemeVariables(){return Ht.state.themeVariables}setThemeMode(e){Ht.setThemeMode(e),pd(Ht.state.themeMode)}setTermsConditionsUrl(e){$.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){$.setPrivacyPolicyUrl(e)}setThemeVariables(e){Ht.setThemeVariables(e),ck(Ht.state.themeVariables)}subscribeTheme(e){return Ht.subscribe(e)}subscribeConnections(e){return this.remoteFeatures.multiWallet?K.subscribe(e):(St.open(U.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info"),()=>{})}getWalletInfo(e){var n,r;if(e)return(r=(n=w.state.chains.get(e))==null?void 0:n.accountState)==null?void 0:r.connectedWalletInfo;const s=w.getAccountData();return s==null?void 0:s.connectedWalletInfo}getAccount(e){const s=e||w.state.activeChain,n=q.getAuthConnector(s),r=w.getAccountData(s),i=M.getConnectedConnectorId(w.state.activeChain),o=K.getConnections(s);if(!s)throw new Error("AppKit:getAccount - namespace is required");const a=o.flatMap(c=>c.accounts.map(({address:l,type:d,publicKey:u})=>Z.createAccount(s,l,d||"eoa",u)));if(r)return{allAccounts:a,caipAddress:r.caipAddress,address:Z.getPlainAddress(r.caipAddress),isConnected:!!r.caipAddress,status:r.status,embeddedWalletInfo:n&&i===U.CONNECTOR_ID.AUTH?{user:r.user?{...r.user,username:M.getConnectedSocialUsername()}:void 0,authProvider:r.socialProvider||"email",accountType:os(s),isSmartAccountDeployed:!!r.smartAccountDeployed}:void 0}}subscribeAccount(e,s){const n=()=>{const r=this.getAccount(s);r&&e(r)};s?w.subscribeChainProp("accountState",n,s):w.subscribe(n),q.subscribe(n)}subscribeNetwork(e){return w.subscribe(({activeCaipNetwork:s})=>{e({caipNetwork:s,chainId:s==null?void 0:s.id,caipNetworkId:s==null?void 0:s.caipNetworkId})})}subscribeWalletInfo(e,s){return s?w.subscribeChainProp("accountState",n=>e(n==null?void 0:n.connectedWalletInfo),s):w.subscribeChainProp("accountState",n=>e(n==null?void 0:n.connectedWalletInfo))}subscribeShouldUpdateToAddress(e){w.subscribeChainProp("accountState",s=>e(s==null?void 0:s.shouldUpdateToAddress))}subscribeCaipNetworkChange(e){w.subscribeKey("activeCaipNetwork",e)}getState(){return as.state}getRemoteFeatures(){return $.state.remoteFeatures}subscribeState(e){return as.subscribe(e)}subscribeRemoteFeatures(e){return $.subscribeKey("remoteFeatures",e)}showErrorMessage(e){Ws.showError(e)}showSuccessMessage(e){Ws.showSuccess(e)}getEvent(){return{...we.state}}subscribeEvents(e){return we.subscribe(e)}replace(e){le.replace(e)}redirect(e){le.push(e)}popTransactionStack(e){le.popTransactionStack(e)}isOpen(){return Ne.state.open}isTransactionStackEmpty(){return le.state.transactionStack.length===0}static getInstance(){return this.instance}updateFeatures(e){$.setFeatures(e)}updateRemoteFeatures(e){$.setRemoteFeatures(e)}updateOptions(e){const n={...$.state||{},...e};$.setOptions(n)}setConnectMethodsOrder(e){$.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){$.setWalletFeaturesOrder(e)}setCollapseWallets(e){$.setCollapseWallets(e)}setSocialsOrder(e){$.setSocialsOrder(e)}getConnectMethodsOrder(){return Fn.getConnectOrderMethod($.state.features,q.getConnectors())}addNetwork(e,s){if(this.chainAdapters&&!this.chainAdapters[e])throw new Error(`Adapter for namespace ${e} doesn't exist`);const n=this.extendCaipNetwork(s,this.options);this.getCaipNetworks().find(r=>r.id===n.id)||w.addNetwork(n)}removeNetwork(e,s){if(this.chainAdapters&&!this.chainAdapters[e])throw new Error(`Adapter for namespace ${e} doesn't exist`);this.getCaipNetworks().find(r=>r.id===s)&&w.removeNetwork(e,s)}}let uf=!1;class hy extends hk{async onAuthProviderConnected(e){const s=wo.userChainIdToChainNamespace(e==null?void 0:e.chainId);if(e.message&&e.signature&&e.siwxMessage&&await Es.addEmbeddedWalletSession({chainId:e.siwxMessage.chainId,accountAddress:e.address,notBefore:e.siwxMessage.notBefore,statement:e.siwxMessage.statement,resources:e.siwxMessage.resources,requestId:e.siwxMessage.requestId,issuedAt:e.siwxMessage.issuedAt,domain:e.siwxMessage.domain,uri:e.siwxMessage.uri,version:e.siwxMessage.version,nonce:e.siwxMessage.nonce},e.message,e.signature),!s)throw new Error("AppKit:onAuthProviderConnected - namespace is required");const n=s===U.CHAIN.EVM?`eip155:${e.chainId}:${e.address}`:`${e.chainId}:${e.address}`,r=$.state.defaultAccountTypes[s],i=os(s),o=e.preferredAccountType||i||r;this.setCaipAddress(n,s);const{signature:a,siwxMessage:c,message:l,...d}=e,u=w.getAccountData(s);this.setUser({...(u==null?void 0:u.user)||{},...d},s),this.setSmartAccountDeployed(!!e.smartAccountDeployed,s),this.setPreferredAccountType(o,s),await Promise.all([this.syncAuthConnectorTheme(this.authProvider),this.syncAccount({address:e.address,chainId:e.chainId,chainNamespace:s})]),this.setLoading(!1,s)}setupAuthConnectorListeners(e){e.onRpcRequest(s=>{is.checkIfRequestExists(s)?is.checkIfRequestIsSafe(s)||this.handleUnsafeRPCRequest():(this.open(),console.error(et.RPC_METHOD_NOT_ALLOWED_MESSAGE,{method:s.method}),setTimeout(()=>{this.showErrorMessage(et.RPC_METHOD_NOT_ALLOWED_UI_MESSAGE)},300),e.rejectRpcRequests())}),e.onRpcError(()=>{this.isOpen()&&(this.isTransactionStackEmpty()?this.close():this.popTransactionStack("error"))}),e.onRpcSuccess((s,n)=>{const r=is.checkIfRequestIsSafe(n),i=this.getAddress(),o=w.state.activeCaipNetwork;r||(i&&(o!=null&&o.id)&&this.updateNativeBalance(i,o.id,o.chainNamespace),this.isTransactionStackEmpty()?this.close():this.popTransactionStack("success"))}),e.onNotConnected(()=>{const s=w.state.activeChain;if(!s)throw new Error("AppKit:onNotConnected - namespace is required");q.getConnectorId(s)===U.CONNECTOR_ID.AUTH&&(this.setCaipAddress(null,s),this.setLoading(!1,s))}),e.onConnect(this.onAuthProviderConnected.bind(this)),e.onSocialConnected(this.onAuthProviderConnected.bind(this)),e.onSetPreferredAccount(({address:s,type:n})=>{const r=w.state.activeChain;if(!r)throw new Error("AppKit:onSetPreferredAccount - namespace is required");s&&this.setPreferredAccountType(n,r)})}async syncAuthConnectorTheme(e){if(!e)return;const s=Ht.getSnapshot();await e.syncTheme({themeMode:s.themeMode,themeVariables:s.themeVariables,w3mThemeVariables:Yi(s.themeVariables,s.themeMode)})}async syncAuthConnector(e,s){var d,u,h,p,m,f,y,b,S;const n=U.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(s),r=s===w.state.activeChain;if(!n)return;this.setLoading(!0,s);const i=e.getLoginEmailUsed();this.setLoading(i,s),i&&this.setStatus("connecting",s);const o=e.getEmail(),a=e.getUsername(),c=((d=w.getAccountData(s))==null?void 0:d.user)||{};this.setUser({...c,username:a,email:o},s),this.setupAuthConnectorListeners(e);const{isConnected:l}=await e.isConnected();if(s&&n&&r)if(l&&((u=this.connectionControllerClient)!=null&&u.connectExternal)){await e.init(),await this.syncAuthConnectorTheme(e),await((m=this.connectionControllerClient)==null?void 0:m.connectExternal({id:U.CONNECTOR_ID.AUTH,info:{name:U.CONNECTOR_ID.AUTH},type:Ut.CONNECTOR_TYPE_AUTH,provider:e,chainId:(p=(h=w.getNetworkData(s))==null?void 0:h.caipNetwork)==null?void 0:p.id,chain:s})),this.setStatus("connected",s);const v=M.getConnectedSocialProvider();v?we.sendEvent({type:"track",event:"SOCIAL_LOGIN_SUCCESS",address:this.getAddress(),properties:{provider:v,reconnect:!0}}):we.sendEvent({type:"track",event:"CONNECT_SUCCESS",address:this.getAddress(),properties:{method:"email",name:((S=(b=(y=(f=this.universalProvider)==null?void 0:f.session)==null?void 0:y.peer)==null?void 0:b.metadata)==null?void 0:S.name)||"Unknown",reconnect:!0,view:le.state.view,walletRank:void 0}})}else q.getConnectorId(s)===U.CONNECTOR_ID.AUTH&&(this.setStatus("disconnected",s),M.removeConnectedNamespace(s));this.setLoading(!1,s)}async checkExistingTelegramSocialConnection(e){var s;try{if(!Z.isTelegram())return;const n=M.getTelegramSocialProvider();if(!n||!Z.isClient())return;const i=new URL(window.location.href).searchParams.get("result_uri");if(!i)return;n&&w.setAccountProp("socialProvider",n,e),await((s=this.authProvider)==null?void 0:s.init());const o=q.getAuthConnector();n&&o&&(this.setLoading(!0,e),await K.connectExternal({id:o.id,type:o.type,socialUri:i},o.chain),M.setConnectedSocialProvider(n),M.removeTelegramSocialProvider(),we.sendEvent({type:"track",event:"SOCIAL_LOGIN_SUCCESS",properties:{provider:n}}))}catch(n){this.setLoading(!1,e),console.error("checkExistingSTelegramocialConnection error",n)}try{const n=new URL(window.location.href);n.searchParams.delete("result_uri"),window.history.replaceState({},document.title,n.toString())}catch(n){console.error("tma social login failed",n)}}createAuthProvider(e){var l,d,u,h;if(!U.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(e))return;const n=(l=this.remoteFeatures)==null?void 0:l.email,r=Array.isArray((d=this.remoteFeatures)==null?void 0:d.socials)&&this.remoteFeatures.socials.length>0,i=n||r,a=wo.getActiveNamespaceConnectedToAuth()||e;!this.authProvider&&((u=this.options)!=null&&u.projectId)&&i&&(this.authProvider=Vi.getInstance({projectId:this.options.projectId,enableLogger:this.options.enableAuthLogger,chainId:(h=this.getCaipNetwork(a))==null?void 0:h.caipNetworkId,abortController:It.EmbeddedWalletAbortController,onTimeout:p=>{p==="iframe_load_failed"?St.open(It.ALERT_ERRORS.IFRAME_LOAD_FAILED,"error"):p==="iframe_request_timeout"?St.open(It.ALERT_ERRORS.IFRAME_REQUEST_TIMEOUT,"error"):p==="unverified_domain"&&St.open(It.ALERT_ERRORS.UNVERIFIED_DOMAIN,"error")},getActiveCaipNetwork:p=>ki(p),getCaipNetworks:p=>w.getCaipNetworks(p)}),as.subscribeOpen(p=>{var m;!p&&this.isTransactionStackEmpty()&&((m=this.authProvider)==null||m.rejectRpcRequests())}));const c=e===w.state.activeChain&&$.state.enableReconnect;$.state.enableReconnect===!1?this.syncAuthConnectorTheme(this.authProvider):this.authProvider&&c&&(this.syncAuthConnector(this.authProvider,e),this.checkExistingTelegramSocialConnection(e))}createAuthProviderForAdapter(e){var s,n,r;this.createAuthProvider(e),this.authProvider&&((r=(n=(s=this.chainAdapters)==null?void 0:s[e])==null?void 0:n.setAuthProvider)==null||r.call(n,this.authProvider))}initControllers(e){super.initControllers(e),this.options.excludeWalletIds&&Q.initializeExcludedWallets({ids:this.options.excludeWalletIds})}async switchCaipNetwork(e){var o,a,c;if(!e)return;const s=w.state.activeChain,n=e.chainNamespace,r=this.getAddressByChainNamespace(n);if(n===s&&((o=w.getAccountData(n))!=null&&o.caipAddress)){const l=this.getAdapter(n);await(l==null?void 0:l.switchNetwork({caipNetwork:e})),this.setCaipNetwork(e)}else{const d=He.getProviderId(s)===Ut.CONNECTOR_TYPE_AUTH,u=He.getProviderId(n),h=u===Ut.CONNECTOR_TYPE_AUTH,p=U.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(n);if(!n)throw new Error("AppKit:switchCaipNetwork - networkNamespace is required");if((d&&u===void 0||h)&&p)try{if(w.state.activeChain=e.chainNamespace,r){const m=this.getAdapter(n);await(m==null?void 0:m.switchNetwork({caipNetwork:e}))}else await((c=(a=this.connectionControllerClient)==null?void 0:a.connectExternal)==null?void 0:c.call(a,{id:U.CONNECTOR_ID.AUTH,provider:this.authProvider,chain:n,chainId:e.id,type:Ut.CONNECTOR_TYPE_AUTH,caipNetwork:e}));this.setCaipNetwork(e)}catch{const f=this.getAdapter(n);await(f==null?void 0:f.switchNetwork({caipNetwork:e}))}else if(u===Ut.CONNECTOR_TYPE_WALLET_CONNECT){if(!w.state.noAdapters){const m=this.getAdapter(n);await(m==null?void 0:m.switchNetwork({caipNetwork:e}))}this.setCaipNetwork(e),this.syncWalletConnectAccount()}else this.setCaipNetwork(e),r&&this.syncAccount({address:r,chainId:e.id,chainNamespace:n})}}async initialize(e){var s;await super.initialize(e),(s=this.chainNamespaces)==null||s.forEach(n=>{this.createAuthProviderForAdapter(n)}),await this.injectModalUi(),as.set({initialized:!0})}async syncIdentity({address:e,chainId:s,chainNamespace:n}){var a;const r=`${n}:${s}`,i=(a=this.caipNetworks)==null?void 0:a.find(c=>c.caipNetworkId===r);if(i!=null&&i.testnet){this.setProfileName(null,n),this.setProfileImage(null,n);return}const o=q.getConnectorId(n)===U.CONNECTOR_ID.AUTH;try{const{name:c,avatar:l}=await this.fetchIdentity({address:e});!c&&o?await this.syncReownName(e,n):(this.setProfileName(c,n),this.setProfileImage(l,n))}catch{s!==1&&this.setProfileImage(null,n)}}syncConnectedWalletInfo(e){const s=He.getProviderId(e);if(s===Ut.CONNECTOR_TYPE_AUTH){const n=this.authProvider;if(n){const r=M.getConnectedSocialProvider()??"email",i=n.getEmail()??n.getUsername();this.setConnectedWalletInfo({name:s,identifier:i,social:r},e)}}else super.syncConnectedWalletInfo(e)}async injectModalUi(){if(Z.isClient()&&!uf)try{const e={...Ie.DEFAULT_FEATURES,...this.options.features},s=this.remoteFeatures;if(await this.loadModalComponents(e,s),Z.isClient()&&!document.querySelector("w3m-modal")){const r=document.createElement("w3m-modal");!$.state.disableAppend&&!$.state.enableEmbedded&&document.body.insertAdjacentElement("beforeend",r)}uf=!0}catch(e){console.error("Error injecting modal UI:",e)}}async loadModalComponents(e,s){if(!Z.isClient())return;const n=[];(s.email||s.socials&&s.socials.length>0)&&n.push(kt(()=>import("./embedded-wallet-Dj8lw64G.js"),__vite__mapDeps([11,12,4,5,13,14,2,3,15,16,17,18,19,20,21,22,23,24,8,9]))),s.email&&n.push(kt(()=>import("./email-HyF8d31i.js"),__vite__mapDeps([25,12,4,5,26,23,16,22,14,15,21,27,19,2,3,8,9]))),s.socials&&n.push(kt(()=>import("./socials-CEl5e3er.js"),__vite__mapDeps([28,12,4,5,14,29,15,30,2,3,22,31,18,21,16,32,13,33,34,8,9]))),s.swaps&&s.swaps.length>0&&n.push(kt(()=>import("./swaps-CHh8IHbf.js"),__vite__mapDeps([35,12,4,5,21,16,22,14,36,37,38,2,3,34,39,13,19,15,8,9]))),e.send&&n.push(kt(()=>import("./send-BCp16qi0.js"),__vite__mapDeps([40,12,4,5,21,16,22,14,41,15,42,23,39,13,34,38,2,3,19,43,44,8,9]))),e.receive&&n.push(kt(()=>import("./receive-5VeEorgq.js"),__vite__mapDeps([45,12,4,5,14,13,32,33,2,3,8,9]))),s.onramp&&s.onramp.length>0&&n.push(kt(()=>import("./onramp-BErKzfhZ.js"),__vite__mapDeps([46,12,4,5,14,47,16,29,15,13,48,49,23,21,22,31,19,2,3,8,9]))),s.payWithExchange&&n.push(kt(()=>import("./pay-with-exchange-B3Mp96JM.js"),__vite__mapDeps([50,12,4,5,14,13,20,47,16,34,21,42,15,23,51,22,19,43,41,2,3,8,9]))),s.activity&&n.push(kt(()=>import("./transactions-DmFe0uqW.js"),__vite__mapDeps([52,12,4,5,53,22,14,23,13,34,2,3,8,9]))),(e.pay||s.payments)&&n.push(kt(()=>import("./index-CrlKVJaS.js"),__vite__mapDeps([54,12,4,5,14,21,16,55,20,13,47,56,41,57,22,2,3,31,8,9]))),s.emailCapture&&n.push(kt(()=>import("./data-capture-UMtJXiUu.js"),__vite__mapDeps([58,12,4,5,26,23,16,10,2,3,8,9]))),await Promise.all([...n,kt(()=>import("./index-BwivyfoP.js"),__vite__mapDeps([59,12,4,5,14,13,16,44,22,60,49,23,17,18,2,3,57,20,47,21,51,53,34,43,36,37,41,15,19,56,27,29,30,31,32,33,24,48,8,9])),kt(()=>import("./w3m-modal-kvjqzGhs.js"),__vite__mapDeps([61,12,4,5,14,55,13,17,18,2,3,16,22,37,60,49,23,57,38,21,8,9]))])}}const pk="1.8.15";function fk(t){return new hy({...t,sdkVersion:Z.generateSdkVersion(t.adapters??[],"html",pk)})}const i2=Object.freeze(Object.defineProperty({__proto__:null,AppKit:hy,CoreHelperUtil:Z,WcConstantsUtil:Li,createAppKit:fk},Symbol.toStringTag,{value:"Module"}));export{Hi as $,pt as A,he as B,w as C,Ff as D,we as E,Xi as F,M as G,is as H,ie as I,ae as J,Ut as K,Q as L,Ne as M,Gy as N,$ as O,vC as P,It as Q,le as R,Ws as S,Ht as T,ct as U,He as V,et as W,Xy as X,Yi as Y,at as Z,_e as _,Z as a,Tl as a0,ws as a1,da as a2,Nr as a3,un as a4,Es as a5,s2 as a6,Hf as a7,oy as a8,ud as a9,fi as aa,Mf as ab,AC as ac,_C as ad,Bf as ae,Bu as af,PC as ag,Ho as ah,kC as ai,TC as aj,Rs as ak,Ra as al,wo as am,Fn as an,Gr as ao,iv as ap,ki as aq,i2 as ar,Kk as b,zk as c,Ie as d,Wf as e,Yk as f,Gk as g,Zk as h,wt as i,t2 as j,r2 as k,ma as l,Qk as m,Mn as n,K as o,Ke as p,os as q,n2 as r,Et as s,nv as t,St as u,ak as v,vs as w,_d as x,q as y,e2 as z};