@reown/appkit-cdn 1.8.15-viem-upgrade.0 → 1.8.15-viem-upgrade-2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/dist/ConstantsUtil-DSO-aT76.js +24 -0
  2. package/dist/ConstantsUtil-DSO-aT76.js.map +1 -0
  3. package/dist/ExchangeController-D7JbbTDN.js +265 -0
  4. package/dist/ExchangeController-D7JbbTDN.js.map +1 -0
  5. package/dist/HelpersUtil-BfwO5f4J.js +141 -0
  6. package/dist/HelpersUtil-BfwO5f4J.js.map +1 -0
  7. package/dist/NavigationUtil-Ci15WS4K.js +9 -0
  8. package/dist/NavigationUtil-Ci15WS4K.js.map +1 -0
  9. package/dist/PhArrowCircleDown-B41iUlWV.js +74 -0
  10. package/dist/PhArrowCircleDown-B41iUlWV.js.map +1 -0
  11. package/dist/PhArrowClockwise-BY8u5n41.js +74 -0
  12. package/dist/PhArrowClockwise-BY8u5n41.js.map +1 -0
  13. package/dist/PhArrowDown-ClD8GZ65.js +74 -0
  14. package/dist/PhArrowDown-ClD8GZ65.js.map +1 -0
  15. package/dist/PhArrowLeft-B8MXUz60.js +74 -0
  16. package/dist/PhArrowLeft-B8MXUz60.js.map +1 -0
  17. package/dist/PhArrowRight-Cewa_Slb.js +74 -0
  18. package/dist/PhArrowRight-Cewa_Slb.js.map +1 -0
  19. package/dist/PhArrowSquareOut-whgWh-lD.js +74 -0
  20. package/dist/PhArrowSquareOut-whgWh-lD.js.map +1 -0
  21. package/dist/PhArrowUp-B1HXBxie.js +74 -0
  22. package/dist/PhArrowUp-B1HXBxie.js.map +1 -0
  23. package/dist/PhArrowUpRight-CfFYe4FP.js +74 -0
  24. package/dist/PhArrowUpRight-CfFYe4FP.js.map +1 -0
  25. package/dist/PhArrowsClockwise-gL1Gkrtx.js +74 -0
  26. package/dist/PhArrowsClockwise-gL1Gkrtx.js.map +1 -0
  27. package/dist/PhArrowsDownUp-BqUEdUQr.js +74 -0
  28. package/dist/PhArrowsDownUp-BqUEdUQr.js.map +1 -0
  29. package/dist/PhArrowsLeftRight-BlZU63eY.js +74 -0
  30. package/dist/PhArrowsLeftRight-BlZU63eY.js.map +1 -0
  31. package/dist/PhBank-gbg_jlI7.js +74 -0
  32. package/dist/PhBank-gbg_jlI7.js.map +1 -0
  33. package/dist/PhBrowser-CMlD-YJw.js +74 -0
  34. package/dist/PhBrowser-CMlD-YJw.js.map +1 -0
  35. package/dist/PhCaretDown-3agTO8Jp.js +74 -0
  36. package/dist/PhCaretDown-3agTO8Jp.js.map +1 -0
  37. package/dist/PhCaretLeft-_MTni7Z5.js +74 -0
  38. package/dist/PhCaretLeft-_MTni7Z5.js.map +1 -0
  39. package/dist/PhCaretRight-Ci9fAHPG.js +74 -0
  40. package/dist/PhCaretRight-Ci9fAHPG.js.map +1 -0
  41. package/dist/PhCaretUp-vFG4Fame.js +74 -0
  42. package/dist/PhCaretUp-vFG4Fame.js.map +1 -0
  43. package/dist/PhCheck-mChGK6K_.js +74 -0
  44. package/dist/PhCheck-mChGK6K_.js.map +1 -0
  45. package/dist/PhCircleHalf-DZ7-vfxf.js +74 -0
  46. package/dist/PhCircleHalf-DZ7-vfxf.js.map +1 -0
  47. package/dist/PhClock-Bc5XWXb6.js +74 -0
  48. package/dist/PhClock-Bc5XWXb6.js.map +1 -0
  49. package/dist/PhCompass-Cu2MB-55.js +74 -0
  50. package/dist/PhCompass-Cu2MB-55.js.map +1 -0
  51. package/dist/PhCopy-BGUjyTts.js +74 -0
  52. package/dist/PhCopy-BGUjyTts.js.map +1 -0
  53. package/dist/PhCreditCard-vxFWID4B.js +74 -0
  54. package/dist/PhCreditCard-vxFWID4B.js.map +1 -0
  55. package/dist/PhCurrencyDollar-BfOoDhJr.js +74 -0
  56. package/dist/PhCurrencyDollar-BfOoDhJr.js.map +1 -0
  57. package/dist/PhDesktop-Cq6jwzbS.js +74 -0
  58. package/dist/PhDesktop-Cq6jwzbS.js.map +1 -0
  59. package/dist/PhDeviceMobile-BCtTp6jj.js +74 -0
  60. package/dist/PhDeviceMobile-BCtTp6jj.js.map +1 -0
  61. package/dist/PhDotsThree-BGgD-WIO.js +74 -0
  62. package/dist/PhDotsThree-BGgD-WIO.js.map +1 -0
  63. package/dist/PhEnvelope-CQiV0-zG.js +74 -0
  64. package/dist/PhEnvelope-CQiV0-zG.js.map +1 -0
  65. package/dist/PhFunnelSimple-BHGtxTNf.js +74 -0
  66. package/dist/PhFunnelSimple-BHGtxTNf.js.map +1 -0
  67. package/dist/PhGlobe-Q8oVkf6X.js +74 -0
  68. package/dist/PhGlobe-Q8oVkf6X.js.map +1 -0
  69. package/dist/PhIdentificationCard-Cz9LzvVR.js +74 -0
  70. package/dist/PhIdentificationCard-Cz9LzvVR.js.map +1 -0
  71. package/dist/PhImage-CP5_qKk-.js +74 -0
  72. package/dist/PhImage-CP5_qKk-.js.map +1 -0
  73. package/dist/PhInfo-CTlE1X9Z.js +74 -0
  74. package/dist/PhInfo-CTlE1X9Z.js.map +1 -0
  75. package/dist/PhLightbulb-CcLpnAAb.js +74 -0
  76. package/dist/PhLightbulb-CcLpnAAb.js.map +1 -0
  77. package/dist/PhMagnifyingGlass-n58GUAck.js +74 -0
  78. package/dist/PhMagnifyingGlass-n58GUAck.js.map +1 -0
  79. package/dist/PhPaperPlaneRight-C0sf2XV8.js +74 -0
  80. package/dist/PhPaperPlaneRight-C0sf2XV8.js.map +1 -0
  81. package/dist/PhPlus-BJxvt7Uc.js +74 -0
  82. package/dist/PhPlus-BJxvt7Uc.js.map +1 -0
  83. package/dist/PhPower-BvktxO2-.js +74 -0
  84. package/dist/PhPower-BvktxO2-.js.map +1 -0
  85. package/dist/PhPuzzlePiece-CDDyUPYo.js +74 -0
  86. package/dist/PhPuzzlePiece-CDDyUPYo.js.map +1 -0
  87. package/dist/PhQrCode-BlGI8529.js +74 -0
  88. package/dist/PhQrCode-BlGI8529.js.map +1 -0
  89. package/dist/PhQuestion-DGZj6iDZ.js +74 -0
  90. package/dist/PhQuestion-DGZj6iDZ.js.map +1 -0
  91. package/dist/PhQuestionMark-CTmeI7MQ.js +74 -0
  92. package/dist/PhQuestionMark-CTmeI7MQ.js.map +1 -0
  93. package/dist/PhSealCheck-BSlqkxnH.js +74 -0
  94. package/dist/PhSealCheck-BSlqkxnH.js.map +1 -0
  95. package/dist/PhSignOut-CEXxlRk3.js +74 -0
  96. package/dist/PhSignOut-CEXxlRk3.js.map +1 -0
  97. package/dist/PhSpinner-Do1pY8fG.js +74 -0
  98. package/dist/PhSpinner-Do1pY8fG.js.map +1 -0
  99. package/dist/PhTrash-JNKavmpg.js +74 -0
  100. package/dist/PhTrash-JNKavmpg.js.map +1 -0
  101. package/dist/PhUser-BW7E-xYg.js +74 -0
  102. package/dist/PhUser-BW7E-xYg.js.map +1 -0
  103. package/dist/PhVault-mzxUgBYN.js +74 -0
  104. package/dist/PhVault-mzxUgBYN.js.map +1 -0
  105. package/dist/PhWallet-BR9JThKU.js +74 -0
  106. package/dist/PhWallet-BR9JThKU.js.map +1 -0
  107. package/dist/PhWarning-DxuQ70WM.js +74 -0
  108. package/dist/PhWarning-DxuQ70WM.js.map +1 -0
  109. package/dist/PhWarningCircle-DCI0JC1F.js +74 -0
  110. package/dist/PhWarningCircle-DCI0JC1F.js.map +1 -0
  111. package/dist/PhX-CWNXqpGn.js +74 -0
  112. package/dist/PhX-CWNXqpGn.js.map +1 -0
  113. package/dist/SwapController-B9-o3mQi.js +684 -0
  114. package/dist/SwapController-B9-o3mQi.js.map +1 -0
  115. package/dist/WebCryptoP256-C3tULCeM.js +3306 -0
  116. package/dist/WebCryptoP256-C3tULCeM.js.map +1 -0
  117. package/dist/add-D30MIcu9.js +20 -0
  118. package/dist/add-D30MIcu9.js.map +1 -0
  119. package/dist/all-wallets-C80If_mR.js +11 -0
  120. package/dist/all-wallets-C80If_mR.js.map +1 -0
  121. package/dist/app-store-BmykKf9Z.js +22 -0
  122. package/dist/app-store-BmykKf9Z.js.map +1 -0
  123. package/dist/appkit-8yrMZRW-.js +122304 -0
  124. package/dist/appkit-8yrMZRW-.js.map +1 -0
  125. package/dist/appkit.js +11 -0
  126. package/dist/appkit.js.map +1 -0
  127. package/dist/apple-Dj3k73U9.js +23 -0
  128. package/dist/apple-Dj3k73U9.js.map +1 -0
  129. package/dist/arrow-bottom-circle-BChVBNAj.js +16 -0
  130. package/dist/arrow-bottom-circle-BChVBNAj.js.map +1 -0
  131. package/dist/arrow-bottom-yR02zZ81.js +13 -0
  132. package/dist/arrow-bottom-yR02zZ81.js.map +1 -0
  133. package/dist/arrow-left-Cee83VTx.js +13 -0
  134. package/dist/arrow-left-Cee83VTx.js.map +1 -0
  135. package/dist/arrow-right-DQ18mteW.js +13 -0
  136. package/dist/arrow-right-DQ18mteW.js.map +1 -0
  137. package/dist/arrow-top-B6s5gNau.js +13 -0
  138. package/dist/arrow-top-B6s5gNau.js.map +1 -0
  139. package/dist/async-directive-CMZZt7_p.js +73 -0
  140. package/dist/async-directive-CMZZt7_p.js.map +1 -0
  141. package/dist/bank-CbtVBu5E.js +19 -0
  142. package/dist/bank-CbtVBu5E.js.map +1 -0
  143. package/dist/basic-DgeOYTPN.js +4914 -0
  144. package/dist/basic-DgeOYTPN.js.map +1 -0
  145. package/dist/browser-5XoTmr4n.js +1991 -0
  146. package/dist/browser-5XoTmr4n.js.map +1 -0
  147. package/dist/browser-DKlNidhn.js +19 -0
  148. package/dist/browser-DKlNidhn.js.map +1 -0
  149. package/dist/card-SMLX2mqy.js +19 -0
  150. package/dist/card-SMLX2mqy.js.map +1 -0
  151. package/dist/ccip-CelHgeHp.js +164 -0
  152. package/dist/ccip-CelHgeHp.js.map +1 -0
  153. package/dist/checkmark-BFaipJhW.js +16 -0
  154. package/dist/checkmark-BFaipJhW.js.map +1 -0
  155. package/dist/checkmark-bold-Bo-g2gCt.js +13 -0
  156. package/dist/checkmark-bold-Bo-g2gCt.js.map +1 -0
  157. package/dist/chevron-bottom-CLdpL1_U.js +13 -0
  158. package/dist/chevron-bottom-CLdpL1_U.js.map +1 -0
  159. package/dist/chevron-left-BMatzLVm.js +13 -0
  160. package/dist/chevron-left-BMatzLVm.js.map +1 -0
  161. package/dist/chevron-right-2QBn-njW.js +13 -0
  162. package/dist/chevron-right-2QBn-njW.js.map +1 -0
  163. package/dist/chevron-top-3JfkBBnK.js +13 -0
  164. package/dist/chevron-top-3JfkBBnK.js.map +1 -0
  165. package/dist/chrome-store-zmrzd-ux.js +66 -0
  166. package/dist/chrome-store-zmrzd-ux.js.map +1 -0
  167. package/dist/class-map-k3nlzPqR.js +101 -0
  168. package/dist/class-map-k3nlzPqR.js.map +1 -0
  169. package/dist/clock-CwBvHRGi.js +13 -0
  170. package/dist/clock-CwBvHRGi.js.map +1 -0
  171. package/dist/close-DGwKhnz2.js +13 -0
  172. package/dist/close-DGwKhnz2.js.map +1 -0
  173. package/dist/clsx.m-D57qXwfE.js +21 -0
  174. package/dist/clsx.m-D57qXwfE.js.map +1 -0
  175. package/dist/coinPlaceholder-Bjl3yxih.js +13 -0
  176. package/dist/coinPlaceholder-Bjl3yxih.js.map +1 -0
  177. package/dist/compass-Ci53Xt_m.js +13 -0
  178. package/dist/compass-Ci53Xt_m.js.map +1 -0
  179. package/dist/copy-DEV1V6UY.js +20 -0
  180. package/dist/copy-DEV1V6UY.js.map +1 -0
  181. package/dist/core-C57n14fz.js +16288 -0
  182. package/dist/core-C57n14fz.js.map +1 -0
  183. package/dist/cursor-aZqnhG2b.js +8 -0
  184. package/dist/cursor-aZqnhG2b.js.map +1 -0
  185. package/dist/cursor-transparent-B1JSDQ4k.js +17 -0
  186. package/dist/cursor-transparent-B1JSDQ4k.js.map +1 -0
  187. package/dist/data-capture-4tu-_Un-.js +549 -0
  188. package/dist/data-capture-4tu-_Un-.js.map +1 -0
  189. package/dist/desktop-CYHnO2jB.js +14 -0
  190. package/dist/desktop-CYHnO2jB.js.map +1 -0
  191. package/dist/disconnect-Bort8PHj.js +13 -0
  192. package/dist/disconnect-Bort8PHj.js.map +1 -0
  193. package/dist/discord-DC76-391.js +22 -0
  194. package/dist/discord-DC76-391.js.map +1 -0
  195. package/dist/email-CetCpugE.js +421 -0
  196. package/dist/email-CetCpugE.js.map +1 -0
  197. package/dist/embedded-wallet-DGmopvFw.js +952 -0
  198. package/dist/embedded-wallet-DGmopvFw.js.map +1 -0
  199. package/dist/etherscan-CM1VXVi8.js +11 -0
  200. package/dist/etherscan-CM1VXVi8.js.map +1 -0
  201. package/dist/exclamation-triangle-C2EQS3zg.js +9 -0
  202. package/dist/exclamation-triangle-C2EQS3zg.js.map +1 -0
  203. package/dist/extension-CrQTWCzR.js +13 -0
  204. package/dist/extension-CrQTWCzR.js.map +1 -0
  205. package/dist/external-link-C-HaFB9S.js +13 -0
  206. package/dist/external-link-C-HaFB9S.js.map +1 -0
  207. package/dist/facebook-vNJNGTyY.js +31 -0
  208. package/dist/facebook-vNJNGTyY.js.map +1 -0
  209. package/dist/farcaster-BojA8Y3Q.js +17 -0
  210. package/dist/farcaster-BojA8Y3Q.js.map +1 -0
  211. package/dist/features-BqXSc1qT.js +319 -0
  212. package/dist/features-BqXSc1qT.js.map +1 -0
  213. package/dist/filters-CPcSdM3I.js +13 -0
  214. package/dist/filters-CPcSdM3I.js.map +1 -0
  215. package/dist/github-lRHD4KBY.js +23 -0
  216. package/dist/github-lRHD4KBY.js.map +1 -0
  217. package/dist/google-CxxvUUsR.js +23 -0
  218. package/dist/google-CxxvUUsR.js.map +1 -0
  219. package/dist/hashTypedData-CGPAwUvI.js +259 -0
  220. package/dist/hashTypedData-CGPAwUvI.js.map +1 -0
  221. package/dist/help-circle-YHj9O9n4.js +17 -0
  222. package/dist/help-circle-YHj9O9n4.js.map +1 -0
  223. package/dist/id-BbzMFdj1.js +17 -0
  224. package/dist/id-BbzMFdj1.js.map +1 -0
  225. package/dist/if-defined-G2Q1ofvJ.js +11 -0
  226. package/dist/if-defined-G2Q1ofvJ.js.map +1 -0
  227. package/dist/image-BXTuNWmr.js +9 -0
  228. package/dist/image-BXTuNWmr.js.map +1 -0
  229. package/dist/index-21QOMdJE.js +984 -0
  230. package/dist/index-21QOMdJE.js.map +1 -0
  231. package/dist/index-51p9LM0s.js +218 -0
  232. package/dist/index-51p9LM0s.js.map +1 -0
  233. package/dist/index-ALlvRvBi.js +3987 -0
  234. package/dist/index-ALlvRvBi.js.map +1 -0
  235. package/dist/index-B6tCHS_j.js +120 -0
  236. package/dist/index-B6tCHS_j.js.map +1 -0
  237. package/dist/index-B9IUGIqh.js +211 -0
  238. package/dist/index-B9IUGIqh.js.map +1 -0
  239. package/dist/index-BFKYwgq3.js +7488 -0
  240. package/dist/index-BFKYwgq3.js.map +1 -0
  241. package/dist/index-BPB7fVHQ.js +281 -0
  242. package/dist/index-BPB7fVHQ.js.map +1 -0
  243. package/dist/index-BdRMG5oJ.js +126 -0
  244. package/dist/index-BdRMG5oJ.js.map +1 -0
  245. package/dist/index-Bowi-aBJ.js +147 -0
  246. package/dist/index-Bowi-aBJ.js.map +1 -0
  247. package/dist/index-BpOoitMw.js +131 -0
  248. package/dist/index-BpOoitMw.js.map +1 -0
  249. package/dist/index-BqCjN5Bk.js +124 -0
  250. package/dist/index-BqCjN5Bk.js.map +1 -0
  251. package/dist/index-Bv2Jkp0T.js +967 -0
  252. package/dist/index-Bv2Jkp0T.js.map +1 -0
  253. package/dist/index-C2tJFA0B.js +1372 -0
  254. package/dist/index-C2tJFA0B.js.map +1 -0
  255. package/dist/index-C3h1bsiv.js +109 -0
  256. package/dist/index-C3h1bsiv.js.map +1 -0
  257. package/dist/index-CFC2NxJ5.js +180 -0
  258. package/dist/index-CFC2NxJ5.js.map +1 -0
  259. package/dist/index-CG2tDcOE.js +182 -0
  260. package/dist/index-CG2tDcOE.js.map +1 -0
  261. package/dist/index-CM8qnUNO.js +181 -0
  262. package/dist/index-CM8qnUNO.js.map +1 -0
  263. package/dist/index-CNivx0yI.js +1178 -0
  264. package/dist/index-CNivx0yI.js.map +1 -0
  265. package/dist/index-CStkjfQQ.js +521 -0
  266. package/dist/index-CStkjfQQ.js.map +1 -0
  267. package/dist/index-CV3sK6gH.js +7258 -0
  268. package/dist/index-CV3sK6gH.js.map +1 -0
  269. package/dist/index-CZkzO2fh.js +70 -0
  270. package/dist/index-CZkzO2fh.js.map +1 -0
  271. package/dist/index-Ce3DzdHE.js +520 -0
  272. package/dist/index-Ce3DzdHE.js.map +1 -0
  273. package/dist/index-CgVqanW1.js +611 -0
  274. package/dist/index-CgVqanW1.js.map +1 -0
  275. package/dist/index-Ci6Y519l.js +249 -0
  276. package/dist/index-Ci6Y519l.js.map +1 -0
  277. package/dist/index-CnpO-uMV.js +62 -0
  278. package/dist/index-CnpO-uMV.js.map +1 -0
  279. package/dist/index-Cs_Ue1li.js +9530 -0
  280. package/dist/index-Cs_Ue1li.js.map +1 -0
  281. package/dist/index-CzIN86Z6.js +52 -0
  282. package/dist/index-CzIN86Z6.js.map +1 -0
  283. package/dist/index-DGrOD_Uk.js +136 -0
  284. package/dist/index-DGrOD_Uk.js.map +1 -0
  285. package/dist/index-DQgrdARk.js +198 -0
  286. package/dist/index-DQgrdARk.js.map +1 -0
  287. package/dist/index-DUrjw7B_.js +92 -0
  288. package/dist/index-DUrjw7B_.js.map +1 -0
  289. package/dist/index-DYvUtH2H.js +198 -0
  290. package/dist/index-DYvUtH2H.js.map +1 -0
  291. package/dist/index-DjlKuTuO.js +1582 -0
  292. package/dist/index-DjlKuTuO.js.map +1 -0
  293. package/dist/index-DrdtZOyM.js +286 -0
  294. package/dist/index-DrdtZOyM.js.map +1 -0
  295. package/dist/index-Dt1IUAIj.js +716 -0
  296. package/dist/index-Dt1IUAIj.js.map +1 -0
  297. package/dist/index-DvmMzzVa.js +18322 -0
  298. package/dist/index-DvmMzzVa.js.map +1 -0
  299. package/dist/index-DzZOIbsR.js +147 -0
  300. package/dist/index-DzZOIbsR.js.map +1 -0
  301. package/dist/index-ENsIYRhz.js +542 -0
  302. package/dist/index-ENsIYRhz.js.map +1 -0
  303. package/dist/index-QqIUi-wY.js +2402 -0
  304. package/dist/index-QqIUi-wY.js.map +1 -0
  305. package/dist/index-SlVjFZvp.js +110 -0
  306. package/dist/index-SlVjFZvp.js.map +1 -0
  307. package/dist/index-VKogKIsA.js +985 -0
  308. package/dist/index-VKogKIsA.js.map +1 -0
  309. package/dist/index-bd39Gizk.js +153 -0
  310. package/dist/index-bd39Gizk.js.map +1 -0
  311. package/dist/index-ciqjpb4e.js +73 -0
  312. package/dist/index-ciqjpb4e.js.map +1 -0
  313. package/dist/index-d4z00ajR.js +456 -0
  314. package/dist/index-d4z00ajR.js.map +1 -0
  315. package/dist/index-dTaiyIFQ.js +257 -0
  316. package/dist/index-dTaiyIFQ.js.map +1 -0
  317. package/dist/index-nkefGcqB.js +9350 -0
  318. package/dist/index-nkefGcqB.js.map +1 -0
  319. package/dist/index-pg-zQJY9.js +441 -0
  320. package/dist/index-pg-zQJY9.js.map +1 -0
  321. package/dist/index.es-Dpl-2r0L.js +8503 -0
  322. package/dist/index.es-Dpl-2r0L.js.map +1 -0
  323. package/dist/info-BhGLu7a7.js +8 -0
  324. package/dist/info-BhGLu7a7.js.map +1 -0
  325. package/dist/info-circle-qS-gYigf.js +17 -0
  326. package/dist/info-circle-qS-gYigf.js.map +1 -0
  327. package/dist/jsxRuntime.module-Bj81_EKI.js +14 -0
  328. package/dist/jsxRuntime.module-Bj81_EKI.js.map +1 -0
  329. package/dist/lightbulb-CkRo4E3y.js +8 -0
  330. package/dist/lightbulb-CkRo4E3y.js.map +1 -0
  331. package/dist/localBatchGatewayRequest-BP_oqSkW.js +103 -0
  332. package/dist/localBatchGatewayRequest-BP_oqSkW.js.map +1 -0
  333. package/dist/mail-DPd51pyO.js +13 -0
  334. package/dist/mail-DPd51pyO.js.map +1 -0
  335. package/dist/metamask-sdk-yihv7E6u.js +16699 -0
  336. package/dist/metamask-sdk-yihv7E6u.js.map +1 -0
  337. package/dist/mobile-CRO9ITfa.js +14 -0
  338. package/dist/mobile-CRO9ITfa.js.map +1 -0
  339. package/dist/more-DyaHLM9d.js +16 -0
  340. package/dist/more-DyaHLM9d.js.map +1 -0
  341. package/dist/native-CMPA4OCm.js +17 -0
  342. package/dist/native-CMPA4OCm.js.map +1 -0
  343. package/dist/network-placeholder-DGSqV09i.js +19 -0
  344. package/dist/network-placeholder-DGSqV09i.js.map +1 -0
  345. package/dist/nftPlaceholder-CLGGLw6g.js +13 -0
  346. package/dist/nftPlaceholder-CLGGLw6g.js.map +1 -0
  347. package/dist/off-CDy-1GjF.js +13 -0
  348. package/dist/off-CDy-1GjF.js.map +1 -0
  349. package/dist/onramp-pjFNY0fj.js +979 -0
  350. package/dist/onramp-pjFNY0fj.js.map +1 -0
  351. package/dist/parseSignature-CV_ULbSZ.js +2828 -0
  352. package/dist/parseSignature-CV_ULbSZ.js.map +1 -0
  353. package/dist/pay-with-exchange-Cz8dXxOa.js +603 -0
  354. package/dist/pay-with-exchange-Cz8dXxOa.js.map +1 -0
  355. package/dist/play-store-CdQ0GJhU.js +37 -0
  356. package/dist/play-store-CdQ0GJhU.js.map +1 -0
  357. package/dist/plus-DD_oKDcI.js +18 -0
  358. package/dist/plus-DD_oKDcI.js.map +1 -0
  359. package/dist/property-8UcTqffH.js +623 -0
  360. package/dist/property-8UcTqffH.js.map +1 -0
  361. package/dist/qr-code-BJLuAwDg.js +11 -0
  362. package/dist/qr-code-BJLuAwDg.js.map +1 -0
  363. package/dist/receive-Brpo8_fV.js +262 -0
  364. package/dist/receive-Brpo8_fV.js.map +1 -0
  365. package/dist/recycle-horizontal-DMqA4Y6p.js +14 -0
  366. package/dist/recycle-horizontal-DMqA4Y6p.js.map +1 -0
  367. package/dist/ref-6sYmD-zI.js +43 -0
  368. package/dist/ref-6sYmD-zI.js.map +1 -0
  369. package/dist/refresh-SYbxLwZK.js +13 -0
  370. package/dist/refresh-SYbxLwZK.js.map +1 -0
  371. package/dist/reown-logo-FMoXntuJ.js +17 -0
  372. package/dist/reown-logo-FMoXntuJ.js.map +1 -0
  373. package/dist/search-DyRiO0T8.js +13 -0
  374. package/dist/search-DyRiO0T8.js.map +1 -0
  375. package/dist/secp256k1-DCQG8fZg.js +2031 -0
  376. package/dist/secp256k1-DCQG8fZg.js.map +1 -0
  377. package/dist/send-AaCUn2jw.js +20 -0
  378. package/dist/send-AaCUn2jw.js.map +1 -0
  379. package/dist/send-cysMDEC9.js +1365 -0
  380. package/dist/send-cysMDEC9.js.map +1 -0
  381. package/dist/socials-BU9YyLx1.js +796 -0
  382. package/dist/socials-BU9YyLx1.js.map +1 -0
  383. package/dist/swapHorizontal-kHwa5wbg.js +13 -0
  384. package/dist/swapHorizontal-kHwa5wbg.js.map +1 -0
  385. package/dist/swapHorizontalBold-Bf_Sy4KD.js +13 -0
  386. package/dist/swapHorizontalBold-Bf_Sy4KD.js.map +1 -0
  387. package/dist/swapHorizontalMedium-C4oU0KJg.js +21 -0
  388. package/dist/swapHorizontalMedium-C4oU0KJg.js.map +1 -0
  389. package/dist/swapHorizontalRoundedBold-IJ8G94V0.js +13 -0
  390. package/dist/swapHorizontalRoundedBold-IJ8G94V0.js.map +1 -0
  391. package/dist/swapVertical-CuDVDBMJ.js +13 -0
  392. package/dist/swapVertical-CuDVDBMJ.js.map +1 -0
  393. package/dist/swaps-TcZwQiir.js +2121 -0
  394. package/dist/swaps-TcZwQiir.js.map +1 -0
  395. package/dist/telegram-DSi6IsaA.js +21 -0
  396. package/dist/telegram-DSi6IsaA.js.map +1 -0
  397. package/dist/three-dots-CqgQBZQ6.js +10 -0
  398. package/dist/three-dots-CqgQBZQ6.js.map +1 -0
  399. package/dist/transactions-CcagUdpJ.js +38 -0
  400. package/dist/transactions-CcagUdpJ.js.map +1 -0
  401. package/dist/twitch-DrUmltT6.js +23 -0
  402. package/dist/twitch-DrUmltT6.js.map +1 -0
  403. package/dist/twitterIcon-eNCEY2nh.js +11 -0
  404. package/dist/twitterIcon-eNCEY2nh.js.map +1 -0
  405. package/dist/vanilla-CgG5xMJO.js +448 -0
  406. package/dist/vanilla-CgG5xMJO.js.map +1 -0
  407. package/dist/verify-DGCdp1PG.js +13 -0
  408. package/dist/verify-DGCdp1PG.js.map +1 -0
  409. package/dist/verify-filled-BN5Rdq_X.js +13 -0
  410. package/dist/verify-filled-BN5Rdq_X.js.map +1 -0
  411. package/dist/w3m-modal-C23tcwd0.js +2008 -0
  412. package/dist/w3m-modal-C23tcwd0.js.map +1 -0
  413. package/dist/w3m-modal-D_WKuA4j.js +1725 -0
  414. package/dist/w3m-modal-D_WKuA4j.js.map +1 -0
  415. package/dist/wallet-Dh8w0rox.js +13 -0
  416. package/dist/wallet-Dh8w0rox.js.map +1 -0
  417. package/dist/wallet-placeholder-gjfCYn59.js +19 -0
  418. package/dist/wallet-placeholder-gjfCYn59.js.map +1 -0
  419. package/dist/wallet-standard-CWX-EDlP.js +523 -0
  420. package/dist/wallet-standard-CWX-EDlP.js.map +1 -0
  421. package/dist/walletconnect-BI4tTckl.js +39 -0
  422. package/dist/walletconnect-BI4tTckl.js.map +1 -0
  423. package/dist/warning-circle-jCqjcA2f.js +17 -0
  424. package/dist/warning-circle-jCqjcA2f.js.map +1 -0
  425. package/dist/x-BfcQ5n6S.js +17 -0
  426. package/dist/x-BfcQ5n6S.js.map +1 -0
  427. package/package.json +10 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es-Dpl-2r0L.js","sources":["../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/data/isHex.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/data/size.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/errors/version.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/errors/base.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/errors/data.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/data/pad.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/errors/encoding.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/encoding/fromHex.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/encoding/toHex.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/encoding/toBytes.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/_assert.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/_u64.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/crypto.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/utils.js","../../../node_modules/.pnpm/@noble+hashes@1.7.1/node_modules/@noble/hashes/esm/sha3.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/hash/keccak256.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/lru.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/address/getAddress.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/accounts/utils/publicKeyToAddress.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/signature/recoverPublicKey.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/signature/recoverAddress.js","../../../node_modules/.pnpm/uint8arrays@3.1.0/node_modules/uint8arrays/esm/src/alloc.js","../../../node_modules/.pnpm/uint8arrays@3.1.0/node_modules/uint8arrays/esm/src/concat.js","../../../node_modules/.pnpm/uint8arrays@3.1.0/node_modules/uint8arrays/esm/src/util/bases.js","../../../node_modules/.pnpm/uint8arrays@3.1.0/node_modules/uint8arrays/esm/src/from-string.js","../../../node_modules/.pnpm/uint8arrays@3.1.0/node_modules/uint8arrays/esm/src/to-string.js","../../../node_modules/.pnpm/@walletconnect+utils@2.21.1_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5.8.1_typescr_2x7rcvb5swyhrni3ubyjxkn2mq/node_modules/@walletconnect/utils/dist/index.es.js","../../../node_modules/.pnpm/quick-format-unescaped@4.0.4/node_modules/quick-format-unescaped/index.js","../../../node_modules/.pnpm/pino@7.11.0/node_modules/pino/browser.js","../../../node_modules/.pnpm/@walletconnect+logger@2.1.2/node_modules/@walletconnect/logger/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+types@2.21.1_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.8.1/node_modules/@walletconnect/types/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+core@2.21.1_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5.8.1_typescri_kgksmrvsvd5o2axxp2wcwnsusi/node_modules/@walletconnect/core/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+sign-client@2.21.1_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5.8.1_t_toetblbu66bp6knjvuejlkodra/node_modules/@walletconnect/sign-client/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+universal-provider@2.21.1_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@_233hvuwf3hiqit4jhaxjwbpg7q/node_modules/@walletconnect/universal-provider/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+ethereum-provider@2.21.1_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_vk2zhx7xoxurv6f5ykm6ieaamu/node_modules/@walletconnect/ethereum-provider/dist/index.es.js"],"sourcesContent":["export function isHex(value, { strict = true } = {}) {\n if (!value)\n return false;\n if (typeof value !== 'string')\n return false;\n return strict ? /^0x[0-9a-fA-F]*$/.test(value) : value.startsWith('0x');\n}\n//# sourceMappingURL=isHex.js.map","import { isHex } from './isHex.js';\n/**\n * @description Retrieves the size of the value (in bytes).\n *\n * @param value The value (hex or byte array) to retrieve the size of.\n * @returns The size of the value (in bytes).\n */\nexport function size(value) {\n if (isHex(value, { strict: false }))\n return Math.ceil((value.length - 2) / 2);\n return value.length;\n}\n//# sourceMappingURL=size.js.map","export const version = '2.23.2';\n//# sourceMappingURL=version.js.map","import { version } from './version.js';\nlet errorConfig = {\n getDocsUrl: ({ docsBaseUrl, docsPath = '', docsSlug, }) => docsPath\n ? `${docsBaseUrl ?? 'https://viem.sh'}${docsPath}${docsSlug ? `#${docsSlug}` : ''}`\n : undefined,\n version: `viem@${version}`,\n};\nexport function setErrorConfig(config) {\n errorConfig = config;\n}\nexport class BaseError extends Error {\n constructor(shortMessage, args = {}) {\n const details = (() => {\n if (args.cause instanceof BaseError)\n return args.cause.details;\n if (args.cause?.message)\n return args.cause.message;\n return args.details;\n })();\n const docsPath = (() => {\n if (args.cause instanceof BaseError)\n return args.cause.docsPath || args.docsPath;\n return args.docsPath;\n })();\n const docsUrl = errorConfig.getDocsUrl?.({ ...args, docsPath });\n const message = [\n shortMessage || 'An error occurred.',\n '',\n ...(args.metaMessages ? [...args.metaMessages, ''] : []),\n ...(docsUrl ? [`Docs: ${docsUrl}`] : []),\n ...(details ? [`Details: ${details}`] : []),\n ...(errorConfig.version ? [`Version: ${errorConfig.version}`] : []),\n ].join('\\n');\n super(message, args.cause ? { cause: args.cause } : undefined);\n Object.defineProperty(this, \"details\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"docsPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"metaMessages\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"shortMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"version\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'BaseError'\n });\n this.details = details;\n this.docsPath = docsPath;\n this.metaMessages = args.metaMessages;\n this.name = args.name ?? this.name;\n this.shortMessage = shortMessage;\n this.version = version;\n }\n walk(fn) {\n return walk(this, fn);\n }\n}\nfunction walk(err, fn) {\n if (fn?.(err))\n return err;\n if (err &&\n typeof err === 'object' &&\n 'cause' in err &&\n err.cause !== undefined)\n return walk(err.cause, fn);\n return fn ? null : err;\n}\n//# sourceMappingURL=base.js.map","import { BaseError } from './base.js';\nexport class SliceOffsetOutOfBoundsError extends BaseError {\n constructor({ offset, position, size, }) {\n super(`Slice ${position === 'start' ? 'starting' : 'ending'} at offset \"${offset}\" is out-of-bounds (size: ${size}).`, { name: 'SliceOffsetOutOfBoundsError' });\n }\n}\nexport class SizeExceedsPaddingSizeError extends BaseError {\n constructor({ size, targetSize, type, }) {\n super(`${type.charAt(0).toUpperCase()}${type\n .slice(1)\n .toLowerCase()} size (${size}) exceeds padding size (${targetSize}).`, { name: 'SizeExceedsPaddingSizeError' });\n }\n}\nexport class InvalidBytesLengthError extends BaseError {\n constructor({ size, targetSize, type, }) {\n super(`${type.charAt(0).toUpperCase()}${type\n .slice(1)\n .toLowerCase()} is expected to be ${targetSize} ${type} long, but is ${size} ${type} long.`, { name: 'InvalidBytesLengthError' });\n }\n}\n//# sourceMappingURL=data.js.map","import { SizeExceedsPaddingSizeError, } from '../../errors/data.js';\nexport function pad(hexOrBytes, { dir, size = 32 } = {}) {\n if (typeof hexOrBytes === 'string')\n return padHex(hexOrBytes, { dir, size });\n return padBytes(hexOrBytes, { dir, size });\n}\nexport function padHex(hex_, { dir, size = 32 } = {}) {\n if (size === null)\n return hex_;\n const hex = hex_.replace('0x', '');\n if (hex.length > size * 2)\n throw new SizeExceedsPaddingSizeError({\n size: Math.ceil(hex.length / 2),\n targetSize: size,\n type: 'hex',\n });\n return `0x${hex[dir === 'right' ? 'padEnd' : 'padStart'](size * 2, '0')}`;\n}\nexport function padBytes(bytes, { dir, size = 32 } = {}) {\n if (size === null)\n return bytes;\n if (bytes.length > size)\n throw new SizeExceedsPaddingSizeError({\n size: bytes.length,\n targetSize: size,\n type: 'bytes',\n });\n const paddedBytes = new Uint8Array(size);\n for (let i = 0; i < size; i++) {\n const padEnd = dir === 'right';\n paddedBytes[padEnd ? i : size - i - 1] =\n bytes[padEnd ? i : bytes.length - i - 1];\n }\n return paddedBytes;\n}\n//# sourceMappingURL=pad.js.map","import { BaseError } from './base.js';\nexport class IntegerOutOfRangeError extends BaseError {\n constructor({ max, min, signed, size, value, }) {\n super(`Number \"${value}\" is not in safe ${size ? `${size * 8}-bit ${signed ? 'signed' : 'unsigned'} ` : ''}integer range ${max ? `(${min} to ${max})` : `(above ${min})`}`, { name: 'IntegerOutOfRangeError' });\n }\n}\nexport class InvalidBytesBooleanError extends BaseError {\n constructor(bytes) {\n super(`Bytes value \"${bytes}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`, {\n name: 'InvalidBytesBooleanError',\n });\n }\n}\nexport class InvalidHexBooleanError extends BaseError {\n constructor(hex) {\n super(`Hex value \"${hex}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`, { name: 'InvalidHexBooleanError' });\n }\n}\nexport class InvalidHexValueError extends BaseError {\n constructor(value) {\n super(`Hex value \"${value}\" is an odd length (${value.length}). It must be an even length.`, { name: 'InvalidHexValueError' });\n }\n}\nexport class SizeOverflowError extends BaseError {\n constructor({ givenSize, maxSize }) {\n super(`Size cannot exceed ${maxSize} bytes. Given size: ${givenSize} bytes.`, { name: 'SizeOverflowError' });\n }\n}\n//# sourceMappingURL=encoding.js.map","import { InvalidHexBooleanError, SizeOverflowError, } from '../../errors/encoding.js';\nimport { size as size_ } from '../data/size.js';\nimport { trim } from '../data/trim.js';\nimport { hexToBytes } from './toBytes.js';\nexport function assertSize(hexOrBytes, { size }) {\n if (size_(hexOrBytes) > size)\n throw new SizeOverflowError({\n givenSize: size_(hexOrBytes),\n maxSize: size,\n });\n}\n/**\n * Decodes a hex string into a string, number, bigint, boolean, or byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex\n * - Example: https://viem.sh/docs/utilities/fromHex#usage\n *\n * @param hex Hex string to decode.\n * @param toOrOpts Type to convert to or options.\n * @returns Decoded value.\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x1a4', 'number')\n * // 420\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x48656c6c6f20576f726c6421', 'string')\n * // 'Hello world'\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x48656c6c6f20576f726c64210000000000000000000000000000000000000000', {\n * size: 32,\n * to: 'string'\n * })\n * // 'Hello world'\n */\nexport function fromHex(hex, toOrOpts) {\n const opts = typeof toOrOpts === 'string' ? { to: toOrOpts } : toOrOpts;\n const to = opts.to;\n if (to === 'number')\n return hexToNumber(hex, opts);\n if (to === 'bigint')\n return hexToBigInt(hex, opts);\n if (to === 'string')\n return hexToString(hex, opts);\n if (to === 'boolean')\n return hexToBool(hex, opts);\n return hexToBytes(hex, opts);\n}\n/**\n * Decodes a hex value into a bigint.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextobigint\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns BigInt value.\n *\n * @example\n * import { hexToBigInt } from 'viem'\n * const data = hexToBigInt('0x1a4', { signed: true })\n * // 420n\n *\n * @example\n * import { hexToBigInt } from 'viem'\n * const data = hexToBigInt('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })\n * // 420n\n */\nexport function hexToBigInt(hex, opts = {}) {\n const { signed } = opts;\n if (opts.size)\n assertSize(hex, { size: opts.size });\n const value = BigInt(hex);\n if (!signed)\n return value;\n const size = (hex.length - 2) / 2;\n const max = (1n << (BigInt(size) * 8n - 1n)) - 1n;\n if (value <= max)\n return value;\n return value - BigInt(`0x${'f'.padStart(size * 2, 'f')}`) - 1n;\n}\n/**\n * Decodes a hex value into a boolean.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextobool\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns Boolean value.\n *\n * @example\n * import { hexToBool } from 'viem'\n * const data = hexToBool('0x01')\n * // true\n *\n * @example\n * import { hexToBool } from 'viem'\n * const data = hexToBool('0x0000000000000000000000000000000000000000000000000000000000000001', { size: 32 })\n * // true\n */\nexport function hexToBool(hex_, opts = {}) {\n let hex = hex_;\n if (opts.size) {\n assertSize(hex, { size: opts.size });\n hex = trim(hex);\n }\n if (trim(hex) === '0x00')\n return false;\n if (trim(hex) === '0x01')\n return true;\n throw new InvalidHexBooleanError(hex);\n}\n/**\n * Decodes a hex string into a number.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextonumber\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns Number value.\n *\n * @example\n * import { hexToNumber } from 'viem'\n * const data = hexToNumber('0x1a4')\n * // 420\n *\n * @example\n * import { hexToNumber } from 'viem'\n * const data = hexToBigInt('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })\n * // 420\n */\nexport function hexToNumber(hex, opts = {}) {\n return Number(hexToBigInt(hex, opts));\n}\n/**\n * Decodes a hex value into a UTF-8 string.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextostring\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns String value.\n *\n * @example\n * import { hexToString } from 'viem'\n * const data = hexToString('0x48656c6c6f20576f726c6421')\n * // 'Hello world!'\n *\n * @example\n * import { hexToString } from 'viem'\n * const data = hexToString('0x48656c6c6f20576f726c64210000000000000000000000000000000000000000', {\n * size: 32,\n * })\n * // 'Hello world'\n */\nexport function hexToString(hex, opts = {}) {\n let bytes = hexToBytes(hex);\n if (opts.size) {\n assertSize(bytes, { size: opts.size });\n bytes = trim(bytes, { dir: 'right' });\n }\n return new TextDecoder().decode(bytes);\n}\n//# sourceMappingURL=fromHex.js.map","import { IntegerOutOfRangeError, } from '../../errors/encoding.js';\nimport { pad } from '../data/pad.js';\nimport { assertSize } from './fromHex.js';\nconst hexes = /*#__PURE__*/ Array.from({ length: 256 }, (_v, i) => i.toString(16).padStart(2, '0'));\n/**\n * Encodes a string, number, bigint, or ByteArray into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex\n * - Example: https://viem.sh/docs/utilities/toHex#usage\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex('Hello world')\n * // '0x48656c6c6f20776f726c6421'\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex(420)\n * // '0x1a4'\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex('Hello world', { size: 32 })\n * // '0x48656c6c6f20776f726c64210000000000000000000000000000000000000000'\n */\nexport function toHex(value, opts = {}) {\n if (typeof value === 'number' || typeof value === 'bigint')\n return numberToHex(value, opts);\n if (typeof value === 'string') {\n return stringToHex(value, opts);\n }\n if (typeof value === 'boolean')\n return boolToHex(value, opts);\n return bytesToHex(value, opts);\n}\n/**\n * Encodes a boolean into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#booltohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(true)\n * // '0x1'\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(false)\n * // '0x0'\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(true, { size: 32 })\n * // '0x0000000000000000000000000000000000000000000000000000000000000001'\n */\nexport function boolToHex(value, opts = {}) {\n const hex = `0x${Number(value)}`;\n if (typeof opts.size === 'number') {\n assertSize(hex, { size: opts.size });\n return pad(hex, { size: opts.size });\n }\n return hex;\n}\n/**\n * Encodes a bytes array into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#bytestohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { bytesToHex } from 'viem'\n * const data = bytesToHex(Uint8Array.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n * // '0x48656c6c6f20576f726c6421'\n *\n * @example\n * import { bytesToHex } from 'viem'\n * const data = bytesToHex(Uint8Array.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]), { size: 32 })\n * // '0x48656c6c6f20576f726c64210000000000000000000000000000000000000000'\n */\nexport function bytesToHex(value, opts = {}) {\n let string = '';\n for (let i = 0; i < value.length; i++) {\n string += hexes[value[i]];\n }\n const hex = `0x${string}`;\n if (typeof opts.size === 'number') {\n assertSize(hex, { size: opts.size });\n return pad(hex, { dir: 'right', size: opts.size });\n }\n return hex;\n}\n/**\n * Encodes a number or bigint into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#numbertohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { numberToHex } from 'viem'\n * const data = numberToHex(420)\n * // '0x1a4'\n *\n * @example\n * import { numberToHex } from 'viem'\n * const data = numberToHex(420, { size: 32 })\n * // '0x00000000000000000000000000000000000000000000000000000000000001a4'\n */\nexport function numberToHex(value_, opts = {}) {\n const { signed, size } = opts;\n const value = BigInt(value_);\n let maxValue;\n if (size) {\n if (signed)\n maxValue = (1n << (BigInt(size) * 8n - 1n)) - 1n;\n else\n maxValue = 2n ** (BigInt(size) * 8n) - 1n;\n }\n else if (typeof value_ === 'number') {\n maxValue = BigInt(Number.MAX_SAFE_INTEGER);\n }\n const minValue = typeof maxValue === 'bigint' && signed ? -maxValue - 1n : 0;\n if ((maxValue && value > maxValue) || value < minValue) {\n const suffix = typeof value_ === 'bigint' ? 'n' : '';\n throw new IntegerOutOfRangeError({\n max: maxValue ? `${maxValue}${suffix}` : undefined,\n min: `${minValue}${suffix}`,\n signed,\n size,\n value: `${value_}${suffix}`,\n });\n }\n const hex = `0x${(signed && value < 0 ? (1n << BigInt(size * 8)) + BigInt(value) : value).toString(16)}`;\n if (size)\n return pad(hex, { size });\n return hex;\n}\nconst encoder = /*#__PURE__*/ new TextEncoder();\n/**\n * Encodes a UTF-8 string into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#stringtohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { stringToHex } from 'viem'\n * const data = stringToHex('Hello World!')\n * // '0x48656c6c6f20576f726c6421'\n *\n * @example\n * import { stringToHex } from 'viem'\n * const data = stringToHex('Hello World!', { size: 32 })\n * // '0x48656c6c6f20576f726c64210000000000000000000000000000000000000000'\n */\nexport function stringToHex(value_, opts = {}) {\n const value = encoder.encode(value_);\n return bytesToHex(value, opts);\n}\n//# sourceMappingURL=toHex.js.map","import { BaseError } from '../../errors/base.js';\nimport { isHex } from '../data/isHex.js';\nimport { pad } from '../data/pad.js';\nimport { assertSize } from './fromHex.js';\nimport { numberToHex, } from './toHex.js';\nconst encoder = /*#__PURE__*/ new TextEncoder();\n/**\n * Encodes a UTF-8 string, hex value, bigint, number or boolean to a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes\n * - Example: https://viem.sh/docs/utilities/toBytes#usage\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes('Hello world')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes(420)\n * // Uint8Array([1, 164])\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes(420, { size: 4 })\n * // Uint8Array([0, 0, 1, 164])\n */\nexport function toBytes(value, opts = {}) {\n if (typeof value === 'number' || typeof value === 'bigint')\n return numberToBytes(value, opts);\n if (typeof value === 'boolean')\n return boolToBytes(value, opts);\n if (isHex(value))\n return hexToBytes(value, opts);\n return stringToBytes(value, opts);\n}\n/**\n * Encodes a boolean into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#booltobytes\n *\n * @param value Boolean value to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { boolToBytes } from 'viem'\n * const data = boolToBytes(true)\n * // Uint8Array([1])\n *\n * @example\n * import { boolToBytes } from 'viem'\n * const data = boolToBytes(true, { size: 32 })\n * // Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1])\n */\nexport function boolToBytes(value, opts = {}) {\n const bytes = new Uint8Array(1);\n bytes[0] = Number(value);\n if (typeof opts.size === 'number') {\n assertSize(bytes, { size: opts.size });\n return pad(bytes, { size: opts.size });\n }\n return bytes;\n}\n// We use very optimized technique to convert hex string to byte array\nconst charCodeMap = {\n zero: 48,\n nine: 57,\n A: 65,\n F: 70,\n a: 97,\n f: 102,\n};\nfunction charCodeToBase16(char) {\n if (char >= charCodeMap.zero && char <= charCodeMap.nine)\n return char - charCodeMap.zero;\n if (char >= charCodeMap.A && char <= charCodeMap.F)\n return char - (charCodeMap.A - 10);\n if (char >= charCodeMap.a && char <= charCodeMap.f)\n return char - (charCodeMap.a - 10);\n return undefined;\n}\n/**\n * Encodes a hex string into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#hextobytes\n *\n * @param hex Hex string to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { hexToBytes } from 'viem'\n * const data = hexToBytes('0x48656c6c6f20776f726c6421')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n *\n * @example\n * import { hexToBytes } from 'viem'\n * const data = hexToBytes('0x48656c6c6f20776f726c6421', { size: 32 })\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n */\nexport function hexToBytes(hex_, opts = {}) {\n let hex = hex_;\n if (opts.size) {\n assertSize(hex, { size: opts.size });\n hex = pad(hex, { dir: 'right', size: opts.size });\n }\n let hexString = hex.slice(2);\n if (hexString.length % 2)\n hexString = `0${hexString}`;\n const length = hexString.length / 2;\n const bytes = new Uint8Array(length);\n for (let index = 0, j = 0; index < length; index++) {\n const nibbleLeft = charCodeToBase16(hexString.charCodeAt(j++));\n const nibbleRight = charCodeToBase16(hexString.charCodeAt(j++));\n if (nibbleLeft === undefined || nibbleRight === undefined) {\n throw new BaseError(`Invalid byte sequence (\"${hexString[j - 2]}${hexString[j - 1]}\" in \"${hexString}\").`);\n }\n bytes[index] = nibbleLeft * 16 + nibbleRight;\n }\n return bytes;\n}\n/**\n * Encodes a number into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#numbertobytes\n *\n * @param value Number to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { numberToBytes } from 'viem'\n * const data = numberToBytes(420)\n * // Uint8Array([1, 164])\n *\n * @example\n * import { numberToBytes } from 'viem'\n * const data = numberToBytes(420, { size: 4 })\n * // Uint8Array([0, 0, 1, 164])\n */\nexport function numberToBytes(value, opts) {\n const hex = numberToHex(value, opts);\n return hexToBytes(hex);\n}\n/**\n * Encodes a UTF-8 string into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#stringtobytes\n *\n * @param value String to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { stringToBytes } from 'viem'\n * const data = stringToBytes('Hello world!')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 33])\n *\n * @example\n * import { stringToBytes } from 'viem'\n * const data = stringToBytes('Hello world!', { size: 32 })\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n */\nexport function stringToBytes(value, opts = {}) {\n const bytes = encoder.encode(value);\n if (typeof opts.size === 'number') {\n assertSize(bytes, { size: opts.size });\n return pad(bytes, { dir: 'right', size: opts.size });\n }\n return bytes;\n}\n//# sourceMappingURL=toBytes.js.map","/**\n * Internal assertion helpers.\n * @module\n */\n/** Asserts something is positive integer. */\nfunction anumber(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error('positive integer expected, got ' + n);\n}\n/** Is number an Uint8Array? Copied from utils for perf. */\nfunction isBytes(a) {\n return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array');\n}\n/** Asserts something is Uint8Array. */\nfunction abytes(b, ...lengths) {\n if (!isBytes(b))\n throw new Error('Uint8Array expected');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new Error('Uint8Array expected of length ' + lengths + ', got length=' + b.length);\n}\n/** Asserts something is hash */\nfunction ahash(h) {\n if (typeof h !== 'function' || typeof h.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n anumber(h.outputLen);\n anumber(h.blockLen);\n}\n/** Asserts a hash instance has not been destroyed / finished */\nfunction aexists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\n/** Asserts output is properly-sized byte array */\nfunction aoutput(out, instance) {\n abytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error('digestInto() expects output buffer of length at least ' + min);\n }\n}\nexport { anumber, abytes, ahash, aexists, aoutput };\n//# sourceMappingURL=_assert.js.map","/**\n * Internal helpers for u64. BigUint64Array is too slow as per 2025, so we implement it using Uint32Array.\n * @todo re-check https://issues.chromium.org/issues/42212588\n * @module\n */\nconst U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);\nconst _32n = /* @__PURE__ */ BigInt(32);\nfunction fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nfunction split(lst, le = false) {\n let Ah = new Uint32Array(lst.length);\n let Al = new Uint32Array(lst.length);\n for (let i = 0; i < lst.length; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h, _l, s) => h >>> s;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (_h, l) => l;\nconst rotr32L = (h, _l) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\nfunction add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nexport { fromBig, split, toBig, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, rotr32H, rotr32L, rotlSH, rotlSL, rotlBH, rotlBL, add, add3L, add3H, add4L, add4H, add5H, add5L, };\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n//# sourceMappingURL=_u64.js.map","export const crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;\n//# sourceMappingURL=crypto.js.map","/**\n * Utilities for hex, bytes, CSPRNG.\n * @module\n */\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated (2025-04-30), we can just drop the import.\nimport { crypto } from '@noble/hashes/crypto';\nimport { abytes } from './_assert.js';\n// export { isBytes } from './_assert.js';\n// We can't reuse isBytes from _assert, because somehow this causes huge perf issues\nexport function isBytes(a) {\n return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array');\n}\n// Cast array to different type\nexport function u8(arr) {\n return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\n}\nexport function u32(arr) {\n return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n}\n// Cast array to view\nexport function createView(arr) {\n return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n}\n/** The rotate right (circular right shift) operation for uint32 */\nexport function rotr(word, shift) {\n return (word << (32 - shift)) | (word >>> shift);\n}\n/** The rotate left (circular left shift) operation for uint32 */\nexport function rotl(word, shift) {\n return (word << shift) | ((word >>> (32 - shift)) >>> 0);\n}\n/** Is current platform little-endian? Most are. Big-Endian platform: IBM */\nexport const isLE = /* @__PURE__ */ (() => new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44)();\n// The byte swap operation for uint32\nexport function byteSwap(word) {\n return (((word << 24) & 0xff000000) |\n ((word << 8) & 0xff0000) |\n ((word >>> 8) & 0xff00) |\n ((word >>> 24) & 0xff));\n}\n/** Conditionally byte swap if on a big-endian platform */\nexport const byteSwapIfBE = isLE\n ? (n) => n\n : (n) => byteSwap(n);\n/** In place byte swap for Uint32Array */\nexport function byteSwap32(arr) {\n for (let i = 0; i < arr.length; i++) {\n arr[i] = byteSwap(arr[i]);\n }\n}\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * Convert byte array to hex string.\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes) {\n abytes(bytes);\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n// We use optimized technique to convert hex string to byte array\nconst asciis = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 };\nfunction asciiToBase16(ch) {\n if (ch >= asciis._0 && ch <= asciis._9)\n return ch - asciis._0; // '2' => 50-48\n if (ch >= asciis.A && ch <= asciis.F)\n return ch - (asciis.A - 10); // 'B' => 66-(65-10)\n if (ch >= asciis.a && ch <= asciis.f)\n return ch - (asciis.a - 10); // 'b' => 98-(97-10)\n return;\n}\n/**\n * Convert hex string to byte array.\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2)\n throw new Error('hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi));\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new Error('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2; // multiply first octet, e.g. 'a3' => 10*16+3 => 160 + 3 => 163\n }\n return array;\n}\n/**\n * There is no setImmediate in browser and setTimeout is slow.\n * Call of async fn will return Promise, which will be fullfiled only on\n * next scheduler queue processing step and this is exactly what we need.\n */\nexport const nextTick = async () => { };\n/** Returns control to thread each 'tick' ms to avoid blocking. */\nexport async function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\n/**\n * Convert JS string to byte array.\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error('utf8ToBytes expected string, got ' + typeof str);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nexport function toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n abytes(data);\n return data;\n}\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays) {\n let sum = 0;\n for (let i = 0; i < arrays.length; i++) {\n const a = arrays[i];\n abytes(a);\n sum += a.length;\n }\n const res = new Uint8Array(sum);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const a = arrays[i];\n res.set(a, pad);\n pad += a.length;\n }\n return res;\n}\n/** For runtime check if class implements interface */\nexport class Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\nexport function checkOpts(defaults, opts) {\n if (opts !== undefined && {}.toString.call(opts) !== '[object Object]')\n throw new Error('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\n/** Wraps hash function, creating an interface on top of it */\nexport function wrapConstructor(hashCons) {\n const hashC = (msg) => hashCons().update(toBytes(msg)).digest();\n const tmp = hashCons();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashCons();\n return hashC;\n}\nexport function wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexport function wrapXOFConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\n/** Cryptographically secure PRNG. Uses internal OS-level `crypto.getRandomValues`. */\nexport function randomBytes(bytesLength = 32) {\n if (crypto && typeof crypto.getRandomValues === 'function') {\n return crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n // Legacy Node.js compatibility\n if (crypto && typeof crypto.randomBytes === 'function') {\n return crypto.randomBytes(bytesLength);\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n//# sourceMappingURL=utils.js.map","/**\n * SHA3 (keccak) hash function, based on a new \"Sponge function\" design.\n * Different from older hashes, the internal state is bigger than output size.\n *\n * Check out [FIPS-202](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf),\n * [Website](https://keccak.team/keccak.html),\n * [the differences between SHA-3 and Keccak](https://crypto.stackexchange.com/questions/15727/what-are-the-key-differences-between-the-draft-sha-3-standard-and-the-keccak-sub).\n *\n * Check out `sha3-addons` module for cSHAKE, k12, and others.\n * @module\n */\nimport { abytes, aexists, anumber, aoutput } from './_assert.js';\nimport { rotlBH, rotlBL, rotlSH, rotlSL, split } from './_u64.js';\nimport { byteSwap32, Hash, isLE, toBytes, u32, wrapConstructor, wrapXOFConstructorWithOpts, } from './utils.js';\n// Various per round constants calculations\nconst SHA3_PI = [];\nconst SHA3_ROTL = [];\nconst _SHA3_IOTA = [];\nconst _0n = /* @__PURE__ */ BigInt(0);\nconst _1n = /* @__PURE__ */ BigInt(1);\nconst _2n = /* @__PURE__ */ BigInt(2);\nconst _7n = /* @__PURE__ */ BigInt(7);\nconst _256n = /* @__PURE__ */ BigInt(256);\nconst _0x71n = /* @__PURE__ */ BigInt(0x71);\nfor (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {\n // Pi\n [x, y] = [y, (2 * x + 3 * y) % 5];\n SHA3_PI.push(2 * (5 * y + x));\n // Rotational\n SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);\n // Iota\n let t = _0n;\n for (let j = 0; j < 7; j++) {\n R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;\n if (R & _2n)\n t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n);\n }\n _SHA3_IOTA.push(t);\n}\nconst [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ split(_SHA3_IOTA, true);\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h, l, s) => (s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s));\nconst rotlL = (h, l, s) => (s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s));\n/** `keccakf1600` internal function, additionally allows to adjust round count. */\nexport function keccakP(s, rounds = 24) {\n const B = new Uint32Array(5 * 2);\n // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)\n for (let round = 24 - rounds; round < 24; round++) {\n // Theta θ\n for (let x = 0; x < 10; x++)\n B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];\n for (let x = 0; x < 10; x += 2) {\n const idx1 = (x + 8) % 10;\n const idx0 = (x + 2) % 10;\n const B0 = B[idx0];\n const B1 = B[idx0 + 1];\n const Th = rotlH(B0, B1, 1) ^ B[idx1];\n const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];\n for (let y = 0; y < 50; y += 10) {\n s[x + y] ^= Th;\n s[x + y + 1] ^= Tl;\n }\n }\n // Rho (ρ) and Pi (π)\n let curH = s[2];\n let curL = s[3];\n for (let t = 0; t < 24; t++) {\n const shift = SHA3_ROTL[t];\n const Th = rotlH(curH, curL, shift);\n const Tl = rotlL(curH, curL, shift);\n const PI = SHA3_PI[t];\n curH = s[PI];\n curL = s[PI + 1];\n s[PI] = Th;\n s[PI + 1] = Tl;\n }\n // Chi (χ)\n for (let y = 0; y < 50; y += 10) {\n for (let x = 0; x < 10; x++)\n B[x] = s[y + x];\n for (let x = 0; x < 10; x++)\n s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];\n }\n // Iota (ι)\n s[0] ^= SHA3_IOTA_H[round];\n s[1] ^= SHA3_IOTA_L[round];\n }\n B.fill(0);\n}\n/** Keccak sponge function. */\nexport class Keccak extends Hash {\n // NOTE: we accept arguments in bytes instead of bits here.\n constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {\n super();\n this.blockLen = blockLen;\n this.suffix = suffix;\n this.outputLen = outputLen;\n this.enableXOF = enableXOF;\n this.rounds = rounds;\n this.pos = 0;\n this.posOut = 0;\n this.finished = false;\n this.destroyed = false;\n // Can be passed from user as dkLen\n anumber(outputLen);\n // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes\n // 0 < blockLen < 200\n if (0 >= this.blockLen || this.blockLen >= 200)\n throw new Error('Sha3 supports only keccak-f1600 function');\n this.state = new Uint8Array(200);\n this.state32 = u32(this.state);\n }\n keccak() {\n if (!isLE)\n byteSwap32(this.state32);\n keccakP(this.state32, this.rounds);\n if (!isLE)\n byteSwap32(this.state32);\n this.posOut = 0;\n this.pos = 0;\n }\n update(data) {\n aexists(this);\n const { blockLen, state } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n for (let i = 0; i < take; i++)\n state[this.pos++] ^= data[pos++];\n if (this.pos === blockLen)\n this.keccak();\n }\n return this;\n }\n finish() {\n if (this.finished)\n return;\n this.finished = true;\n const { state, suffix, pos, blockLen } = this;\n // Do the padding\n state[pos] ^= suffix;\n if ((suffix & 0x80) !== 0 && pos === blockLen - 1)\n this.keccak();\n state[blockLen - 1] ^= 0x80;\n this.keccak();\n }\n writeInto(out) {\n aexists(this, false);\n abytes(out);\n this.finish();\n const bufferOut = this.state;\n const { blockLen } = this;\n for (let pos = 0, len = out.length; pos < len;) {\n if (this.posOut >= blockLen)\n this.keccak();\n const take = Math.min(blockLen - this.posOut, len - pos);\n out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);\n this.posOut += take;\n pos += take;\n }\n return out;\n }\n xofInto(out) {\n // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n if (!this.enableXOF)\n throw new Error('XOF is not possible for this instance');\n return this.writeInto(out);\n }\n xof(bytes) {\n anumber(bytes);\n return this.xofInto(new Uint8Array(bytes));\n }\n digestInto(out) {\n aoutput(out, this);\n if (this.finished)\n throw new Error('digest() was already called');\n this.writeInto(out);\n this.destroy();\n return out;\n }\n digest() {\n return this.digestInto(new Uint8Array(this.outputLen));\n }\n destroy() {\n this.destroyed = true;\n this.state.fill(0);\n }\n _cloneInto(to) {\n const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));\n to.state32.set(this.state32);\n to.pos = this.pos;\n to.posOut = this.posOut;\n to.finished = this.finished;\n to.rounds = rounds;\n // Suffix can change in cSHAKE\n to.suffix = suffix;\n to.outputLen = outputLen;\n to.enableXOF = enableXOF;\n to.destroyed = this.destroyed;\n return to;\n }\n}\nconst gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));\n/** SHA3-224 hash function. */\nexport const sha3_224 = /* @__PURE__ */ gen(0x06, 144, 224 / 8);\n/** SHA3-256 hash function. Different from keccak-256. */\nexport const sha3_256 = /* @__PURE__ */ gen(0x06, 136, 256 / 8);\n/** SHA3-384 hash function. */\nexport const sha3_384 = /* @__PURE__ */ gen(0x06, 104, 384 / 8);\n/** SHA3-512 hash function. */\nexport const sha3_512 = /* @__PURE__ */ gen(0x06, 72, 512 / 8);\n/** keccak-224 hash function. */\nexport const keccak_224 = /* @__PURE__ */ gen(0x01, 144, 224 / 8);\n/** keccak-256 hash function. Different from SHA3-256. */\nexport const keccak_256 = /* @__PURE__ */ gen(0x01, 136, 256 / 8);\n/** keccak-384 hash function. */\nexport const keccak_384 = /* @__PURE__ */ gen(0x01, 104, 384 / 8);\n/** keccak-512 hash function. */\nexport const keccak_512 = /* @__PURE__ */ gen(0x01, 72, 512 / 8);\nconst genShake = (suffix, blockLen, outputLen) => wrapXOFConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));\n/** SHAKE128 XOF with 128-bit security. */\nexport const shake128 = /* @__PURE__ */ genShake(0x1f, 168, 128 / 8);\n/** SHAKE256 XOF with 256-bit security. */\nexport const shake256 = /* @__PURE__ */ genShake(0x1f, 136, 256 / 8);\n//# sourceMappingURL=sha3.js.map","import { keccak_256 } from '@noble/hashes/sha3';\nimport { isHex } from '../data/isHex.js';\nimport { toBytes } from '../encoding/toBytes.js';\nimport { toHex } from '../encoding/toHex.js';\nexport function keccak256(value, to_) {\n const to = to_ || 'hex';\n const bytes = keccak_256(isHex(value, { strict: false }) ? toBytes(value) : value);\n if (to === 'bytes')\n return bytes;\n return toHex(bytes);\n}\n//# sourceMappingURL=keccak256.js.map","/**\n * Map with a LRU (Least recently used) policy.\n *\n * @link https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU\n */\nexport class LruMap extends Map {\n constructor(size) {\n super();\n Object.defineProperty(this, \"maxSize\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.maxSize = size;\n }\n get(key) {\n const value = super.get(key);\n if (super.has(key) && value !== undefined) {\n this.delete(key);\n super.set(key, value);\n }\n return value;\n }\n set(key, value) {\n super.set(key, value);\n if (this.maxSize && this.size > this.maxSize) {\n const firstKey = this.keys().next().value;\n if (firstKey)\n this.delete(firstKey);\n }\n return this;\n }\n}\n//# sourceMappingURL=lru.js.map","import { InvalidAddressError } from '../../errors/address.js';\nimport { stringToBytes, } from '../encoding/toBytes.js';\nimport { keccak256 } from '../hash/keccak256.js';\nimport { LruMap } from '../lru.js';\nimport { isAddress } from './isAddress.js';\nconst checksumAddressCache = /*#__PURE__*/ new LruMap(8192);\nexport function checksumAddress(address_, \n/**\n * Warning: EIP-1191 checksum addresses are generally not backwards compatible with the\n * wider Ethereum ecosystem, meaning it will break when validated against an application/tool\n * that relies on EIP-55 checksum encoding (checksum without chainId).\n *\n * It is highly recommended to not use this feature unless you\n * know what you are doing.\n *\n * See more: https://github.com/ethereum/EIPs/issues/1121\n */\nchainId) {\n if (checksumAddressCache.has(`${address_}.${chainId}`))\n return checksumAddressCache.get(`${address_}.${chainId}`);\n const hexAddress = chainId\n ? `${chainId}${address_.toLowerCase()}`\n : address_.substring(2).toLowerCase();\n const hash = keccak256(stringToBytes(hexAddress), 'bytes');\n const address = (chainId ? hexAddress.substring(`${chainId}0x`.length) : hexAddress).split('');\n for (let i = 0; i < 40; i += 2) {\n if (hash[i >> 1] >> 4 >= 8 && address[i]) {\n address[i] = address[i].toUpperCase();\n }\n if ((hash[i >> 1] & 0x0f) >= 8 && address[i + 1]) {\n address[i + 1] = address[i + 1].toUpperCase();\n }\n }\n const result = `0x${address.join('')}`;\n checksumAddressCache.set(`${address_}.${chainId}`, result);\n return result;\n}\nexport function getAddress(address, \n/**\n * Warning: EIP-1191 checksum addresses are generally not backwards compatible with the\n * wider Ethereum ecosystem, meaning it will break when validated against an application/tool\n * that relies on EIP-55 checksum encoding (checksum without chainId).\n *\n * It is highly recommended to not use this feature unless you\n * know what you are doing.\n *\n * See more: https://github.com/ethereum/EIPs/issues/1121\n */\nchainId) {\n if (!isAddress(address, { strict: false }))\n throw new InvalidAddressError({ address });\n return checksumAddress(address, chainId);\n}\n//# sourceMappingURL=getAddress.js.map","import { checksumAddress, } from '../../utils/address/getAddress.js';\nimport { keccak256, } from '../../utils/hash/keccak256.js';\n/**\n * @description Converts an ECDSA public key to an address.\n *\n * @param publicKey The public key to convert.\n *\n * @returns The address.\n */\nexport function publicKeyToAddress(publicKey) {\n const address = keccak256(`0x${publicKey.substring(4)}`).substring(26);\n return checksumAddress(`0x${address}`);\n}\n//# sourceMappingURL=publicKeyToAddress.js.map","import { isHex } from '../data/isHex.js';\nimport { hexToBigInt, hexToNumber, } from '../encoding/fromHex.js';\nimport { toHex } from '../encoding/toHex.js';\nexport async function recoverPublicKey({ hash, signature, }) {\n const hashHex = isHex(hash) ? hash : toHex(hash);\n const { secp256k1 } = await import('@noble/curves/secp256k1');\n const signature_ = (() => {\n // typeof signature: `Signature`\n if (typeof signature === 'object' && 'r' in signature && 's' in signature) {\n const { r, s, v, yParity } = signature;\n const yParityOrV = Number(yParity ?? v);\n const recoveryBit = toRecoveryBit(yParityOrV);\n return new secp256k1.Signature(hexToBigInt(r), hexToBigInt(s)).addRecoveryBit(recoveryBit);\n }\n // typeof signature: `Hex | ByteArray`\n const signatureHex = isHex(signature) ? signature : toHex(signature);\n const yParityOrV = hexToNumber(`0x${signatureHex.slice(130)}`);\n const recoveryBit = toRecoveryBit(yParityOrV);\n return secp256k1.Signature.fromCompact(signatureHex.substring(2, 130)).addRecoveryBit(recoveryBit);\n })();\n const publicKey = signature_\n .recoverPublicKey(hashHex.substring(2))\n .toHex(false);\n return `0x${publicKey}`;\n}\nfunction toRecoveryBit(yParityOrV) {\n if (yParityOrV === 0 || yParityOrV === 1)\n return yParityOrV;\n if (yParityOrV === 27)\n return 0;\n if (yParityOrV === 28)\n return 1;\n throw new Error('Invalid yParityOrV value');\n}\n//# sourceMappingURL=recoverPublicKey.js.map","import { publicKeyToAddress } from '../../accounts/utils/publicKeyToAddress.js';\nimport { recoverPublicKey } from './recoverPublicKey.js';\nexport async function recoverAddress({ hash, signature, }) {\n return publicKeyToAddress(await recoverPublicKey({ hash: hash, signature }));\n}\n//# sourceMappingURL=recoverAddress.js.map","export function alloc(size = 0) {\n if (globalThis.Buffer != null && globalThis.Buffer.alloc != null) {\n return globalThis.Buffer.alloc(size);\n }\n return new Uint8Array(size);\n}\nexport function allocUnsafe(size = 0) {\n if (globalThis.Buffer != null && globalThis.Buffer.allocUnsafe != null) {\n return globalThis.Buffer.allocUnsafe(size);\n }\n return new Uint8Array(size);\n}","import { allocUnsafe } from './alloc.js';\nexport function concat(arrays, length) {\n if (!length) {\n length = arrays.reduce((acc, curr) => acc + curr.length, 0);\n }\n const output = allocUnsafe(length);\n let offset = 0;\n for (const arr of arrays) {\n output.set(arr, offset);\n offset += arr.length;\n }\n return output;\n}","import { bases } from 'multiformats/basics';\nimport { allocUnsafe } from '../alloc.js';\nfunction createCodec(name, prefix, encode, decode) {\n return {\n name,\n prefix,\n encoder: {\n name,\n prefix,\n encode\n },\n decoder: { decode }\n };\n}\nconst string = createCodec('utf8', 'u', buf => {\n const decoder = new TextDecoder('utf8');\n return 'u' + decoder.decode(buf);\n}, str => {\n const encoder = new TextEncoder();\n return encoder.encode(str.substring(1));\n});\nconst ascii = createCodec('ascii', 'a', buf => {\n let string = 'a';\n for (let i = 0; i < buf.length; i++) {\n string += String.fromCharCode(buf[i]);\n }\n return string;\n}, str => {\n str = str.substring(1);\n const buf = allocUnsafe(str.length);\n for (let i = 0; i < str.length; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n});\nconst BASES = {\n utf8: string,\n 'utf-8': string,\n hex: bases.base16,\n latin1: ascii,\n ascii: ascii,\n binary: ascii,\n ...bases\n};\nexport default BASES;","import bases from './util/bases.js';\nexport function fromString(string, encoding = 'utf8') {\n const base = bases[encoding];\n if (!base) {\n throw new Error(`Unsupported encoding \"${ encoding }\"`);\n }\n if ((encoding === 'utf8' || encoding === 'utf-8') && globalThis.Buffer != null && globalThis.Buffer.from != null) {\n return globalThis.Buffer.from(string, 'utf8');\n }\n return base.decoder.decode(`${ base.prefix }${ string }`);\n}","import bases from './util/bases.js';\nexport function toString(array, encoding = 'utf8') {\n const base = bases[encoding];\n if (!base) {\n throw new Error(`Unsupported encoding \"${ encoding }\"`);\n }\n if ((encoding === 'utf8' || encoding === 'utf-8') && globalThis.Buffer != null && globalThis.Buffer.from != null) {\n return globalThis.Buffer.from(array.buffer, array.byteOffset, array.byteLength).toString('utf8');\n }\n return base.encoder.encode(array).substring(1);\n}","import{detect as jo}from\"detect-browser\";import{toMiliseconds as Ie,FIVE_MINUTES as xn,fromMiliseconds as Co}from\"@walletconnect/time\";import{getDocument as Yt,getNavigator as Sn,getLocation as On}from\"@walletconnect/window-getters\";import{getWindowMetadata as Po}from\"@walletconnect/window-metadata\";import{recoverAddress as ko}from\"viem\";import Vo from\"bs58\";import{decodeJWT as Mo}from\"@walletconnect/relay-auth\";import{toString as Q,fromString as rt,concat as Gt}from\"uint8arrays\";import{RELAY_JSONRPC as Do}from\"@walletconnect/relay-api\";const ae=\":\";function Ne(t){const[e,n]=t.split(ae);return{namespace:e,reference:n}}function An(t){const{namespace:e,reference:n}=t;return[e,n].join(ae)}function Ue(t){const[e,n,r]=t.split(ae);return{namespace:e,reference:n,address:r}}function Bn(t){const{namespace:e,reference:n,address:r}=t;return[e,n,r].join(ae)}function Te(t,e){const n=[];return t.forEach(r=>{const o=e(r);n.includes(o)||n.push(o)}),n}function In(t){const{address:e}=Ue(t);return e}function Nn(t){const{namespace:e,reference:n}=Ue(t);return An({namespace:e,reference:n})}function Ho(t,e){const{namespace:n,reference:r}=Ne(e);return Bn({namespace:n,reference:r,address:t})}function qo(t){return Te(t,In)}function Un(t){return Te(t,Nn)}function Ko(t,e=[]){const n=[];return Object.keys(t).forEach(r=>{if(e.length&&!e.includes(r))return;const o=t[r];n.push(...o.accounts)}),n}function Fo(t,e=[]){const n=[];return Object.keys(t).forEach(r=>{if(e.length&&!e.includes(r))return;const o=t[r];n.push(...Un(o.accounts))}),n}function zo(t,e=[]){const n=[];return Object.keys(t).forEach(r=>{if(e.length&&!e.includes(r))return;const o=t[r];n.push(...ue(r,o))}),n}function ue(t,e){return t.includes(\":\")?[t]:e.chains||[]}var Zo=Object.defineProperty,Yo=Object.defineProperties,Go=Object.getOwnPropertyDescriptors,Tn=Object.getOwnPropertySymbols,Wo=Object.prototype.hasOwnProperty,Xo=Object.prototype.propertyIsEnumerable,Rn=(t,e,n)=>e in t?Zo(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,_n=(t,e)=>{for(var n in e||(e={}))Wo.call(e,n)&&Rn(t,n,e[n]);if(Tn)for(var n of Tn(e))Xo.call(e,n)&&Rn(t,n,e[n]);return t},Jo=(t,e)=>Yo(t,Go(e));const $n=\"ReactNative\",Y={reactNative:\"react-native\",node:\"node\",browser:\"browser\",unknown:\"unknown\"},fe=\" \",Qo=\":\",Ln=\"/\",Re=2,ti=1e3,jn=\"js\";function _e(){return typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.node<\"u\"}function pt(){return!Yt()&&!!Sn()&&navigator.product===$n}function ei(){return pt()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"&&(global==null?void 0:global.Platform.OS)===\"android\"}function ni(){return pt()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"&&(global==null?void 0:global.Platform.OS)===\"ios\"}function Tt(){return!_e()&&!!Sn()&&!!Yt()}function xt(){return pt()?Y.reactNative:_e()?Y.node:Tt()?Y.browser:Y.unknown}function ri(){var t;try{return pt()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Application)<\"u\"?(t=global.Application)==null?void 0:t.applicationId:void 0}catch{return}}function Cn(t,e){const n=new URLSearchParams(t);for(const r of Object.keys(e).sort())if(e.hasOwnProperty(r)){const o=e[r];o!==void 0&&n.set(r,o)}return n.toString()}function oi(t){var e,n;const r=Pn();try{return t!=null&&t.url&&r.url&&new URL(t.url).host!==new URL(r.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${t.url} differs from the actual page url:${r.url}. This is probably unintended and can lead to issues.`),t.url=r.url),(e=t?.icons)!=null&&e.length&&t.icons.length>0&&(t.icons=t.icons.filter(o=>o!==\"\")),Jo(_n(_n({},r),t),{url:t?.url||r.url,name:t?.name||r.name,description:t?.description||r.description,icons:(n=t?.icons)!=null&&n.length&&t.icons.length>0?t.icons:r.icons})}catch(o){return console.warn(\"Error populating app metadata\",o),t||r}}function Pn(){return Po()||{name:\"\",description:\"\",url:\"\",icons:[\"\"]}}function ii(t,e){var n;const r=xt(),o={protocol:t,version:e,env:r};return r===\"browser\"&&(o.host=((n=On())==null?void 0:n.host)||\"unknown\"),o}function kn(){if(xt()===Y.reactNative&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"){const{OS:n,Version:r}=global.Platform;return[n,r].join(\"-\")}const t=jo();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 Vn(){var t;const e=xt();return e===Y.browser?[e,((t=On())==null?void 0:t.host)||\"unknown\"].join(\":\"):e}function Mn(t,e,n){const r=kn(),o=Vn();return[[t,e].join(\"-\"),[jn,n].join(\"-\"),r,o].join(\"/\")}function si({protocol:t,version:e,relayUrl:n,sdkVersion:r,auth:o,projectId:i,useOnCloseEvent:s,bundleId:c,packageName:a}){const u=n.split(\"?\"),l=Mn(t,e,r),f={auth:o,ua:l,projectId:i,useOnCloseEvent:s||void 0,packageName:a||void 0,bundleId:c||void 0},h=Cn(u[1]||\"\",f);return u[0]+\"?\"+h}function ci(t){let e=(t.match(/^[^:]+(?=:\\/\\/)/gi)||[])[0];const n=typeof e<\"u\"?t.split(\"://\")[1]:t;return e=e===\"wss\"?\"https\":\"http\",[e,n].join(\"://\")}function ai(t,e,n){if(!t[e]||typeof t[e]!==n)throw new Error(`Missing or invalid \"${e}\" param`)}function Dn(t,e=Re){return Hn(t.split(Ln),e)}function ui(t){return Dn(t).join(fe)}function gt(t,e){return t.filter(n=>e.includes(n)).length===t.length}function Hn(t,e=Re){return t.slice(Math.max(t.length-e,0))}function fi(t){return Object.fromEntries(t.entries())}function li(t){return new Map(Object.entries(t))}function di(t,e){const n={};return Object.keys(t).forEach(r=>{n[r]=e(t[r])}),n}const hi=t=>t;function qn(t){return t.trim().replace(/^\\w/,e=>e.toUpperCase())}function pi(t){return t.split(fe).map(e=>qn(e)).join(fe)}function gi(t=xn,e){const n=Ie(t||xn);let r,o,i,s;return{resolve:c=>{i&&r&&(clearTimeout(i),r(c),s=Promise.resolve(c))},reject:c=>{i&&o&&(clearTimeout(i),o(c))},done:()=>new Promise((c,a)=>{if(s)return c(s);i=setTimeout(()=>{const u=new Error(e);s=Promise.reject(u),a(u)},n),r=c,o=a})}}function yi(t,e,n){return new Promise(async(r,o)=>{const i=setTimeout(()=>o(new Error(n)),e);try{const s=await t;r(s)}catch(s){o(s)}clearTimeout(i)})}function $e(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 mi(t){return $e(\"topic\",t)}function wi(t){return $e(\"id\",t)}function bi(t){const[e,n]=t.split(\":\"),r={id:void 0,topic:void 0};if(e===\"topic\"&&typeof n==\"string\")r.topic=n;else if(e===\"id\"&&Number.isInteger(Number(n)))r.id=Number(n);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${n}`);return r}function Ei(t,e){return Co((e||Date.now())+Ie(t))}function vi(t){return Date.now()>=Ie(t)}function xi(t,e){return`${t}${e?`:${e}`:\"\"}`}function ot(t=[],e=[]){return[...new Set([...t,...e])]}async function Si({id:t,topic:e,wcDeepLink:n}){var r;try{if(!n)return;const o=typeof n==\"string\"?JSON.parse(n):n,i=o?.href;if(typeof i!=\"string\")return;const s=Kn(i,t,e),c=xt();if(c===Y.browser){if(!((r=Yt())!=null&&r.hasFocus())){console.warn(\"Document does not have focus, skipping deeplink.\");return}Fn(s)}else c===Y.reactNative&&typeof(global==null?void 0:global.Linking)<\"u\"&&await global.Linking.openURL(s)}catch(o){console.error(o)}}function Kn(t,e,n){const r=`requestId=${e}&sessionTopic=${n}`;t.endsWith(\"/\")&&(t=t.slice(0,-1));let o=`${t}`;if(t.startsWith(\"https://t.me\")){const i=t.includes(\"?\")?\"&startapp=\":\"?startapp=\";o=`${o}${i}${Yn(r,!0)}`}else o=`${o}/wc?${r}`;return o}function Fn(t){let e=\"_self\";Zn()?e=\"_top\":(zn()||t.startsWith(\"https://\")||t.startsWith(\"http://\"))&&(e=\"_blank\"),window.open(t,e,\"noreferrer noopener\")}async function Oi(t,e){let n=\"\";try{if(Tt()&&(n=localStorage.getItem(e),n))return n;n=await t.getItem(e)}catch(r){console.error(r)}return n}function Le(t,e){return t.filter(n=>e.includes(n))}function Ai(t,e){if(!t.includes(e))return null;const n=t.split(/([&,?,=])/),r=n.indexOf(e);return n[r+2]}function Bi(){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 Ii(){return typeof process<\"u\"&&process.env.IS_VITEST===\"true\"}function zn(){return typeof window<\"u\"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function Zn(){try{return window.self!==window.top}catch{return!1}}function Yn(t,e=!1){const n=Buffer.from(t).toString(\"base64\");return e?n.replace(/[=]/g,\"\"):n}function je(t){return Buffer.from(t,\"base64\").toString(\"utf-8\")}function Ni(t){return new Promise(e=>setTimeout(e,t))}function Wt(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(\"positive integer expected, got \"+t)}function Ui(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function Xt(t,...e){if(!Ui(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 Ce(t){if(typeof t!=\"function\"||typeof t.create!=\"function\")throw new Error(\"Hash should be wrapped by utils.wrapConstructor\");Wt(t.outputLen),Wt(t.blockLen)}function Rt(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 Gn(t,e){Xt(t);const n=e.outputLen;if(t.length<n)throw new Error(\"digestInto() expects output buffer of length at least \"+n)}const le=BigInt(2**32-1),Wn=BigInt(32);function Ti(t,e=!1){return e?{h:Number(t&le),l:Number(t>>Wn&le)}:{h:Number(t>>Wn&le)|0,l:Number(t&le)|0}}function Ri(t,e=!1){let n=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let o=0;o<t.length;o++){const{h:i,l:s}=Ti(t[o],e);[n[o],r[o]]=[i,s]}return[n,r]}const _i=(t,e,n)=>t<<n|e>>>32-n,$i=(t,e,n)=>e<<n|t>>>32-n,Li=(t,e,n)=>e<<n-32|t>>>64-n,ji=(t,e,n)=>t<<n-32|e>>>64-n,_t=typeof globalThis==\"object\"&&\"crypto\"in globalThis?globalThis.crypto:void 0;function Ci(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Pe(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function ct(t,e){return t<<32-e|t>>>e}const Xn=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Pi(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function Jn(t){for(let e=0;e<t.length;e++)t[e]=Pi(t[e])}function ki(t){if(typeof t!=\"string\")throw new Error(\"utf8ToBytes expected string, got \"+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function $t(t){return typeof t==\"string\"&&(t=ki(t)),Xt(t),t}function Vi(...t){let e=0;for(let r=0;r<t.length;r++){const o=t[r];Xt(o),e+=o.length}const n=new Uint8Array(e);for(let r=0,o=0;r<t.length;r++){const i=t[r];n.set(i,o),o+=i.length}return n}class ke{clone(){return this._cloneInto()}}function Qn(t){const e=r=>t().update($t(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function Lt(t=32){if(_t&&typeof _t.getRandomValues==\"function\")return _t.getRandomValues(new Uint8Array(t));if(_t&&typeof _t.randomBytes==\"function\")return _t.randomBytes(t);throw new Error(\"crypto.getRandomValues must be defined\")}const tr=[],er=[],nr=[],Mi=BigInt(0),Jt=BigInt(1),Di=BigInt(2),Hi=BigInt(7),qi=BigInt(256),Ki=BigInt(113);for(let t=0,e=Jt,n=1,r=0;t<24;t++){[n,r]=[r,(2*n+3*r)%5],tr.push(2*(5*r+n)),er.push((t+1)*(t+2)/2%64);let o=Mi;for(let i=0;i<7;i++)e=(e<<Jt^(e>>Hi)*Ki)%qi,e&Di&&(o^=Jt<<(Jt<<BigInt(i))-Jt);nr.push(o)}const[Fi,zi]=Ri(nr,!0),rr=(t,e,n)=>n>32?Li(t,e,n):_i(t,e,n),or=(t,e,n)=>n>32?ji(t,e,n):$i(t,e,n);function Zi(t,e=24){const n=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let s=0;s<10;s++)n[s]=t[s]^t[s+10]^t[s+20]^t[s+30]^t[s+40];for(let s=0;s<10;s+=2){const c=(s+8)%10,a=(s+2)%10,u=n[a],l=n[a+1],f=rr(u,l,1)^n[c],h=or(u,l,1)^n[c+1];for(let y=0;y<50;y+=10)t[s+y]^=f,t[s+y+1]^=h}let o=t[2],i=t[3];for(let s=0;s<24;s++){const c=er[s],a=rr(o,i,c),u=or(o,i,c),l=tr[s];o=t[l],i=t[l+1],t[l]=a,t[l+1]=u}for(let s=0;s<50;s+=10){for(let c=0;c<10;c++)n[c]=t[s+c];for(let c=0;c<10;c++)t[s+c]^=~n[(c+2)%10]&n[(c+4)%10]}t[0]^=Fi[r],t[1]^=zi[r]}n.fill(0)}class En extends ke{constructor(e,n,r,o=!1,i=24){if(super(),this.blockLen=e,this.suffix=n,this.outputLen=r,this.enableXOF=o,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Wt(r),0>=this.blockLen||this.blockLen>=200)throw new Error(\"Sha3 supports only keccak-f1600 function\");this.state=new Uint8Array(200),this.state32=Ci(this.state)}keccak(){Xn||Jn(this.state32),Zi(this.state32,this.rounds),Xn||Jn(this.state32),this.posOut=0,this.pos=0}update(e){Rt(this);const{blockLen:n,state:r}=this;e=$t(e);const o=e.length;for(let i=0;i<o;){const s=Math.min(n-this.pos,o-i);for(let c=0;c<s;c++)r[this.pos++]^=e[i++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:n,pos:r,blockLen:o}=this;e[r]^=n,(n&128)!==0&&r===o-1&&this.keccak(),e[o-1]^=128,this.keccak()}writeInto(e){Rt(this,!1),Xt(e),this.finish();const n=this.state,{blockLen:r}=this;for(let o=0,i=e.length;o<i;){this.posOut>=r&&this.keccak();const s=Math.min(r-this.posOut,i-o);e.set(n.subarray(this.posOut,this.posOut+s),o),this.posOut+=s,o+=s}return e}xofInto(e){if(!this.enableXOF)throw new Error(\"XOF is not possible for this instance\");return this.writeInto(e)}xof(e){return Wt(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Gn(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,this.state.fill(0)}_cloneInto(e){const{blockLen:n,suffix:r,outputLen:o,rounds:i,enableXOF:s}=this;return e||(e=new En(n,r,o,s,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=o,e.enableXOF=s,e.destroyed=this.destroyed,e}}const Yi=(t,e,n)=>Qn(()=>new En(e,t,n)),Gi=Yi(1,136,256/8),Wi=\"https://rpc.walletconnect.org/v1\";function Ve(t){const e=`\u0019Ethereum Signed Message:\n${t.length}`,n=new TextEncoder().encode(e+t);return\"0x\"+Buffer.from(Gi(n)).toString(\"hex\")}async function ir(t,e,n,r,o,i){switch(n.t){case\"eip191\":return await sr(t,e,n.s);case\"eip1271\":return await cr(t,e,n.s,r,o,i);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${n.t}`)}}async function sr(t,e,n){return(await ko({hash:Ve(e),signature:n})).toLowerCase()===t.toLowerCase()}async function cr(t,e,n,r,o,i){const s=Ne(r);if(!s.namespace||!s.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${r}`);try{const c=\"0x1626ba7e\",a=\"0000000000000000000000000000000000000000000000000000000000000040\",u=\"0000000000000000000000000000000000000000000000000000000000000041\",l=n.substring(2),f=Ve(e).substring(2),h=c+f+a+u+l,y=await fetch(`${i||Wi}/?chainId=${r}&projectId=${o}`,{method:\"POST\",body:JSON.stringify({id:Xi(),jsonrpc:\"2.0\",method:\"eth_call\",params:[{to:t,data:h},\"latest\"]})}),{result:E}=await y.json();return E?E.slice(0,c.length).toLowerCase()===c.toLowerCase():!1}catch(c){return console.error(\"isValidEip1271Signature: \",c),!1}}function Xi(){return Date.now()+Math.floor(Math.random()*1e3)}function Ji(t){const e=atob(t),n=new Uint8Array(e.length);for(let s=0;s<e.length;s++)n[s]=e.charCodeAt(s);const r=n[0];if(r===0)throw new Error(\"No signatures found\");const o=1+r*64;if(n.length<o)throw new Error(\"Transaction data too short for claimed signature count\");if(n.length<100)throw new Error(\"Transaction too short\");const i=Buffer.from(t,\"base64\").slice(1,65);return Vo.encode(i)}var Qi=Object.defineProperty,ts=Object.defineProperties,es=Object.getOwnPropertyDescriptors,ar=Object.getOwnPropertySymbols,ns=Object.prototype.hasOwnProperty,rs=Object.prototype.propertyIsEnumerable,ur=(t,e,n)=>e in t?Qi(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Me=(t,e)=>{for(var n in e||(e={}))ns.call(e,n)&&ur(t,n,e[n]);if(ar)for(var n of ar(e))rs.call(e,n)&&ur(t,n,e[n]);return t},fr=(t,e)=>ts(t,es(e));const os=\"did:pkh:\",de=t=>t?.split(\":\"),lr=t=>{const e=t&&de(t);if(e)return t.includes(os)?e[3]:e[1]},dr=t=>{const e=t&&de(t);if(e)return e[2]+\":\"+e[3]},De=t=>{const e=t&&de(t);if(e)return e.pop()};async function is(t){const{cacao:e,projectId:n}=t,{s:r,p:o}=e,i=hr(o,o.iss),s=De(o.iss);return await ir(s,i,r,dr(o.iss),n)}const hr=(t,e)=>{const n=`${t.domain} wants you to sign in with your Ethereum account:`,r=De(e);if(!t.aud&&!t.uri)throw new Error(\"Either `aud` or `uri` is required to construct the message\");let o=t.statement||void 0;const i=`URI: ${t.aud||t.uri}`,s=`Version: ${t.version}`,c=`Chain ID: ${lr(e)}`,a=`Nonce: ${t.nonce}`,u=`Issued At: ${t.iat}`,l=t.exp?`Expiration Time: ${t.exp}`:void 0,f=t.nbf?`Not Before: ${t.nbf}`:void 0,h=t.requestId?`Request ID: ${t.requestId}`:void 0,y=t.resources?`Resources:${t.resources.map(p=>`\n- ${p}`).join(\"\")}`:void 0,E=pe(t.resources);if(E){const p=yt(E);o=Ke(o,p)}return[n,r,\"\",o,\"\",i,s,c,a,u,l,f,h,y].filter(p=>p!=null).join(`\n`)};function ss(t,e,n){return n.includes(\"did:pkh:\")||(n=`did:pkh:${n}`),{h:{t:\"caip122\"},p:{iss:n,domain:t.domain,aud:t.aud,version:t.version,nonce:t.nonce,iat:t.iat,statement:t.statement,requestId:t.requestId,resources:t.resources,nbf:t.nbf,exp:t.exp},s:e}}function cs(t){var e;const{authPayload:n,chains:r,methods:o}=t,i=n.statement||\"\";if(!(r!=null&&r.length))return n;const s=n.chains,c=Le(s,r);if(!(c!=null&&c.length))throw new Error(\"No supported chains\");const a=pr(n.resources);if(!a)return n;at(a);const u=gr(a,\"eip155\");let l=n?.resources||[];if(u!=null&&u.length){const f=yr(u),h=Le(f,o);if(!(h!=null&&h.length))throw new Error(`Supported methods don't satisfy the requested: ${JSON.stringify(f)}, supported: ${JSON.stringify(o)}`);const y=He(\"request\",h,{chains:c}),E=Er(a,\"eip155\",y);l=((e=n?.resources)==null?void 0:e.slice(0,-1))||[],l.push(he(E))}return fr(Me({},n),{statement:xr(i,pe(l)),chains:c,resources:n!=null&&n.resources||l.length>0?l:void 0})}function pr(t){const e=pe(t);if(e&&qe(e))return yt(e)}function as(t,e){var n;return(n=t?.att)==null?void 0:n.hasOwnProperty(e)}function gr(t,e){var n,r;return(n=t?.att)!=null&&n[e]?Object.keys((r=t?.att)==null?void 0:r[e]):[]}function us(t){return t?.map(e=>Object.keys(e))||[]}function yr(t){return t?.map(e=>{var n;return(n=e.split(\"/\"))==null?void 0:n[1]})||[]}function mr(t){return Buffer.from(JSON.stringify(t)).toString(\"base64\")}function wr(t){return JSON.parse(Buffer.from(t,\"base64\").toString(\"utf-8\"))}function at(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(n=>{const r=t.att[n];if(Array.isArray(r))throw new Error(`Resource must be an object: ${n}`);if(typeof r!=\"object\")throw new Error(`Resource must be an object: ${n}`);if(!Object.keys(r).length)throw new Error(`Resource object is empty: ${n}`);Object.keys(r).forEach(o=>{const i=r[o];if(!Array.isArray(i))throw new Error(`Ability limits ${o} must be an array of objects, found: ${i}`);if(!i.length)throw new Error(`Value of ${o} is empty array, must be an array with objects`);i.forEach(s=>{if(typeof s!=\"object\")throw new Error(`Ability limits (${o}) must be an array of objects, found: ${s}`)})})})}function br(t,e,n,r={}){return n?.sort((o,i)=>o.localeCompare(i)),{att:{[t]:He(e,n,r)}}}function Er(t,e,n){var r;t.att[e]=Me({},n);const o=(r=Object.keys(t.att))==null?void 0:r.sort((s,c)=>s.localeCompare(c)),i={att:{}};return o.reduce((s,c)=>(s.att[c]=t.att[c],s),i)}function He(t,e,n={}){e=e?.sort((o,i)=>o.localeCompare(i));const r=e.map(o=>({[`${t}/${o}`]:[n]}));return Object.assign({},...r)}function he(t){return at(t),`urn:recap:${mr(t).replace(/=/g,\"\")}`}function yt(t){const e=wr(t.replace(\"urn:recap:\",\"\"));return at(e),e}function fs(t,e,n){const r=br(t,e,n);return he(r)}function qe(t){return t&&t.includes(\"urn:recap:\")}function ls(t,e){const n=yt(t),r=yt(e),o=vr(n,r);return he(o)}function vr(t,e){at(t),at(e);const n=Object.keys(t.att).concat(Object.keys(e.att)).sort((o,i)=>o.localeCompare(i)),r={att:{}};return n.forEach(o=>{var i,s;Object.keys(((i=t.att)==null?void 0:i[o])||{}).concat(Object.keys(((s=e.att)==null?void 0:s[o])||{})).sort((c,a)=>c.localeCompare(a)).forEach(c=>{var a,u;r.att[o]=fr(Me({},r.att[o]),{[c]:((a=t.att[o])==null?void 0:a[c])||((u=e.att[o])==null?void 0:u[c])})})}),r}function Ke(t=\"\",e){at(e);const n=\"I further authorize the stated URI to perform the following actions on my behalf: \";if(t.includes(n))return t;const r=[];let o=0;Object.keys(e.att).forEach(c=>{const a=Object.keys(e.att[c]).map(f=>({ability:f.split(\"/\")[0],action:f.split(\"/\")[1]}));a.sort((f,h)=>f.action.localeCompare(h.action));const u={};a.forEach(f=>{u[f.ability]||(u[f.ability]=[]),u[f.ability].push(f.action)});const l=Object.keys(u).map(f=>(o++,`(${o}) '${f}': '${u[f].join(\"', '\")}' for '${c}'.`));r.push(l.join(\", \").replace(\".,\",\".\"))});const i=r.join(\" \"),s=`${n}${i}`;return`${t?t+\" \":\"\"}${s}`}function ds(t){var e;const n=yt(t);at(n);const r=(e=n.att)==null?void 0:e.eip155;return r?Object.keys(r).map(o=>o.split(\"/\")[1]):[]}function hs(t){const e=yt(t);at(e);const n=[];return Object.values(e.att).forEach(r=>{Object.values(r).forEach(o=>{var i;(i=o?.[0])!=null&&i.chains&&n.push(o[0].chains)})}),[...new Set(n.flat())]}function xr(t,e){if(!e)return t;const n=yt(e);return at(n),Ke(t,n)}function pe(t){if(!t)return;const e=t?.[t.length-1];return qe(e)?e:void 0}function Fe(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(\"positive integer expected, got \"+t)}function Sr(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function tt(t,...e){if(!Sr(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 Or(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 ps(t,e){tt(t);const n=e.outputLen;if(t.length<n)throw new Error(\"digestInto() expects output buffer of length at least \"+n)}function Ar(t){if(typeof t!=\"boolean\")throw new Error(`boolean expected, not ${t}`)}const mt=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),gs=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),ys=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ys)throw new Error(\"Non little-endian hardware is not supported\");function ms(t){if(typeof t!=\"string\")throw new Error(\"string expected\");return new Uint8Array(new TextEncoder().encode(t))}function ze(t){if(typeof t==\"string\")t=ms(t);else if(Sr(t))t=Ze(t);else throw new Error(\"Uint8Array expected, got \"+typeof t);return t}function ws(t,e){if(e==null||typeof e!=\"object\")throw new Error(\"options must be defined\");return Object.assign(t,e)}function bs(t,e){if(t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}const Es=(t,e)=>{function n(r,...o){if(tt(r),t.nonceLength!==void 0){const l=o[0];if(!l)throw new Error(\"nonce / iv required\");t.varSizeNonce?tt(l):tt(l,t.nonceLength)}const i=t.tagLength;i&&o[1]!==void 0&&tt(o[1]);const s=e(r,...o),c=(l,f)=>{if(f!==void 0){if(l!==2)throw new Error(\"cipher output not supported\");tt(f)}};let a=!1;return{encrypt(l,f){if(a)throw new Error(\"cannot encrypt() twice with same key + nonce\");return a=!0,tt(l),c(s.encrypt.length,f),s.encrypt(l,f)},decrypt(l,f){if(tt(l),i&&l.length<i)throw new Error(\"invalid ciphertext length: smaller than tagLength=\"+i);return c(s.decrypt.length,f),s.decrypt(l,f)}}}return Object.assign(n,t),n};function Br(t,e,n=!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(n&&!vs(e))throw new Error(\"invalid output, must be aligned\");return e}function Ir(t,e,n,r){if(typeof t.setBigUint64==\"function\")return t.setBigUint64(e,n,r);const o=BigInt(32),i=BigInt(4294967295),s=Number(n>>o&i),c=Number(n&i),a=r?4:0,u=r?0:4;t.setUint32(e+a,s,r),t.setUint32(e+u,c,r)}function vs(t){return t.byteOffset%4===0}function Ze(t){return Uint8Array.from(t)}function jt(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}const Nr=t=>Uint8Array.from(t.split(\"\").map(e=>e.charCodeAt(0))),xs=Nr(\"expand 16-byte k\"),Ss=Nr(\"expand 32-byte k\"),Os=mt(xs),As=mt(Ss);function V(t,e){return t<<e|t>>>32-e}function Ye(t){return t.byteOffset%4===0}const ge=64,Bs=16,Ur=2**32-1,Tr=new Uint32Array;function Is(t,e,n,r,o,i,s,c){const a=o.length,u=new Uint8Array(ge),l=mt(u),f=Ye(o)&&Ye(i),h=f?mt(o):Tr,y=f?mt(i):Tr;for(let E=0;E<a;s++){if(t(e,n,r,l,s,c),s>=Ur)throw new Error(\"arx: counter overflow\");const p=Math.min(ge,a-E);if(f&&p===ge){const d=E/4;if(E%4!==0)throw new Error(\"arx: invalid block position\");for(let v=0,m;v<Bs;v++)m=d+v,y[m]=h[m]^l[v];E+=ge;continue}for(let d=0,v;d<p;d++)v=E+d,i[v]=o[v]^u[d];E+=p}}function Ns(t,e){const{allowShortKeys:n,extendNonceFn:r,counterLength:o,counterRight:i,rounds:s}=ws({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!=\"function\")throw new Error(\"core must be a function\");return Fe(o),Fe(s),Ar(i),Ar(n),(c,a,u,l,f=0)=>{tt(c),tt(a),tt(u);const h=u.length;if(l===void 0&&(l=new Uint8Array(h)),tt(l),Fe(f),f<0||f>=Ur)throw new Error(\"arx: counter overflow\");if(l.length<h)throw new Error(`arx: output (${l.length}) is shorter than data (${h})`);const y=[];let E=c.length,p,d;if(E===32)y.push(p=Ze(c)),d=As;else if(E===16&&n)p=new Uint8Array(32),p.set(c),p.set(c,16),d=Os,y.push(p);else throw new Error(`arx: invalid 32-byte key, got length=${E}`);Ye(a)||y.push(a=Ze(a));const v=mt(p);if(r){if(a.length!==24)throw new Error(\"arx: extended nonce must be 24 bytes\");r(d,v,mt(a.subarray(0,16)),v),a=a.subarray(16)}const m=16-o;if(m!==a.length)throw new Error(`arx: nonce must be ${m} or 16 bytes`);if(m!==12){const N=new Uint8Array(12);N.set(a,i?0:12-a.length),a=N,y.push(a)}const O=mt(a);return Is(t,d,v,O,u,l,f,s),jt(...y),l}}const F=(t,e)=>t[e++]&255|(t[e++]&255)<<8;class Us{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=ze(e),tt(e,32);const n=F(e,0),r=F(e,2),o=F(e,4),i=F(e,6),s=F(e,8),c=F(e,10),a=F(e,12),u=F(e,14);this.r[0]=n&8191,this.r[1]=(n>>>13|r<<3)&8191,this.r[2]=(r>>>10|o<<6)&7939,this.r[3]=(o>>>7|i<<9)&8191,this.r[4]=(i>>>4|s<<12)&255,this.r[5]=s>>>1&8190,this.r[6]=(s>>>14|c<<2)&8191,this.r[7]=(c>>>11|a<<5)&8065,this.r[8]=(a>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let l=0;l<8;l++)this.pad[l]=F(e,16+2*l)}process(e,n,r=!1){const o=r?0:2048,{h:i,r:s}=this,c=s[0],a=s[1],u=s[2],l=s[3],f=s[4],h=s[5],y=s[6],E=s[7],p=s[8],d=s[9],v=F(e,n+0),m=F(e,n+2),O=F(e,n+4),N=F(e,n+6),$=F(e,n+8),B=F(e,n+10),A=F(e,n+12),T=F(e,n+14);let S=i[0]+(v&8191),L=i[1]+((v>>>13|m<<3)&8191),U=i[2]+((m>>>10|O<<6)&8191),_=i[3]+((O>>>7|N<<9)&8191),j=i[4]+((N>>>4|$<<12)&8191),g=i[5]+($>>>1&8191),w=i[6]+(($>>>14|B<<2)&8191),b=i[7]+((B>>>11|A<<5)&8191),I=i[8]+((A>>>8|T<<8)&8191),R=i[9]+(T>>>5|o),x=0,C=x+S*c+L*(5*d)+U*(5*p)+_*(5*E)+j*(5*y);x=C>>>13,C&=8191,C+=g*(5*h)+w*(5*f)+b*(5*l)+I*(5*u)+R*(5*a),x+=C>>>13,C&=8191;let P=x+S*a+L*c+U*(5*d)+_*(5*p)+j*(5*E);x=P>>>13,P&=8191,P+=g*(5*y)+w*(5*h)+b*(5*f)+I*(5*l)+R*(5*u),x+=P>>>13,P&=8191;let k=x+S*u+L*a+U*c+_*(5*d)+j*(5*p);x=k>>>13,k&=8191,k+=g*(5*E)+w*(5*y)+b*(5*h)+I*(5*f)+R*(5*l),x+=k>>>13,k&=8191;let M=x+S*l+L*u+U*a+_*c+j*(5*d);x=M>>>13,M&=8191,M+=g*(5*p)+w*(5*E)+b*(5*y)+I*(5*h)+R*(5*f),x+=M>>>13,M&=8191;let D=x+S*f+L*l+U*u+_*a+j*c;x=D>>>13,D&=8191,D+=g*(5*d)+w*(5*p)+b*(5*E)+I*(5*y)+R*(5*h),x+=D>>>13,D&=8191;let z=x+S*h+L*f+U*l+_*u+j*a;x=z>>>13,z&=8191,z+=g*c+w*(5*d)+b*(5*p)+I*(5*E)+R*(5*y),x+=z>>>13,z&=8191;let Z=x+S*y+L*h+U*f+_*l+j*u;x=Z>>>13,Z&=8191,Z+=g*a+w*c+b*(5*d)+I*(5*p)+R*(5*E),x+=Z>>>13,Z&=8191;let st=x+S*E+L*y+U*h+_*f+j*l;x=st>>>13,st&=8191,st+=g*u+w*a+b*c+I*(5*d)+R*(5*p),x+=st>>>13,st&=8191;let W=x+S*p+L*E+U*y+_*h+j*f;x=W>>>13,W&=8191,W+=g*l+w*u+b*a+I*c+R*(5*d),x+=W>>>13,W&=8191;let J=x+S*d+L*p+U*E+_*y+j*h;x=J>>>13,J&=8191,J+=g*f+w*l+b*u+I*a+R*c,x+=J>>>13,J&=8191,x=(x<<2)+x|0,x=x+C|0,C=x&8191,x=x>>>13,P+=x,i[0]=C,i[1]=P,i[2]=k,i[3]=M,i[4]=D,i[5]=z,i[6]=Z,i[7]=st,i[8]=W,i[9]=J}finalize(){const{h:e,pad:n}=this,r=new Uint16Array(10);let o=e[1]>>>13;e[1]&=8191;for(let c=2;c<10;c++)e[c]+=o,o=e[c]>>>13,e[c]&=8191;e[0]+=o*5,o=e[0]>>>13,e[0]&=8191,e[1]+=o,o=e[1]>>>13,e[1]&=8191,e[2]+=o,r[0]=e[0]+5,o=r[0]>>>13,r[0]&=8191;for(let c=1;c<10;c++)r[c]=e[c]+o,o=r[c]>>>13,r[c]&=8191;r[9]-=8192;let i=(o^1)-1;for(let c=0;c<10;c++)r[c]&=i;i=~i;for(let c=0;c<10;c++)e[c]=e[c]&i|r[c];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 s=e[0]+n[0];e[0]=s&65535;for(let c=1;c<8;c++)s=(e[c]+n[c]|0)+(s>>>16)|0,e[c]=s&65535;jt(r)}update(e){Or(this);const{buffer:n,blockLen:r}=this;e=ze(e);const o=e.length;for(let i=0;i<o;){const s=Math.min(r-this.pos,o-i);if(s===r){for(;r<=o-i;i+=r)this.process(e,i);continue}n.set(e.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===r&&(this.process(n,0,!1),this.pos=0)}return this}destroy(){jt(this.h,this.r,this.buffer,this.pad)}digestInto(e){Or(this),ps(e,this),this.finished=!0;const{buffer:n,h:r}=this;let{pos:o}=this;if(o){for(n[o++]=1;o<16;o++)n[o]=0;this.process(n,0,!0)}this.finalize();let i=0;for(let s=0;s<8;s++)e[i++]=r[s]>>>0,e[i++]=r[s]>>>8;return e}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}}function Ts(t){const e=(r,o)=>t(o).update(ze(r)).digest(),n=t(new Uint8Array(32));return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=r=>t(r),e}const Rs=Ts(t=>new Us(t));function _s(t,e,n,r,o,i=20){let s=t[0],c=t[1],a=t[2],u=t[3],l=e[0],f=e[1],h=e[2],y=e[3],E=e[4],p=e[5],d=e[6],v=e[7],m=o,O=n[0],N=n[1],$=n[2],B=s,A=c,T=a,S=u,L=l,U=f,_=h,j=y,g=E,w=p,b=d,I=v,R=m,x=O,C=N,P=$;for(let M=0;M<i;M+=2)B=B+L|0,R=V(R^B,16),g=g+R|0,L=V(L^g,12),B=B+L|0,R=V(R^B,8),g=g+R|0,L=V(L^g,7),A=A+U|0,x=V(x^A,16),w=w+x|0,U=V(U^w,12),A=A+U|0,x=V(x^A,8),w=w+x|0,U=V(U^w,7),T=T+_|0,C=V(C^T,16),b=b+C|0,_=V(_^b,12),T=T+_|0,C=V(C^T,8),b=b+C|0,_=V(_^b,7),S=S+j|0,P=V(P^S,16),I=I+P|0,j=V(j^I,12),S=S+j|0,P=V(P^S,8),I=I+P|0,j=V(j^I,7),B=B+U|0,P=V(P^B,16),b=b+P|0,U=V(U^b,12),B=B+U|0,P=V(P^B,8),b=b+P|0,U=V(U^b,7),A=A+_|0,R=V(R^A,16),I=I+R|0,_=V(_^I,12),A=A+_|0,R=V(R^A,8),I=I+R|0,_=V(_^I,7),T=T+j|0,x=V(x^T,16),g=g+x|0,j=V(j^g,12),T=T+j|0,x=V(x^T,8),g=g+x|0,j=V(j^g,7),S=S+L|0,C=V(C^S,16),w=w+C|0,L=V(L^w,12),S=S+L|0,C=V(C^S,8),w=w+C|0,L=V(L^w,7);let k=0;r[k++]=s+B|0,r[k++]=c+A|0,r[k++]=a+T|0,r[k++]=u+S|0,r[k++]=l+L|0,r[k++]=f+U|0,r[k++]=h+_|0,r[k++]=y+j|0,r[k++]=E+g|0,r[k++]=p+w|0,r[k++]=d+b|0,r[k++]=v+I|0,r[k++]=m+R|0,r[k++]=O+x|0,r[k++]=N+C|0,r[k++]=$+P|0}const $s=Ns(_s,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Ls=new Uint8Array(16),Rr=(t,e)=>{t.update(e);const n=e.length%16;n&&t.update(Ls.subarray(n))},js=new Uint8Array(32);function _r(t,e,n,r,o){const i=t(e,n,js),s=Rs.create(i);o&&Rr(s,o),Rr(s,r);const c=new Uint8Array(16),a=gs(c);Ir(a,0,BigInt(o?o.length:0),!0),Ir(a,8,BigInt(r.length),!0),s.update(c);const u=s.digest();return jt(i,c),u}const Cs=t=>(e,n,r)=>({encrypt(i,s){const c=i.length;s=Br(c+16,s,!1),s.set(i);const a=s.subarray(0,-16);t(e,n,a,a,1);const u=_r(t,e,n,a,r);return s.set(u,c),jt(u),s},decrypt(i,s){s=Br(i.length-16,s,!1);const c=i.subarray(0,-16),a=i.subarray(-16),u=_r(t,e,n,c,r);if(!bs(a,u))throw new Error(\"invalid tag\");return s.set(i.subarray(0,-16)),t(e,n,s,s,1),jt(u),s}}),$r=Es({blockSize:64,nonceLength:12,tagLength:16},Cs($s));class Lr extends ke{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,Ce(e);const r=$t(n);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 o=this.blockLen,i=new Uint8Array(o);i.set(r.length>o?e.create().update(r).digest():r);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=e.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),i.fill(0)}update(e){return Rt(this),this.iHash.update(e),this}digestInto(e){Rt(this),Xt(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:n,iHash:r,finished:o,destroyed:i,blockLen:s,outputLen:c}=this;return e=e,e.finished=o,e.destroyed=i,e.blockLen=s,e.outputLen=c,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const ye=(t,e,n)=>new Lr(t,e).update(n).digest();ye.create=(t,e)=>new Lr(t,e);function Ps(t,e,n){return Ce(t),n===void 0&&(n=new Uint8Array(t.outputLen)),ye(t,$t(n),$t(e))}const Ge=new Uint8Array([0]),jr=new Uint8Array;function ks(t,e,n,r=32){if(Ce(t),Wt(r),r>255*t.outputLen)throw new Error(\"Length should be <= 255*HashLen\");const o=Math.ceil(r/t.outputLen);n===void 0&&(n=jr);const i=new Uint8Array(o*t.outputLen),s=ye.create(t,e),c=s._cloneInto(),a=new Uint8Array(s.outputLen);for(let u=0;u<o;u++)Ge[0]=u+1,c.update(u===0?jr:a).update(n).update(Ge).digestInto(a),i.set(a,t.outputLen*u),s._cloneInto(c);return s.destroy(),c.destroy(),a.fill(0),Ge.fill(0),i.slice(0,r)}const Vs=(t,e,n,r,o)=>ks(t,Ps(t,e,n),r,o);function Ms(t,e,n,r){if(typeof t.setBigUint64==\"function\")return t.setBigUint64(e,n,r);const o=BigInt(32),i=BigInt(4294967295),s=Number(n>>o&i),c=Number(n&i),a=r?4:0,u=r?0:4;t.setUint32(e+a,s,r),t.setUint32(e+u,c,r)}function Ds(t,e,n){return t&e^~t&n}function Hs(t,e,n){return t&e^t&n^e&n}class qs extends ke{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Pe(this.buffer)}update(e){Rt(this);const{view:n,buffer:r,blockLen:o}=this;e=$t(e);const i=e.length;for(let s=0;s<i;){const c=Math.min(o-this.pos,i-s);if(c===o){const a=Pe(e);for(;o<=i-s;s+=o)this.process(a,s);continue}r.set(e.subarray(s,s+c),this.pos),this.pos+=c,s+=c,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Rt(this),Gn(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:i}=this;let{pos:s}=this;n[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(r,0),s=0);for(let f=s;f<o;f++)n[f]=0;Ms(r,o-8,BigInt(this.length*8),i),this.process(r,0);const c=Pe(e),a=this.outputLen;if(a%4)throw new Error(\"_sha2: outputLen should be aligned to 32bit\");const u=a/4,l=this.get();if(u>l.length)throw new Error(\"_sha2: outputLen bigger than state\");for(let f=0;f<u;f++)c.setUint32(4*f,l[f],i)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:i,destroyed:s,pos:c}=this;return e.length=o,e.pos=c,e.finished=i,e.destroyed=s,o%n&&e.buffer.set(r),e}}const Ks=new Uint32Array([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]),wt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),bt=new Uint32Array(64);class Fs extends qs{constructor(){super(64,32,8,!1),this.A=wt[0]|0,this.B=wt[1]|0,this.C=wt[2]|0,this.D=wt[3]|0,this.E=wt[4]|0,this.F=wt[5]|0,this.G=wt[6]|0,this.H=wt[7]|0}get(){const{A:e,B:n,C:r,D:o,E:i,F:s,G:c,H:a}=this;return[e,n,r,o,i,s,c,a]}set(e,n,r,o,i,s,c,a){this.A=e|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=c|0,this.H=a|0}process(e,n){for(let f=0;f<16;f++,n+=4)bt[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){const h=bt[f-15],y=bt[f-2],E=ct(h,7)^ct(h,18)^h>>>3,p=ct(y,17)^ct(y,19)^y>>>10;bt[f]=p+bt[f-7]+E+bt[f-16]|0}let{A:r,B:o,C:i,D:s,E:c,F:a,G:u,H:l}=this;for(let f=0;f<64;f++){const h=ct(c,6)^ct(c,11)^ct(c,25),y=l+h+Ds(c,a,u)+Ks[f]+bt[f]|0,p=(ct(r,2)^ct(r,13)^ct(r,22))+Hs(r,o,i)|0;l=u,u=a,a=c,c=s+y|0,s=i,i=o,o=r,r=y+p|0}r=r+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,c=c+this.E|0,a=a+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,o,i,s,c,a,u,l)}roundClean(){bt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const Qt=Qn(()=>new Fs);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const me=BigInt(0),we=BigInt(1),zs=BigInt(2);function St(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function te(t){if(!St(t))throw new Error(\"Uint8Array expected\")}function Ct(t,e){if(typeof e!=\"boolean\")throw new Error(t+\" boolean expected, got \"+e)}const Zs=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,\"0\"));function Pt(t){te(t);let e=\"\";for(let n=0;n<t.length;n++)e+=Zs[t[n]];return e}function kt(t){const e=t.toString(16);return e.length&1?\"0\"+e:e}function We(t){if(typeof t!=\"string\")throw new Error(\"hex string expected, got \"+typeof t);return t===\"\"?me:BigInt(\"0x\"+t)}const ut={_0:48,_9:57,A:65,F:70,a:97,f:102};function Cr(t){if(t>=ut._0&&t<=ut._9)return t-ut._0;if(t>=ut.A&&t<=ut.F)return t-(ut.A-10);if(t>=ut.a&&t<=ut.f)return t-(ut.a-10)}function Vt(t){if(typeof t!=\"string\")throw new Error(\"hex string expected, got \"+typeof t);const e=t.length,n=e/2;if(e%2)throw new Error(\"hex string expected, got unpadded hex of length \"+e);const r=new Uint8Array(n);for(let o=0,i=0;o<n;o++,i+=2){const s=Cr(t.charCodeAt(i)),c=Cr(t.charCodeAt(i+1));if(s===void 0||c===void 0){const a=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character \"'+a+'\" at index '+i)}r[o]=s*16+c}return r}function Ot(t){return We(Pt(t))}function ee(t){return te(t),We(Pt(Uint8Array.from(t).reverse()))}function Mt(t,e){return Vt(t.toString(16).padStart(e*2,\"0\"))}function be(t,e){return Mt(t,e).reverse()}function Ys(t){return Vt(kt(t))}function et(t,e,n){let r;if(typeof e==\"string\")try{r=Vt(e)}catch(i){throw new Error(t+\" must be hex string or Uint8Array, cause: \"+i)}else if(St(e))r=Uint8Array.from(e);else throw new Error(t+\" must be hex string or Uint8Array\");const o=r.length;if(typeof n==\"number\"&&o!==n)throw new Error(t+\" of length \"+n+\" expected, got \"+o);return r}function ne(...t){let e=0;for(let r=0;r<t.length;r++){const o=t[r];te(o),e+=o.length}const n=new Uint8Array(e);for(let r=0,o=0;r<t.length;r++){const i=t[r];n.set(i,o),o+=i.length}return n}function Gs(t,e){if(t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}function Ws(t){if(typeof t!=\"string\")throw new Error(\"string expected\");return new Uint8Array(new TextEncoder().encode(t))}const Xe=t=>typeof t==\"bigint\"&&me<=t;function Ee(t,e,n){return Xe(t)&&Xe(e)&&Xe(n)&&e<=t&&t<n}function ft(t,e,n,r){if(!Ee(e,n,r))throw new Error(\"expected valid \"+t+\": \"+n+\" <= n < \"+r+\", got \"+e)}function Pr(t){let e;for(e=0;t>me;t>>=we,e+=1);return e}function Xs(t,e){return t>>BigInt(e)&we}function Js(t,e,n){return t|(n?we:me)<<BigInt(e)}const Je=t=>(zs<<BigInt(t-1))-we,Qe=t=>new Uint8Array(t),kr=t=>Uint8Array.from(t);function Vr(t,e,n){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 n!=\"function\")throw new Error(\"hmacFn must be a function\");let r=Qe(t),o=Qe(t),i=0;const s=()=>{r.fill(1),o.fill(0),i=0},c=(...f)=>n(o,r,...f),a=(f=Qe())=>{o=c(kr([0]),f),r=c(),f.length!==0&&(o=c(kr([1]),f),r=c())},u=()=>{if(i++>=1e3)throw new Error(\"drbg: tried 1000 values\");let f=0;const h=[];for(;f<e;){r=c();const y=r.slice();h.push(y),f+=r.length}return ne(...h)};return(f,h)=>{s(),a(f);let y;for(;!(y=h(u()));)a();return s(),y}}const Qs={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\"||St(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 Dt(t,e,n={}){const r=(o,i,s)=>{const c=Qs[i];if(typeof c!=\"function\")throw new Error(\"invalid validator function\");const a=t[o];if(!(s&&a===void 0)&&!c(a,t))throw new Error(\"param \"+String(o)+\" is invalid. Expected \"+i+\", got \"+a)};for(const[o,i]of Object.entries(e))r(o,i,!1);for(const[o,i]of Object.entries(n))r(o,i,!0);return t}const tc=()=>{throw new Error(\"not implemented\")};function tn(t){const e=new WeakMap;return(n,...r)=>{const o=e.get(n);if(o!==void 0)return o;const i=t(n,...r);return e.set(n,i),i}}var ec=Object.freeze({__proto__:null,isBytes:St,abytes:te,abool:Ct,bytesToHex:Pt,numberToHexUnpadded:kt,hexToNumber:We,hexToBytes:Vt,bytesToNumberBE:Ot,bytesToNumberLE:ee,numberToBytesBE:Mt,numberToBytesLE:be,numberToVarBytesBE:Ys,ensureBytes:et,concatBytes:ne,equalBytes:Gs,utf8ToBytes:Ws,inRange:Ee,aInRange:ft,bitLen:Pr,bitGet:Xs,bitSet:Js,bitMask:Je,createHmacDrbg:Vr,validateObject:Dt,notImplemented:tc,memoized:tn});const q=BigInt(0),H=BigInt(1),At=BigInt(2),nc=BigInt(3),en=BigInt(4),Mr=BigInt(5),Dr=BigInt(8);function X(t,e){const n=t%e;return n>=q?n:e+n}function Hr(t,e,n){if(e<q)throw new Error(\"invalid exponent, negatives unsupported\");if(n<=q)throw new Error(\"invalid modulus\");if(n===H)return q;let r=H;for(;e>q;)e&H&&(r=r*t%n),t=t*t%n,e>>=H;return r}function it(t,e,n){let r=t;for(;e-- >q;)r*=r,r%=n;return r}function nn(t,e){if(t===q)throw new Error(\"invert: expected non-zero number\");if(e<=q)throw new Error(\"invert: expected positive modulus, got \"+e);let n=X(t,e),r=e,o=q,i=H;for(;n!==q;){const c=r/n,a=r%n,u=o-i*c;r=n,n=a,o=i,i=u}if(r!==H)throw new Error(\"invert: does not exist\");return X(o,e)}function rc(t){const e=(t-H)/At;let n,r,o;for(n=t-H,r=0;n%At===q;n/=At,r++);for(o=At;o<t&&Hr(o,e,t)!==t-H;o++)if(o>1e3)throw new Error(\"Cannot find square root: likely non-prime P\");if(r===1){const s=(t+H)/en;return function(a,u){const l=a.pow(u,s);if(!a.eql(a.sqr(l),u))throw new Error(\"Cannot find square root\");return l}}const i=(n+H)/At;return function(c,a){if(c.pow(a,e)===c.neg(c.ONE))throw new Error(\"Cannot find square root\");let u=r,l=c.pow(c.mul(c.ONE,o),n),f=c.pow(a,i),h=c.pow(a,n);for(;!c.eql(h,c.ONE);){if(c.eql(h,c.ZERO))return c.ZERO;let y=1;for(let p=c.sqr(h);y<u&&!c.eql(p,c.ONE);y++)p=c.sqr(p);const E=c.pow(l,H<<BigInt(u-y-1));l=c.sqr(E),f=c.mul(f,E),h=c.mul(h,l),u=y}return f}}function oc(t){if(t%en===nc){const e=(t+H)/en;return function(r,o){const i=r.pow(o,e);if(!r.eql(r.sqr(i),o))throw new Error(\"Cannot find square root\");return i}}if(t%Dr===Mr){const e=(t-Mr)/Dr;return function(r,o){const i=r.mul(o,At),s=r.pow(i,e),c=r.mul(o,s),a=r.mul(r.mul(c,At),s),u=r.mul(c,r.sub(a,r.ONE));if(!r.eql(r.sqr(u),o))throw new Error(\"Cannot find square root\");return u}}return rc(t)}const ic=[\"create\",\"isValid\",\"is0\",\"neg\",\"inv\",\"sqrt\",\"sqr\",\"eql\",\"add\",\"sub\",\"mul\",\"pow\",\"div\",\"addN\",\"subN\",\"mulN\",\"sqrN\"];function sc(t){const e={ORDER:\"bigint\",MASK:\"bigint\",BYTES:\"isSafeInteger\",BITS:\"isSafeInteger\"},n=ic.reduce((r,o)=>(r[o]=\"function\",r),e);return Dt(t,n)}function cc(t,e,n){if(n<q)throw new Error(\"invalid exponent, negatives unsupported\");if(n===q)return t.ONE;if(n===H)return e;let r=t.ONE,o=e;for(;n>q;)n&H&&(r=t.mul(r,o)),o=t.sqr(o),n>>=H;return r}function ac(t,e){const n=new Array(e.length),r=e.reduce((i,s,c)=>t.is0(s)?i:(n[c]=i,t.mul(i,s)),t.ONE),o=t.inv(r);return e.reduceRight((i,s,c)=>t.is0(s)?i:(n[c]=t.mul(i,n[c]),t.mul(i,s)),o),n}function qr(t,e){const n=e!==void 0?e:t.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function Kr(t,e,n=!1,r={}){if(t<=q)throw new Error(\"invalid field: expected ORDER > 0, got \"+t);const{nBitLength:o,nByteLength:i}=qr(t,e);if(i>2048)throw new Error(\"invalid field: expected ORDER of <= 2048 bytes\");let s;const c=Object.freeze({ORDER:t,isLE:n,BITS:o,BYTES:i,MASK:Je(o),ZERO:q,ONE:H,create:a=>X(a,t),isValid:a=>{if(typeof a!=\"bigint\")throw new Error(\"invalid field element: expected bigint, got \"+typeof a);return q<=a&&a<t},is0:a=>a===q,isOdd:a=>(a&H)===H,neg:a=>X(-a,t),eql:(a,u)=>a===u,sqr:a=>X(a*a,t),add:(a,u)=>X(a+u,t),sub:(a,u)=>X(a-u,t),mul:(a,u)=>X(a*u,t),pow:(a,u)=>cc(c,a,u),div:(a,u)=>X(a*nn(u,t),t),sqrN:a=>a*a,addN:(a,u)=>a+u,subN:(a,u)=>a-u,mulN:(a,u)=>a*u,inv:a=>nn(a,t),sqrt:r.sqrt||(a=>(s||(s=oc(t)),s(c,a))),invertBatch:a=>ac(c,a),cmov:(a,u,l)=>l?u:a,toBytes:a=>n?be(a,i):Mt(a,i),fromBytes:a=>{if(a.length!==i)throw new Error(\"Field.fromBytes: expected \"+i+\" bytes, got \"+a.length);return n?ee(a):Ot(a)}});return Object.freeze(c)}function Fr(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 zr(t){const e=Fr(t);return e+Math.ceil(e/2)}function uc(t,e,n=!1){const r=t.length,o=Fr(e),i=zr(e);if(r<16||r<i||r>1024)throw new Error(\"expected \"+i+\"-1024 bytes of input, got \"+r);const s=n?ee(t):Ot(t),c=X(s,e-H)+H;return n?be(c,o):Mt(c,o)}const Zr=BigInt(0),ve=BigInt(1);function rn(t,e){const n=e.negate();return t?n:e}function Yr(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error(\"invalid window size, expected [1..\"+e+\"], got W=\"+t)}function on(t,e){Yr(t,e);const n=Math.ceil(e/t)+1,r=2**(t-1);return{windows:n,windowSize:r}}function fc(t,e){if(!Array.isArray(t))throw new Error(\"array expected\");t.forEach((n,r)=>{if(!(n instanceof e))throw new Error(\"invalid point at index \"+r)})}function lc(t,e){if(!Array.isArray(t))throw new Error(\"array of scalars expected\");t.forEach((n,r)=>{if(!e.isValid(n))throw new Error(\"invalid scalar at index \"+r)})}const sn=new WeakMap,Gr=new WeakMap;function cn(t){return Gr.get(t)||1}function dc(t,e){return{constTimeNegate:rn,hasPrecomputes(n){return cn(n)!==1},unsafeLadder(n,r,o=t.ZERO){let i=n;for(;r>Zr;)r&ve&&(o=o.add(i)),i=i.double(),r>>=ve;return o},precomputeWindow(n,r){const{windows:o,windowSize:i}=on(r,e),s=[];let c=n,a=c;for(let u=0;u<o;u++){a=c,s.push(a);for(let l=1;l<i;l++)a=a.add(c),s.push(a);c=a.double()}return s},wNAF(n,r,o){const{windows:i,windowSize:s}=on(n,e);let c=t.ZERO,a=t.BASE;const u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<i;h++){const y=h*s;let E=Number(o&u);o>>=f,E>s&&(E-=l,o+=ve);const p=y,d=y+Math.abs(E)-1,v=h%2!==0,m=E<0;E===0?a=a.add(rn(v,r[p])):c=c.add(rn(m,r[d]))}return{p:c,f:a}},wNAFUnsafe(n,r,o,i=t.ZERO){const{windows:s,windowSize:c}=on(n,e),a=BigInt(2**n-1),u=2**n,l=BigInt(n);for(let f=0;f<s;f++){const h=f*c;if(o===Zr)break;let y=Number(o&a);if(o>>=l,y>c&&(y-=u,o+=ve),y===0)continue;let E=r[h+Math.abs(y)-1];y<0&&(E=E.negate()),i=i.add(E)}return i},getPrecomputes(n,r,o){let i=sn.get(r);return i||(i=this.precomputeWindow(r,n),n!==1&&sn.set(r,o(i))),i},wNAFCached(n,r,o){const i=cn(n);return this.wNAF(i,this.getPrecomputes(i,n,o),r)},wNAFCachedUnsafe(n,r,o,i){const s=cn(n);return s===1?this.unsafeLadder(n,r,i):this.wNAFUnsafe(s,this.getPrecomputes(s,n,o),r,i)},setWindowSize(n,r){Yr(r,e),Gr.set(n,r),sn.delete(n)}}}function hc(t,e,n,r){if(fc(n,t),lc(r,e),n.length!==r.length)throw new Error(\"arrays of points and scalars must have equal length\");const o=t.ZERO,i=Pr(BigInt(n.length)),s=i>12?i-3:i>4?i-2:i?2:1,c=(1<<s)-1,a=new Array(c+1).fill(o),u=Math.floor((e.BITS-1)/s)*s;let l=o;for(let f=u;f>=0;f-=s){a.fill(o);for(let y=0;y<r.length;y++){const E=r[y],p=Number(E>>BigInt(f)&BigInt(c));a[p]=a[p].add(n[y])}let h=o;for(let y=a.length-1,E=o;y>0;y--)E=E.add(a[y]),h=h.add(E);if(l=l.add(h),f!==0)for(let y=0;y<s;y++)l=l.double()}return l}function Wr(t){return sc(t.Fp),Dt(t,{n:\"bigint\",h:\"bigint\",Gx:\"field\",Gy:\"field\"},{nBitLength:\"isSafeInteger\",nByteLength:\"isSafeInteger\"}),Object.freeze({...qr(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}BigInt(0),BigInt(1),BigInt(2),BigInt(8);const Ht=BigInt(0),an=BigInt(1);function pc(t){return Dt(t,{a:\"bigint\"},{montgomeryBits:\"isSafeInteger\",nByteLength:\"isSafeInteger\",adjustScalarBytes:\"function\",domain:\"function\",powPminus2:\"function\",Gu:\"bigint\"}),Object.freeze({...t})}function gc(t){const e=pc(t),{P:n}=e,r=m=>X(m,n),o=e.montgomeryBits,i=Math.ceil(o/8),s=e.nByteLength,c=e.adjustScalarBytes||(m=>m),a=e.powPminus2||(m=>Hr(m,n-BigInt(2),n));function u(m,O,N){const $=r(m*(O-N));return O=r(O-$),N=r(N+$),[O,N]}const l=(e.a-BigInt(2))/BigInt(4);function f(m,O){ft(\"u\",m,Ht,n),ft(\"scalar\",O,Ht,n);const N=O,$=m;let B=an,A=Ht,T=m,S=an,L=Ht,U;for(let j=BigInt(o-1);j>=Ht;j--){const g=N>>j&an;L^=g,U=u(L,B,T),B=U[0],T=U[1],U=u(L,A,S),A=U[0],S=U[1],L=g;const w=B+A,b=r(w*w),I=B-A,R=r(I*I),x=b-R,C=T+S,P=T-S,k=r(P*w),M=r(C*I),D=k+M,z=k-M;T=r(D*D),S=r($*r(z*z)),B=r(b*R),A=r(x*(b+r(l*x)))}U=u(L,B,T),B=U[0],T=U[1],U=u(L,A,S),A=U[0],S=U[1];const _=a(A);return r(B*_)}function h(m){return be(r(m),i)}function y(m){const O=et(\"u coordinate\",m,i);return s===32&&(O[31]&=127),ee(O)}function E(m){const O=et(\"scalar\",m),N=O.length;if(N!==i&&N!==s){let $=\"\"+i+\" or \"+s;throw new Error(\"invalid scalar, expected \"+$+\" bytes, got \"+N)}return ee(c(O))}function p(m,O){const N=y(O),$=E(m),B=f(N,$);if(B===Ht)throw new Error(\"invalid private or public key received\");return h(B)}const d=h(e.Gu);function v(m){return p(m,d)}return{scalarMult:p,scalarMultBase:v,getSharedSecret:(m,O)=>p(m,O),getPublicKey:m=>v(m),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:d}}const un=BigInt(\"57896044618658097711785492504343953926634992332820282019728792003956564819949\");BigInt(0);const yc=BigInt(1),Xr=BigInt(2),mc=BigInt(3),wc=BigInt(5);BigInt(8);function bc(t){const e=BigInt(10),n=BigInt(20),r=BigInt(40),o=BigInt(80),i=un,c=t*t%i*t%i,a=it(c,Xr,i)*c%i,u=it(a,yc,i)*t%i,l=it(u,wc,i)*u%i,f=it(l,e,i)*l%i,h=it(f,n,i)*f%i,y=it(h,r,i)*h%i,E=it(y,o,i)*y%i,p=it(E,o,i)*y%i,d=it(p,e,i)*l%i;return{pow_p_5_8:it(d,Xr,i)*t%i,b2:c}}function Ec(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}const fn=gc({P:un,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:t=>{const e=un,{pow_p_5_8:n,b2:r}=bc(t);return X(it(n,mc,e)*r,e)},adjustScalarBytes:Ec,randomBytes:Lt});function Jr(t){t.lowS!==void 0&&Ct(\"lowS\",t.lowS),t.prehash!==void 0&&Ct(\"prehash\",t.prehash)}function vc(t){const e=Wr(t);Dt(e,{a:\"field\",b:\"field\"},{allowedPrivateKeyLengths:\"array\",wrapPrivateKey:\"boolean\",isTorsionFree:\"function\",clearCofactor:\"function\",allowInfinityPoint:\"boolean\",fromBytes:\"function\",toBytes:\"function\"});const{endo:n,Fp:r,a:o}=e;if(n){if(!r.eql(o,r.ZERO))throw new Error(\"invalid endomorphism, can only be defined for Koblitz curves that have a=0\");if(typeof n!=\"object\"||typeof n.beta!=\"bigint\"||typeof n.splitScalar!=\"function\")throw new Error(\"invalid endomorphism, expected beta: bigint and splitScalar: function\")}return Object.freeze({...e})}const{bytesToNumberBE:xc,hexToBytes:Sc}=ec;class Oc extends Error{constructor(e=\"\"){super(e)}}const lt={Err:Oc,_tlv:{encode:(t,e)=>{const{Err:n}=lt;if(t<0||t>256)throw new n(\"tlv.encode: wrong tag\");if(e.length&1)throw new n(\"tlv.encode: unpadded data\");const r=e.length/2,o=kt(r);if(o.length/2&128)throw new n(\"tlv.encode: long form length too big\");const i=r>127?kt(o.length/2|128):\"\";return kt(t)+i+o+e},decode(t,e){const{Err:n}=lt;let r=0;if(t<0||t>256)throw new n(\"tlv.encode: wrong tag\");if(e.length<2||e[r++]!==t)throw new n(\"tlv.decode: wrong tlv\");const o=e[r++],i=!!(o&128);let s=0;if(!i)s=o;else{const a=o&127;if(!a)throw new n(\"tlv.decode(long): indefinite length not supported\");if(a>4)throw new n(\"tlv.decode(long): byte length is too big\");const u=e.subarray(r,r+a);if(u.length!==a)throw new n(\"tlv.decode: length bytes not complete\");if(u[0]===0)throw new n(\"tlv.decode(long): zero leftmost byte\");for(const l of u)s=s<<8|l;if(r+=a,s<128)throw new n(\"tlv.decode(long): not minimal encoding\")}const c=e.subarray(r,r+s);if(c.length!==s)throw new n(\"tlv.decode: wrong value length\");return{v:c,l:e.subarray(r+s)}}},_int:{encode(t){const{Err:e}=lt;if(t<dt)throw new e(\"integer: negative integers are not allowed\");let n=kt(t);if(Number.parseInt(n[0],16)&8&&(n=\"00\"+n),n.length&1)throw new e(\"unexpected DER parsing assertion: unpadded hex\");return n},decode(t){const{Err:e}=lt;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 xc(t)}},toSig(t){const{Err:e,_int:n,_tlv:r}=lt,o=typeof t==\"string\"?Sc(t):t;te(o);const{v:i,l:s}=r.decode(48,o);if(s.length)throw new e(\"invalid signature: left bytes after parsing\");const{v:c,l:a}=r.decode(2,i),{v:u,l}=r.decode(2,a);if(l.length)throw new e(\"invalid signature: left bytes after parsing\");return{r:n.decode(c),s:n.decode(u)}},hexFromSig(t){const{_tlv:e,_int:n}=lt,r=e.encode(2,n.encode(t.r)),o=e.encode(2,n.encode(t.s)),i=r+o;return e.encode(48,i)}},dt=BigInt(0),K=BigInt(1);BigInt(2);const Qr=BigInt(3);BigInt(4);function Ac(t){const e=vc(t),{Fp:n}=e,r=Kr(e.n,e.nBitLength),o=e.toBytes||((p,d,v)=>{const m=d.toAffine();return ne(Uint8Array.from([4]),n.toBytes(m.x),n.toBytes(m.y))}),i=e.fromBytes||(p=>{const d=p.subarray(1),v=n.fromBytes(d.subarray(0,n.BYTES)),m=n.fromBytes(d.subarray(n.BYTES,2*n.BYTES));return{x:v,y:m}});function s(p){const{a:d,b:v}=e,m=n.sqr(p),O=n.mul(m,p);return n.add(n.add(O,n.mul(p,d)),v)}if(!n.eql(n.sqr(e.Gy),s(e.Gx)))throw new Error(\"bad generator point: equation left != right\");function c(p){return Ee(p,K,e.n)}function a(p){const{allowedPrivateKeyLengths:d,nByteLength:v,wrapPrivateKey:m,n:O}=e;if(d&&typeof p!=\"bigint\"){if(St(p)&&(p=Pt(p)),typeof p!=\"string\"||!d.includes(p.length))throw new Error(\"invalid private key\");p=p.padStart(v*2,\"0\")}let N;try{N=typeof p==\"bigint\"?p:Ot(et(\"private key\",p,v))}catch{throw new Error(\"invalid private key, expected hex or \"+v+\" bytes, got \"+typeof p)}return m&&(N=X(N,O)),ft(\"private key\",N,K,O),N}function u(p){if(!(p instanceof h))throw new Error(\"ProjectivePoint expected\")}const l=tn((p,d)=>{const{px:v,py:m,pz:O}=p;if(n.eql(O,n.ONE))return{x:v,y:m};const N=p.is0();d==null&&(d=N?n.ONE:n.inv(O));const $=n.mul(v,d),B=n.mul(m,d),A=n.mul(O,d);if(N)return{x:n.ZERO,y:n.ZERO};if(!n.eql(A,n.ONE))throw new Error(\"invZ was invalid\");return{x:$,y:B}}),f=tn(p=>{if(p.is0()){if(e.allowInfinityPoint&&!n.is0(p.py))return;throw new Error(\"bad point: ZERO\")}const{x:d,y:v}=p.toAffine();if(!n.isValid(d)||!n.isValid(v))throw new Error(\"bad point: x or y not FE\");const m=n.sqr(v),O=s(d);if(!n.eql(m,O))throw new Error(\"bad point: equation left != right\");if(!p.isTorsionFree())throw new Error(\"bad point: not in prime-order subgroup\");return!0});class h{constructor(d,v,m){if(this.px=d,this.py=v,this.pz=m,d==null||!n.isValid(d))throw new Error(\"x required\");if(v==null||!n.isValid(v))throw new Error(\"y required\");if(m==null||!n.isValid(m))throw new Error(\"z required\");Object.freeze(this)}static fromAffine(d){const{x:v,y:m}=d||{};if(!d||!n.isValid(v)||!n.isValid(m))throw new Error(\"invalid affine point\");if(d instanceof h)throw new Error(\"projective point not allowed\");const O=N=>n.eql(N,n.ZERO);return O(v)&&O(m)?h.ZERO:new h(v,m,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){const v=n.invertBatch(d.map(m=>m.pz));return d.map((m,O)=>m.toAffine(v[O])).map(h.fromAffine)}static fromHex(d){const v=h.fromAffine(i(et(\"pointHex\",d)));return v.assertValidity(),v}static fromPrivateKey(d){return h.BASE.multiply(a(d))}static msm(d,v){return hc(h,r,d,v)}_setWindowSize(d){E.setWindowSize(this,d)}assertValidity(){f(this)}hasEvenY(){const{y:d}=this.toAffine();if(n.isOdd)return!n.isOdd(d);throw new Error(\"Field doesn't support isOdd\")}equals(d){u(d);const{px:v,py:m,pz:O}=this,{px:N,py:$,pz:B}=d,A=n.eql(n.mul(v,B),n.mul(N,O)),T=n.eql(n.mul(m,B),n.mul($,O));return A&&T}negate(){return new h(this.px,n.neg(this.py),this.pz)}double(){const{a:d,b:v}=e,m=n.mul(v,Qr),{px:O,py:N,pz:$}=this;let B=n.ZERO,A=n.ZERO,T=n.ZERO,S=n.mul(O,O),L=n.mul(N,N),U=n.mul($,$),_=n.mul(O,N);return _=n.add(_,_),T=n.mul(O,$),T=n.add(T,T),B=n.mul(d,T),A=n.mul(m,U),A=n.add(B,A),B=n.sub(L,A),A=n.add(L,A),A=n.mul(B,A),B=n.mul(_,B),T=n.mul(m,T),U=n.mul(d,U),_=n.sub(S,U),_=n.mul(d,_),_=n.add(_,T),T=n.add(S,S),S=n.add(T,S),S=n.add(S,U),S=n.mul(S,_),A=n.add(A,S),U=n.mul(N,$),U=n.add(U,U),S=n.mul(U,_),B=n.sub(B,S),T=n.mul(U,L),T=n.add(T,T),T=n.add(T,T),new h(B,A,T)}add(d){u(d);const{px:v,py:m,pz:O}=this,{px:N,py:$,pz:B}=d;let A=n.ZERO,T=n.ZERO,S=n.ZERO;const L=e.a,U=n.mul(e.b,Qr);let _=n.mul(v,N),j=n.mul(m,$),g=n.mul(O,B),w=n.add(v,m),b=n.add(N,$);w=n.mul(w,b),b=n.add(_,j),w=n.sub(w,b),b=n.add(v,O);let I=n.add(N,B);return b=n.mul(b,I),I=n.add(_,g),b=n.sub(b,I),I=n.add(m,O),A=n.add($,B),I=n.mul(I,A),A=n.add(j,g),I=n.sub(I,A),S=n.mul(L,b),A=n.mul(U,g),S=n.add(A,S),A=n.sub(j,S),S=n.add(j,S),T=n.mul(A,S),j=n.add(_,_),j=n.add(j,_),g=n.mul(L,g),b=n.mul(U,b),j=n.add(j,g),g=n.sub(_,g),g=n.mul(L,g),b=n.add(b,g),_=n.mul(j,b),T=n.add(T,_),_=n.mul(I,b),A=n.mul(w,A),A=n.sub(A,_),_=n.mul(w,j),S=n.mul(I,S),S=n.add(S,_),new h(A,T,S)}subtract(d){return this.add(d.negate())}is0(){return this.equals(h.ZERO)}wNAF(d){return E.wNAFCached(this,d,h.normalizeZ)}multiplyUnsafe(d){const{endo:v,n:m}=e;ft(\"scalar\",d,dt,m);const O=h.ZERO;if(d===dt)return O;if(this.is0()||d===K)return this;if(!v||E.hasPrecomputes(this))return E.wNAFCachedUnsafe(this,d,h.normalizeZ);let{k1neg:N,k1:$,k2neg:B,k2:A}=v.splitScalar(d),T=O,S=O,L=this;for(;$>dt||A>dt;)$&K&&(T=T.add(L)),A&K&&(S=S.add(L)),L=L.double(),$>>=K,A>>=K;return N&&(T=T.negate()),B&&(S=S.negate()),S=new h(n.mul(S.px,v.beta),S.py,S.pz),T.add(S)}multiply(d){const{endo:v,n:m}=e;ft(\"scalar\",d,K,m);let O,N;if(v){const{k1neg:$,k1:B,k2neg:A,k2:T}=v.splitScalar(d);let{p:S,f:L}=this.wNAF(B),{p:U,f:_}=this.wNAF(T);S=E.constTimeNegate($,S),U=E.constTimeNegate(A,U),U=new h(n.mul(U.px,v.beta),U.py,U.pz),O=S.add(U),N=L.add(_)}else{const{p:$,f:B}=this.wNAF(d);O=$,N=B}return h.normalizeZ([O,N])[0]}multiplyAndAddUnsafe(d,v,m){const O=h.BASE,N=(B,A)=>A===dt||A===K||!B.equals(O)?B.multiplyUnsafe(A):B.multiply(A),$=N(this,v).add(N(d,m));return $.is0()?void 0:$}toAffine(d){return l(this,d)}isTorsionFree(){const{h:d,isTorsionFree:v}=e;if(d===K)return!0;if(v)return v(h,this);throw new Error(\"isTorsionFree() has not been declared for the elliptic curve\")}clearCofactor(){const{h:d,clearCofactor:v}=e;return d===K?this:v?v(h,this):this.multiplyUnsafe(e.h)}toRawBytes(d=!0){return Ct(\"isCompressed\",d),this.assertValidity(),o(h,this,d)}toHex(d=!0){return Ct(\"isCompressed\",d),Pt(this.toRawBytes(d))}}h.BASE=new h(e.Gx,e.Gy,n.ONE),h.ZERO=new h(n.ZERO,n.ONE,n.ZERO);const y=e.nBitLength,E=dc(h,e.endo?Math.ceil(y/2):y);return{CURVE:e,ProjectivePoint:h,normPrivateKeyToScalar:a,weierstrassEquation:s,isWithinCurveOrder:c}}function Bc(t){const e=Wr(t);return Dt(e,{hash:\"hash\",hmac:\"function\",randomBytes:\"function\"},{bits2int:\"function\",bits2int_modN:\"function\",lowS:\"boolean\"}),Object.freeze({lowS:!0,...e})}function Ic(t){const e=Bc(t),{Fp:n,n:r}=e,o=n.BYTES+1,i=2*n.BYTES+1;function s(g){return X(g,r)}function c(g){return nn(g,r)}const{ProjectivePoint:a,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:f}=Ac({...e,toBytes(g,w,b){const I=w.toAffine(),R=n.toBytes(I.x),x=ne;return Ct(\"isCompressed\",b),b?x(Uint8Array.from([w.hasEvenY()?2:3]),R):x(Uint8Array.from([4]),R,n.toBytes(I.y))},fromBytes(g){const w=g.length,b=g[0],I=g.subarray(1);if(w===o&&(b===2||b===3)){const R=Ot(I);if(!Ee(R,K,n.ORDER))throw new Error(\"Point is not on curve\");const x=l(R);let C;try{C=n.sqrt(x)}catch(M){const D=M instanceof Error?\": \"+M.message:\"\";throw new Error(\"Point is not on curve\"+D)}const P=(C&K)===K;return(b&1)===1!==P&&(C=n.neg(C)),{x:R,y:C}}else if(w===i&&b===4){const R=n.fromBytes(I.subarray(0,n.BYTES)),x=n.fromBytes(I.subarray(n.BYTES,2*n.BYTES));return{x:R,y:x}}else{const R=o,x=i;throw new Error(\"invalid Point, expected length of \"+R+\", or uncompressed \"+x+\", got \"+w)}}}),h=g=>Pt(Mt(g,e.nByteLength));function y(g){const w=r>>K;return g>w}function E(g){return y(g)?s(-g):g}const p=(g,w,b)=>Ot(g.slice(w,b));class d{constructor(w,b,I){this.r=w,this.s=b,this.recovery=I,this.assertValidity()}static fromCompact(w){const b=e.nByteLength;return w=et(\"compactSignature\",w,b*2),new d(p(w,0,b),p(w,b,2*b))}static fromDER(w){const{r:b,s:I}=lt.toSig(et(\"DER\",w));return new d(b,I)}assertValidity(){ft(\"r\",this.r,K,r),ft(\"s\",this.s,K,r)}addRecoveryBit(w){return new d(this.r,this.s,w)}recoverPublicKey(w){const{r:b,s:I,recovery:R}=this,x=B(et(\"msgHash\",w));if(R==null||![0,1,2,3].includes(R))throw new Error(\"recovery id invalid\");const C=R===2||R===3?b+e.n:b;if(C>=n.ORDER)throw new Error(\"recovery id 2 or 3 invalid\");const P=(R&1)===0?\"02\":\"03\",k=a.fromHex(P+h(C)),M=c(C),D=s(-x*M),z=s(I*M),Z=a.BASE.multiplyAndAddUnsafe(k,D,z);if(!Z)throw new Error(\"point at infinify\");return Z.assertValidity(),Z}hasHighS(){return y(this.s)}normalizeS(){return this.hasHighS()?new d(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return Vt(this.toDERHex())}toDERHex(){return lt.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Vt(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}const v={isValidPrivateKey(g){try{return u(g),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const g=zr(e.n);return uc(e.randomBytes(g),e.n)},precompute(g=8,w=a.BASE){return w._setWindowSize(g),w.multiply(BigInt(3)),w}};function m(g,w=!0){return a.fromPrivateKey(g).toRawBytes(w)}function O(g){const w=St(g),b=typeof g==\"string\",I=(w||b)&&g.length;return w?I===o||I===i:b?I===2*o||I===2*i:g instanceof a}function N(g,w,b=!0){if(O(g))throw new Error(\"first arg must be private key\");if(!O(w))throw new Error(\"second arg must be public key\");return a.fromHex(w).multiply(u(g)).toRawBytes(b)}const $=e.bits2int||function(g){if(g.length>8192)throw new Error(\"input is too large\");const w=Ot(g),b=g.length*8-e.nBitLength;return b>0?w>>BigInt(b):w},B=e.bits2int_modN||function(g){return s($(g))},A=Je(e.nBitLength);function T(g){return ft(\"num < 2^\"+e.nBitLength,g,dt,A),Mt(g,e.nByteLength)}function S(g,w,b=L){if([\"recovered\",\"canonical\"].some(W=>W in b))throw new Error(\"sign() legacy options not supported\");const{hash:I,randomBytes:R}=e;let{lowS:x,prehash:C,extraEntropy:P}=b;x==null&&(x=!0),g=et(\"msgHash\",g),Jr(b),C&&(g=et(\"prehashed msgHash\",I(g)));const k=B(g),M=u(w),D=[T(M),T(k)];if(P!=null&&P!==!1){const W=P===!0?R(n.BYTES):P;D.push(et(\"extraEntropy\",W))}const z=ne(...D),Z=k;function st(W){const J=$(W);if(!f(J))return;const Be=c(J),zt=a.BASE.multiply(J).toAffine(),vt=s(zt.x);if(vt===dt)return;const Zt=s(Be*s(Z+vt*M));if(Zt===dt)return;let Ut=(zt.x===vt?0:2)|Number(zt.y&K),vn=Zt;return x&&y(Zt)&&(vn=E(Zt),Ut^=1),new d(vt,vn,Ut)}return{seed:z,k2sig:st}}const L={lowS:e.lowS,prehash:!1},U={lowS:e.lowS,prehash:!1};function _(g,w,b=L){const{seed:I,k2sig:R}=S(g,w,b),x=e;return Vr(x.hash.outputLen,x.nByteLength,x.hmac)(I,R)}a.BASE._setWindowSize(8);function j(g,w,b,I=U){const R=g;w=et(\"msgHash\",w),b=et(\"publicKey\",b);const{lowS:x,prehash:C,format:P}=I;if(Jr(I),\"strict\"in I)throw new Error(\"options.strict was renamed to lowS\");if(P!==void 0&&P!==\"compact\"&&P!==\"der\")throw new Error(\"format must be compact or der\");const k=typeof R==\"string\"||St(R),M=!k&&!P&&typeof R==\"object\"&&R!==null&&typeof R.r==\"bigint\"&&typeof R.s==\"bigint\";if(!k&&!M)throw new Error(\"invalid signature, expected Uint8Array, hex string or Signature instance\");let D,z;try{if(M&&(D=new d(R.r,R.s)),k){try{P!==\"compact\"&&(D=d.fromDER(R))}catch(Ut){if(!(Ut instanceof lt.Err))throw Ut}!D&&P!==\"der\"&&(D=d.fromCompact(R))}z=a.fromHex(b)}catch{return!1}if(!D||x&&D.hasHighS())return!1;C&&(w=e.hash(w));const{r:Z,s:st}=D,W=B(w),J=c(st),Be=s(W*J),zt=s(Z*J),vt=a.BASE.multiplyAndAddUnsafe(z,Be,zt)?.toAffine();return vt?s(vt.x)===Z:!1}return{CURVE:e,getPublicKey:m,getSharedSecret:N,sign:_,verify:j,ProjectivePoint:a,Signature:d,utils:v}}function Nc(t){return{hash:t,hmac:(e,...n)=>ye(t,e,Vi(...n)),randomBytes:Lt}}function Uc(t,e){const n=r=>Ic({...t,...Nc(r)});return{...n(e),create:n}}const to=Kr(BigInt(\"0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff\")),Tc=to.create(BigInt(\"-3\")),Rc=BigInt(\"0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b\"),_c=Uc({a:Tc,b:Rc,Fp:to,n:BigInt(\"0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\"),Gx:BigInt(\"0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296\"),Gy:BigInt(\"0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5\"),h:BigInt(1),lowS:!1},Qt),ln=\"base10\",G=\"base16\",qt=\"base64pad\",xe=\"base64url\",Kt=\"utf8\",dn=0,Ft=1,re=2,$c=0,eo=1,oe=12,hn=32;function Lc(){const t=fn.utils.randomPrivateKey(),e=fn.getPublicKey(t);return{privateKey:Q(t,G),publicKey:Q(e,G)}}function jc(){const t=Lt(hn);return Q(t,G)}function Cc(t,e){const n=fn.getSharedSecret(rt(t,G),rt(e,G)),r=Vs(Qt,n,void 0,void 0,hn);return Q(r,G)}function Pc(t){const e=Qt(rt(t,G));return Q(e,G)}function kc(t){const e=Qt(rt(t,Kt));return Q(e,G)}function pn(t){return rt(`${t}`,ln)}function Bt(t){return Number(Q(t,ln))}function no(t){return t.replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=/g,\"\")}function ro(t){const e=t.replace(/-/g,\"+\").replace(/_/g,\"/\"),n=(4-e.length%4)%4;return e+\"=\".repeat(n)}function Vc(t){const e=pn(typeof t.type<\"u\"?t.type:dn);if(Bt(e)===Ft&&typeof t.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");const n=typeof t.senderPublicKey<\"u\"?rt(t.senderPublicKey,G):void 0,r=typeof t.iv<\"u\"?rt(t.iv,G):Lt(oe),o=rt(t.symKey,G),i=$r(o,r).encrypt(rt(t.message,Kt)),s=gn({type:e,sealed:i,iv:r,senderPublicKey:n});return t.encoding===xe?no(s):s}function Mc(t){const e=rt(t.symKey,G),{sealed:n,iv:r}=Se({encoded:t.encoded,encoding:t.encoding}),o=$r(e,r).decrypt(n);if(o===null)throw new Error(\"Failed to decrypt\");return Q(o,Kt)}function Dc(t,e){const n=pn(re),r=Lt(oe),o=rt(t,Kt),i=gn({type:n,sealed:o,iv:r});return e===xe?no(i):i}function Hc(t,e){const{sealed:n}=Se({encoded:t,encoding:e});return Q(n,Kt)}function gn(t){if(Bt(t.type)===re)return Q(Gt([t.type,t.sealed]),qt);if(Bt(t.type)===Ft){if(typeof t.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");return Q(Gt([t.type,t.senderPublicKey,t.iv,t.sealed]),qt)}return Q(Gt([t.type,t.iv,t.sealed]),qt)}function Se(t){const e=(t.encoding||qt)===xe?ro(t.encoded):t.encoded,n=rt(e,qt),r=n.slice($c,eo),o=eo;if(Bt(r)===Ft){const a=o+hn,u=a+oe,l=n.slice(o,a),f=n.slice(a,u),h=n.slice(u);return{type:r,sealed:h,iv:f,senderPublicKey:l}}if(Bt(r)===re){const a=n.slice(o),u=Lt(oe);return{type:r,sealed:a,iv:u}}const i=o+oe,s=n.slice(o,i),c=n.slice(i);return{type:r,sealed:c,iv:s}}function qc(t,e){const n=Se({encoded:t,encoding:e?.encoding});return oo({type:Bt(n.type),senderPublicKey:typeof n.senderPublicKey<\"u\"?Q(n.senderPublicKey,G):void 0,receiverPublicKey:e?.receiverPublicKey})}function oo(t){const e=t?.type||dn;if(e===Ft){if(typeof t?.senderPublicKey>\"u\")throw new Error(\"missing sender public key\");if(typeof t?.receiverPublicKey>\"u\")throw new Error(\"missing receiver public key\")}return{type:e,senderPublicKey:t?.senderPublicKey,receiverPublicKey:t?.receiverPublicKey}}function Kc(t){return t.type===Ft&&typeof t.senderPublicKey==\"string\"&&typeof t.receiverPublicKey==\"string\"}function Fc(t){return t.type===re}function io(t){const e=Buffer.from(t.x,\"base64\"),n=Buffer.from(t.y,\"base64\");return Gt([new Uint8Array([4]),e,n])}function zc(t,e){const[n,r,o]=t.split(\".\"),i=Buffer.from(ro(o),\"base64\");if(i.length!==64)throw new Error(\"Invalid signature length\");const s=i.slice(0,32),c=i.slice(32,64),a=`${n}.${r}`,u=Qt(a),l=io(e);if(!_c.verify(Gt([s,c]),u,l))throw new Error(\"Invalid signature\");return Mo(t).payload}const so=\"irn\";function Zc(t){return t?.relay||{protocol:so}}function Yc(t){const e=Do[t];if(typeof e>\"u\")throw new Error(`Relay Protocol not supported: ${t}`);return e}function co(t,e=\"-\"){const n={},r=\"relay\"+e;return Object.keys(t).forEach(o=>{if(o.startsWith(r)){const i=o.replace(r,\"\"),s=t[o];n[i]=s}}),n}function Gc(t){if(!t.includes(\"wc:\")){const u=je(t);u!=null&&u.includes(\"wc:\")&&(t=u)}t=t.includes(\"wc://\")?t.replace(\"wc://\",\"\"):t,t=t.includes(\"wc:\")?t.replace(\"wc:\",\"\"):t;const e=t.indexOf(\":\"),n=t.indexOf(\"?\")!==-1?t.indexOf(\"?\"):void 0,r=t.substring(0,e),o=t.substring(e+1,n).split(\"@\"),i=typeof n<\"u\"?t.substring(n):\"\",s=new URLSearchParams(i),c={};s.forEach((u,l)=>{c[l]=u});const a=typeof c.methods==\"string\"?c.methods.split(\",\"):void 0;return{protocol:r,topic:ao(o[0]),version:parseInt(o[1],10),symKey:c.symKey,relay:co(c),methods:a,expiryTimestamp:c.expiryTimestamp?parseInt(c.expiryTimestamp,10):void 0}}function ao(t){return t.startsWith(\"//\")?t.substring(2):t}function uo(t,e=\"-\"){const n=\"relay\",r={};return Object.keys(t).forEach(o=>{const i=o,s=n+e+i;t[i]&&(r[s]=t[i])}),r}function Wc(t){const e=new URLSearchParams,n=uo(t.relay);Object.keys(n).sort().forEach(o=>{e.set(o,n[o])}),e.set(\"symKey\",t.symKey),t.expiryTimestamp&&e.set(\"expiryTimestamp\",t.expiryTimestamp.toString()),t.methods&&e.set(\"methods\",t.methods.join(\",\"));const r=e.toString();return`${t.protocol}:${t.topic}@${t.version}?${r}`}function Xc(t,e,n){return`${t}?wc_ev=${n}&topic=${e}`}var Jc=Object.defineProperty,Qc=Object.defineProperties,ta=Object.getOwnPropertyDescriptors,fo=Object.getOwnPropertySymbols,ea=Object.prototype.hasOwnProperty,na=Object.prototype.propertyIsEnumerable,lo=(t,e,n)=>e in t?Jc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ra=(t,e)=>{for(var n in e||(e={}))ea.call(e,n)&&lo(t,n,e[n]);if(fo)for(var n of fo(e))na.call(e,n)&&lo(t,n,e[n]);return t},oa=(t,e)=>Qc(t,ta(e));function It(t){const e=[];return t.forEach(n=>{const[r,o]=n.split(\":\");e.push(`${r}:${o}`)}),e}function ho(t){const e=[];return Object.values(t).forEach(n=>{e.push(...It(n.accounts))}),e}function po(t,e){const n=[];return Object.values(t).forEach(r=>{It(r.accounts).includes(e)&&n.push(...r.methods)}),n}function go(t,e){const n=[];return Object.values(t).forEach(r=>{It(r.accounts).includes(e)&&n.push(...r.events)}),n}function ia(t,e){const n=Bo(t,e);if(n)throw new Error(n.message);const r={};for(const[o,i]of Object.entries(t))r[o]={methods:i.methods,events:i.events,chains:i.accounts.map(s=>`${s.split(\":\")[0]}:${s.split(\":\")[1]}`)};return r}function sa(t){const{proposal:{requiredNamespaces:e,optionalNamespaces:n={}},supportedNamespaces:r}=t,o=ie(e),i=ie(n),s={};Object.keys(r).forEach(u=>{const l=r[u].chains,f=r[u].methods,h=r[u].events,y=r[u].accounts;l.forEach(E=>{if(!y.some(p=>p.includes(E)))throw new Error(`No accounts provided for chain ${E} in namespace ${u}`)}),s[u]={chains:l,methods:f,events:h,accounts:y}});const c=No(e,s,\"approve()\");if(c)throw new Error(c.message);const a={};return!Object.keys(e).length&&!Object.keys(n).length?s:(Object.keys(o).forEach(u=>{const l=r[u].chains.filter(E=>{var p,d;return(d=(p=o[u])==null?void 0:p.chains)==null?void 0:d.includes(E)}),f=r[u].methods.filter(E=>{var p,d;return(d=(p=o[u])==null?void 0:p.methods)==null?void 0:d.includes(E)}),h=r[u].events.filter(E=>{var p,d;return(d=(p=o[u])==null?void 0:p.events)==null?void 0:d.includes(E)}),y=l.map(E=>r[u].accounts.filter(p=>p.includes(`${E}:`))).flat();a[u]={chains:l,methods:f,events:h,accounts:y}}),Object.keys(i).forEach(u=>{var l,f,h,y,E,p;if(!r[u])return;const d=(f=(l=i[u])==null?void 0:l.chains)==null?void 0:f.filter(N=>r[u].chains.includes(N)),v=r[u].methods.filter(N=>{var $,B;return(B=($=i[u])==null?void 0:$.methods)==null?void 0:B.includes(N)}),m=r[u].events.filter(N=>{var $,B;return(B=($=i[u])==null?void 0:$.events)==null?void 0:B.includes(N)}),O=d?.map(N=>r[u].accounts.filter($=>$.includes(`${N}:`))).flat();a[u]={chains:ot((h=a[u])==null?void 0:h.chains,d),methods:ot((y=a[u])==null?void 0:y.methods,v),events:ot((E=a[u])==null?void 0:E.events,m),accounts:ot((p=a[u])==null?void 0:p.accounts,O)}}),a)}function yn(t){return t.includes(\":\")}function yo(t){return yn(t)?t.split(\":\")[0]:t}function ie(t){var e,n,r;const o={};if(!Oe(t))return o;for(const[i,s]of Object.entries(t)){const c=yn(i)?[i]:s.chains,a=s.methods||[],u=s.events||[],l=yo(i);o[l]=oa(ra({},o[l]),{chains:ot(c,(e=o[l])==null?void 0:e.chains),methods:ot(a,(n=o[l])==null?void 0:n.methods),events:ot(u,(r=o[l])==null?void 0:r.events)})}return o}function mo(t){const e={};return t?.forEach(n=>{var r;const[o,i]=n.split(\":\");e[o]||(e[o]={accounts:[],chains:[],events:[],methods:[]}),e[o].accounts.push(n),(r=e[o].chains)==null||r.push(`${o}:${i}`)}),e}function ca(t,e){e=e.map(r=>r.replace(\"did:pkh:\",\"\"));const n=mo(e);for(const[r,o]of Object.entries(n))o.methods?o.methods=ot(o.methods,t):o.methods=t,o.events=[\"chainChanged\",\"accountsChanged\"];return n}function aa(t,e){var n,r,o,i,s,c;const a=ie(t),u=ie(e),l={},f=Object.keys(a).concat(Object.keys(u));for(const h of f)l[h]={chains:ot((n=a[h])==null?void 0:n.chains,(r=u[h])==null?void 0:r.chains),methods:ot((o=a[h])==null?void 0:o.methods,(i=u[h])==null?void 0:i.methods),events:ot((s=a[h])==null?void 0:s.events,(c=u[h])==null?void 0:c.events)};return l}const wo={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}},bo={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 ht(t,e){const{message:n,code:r}=bo[t];return{message:e?`${n} ${e}`:n,code:r}}function Nt(t,e){const{message:n,code:r}=wo[t];return{message:e?`${n} ${e}`:n,code:r}}function se(t,e){return Array.isArray(t)?typeof e<\"u\"&&t.length?t.every(e):!0:!1}function Oe(t){return Object.getPrototypeOf(t)===Object.prototype&&Object.keys(t).length}function Et(t){return typeof t>\"u\"}function nt(t,e){return e&&Et(t)?!0:typeof t==\"string\"&&!!t.trim().length}function Ae(t,e){return e&&Et(t)?!0:typeof t==\"number\"&&!isNaN(t)}function ua(t,e){const{requiredNamespaces:n}=e,r=Object.keys(t.namespaces),o=Object.keys(n);let i=!0;return gt(o,r)?(r.forEach(s=>{const{accounts:c,methods:a,events:u}=t.namespaces[s],l=It(c),f=n[s];(!gt(ue(s,f),l)||!gt(f.methods,a)||!gt(f.events,u))&&(i=!1)}),i):!1}function ce(t){return nt(t,!1)&&t.includes(\":\")?t.split(\":\").length===2:!1}function Eo(t){if(nt(t,!1)&&t.includes(\":\")){const e=t.split(\":\");if(e.length===3){const n=e[0]+\":\"+e[1];return!!e[2]&&ce(n)}}return!1}function fa(t){function e(n){try{return typeof new URL(n)<\"u\"}catch{return!1}}try{if(nt(t,!1)){if(e(t))return!0;const n=je(t);return e(n)}}catch{}return!1}function la(t){var e;return(e=t?.proposer)==null?void 0:e.publicKey}function da(t){return t?.topic}function ha(t,e){let n=null;return nt(t?.publicKey,!1)||(n=ht(\"MISSING_OR_INVALID\",`${e} controller public key should be a string`)),n}function mn(t){let e=!0;return se(t)?t.length&&(e=t.every(n=>nt(n,!1))):e=!1,e}function vo(t,e,n){let r=null;return se(e)&&e.length?e.forEach(o=>{r||ce(o)||(r=Nt(\"UNSUPPORTED_CHAINS\",`${n}, chain ${o} should be a string and conform to \"namespace:chainId\" format`))}):ce(t)||(r=Nt(\"UNSUPPORTED_CHAINS\",`${n}, 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\"] }`)),r}function xo(t,e,n){let r=null;return Object.entries(t).forEach(([o,i])=>{if(r)return;const s=vo(o,ue(o,i),`${e} ${n}`);s&&(r=s)}),r}function So(t,e){let n=null;return se(t)?t.forEach(r=>{n||Eo(r)||(n=Nt(\"UNSUPPORTED_ACCOUNTS\",`${e}, account ${r} should be a string and conform to \"namespace:chainId:address\" format`))}):n=Nt(\"UNSUPPORTED_ACCOUNTS\",`${e}, accounts should be an array of strings conforming to \"namespace:chainId:address\" format`),n}function Oo(t,e){let n=null;return Object.values(t).forEach(r=>{if(n)return;const o=So(r?.accounts,`${e} namespace`);o&&(n=o)}),n}function Ao(t,e){let n=null;return mn(t?.methods)?mn(t?.events)||(n=Nt(\"UNSUPPORTED_EVENTS\",`${e}, events should be an array of strings or empty array for no events`)):n=Nt(\"UNSUPPORTED_METHODS\",`${e}, methods should be an array of strings or empty array for no methods`),n}function wn(t,e){let n=null;return Object.values(t).forEach(r=>{if(n)return;const o=Ao(r,`${e}, namespace`);o&&(n=o)}),n}function pa(t,e,n){let r=null;if(t&&Oe(t)){const o=wn(t,e);o&&(r=o);const i=xo(t,e,n);i&&(r=i)}else r=ht(\"MISSING_OR_INVALID\",`${e}, ${n} should be an object with data`);return r}function Bo(t,e){let n=null;if(t&&Oe(t)){const r=wn(t,e);r&&(n=r);const o=Oo(t,e);o&&(n=o)}else n=ht(\"MISSING_OR_INVALID\",`${e}, namespaces should be an object with data`);return n}function Io(t){return nt(t.protocol,!0)}function ga(t,e){let n=!1;return e&&!t?n=!0:t&&se(t)&&t.length&&t.forEach(r=>{n=Io(r)}),n}function ya(t){return typeof t==\"number\"}function ma(t){return typeof t<\"u\"&&typeof t!==null}function wa(t){return!(!t||typeof t!=\"object\"||!t.code||!Ae(t.code,!1)||!t.message||!nt(t.message,!1))}function ba(t){return!(Et(t)||!nt(t.method,!1))}function Ea(t){return!(Et(t)||Et(t.result)&&Et(t.error)||!Ae(t.id,!1)||!nt(t.jsonrpc,!1))}function va(t){return!(Et(t)||!nt(t.name,!1))}function xa(t,e){return!(!ce(e)||!ho(t).includes(e))}function Sa(t,e,n){return nt(n,!1)?po(t,e).includes(n):!1}function Oa(t,e,n){return nt(n,!1)?go(t,e).includes(n):!1}function No(t,e,n){let r=null;const o=Aa(t),i=Ba(e),s=Object.keys(o),c=Object.keys(i),a=Uo(Object.keys(t)),u=Uo(Object.keys(e)),l=a.filter(f=>!u.includes(f));return l.length&&(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces keys don't satisfy requiredNamespaces.\n Required: ${l.toString()}\n Received: ${Object.keys(e).toString()}`)),gt(s,c)||(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces chains don't satisfy required namespaces.\n Required: ${s.toString()}\n Approved: ${c.toString()}`)),Object.keys(e).forEach(f=>{if(!f.includes(\":\")||r)return;const h=It(e[f].accounts);h.includes(f)||(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces accounts don't satisfy namespace accounts for ${f}\n Required: ${f}\n Approved: ${h.toString()}`))}),s.forEach(f=>{r||(gt(o[f].methods,i[f].methods)?gt(o[f].events,i[f].events)||(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces events don't satisfy namespace events for ${f}`)):r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces methods don't satisfy namespace methods for ${f}`))}),r}function Aa(t){const e={};return Object.keys(t).forEach(n=>{var r;n.includes(\":\")?e[n]=t[n]:(r=t[n].chains)==null||r.forEach(o=>{e[o]={methods:t[n].methods,events:t[n].events}})}),e}function Uo(t){return[...new Set(t.map(e=>e.includes(\":\")?e.split(\":\")[0]:e))]}function Ba(t){const e={};return Object.keys(t).forEach(n=>{if(n.includes(\":\"))e[n]=t[n];else{const r=It(t[n].accounts);r?.forEach(o=>{e[o]={accounts:t[n].accounts.filter(i=>i.includes(`${o}:`)),methods:t[n].methods,events:t[n].events}})}}),e}function Ia(t,e){return Ae(t,!1)&&t<=e.max&&t>=e.min}function Na(){const t=xt();return new Promise(e=>{switch(t){case Y.browser:e(To());break;case Y.reactNative:e(Ro());break;case Y.node:e(_o());break;default:e(!0)}})}function To(){return Tt()&&navigator?.onLine}async function Ro(){if(pt()&&typeof global<\"u\"&&global!=null&&global.NetInfo){const t=await(global==null?void 0:global.NetInfo.fetch());return t?.isConnected}return!0}function _o(){return!0}function Ua(t){switch(xt()){case Y.browser:$o(t);break;case Y.reactNative:Lo(t);break;case Y.node:break}}function $o(t){!pt()&&Tt()&&(window.addEventListener(\"online\",()=>t(!0)),window.addEventListener(\"offline\",()=>t(!1)))}function Lo(t){pt()&&typeof global<\"u\"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(e=>t(e?.isConnected))}function Ta(){var t;return Tt()&&Yt()?((t=Yt())==null?void 0:t.visibilityState)===\"visible\":!0}const bn={};class Ra{static get(e){return bn[e]}static set(e,n){bn[e]=n}static delete(e){delete bn[e]}}export{ln as BASE10,G as BASE16,qt as BASE64,xe as BASE64URL,Qo as COLON,Re as DEFAULT_DEPTH,fe as EMPTY_SPACE,Y as ENV_MAP,bo as INTERNAL_ERRORS,Ra as MemoryStore,ti as ONE_THOUSAND,$n as REACT_NATIVE_PRODUCT,so as RELAYER_DEFAULT_PROTOCOL,wo as SDK_ERRORS,jn as SDK_TYPE,Ln as SLASH,dn as TYPE_0,Ft as TYPE_1,re as TYPE_2,Kt as UTF8,Er as addResourceToRecap,Cn as appendToQueryString,ai as assertType,He as assignAbilityToActions,wr as base64Decode,mr as base64Encode,sa as buildApprovedNamespaces,ss as buildAuthObject,ca as buildNamespacesFromAuth,xr as buildRecapStatement,Ei as calcExpiry,pi as capitalize,qn as capitalizeWord,gi as createDelayedPromise,fs as createEncodedRecap,yi as createExpiringPromise,br as createRecap,yt as decodeRecap,Bt as decodeTypeByte,Hc as decodeTypeTwoEnvelope,Mc as decrypt,Cc as deriveSymKey,Se as deserialize,he as encodeRecap,pn as encodeTypeByte,Dc as encodeTypeTwoEnvelope,Vc as encrypt,xi as engineEvent,hi as enumify,Ji as extractSolanaTransactionId,Bn as formatAccountId,Ho as formatAccountWithChain,An as formatChainId,Kn as formatDeeplinkUrl,$e as formatExpirerTarget,wi as formatIdTarget,hr as formatMessage,ui as formatMessageContext,uo as formatRelayParams,si as formatRelayRpcUrl,Ke as formatStatementFromRecap,mi as formatTopicTarget,Mn as formatUA,Wc as formatUri,je as fromBase64,Lc as generateKeyPair,jc as generateRandomBytes32,It as getAccountsChains,Ko as getAccountsFromNamespaces,In as getAddressFromAccount,qo as getAddressesFromAccounts,ri as getAppId,Pn as getAppMetadata,To as getBrowserOnlineStatus,Nn as getChainFromAccount,Un as getChainsFromAccounts,ue as getChainsFromNamespace,Fo as getChainsFromNamespaces,hs as getChainsFromRecap,zo as getChainsFromRequiredNamespaces,Le as getCommonValuesInArrays,io as getCryptoKeyFromKeyData,pr as getDecodedRecapFromResources,Oi as getDeepLink,De as getDidAddress,de as getDidAddressSegments,lr as getDidChainId,xt as getEnvironment,ci as getHttpUrl,ht as getInternalError,Vn as getJavascriptID,kn as getJavascriptOS,Hn as getLastItems,Xc as getLinkModeURL,ds as getMethodsFromRecap,dr as getNamespacedDidChainId,ho as getNamespacesChains,go as getNamespacesEventsForChainId,mo as getNamespacesFromAccounts,po as getNamespacesMethodsForChainId,_o as getNodeOnlineStatus,yr as getReCapActions,Ro as getReactNativeOnlineStatus,us as getRecapAbilitiesFromResource,pe as getRecapFromResources,gr as getRecapResource,ii as getRelayClientMetadata,Yc as getRelayProtocolApi,Zc as getRelayProtocolName,ia as getRequiredNamespacesFromNamespaces,Nt as getSdkError,Ai as getSearchParamFromURL,Te as getUniqueValues,Si as handleDeeplinkRedirect,gt as hasOverlap,Ve as hashEthereumMessage,Pc as hashKey,kc as hashMessage,ei as isAndroid,Ta as isAppVisible,Tt as isBrowser,yn as isCaipNamespace,No as isConformingNamespaces,vi as isExpired,Zn as isIframe,ni as isIos,_e as isNode,Na as isOnline,la as isProposalStruct,pt as isReactNative,qe as isRecap,ua as isSessionCompatible,da as isSessionStruct,zn as isTelegram,Ii as isTestRun,Kc as isTypeOneEnvelope,Fc as isTypeTwoEnvelope,Et as isUndefined,Eo as isValidAccountId,So as isValidAccounts,Ao as isValidActions,se as isValidArray,ce as isValidChainId,vo as isValidChains,ha as isValidController,cr as isValidEip1271Signature,sr as isValidEip191Signature,wa as isValidErrorReason,va as isValidEvent,ya as isValidId,Oo as isValidNamespaceAccounts,wn as isValidNamespaceActions,xo as isValidNamespaceChains,mn as isValidNamespaceMethodsOrEvents,Bo as isValidNamespaces,xa as isValidNamespacesChainId,Oa as isValidNamespacesEvent,Sa as isValidNamespacesRequest,Ae as isValidNumber,Oe as isValidObject,ma as isValidParams,at as isValidRecap,Io as isValidRelay,ga as isValidRelays,ba as isValidRequest,Ia as isValidRequestExpiry,pa as isValidRequiredNamespaces,Ea as isValidResponse,nt as isValidString,fa as isValidUrl,di as mapEntries,fi as mapToObj,ot as mergeArrays,ls as mergeEncodedRecaps,vr as mergeRecaps,aa as mergeRequiredAndOptionalNamespaces,ie as normalizeNamespaces,li as objToMap,Fn as openDeeplink,Ue as parseAccountId,Ne as parseChainId,Dn as parseContextNames,bi as parseExpirerTarget,yo as parseNamespaceKey,co as parseRelayParams,ao as parseTopic,Gc as parseUri,oi as populateAppMetadata,cs as populateAuthPayload,as as recapHasResource,gn as serialize,Ni as sleep,$o as subscribeToBrowserNetworkChange,Ua as subscribeToNetworkChange,Lo as subscribeToReactNativeNetworkChange,Yn as toBase64,Bi as uuidv4,qc as validateDecoding,oo as validateEncoding,is as validateSignedCacao,zc as verifyP256Jwt,ir as verifySignature};\n//# sourceMappingURL=index.es.js.map\n","'use strict'\nfunction tryStringify (o) {\n try { return JSON.stringify(o) } catch(e) { return '\"[Circular]\"' }\n}\n\nmodule.exports = format\n\nfunction format(f, args, opts) {\n var ss = (opts && opts.stringify) || tryStringify\n var offset = 1\n if (typeof f === 'object' && f !== null) {\n var len = args.length + offset\n if (len === 1) return f\n var objects = new Array(len)\n objects[0] = ss(f)\n for (var index = 1; index < len; index++) {\n objects[index] = ss(args[index])\n }\n return objects.join(' ')\n }\n if (typeof f !== 'string') {\n return f\n }\n var argLen = args.length\n if (argLen === 0) return f\n var str = ''\n var a = 1 - offset\n var lastPos = -1\n var flen = (f && f.length) || 0\n for (var i = 0; i < flen;) {\n if (f.charCodeAt(i) === 37 && i + 1 < flen) {\n lastPos = lastPos > -1 ? lastPos : 0\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n case 102: // 'f'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Number(args[a])\n lastPos = i + 2\n i++\n break\n case 105: // 'i'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Math.floor(Number(args[a]))\n lastPos = i + 2\n i++\n break\n case 79: // 'O'\n case 111: // 'o'\n case 106: // 'j'\n if (a >= argLen)\n break\n if (args[a] === undefined) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n var type = typeof args[a]\n if (type === 'string') {\n str += '\\'' + args[a] + '\\''\n lastPos = i + 2\n i++\n break\n }\n if (type === 'function') {\n str += args[a].name || '<anonymous>'\n lastPos = i + 2\n i++\n break\n }\n str += ss(args[a])\n lastPos = i + 2\n i++\n break\n case 115: // 's'\n if (a >= argLen)\n break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += String(args[a])\n lastPos = i + 2\n i++\n break\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += '%'\n lastPos = i + 2\n i++\n a--\n break\n }\n ++a\n }\n ++i\n }\n if (lastPos === -1)\n return f\n else if (lastPos < flen) {\n str += f.slice(lastPos)\n }\n\n return str\n}\n","'use strict'\n\nconst format = require('quick-format-unescaped')\n\nmodule.exports = pino\n\nconst _console = pfGlobalThisOrFallback().console || {}\nconst stdSerializers = {\n mapHttpRequest: mock,\n mapHttpResponse: mock,\n wrapRequestSerializer: passthrough,\n wrapResponseSerializer: passthrough,\n wrapErrorSerializer: passthrough,\n req: mock,\n res: mock,\n err: asErrValue\n}\n\nfunction shouldSerialize (serialize, serializers) {\n if (Array.isArray(serialize)) {\n const hasToFilter = serialize.filter(function (k) {\n return k !== '!stdSerializers.err'\n })\n return hasToFilter\n } else if (serialize === true) {\n return Object.keys(serializers)\n }\n\n return false\n}\n\nfunction pino (opts) {\n opts = opts || {}\n opts.browser = opts.browser || {}\n\n const transmit = opts.browser.transmit\n if (transmit && typeof transmit.send !== 'function') { throw Error('pino: transmit option must have a send function') }\n\n const proto = opts.browser.write || _console\n if (opts.browser.write) opts.browser.asObject = true\n const serializers = opts.serializers || {}\n const serialize = shouldSerialize(opts.browser.serialize, serializers)\n let stdErrSerialize = opts.browser.serialize\n\n if (\n Array.isArray(opts.browser.serialize) &&\n opts.browser.serialize.indexOf('!stdSerializers.err') > -1\n ) stdErrSerialize = false\n\n const levels = ['error', 'fatal', 'warn', 'info', 'debug', 'trace']\n\n if (typeof proto === 'function') {\n proto.error = proto.fatal = proto.warn =\n proto.info = proto.debug = proto.trace = proto\n }\n if (opts.enabled === false) opts.level = 'silent'\n const level = opts.level || 'info'\n const logger = Object.create(proto)\n if (!logger.log) logger.log = noop\n\n Object.defineProperty(logger, 'levelVal', {\n get: getLevelVal\n })\n Object.defineProperty(logger, 'level', {\n get: getLevel,\n set: setLevel\n })\n\n const setOpts = {\n transmit,\n serialize,\n asObject: opts.browser.asObject,\n levels,\n timestamp: getTimeFunction(opts)\n }\n logger.levels = pino.levels\n logger.level = level\n\n logger.setMaxListeners = logger.getMaxListeners =\n logger.emit = logger.addListener = logger.on =\n logger.prependListener = logger.once =\n logger.prependOnceListener = logger.removeListener =\n logger.removeAllListeners = logger.listeners =\n logger.listenerCount = logger.eventNames =\n logger.write = logger.flush = noop\n logger.serializers = serializers\n logger._serialize = serialize\n logger._stdErrSerialize = stdErrSerialize\n logger.child = child\n\n if (transmit) logger._logEvent = createLogEventShape()\n\n function getLevelVal () {\n return this.level === 'silent'\n ? Infinity\n : this.levels.values[this.level]\n }\n\n function getLevel () {\n return this._level\n }\n function setLevel (level) {\n if (level !== 'silent' && !this.levels.values[level]) {\n throw Error('unknown level ' + level)\n }\n this._level = level\n\n set(setOpts, logger, 'error', 'log') // <-- must stay first\n set(setOpts, logger, 'fatal', 'error')\n set(setOpts, logger, 'warn', 'error')\n set(setOpts, logger, 'info', 'log')\n set(setOpts, logger, 'debug', 'log')\n set(setOpts, logger, 'trace', 'log')\n }\n\n function child (bindings, childOptions) {\n if (!bindings) {\n throw new Error('missing bindings for child Pino')\n }\n childOptions = childOptions || {}\n if (serialize && bindings.serializers) {\n childOptions.serializers = bindings.serializers\n }\n const childOptionsSerializers = childOptions.serializers\n if (serialize && childOptionsSerializers) {\n var childSerializers = Object.assign({}, serializers, childOptionsSerializers)\n var childSerialize = opts.browser.serialize === true\n ? Object.keys(childSerializers)\n : serialize\n delete bindings.serializers\n applySerializers([bindings], childSerialize, childSerializers, this._stdErrSerialize)\n }\n function Child (parent) {\n this._childLevel = (parent._childLevel | 0) + 1\n this.error = bind(parent, bindings, 'error')\n this.fatal = bind(parent, bindings, 'fatal')\n this.warn = bind(parent, bindings, 'warn')\n this.info = bind(parent, bindings, 'info')\n this.debug = bind(parent, bindings, 'debug')\n this.trace = bind(parent, bindings, 'trace')\n if (childSerializers) {\n this.serializers = childSerializers\n this._serialize = childSerialize\n }\n if (transmit) {\n this._logEvent = createLogEventShape(\n [].concat(parent._logEvent.bindings, bindings)\n )\n }\n }\n Child.prototype = this\n return new Child(this)\n }\n return logger\n}\n\npino.levels = {\n values: {\n fatal: 60,\n error: 50,\n warn: 40,\n info: 30,\n debug: 20,\n trace: 10\n },\n labels: {\n 10: 'trace',\n 20: 'debug',\n 30: 'info',\n 40: 'warn',\n 50: 'error',\n 60: 'fatal'\n }\n}\n\npino.stdSerializers = stdSerializers\npino.stdTimeFunctions = Object.assign({}, { nullTime, epochTime, unixTime, isoTime })\n\nfunction set (opts, logger, level, fallback) {\n const proto = Object.getPrototypeOf(logger)\n logger[level] = logger.levelVal > logger.levels.values[level]\n ? noop\n : (proto[level] ? proto[level] : (_console[level] || _console[fallback] || noop))\n\n wrap(opts, logger, level)\n}\n\nfunction wrap (opts, logger, level) {\n if (!opts.transmit && logger[level] === noop) return\n\n logger[level] = (function (write) {\n return function LOG () {\n const ts = opts.timestamp()\n const args = new Array(arguments.length)\n const proto = (Object.getPrototypeOf && Object.getPrototypeOf(this) === _console) ? _console : this\n for (var i = 0; i < args.length; i++) args[i] = arguments[i]\n\n if (opts.serialize && !opts.asObject) {\n applySerializers(args, this._serialize, this.serializers, this._stdErrSerialize)\n }\n if (opts.asObject) write.call(proto, asObject(this, level, args, ts))\n else write.apply(proto, args)\n\n if (opts.transmit) {\n const transmitLevel = opts.transmit.level || logger.level\n const transmitValue = pino.levels.values[transmitLevel]\n const methodValue = pino.levels.values[level]\n if (methodValue < transmitValue) return\n transmit(this, {\n ts,\n methodLevel: level,\n methodValue,\n transmitLevel,\n transmitValue: pino.levels.values[opts.transmit.level || logger.level],\n send: opts.transmit.send,\n val: logger.levelVal\n }, args)\n }\n }\n })(logger[level])\n}\n\nfunction asObject (logger, level, args, ts) {\n if (logger._serialize) applySerializers(args, logger._serialize, logger.serializers, logger._stdErrSerialize)\n const argsCloned = args.slice()\n let msg = argsCloned[0]\n const o = {}\n if (ts) {\n o.time = ts\n }\n o.level = pino.levels.values[level]\n let lvl = (logger._childLevel | 0) + 1\n if (lvl < 1) lvl = 1\n // deliberate, catching objects, arrays\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(o, argsCloned.shift())\n }\n msg = argsCloned.length ? format(argsCloned.shift(), argsCloned) : undefined\n } else if (typeof msg === 'string') msg = format(argsCloned.shift(), argsCloned)\n if (msg !== undefined) o.msg = msg\n return o\n}\n\nfunction applySerializers (args, serialize, serializers, stdErrSerialize) {\n for (const i in args) {\n if (stdErrSerialize && args[i] instanceof Error) {\n args[i] = pino.stdSerializers.err(args[i])\n } else if (typeof args[i] === 'object' && !Array.isArray(args[i])) {\n for (const k in args[i]) {\n if (serialize && serialize.indexOf(k) > -1 && k in serializers) {\n args[i][k] = serializers[k](args[i][k])\n }\n }\n }\n }\n}\n\nfunction bind (parent, bindings, level) {\n return function () {\n const args = new Array(1 + arguments.length)\n args[0] = bindings\n for (var i = 1; i < args.length; i++) {\n args[i] = arguments[i - 1]\n }\n return parent[level].apply(this, args)\n }\n}\n\nfunction transmit (logger, opts, args) {\n const send = opts.send\n const ts = opts.ts\n const methodLevel = opts.methodLevel\n const methodValue = opts.methodValue\n const val = opts.val\n const bindings = logger._logEvent.bindings\n\n applySerializers(\n args,\n logger._serialize || Object.keys(logger.serializers),\n logger.serializers,\n logger._stdErrSerialize === undefined ? true : logger._stdErrSerialize\n )\n logger._logEvent.ts = ts\n logger._logEvent.messages = args.filter(function (arg) {\n // bindings can only be objects, so reference equality check via indexOf is fine\n return bindings.indexOf(arg) === -1\n })\n\n logger._logEvent.level.label = methodLevel\n logger._logEvent.level.value = methodValue\n\n send(methodLevel, logger._logEvent, val)\n\n logger._logEvent = createLogEventShape(bindings)\n}\n\nfunction createLogEventShape (bindings) {\n return {\n ts: 0,\n messages: [],\n bindings: bindings || [],\n level: { label: '', value: 0 }\n }\n}\n\nfunction asErrValue (err) {\n const obj = {\n type: err.constructor.name,\n msg: err.message,\n stack: err.stack\n }\n for (const key in err) {\n if (obj[key] === undefined) {\n obj[key] = err[key]\n }\n }\n return obj\n}\n\nfunction getTimeFunction (opts) {\n if (typeof opts.timestamp === 'function') {\n return opts.timestamp\n }\n if (opts.timestamp === false) {\n return nullTime\n }\n return epochTime\n}\n\nfunction mock () { return {} }\nfunction passthrough (a) { return a }\nfunction noop () {}\n\nfunction nullTime () { return false }\nfunction epochTime () { return Date.now() }\nfunction unixTime () { return Math.round(Date.now() / 1000.0) }\nfunction isoTime () { return new Date(Date.now()).toISOString() } // using Date.now() for testability\n\n/* eslint-disable */\n/* istanbul ignore next */\nfunction pfGlobalThisOrFallback () {\n function defd (o) { return typeof o !== 'undefined' && o }\n try {\n if (typeof globalThis !== 'undefined') return globalThis\n Object.defineProperty(Object.prototype, 'globalThis', {\n get: function () {\n delete Object.prototype.globalThis\n return (this.globalThis = this)\n },\n configurable: true\n })\n return globalThis\n } catch (e) {\n return defd(self) || defd(window) || defd(this) || {}\n }\n}\n/* eslint-enable */\n","import h,{levels as s}from\"pino\";import{default as U}from\"pino\";import{safeJsonStringify as u}from\"@walletconnect/safe-json\";const c={level:\"info\"},n=\"custom_context\",l=1e3*1024;class O{constructor(e){this.nodeValue=e,this.sizeInBytes=new TextEncoder().encode(this.nodeValue).length,this.next=null}get value(){return this.nodeValue}get size(){return this.sizeInBytes}}class d{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const t=new O(e);if(t.size>this.maxSizeInBytes)throw new Error(`[LinkedList] Value too big to insert into list: ${e} with size ${t.size}`);for(;this.size+t.size>this.maxSizeInBytes;)this.shift();this.head?(this.tail&&(this.tail.next=t),this.tail=t):(this.head=t,this.tail=t),this.lengthInNodes++,this.sizeInBytes+=t.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 t=this.head;for(;t!==null;)e.push(t.value),t=t.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 t=e.value;return e=e.next,{done:!1,value:t}}}}}class L{constructor(e,t=l){this.level=e??\"error\",this.levelValue=s.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new d(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===s.values.error?console.error(e):t===s.values.warn?console.warn(e):t===s.values.debug?console.debug(e):t===s.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(u({timestamp:new Date().toISOString(),log:e}));const t=typeof e==\"string\"?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new d(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const t=this.getLogArray();return t.push(u({extraMetadata:e})),new Blob(t,{type:\"application/json\"})}}class m{constructor(e,t=l){this.baseChunkLogger=new L(e,t)}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 t=URL.createObjectURL(this.logsToBlob(e)),o=document.createElement(\"a\");o.href=t,o.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(t)}}class B{constructor(e,t=l){this.baseChunkLogger=new L(e,t)}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 x=Object.defineProperty,S=Object.defineProperties,_=Object.getOwnPropertyDescriptors,p=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,f=(r,e,t)=>e in r?x(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,i=(r,e)=>{for(var t in e||(e={}))T.call(e,t)&&f(r,t,e[t]);if(p)for(var t of p(e))z.call(e,t)&&f(r,t,e[t]);return r},g=(r,e)=>S(r,_(e));function k(r){return g(i({},r),{level:r?.level||c.level})}function v(r,e=n){return r[e]||\"\"}function b(r,e,t=n){return r[t]=e,r}function y(r,e=n){let t=\"\";return typeof r.bindings>\"u\"?t=v(r,e):t=r.bindings().context||\"\",t}function w(r,e,t=n){const o=y(r,t);return o.trim()?`${o}/${e}`:e}function E(r,e,t=n){const o=w(r,e,t),a=r.child({context:o});return b(a,o,t)}function C(r){var e,t;const o=new m((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:h(g(i({},r.opts),{level:\"trace\",browser:g(i({},(t=r.opts)==null?void 0:t.browser),{write:a=>o.write(a)})})),chunkLoggerController:o}}function I(r){var e;const t=new B((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:h(g(i({},r.opts),{level:\"trace\"}),t),chunkLoggerController:t}}function A(r){return typeof r.loggerOverride<\"u\"&&typeof r.loggerOverride!=\"string\"?{logger:r.loggerOverride,chunkLoggerController:null}:typeof window<\"u\"?C(r):I(r)}export{l as MAX_LOG_SIZE_IN_BYTES_DEFAULT,n as PINO_CUSTOM_CONTEXT_KEY,c as PINO_LOGGER_DEFAULTS,w as formatChildLoggerContext,E as generateChildLogger,C as generateClientLogger,A as generatePlatformLogger,I as generateServerLogger,v as getBrowserLoggerContext,k as getDefaultLoggerOptions,y as getLoggerContext,U as pino,b as setBrowserLoggerContext};\n//# sourceMappingURL=index.es.js.map\n","import{IEvents as o}from\"@walletconnect/events\";import n,{EventEmitter as l}from\"events\";var a=Object.defineProperty,u=(e,s,r)=>s in e?a(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,c=(e,s,r)=>u(e,typeof s!=\"symbol\"?s+\"\":s,r);class h extends o{constructor(s){super(),this.opts=s,c(this,\"protocol\",\"wc\"),c(this,\"version\",2)}}class g{constructor(s,r,t){this.core=s,this.logger=r}}var p=Object.defineProperty,b=(e,s,r)=>s in e?p(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,v=(e,s,r)=>b(e,typeof s!=\"symbol\"?s+\"\":s,r);class I extends o{constructor(s,r){super(),this.core=s,this.logger=r,v(this,\"records\",new Map)}}class y{constructor(s,r){this.logger=s,this.core=r}}class m extends o{constructor(s,r){super(),this.relayer=s,this.logger=r}}class d extends o{constructor(s){super()}}class f{constructor(s,r,t,q){this.core=s,this.logger=r,this.name=t}}var E=Object.defineProperty,x=(e,s,r)=>s in e?E(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,w=(e,s,r)=>x(e,typeof s!=\"symbol\"?s+\"\":s,r);class C{constructor(){w(this,\"map\",new Map)}}class P extends o{constructor(s,r){super(),this.relayer=s,this.logger=r}}class j{constructor(s,r){this.core=s,this.logger=r}}class S extends o{constructor(s,r){super(),this.core=s,this.logger=r}}class ${constructor(s,r){this.logger=s,this.core=r}}class M{constructor(s,r,t){this.core=s,this.logger=r,this.store=t}}class O{constructor(s,r){this.projectId=s,this.logger=r}}class R{constructor(s,r,t){this.core=s,this.logger=r,this.telemetryEnabled=t}}var T=Object.defineProperty,k=(e,s,r)=>s in e?T(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,i=(e,s,r)=>k(e,typeof s!=\"symbol\"?s+\"\":s,r);class H extends n{constructor(){super()}}class J{constructor(s){this.opts=s,i(this,\"protocol\",\"wc\"),i(this,\"version\",2)}}class K extends l{constructor(){super()}}class V{constructor(s){this.client=s}}export{h as ICore,g as ICrypto,O as IEchoClient,V as IEngine,K as IEngineEvents,R as IEventClient,S as IExpirer,I as IJsonRpcHistory,j as IKeyChain,y as IMessageTracker,$ as IPairing,m as IPublisher,d as IRelayer,J as ISignClient,H as ISignClientEvents,f as IStore,P as ISubscriber,C as ISubscriberTopicMap,M as IVerify};\n//# sourceMappingURL=index.es.js.map\n","import Gi,{EventEmitter as ee}from\"events\";import{HEARTBEAT_EVENTS as te,HeartBeat as Wi}from\"@walletconnect/heartbeat\";import Hi from\"@walletconnect/keyvaluestorage\";import{generateChildLogger as N,getLoggerContext as U,pino as Yi,getDefaultLoggerOptions as et,generatePlatformLogger as Ji}from\"@walletconnect/logger\";import{IMessageTracker as Xi,IPublisher as Zi,ISubscriber as Qi,IRelayer as es,IStore as ts,IJsonRpcHistory as is,IExpirer as ss,IVerify as rs,IEchoClient as ns,IEventClient as os,ICore as as}from\"@walletconnect/types\";import{ONE_DAY as ie,SIX_HOURS as cs,THIRTY_DAYS as Ce,FIVE_SECONDS as Pe,THIRTY_SECONDS as Se,toMiliseconds as R,ONE_MINUTE as tt,ONE_SECOND as Z,FIVE_MINUTES as fe,fromMiliseconds as it}from\"@walletconnect/time\";import{safeJsonStringify as hs,safeJsonParse as st}from\"@walletconnect/safe-json\";import*as De from\"@walletconnect/relay-auth\";import{decodeJWT as rt}from\"@walletconnect/relay-auth\";import{mapToObj as Oe,objToMap as Re,getInternalError as m,generateRandomBytes32 as Ae,generateKeyPair as ls,deriveSymKey as us,hashKey as ds,validateEncoding as gs,isTypeTwoEnvelope as nt,encodeTypeTwoEnvelope as ps,isTypeOneEnvelope as ot,encrypt as ys,validateDecoding as bs,decodeTypeTwoEnvelope as ms,decrypt as fs,deserialize as at,decodeTypeByte as Ds,BASE64 as ct,BASE16 as vs,hashMessage as ve,getRelayProtocolApi as oe,getRelayProtocolName as we,isUndefined as xe,createExpiringPromise as X,getSdkError as ae,sleep as ws,isAndroid as _s,getAppId as ht,isIos as Es,isOnline as lt,calcExpiry as ce,isNode as ut,formatRelayRpcUrl as Is,subscribeToNetworkChange as Ts,isAppVisible as Cs,isProposalStruct as Ps,isSessionStruct as Ss,parseExpirerTarget as Os,TYPE_1 as Rs,formatUri as dt,parseUri as gt,createDelayedPromise as As,engineEvent as Ne,isExpired as pt,isValidParams as $e,isValidUrl as xs,isValidString as Ns,formatTopicTarget as $s,formatIdTarget as zs,isTestRun as yt,isBrowser as Ls,verifyP256Jwt as ks,uuidv4 as bt,formatUA as js,getAppMetadata as Us}from\"@walletconnect/utils\";import{toString as Fs}from\"uint8arrays\";import{JsonRpcProvider as Ms}from\"@walletconnect/jsonrpc-provider\";import{getBigIntRpcId as mt,isJsonRpcRequest as ft,isJsonRpcResponse as Dt,formatJsonRpcResult as vt,formatJsonRpcRequest as wt,formatJsonRpcError as Ks,isJsonRpcResult as Bs,isJsonRpcError as _t}from\"@walletconnect/jsonrpc-utils\";import Vs from\"@walletconnect/jsonrpc-ws-connection\";import{getDocument as qs}from\"@walletconnect/window-getters\";const ze=\"wc\",Le=2,he=\"core\",B=`${ze}@2:${he}:`,Et={name:he,logger:\"error\"},It={database:\":memory:\"},Tt=\"crypto\",ke=\"client_ed25519_seed\",Ct=ie,Pt=\"keychain\",St=\"0.3\",Ot=\"messages\",Rt=\"0.3\",je=cs,At=\"publisher\",xt=\"irn\",Nt=\"error\",Ue=\"wss://relay.walletconnect.org\",$t=\"relayer\",C={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\"},zt=\"_subscription\",L={payload:\"payload\",connect:\"connect\",disconnect:\"disconnect\",error:\"error\"},Lt=.1,Gs={database:\":memory:\"},_e=\"2.21.1\",Ws=1e4,Q={link_mode:\"link_mode\",relay:\"relay\"},le={inbound:\"inbound\",outbound:\"outbound\"},kt=\"0.3\",jt=\"WALLETCONNECT_CLIENT_ID\",Fe=\"WALLETCONNECT_LINK_MODE_APPS\",$={created:\"subscription_created\",deleted:\"subscription_deleted\",expired:\"subscription_expired\",disabled:\"subscription_disabled\",sync:\"subscription_sync\",resubscribed:\"subscription_resubscribed\"},Hs=Ce,Ut=\"subscription\",Ft=\"0.3\",Ys=Pe*1e3,Mt=\"pairing\",Kt=\"0.3\",Js=Ce,se={wc_pairingDelete:{req:{ttl:ie,prompt:!1,tag:1e3},res:{ttl:ie,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:Se,prompt:!1,tag:1002},res:{ttl:Se,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:ie,prompt:!1,tag:0},res:{ttl:ie,prompt:!1,tag:0}}},re={create:\"pairing_create\",expire:\"pairing_expire\",delete:\"pairing_delete\",ping:\"pairing_ping\"},F={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},Bt=\"history\",Vt=\"0.3\",qt=\"expirer\",M={created:\"expirer_created\",deleted:\"expirer_deleted\",expired:\"expirer_expired\",sync:\"expirer_sync\"},Gt=\"0.3\",Xs=ie,Wt=\"verify-api\",Zs=\"https://verify.walletconnect.com\",Ht=\"https://verify.walletconnect.org\",ue=Ht,Yt=`${ue}/v3`,Jt=[Zs,Ht],Xt=\"echo\",Zt=\"https://echo.walletconnect.com\",Qs=\"event-client\",G={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\"},Y={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\"},er={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\"},tr={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\"},ir={authenticated_session_approve_started:\"authenticated_session_approve_started\",authenticated_session_not_expired:\"authenticated_session_not_expired\",chains_caip2_compliant:\"chains_caip2_compliant\",chains_evm_compliant:\"chains_evm_compliant\",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\",authenticated_session_approve_publish_success:\"authenticated_session_approve_publish_success\"},sr={no_internet_connection:\"no_internet_connection\",no_wss_connection:\"no_wss_connection\",missing_session_authenticate_request:\"missing_session_authenticate_request\",session_authenticate_request_expired:\"session_authenticate_request_expired\",chains_caip2_compliant_failure:\"chains_caip2_compliant_failure\",chains_evm_compliant_failure:\"chains_evm_compliant_failure\",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\"},Qt=.1,ei=\"event-client\",ti=86400,ii=\"https://pulse.walletconnect.org/batch\";function rr(r,e){if(r.length>=255)throw new TypeError(\"Alphabet too long\");for(var t=new Uint8Array(256),i=0;i<t.length;i++)t[i]=255;for(var s=0;s<r.length;s++){var n=r.charAt(s),o=n.charCodeAt(0);if(t[o]!==255)throw new TypeError(n+\" is ambiguous\");t[o]=s}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function d(u){if(u instanceof Uint8Array||(ArrayBuffer.isView(u)?u=new Uint8Array(u.buffer,u.byteOffset,u.byteLength):Array.isArray(u)&&(u=Uint8Array.from(u))),!(u instanceof Uint8Array))throw new TypeError(\"Expected Uint8Array\");if(u.length===0)return\"\";for(var b=0,x=0,I=0,D=u.length;I!==D&&u[I]===0;)I++,b++;for(var j=(D-I)*l+1>>>0,T=new Uint8Array(j);I!==D;){for(var q=u[I],J=0,K=j-1;(q!==0||J<x)&&K!==-1;K--,J++)q+=256*T[K]>>>0,T[K]=q%a>>>0,q=q/a>>>0;if(q!==0)throw new Error(\"Non-zero carry\");x=J,I++}for(var H=j-x;H!==j&&T[H]===0;)H++;for(var me=c.repeat(b);H<j;++H)me+=r.charAt(T[H]);return me}function g(u){if(typeof u!=\"string\")throw new TypeError(\"Expected String\");if(u.length===0)return new Uint8Array;var b=0;if(u[b]!==\" \"){for(var x=0,I=0;u[b]===c;)x++,b++;for(var D=(u.length-b)*h+1>>>0,j=new Uint8Array(D);u[b];){var T=t[u.charCodeAt(b)];if(T===255)return;for(var q=0,J=D-1;(T!==0||q<I)&&J!==-1;J--,q++)T+=a*j[J]>>>0,j[J]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error(\"Non-zero carry\");I=q,b++}if(u[b]!==\" \"){for(var K=D-I;K!==D&&j[K]===0;)K++;for(var H=new Uint8Array(x+(D-K)),me=x;K!==D;)H[me++]=j[K++];return H}}}function _(u){var b=g(u);if(b)return b;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:g,decode:_}}var nr=rr,or=nr;const si=r=>{if(r instanceof Uint8Array&&r.constructor.name===\"Uint8Array\")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error(\"Unknown type, must be binary type\")},ar=r=>new TextEncoder().encode(r),cr=r=>new TextDecoder().decode(r);class hr{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(\"Unknown type, must be binary type\")}}class lr{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error(\"Invalid prefix character\");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}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 ri(this,e)}}class ur{constructor(e){this.decoders=e}or(e){return ri(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const ri=(r,e)=>new ur({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class dr{constructor(e,t,i,s){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=s,this.encoder=new hr(e,t,i),this.decoder=new lr(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Ee=({name:r,prefix:e,encode:t,decode:i})=>new dr(r,e,t,i),de=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:s}=or(t,e);return Ee({prefix:r,name:e,encode:i,decode:n=>si(s(n))})},gr=(r,e,t,i)=>{const s={};for(let l=0;l<e.length;++l)s[e[l]]=l;let n=r.length;for(;r[n-1]===\"=\";)--n;const o=new Uint8Array(n*t/8|0);let a=0,c=0,h=0;for(let l=0;l<n;++l){const d=s[r[l]];if(d===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<t|d,a+=t,a>=8&&(a-=8,o[h++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError(\"Unexpected end of data\");return o},pr=(r,e,t)=>{const i=e[e.length-1]===\"=\",s=(1<<t)-1;let n=\"\",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>t;)o-=t,n+=e[s&a>>o];if(o&&(n+=e[s&a<<t-o]),i)for(;n.length*t&7;)n+=\"=\";return n},P=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>Ee({prefix:e,name:r,encode(s){return pr(s,i,t)},decode(s){return gr(s,i,t,r)}}),yr=Ee({prefix:\"\\0\",name:\"identity\",encode:r=>cr(r),decode:r=>ar(r)});var br=Object.freeze({__proto__:null,identity:yr});const mr=P({prefix:\"0\",name:\"base2\",alphabet:\"01\",bitsPerChar:1});var fr=Object.freeze({__proto__:null,base2:mr});const Dr=P({prefix:\"7\",name:\"base8\",alphabet:\"01234567\",bitsPerChar:3});var vr=Object.freeze({__proto__:null,base8:Dr});const wr=de({prefix:\"9\",name:\"base10\",alphabet:\"0123456789\"});var _r=Object.freeze({__proto__:null,base10:wr});const Er=P({prefix:\"f\",name:\"base16\",alphabet:\"0123456789abcdef\",bitsPerChar:4}),Ir=P({prefix:\"F\",name:\"base16upper\",alphabet:\"0123456789ABCDEF\",bitsPerChar:4});var Tr=Object.freeze({__proto__:null,base16:Er,base16upper:Ir});const Cr=P({prefix:\"b\",name:\"base32\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567\",bitsPerChar:5}),Pr=P({prefix:\"B\",name:\"base32upper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\",bitsPerChar:5}),Sr=P({prefix:\"c\",name:\"base32pad\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567=\",bitsPerChar:5}),Or=P({prefix:\"C\",name:\"base32padupper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=\",bitsPerChar:5}),Rr=P({prefix:\"v\",name:\"base32hex\",alphabet:\"0123456789abcdefghijklmnopqrstuv\",bitsPerChar:5}),Ar=P({prefix:\"V\",name:\"base32hexupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV\",bitsPerChar:5}),xr=P({prefix:\"t\",name:\"base32hexpad\",alphabet:\"0123456789abcdefghijklmnopqrstuv=\",bitsPerChar:5}),Nr=P({prefix:\"T\",name:\"base32hexpadupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV=\",bitsPerChar:5}),$r=P({prefix:\"h\",name:\"base32z\",alphabet:\"ybndrfg8ejkmcpqxot1uwisza345h769\",bitsPerChar:5});var zr=Object.freeze({__proto__:null,base32:Cr,base32upper:Pr,base32pad:Sr,base32padupper:Or,base32hex:Rr,base32hexupper:Ar,base32hexpad:xr,base32hexpadupper:Nr,base32z:$r});const Lr=de({prefix:\"k\",name:\"base36\",alphabet:\"0123456789abcdefghijklmnopqrstuvwxyz\"}),kr=de({prefix:\"K\",name:\"base36upper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"});var jr=Object.freeze({__proto__:null,base36:Lr,base36upper:kr});const Ur=de({name:\"base58btc\",prefix:\"z\",alphabet:\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"}),Fr=de({name:\"base58flickr\",prefix:\"Z\",alphabet:\"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ\"});var Mr=Object.freeze({__proto__:null,base58btc:Ur,base58flickr:Fr});const Kr=P({prefix:\"m\",name:\"base64\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",bitsPerChar:6}),Br=P({prefix:\"M\",name:\"base64pad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",bitsPerChar:6}),Vr=P({prefix:\"u\",name:\"base64url\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\",bitsPerChar:6}),qr=P({prefix:\"U\",name:\"base64urlpad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=\",bitsPerChar:6});var Gr=Object.freeze({__proto__:null,base64:Kr,base64pad:Br,base64url:Vr,base64urlpad:qr});const ni=Array.from(\"\\u{1F680}\\u{1FA90}\\u2604\\u{1F6F0}\\u{1F30C}\\u{1F311}\\u{1F312}\\u{1F313}\\u{1F314}\\u{1F315}\\u{1F316}\\u{1F317}\\u{1F318}\\u{1F30D}\\u{1F30F}\\u{1F30E}\\u{1F409}\\u2600\\u{1F4BB}\\u{1F5A5}\\u{1F4BE}\\u{1F4BF}\\u{1F602}\\u2764\\u{1F60D}\\u{1F923}\\u{1F60A}\\u{1F64F}\\u{1F495}\\u{1F62D}\\u{1F618}\\u{1F44D}\\u{1F605}\\u{1F44F}\\u{1F601}\\u{1F525}\\u{1F970}\\u{1F494}\\u{1F496}\\u{1F499}\\u{1F622}\\u{1F914}\\u{1F606}\\u{1F644}\\u{1F4AA}\\u{1F609}\\u263A\\u{1F44C}\\u{1F917}\\u{1F49C}\\u{1F614}\\u{1F60E}\\u{1F607}\\u{1F339}\\u{1F926}\\u{1F389}\\u{1F49E}\\u270C\\u2728\\u{1F937}\\u{1F631}\\u{1F60C}\\u{1F338}\\u{1F64C}\\u{1F60B}\\u{1F497}\\u{1F49A}\\u{1F60F}\\u{1F49B}\\u{1F642}\\u{1F493}\\u{1F929}\\u{1F604}\\u{1F600}\\u{1F5A4}\\u{1F603}\\u{1F4AF}\\u{1F648}\\u{1F447}\\u{1F3B6}\\u{1F612}\\u{1F92D}\\u2763\\u{1F61C}\\u{1F48B}\\u{1F440}\\u{1F62A}\\u{1F611}\\u{1F4A5}\\u{1F64B}\\u{1F61E}\\u{1F629}\\u{1F621}\\u{1F92A}\\u{1F44A}\\u{1F973}\\u{1F625}\\u{1F924}\\u{1F449}\\u{1F483}\\u{1F633}\\u270B\\u{1F61A}\\u{1F61D}\\u{1F634}\\u{1F31F}\\u{1F62C}\\u{1F643}\\u{1F340}\\u{1F337}\\u{1F63B}\\u{1F613}\\u2B50\\u2705\\u{1F97A}\\u{1F308}\\u{1F608}\\u{1F918}\\u{1F4A6}\\u2714\\u{1F623}\\u{1F3C3}\\u{1F490}\\u2639\\u{1F38A}\\u{1F498}\\u{1F620}\\u261D\\u{1F615}\\u{1F33A}\\u{1F382}\\u{1F33B}\\u{1F610}\\u{1F595}\\u{1F49D}\\u{1F64A}\\u{1F639}\\u{1F5E3}\\u{1F4AB}\\u{1F480}\\u{1F451}\\u{1F3B5}\\u{1F91E}\\u{1F61B}\\u{1F534}\\u{1F624}\\u{1F33C}\\u{1F62B}\\u26BD\\u{1F919}\\u2615\\u{1F3C6}\\u{1F92B}\\u{1F448}\\u{1F62E}\\u{1F646}\\u{1F37B}\\u{1F343}\\u{1F436}\\u{1F481}\\u{1F632}\\u{1F33F}\\u{1F9E1}\\u{1F381}\\u26A1\\u{1F31E}\\u{1F388}\\u274C\\u270A\\u{1F44B}\\u{1F630}\\u{1F928}\\u{1F636}\\u{1F91D}\\u{1F6B6}\\u{1F4B0}\\u{1F353}\\u{1F4A2}\\u{1F91F}\\u{1F641}\\u{1F6A8}\\u{1F4A8}\\u{1F92C}\\u2708\\u{1F380}\\u{1F37A}\\u{1F913}\\u{1F619}\\u{1F49F}\\u{1F331}\\u{1F616}\\u{1F476}\\u{1F974}\\u25B6\\u27A1\\u2753\\u{1F48E}\\u{1F4B8}\\u2B07\\u{1F628}\\u{1F31A}\\u{1F98B}\\u{1F637}\\u{1F57A}\\u26A0\\u{1F645}\\u{1F61F}\\u{1F635}\\u{1F44E}\\u{1F932}\\u{1F920}\\u{1F927}\\u{1F4CC}\\u{1F535}\\u{1F485}\\u{1F9D0}\\u{1F43E}\\u{1F352}\\u{1F617}\\u{1F911}\\u{1F30A}\\u{1F92F}\\u{1F437}\\u260E\\u{1F4A7}\\u{1F62F}\\u{1F486}\\u{1F446}\\u{1F3A4}\\u{1F647}\\u{1F351}\\u2744\\u{1F334}\\u{1F4A3}\\u{1F438}\\u{1F48C}\\u{1F4CD}\\u{1F940}\\u{1F922}\\u{1F445}\\u{1F4A1}\\u{1F4A9}\\u{1F450}\\u{1F4F8}\\u{1F47B}\\u{1F910}\\u{1F92E}\\u{1F3BC}\\u{1F975}\\u{1F6A9}\\u{1F34E}\\u{1F34A}\\u{1F47C}\\u{1F48D}\\u{1F4E3}\\u{1F942}\"),Wr=ni.reduce((r,e,t)=>(r[t]=e,r),[]),Hr=ni.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Yr(r){return r.reduce((e,t)=>(e+=Wr[t],e),\"\")}function Jr(r){const e=[];for(const t of r){const i=Hr[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const Xr=Ee({prefix:\"\\u{1F680}\",name:\"base256emoji\",encode:Yr,decode:Jr});var Zr=Object.freeze({__proto__:null,base256emoji:Xr}),Qr=ai,oi=128,en=127,tn=~en,sn=Math.pow(2,31);function ai(r,e,t){e=e||[],t=t||0;for(var i=t;r>=sn;)e[t++]=r&255|oi,r/=128;for(;r&tn;)e[t++]=r&255|oi,r>>>=7;return e[t]=r|0,ai.bytes=t-i+1,e}var rn=Me,nn=128,ci=127;function Me(r,i){var t=0,i=i||0,s=0,n=i,o,a=r.length;do{if(n>=a)throw Me.bytes=0,new RangeError(\"Could not decode varint\");o=r[n++],t+=s<28?(o&ci)<<s:(o&ci)*Math.pow(2,s),s+=7}while(o>=nn);return Me.bytes=n-i,t}var on=Math.pow(2,7),an=Math.pow(2,14),cn=Math.pow(2,21),hn=Math.pow(2,28),ln=Math.pow(2,35),un=Math.pow(2,42),dn=Math.pow(2,49),gn=Math.pow(2,56),pn=Math.pow(2,63),yn=function(r){return r<on?1:r<an?2:r<cn?3:r<hn?4:r<ln?5:r<un?6:r<dn?7:r<gn?8:r<pn?9:10},bn={encode:Qr,decode:rn,encodingLength:yn},hi=bn;const li=(r,e,t=0)=>(hi.encode(r,e,t),e),ui=r=>hi.encodingLength(r),Ke=(r,e)=>{const t=e.byteLength,i=ui(r),s=i+ui(t),n=new Uint8Array(s+t);return li(r,n,0),li(t,n,i),n.set(e,s),new mn(r,t,e,n)};class mn{constructor(e,t,i,s){this.code=e,this.size=t,this.digest=i,this.bytes=s}}const di=({name:r,code:e,encode:t})=>new fn(r,e,t);class fn{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?Ke(this.code,t):t.then(i=>Ke(this.code,i))}else throw Error(\"Unknown type, must be binary type\")}}const gi=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Dn=di({name:\"sha2-256\",code:18,encode:gi(\"SHA-256\")}),vn=di({name:\"sha2-512\",code:19,encode:gi(\"SHA-512\")});var wn=Object.freeze({__proto__:null,sha256:Dn,sha512:vn});const pi=0,_n=\"identity\",yi=si,En=r=>Ke(pi,yi(r)),In={code:pi,name:_n,encode:yi,digest:En};var Tn=Object.freeze({__proto__:null,identity:In});new TextEncoder,new TextDecoder;const bi={...br,...fr,...vr,..._r,...Tr,...zr,...jr,...Mr,...Gr,...Zr};({...wn,...Tn});function Cn(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function mi(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const fi=mi(\"utf8\",\"u\",r=>\"u\"+new TextDecoder(\"utf8\").decode(r),r=>new TextEncoder().encode(r.substring(1))),Be=mi(\"ascii\",\"a\",r=>{let e=\"a\";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);const e=Cn(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Pn={utf8:fi,\"utf-8\":fi,hex:bi.base16,latin1:Be,ascii:Be,binary:Be,...bi};function Sn(r,e=\"utf8\"){const t=Pn[e];if(!t)throw new Error(`Unsupported encoding \"${e}\"`);return(e===\"utf8\"||e===\"utf-8\")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r,\"utf8\"):t.decoder.decode(`${t.prefix}${r}`)}var On=Object.defineProperty,Rn=(r,e,t)=>e in r?On(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,W=(r,e,t)=>Rn(r,typeof e!=\"symbol\"?e+\"\":e,t);class Di{constructor(e,t){this.core=e,this.logger=t,W(this,\"keychain\",new Map),W(this,\"name\",Pt),W(this,\"version\",St),W(this,\"initialized\",!1),W(this,\"storagePrefix\",B),W(this,\"init\",async()=>{if(!this.initialized){const i=await this.getKeyChain();typeof i<\"u\"&&(this.keychain=i),this.initialized=!0}}),W(this,\"has\",i=>(this.isInitialized(),this.keychain.has(i))),W(this,\"set\",async(i,s)=>{this.isInitialized(),this.keychain.set(i,s),await this.persist()}),W(this,\"get\",i=>{this.isInitialized();const s=this.keychain.get(i);if(typeof s>\"u\"){const{message:n}=m(\"NO_MATCHING_KEY\",`${this.name}: ${i}`);throw new Error(n)}return s}),W(this,\"del\",async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()}),this.core=e,this.logger=N(t,this.name)}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Oe(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?Re(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var An=Object.defineProperty,xn=(r,e,t)=>e in r?An(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,S=(r,e,t)=>xn(r,typeof e!=\"symbol\"?e+\"\":e,t);class vi{constructor(e,t,i){this.core=e,this.logger=t,S(this,\"name\",Tt),S(this,\"keychain\"),S(this,\"randomSessionIdentifier\",Ae()),S(this,\"initialized\",!1),S(this,\"init\",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),S(this,\"hasKeys\",s=>(this.isInitialized(),this.keychain.has(s))),S(this,\"getClientId\",async()=>{this.isInitialized();const s=await this.getClientSeed(),n=De.generateKeyPair(s);return De.encodeIss(n.publicKey)}),S(this,\"generateKeyPair\",()=>{this.isInitialized();const s=ls();return this.setPrivateKey(s.publicKey,s.privateKey)}),S(this,\"signJWT\",async s=>{this.isInitialized();const n=await this.getClientSeed(),o=De.generateKeyPair(n),a=this.randomSessionIdentifier,c=Ct;return await De.signJWT(a,s,c,o)}),S(this,\"generateSharedKey\",(s,n,o)=>{this.isInitialized();const a=this.getPrivateKey(s),c=us(a,n);return this.setSymKey(c,o)}),S(this,\"setSymKey\",async(s,n)=>{this.isInitialized();const o=n||ds(s);return await this.keychain.set(o,s),o}),S(this,\"deleteKeyPair\",async s=>{this.isInitialized(),await this.keychain.del(s)}),S(this,\"deleteSymKey\",async s=>{this.isInitialized(),await this.keychain.del(s)}),S(this,\"encode\",async(s,n,o)=>{this.isInitialized();const a=gs(o),c=hs(n);if(nt(a))return ps(c,o?.encoding);if(ot(a)){const g=a.senderPublicKey,_=a.receiverPublicKey;s=await this.generateSharedKey(g,_)}const h=this.getSymKey(s),{type:l,senderPublicKey:d}=a;return ys({type:l,symKey:h,message:c,senderPublicKey:d,encoding:o?.encoding})}),S(this,\"decode\",async(s,n,o)=>{this.isInitialized();const a=bs(n,o);if(nt(a)){const c=ms(n,o?.encoding);return st(c)}if(ot(a)){const c=a.receiverPublicKey,h=a.senderPublicKey;s=await this.generateSharedKey(c,h)}try{const c=this.getSymKey(s),h=fs({symKey:c,encoded:n,encoding:o?.encoding});return st(h)}catch(c){this.logger.error(`Failed to decode message from topic: '${s}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}}),S(this,\"getPayloadType\",(s,n=ct)=>{const o=at({encoded:s,encoding:n});return Ds(o.type)}),S(this,\"getPayloadSenderPublicKey\",(s,n=ct)=>{const o=at({encoded:s,encoding:n});return o.senderPublicKey?Fs(o.senderPublicKey,vs):void 0}),this.core=e,this.logger=N(t,this.name),this.keychain=i||new Di(this.core,this.logger)}get context(){return U(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e=\"\";try{e=this.keychain.get(ke)}catch{e=Ae(),await this.keychain.set(ke,e)}return Sn(e,\"base16\")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Nn=Object.defineProperty,$n=Object.defineProperties,zn=Object.getOwnPropertyDescriptors,wi=Object.getOwnPropertySymbols,Ln=Object.prototype.hasOwnProperty,kn=Object.prototype.propertyIsEnumerable,Ve=(r,e,t)=>e in r?Nn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,jn=(r,e)=>{for(var t in e||(e={}))Ln.call(e,t)&&Ve(r,t,e[t]);if(wi)for(var t of wi(e))kn.call(e,t)&&Ve(r,t,e[t]);return r},Un=(r,e)=>$n(r,zn(e)),k=(r,e,t)=>Ve(r,typeof e!=\"symbol\"?e+\"\":e,t);class _i extends Xi{constructor(e,t){super(e,t),this.logger=e,this.core=t,k(this,\"messages\",new Map),k(this,\"messagesWithoutClientAck\",new Map),k(this,\"name\",Ot),k(this,\"version\",Rt),k(this,\"initialized\",!1),k(this,\"storagePrefix\",B),k(this,\"init\",async()=>{if(!this.initialized){this.logger.trace(\"Initialized\");try{const i=await this.getRelayerMessages();typeof i<\"u\"&&(this.messages=i);const s=await this.getRelayerMessagesWithoutClientAck();typeof s<\"u\"&&(this.messagesWithoutClientAck=s),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}}),k(this,\"set\",async(i,s,n)=>{this.isInitialized();const o=ve(s);let a=this.messages.get(i);if(typeof a>\"u\"&&(a={}),typeof a[o]<\"u\")return o;if(a[o]=s,this.messages.set(i,a),n===le.inbound){const c=this.messagesWithoutClientAck.get(i)||{};this.messagesWithoutClientAck.set(i,Un(jn({},c),{[o]:s}))}return await this.persist(),o}),k(this,\"get\",i=>{this.isInitialized();let s=this.messages.get(i);return typeof s>\"u\"&&(s={}),s}),k(this,\"getWithoutAck\",i=>{this.isInitialized();const s={};for(const n of i){const o=this.messagesWithoutClientAck.get(n)||{};s[n]=Object.values(o)}return s}),k(this,\"has\",(i,s)=>{this.isInitialized();const n=this.get(i),o=ve(s);return typeof n[o]<\"u\"}),k(this,\"ack\",async(i,s)=>{this.isInitialized();const n=this.messagesWithoutClientAck.get(i);if(typeof n>\"u\")return;const o=ve(s);delete n[o],Object.keys(n).length===0?this.messagesWithoutClientAck.delete(i):this.messagesWithoutClientAck.set(i,n),await this.persist()}),k(this,\"del\",async i=>{this.isInitialized(),this.messages.delete(i),this.messagesWithoutClientAck.delete(i),await this.persist()}),this.logger=N(e,this.name),this.core=t}get context(){return U(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,Oe(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,Oe(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?Re(e):void 0}async getRelayerMessagesWithoutClientAck(){const e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<\"u\"?Re(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Fn=Object.defineProperty,Mn=Object.defineProperties,Kn=Object.getOwnPropertyDescriptors,Ei=Object.getOwnPropertySymbols,Bn=Object.prototype.hasOwnProperty,Vn=Object.prototype.propertyIsEnumerable,qe=(r,e,t)=>e in r?Fn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ie=(r,e)=>{for(var t in e||(e={}))Bn.call(e,t)&&qe(r,t,e[t]);if(Ei)for(var t of Ei(e))Vn.call(e,t)&&qe(r,t,e[t]);return r},Ge=(r,e)=>Mn(r,Kn(e)),V=(r,e,t)=>qe(r,typeof e!=\"symbol\"?e+\"\":e,t);class qn extends Zi{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,V(this,\"events\",new ee),V(this,\"name\",At),V(this,\"queue\",new Map),V(this,\"publishTimeout\",R(tt)),V(this,\"initialPublishTimeout\",R(Z*15)),V(this,\"needsTransportRestart\",!1),V(this,\"publish\",async(i,s,n)=>{var o;this.logger.debug(\"Publishing Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{topic:i,message:s,opts:n}});const a=n?.ttl||je,c=we(n),h=n?.prompt||!1,l=n?.tag||0,d=n?.id||mt().toString(),g={topic:i,message:s,opts:{ttl:a,relay:c,prompt:h,tag:l,id:d,attestation:n?.attestation,tvf:n?.tvf}},_=`Failed to publish payload, please try again. id:${d} tag:${l}`;try{const u=new Promise(async b=>{const x=({id:D})=>{g.opts.id===D&&(this.removeRequestFromQueue(D),this.relayer.events.removeListener(C.publish,x),b(g))};this.relayer.events.on(C.publish,x);const I=X(new Promise((D,j)=>{this.rpcPublish({topic:i,message:s,ttl:a,prompt:h,tag:l,id:d,attestation:n?.attestation,tvf:n?.tvf}).then(D).catch(T=>{this.logger.warn(T,T?.message),j(T)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${d} tag:${l}`);try{await I,this.events.removeListener(C.publish,x)}catch(D){this.queue.set(d,Ge(Ie({},g),{attempt:1})),this.logger.warn(D,D?.message)}});this.logger.trace({type:\"method\",method:\"publish\",params:{id:d,topic:i,message:s,opts:n}}),await X(u,this.publishTimeout,_)}catch(u){if(this.logger.debug(\"Failed to Publish Payload\"),this.logger.error(u),(o=n?.internal)!=null&&o.throwOnFailedPublish)throw u}finally{this.queue.delete(d)}}),V(this,\"on\",(i,s)=>{this.events.on(i,s)}),V(this,\"once\",(i,s)=>{this.events.once(i,s)}),V(this,\"off\",(i,s)=>{this.events.off(i,s)}),V(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),this.relayer=e,this.logger=N(t,this.name),this.registerEventListeners()}get context(){return U(this.logger)}async rpcPublish(e){var t,i,s,n;const{topic:o,message:a,ttl:c=je,prompt:h,tag:l,id:d,attestation:g,tvf:_}=e,u={method:oe(we().protocol).publish,params:Ie({topic:o,message:a,ttl:c,prompt:h,tag:l,attestation:g},_),id:d};xe((t=u.params)==null?void 0:t.prompt)&&((i=u.params)==null||delete i.prompt),xe((s=u.params)==null?void 0:s.tag)&&((n=u.params)==null||delete n.tag),this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"message\",direction:\"outgoing\",request:u});const b=await this.relayer.request(u);return this.relayer.events.emit(C.publish,e),this.logger.debug(\"Successfully Published Payload\"),b}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{const i=e.attempt+1;this.queue.set(t,Ge(Ie({},e),{attempt:i}));const{topic:s,message:n,opts:o,attestation:a}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${i}`),await this.rpcPublish(Ge(Ie({},e),{topic:s,message:n,ttl:o.ttl,prompt:o.prompt,tag:o.tag,id:o.id,attestation:a,tvf:o.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(te.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(C.connection_stalled);return}this.checkQueue()}),this.relayer.on(C.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var Gn=Object.defineProperty,Wn=(r,e,t)=>e in r?Gn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ne=(r,e,t)=>Wn(r,typeof e!=\"symbol\"?e+\"\":e,t);class Hn{constructor(){ne(this,\"map\",new Map),ne(this,\"set\",(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])}),ne(this,\"get\",e=>this.map.get(e)||[]),ne(this,\"exists\",(e,t)=>this.get(e).includes(t)),ne(this,\"delete\",(e,t)=>{if(typeof t>\"u\"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const s=i.filter(n=>n!==t);if(!s.length){this.map.delete(e);return}this.map.set(e,s)}),ne(this,\"clear\",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var Yn=Object.defineProperty,Jn=Object.defineProperties,Xn=Object.getOwnPropertyDescriptors,Ii=Object.getOwnPropertySymbols,Zn=Object.prototype.hasOwnProperty,Qn=Object.prototype.propertyIsEnumerable,We=(r,e,t)=>e in r?Yn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ge=(r,e)=>{for(var t in e||(e={}))Zn.call(e,t)&&We(r,t,e[t]);if(Ii)for(var t of Ii(e))Qn.call(e,t)&&We(r,t,e[t]);return r},He=(r,e)=>Jn(r,Xn(e)),f=(r,e,t)=>We(r,typeof e!=\"symbol\"?e+\"\":e,t);class Ti extends Qi{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,f(this,\"subscriptions\",new Map),f(this,\"topicMap\",new Hn),f(this,\"events\",new ee),f(this,\"name\",Ut),f(this,\"version\",Ft),f(this,\"pending\",new Map),f(this,\"cached\",[]),f(this,\"initialized\",!1),f(this,\"storagePrefix\",B),f(this,\"subscribeTimeout\",R(tt)),f(this,\"initialSubscribeTimeout\",R(Z*15)),f(this,\"clientId\"),f(this,\"batchSubscribeTopicsLimit\",500),f(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),f(this,\"subscribe\",async(i,s)=>{this.isInitialized(),this.logger.debug(\"Subscribing Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}});try{const n=we(s),o={topic:i,relay:n,transportType:s?.transportType};this.pending.set(i,o);const a=await this.rpcSubscribe(i,n,s);return typeof a==\"string\"&&(this.onSubscribe(a,o),this.logger.debug(\"Successfully Subscribed Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}})),a}catch(n){throw this.logger.debug(\"Failed to Subscribe Topic\"),this.logger.error(n),n}}),f(this,\"unsubscribe\",async(i,s)=>{this.isInitialized(),typeof s?.id<\"u\"?await this.unsubscribeById(i,s.id,s):await this.unsubscribeByTopic(i,s)}),f(this,\"isSubscribed\",i=>new Promise(s=>{s(this.topicMap.topics.includes(i))})),f(this,\"isKnownTopic\",i=>new Promise(s=>{s(this.topicMap.topics.includes(i)||this.pending.has(i)||this.cached.some(n=>n.topic===i))})),f(this,\"on\",(i,s)=>{this.events.on(i,s)}),f(this,\"once\",(i,s)=>{this.events.once(i,s)}),f(this,\"off\",(i,s)=>{this.events.off(i,s)}),f(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),f(this,\"start\",async()=>{await this.onConnect()}),f(this,\"stop\",async()=>{await this.onDisconnect()}),f(this,\"restart\",async()=>{await this.restore(),await this.onRestart()}),f(this,\"checkPending\",async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const i=[];this.pending.forEach(s=>{i.push(s)}),await this.batchSubscribe(i)}),f(this,\"registerEventListeners\",()=>{this.relayer.core.heartbeat.on(te.pulse,async()=>{await this.checkPending()}),this.events.on($.created,async i=>{const s=$.created;this.logger.info(`Emitting ${s}`),this.logger.debug({type:\"event\",event:s,data:i}),await this.persist()}),this.events.on($.deleted,async i=>{const s=$.deleted;this.logger.info(`Emitting ${s}`),this.logger.debug({type:\"event\",event:s,data:i}),await this.persist()})}),this.relayer=e,this.logger=N(t,this.name),this.clientId=\"\"}get context(){return U(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,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}reset(){this.cached=[],this.initialized=!0}onDisable(){this.values.length>0&&(this.cached=this.values),this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async s=>await this.unsubscribeById(e,s,t)))}async unsubscribeById(e,t,i){this.logger.debug(\"Unsubscribing Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:i}});try{const s=we(i);await this.restartToComplete({topic:e,id:t,relay:s}),await this.rpcUnsubscribe(e,t,s);const n=ae(\"USER_DISCONNECTED\",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,n),this.logger.debug(\"Successfully Unsubscribed Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:i}})}catch(s){throw this.logger.debug(\"Failed to Unsubscribe Topic\"),this.logger.error(s),s}}async rpcSubscribe(e,t,i){var s;(!i||i?.transportType===Q.relay)&&await this.restartToComplete({topic:e,id:e,relay:t});const n={method:oe(t.protocol).subscribe,params:{topic:e}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:n});const o=(s=i?.internal)==null?void 0:s.throwOnFailedPublish;try{const a=await this.getSubscriptionId(e);if(i?.transportType===Q.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(n).catch(l=>this.logger.warn(l))},R(Z)),a;const c=new Promise(async l=>{const d=g=>{g.topic===e&&(this.events.removeListener($.created,d),l(g.id))};this.events.on($.created,d);try{const g=await X(new Promise((_,u)=>{this.relayer.request(n).catch(b=>{this.logger.warn(b,b?.message),u(b)}).then(_)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener($.created,d),l(g)}catch{}}),h=await X(c,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!h&&o)throw new Error(`Subscribing to ${e} failed, please try again`);return h?a:null}catch(a){if(this.logger.debug(\"Outgoing Relay Subscribe Payload stalled\"),this.relayer.events.emit(C.connection_stalled),o)throw a}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:oe(t.protocol).batchSubscribe,params:{topics:e.map(s=>s.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});try{await await X(new Promise(s=>{this.relayer.request(i).catch(n=>this.logger.warn(n)).then(s)}),this.subscribeTimeout,\"rpcBatchSubscribe failed, please try again\")}catch{this.relayer.events.emit(C.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const t=e[0].relay,i={method:oe(t.protocol).batchFetchMessages,params:{topics:e.map(n=>n.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});let s;try{s=await await X(new Promise((n,o)=>{this.relayer.request(i).catch(a=>{this.logger.warn(a),o(a)}).then(n)}),this.subscribeTimeout,\"rpcBatchFetchMessages failed, please try again\")}catch{this.relayer.events.emit(C.connection_stalled)}return s}rpcUnsubscribe(e,t,i){const s={method:oe(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:s}),this.relayer.request(s)}onSubscribe(e,t){this.setSubscription(e,He(ge({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,ge({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),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,t){this.logger.debug(\"Setting subscription\"),this.logger.trace({type:\"method\",method:\"setSubscription\",id:e,subscription:t}),this.addSubscription(e,t)}addSubscription(e,t){this.subscriptions.set(e,ge({},t)),this.topicMap.set(t.topic,e),this.events.emit($.created,t)}getSubscription(e){this.logger.debug(\"Getting subscription\"),this.logger.trace({type:\"method\",method:\"getSubscription\",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug(\"Deleting subscription\"),this.logger.trace({type:\"method\",method:\"deleteSubscription\",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit($.deleted,He(ge({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit($.sync)}async onRestart(){if(this.cached.length){const e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let i=0;i<t;i++){const s=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(s)}}this.events.emit($.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>\"u\"||!e.length)return;if(this.subscriptions.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}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 t=>He(ge({},t),{id:await this.getSubscriptionId(t.topic)})))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);const t=await this.rpcBatchFetchMessages(e);t&&t.messages&&(await ws(R(Z)),await this.relayer.handleBatchMessageEvents(t.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){const{message:e}=m(\"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 ve(e+await this.getClientId())}}var eo=Object.defineProperty,Ci=Object.getOwnPropertySymbols,to=Object.prototype.hasOwnProperty,io=Object.prototype.propertyIsEnumerable,Ye=(r,e,t)=>e in r?eo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Pi=(r,e)=>{for(var t in e||(e={}))to.call(e,t)&&Ye(r,t,e[t]);if(Ci)for(var t of Ci(e))io.call(e,t)&&Ye(r,t,e[t]);return r},y=(r,e,t)=>Ye(r,typeof e!=\"symbol\"?e+\"\":e,t);class Si extends es{constructor(e){super(e),y(this,\"protocol\",\"wc\"),y(this,\"version\",2),y(this,\"core\"),y(this,\"logger\"),y(this,\"events\",new ee),y(this,\"provider\"),y(this,\"messages\"),y(this,\"subscriber\"),y(this,\"publisher\"),y(this,\"name\",$t),y(this,\"transportExplicitlyClosed\",!1),y(this,\"initialized\",!1),y(this,\"connectionAttemptInProgress\",!1),y(this,\"relayUrl\"),y(this,\"projectId\"),y(this,\"packageName\"),y(this,\"bundleId\"),y(this,\"hasExperiencedNetworkDisruption\",!1),y(this,\"pingTimeout\"),y(this,\"heartBeatTimeout\",R(Se+Pe)),y(this,\"reconnectTimeout\"),y(this,\"connectPromise\"),y(this,\"reconnectInProgress\",!1),y(this,\"requestsInFlight\",[]),y(this,\"connectTimeout\",R(Z*15)),y(this,\"request\",async t=>{var i,s;this.logger.debug(\"Publishing Request Payload\");const n=t.id||mt().toString();await this.toEstablishConnection();try{this.logger.trace({id:n,method:t.method,topic:(i=t.params)==null?void 0:i.topic},\"relayer.request - publishing...\");const o=`${n}:${((s=t.params)==null?void 0:s.tag)||\"\"}`;this.requestsInFlight.push(o);const a=await this.provider.request(t);return this.requestsInFlight=this.requestsInFlight.filter(c=>c!==o),a}catch(o){throw this.logger.debug(`Failed to Publish Request: ${n}`),o}}),y(this,\"resetPingTimeout\",()=>{ut()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var t,i,s,n;try{this.logger.debug({},\"pingTimeout: Connection stalled, terminating...\"),(n=(s=(i=(t=this.provider)==null?void 0:t.connection)==null?void 0:i.socket)==null?void 0:s.terminate)==null||n.call(s)}catch(o){this.logger.warn(o,o?.message)}},this.heartBeatTimeout))}),y(this,\"onPayloadHandler\",t=>{this.onProviderPayload(t),this.resetPingTimeout()}),y(this,\"onConnectHandler\",()=>{this.logger.warn({},\"Relayer connected \\u{1F6DC}\"),this.startPingTimeout(),this.events.emit(C.connect)}),y(this,\"onDisconnectHandler\",()=>{this.logger.warn({},\"Relayer disconnected \\u{1F6D1}\"),this.requestsInFlight=[],this.onProviderDisconnect()}),y(this,\"onProviderErrorHandler\",t=>{this.logger.fatal(`Fatal socket error: ${t.message}`),this.events.emit(C.error,t),this.logger.fatal(\"Fatal socket error received, closing transport\"),this.transportClose()}),y(this,\"registerProviderListeners\",()=>{this.provider.on(L.payload,this.onPayloadHandler),this.provider.on(L.connect,this.onConnectHandler),this.provider.on(L.disconnect,this.onDisconnectHandler),this.provider.on(L.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=typeof e.logger<\"u\"&&typeof e.logger!=\"string\"?N(e.logger,this.name):Yi(et({level:e.logger||Nt})),this.messages=new _i(this.logger,e.core),this.subscriber=new Ti(this,this.logger),this.publisher=new qn(this,this.logger),this.relayUrl=e?.relayUrl||Ue,this.projectId=e.projectId,_s()?this.packageName=ht():Es()&&(this.bundleId=ht()),this.provider={}}async init(){if(this.logger.trace(\"Initialized\"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.hasAnyTopics)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return U(this.logger)}get connected(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===1||!1}get connecting(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===0||this.connectPromise!==void 0||!1}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:Q.relay},le.outbound)}async subscribe(e,t){var i,s,n;this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType===\"relay\")&&await this.toEstablishConnection();const o=typeof((i=t?.internal)==null?void 0:i.throwOnFailedPublish)>\"u\"?!0:(s=t?.internal)==null?void 0:s.throwOnFailedPublish;let a=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||\"\",c;const h=l=>{l.topic===e&&(this.subscriber.off($.created,h),c())};return await Promise.all([new Promise(l=>{c=l,this.subscriber.on($.created,h)}),new Promise(async(l,d)=>{a=await this.subscriber.subscribe(e,Pi({internal:{throwOnFailedPublish:o}},t)).catch(g=>{o&&d(g)})||a,l()})]),a}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await X(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.warn(\"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(t,i)=>{await this.connect(e).then(t).catch(i).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 lt())throw new Error(\"No internet connection detected. Please restart your network and try again.\")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace(\"Batch message events is empty. Ignoring...\");return}const t=e.sort((i,s)=>i.publishedAt-s.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(const i of t)try{await this.onMessageEvent(i)}catch(s){this.logger.warn(s,\"Error while processing batch message event: \"+s?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){const{topic:i}=e;if(!t.sessionExists){const s=ce(fe),n={topic:i,expiry:s,relay:{protocol:\"irn\"},active:!1};await this.core.pairing.pairings.set(i,n)}this.events.emit(C.message,e),await this.recordMessageEvent(e,le.inbound)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let t=1;for(;t<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${t}...`),await this.createProvider(),await new Promise(async(i,s)=>{const n=()=>{s(new Error(\"Connection interrupted while trying to subscribe\"))};this.provider.once(L.disconnect,n),await X(new Promise((o,a)=>{this.provider.connect().then(o).catch(a)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(o=>{s(o)}).finally(()=>{this.provider.off(L.disconnect,n),clearTimeout(this.reconnectTimeout)}),await new Promise(async(o,a)=>{const c=()=>{a(new Error(\"Connection interrupted while trying to subscribe\"))};this.provider.once(L.disconnect,c),await this.subscriber.start().then(o).catch(a).finally(()=>{this.provider.off(L.disconnect,c)})}),this.hasExperiencedNetworkDisruption=!1,i()})}catch(i){await this.subscriber.stop();const s=i;this.logger.warn({},s.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise(i=>setTimeout(i,R(t*1))),t++}}startPingTimeout(){var e,t,i,s,n;if(ut())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((n=(s=(i=this.provider)==null?void 0:i.connection)==null?void 0:s.socket)==null||n.on(\"ping\",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o,o?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new Ms(new Vs(Is({sdkVersion:_e,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,t){const{topic:i,message:s}=e;await this.messages.set(i,s,t)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;const s=this.messages.has(t,i);return s&&this.logger.warn(`Ignoring duplicate message: ${i}`),s}async onProviderPayload(e){if(this.logger.debug(\"Incoming Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"incoming\",payload:e}),ft(e)){if(!e.method.endsWith(zt))return;const t=e.params,{topic:i,message:s,publishedAt:n,attestation:o}=t.data,a={topic:i,message:s,publishedAt:n,transportType:Q.relay,attestation:o};this.logger.debug(\"Emitting Relayer Payload\"),this.logger.trace(Pi({type:\"event\",event:t.id},a)),this.events.emit(t.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else Dt(e)&&this.events.emit(C.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,le.inbound),this.events.emit(C.message,e))}async acknowledgePayload(e){const t=vt(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(L.payload,this.onPayloadHandler),this.provider.off(L.connect,this.onConnectHandler),this.provider.off(L.disconnect,this.onDisconnectHandler),this.provider.off(L.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await lt();Ts(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(i=>this.logger.error(i,i?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))}),this.core.heartbeat.on(te.pulse,async()=>{if(!this.transportExplicitlyClosed&&!this.connected&&Cs())try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(t){this.logger.warn(t,t?.message)}})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(C.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?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},R(Lt)))))}isInitialized(){if(!this.initialized){const{message:e}=m(\"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 so(){}function Oi(r){if(!r||typeof r!=\"object\")return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype||Object.getPrototypeOf(e)===null?Object.prototype.toString.call(r)===\"[object Object]\":!1}function Ri(r){return Object.getOwnPropertySymbols(r).filter(e=>Object.prototype.propertyIsEnumerable.call(r,e))}function Ai(r){return r==null?r===void 0?\"[object Undefined]\":\"[object Null]\":Object.prototype.toString.call(r)}const ro=\"[object RegExp]\",no=\"[object String]\",oo=\"[object Number]\",ao=\"[object Boolean]\",xi=\"[object Arguments]\",co=\"[object Symbol]\",ho=\"[object Date]\",lo=\"[object Map]\",uo=\"[object Set]\",go=\"[object Array]\",po=\"[object Function]\",yo=\"[object ArrayBuffer]\",Je=\"[object Object]\",bo=\"[object Error]\",mo=\"[object DataView]\",fo=\"[object Uint8Array]\",Do=\"[object Uint8ClampedArray]\",vo=\"[object Uint16Array]\",wo=\"[object Uint32Array]\",_o=\"[object BigUint64Array]\",Eo=\"[object Int8Array]\",Io=\"[object Int16Array]\",To=\"[object Int32Array]\",Co=\"[object BigInt64Array]\",Po=\"[object Float32Array]\",So=\"[object Float64Array]\";function Oo(r,e){return r===e||Number.isNaN(r)&&Number.isNaN(e)}function Ro(r,e,t){return pe(r,e,void 0,void 0,void 0,void 0,t)}function pe(r,e,t,i,s,n,o){const a=o(r,e,t,i,s,n);if(a!==void 0)return a;if(typeof r==typeof e)switch(typeof r){case\"bigint\":case\"string\":case\"boolean\":case\"symbol\":case\"undefined\":return r===e;case\"number\":return r===e||Object.is(r,e);case\"function\":return r===e;case\"object\":return ye(r,e,n,o)}return ye(r,e,n,o)}function ye(r,e,t,i){if(Object.is(r,e))return!0;let s=Ai(r),n=Ai(e);if(s===xi&&(s=Je),n===xi&&(n=Je),s!==n)return!1;switch(s){case no:return r.toString()===e.toString();case oo:{const c=r.valueOf(),h=e.valueOf();return Oo(c,h)}case ao:case ho:case co:return Object.is(r.valueOf(),e.valueOf());case ro:return r.source===e.source&&r.flags===e.flags;case po:return r===e}t=t??new Map;const o=t.get(r),a=t.get(e);if(o!=null&&a!=null)return o===e;t.set(r,e),t.set(e,r);try{switch(s){case lo:{if(r.size!==e.size)return!1;for(const[c,h]of r.entries())if(!e.has(c)||!pe(h,e.get(c),c,r,e,t,i))return!1;return!0}case uo:{if(r.size!==e.size)return!1;const c=Array.from(r.values()),h=Array.from(e.values());for(let l=0;l<c.length;l++){const d=c[l],g=h.findIndex(_=>pe(d,_,void 0,r,e,t,i));if(g===-1)return!1;h.splice(g,1)}return!0}case go:case fo:case Do:case vo:case wo:case _o:case Eo:case Io:case To:case Co:case Po:case So:{if(typeof Buffer<\"u\"&&Buffer.isBuffer(r)!==Buffer.isBuffer(e)||r.length!==e.length)return!1;for(let c=0;c<r.length;c++)if(!pe(r[c],e[c],c,r,e,t,i))return!1;return!0}case yo:return r.byteLength!==e.byteLength?!1:ye(new Uint8Array(r),new Uint8Array(e),t,i);case mo:return r.byteLength!==e.byteLength||r.byteOffset!==e.byteOffset?!1:ye(new Uint8Array(r),new Uint8Array(e),t,i);case bo:return r.name===e.name&&r.message===e.message;case Je:{if(!(ye(r.constructor,e.constructor,t,i)||Oi(r)&&Oi(e)))return!1;const h=[...Object.keys(r),...Ri(r)],l=[...Object.keys(e),...Ri(e)];if(h.length!==l.length)return!1;for(let d=0;d<h.length;d++){const g=h[d],_=r[g];if(!Object.hasOwn(e,g))return!1;const u=e[g];if(!pe(_,u,g,r,e,t,i))return!1}return!0}default:return!1}}finally{t.delete(r),t.delete(e)}}function Ao(r,e){return Ro(r,e,so)}var xo=Object.defineProperty,Ni=Object.getOwnPropertySymbols,No=Object.prototype.hasOwnProperty,$o=Object.prototype.propertyIsEnumerable,Xe=(r,e,t)=>e in r?xo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,$i=(r,e)=>{for(var t in e||(e={}))No.call(e,t)&&Xe(r,t,e[t]);if(Ni)for(var t of Ni(e))$o.call(e,t)&&Xe(r,t,e[t]);return r},z=(r,e,t)=>Xe(r,typeof e!=\"symbol\"?e+\"\":e,t);class zi extends ts{constructor(e,t,i,s=B,n=void 0){super(e,t,i,s),this.core=e,this.logger=t,this.name=i,z(this,\"map\",new Map),z(this,\"version\",kt),z(this,\"cached\",[]),z(this,\"initialized\",!1),z(this,\"getKey\"),z(this,\"storagePrefix\",B),z(this,\"recentlyDeleted\",[]),z(this,\"recentlyDeletedLimit\",200),z(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!xe(o)?this.map.set(this.getKey(o),o):Ps(o)?this.map.set(o.id,o):Ss(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)}),z(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())}),z(this,\"get\",o=>(this.isInitialized(),this.logger.debug(\"Getting value\"),this.logger.trace({type:\"method\",method:\"get\",key:o}),this.getData(o))),z(this,\"getAll\",o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(c=>Ao(a[c],o[c]))):this.values)),z(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=$i($i({},this.getData(o)),a);this.map.set(o,c),await this.persist()}),z(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=N(t,this.name),this.storagePrefix=s,this.getKey=n}get context(){return U(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 t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){const{message:s}=m(\"MISSING_OR_INVALID\",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(s),new Error(s)}const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}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:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}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}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var zo=Object.defineProperty,Lo=(r,e,t)=>e in r?zo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,p=(r,e,t)=>Lo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Li{constructor(e,t){this.core=e,this.logger=t,p(this,\"name\",Mt),p(this,\"version\",Kt),p(this,\"events\",new Gi),p(this,\"pairings\"),p(this,\"initialized\",!1),p(this,\"storagePrefix\",B),p(this,\"ignoredPayloadTypes\",[Rs]),p(this,\"registeredMethods\",[]),p(this,\"init\",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace(\"Initialized\"))}),p(this,\"register\",({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]}),p(this,\"create\",async i=>{this.isInitialized();const s=Ae(),n=await this.core.crypto.setSymKey(s),o=ce(fe),a={protocol:xt},c={topic:n,expiry:o,relay:a,active:!1,methods:i?.methods},h=dt({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:s,relay:a,expiryTimestamp:o,methods:i?.methods});return this.events.emit(re.create,c),this.core.expirer.set(n,o),await this.pairings.set(n,c),await this.core.relayer.subscribe(n,{transportType:i?.transportType}),{topic:n,uri:h}}),p(this,\"pair\",async i=>{this.isInitialized();const s=this.core.eventClient.createEvent({properties:{topic:i?.uri,trace:[G.pairing_started]}});this.isValidPair(i,s);const{topic:n,symKey:o,relay:a,expiryTimestamp:c,methods:h}=gt(i.uri);s.props.properties.topic=n,s.addTrace(G.pairing_uri_validation_success),s.addTrace(G.pairing_uri_not_expired);let l;if(this.pairings.keys.includes(n)){if(l=this.pairings.get(n),s.addTrace(G.existing_pairing),l.active)throw s.setError(Y.active_pairing_already_exists),new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);s.addTrace(G.pairing_not_expired)}const d=c||ce(fe),g={topic:n,relay:a,expiry:d,active:!1,methods:h};this.core.expirer.set(n,d),await this.pairings.set(n,g),s.addTrace(G.store_new_pairing),i.activatePairing&&await this.activate({topic:n}),this.events.emit(re.create,g),s.addTrace(G.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(o,n),s.addTrace(G.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{s.setError(Y.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:a})}catch(_){throw s.setError(Y.subscribe_pairing_topic_failure),_}return s.addTrace(G.subscribe_pairing_topic_success),g}),p(this,\"activate\",async({topic:i})=>{this.isInitialized();const s=ce(fe);this.core.expirer.set(i,s),await this.pairings.update(i,{active:!0,expiry:s})}),p(this,\"ping\",async i=>{this.isInitialized(),await this.isValidPing(i),this.logger.warn(\"ping() is deprecated and will be removed in the next major release.\");const{topic:s}=i;if(this.pairings.keys.includes(s)){const n=await this.sendRequest(s,\"wc_pairingPing\",{}),{done:o,resolve:a,reject:c}=As();this.events.once(Ne(\"pairing_ping\",n),({error:h})=>{h?c(h):a()}),await o()}}),p(this,\"updateExpiry\",async({topic:i,expiry:s})=>{this.isInitialized(),await this.pairings.update(i,{expiry:s})}),p(this,\"updateMetadata\",async({topic:i,metadata:s})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:s})}),p(this,\"getPairings\",()=>(this.isInitialized(),this.pairings.values)),p(this,\"disconnect\",async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:s}=i;this.pairings.keys.includes(s)&&(await this.sendRequest(s,\"wc_pairingDelete\",ae(\"USER_DISCONNECTED\")),await this.deletePairing(s))}),p(this,\"formatUriFromPairing\",i=>{this.isInitialized();const{topic:s,relay:n,expiry:o,methods:a}=i,c=this.core.crypto.keychain.get(s);return dt({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:c,relay:n,expiryTimestamp:o,methods:a})}),p(this,\"sendRequest\",async(i,s,n)=>{const o=wt(s,n),a=await this.core.crypto.encode(i,o),c=se[s].req;return this.core.history.set(i,o),this.core.relayer.publish(i,a,c),o.id}),p(this,\"sendResult\",async(i,s,n)=>{const o=vt(i,n),a=await this.core.crypto.encode(s,o),c=(await this.core.history.get(s,i)).request.method,h=se[c].res;await this.core.relayer.publish(s,a,h),await this.core.history.resolve(o)}),p(this,\"sendError\",async(i,s,n)=>{const o=Ks(i,n),a=await this.core.crypto.encode(s,o),c=(await this.core.history.get(s,i)).request.method,h=se[c]?se[c].res:se.unregistered_method.res;await this.core.relayer.publish(s,a,h),await this.core.history.resolve(o)}),p(this,\"deletePairing\",async(i,s)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,ae(\"USER_DISCONNECTED\")),this.core.crypto.deleteSymKey(i),s?Promise.resolve():this.core.expirer.del(i)])}),p(this,\"cleanup\",async()=>{const i=this.pairings.getAll().filter(s=>pt(s.expiry));await Promise.all(i.map(s=>this.deletePairing(s.topic)))}),p(this,\"onRelayEventRequest\",async i=>{const{topic:s,payload:n}=i;switch(n.method){case\"wc_pairingPing\":return await this.onPairingPingRequest(s,n);case\"wc_pairingDelete\":return await this.onPairingDeleteRequest(s,n);default:return await this.onUnknownRpcMethodRequest(s,n)}}),p(this,\"onRelayEventResponse\",async i=>{const{topic:s,payload:n}=i,o=(await this.core.history.get(s,n.id)).request.method;switch(o){case\"wc_pairingPing\":return this.onPairingPingResponse(s,n);default:return this.onUnknownRpcMethodResponse(o)}}),p(this,\"onPairingPingRequest\",async(i,s)=>{const{id:n}=s;try{this.isValidPing({topic:i}),await this.sendResult(n,i,!0),this.events.emit(re.ping,{id:n,topic:i})}catch(o){await this.sendError(n,i,o),this.logger.error(o)}}),p(this,\"onPairingPingResponse\",(i,s)=>{const{id:n}=s;setTimeout(()=>{Bs(s)?this.events.emit(Ne(\"pairing_ping\",n),{}):_t(s)&&this.events.emit(Ne(\"pairing_ping\",n),{error:s.error})},500)}),p(this,\"onPairingDeleteRequest\",async(i,s)=>{const{id:n}=s;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(re.delete,{id:n,topic:i})}catch(o){await this.sendError(n,i,o),this.logger.error(o)}}),p(this,\"onUnknownRpcMethodRequest\",async(i,s)=>{const{id:n,method:o}=s;try{if(this.registeredMethods.includes(o))return;const a=ae(\"WC_METHOD_UNSUPPORTED\",o);await this.sendError(n,i,a),this.logger.error(a)}catch(a){await this.sendError(n,i,a),this.logger.error(a)}}),p(this,\"onUnknownRpcMethodResponse\",i=>{this.registeredMethods.includes(i)||this.logger.error(ae(\"WC_METHOD_UNSUPPORTED\",i))}),p(this,\"isValidPair\",(i,s)=>{var n;if(!$e(i)){const{message:a}=m(\"MISSING_OR_INVALID\",`pair() params: ${i}`);throw s.setError(Y.malformed_pairing_uri),new Error(a)}if(!xs(i.uri)){const{message:a}=m(\"MISSING_OR_INVALID\",`pair() uri: ${i.uri}`);throw s.setError(Y.malformed_pairing_uri),new Error(a)}const o=gt(i?.uri);if(!((n=o?.relay)!=null&&n.protocol)){const{message:a}=m(\"MISSING_OR_INVALID\",\"pair() uri#relay-protocol\");throw s.setError(Y.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=m(\"MISSING_OR_INVALID\",\"pair() uri#symKey\");throw s.setError(Y.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&R(o?.expiryTimestamp)<Date.now()){s.setError(Y.pairing_expired);const{message:a}=m(\"EXPIRED\",\"pair() URI has expired. Please try again with a new connection URI.\");throw new Error(a)}}),p(this,\"isValidPing\",async i=>{if(!$e(i)){const{message:n}=m(\"MISSING_OR_INVALID\",`ping() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)}),p(this,\"isValidDisconnect\",async i=>{if(!$e(i)){const{message:n}=m(\"MISSING_OR_INVALID\",`disconnect() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)}),p(this,\"isValidPairingTopic\",async i=>{if(!Ns(i,!1)){const{message:s}=m(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${i}`);throw new Error(s)}if(!this.pairings.keys.includes(i)){const{message:s}=m(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${i}`);throw new Error(s)}if(pt(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:s}=m(\"EXPIRED\",`pairing topic: ${i}`);throw new Error(s)}}),this.core=e,this.logger=N(t,this.name),this.pairings=new zi(this.core,this.logger,this.name,this.storagePrefix)}get context(){return U(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(C.message,async e=>{const{topic:t,message:i,transportType:s}=e;if(this.pairings.keys.includes(t)&&s!==Q.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))try{const n=await this.core.crypto.decode(t,i);ft(n)?(this.core.history.set(t,n),await this.onRelayEventRequest({topic:t,payload:n})):Dt(n)&&(await this.core.history.resolve(n),await this.onRelayEventResponse({topic:t,payload:n}),this.core.history.delete(t,n.id)),await this.core.relayer.messages.ack(t,i)}catch(n){this.logger.error(n)}})}registerExpirerEvents(){this.core.expirer.on(M.expired,async e=>{const{topic:t}=Os(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(re.expire,{topic:t}))})}}var ko=Object.defineProperty,jo=(r,e,t)=>e in r?ko(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,O=(r,e,t)=>jo(r,typeof e!=\"symbol\"?e+\"\":e,t);class ki extends is{constructor(e,t){super(e,t),this.core=e,this.logger=t,O(this,\"records\",new Map),O(this,\"events\",new ee),O(this,\"name\",Bt),O(this,\"version\",Vt),O(this,\"cached\",[]),O(this,\"initialized\",!1),O(this,\"storagePrefix\",B),O(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),O(this,\"set\",(i,s,n)=>{if(this.isInitialized(),this.logger.debug(\"Setting JSON-RPC request history record\"),this.logger.trace({type:\"method\",method:\"set\",topic:i,request:s,chainId:n}),this.records.has(s.id))return;const o={id:s.id,topic:i,request:{method:s.method,params:s.params||null},chainId:n,expiry:ce(Ce)};this.records.set(o.id,o),this.persist(),this.events.emit(F.created,o)}),O(this,\"resolve\",async i=>{if(this.isInitialized(),this.logger.debug(\"Updating JSON-RPC response history record\"),this.logger.trace({type:\"method\",method:\"update\",response:i}),!this.records.has(i.id))return;const s=await this.getRecord(i.id);typeof s.response>\"u\"&&(s.response=_t(i)?{error:i.error}:{result:i.result},this.records.set(s.id,s),this.persist(),this.events.emit(F.updated,s))}),O(this,\"get\",async(i,s)=>(this.isInitialized(),this.logger.debug(\"Getting record\"),this.logger.trace({type:\"method\",method:\"get\",topic:i,id:s}),await this.getRecord(s))),O(this,\"delete\",(i,s)=>{this.isInitialized(),this.logger.debug(\"Deleting record\"),this.logger.trace({type:\"method\",method:\"delete\",id:s}),this.values.forEach(n=>{if(n.topic===i){if(typeof s<\"u\"&&n.id!==s)return;this.records.delete(n.id),this.events.emit(F.deleted,n)}}),this.persist()}),O(this,\"exists\",async(i,s)=>(this.isInitialized(),this.records.has(s)?(await this.getRecord(s)).topic===i:!1)),O(this,\"on\",(i,s)=>{this.events.on(i,s)}),O(this,\"once\",(i,s)=>{this.events.once(i,s)}),O(this,\"off\",(i,s)=>{this.events.off(i,s)}),O(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),this.logger=N(t,this.name)}get context(){return U(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(t=>{if(typeof t.response<\"u\")return;const i={topic:t.topic,request:wt(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),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 t=this.records.get(e);if(!t){const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(F.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>\"u\"||!e.length)return;if(this.records.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}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(F.created,e=>{const t=F.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(F.updated,e=>{const t=F.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(F.deleted,e=>{const t=F.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.core.heartbeat.on(te.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{R(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(F.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Uo=Object.defineProperty,Fo=(r,e,t)=>e in r?Uo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,A=(r,e,t)=>Fo(r,typeof e!=\"symbol\"?e+\"\":e,t);class ji extends ss{constructor(e,t){super(e,t),this.core=e,this.logger=t,A(this,\"expirations\",new Map),A(this,\"events\",new ee),A(this,\"name\",qt),A(this,\"version\",Gt),A(this,\"cached\",[]),A(this,\"initialized\",!1),A(this,\"storagePrefix\",B),A(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),A(this,\"has\",i=>{try{const s=this.formatTarget(i);return typeof this.getExpiration(s)<\"u\"}catch{return!1}}),A(this,\"set\",(i,s)=>{this.isInitialized();const n=this.formatTarget(i),o={target:n,expiry:s};this.expirations.set(n,o),this.checkExpiry(n,o),this.events.emit(M.created,{target:n,expiration:o})}),A(this,\"get\",i=>{this.isInitialized();const s=this.formatTarget(i);return this.getExpiration(s)}),A(this,\"del\",i=>{if(this.isInitialized(),this.has(i)){const s=this.formatTarget(i),n=this.getExpiration(s);this.expirations.delete(s),this.events.emit(M.deleted,{target:s,expiration:n})}}),A(this,\"on\",(i,s)=>{this.events.on(i,s)}),A(this,\"once\",(i,s)=>{this.events.once(i,s)}),A(this,\"off\",(i,s)=>{this.events.off(i,s)}),A(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),this.logger=N(t,this.name)}get context(){return U(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 $s(e);if(typeof e==\"number\")return zs(e);const{message:t}=m(\"UNKNOWN_TYPE\",`Target type: ${typeof e}`);throw new Error(t)}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(M.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>\"u\"||!e.length)return;if(this.expirations.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}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 t=this.expirations.get(e);if(!t){const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.warn(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;R(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(M.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(te.pulse,()=>this.checkExpirations()),this.events.on(M.created,e=>{const t=M.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(M.expired,e=>{const t=M.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(M.deleted,e=>{const t=M.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Mo=Object.defineProperty,Ko=(r,e,t)=>e in r?Mo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,w=(r,e,t)=>Ko(r,typeof e!=\"symbol\"?e+\"\":e,t);class Ui extends rs{constructor(e,t,i){super(e,t,i),this.core=e,this.logger=t,this.store=i,w(this,\"name\",Wt),w(this,\"abortController\"),w(this,\"isDevEnv\"),w(this,\"verifyUrlV3\",Yt),w(this,\"storagePrefix\",B),w(this,\"version\",Le),w(this,\"publicKey\"),w(this,\"fetchPromise\"),w(this,\"init\",async()=>{var s;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&R((s=this.publicKey)==null?void 0:s.expiresAt)<Date.now()&&(this.logger.debug(\"verify v2 public key expired\"),await this.removePublicKey()))}),w(this,\"register\",async s=>{if(!Ls()||this.isDevEnv)return;const n=window.location.origin,{id:o,decryptedId:a}=s,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${n}&id=${o}&decryptedId=${a}`;try{const h=qs(),l=this.startAbortTimer(Z*5),d=await new Promise((g,_)=>{const u=()=>{window.removeEventListener(\"message\",x),h.body.removeChild(b),_(\"attestation aborted\")};this.abortController.signal.addEventListener(\"abort\",u);const b=h.createElement(\"iframe\");b.src=c,b.style.display=\"none\",b.addEventListener(\"error\",u,{signal:this.abortController.signal});const x=I=>{if(I.data&&typeof I.data==\"string\")try{const D=JSON.parse(I.data);if(D.type===\"verify_attestation\"){if(rt(D.attestation).payload.id!==o)return;clearInterval(l),h.body.removeChild(b),this.abortController.signal.removeEventListener(\"abort\",u),window.removeEventListener(\"message\",x),g(D.attestation===null?\"\":D.attestation)}}catch(D){this.logger.warn(D)}};h.body.appendChild(b),window.addEventListener(\"message\",x,{signal:this.abortController.signal})});return this.logger.debug(\"jwt attestation\",d),d}catch(h){this.logger.warn(h)}return\"\"}),w(this,\"resolve\",async s=>{if(this.isDevEnv)return\"\";const{attestationId:n,hash:o,encryptedId:a}=s;if(n===\"\"){this.logger.debug(\"resolve: attestationId is empty, skipping\");return}if(n){if(rt(n).payload.id!==a)return;const h=await this.isValidJwtAttestation(n);if(h){if(!h.isVerified){this.logger.warn(\"resolve: jwt attestation: origin url not verified\");return}return h}}if(!o)return;const c=this.getVerifyUrl(s?.verifyUrl);return this.fetchAttestation(o,c)}),w(this,\"fetchAttestation\",async(s,n)=>{this.logger.debug(`resolving attestation: ${s} from url: ${n}`);const o=this.startAbortTimer(Z*5),a=await fetch(`${n}/attestation/${s}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0}),w(this,\"getVerifyUrl\",s=>{let n=s||ue;return Jt.includes(n)||(this.logger.info(`verify url: ${n}, not included in trusted list, assigning default: ${ue}`),n=ue),n}),w(this,\"fetchPublicKey\",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const s=this.startAbortTimer(Pe),n=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(s),await n.json()}catch(s){this.logger.warn(s)}}),w(this,\"persistPublicKey\",async s=>{this.logger.debug(\"persisting public key to local storage\",s),await this.store.setItem(this.storeKey,s),this.publicKey=s}),w(this,\"removePublicKey\",async()=>{this.logger.debug(\"removing verify v2 public key from storage\"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),w(this,\"isValidJwtAttestation\",async s=>{const n=await this.getPublicKey();try{if(n)return this.validateAttestation(s,n)}catch(a){this.logger.error(a),this.logger.warn(\"error validating attestation\")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(s,o)}catch(a){this.logger.error(a),this.logger.warn(\"error validating attestation\")}}),w(this,\"getPublicKey\",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),w(this,\"fetchAndPersistPublicKey\",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async n=>{const o=await this.fetchPublicKey();o&&(await this.persistPublicKey(o),n(o))});const s=await this.fetchPromise;return this.fetchPromise=void 0,s}),w(this,\"validateAttestation\",(s,n)=>{const o=ks(s,n.publicKey),a={hasExpired:R(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=N(t,this.name),this.abortController=new AbortController,this.isDevEnv=yt(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//verify:public:key\"}get context(){return U(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),R(e))}}var Bo=Object.defineProperty,Vo=(r,e,t)=>e in r?Bo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Fi=(r,e,t)=>Vo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Mi extends ns{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,Fi(this,\"context\",Xt),Fi(this,\"registerDeviceToken\",async i=>{const{clientId:s,token:n,notificationType:o,enableEncrypted:a=!1}=i,c=`${Zt}/${this.projectId}/clients`;await fetch(c,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({client_id:s,type:o,token:n,always_raw:a})})}),this.logger=N(t,this.context)}}var qo=Object.defineProperty,Ki=Object.getOwnPropertySymbols,Go=Object.prototype.hasOwnProperty,Wo=Object.prototype.propertyIsEnumerable,Ze=(r,e,t)=>e in r?qo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,be=(r,e)=>{for(var t in e||(e={}))Go.call(e,t)&&Ze(r,t,e[t]);if(Ki)for(var t of Ki(e))Wo.call(e,t)&&Ze(r,t,e[t]);return r},E=(r,e,t)=>Ze(r,typeof e!=\"symbol\"?e+\"\":e,t);class Bi extends os{constructor(e,t,i=!0){super(e,t,i),this.core=e,this.logger=t,E(this,\"context\",ei),E(this,\"storagePrefix\",B),E(this,\"storageVersion\",Qt),E(this,\"events\",new Map),E(this,\"shouldPersist\",!1),E(this,\"init\",async()=>{if(!yt())try{const s={eventId:bt(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:\"INIT\",type:\"\",properties:{client_id:await this.core.crypto.getClientId(),user_agent:js(this.core.relayer.protocol,this.core.relayer.version,_e)}}};await this.sendEvent([s])}catch(s){this.logger.warn(s)}}),E(this,\"createEvent\",s=>{const{event:n=\"ERROR\",type:o=\"\",properties:{topic:a,trace:c}}=s,h=bt(),l=this.core.projectId||\"\",d=Date.now(),g=be({eventId:h,timestamp:d,props:{event:n,type:o,properties:{topic:a,trace:c}},bundleId:l,domain:this.getAppDomain()},this.setMethods(h));return this.telemetryEnabled&&(this.events.set(h,g),this.shouldPersist=!0),g}),E(this,\"getEvent\",s=>{const{eventId:n,topic:o}=s;if(n)return this.events.get(n);const a=Array.from(this.events.values()).find(c=>c.props.properties.topic===o);if(a)return be(be({},a),this.setMethods(a.eventId))}),E(this,\"deleteEvent\",s=>{const{eventId:n}=s;this.events.delete(n),this.shouldPersist=!0}),E(this,\"setEventListeners\",()=>{this.core.heartbeat.on(te.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(s=>{it(Date.now())-it(s.timestamp)>ti&&(this.events.delete(s.eventId),this.shouldPersist=!0)})})}),E(this,\"setMethods\",s=>({addTrace:n=>this.addTrace(s,n),setError:n=>this.setError(s,n)})),E(this,\"addTrace\",(s,n)=>{const o=this.events.get(s);o&&(o.props.properties.trace.push(n),this.events.set(s,o),this.shouldPersist=!0)}),E(this,\"setError\",(s,n)=>{const o=this.events.get(s);o&&(o.props.type=n,o.timestamp=Date.now(),this.events.set(s,o),this.shouldPersist=!0)}),E(this,\"persist\",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),E(this,\"restore\",async()=>{try{const s=await this.core.storage.getItem(this.storageKey)||[];if(!s.length)return;s.forEach(n=>{this.events.set(n.eventId,be(be({},n),this.setMethods(n.eventId)))})}catch(s){this.logger.warn(s)}}),E(this,\"submit\",async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const s=[];for(const[n,o]of this.events)o.props.type&&s.push(o);if(s.length!==0)try{if((await this.sendEvent(s)).ok)for(const n of s)this.events.delete(n.eventId),this.shouldPersist=!0}catch(n){this.logger.warn(n)}}),E(this,\"sendEvent\",async s=>{const n=this.getAppDomain()?\"\":\"&sp=desktop\";return await fetch(`${ii}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${_e}${n}`,{method:\"POST\",body:JSON.stringify(s)})}),E(this,\"getAppDomain\",()=>Us().url),this.logger=N(t,this.context),this.telemetryEnabled=i,i?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+\"//\"+this.context}}var Ho=Object.defineProperty,Vi=Object.getOwnPropertySymbols,Yo=Object.prototype.hasOwnProperty,Jo=Object.prototype.propertyIsEnumerable,Qe=(r,e,t)=>e in r?Ho(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,qi=(r,e)=>{for(var t in e||(e={}))Yo.call(e,t)&&Qe(r,t,e[t]);if(Vi)for(var t of Vi(e))Jo.call(e,t)&&Qe(r,t,e[t]);return r},v=(r,e,t)=>Qe(r,typeof e!=\"symbol\"?e+\"\":e,t);class Te extends as{constructor(e){var t;super(e),v(this,\"protocol\",ze),v(this,\"version\",Le),v(this,\"name\",he),v(this,\"relayUrl\"),v(this,\"projectId\"),v(this,\"customStoragePrefix\"),v(this,\"events\",new ee),v(this,\"logger\"),v(this,\"heartbeat\"),v(this,\"relayer\"),v(this,\"crypto\"),v(this,\"storage\"),v(this,\"history\"),v(this,\"expirer\"),v(this,\"pairing\"),v(this,\"verify\"),v(this,\"echoClient\"),v(this,\"linkModeSupportedApps\"),v(this,\"eventClient\"),v(this,\"initialized\",!1),v(this,\"logChunkController\"),v(this,\"on\",(a,c)=>this.events.on(a,c)),v(this,\"once\",(a,c)=>this.events.once(a,c)),v(this,\"off\",(a,c)=>this.events.off(a,c)),v(this,\"removeListener\",(a,c)=>this.events.removeListener(a,c)),v(this,\"dispatchEnvelope\",({topic:a,message:c,sessionExists:h})=>{if(!a||!c)return;const l={topic:a,message:c,publishedAt:Date.now(),transportType:Q.link_mode};this.relayer.onLinkMessageEvent(l,{sessionExists:h})});const i=this.getGlobalCore(e?.customStoragePrefix);if(i)try{return this.customStoragePrefix=i.customStoragePrefix,this.logger=i.logger,this.heartbeat=i.heartbeat,this.crypto=i.crypto,this.history=i.history,this.expirer=i.expirer,this.storage=i.storage,this.relayer=i.relayer,this.pairing=i.pairing,this.verify=i.verify,this.echoClient=i.echoClient,this.linkModeSupportedApps=i.linkModeSupportedApps,this.eventClient=i.eventClient,this.initialized=i.initialized,this.logChunkController=i.logChunkController,i}catch(a){console.warn(\"Failed to copy global core\",a)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||Ue,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:\"\";const s=et({level:typeof e?.logger==\"string\"&&e.logger?e.logger:Et.logger,name:he}),{logger:n,chunkLoggerController:o}=Ji({opts:s,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=o,(t=this.logChunkController)!=null&&t.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=N(n,this.name),this.heartbeat=new Wi,this.crypto=new vi(this,this.logger,e?.keychain),this.history=new ki(this,this.logger),this.expirer=new ji(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Hi(qi(qi({},It),e?.storageOptions)),this.relayer=new Si({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new Li(this,this.logger),this.verify=new Ui(this,this.logger,this.storage),this.echoClient=new Mi(this.projectId||\"\",this.logger),this.linkModeSupportedApps=[],this.eventClient=new Bi(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(e){const t=new Te(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(jt,i),t}get context(){return U(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(Fe,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(Fe)||[],this.initialized=!0,this.logger.info(\"Core Initialization Success\")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}getGlobalCore(e=\"\"){try{if(this.isGlobalCoreDisabled())return;const t=`_walletConnectCore_${e}`,i=`${t}_count`;return globalThis[i]=(globalThis[i]||0)+1,globalThis[i]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[i]} times.`),globalThis[t]}catch(t){console.warn(\"Failed to get global WalletConnect core\",t);return}}setGlobalCore(e){var t;try{if(this.isGlobalCoreDisabled())return;const i=`_walletConnectCore_${((t=e.opts)==null?void 0:t.customStoragePrefix)||\"\"}`;globalThis[i]=e}catch(i){console.warn(\"Failed to set global WalletConnect core\",i)}}isGlobalCoreDisabled(){try{return typeof process<\"u\"&&process.env.DISABLE_GLOBAL_CORE===\"true\"}catch{return!0}}}const Xo=Te;export{he as CORE_CONTEXT,Et as CORE_DEFAULT,ze as CORE_PROTOCOL,It as CORE_STORAGE_OPTIONS,B as CORE_STORAGE_PREFIX,Le as CORE_VERSION,ke as CRYPTO_CLIENT_SEED,Tt as CRYPTO_CONTEXT,Ct as CRYPTO_JWT_TTL,Xo as Core,vi as Crypto,Xt as ECHO_CONTEXT,Zt as ECHO_URL,ii as EVENTS_CLIENT_API_URL,ti as EVENTS_STORAGE_CLEANUP_INTERVAL,ei as EVENTS_STORAGE_CONTEXT,Qt as EVENTS_STORAGE_VERSION,sr as EVENT_CLIENT_AUTHENTICATE_ERRORS,ir as EVENT_CLIENT_AUTHENTICATE_TRACES,Qs as EVENT_CLIENT_CONTEXT,Y as EVENT_CLIENT_PAIRING_ERRORS,G as EVENT_CLIENT_PAIRING_TRACES,tr as EVENT_CLIENT_SESSION_ERRORS,er as EVENT_CLIENT_SESSION_TRACES,qt as EXPIRER_CONTEXT,Xs as EXPIRER_DEFAULT_TTL,M as EXPIRER_EVENTS,Gt as EXPIRER_STORAGE_VERSION,Mi as EchoClient,Bi as EventClient,ji as Expirer,Bt as HISTORY_CONTEXT,F as HISTORY_EVENTS,Vt as HISTORY_STORAGE_VERSION,ki as JsonRpcHistory,Pt as KEYCHAIN_CONTEXT,St as KEYCHAIN_STORAGE_VERSION,Di as KeyChain,Ot as MESSAGES_CONTEXT,Rt as MESSAGES_STORAGE_VERSION,le as MESSAGE_DIRECTION,_i as MessageTracker,Mt as PAIRING_CONTEXT,Js as PAIRING_DEFAULT_TTL,re as PAIRING_EVENTS,se as PAIRING_RPC_OPTS,Kt as PAIRING_STORAGE_VERSION,Ys as PENDING_SUB_RESOLUTION_TIMEOUT,At as PUBLISHER_CONTEXT,je as PUBLISHER_DEFAULT_TTL,Li as Pairing,$t as RELAYER_CONTEXT,Nt as RELAYER_DEFAULT_LOGGER,xt as RELAYER_DEFAULT_PROTOCOL,Ue as RELAYER_DEFAULT_RELAY_URL,C as RELAYER_EVENTS,L as RELAYER_PROVIDER_EVENTS,Lt as RELAYER_RECONNECT_TIMEOUT,_e as RELAYER_SDK_VERSION,Gs as RELAYER_STORAGE_OPTIONS,zt as RELAYER_SUBSCRIBER_SUFFIX,Ws as RELAYER_TRANSPORT_CUTOFF,Si as Relayer,kt as STORE_STORAGE_VERSION,Ut as SUBSCRIBER_CONTEXT,Hs as SUBSCRIBER_DEFAULT_TTL,$ as SUBSCRIBER_EVENTS,Ft as SUBSCRIBER_STORAGE_VERSION,zi as Store,Ti as Subscriber,Q as TRANSPORT_TYPES,Jt as TRUSTED_VERIFY_URLS,Wt as VERIFY_CONTEXT,ue as VERIFY_SERVER,Yt as VERIFY_SERVER_V3,Ui as Verify,jt as WALLETCONNECT_CLIENT_ID,Fe as WALLETCONNECT_LINK_MODE_APPS,Te as default};\n//# sourceMappingURL=index.es.js.map\n","import{RELAYER_EVENTS as Xe,TRANSPORT_TYPES as P,EXPIRER_EVENTS as Tt,PAIRING_EVENTS as Je,RELAYER_DEFAULT_PROTOCOL as qt,EVENT_CLIENT_SESSION_TRACES as k,EVENT_CLIENT_SESSION_ERRORS as H,EVENT_CLIENT_AUTHENTICATE_TRACES as z,EVENT_CLIENT_AUTHENTICATE_ERRORS as re,EVENT_CLIENT_PAIRING_ERRORS as Pt,EVENT_CLIENT_PAIRING_TRACES as Nt,VERIFY_SERVER as Ot,Store as B,Core as bt}from\"@walletconnect/core\";import{pino as At,getDefaultLoggerOptions as xt,generateChildLogger as Ct,getLoggerContext as Vt}from\"@walletconnect/logger\";import{IEngine as Dt,ISignClient as Lt}from\"@walletconnect/types\";import{THIRTY_DAYS as kt,SEVEN_DAYS as Be,FIVE_MINUTES as C,ONE_DAY as U,ONE_HOUR as We,ONE_SECOND as Ze,toMiliseconds as Oe}from\"@walletconnect/time\";import{getInternalError as y,BASE64URL as ne,BASE64 as de,hashMessage as W,parseExpirerTarget as Mt,isValidString as Y,isExpired as Z,isValidId as $t,mergeRequiredAndOptionalNamespaces as Kt,calcExpiry as V,engineEvent as R,createDelayedPromise as ee,getSdkError as O,getDeepLink as Ut,handleDeeplinkRedirect as Gt,isSessionCompatible as jt,hashKey as be,parseChainId as Ae,createEncodedRecap as Ft,getRecapFromResources as xe,mergeEncodedRecaps as Qt,TYPE_2 as Ht,getLinkModeURL as ue,validateSignedCacao as et,getNamespacedDidChainId as tt,getDidAddress as st,getMethodsFromRecap as it,getChainsFromRecap as rt,buildNamespacesFromAuth as nt,formatMessage as zt,MemoryStore as oe,isValidParams as M,isUndefined as X,isValidRelays as Yt,isValidObject as ot,isValidRequiredNamespaces as Xt,isValidNamespaces as Ce,isConformingNamespaces as at,isValidErrorReason as Jt,isValidRelay as Bt,isValidController as Wt,isValidNamespacesChainId as ct,isValidRequest as Zt,isValidNamespacesRequest as es,isValidRequestExpiry as ts,isValidResponse as ss,isValidEvent as is,isValidNamespacesEvent as rs,getSearchParamFromURL as lt,isTestRun as ns,isReactNative as os,isValidArray as as,extractSolanaTransactionId as cs,TYPE_1 as Ve,populateAppMetadata as ls}from\"@walletconnect/utils\";import ps,{EventEmitter as hs}from\"events\";import{isJsonRpcRequest as ds,isJsonRpcResponse as us,payloadId as G,getBigIntRpcId as ge,isJsonRpcResult as j,isJsonRpcError as F,formatJsonRpcRequest as ye,formatJsonRpcResult as gs,formatJsonRpcError as ys}from\"@walletconnect/jsonrpc-utils\";const De=\"wc\",Le=2,ke=\"client\",we=`${De}@${Le}:${ke}:`,me={name:ke,logger:\"error\",controller:!1,relayUrl:\"wss://relay.walletconnect.org\"},ws={session_proposal:\"session_proposal\",session_update:\"session_update\",session_extend:\"session_extend\",session_ping:\"session_ping\",session_delete:\"session_delete\",session_expire:\"session_expire\",session_request:\"session_request\",session_request_sent:\"session_request_sent\",session_event:\"session_event\",proposal_expire:\"proposal_expire\",session_authenticate:\"session_authenticate\",session_request_expire:\"session_request_expire\",session_connect:\"session_connect\"},ms={database:\":memory:\"},Me=\"WALLETCONNECT_DEEPLINK_CHOICE\",_s={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},Es=\"history\",fs=\"0.3\",pt=\"proposal\",Ss=kt,$e=\"Proposal expired\",ht=\"session\",J=Be,dt=\"engine\",N={wc_sessionPropose:{req:{ttl:C,prompt:!0,tag:1100},res:{ttl:C,prompt:!1,tag:1101},reject:{ttl:C,prompt:!1,tag:1120},autoReject:{ttl:C,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:C,prompt:!1,tag:1102},res:{ttl:C,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:U,prompt:!1,tag:1104},res:{ttl:U,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:U,prompt:!1,tag:1106},res:{ttl:U,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:C,prompt:!0,tag:1108},res:{ttl:C,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:C,prompt:!0,tag:1110},res:{ttl:C,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:U,prompt:!1,tag:1112},res:{ttl:U,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:U,prompt:!1,tag:1114},res:{ttl:U,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:We,prompt:!0,tag:1116},res:{ttl:We,prompt:!1,tag:1117},reject:{ttl:C,prompt:!1,tag:1118},autoReject:{ttl:C,prompt:!1,tag:1119}}},_e={min:C,max:Be},$={idle:\"IDLE\",active:\"ACTIVE\"},Ke={eth_sendTransaction:{key:\"\"},eth_sendRawTransaction:{key:\"\"},wallet_sendCalls:{key:\"\"},solana_signTransaction:{key:\"signature\"},solana_signAllTransactions:{key:\"transactions\"},solana_signAndSendTransaction:{key:\"signature\"}},ut=\"request\",gt=[\"wc_sessionPropose\",\"wc_sessionRequest\",\"wc_authRequest\",\"wc_sessionAuthenticate\"],yt=\"wc\",Rs=1.5,wt=\"auth\",mt=\"authKeys\",_t=\"pairingTopics\",Et=\"requests\",ae=`${yt}@${1.5}:${wt}:`,ce=`${ae}:PUB_KEY`;var vs=Object.defineProperty,Is=Object.defineProperties,Ts=Object.getOwnPropertyDescriptors,ft=Object.getOwnPropertySymbols,qs=Object.prototype.hasOwnProperty,Ps=Object.prototype.propertyIsEnumerable,Ue=(S,n,e)=>n in S?vs(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,v=(S,n)=>{for(var e in n||(n={}))qs.call(n,e)&&Ue(S,e,n[e]);if(ft)for(var e of ft(n))Ps.call(n,e)&&Ue(S,e,n[e]);return S},b=(S,n)=>Is(S,Ts(n)),c=(S,n,e)=>Ue(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ns extends Dt{constructor(n){super(n),c(this,\"name\",dt),c(this,\"events\",new ps),c(this,\"initialized\",!1),c(this,\"requestQueue\",{state:$.idle,queue:[]}),c(this,\"sessionRequestQueue\",{state:$.idle,queue:[]}),c(this,\"requestQueueDelay\",Ze),c(this,\"expectedPairingMethodMap\",new Map),c(this,\"recentlyDeletedMap\",new Map),c(this,\"recentlyDeletedLimit\",200),c(this,\"relayMessageCache\",[]),c(this,\"pendingSessions\",new Map),c(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(N)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Oe(this.requestQueueDelay)))}),c(this,\"connect\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();const t=b(v({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t),t.optionalNamespaces=Kt(t.requiredNamespaces,t.optionalNamespaces),t.requiredNamespaces={};const{pairingTopic:s,requiredNamespaces:i,optionalNamespaces:r,sessionProperties:o,scopedProperties:a,relays:l}=t;let p=s,h,u=!1;try{if(p){const T=this.client.core.pairing.pairings.get(p);this.client.logger.warn(\"connect() with existing pairing topic is deprecated and will be removed in the next major release.\"),u=T.active}}catch(T){throw this.client.logger.error(`connect() -> pairing.get(${p}) failed`),T}if(!p||!u){const{topic:T,uri:K}=await this.client.core.pairing.create();p=T,h=K}if(!p){const{message:T}=y(\"NO_MATCHING_KEY\",`connect() pairing topic: ${p}`);throw new Error(T)}const d=await this.client.core.crypto.generateKeyPair(),w=N.wc_sessionPropose.req.ttl||C,m=V(w),f=b(v(v({requiredNamespaces:i,optionalNamespaces:r,relays:l??[{protocol:qt}],proposer:{publicKey:d,metadata:this.client.metadata},expiryTimestamp:m,pairingTopic:p},o&&{sessionProperties:o}),a&&{scopedProperties:a}),{id:G()}),_=R(\"session_connect\",f.id),{reject:g,resolve:A,done:D}=ee(w,$e),I=({id:T})=>{T===f.id&&(this.client.events.off(\"proposal_expire\",I),this.pendingSessions.delete(f.id),this.events.emit(_,{error:{message:$e,code:0}}))};return this.client.events.on(\"proposal_expire\",I),this.events.once(_,({error:T,session:K})=>{this.client.events.off(\"proposal_expire\",I),T?g(T):K&&A(K)}),await this.sendRequest({topic:p,method:\"wc_sessionPropose\",params:f,throwOnFailedPublish:!0,clientRpcId:f.id}),await this.setProposal(f.id,f),{uri:h,approval:D}}),c(this,\"pair\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(t){throw this.client.logger.error(\"pair() failed\"),t}}),c(this,\"approve\",async e=>{var t,s,i;const r=this.client.core.eventClient.createEvent({properties:{topic:(t=e?.id)==null?void 0:t.toString(),trace:[k.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(q){throw r.setError(H.no_internet_connection),q}try{await this.isValidProposalId(e?.id)}catch(q){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),r.setError(H.proposal_not_found),q}try{await this.isValidApprove(e)}catch(q){throw this.client.logger.error(\"approve() -> isValidApprove() failed\"),r.setError(H.session_approve_namespace_validation_failure),q}const{id:o,relayProtocol:a,namespaces:l,sessionProperties:p,scopedProperties:h,sessionConfig:u}=e,d=this.client.proposal.get(o);this.client.core.eventClient.deleteEvent({eventId:r.eventId});const{pairingTopic:w,proposer:m,requiredNamespaces:f,optionalNamespaces:_}=d;let g=(s=this.client.core.eventClient)==null?void 0:s.getEvent({topic:w});g||(g=(i=this.client.core.eventClient)==null?void 0:i.createEvent({type:k.session_approve_started,properties:{topic:w,trace:[k.session_approve_started,k.session_namespaces_validation_success]}}));const A=await this.client.core.crypto.generateKeyPair(),D=m.publicKey,I=await this.client.core.crypto.generateSharedKey(A,D),T=v(v(v({relay:{protocol:a??\"irn\"},namespaces:l,controller:{publicKey:A,metadata:this.client.metadata},expiry:V(J)},p&&{sessionProperties:p}),h&&{scopedProperties:h}),u&&{sessionConfig:u}),K=P.relay;g.addTrace(k.subscribing_session_topic);try{await this.client.core.relayer.subscribe(I,{transportType:K})}catch(q){throw g.setError(H.subscribe_session_topic_failure),q}g.addTrace(k.subscribe_session_topic_success);const fe=b(v({},T),{topic:I,requiredNamespaces:f,optionalNamespaces:_,pairingTopic:w,acknowledged:!1,self:T.controller,peer:{publicKey:m.publicKey,metadata:m.metadata},controller:A,transportType:P.relay});await this.client.session.set(I,fe),g.addTrace(k.store_session);try{g.addTrace(k.publishing_session_settle),await this.sendRequest({topic:I,method:\"wc_sessionSettle\",params:T,throwOnFailedPublish:!0}).catch(q=>{throw g?.setError(H.session_settle_publish_failure),q}),g.addTrace(k.session_settle_publish_success),g.addTrace(k.publishing_session_approve),await this.sendResult({id:o,topic:w,result:{relay:{protocol:a??\"irn\"},responderPublicKey:A},throwOnFailedPublish:!0}).catch(q=>{throw g?.setError(H.session_approve_publish_failure),q}),g.addTrace(k.session_approve_publish_success)}catch(q){throw this.client.logger.error(q),this.client.session.delete(I,O(\"USER_DISCONNECTED\")),await this.client.core.relayer.unsubscribe(I),q}return this.client.core.eventClient.deleteEvent({eventId:g.eventId}),await this.client.core.pairing.updateMetadata({topic:w,metadata:m.metadata}),await this.client.proposal.delete(o,O(\"USER_DISCONNECTED\")),await this.client.core.pairing.activate({topic:w}),await this.setExpiry(I,V(J)),{topic:I,acknowledged:()=>Promise.resolve(this.client.session.get(I))}}),c(this,\"reject\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(r){throw this.client.logger.error(\"reject() -> isValidReject() failed\"),r}const{id:t,reason:s}=e;let i;try{i=this.client.proposal.get(t).pairingTopic}catch(r){throw this.client.logger.error(`reject() -> proposal.get(${t}) failed`),r}i&&(await this.sendError({id:t,topic:i,error:s,rpcOpts:N.wc_sessionPropose.reject}),await this.client.proposal.delete(t,O(\"USER_DISCONNECTED\")))}),c(this,\"update\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(h){throw this.client.logger.error(\"update() -> isValidUpdate() failed\"),h}const{topic:t,namespaces:s}=e,{done:i,resolve:r,reject:o}=ee(),a=G(),l=ge().toString(),p=this.client.session.get(t).namespaces;return this.events.once(R(\"session_update\",a),({error:h})=>{h?o(h):r()}),await this.client.session.update(t,{namespaces:s}),await this.sendRequest({topic:t,method:\"wc_sessionUpdate\",params:{namespaces:s},throwOnFailedPublish:!0,clientRpcId:a,relayRpcId:l}).catch(h=>{this.client.logger.error(h),this.client.session.update(t,{namespaces:p}),o(h)}),{acknowledged:i}}),c(this,\"extend\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(a){throw this.client.logger.error(\"extend() -> isValidExtend() failed\"),a}const{topic:t}=e,s=G(),{done:i,resolve:r,reject:o}=ee();return this.events.once(R(\"session_extend\",s),({error:a})=>{a?o(a):r()}),await this.setExpiry(t,V(J)),this.sendRequest({topic:t,method:\"wc_sessionExtend\",params:{},clientRpcId:s,throwOnFailedPublish:!0}).catch(a=>{o(a)}),{acknowledged:i}}),c(this,\"request\",async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(_){throw this.client.logger.error(\"request() -> isValidRequest() failed\"),_}const{chainId:t,request:s,topic:i,expiry:r=N.wc_sessionRequest.req.ttl}=e,o=this.client.session.get(i);o?.transportType===P.relay&&await this.confirmOnlineStateOrThrow();const a=G(),l=ge().toString(),{done:p,resolve:h,reject:u}=ee(r,\"Request expired. Please try again.\");this.events.once(R(\"session_request\",a),({error:_,result:g})=>{_?u(_):h(g)});const d=\"wc_sessionRequest\",w=this.getAppLinkIfEnabled(o.peer.metadata,o.transportType);if(w)return await this.sendRequest({clientRpcId:a,relayRpcId:l,topic:i,method:d,params:{request:b(v({},s),{expiryTimestamp:V(r)}),chainId:t},expiry:r,throwOnFailedPublish:!0,appLink:w}).catch(_=>u(_)),this.client.events.emit(\"session_request_sent\",{topic:i,request:s,chainId:t,id:a}),await p();const m={request:b(v({},s),{expiryTimestamp:V(r)}),chainId:t},f=this.shouldSetTVF(d,m);return await Promise.all([new Promise(async _=>{await this.sendRequest(v({clientRpcId:a,relayRpcId:l,topic:i,method:d,params:m,expiry:r,throwOnFailedPublish:!0},f&&{tvf:this.getTVFParams(a,m)})).catch(g=>u(g)),this.client.events.emit(\"session_request_sent\",{topic:i,request:s,chainId:t,id:a}),_()}),new Promise(async _=>{var g;if(!((g=o.sessionConfig)!=null&&g.disableDeepLink)){const A=await Ut(this.client.core.storage,Me);await Gt({id:a,topic:i,wcDeepLink:A})}_()}),p()]).then(_=>_[2])}),c(this,\"respond\",async e=>{this.isInitialized(),await this.isValidRespond(e);const{topic:t,response:s}=e,{id:i}=s,r=this.client.session.get(t);r.transportType===P.relay&&await this.confirmOnlineStateOrThrow();const o=this.getAppLinkIfEnabled(r.peer.metadata,r.transportType);j(s)?await this.sendResult({id:i,topic:t,result:s.result,throwOnFailedPublish:!0,appLink:o}):F(s)&&await this.sendError({id:i,topic:t,error:s.error,appLink:o}),this.cleanupAfterResponse(e)}),c(this,\"ping\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(s){throw this.client.logger.error(\"ping() -> isValidPing() failed\"),s}const{topic:t}=e;if(this.client.session.keys.includes(t)){const s=G(),i=ge().toString(),{done:r,resolve:o,reject:a}=ee();this.events.once(R(\"session_ping\",s),({error:l})=>{l?a(l):o()}),await Promise.all([this.sendRequest({topic:t,method:\"wc_sessionPing\",params:{},throwOnFailedPublish:!0,clientRpcId:s,relayRpcId:i}),r()])}else this.client.core.pairing.pairings.keys.includes(t)&&(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:t}))}),c(this,\"emit\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);const{topic:t,event:s,chainId:i}=e,r=ge().toString(),o=G();await this.sendRequest({topic:t,method:\"wc_sessionEvent\",params:{event:s,chainId:i},throwOnFailedPublish:!0,relayRpcId:r,clientRpcId:o})}),c(this,\"disconnect\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(e);const{topic:t}=e;if(this.client.session.keys.includes(t))await this.sendRequest({topic:t,method:\"wc_sessionDelete\",params:O(\"USER_DISCONNECTED\"),throwOnFailedPublish:!0}),await this.deleteSession({topic:t,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(t))await this.client.core.pairing.disconnect({topic:t});else{const{message:s}=y(\"MISMATCHED_TOPIC\",`Session or pairing topic not found: ${t}`);throw new Error(s)}}),c(this,\"find\",e=>(this.isInitialized(),this.client.session.getAll().filter(t=>jt(t,e)))),c(this,\"getPendingSessionRequests\",()=>this.client.pendingRequest.getAll()),c(this,\"authenticate\",async(e,t)=>{var s;this.isInitialized(),this.isValidAuthenticate(e);const i=t&&this.client.core.linkModeSupportedApps.includes(t)&&((s=this.client.metadata.redirect)==null?void 0:s.linkMode),r=i?P.link_mode:P.relay;r===P.relay&&await this.confirmOnlineStateOrThrow();const{chains:o,statement:a=\"\",uri:l,domain:p,nonce:h,type:u,exp:d,nbf:w,methods:m=[],expiry:f}=e,_=[...e.resources||[]],{topic:g,uri:A}=await this.client.core.pairing.create({methods:[\"wc_sessionAuthenticate\"],transportType:r});this.client.logger.info({message:\"Generated new pairing\",pairing:{topic:g,uri:A}});const D=await this.client.core.crypto.generateKeyPair(),I=be(D);if(await Promise.all([this.client.auth.authKeys.set(ce,{responseTopic:I,publicKey:D}),this.client.auth.pairingTopics.set(I,{topic:I,pairingTopic:g})]),await this.client.core.relayer.subscribe(I,{transportType:r}),this.client.logger.info(`sending request to new pairing topic: ${g}`),m.length>0){const{namespace:x}=Ae(o[0]);let L=Ft(x,\"request\",m);xe(_)&&(L=Qt(L,_.pop())),_.push(L)}const T=f&&f>N.wc_sessionAuthenticate.req.ttl?f:N.wc_sessionAuthenticate.req.ttl,K={authPayload:{type:u??\"caip122\",chains:o,statement:a,aud:l,domain:p,version:\"1\",nonce:h,iat:new Date().toISOString(),exp:d,nbf:w,resources:_},requester:{publicKey:D,metadata:this.client.metadata},expiryTimestamp:V(T)},fe={eip155:{chains:o,methods:[...new Set([\"personal_sign\",...m])],events:[\"chainChanged\",\"accountsChanged\"]}},q={requiredNamespaces:{},optionalNamespaces:fe,relays:[{protocol:\"irn\"}],pairingTopic:g,proposer:{publicKey:D,metadata:this.client.metadata},expiryTimestamp:V(N.wc_sessionPropose.req.ttl),id:G()},{done:Rt,resolve:je,reject:Se}=ee(T,\"Request expired\"),te=G(),le=R(\"session_connect\",q.id),Re=R(\"session_request\",te),pe=async({error:x,session:L})=>{this.events.off(Re,ve),x?Se(x):L&&je({session:L})},ve=async x=>{var L,Fe,Qe;if(await this.deletePendingAuthRequest(te,{message:\"fulfilled\",code:0}),x.error){const ie=O(\"WC_METHOD_UNSUPPORTED\",\"wc_sessionAuthenticate\");return x.error.code===ie.code?void 0:(this.events.off(le,pe),Se(x.error.message))}await this.deleteProposal(q.id),this.events.off(le,pe);const{cacaos:He,responder:Q}=x.result,Te=[],ze=[];for(const ie of He){await et({cacao:ie,projectId:this.client.core.projectId})||(this.client.logger.error(ie,\"Signature verification failed\"),Se(O(\"SESSION_SETTLEMENT_FAILED\",\"Signature verification failed\")));const{p:qe}=ie,Pe=xe(qe.resources),Ye=[tt(qe.iss)],vt=st(qe.iss);if(Pe){const Ne=it(Pe),It=rt(Pe);Te.push(...Ne),Ye.push(...It)}for(const Ne of Ye)ze.push(`${Ne}:${vt}`)}const se=await this.client.core.crypto.generateSharedKey(D,Q.publicKey);let he;Te.length>0&&(he={topic:se,acknowledged:!0,self:{publicKey:D,metadata:this.client.metadata},peer:Q,controller:Q.publicKey,expiry:V(J),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:\"irn\"},pairingTopic:g,namespaces:nt([...new Set(Te)],[...new Set(ze)]),transportType:r},await this.client.core.relayer.subscribe(se,{transportType:r}),await this.client.session.set(se,he),g&&await this.client.core.pairing.updateMetadata({topic:g,metadata:Q.metadata}),he=this.client.session.get(se)),(L=this.client.metadata.redirect)!=null&&L.linkMode&&(Fe=Q.metadata.redirect)!=null&&Fe.linkMode&&(Qe=Q.metadata.redirect)!=null&&Qe.universal&&t&&(this.client.core.addLinkModeSupportedApp(Q.metadata.redirect.universal),this.client.session.update(se,{transportType:P.link_mode})),je({auths:He,session:he})};this.events.once(le,pe),this.events.once(Re,ve);let Ie;try{if(i){const x=ye(\"wc_sessionAuthenticate\",K,te);this.client.core.history.set(g,x);const L=await this.client.core.crypto.encode(\"\",x,{type:Ht,encoding:ne});Ie=ue(t,g,L)}else await Promise.all([this.sendRequest({topic:g,method:\"wc_sessionAuthenticate\",params:K,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:te}),this.sendRequest({topic:g,method:\"wc_sessionPropose\",params:q,expiry:N.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:q.id})])}catch(x){throw this.events.off(le,pe),this.events.off(Re,ve),x}return await this.setProposal(q.id,q),await this.setAuthRequest(te,{request:b(v({},K),{verifyContext:{}}),pairingTopic:g,transportType:r}),{uri:Ie??A,response:Rt}}),c(this,\"approveSessionAuthenticate\",async e=>{const{id:t,auths:s}=e,i=this.client.core.eventClient.createEvent({properties:{topic:t.toString(),trace:[z.authenticated_session_approve_started]}});try{this.isInitialized()}catch(f){throw i.setError(re.no_internet_connection),f}const r=this.getPendingAuthRequest(t);if(!r)throw i.setError(re.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${t}`);const o=r.transportType||P.relay;o===P.relay&&await this.confirmOnlineStateOrThrow();const a=r.requester.publicKey,l=await this.client.core.crypto.generateKeyPair(),p=be(a),h={type:Ve,receiverPublicKey:a,senderPublicKey:l},u=[],d=[];for(const f of s){if(!await et({cacao:f,projectId:this.client.core.projectId})){i.setError(re.invalid_cacao);const I=O(\"SESSION_SETTLEMENT_FAILED\",\"Signature verification failed\");throw await this.sendError({id:t,topic:p,error:I,encodeOpts:h}),new Error(I.message)}i.addTrace(z.cacaos_verified);const{p:_}=f,g=xe(_.resources),A=[tt(_.iss)],D=st(_.iss);if(g){const I=it(g),T=rt(g);u.push(...I),A.push(...T)}for(const I of A)d.push(`${I}:${D}`)}const w=await this.client.core.crypto.generateSharedKey(l,a);i.addTrace(z.create_authenticated_session_topic);let m;if(u?.length>0){m={topic:w,acknowledged:!0,self:{publicKey:l,metadata:this.client.metadata},peer:{publicKey:a,metadata:r.requester.metadata},controller:a,expiry:V(J),authentication:s,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:\"irn\"},pairingTopic:r.pairingTopic,namespaces:nt([...new Set(u)],[...new Set(d)]),transportType:o},i.addTrace(z.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(w,{transportType:o})}catch(f){throw i.setError(re.subscribe_authenticated_session_topic_failure),f}i.addTrace(z.subscribe_authenticated_session_topic_success),await this.client.session.set(w,m),i.addTrace(z.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:r.pairingTopic,metadata:r.requester.metadata})}i.addTrace(z.publishing_authenticated_session_approve);try{await this.sendResult({topic:p,id:t,result:{cacaos:s,responder:{publicKey:l,metadata:this.client.metadata}},encodeOpts:h,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(r.requester.metadata,o)})}catch(f){throw i.setError(re.authenticated_session_approve_publish_failure),f}return await this.client.auth.requests.delete(t,{message:\"fulfilled\",code:0}),await this.client.core.pairing.activate({topic:r.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:i.eventId}),{session:m}}),c(this,\"rejectSessionAuthenticate\",async e=>{this.isInitialized();const{id:t,reason:s}=e,i=this.getPendingAuthRequest(t);if(!i)throw new Error(`Could not find pending auth request with id ${t}`);i.transportType===P.relay&&await this.confirmOnlineStateOrThrow();const r=i.requester.publicKey,o=await this.client.core.crypto.generateKeyPair(),a=be(r),l={type:Ve,receiverPublicKey:r,senderPublicKey:o};await this.sendError({id:t,topic:a,error:s,encodeOpts:l,rpcOpts:N.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(i.requester.metadata,i.transportType)}),await this.client.auth.requests.delete(t,{message:\"rejected\",code:0}),await this.client.proposal.delete(t,O(\"USER_DISCONNECTED\"))}),c(this,\"formatAuthMessage\",e=>{this.isInitialized();const{request:t,iss:s}=e;return zt(t,s)}),c(this,\"processRelayMessageCache\",()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}},50)}),c(this,\"cleanupDuplicatePairings\",async e=>{if(e.pairingTopic)try{const t=this.client.core.pairing.pairings.get(e.pairingTopic),s=this.client.core.pairing.pairings.getAll().filter(i=>{var r,o;return((r=i.peerMetadata)==null?void 0:r.url)&&((o=i.peerMetadata)==null?void 0:o.url)===e.peer.metadata.url&&i.topic&&i.topic!==t.topic});if(s.length===0)return;this.client.logger.info(`Cleaning up ${s.length} duplicate pairing(s)`),await Promise.all(s.map(i=>this.client.core.pairing.disconnect({topic:i.topic}))),this.client.logger.info(\"Duplicate pairings clean up finished\")}catch(t){this.client.logger.error(t)}}),c(this,\"deleteSession\",async e=>{var t;const{topic:s,expirerHasDeleted:i=!1,emitEvent:r=!0,id:o=0}=e,{self:a}=this.client.session.get(s);await this.client.core.relayer.unsubscribe(s),await this.client.session.delete(s,O(\"USER_DISCONNECTED\")),this.addToRecentlyDeleted(s,\"session\"),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(s)&&await this.client.core.crypto.deleteSymKey(s),i||this.client.core.expirer.del(s),this.client.core.storage.removeItem(Me).catch(l=>this.client.logger.warn(l)),this.getPendingSessionRequests().forEach(l=>{l.topic===s&&this.deletePendingSessionRequest(l.id,O(\"USER_DISCONNECTED\"))}),s===((t=this.sessionRequestQueue.queue[0])==null?void 0:t.topic)&&(this.sessionRequestQueue.state=$.idle),r&&this.client.events.emit(\"session_delete\",{id:o,topic:s})}),c(this,\"deleteProposal\",async(e,t)=>{if(t)try{const s=this.client.proposal.get(e),i=this.client.core.eventClient.getEvent({topic:s.pairingTopic});i?.setError(H.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,O(\"USER_DISCONNECTED\")),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,\"proposal\")}),c(this,\"deletePendingSessionRequest\",async(e,t,s=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),s?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,\"request\"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(i=>i.id!==e),s&&(this.sessionRequestQueue.state=$.idle,this.client.events.emit(\"session_request_expire\",{id:e}))}),c(this,\"deletePendingAuthRequest\",async(e,t,s=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),s?Promise.resolve():this.client.core.expirer.del(e)])}),c(this,\"setExpiry\",async(e,t)=>{this.client.session.keys.includes(e)&&(this.client.core.expirer.set(e,t),await this.client.session.update(e,{expiry:t}))}),c(this,\"setProposal\",async(e,t)=>{this.client.core.expirer.set(e,V(N.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),c(this,\"setAuthRequest\",async(e,t)=>{const{request:s,pairingTopic:i,transportType:r=P.relay}=t;this.client.core.expirer.set(e,s.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:s.authPayload,requester:s.requester,expiryTimestamp:s.expiryTimestamp,id:e,pairingTopic:i,verifyContext:s.verifyContext,transportType:r})}),c(this,\"setPendingSessionRequest\",async e=>{const{id:t,topic:s,params:i,verifyContext:r}=e,o=i.request.expiryTimestamp||V(N.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,o),await this.client.pendingRequest.set(t,{id:t,topic:s,params:i,verifyContext:r})}),c(this,\"sendRequest\",async e=>{const{topic:t,method:s,params:i,expiry:r,relayRpcId:o,clientRpcId:a,throwOnFailedPublish:l,appLink:p,tvf:h}=e,u=ye(s,i,a);let d;const w=!!p;try{const _=w?ne:de;d=await this.client.core.crypto.encode(t,u,{encoding:_})}catch(_){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${t} failed`),_}let m;if(gt.includes(s)){const _=W(JSON.stringify(u)),g=W(d);m=await this.client.core.verify.register({id:g,decryptedId:_})}const f=N[s].req;if(f.attestation=m,r&&(f.ttl=r),o&&(f.id=o),this.client.core.history.set(t,u),w){const _=ue(p,t,d);await global.Linking.openURL(_,this.client.name)}else{const _=N[s].req;r&&(_.ttl=r),o&&(_.id=o),_.tvf=b(v({},h),{correlationId:u.id}),l?(_.internal=b(v({},_.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(t,d,_)):this.client.core.relayer.publish(t,d,_).catch(g=>this.client.logger.error(g))}return u.id}),c(this,\"sendResult\",async e=>{const{id:t,topic:s,result:i,throwOnFailedPublish:r,encodeOpts:o,appLink:a}=e,l=gs(t,i);let p;const h=a&&typeof(global==null?void 0:global.Linking)<\"u\";try{const w=h?ne:de;p=await this.client.core.crypto.encode(s,l,b(v({},o||{}),{encoding:w}))}catch(w){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${s} failed`),w}let u,d;try{u=await this.client.core.history.get(s,t);const w=u.request;try{this.shouldSetTVF(w.method,w.params)&&(d=this.getTVFParams(t,w.params,i))}catch(m){this.client.logger.warn(\"sendResult() -> getTVFParams() failed\",m)}}catch(w){throw this.client.logger.error(`sendResult() -> history.get(${s}, ${t}) failed`),w}if(h){const w=ue(a,s,p);await global.Linking.openURL(w,this.client.name)}else{const w=u.request.method,m=N[w].res;m.tvf=b(v({},d),{correlationId:t}),r?(m.internal=b(v({},m.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,p,m)):this.client.core.relayer.publish(s,p,m).catch(f=>this.client.logger.error(f))}await this.client.core.history.resolve(l)}),c(this,\"sendError\",async e=>{const{id:t,topic:s,error:i,encodeOpts:r,rpcOpts:o,appLink:a}=e,l=ys(t,i);let p;const h=a&&typeof(global==null?void 0:global.Linking)<\"u\";try{const d=h?ne:de;p=await this.client.core.crypto.encode(s,l,b(v({},r||{}),{encoding:d}))}catch(d){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${s} failed`),d}let u;try{u=await this.client.core.history.get(s,t)}catch(d){throw this.client.logger.error(`sendError() -> history.get(${s}, ${t}) failed`),d}if(h){const d=ue(a,s,p);await global.Linking.openURL(d,this.client.name)}else{const d=u.request.method,w=o||N[d].res;this.client.core.relayer.publish(s,p,w)}await this.client.core.history.resolve(l)}),c(this,\"cleanup\",async()=>{const e=[],t=[];this.client.session.getAll().forEach(s=>{let i=!1;Z(s.expiry)&&(i=!0),this.client.core.crypto.keychain.has(s.topic)||(i=!0),i&&e.push(s.topic)}),this.client.proposal.getAll().forEach(s=>{Z(s.expiryTimestamp)&&t.push(s.id)}),await Promise.all([...e.map(s=>this.deleteSession({topic:s})),...t.map(s=>this.deleteProposal(s))])}),c(this,\"onProviderMessageEvent\",async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),c(this,\"onRelayEventRequest\",async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),c(this,\"processRequestsQueue\",async()=>{if(this.requestQueue.state===$.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=$.active;const e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(t){this.client.logger.warn(t)}}this.requestQueue.state=$.idle}),c(this,\"processRequest\",async e=>{const{topic:t,payload:s,attestation:i,transportType:r,encryptedId:o}=e,a=s.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:a}))switch(a){case\"wc_sessionPropose\":return await this.onSessionProposeRequest({topic:t,payload:s,attestation:i,encryptedId:o});case\"wc_sessionSettle\":return await this.onSessionSettleRequest(t,s);case\"wc_sessionUpdate\":return await this.onSessionUpdateRequest(t,s);case\"wc_sessionExtend\":return await this.onSessionExtendRequest(t,s);case\"wc_sessionPing\":return await this.onSessionPingRequest(t,s);case\"wc_sessionDelete\":return await this.onSessionDeleteRequest(t,s);case\"wc_sessionRequest\":return await this.onSessionRequest({topic:t,payload:s,attestation:i,encryptedId:o,transportType:r});case\"wc_sessionEvent\":return await this.onSessionEventRequest(t,s);case\"wc_sessionAuthenticate\":return await this.onSessionAuthenticateRequest({topic:t,payload:s,attestation:i,encryptedId:o,transportType:r});default:return this.client.logger.info(`Unsupported request method ${a}`)}}),c(this,\"onRelayEventResponse\",async e=>{const{topic:t,payload:s,transportType:i}=e,r=(await this.client.core.history.get(t,s.id)).request.method;switch(r){case\"wc_sessionPropose\":return this.onSessionProposeResponse(t,s,i);case\"wc_sessionSettle\":return this.onSessionSettleResponse(t,s);case\"wc_sessionUpdate\":return this.onSessionUpdateResponse(t,s);case\"wc_sessionExtend\":return this.onSessionExtendResponse(t,s);case\"wc_sessionPing\":return this.onSessionPingResponse(t,s);case\"wc_sessionRequest\":return this.onSessionRequestResponse(t,s);case\"wc_sessionAuthenticate\":return this.onSessionAuthenticateResponse(t,s);default:return this.client.logger.info(`Unsupported response method ${r}`)}}),c(this,\"onRelayEventUnknownPayload\",e=>{const{topic:t}=e,{message:s}=y(\"MISSING_OR_INVALID\",`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw new Error(s)}),c(this,\"shouldIgnorePairingRequest\",e=>{const{topic:t,requestMethod:s}=e,i=this.expectedPairingMethodMap.get(t);return!i||i.includes(s)?!1:!!(i.includes(\"wc_sessionAuthenticate\")&&this.client.events.listenerCount(\"session_authenticate\")>0)}),c(this,\"onSessionProposeRequest\",async e=>{const{topic:t,payload:s,attestation:i,encryptedId:r}=e,{params:o,id:a}=s;try{const l=this.client.core.eventClient.getEvent({topic:t});this.client.events.listenerCount(\"session_proposal\")===0&&(console.warn(\"No listener for session_proposal event\"),l?.setError(Pt.proposal_listener_not_found)),this.isValidConnect(v({},s.params));const p=o.expiryTimestamp||V(N.wc_sessionPropose.req.ttl),h=v({id:a,pairingTopic:t,expiryTimestamp:p},o);await this.setProposal(a,h);const u=await this.getVerifyContext({attestationId:i,hash:W(JSON.stringify(s)),encryptedId:r,metadata:h.proposer.metadata});l?.addTrace(Nt.emit_session_proposal),this.client.events.emit(\"session_proposal\",{id:a,params:h,verifyContext:u})}catch(l){await this.sendError({id:a,topic:t,error:l,rpcOpts:N.wc_sessionPropose.autoReject}),this.client.logger.error(l)}}),c(this,\"onSessionProposeResponse\",async(e,t,s)=>{const{id:i}=t;if(j(t)){const{result:r}=t;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",result:r});const o=this.client.proposal.get(i);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",proposal:o});const a=o.proposer.publicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",selfPublicKey:a});const l=r.responderPublicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",peerPublicKey:l});const p=await this.client.core.crypto.generateSharedKey(a,l);this.pendingSessions.set(i,{sessionTopic:p,pairingTopic:e,proposalId:i,publicKey:a});const h=await this.client.core.relayer.subscribe(p,{transportType:s});this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",subscriptionId:h}),await this.client.core.pairing.activate({topic:e})}else if(F(t)){await this.client.proposal.delete(i,O(\"USER_DISCONNECTED\"));const r=R(\"session_connect\",i);if(this.events.listenerCount(r)===0)throw new Error(`emitting ${r} without any listeners, 954`);this.events.emit(r,{error:t.error})}}),c(this,\"onSessionSettleRequest\",async(e,t)=>{const{id:s,params:i}=t;try{this.isValidSessionSettleRequest(i);const{relay:r,controller:o,expiry:a,namespaces:l,sessionProperties:p,scopedProperties:h,sessionConfig:u}=t.params,d=[...this.pendingSessions.values()].find(f=>f.sessionTopic===e);if(!d)return this.client.logger.error(`Pending session not found for topic ${e}`);const w=this.client.proposal.get(d.proposalId),m=b(v(v(v({topic:e,relay:r,expiry:a,namespaces:l,acknowledged:!0,pairingTopic:d.pairingTopic,requiredNamespaces:w.requiredNamespaces,optionalNamespaces:w.optionalNamespaces,controller:o.publicKey,self:{publicKey:d.publicKey,metadata:this.client.metadata},peer:{publicKey:o.publicKey,metadata:o.metadata}},p&&{sessionProperties:p}),h&&{scopedProperties:h}),u&&{sessionConfig:u}),{transportType:P.relay});await this.client.session.set(m.topic,m),await this.setExpiry(m.topic,m.expiry),await this.client.core.pairing.updateMetadata({topic:d.pairingTopic,metadata:m.peer.metadata}),this.client.events.emit(\"session_connect\",{session:m}),this.events.emit(R(\"session_connect\",d.proposalId),{session:m}),this.pendingSessions.delete(d.proposalId),this.deleteProposal(d.proposalId,!1),this.cleanupDuplicatePairings(m),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(r){await this.sendError({id:s,topic:e,error:r}),this.client.logger.error(r)}}),c(this,\"onSessionSettleResponse\",async(e,t)=>{const{id:s}=t;j(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(R(\"session_approve\",s),{})):F(t)&&(await this.client.session.delete(e,O(\"USER_DISCONNECTED\")),this.events.emit(R(\"session_approve\",s),{error:t.error}))}),c(this,\"onSessionUpdateRequest\",async(e,t)=>{const{params:s,id:i}=t;try{const r=`${e}_session_update`,o=oe.get(r);if(o&&this.isRequestOutOfSync(o,i)){this.client.logger.warn(`Discarding out of sync request - ${i}`),this.sendError({id:i,topic:e,error:O(\"INVALID_UPDATE_REQUEST\")});return}this.isValidUpdate(v({topic:e},s));try{oe.set(r,i),await this.client.session.update(e,{namespaces:s.namespaces}),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0})}catch(a){throw oe.delete(r),a}this.client.events.emit(\"session_update\",{id:i,topic:e,params:s})}catch(r){await this.sendError({id:i,topic:e,error:r}),this.client.logger.error(r)}}),c(this,\"isRequestOutOfSync\",(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),c(this,\"onSessionUpdateResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_update\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);j(t)?this.events.emit(R(\"session_update\",s),{}):F(t)&&this.events.emit(R(\"session_update\",s),{error:t.error})}),c(this,\"onSessionExtendRequest\",async(e,t)=>{const{id:s}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,V(J)),await this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(\"session_extend\",{id:s,topic:e})}catch(i){await this.sendError({id:s,topic:e,error:i}),this.client.logger.error(i)}}),c(this,\"onSessionExtendResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_extend\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);j(t)?this.events.emit(R(\"session_extend\",s),{}):F(t)&&this.events.emit(R(\"session_extend\",s),{error:t.error})}),c(this,\"onSessionPingRequest\",async(e,t)=>{const{id:s}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(\"session_ping\",{id:s,topic:e})}catch(i){await this.sendError({id:s,topic:e,error:i}),this.client.logger.error(i)}}),c(this,\"onSessionPingResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_ping\",s);setTimeout(()=>{if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners 2176`);j(t)?this.events.emit(R(\"session_ping\",s),{}):F(t)&&this.events.emit(R(\"session_ping\",s),{error:t.error})},500)}),c(this,\"onSessionDeleteRequest\",async(e,t)=>{const{id:s}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(i=>{this.client.core.relayer.once(Xe.publish,async()=>{i(await this.deleteSession({topic:e,id:s}))})}),this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:O(\"USER_DISCONNECTED\")})]).catch(i=>this.client.logger.error(i))}catch(i){this.client.logger.error(i)}}),c(this,\"onSessionRequest\",async e=>{var t,s,i;const{topic:r,payload:o,attestation:a,encryptedId:l,transportType:p}=e,{id:h,params:u}=o;try{await this.isValidRequest(v({topic:r},u));const d=this.client.session.get(r),w=await this.getVerifyContext({attestationId:a,hash:W(JSON.stringify(ye(\"wc_sessionRequest\",u,h))),encryptedId:l,metadata:d.peer.metadata,transportType:p}),m={id:h,topic:r,params:u,verifyContext:w};await this.setPendingSessionRequest(m),p===P.link_mode&&(t=d.peer.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp((s=d.peer.metadata.redirect)==null?void 0:s.universal),(i=this.client.signConfig)!=null&&i.disableRequestQueue?this.emitSessionRequest(m):(this.addSessionRequestToSessionRequestQueue(m),this.processSessionRequestQueue())}catch(d){await this.sendError({id:h,topic:r,error:d}),this.client.logger.error(d)}}),c(this,\"onSessionRequestResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_request\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);j(t)?this.events.emit(R(\"session_request\",s),{result:t.result}):F(t)&&this.events.emit(R(\"session_request\",s),{error:t.error})}),c(this,\"onSessionEventRequest\",async(e,t)=>{const{id:s,params:i}=t;try{const r=`${e}_session_event_${i.event.name}`,o=oe.get(r);if(o&&this.isRequestOutOfSync(o,s)){this.client.logger.info(`Discarding out of sync request - ${s}`);return}this.isValidEmit(v({topic:e},i)),this.client.events.emit(\"session_event\",{id:s,topic:e,params:i}),oe.set(r,s)}catch(r){await this.sendError({id:s,topic:e,error:r}),this.client.logger.error(r)}}),c(this,\"onSessionAuthenticateResponse\",(e,t)=>{const{id:s}=t;this.client.logger.trace({type:\"method\",method:\"onSessionAuthenticateResponse\",topic:e,payload:t}),j(t)?this.events.emit(R(\"session_request\",s),{result:t.result}):F(t)&&this.events.emit(R(\"session_request\",s),{error:t.error})}),c(this,\"onSessionAuthenticateRequest\",async e=>{var t;const{topic:s,payload:i,attestation:r,encryptedId:o,transportType:a}=e;try{const{requester:l,authPayload:p,expiryTimestamp:h}=i.params,u=await this.getVerifyContext({attestationId:r,hash:W(JSON.stringify(i)),encryptedId:o,metadata:l.metadata,transportType:a}),d={requester:l,pairingTopic:s,id:i.id,authPayload:p,verifyContext:u,expiryTimestamp:h};await this.setAuthRequest(i.id,{request:d,pairingTopic:s,transportType:a}),a===P.link_mode&&(t=l.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp(l.metadata.redirect.universal),this.client.events.emit(\"session_authenticate\",{topic:s,params:i.params,id:i.id,verifyContext:u})}catch(l){this.client.logger.error(l);const p=i.params.requester.publicKey,h=await this.client.core.crypto.generateKeyPair(),u=this.getAppLinkIfEnabled(i.params.requester.metadata,a),d={type:Ve,receiverPublicKey:p,senderPublicKey:h};await this.sendError({id:i.id,topic:s,error:l,encodeOpts:d,rpcOpts:N.wc_sessionAuthenticate.autoReject,appLink:u})}}),c(this,\"addSessionRequestToSessionRequestQueue\",e=>{this.sessionRequestQueue.queue.push(e)}),c(this,\"cleanupAfterResponse\",e=>{this.deletePendingSessionRequest(e.response.id,{message:\"fulfilled\",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=$.idle,this.processSessionRequestQueue()},Oe(this.requestQueueDelay))}),c(this,\"cleanupPendingSentRequestsForTopic\",({topic:e,error:t})=>{const s=this.client.core.history.pending;s.length>0&&s.filter(i=>i.topic===e&&i.request.method===\"wc_sessionRequest\").forEach(i=>{const r=i.request.id,o=R(\"session_request\",r);if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners`);this.events.emit(R(\"session_request\",i.request.id),{error:t})})}),c(this,\"processSessionRequestQueue\",()=>{if(this.sessionRequestQueue.state===$.active){this.client.logger.info(\"session request queue is already active.\");return}const e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info(\"session request queue is empty.\");return}try{this.sessionRequestQueue.state=$.active,this.emitSessionRequest(e)}catch(t){this.client.logger.error(t)}}),c(this,\"emitSessionRequest\",e=>{this.client.events.emit(\"session_request\",e)}),c(this,\"onPairingCreated\",e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;const t=this.client.proposal.getAll().find(s=>s.pairingTopic===e.topic);t&&this.onSessionProposeRequest({topic:e.topic,payload:ye(\"wc_sessionPropose\",b(v({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id)})}),c(this,\"isValidConnect\",async e=>{if(!M(e)){const{message:l}=y(\"MISSING_OR_INVALID\",`connect() params: ${JSON.stringify(e)}`);throw new Error(l)}const{pairingTopic:t,requiredNamespaces:s,optionalNamespaces:i,sessionProperties:r,scopedProperties:o,relays:a}=e;if(X(t)||await this.isValidPairingTopic(t),!Yt(a,!0)){const{message:l}=y(\"MISSING_OR_INVALID\",`connect() relays: ${a}`);throw new Error(l)}if(!X(s)&&ot(s)!==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(s,\"requiredNamespaces\")}if(!X(i)&&ot(i)!==0&&this.validateNamespaces(i,\"optionalNamespaces\"),X(r)||this.validateSessionProps(r,\"sessionProperties\"),!X(o)){this.validateSessionProps(o,\"scopedProperties\");const l=Object.keys(s||{}).concat(Object.keys(i||{}));if(!Object.keys(o).every(p=>l.includes(p)))throw new Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(o)}, required/optional namespaces: ${JSON.stringify(l)}`)}}),c(this,\"validateNamespaces\",(e,t)=>{const s=Xt(e,\"connect()\",t);if(s)throw new Error(s.message)}),c(this,\"isValidApprove\",async e=>{if(!M(e))throw new Error(y(\"MISSING_OR_INVALID\",`approve() params: ${e}`).message);const{id:t,namespaces:s,relayProtocol:i,sessionProperties:r,scopedProperties:o}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);const a=this.client.proposal.get(t),l=Ce(s,\"approve()\");if(l)throw new Error(l.message);const p=at(a.requiredNamespaces,s,\"approve()\");if(p)throw new Error(p.message);if(!Y(i,!0)){const{message:h}=y(\"MISSING_OR_INVALID\",`approve() relayProtocol: ${i}`);throw new Error(h)}if(X(r)||this.validateSessionProps(r,\"sessionProperties\"),!X(o)){this.validateSessionProps(o,\"scopedProperties\");const h=new Set(Object.keys(s));if(!Object.keys(o).every(u=>h.has(u)))throw new Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(o)}, approved namespaces: ${Array.from(h).join(\", \")}`)}}),c(this,\"isValidReject\",async e=>{if(!M(e)){const{message:i}=y(\"MISSING_OR_INVALID\",`reject() params: ${e}`);throw new Error(i)}const{id:t,reason:s}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!Jt(s)){const{message:i}=y(\"MISSING_OR_INVALID\",`reject() reason: ${JSON.stringify(s)}`);throw new Error(i)}}),c(this,\"isValidSessionSettleRequest\",e=>{if(!M(e)){const{message:l}=y(\"MISSING_OR_INVALID\",`onSessionSettleRequest() params: ${e}`);throw new Error(l)}const{relay:t,controller:s,namespaces:i,expiry:r}=e;if(!Bt(t)){const{message:l}=y(\"MISSING_OR_INVALID\",\"onSessionSettleRequest() relay protocol should be a string\");throw new Error(l)}const o=Wt(s,\"onSessionSettleRequest()\");if(o)throw new Error(o.message);const a=Ce(i,\"onSessionSettleRequest()\");if(a)throw new Error(a.message);if(Z(r)){const{message:l}=y(\"EXPIRED\",\"onSessionSettleRequest()\");throw new Error(l)}}),c(this,\"isValidUpdate\",async e=>{if(!M(e)){const{message:a}=y(\"MISSING_OR_INVALID\",`update() params: ${e}`);throw new Error(a)}const{topic:t,namespaces:s}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);const i=this.client.session.get(t),r=Ce(s,\"update()\");if(r)throw new Error(r.message);const o=at(i.requiredNamespaces,s,\"update()\");if(o)throw new Error(o.message)}),c(this,\"isValidExtend\",async e=>{if(!M(e)){const{message:s}=y(\"MISSING_OR_INVALID\",`extend() params: ${e}`);throw new Error(s)}const{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),c(this,\"isValidRequest\",async e=>{if(!M(e)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() params: ${e}`);throw new Error(a)}const{topic:t,request:s,chainId:i,expiry:r}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);const{namespaces:o}=this.client.session.get(t);if(!ct(o,i)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() chainId: ${i}`);throw new Error(a)}if(!Zt(s)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() ${JSON.stringify(s)}`);throw new Error(a)}if(!es(o,i,s.method)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() method: ${s.method}`);throw new Error(a)}if(r&&!ts(r,_e)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() expiry: ${r}. Expiry must be a number (in seconds) between ${_e.min} and ${_e.max}`);throw new Error(a)}}),c(this,\"isValidRespond\",async e=>{var t;if(!M(e)){const{message:r}=y(\"MISSING_OR_INVALID\",`respond() params: ${e}`);throw new Error(r)}const{topic:s,response:i}=e;try{await this.isValidSessionTopic(s)}catch(r){throw(t=e?.response)!=null&&t.id&&this.cleanupAfterResponse(e),r}if(!ss(i)){const{message:r}=y(\"MISSING_OR_INVALID\",`respond() response: ${JSON.stringify(i)}`);throw new Error(r)}}),c(this,\"isValidPing\",async e=>{if(!M(e)){const{message:s}=y(\"MISSING_OR_INVALID\",`ping() params: ${e}`);throw new Error(s)}const{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),c(this,\"isValidEmit\",async e=>{if(!M(e)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() params: ${e}`);throw new Error(o)}const{topic:t,event:s,chainId:i}=e;await this.isValidSessionTopic(t);const{namespaces:r}=this.client.session.get(t);if(!ct(r,i)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() chainId: ${i}`);throw new Error(o)}if(!is(s)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}if(!rs(r,i,s.name)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}}),c(this,\"isValidDisconnect\",async e=>{if(!M(e)){const{message:s}=y(\"MISSING_OR_INVALID\",`disconnect() params: ${e}`);throw new Error(s)}const{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),c(this,\"isValidAuthenticate\",e=>{const{chains:t,uri:s,domain:i,nonce:r}=e;if(!Array.isArray(t)||t.length===0)throw new Error(\"chains is required and must be a non-empty array\");if(!Y(s,!1))throw new Error(\"uri is required parameter\");if(!Y(i,!1))throw new Error(\"domain is required parameter\");if(!Y(r,!1))throw new Error(\"nonce is required parameter\");if([...new Set(t.map(a=>Ae(a).namespace))].length>1)throw new Error(\"Multi-namespace requests are not supported. Please request single namespace only.\");const{namespace:o}=Ae(t[0]);if(o!==\"eip155\")throw new Error(\"Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.\")}),c(this,\"getVerifyContext\",async e=>{const{attestationId:t,hash:s,encryptedId:i,metadata:r,transportType:o}=e,a={verified:{verifyUrl:r.verifyUrl||Ot,validation:\"UNKNOWN\",origin:r.url||\"\"}};try{if(o===P.link_mode){const p=this.getAppLinkIfEnabled(r,o);return a.verified.validation=p&&new URL(p).origin===new URL(r.url).origin?\"VALID\":\"INVALID\",a}const l=await this.client.core.verify.resolve({attestationId:t,hash:s,encryptedId:i,verifyUrl:r.verifyUrl});l&&(a.verified.origin=l.origin,a.verified.isScam=l.isScam,a.verified.validation=l.origin===new URL(r.url).origin?\"VALID\":\"INVALID\")}catch(l){this.client.logger.warn(l)}return this.client.logger.debug(`Verify context: ${JSON.stringify(a)}`),a}),c(this,\"validateSessionProps\",(e,t)=>{Object.values(e).forEach((s,i)=>{if(s==null){const{message:r}=y(\"MISSING_OR_INVALID\",`${t} must contain an existing value for each key. Received: ${s} for key ${Object.keys(e)[i]}`);throw new Error(r)}})}),c(this,\"getPendingAuthRequest\",e=>{const t=this.client.auth.requests.get(e);return typeof t==\"object\"?t:void 0}),c(this,\"addToRecentlyDeleted\",(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let s=0;const i=this.recentlyDeletedLimit/2;for(const r of this.recentlyDeletedMap.keys()){if(s++>=i)break;this.recentlyDeletedMap.delete(r)}}}),c(this,\"checkRecentlyDeleted\",e=>{const t=this.recentlyDeletedMap.get(e);if(t){const{message:s}=y(\"MISSING_OR_INVALID\",`Record was recently deleted - ${t}: ${e}`);throw new Error(s)}}),c(this,\"isLinkModeEnabled\",(e,t)=>{var s,i,r,o,a,l,p,h,u;return!e||t!==P.link_mode?!1:((i=(s=this.client.metadata)==null?void 0:s.redirect)==null?void 0:i.linkMode)===!0&&((o=(r=this.client.metadata)==null?void 0:r.redirect)==null?void 0:o.universal)!==void 0&&((l=(a=this.client.metadata)==null?void 0:a.redirect)==null?void 0:l.universal)!==\"\"&&((p=e?.redirect)==null?void 0:p.universal)!==void 0&&((h=e?.redirect)==null?void 0:h.universal)!==\"\"&&((u=e?.redirect)==null?void 0:u.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&typeof(global==null?void 0:global.Linking)<\"u\"}),c(this,\"getAppLinkIfEnabled\",(e,t)=>{var s;return this.isLinkModeEnabled(e,t)?(s=e?.redirect)==null?void 0:s.universal:void 0}),c(this,\"handleLinkModeMessage\",({url:e})=>{if(!e||!e.includes(\"wc_ev\")||!e.includes(\"topic\"))return;const t=lt(e,\"topic\")||\"\",s=decodeURIComponent(lt(e,\"wc_ev\")||\"\"),i=this.client.session.keys.includes(t);i&&this.client.session.update(t,{transportType:P.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:s,sessionExists:i})}),c(this,\"registerLinkModeListeners\",async()=>{var e;if(ns()||os()&&(e=this.client.metadata.redirect)!=null&&e.linkMode){const t=global==null?void 0:global.Linking;if(typeof t<\"u\"){t.addEventListener(\"url\",this.handleLinkModeMessage,this.client.name);const s=await t.getInitialURL();s&&setTimeout(()=>{this.handleLinkModeMessage({url:s})},50)}}}),c(this,\"shouldSetTVF\",(e,t)=>{if(!t||e!==\"wc_sessionRequest\")return!1;const{request:s}=t;return Object.keys(Ke).includes(s.method)}),c(this,\"getTVFParams\",(e,t,s)=>{var i,r;try{const o=t.request.method,a=this.extractTxHashesFromResult(o,s);return b(v({correlationId:e,rpcMethods:[o],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[(r=(i=t.request.params)==null?void 0:i[0])==null?void 0:r.to]}),{txHashes:a})}catch(o){this.client.logger.warn(\"Error getting TVF params\",o)}return{}}),c(this,\"isValidContractData\",e=>{var t;if(!e)return!1;try{const s=e?.data||((t=e?.[0])==null?void 0:t.data);if(!s.startsWith(\"0x\"))return!1;const i=s.slice(2);return/^[0-9a-fA-F]*$/.test(i)?i.length%2===0:!1}catch{}return!1}),c(this,\"extractTxHashesFromResult\",(e,t)=>{try{const s=Ke[e];if(typeof t==\"string\")return[t];const i=t[s.key];if(as(i))return e===\"solana_signAllTransactions\"?i.map(r=>cs(r)):i;if(typeof i==\"string\")return[i]}catch(s){this.client.logger.warn(\"Error extracting tx hashes from result\",s)}return[]})}async processPendingMessageEvents(){try{const n=this.client.session.keys,e=this.client.core.relayer.messages.getWithoutAck(n);for(const[t,s]of Object.entries(e))for(const i of s)try{await this.onProviderMessageEvent({topic:t,message:i,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${t}, message: ${i}`)}}catch(n){this.client.logger.warn(\"processPendingMessageEvents failed\",n)}}isInitialized(){if(!this.initialized){const{message:n}=y(\"NOT_INITIALIZED\",this.name);throw new Error(n)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(Xe.message,n=>{this.onProviderMessageEvent(n)})}async onRelayMessage(n){const{topic:e,message:t,attestation:s,transportType:i}=n,{publicKey:r}=this.client.auth.authKeys.keys.includes(ce)?this.client.auth.authKeys.get(ce):{responseTopic:void 0,publicKey:void 0};try{const o=await this.client.core.crypto.decode(e,t,{receiverPublicKey:r,encoding:i===P.link_mode?ne:de});ds(o)?(this.client.core.history.set(e,o),await this.onRelayEventRequest({topic:e,payload:o,attestation:s,transportType:i,encryptedId:W(t)})):us(o)?(await this.client.core.history.resolve(o),await this.onRelayEventResponse({topic:e,payload:o,transportType:i}),this.client.core.history.delete(e,o.id)):await this.onRelayEventUnknownPayload({topic:e,payload:o,transportType:i}),await this.client.core.relayer.messages.ack(e,t)}catch(o){this.client.logger.error(o)}}registerExpirerEvents(){this.client.core.expirer.on(Tt.expired,async n=>{const{topic:e,id:t}=Mt(n.target);if(t&&this.client.pendingRequest.keys.includes(t))return await this.deletePendingSessionRequest(t,y(\"EXPIRED\"),!0);if(t&&this.client.auth.requests.keys.includes(t))return await this.deletePendingAuthRequest(t,y(\"EXPIRED\"),!0);e?this.client.session.keys.includes(e)&&(await this.deleteSession({topic:e,expirerHasDeleted:!0}),this.client.events.emit(\"session_expire\",{topic:e})):t&&(await this.deleteProposal(t,!0),this.client.events.emit(\"proposal_expire\",{id:t}))})}registerPairingEvents(){this.client.core.pairing.events.on(Je.create,n=>this.onPairingCreated(n)),this.client.core.pairing.events.on(Je.delete,n=>{this.addToRecentlyDeleted(n.topic,\"pairing\")})}isValidPairingTopic(n){if(!Y(n,!1)){const{message:e}=y(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${n}`);throw new Error(e)}if(!this.client.core.pairing.pairings.keys.includes(n)){const{message:e}=y(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${n}`);throw new Error(e)}if(Z(this.client.core.pairing.pairings.get(n).expiry)){const{message:e}=y(\"EXPIRED\",`pairing topic: ${n}`);throw new Error(e)}}async isValidSessionTopic(n){if(!Y(n,!1)){const{message:e}=y(\"MISSING_OR_INVALID\",`session topic should be a string: ${n}`);throw new Error(e)}if(this.checkRecentlyDeleted(n),!this.client.session.keys.includes(n)){const{message:e}=y(\"NO_MATCHING_KEY\",`session topic doesn't exist: ${n}`);throw new Error(e)}if(Z(this.client.session.get(n).expiry)){await this.deleteSession({topic:n});const{message:e}=y(\"EXPIRED\",`session topic: ${n}`);throw new Error(e)}if(!this.client.core.crypto.keychain.has(n)){const{message:e}=y(\"MISSING_OR_INVALID\",`session topic does not exist in keychain: ${n}`);throw await this.deleteSession({topic:n}),new Error(e)}}async isValidSessionOrPairingTopic(n){if(this.checkRecentlyDeleted(n),this.client.session.keys.includes(n))await this.isValidSessionTopic(n);else if(this.client.core.pairing.pairings.keys.includes(n))this.isValidPairingTopic(n);else if(Y(n,!1)){const{message:e}=y(\"NO_MATCHING_KEY\",`session or pairing topic doesn't exist: ${n}`);throw new Error(e)}else{const{message:e}=y(\"MISSING_OR_INVALID\",`session or pairing topic should be a string: ${n}`);throw new Error(e)}}async isValidProposalId(n){if(!$t(n)){const{message:e}=y(\"MISSING_OR_INVALID\",`proposal id should be a number: ${n}`);throw new Error(e)}if(!this.client.proposal.keys.includes(n)){const{message:e}=y(\"NO_MATCHING_KEY\",`proposal id doesn't exist: ${n}`);throw new Error(e)}if(Z(this.client.proposal.get(n).expiryTimestamp)){await this.deleteProposal(n);const{message:e}=y(\"EXPIRED\",`proposal id: ${n}`);throw new Error(e)}}}class Os extends B{constructor(n,e){super(n,e,pt,we),this.core=n,this.logger=e}}class St extends B{constructor(n,e){super(n,e,ht,we),this.core=n,this.logger=e}}class bs extends B{constructor(n,e){super(n,e,ut,we,t=>t.id),this.core=n,this.logger=e}}class As extends B{constructor(n,e){super(n,e,mt,ae,()=>ce),this.core=n,this.logger=e}}class xs extends B{constructor(n,e){super(n,e,_t,ae),this.core=n,this.logger=e}}class Cs extends B{constructor(n,e){super(n,e,Et,ae,t=>t.id),this.core=n,this.logger=e}}var Vs=Object.defineProperty,Ds=(S,n,e)=>n in S?Vs(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,Ge=(S,n,e)=>Ds(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ls{constructor(n,e){this.core=n,this.logger=e,Ge(this,\"authKeys\"),Ge(this,\"pairingTopics\"),Ge(this,\"requests\"),this.authKeys=new As(this.core,this.logger),this.pairingTopics=new xs(this.core,this.logger),this.requests=new Cs(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var ks=Object.defineProperty,Ms=(S,n,e)=>n in S?ks(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,E=(S,n,e)=>Ms(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ee extends Lt{constructor(n){super(n),E(this,\"protocol\",De),E(this,\"version\",Le),E(this,\"name\",me.name),E(this,\"metadata\"),E(this,\"core\"),E(this,\"logger\"),E(this,\"events\",new hs),E(this,\"engine\"),E(this,\"session\"),E(this,\"proposal\"),E(this,\"pendingRequest\"),E(this,\"auth\"),E(this,\"signConfig\"),E(this,\"on\",(t,s)=>this.events.on(t,s)),E(this,\"once\",(t,s)=>this.events.once(t,s)),E(this,\"off\",(t,s)=>this.events.off(t,s)),E(this,\"removeListener\",(t,s)=>this.events.removeListener(t,s)),E(this,\"removeAllListeners\",t=>this.events.removeAllListeners(t)),E(this,\"connect\",async t=>{try{return await this.engine.connect(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"pair\",async t=>{try{return await this.engine.pair(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"approve\",async t=>{try{return await this.engine.approve(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"reject\",async t=>{try{return await this.engine.reject(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"update\",async t=>{try{return await this.engine.update(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"extend\",async t=>{try{return await this.engine.extend(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"request\",async t=>{try{return await this.engine.request(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"respond\",async t=>{try{return await this.engine.respond(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"ping\",async t=>{try{return await this.engine.ping(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"emit\",async t=>{try{return await this.engine.emit(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"disconnect\",async t=>{try{return await this.engine.disconnect(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"find\",t=>{try{return this.engine.find(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"getPendingSessionRequests\",()=>{try{return this.engine.getPendingSessionRequests()}catch(t){throw this.logger.error(t.message),t}}),E(this,\"authenticate\",async(t,s)=>{try{return await this.engine.authenticate(t,s)}catch(i){throw this.logger.error(i.message),i}}),E(this,\"formatAuthMessage\",t=>{try{return this.engine.formatAuthMessage(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"approveSessionAuthenticate\",async t=>{try{return await this.engine.approveSessionAuthenticate(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"rejectSessionAuthenticate\",async t=>{try{return await this.engine.rejectSessionAuthenticate(t)}catch(s){throw this.logger.error(s.message),s}}),this.name=n?.name||me.name,this.metadata=ls(n?.metadata),this.signConfig=n?.signConfig;const e=typeof n?.logger<\"u\"&&typeof n?.logger!=\"string\"?n.logger:At(xt({level:n?.logger||me.logger}));this.core=n?.core||new bt(n),this.logger=Ct(e,this.name),this.session=new St(this.core,this.logger),this.proposal=new Os(this.core,this.logger),this.pendingRequest=new bs(this.core,this.logger),this.engine=new Ns(this),this.auth=new Ls(this.core,this.logger)}static async init(n){const e=new Ee(n);return await e.initialize(),e}get context(){return Vt(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\"),setTimeout(()=>{this.engine.processRelayMessageCache()},Oe(Ze))}catch(n){throw this.logger.info(\"SignClient Initialization Failure\"),this.logger.error(n.message),n}}}const $s=St,Ks=Ee;export{wt as AUTH_CONTEXT,mt as AUTH_KEYS_CONTEXT,_t as AUTH_PAIRING_TOPIC_CONTEXT,yt as AUTH_PROTOCOL,ce as AUTH_PUBLIC_KEY_NAME,Et as AUTH_REQUEST_CONTEXT,ae as AUTH_STORAGE_PREFIX,Rs as AUTH_VERSION,dt as ENGINE_CONTEXT,$ as ENGINE_QUEUE_STATES,N as ENGINE_RPC_OPTS,Es as HISTORY_CONTEXT,_s as HISTORY_EVENTS,fs as HISTORY_STORAGE_VERSION,gt as METHODS_TO_VERIFY,pt as PROPOSAL_CONTEXT,Ss as PROPOSAL_EXPIRY,$e as PROPOSAL_EXPIRY_MESSAGE,ut as REQUEST_CONTEXT,ht as SESSION_CONTEXT,J as SESSION_EXPIRY,_e as SESSION_REQUEST_EXPIRY_BOUNDARIES,ke as SIGN_CLIENT_CONTEXT,me as SIGN_CLIENT_DEFAULT,ws as SIGN_CLIENT_EVENTS,De as SIGN_CLIENT_PROTOCOL,ms as SIGN_CLIENT_STORAGE_OPTIONS,we as SIGN_CLIENT_STORAGE_PREFIX,Le as SIGN_CLIENT_VERSION,$s as SessionStore,Ks as SignClient,Ke as TVF_METHODS,Me as WALLETCONNECT_DEEPLINK_CHOICE,Ee as default};\n//# sourceMappingURL=index.es.js.map\n","import $t from\"@walletconnect/sign-client\";import{isValidObject as G,isCaipNamespace as Z,parseNamespaceKey as _,mergeArrays as J,parseChainId as T,getSdkError as tt,isValidArray as z}from\"@walletconnect/utils\";import{pino as Ot,getDefaultLoggerOptions as At}from\"@walletconnect/logger\";import g,{HttpConnection as Ct}from\"@walletconnect/jsonrpc-http-connection\";import{JsonRpcProvider as f}from\"@walletconnect/jsonrpc-provider\";import{formatJsonRpcRequest as Ht,formatJsonRpcResult as Et}from\"@walletconnect/jsonrpc-utils\";import Nt from\"events\";const et=\"error\",St=\"wss://relay.walletconnect.org\",Dt=\"wc\",qt=\"universal_provider\",U=`${Dt}@2:${qt}:`,st=\"https://rpc.walletconnect.org/v1/\",I=\"generic\",jt=`${st}bundler`,u={DEFAULT_CHAIN_CHANGED:\"default_chain_changed\"};function Rt(){}function k(s){return s==null||typeof s!=\"object\"&&typeof s!=\"function\"}function W(s){return ArrayBuffer.isView(s)&&!(s instanceof DataView)}function _t(s){if(k(s))return s;if(Array.isArray(s)||W(s)||s instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&s instanceof SharedArrayBuffer)return s.slice(0);const t=Object.getPrototypeOf(s),e=t.constructor;if(s instanceof Date||s instanceof Map||s instanceof Set)return new e(s);if(s instanceof RegExp){const i=new e(s);return i.lastIndex=s.lastIndex,i}if(s instanceof DataView)return new e(s.buffer.slice(0));if(s instanceof Error){const i=new e(s.message);return i.stack=s.stack,i.name=s.name,i.cause=s.cause,i}if(typeof File<\"u\"&&s instanceof File)return new e([s],s.name,{type:s.type,lastModified:s.lastModified});if(typeof s==\"object\"){const i=Object.create(t);return Object.assign(i,s)}return s}function it(s){return typeof s==\"object\"&&s!==null}function rt(s){return Object.getOwnPropertySymbols(s).filter(t=>Object.prototype.propertyIsEnumerable.call(s,t))}function nt(s){return s==null?s===void 0?\"[object Undefined]\":\"[object Null]\":Object.prototype.toString.call(s)}const Ut=\"[object RegExp]\",at=\"[object String]\",ct=\"[object Number]\",ot=\"[object Boolean]\",ht=\"[object Arguments]\",Ft=\"[object Symbol]\",Lt=\"[object Date]\",Mt=\"[object Map]\",xt=\"[object Set]\",Bt=\"[object Array]\",Gt=\"[object ArrayBuffer]\",Jt=\"[object Object]\",zt=\"[object DataView]\",kt=\"[object Uint8Array]\",Wt=\"[object Uint8ClampedArray]\",Kt=\"[object Uint16Array]\",Vt=\"[object Uint32Array]\",Xt=\"[object Int8Array]\",Yt=\"[object Int16Array]\",Qt=\"[object Int32Array]\",Zt=\"[object Float32Array]\",Tt=\"[object Float64Array]\";function te(s,t){return $(s,void 0,s,new Map,t)}function $(s,t,e,i=new Map,n=void 0){const a=n?.(s,t,e,i);if(a!=null)return a;if(k(s))return s;if(i.has(s))return i.get(s);if(Array.isArray(s)){const r=new Array(s.length);i.set(s,r);for(let c=0;c<s.length;c++)r[c]=$(s[c],c,e,i,n);return Object.hasOwn(s,\"index\")&&(r.index=s.index),Object.hasOwn(s,\"input\")&&(r.input=s.input),r}if(s instanceof Date)return new Date(s.getTime());if(s instanceof RegExp){const r=new RegExp(s.source,s.flags);return r.lastIndex=s.lastIndex,r}if(s instanceof Map){const r=new Map;i.set(s,r);for(const[c,o]of s)r.set(c,$(o,c,e,i,n));return r}if(s instanceof Set){const r=new Set;i.set(s,r);for(const c of s)r.add($(c,void 0,e,i,n));return r}if(typeof Buffer<\"u\"&&Buffer.isBuffer(s))return s.subarray();if(W(s)){const r=new(Object.getPrototypeOf(s)).constructor(s.length);i.set(s,r);for(let c=0;c<s.length;c++)r[c]=$(s[c],c,e,i,n);return r}if(s instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&s instanceof SharedArrayBuffer)return s.slice(0);if(s instanceof DataView){const r=new DataView(s.buffer.slice(0),s.byteOffset,s.byteLength);return i.set(s,r),y(r,s,e,i,n),r}if(typeof File<\"u\"&&s instanceof File){const r=new File([s],s.name,{type:s.type});return i.set(s,r),y(r,s,e,i,n),r}if(s instanceof Blob){const r=new Blob([s],{type:s.type});return i.set(s,r),y(r,s,e,i,n),r}if(s instanceof Error){const r=new s.constructor;return i.set(s,r),r.message=s.message,r.name=s.name,r.stack=s.stack,r.cause=s.cause,y(r,s,e,i,n),r}if(typeof s==\"object\"&&ee(s)){const r=Object.create(Object.getPrototypeOf(s));return i.set(s,r),y(r,s,e,i,n),r}return s}function y(s,t,e=s,i,n){const a=[...Object.keys(t),...rt(t)];for(let r=0;r<a.length;r++){const c=a[r],o=Object.getOwnPropertyDescriptor(s,c);(o==null||o.writable)&&(s[c]=$(t[c],c,e,i,n))}}function ee(s){switch(nt(s)){case ht:case Bt:case Gt:case zt:case ot:case Lt:case Zt:case Tt:case Xt:case Yt:case Qt:case Mt:case ct:case Jt:case Ut:case xt:case at:case Ft:case kt:case Wt:case Kt:case Vt:return!0;default:return!1}}function se(s,t){return te(s,(e,i,n,a)=>{const r=t?.(e,i,n,a);if(r!=null)return r;if(typeof s==\"object\")switch(Object.prototype.toString.call(s)){case ct:case at:case ot:{const c=new s.constructor(s?.valueOf());return y(c,s),c}case ht:{const c={};return y(c,s),c.length=s.length,c[Symbol.iterator]=s[Symbol.iterator],c}default:return}})}function pt(s){return se(s)}function dt(s){return s!==null&&typeof s==\"object\"&&nt(s)===\"[object Arguments]\"}function ie(s){return W(s)}function re(s){if(typeof s!=\"object\"||s==null)return!1;if(Object.getPrototypeOf(s)===null)return!0;if(Object.prototype.toString.call(s)!==\"[object Object]\"){const e=s[Symbol.toStringTag];return e==null||!Object.getOwnPropertyDescriptor(s,Symbol.toStringTag)?.writable?!1:s.toString()===`[object ${e}]`}let t=s;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(s)===t}function ne(s,...t){const e=t.slice(0,-1),i=t[t.length-1];let n=s;for(let a=0;a<e.length;a++){const r=e[a];n=F(n,r,i,new Map)}return n}function F(s,t,e,i){if(k(s)&&(s=Object(s)),t==null||typeof t!=\"object\")return s;if(i.has(t))return _t(i.get(t));if(i.set(t,s),Array.isArray(t)){t=t.slice();for(let a=0;a<t.length;a++)t[a]=t[a]??void 0}const n=[...Object.keys(t),...rt(t)];for(let a=0;a<n.length;a++){const r=n[a];let c=t[r],o=s[r];if(dt(c)&&(c={...c}),dt(o)&&(o={...o}),typeof Buffer<\"u\"&&Buffer.isBuffer(c)&&(c=pt(c)),Array.isArray(c))if(typeof o==\"object\"&&o!=null){const w=[],v=Reflect.ownKeys(o);for(let P=0;P<v.length;P++){const p=v[P];w[p]=o[p]}o=w}else o=[];const m=e(o,c,r,s,t,i);m!=null?s[r]=m:Array.isArray(c)||it(o)&&it(c)?s[r]=F(o,c,e,i):o==null&&re(c)?s[r]=F({},c,e,i):o==null&&ie(c)?s[r]=pt(c):(o===void 0||c!==void 0)&&(s[r]=c)}return s}function ae(s,...t){return ne(s,...t,Rt)}var ce=Object.defineProperty,oe=Object.defineProperties,he=Object.getOwnPropertyDescriptors,ut=Object.getOwnPropertySymbols,pe=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable,lt=(s,t,e)=>t in s?ce(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,L=(s,t)=>{for(var e in t||(t={}))pe.call(t,e)&&lt(s,e,t[e]);if(ut)for(var e of ut(t))de.call(t,e)&&lt(s,e,t[e]);return s},ue=(s,t)=>oe(s,he(t));function d(s,t,e){var i;const n=T(s);return((i=t.rpcMap)==null?void 0:i[n.reference])||`${st}?chainId=${n.namespace}:${n.reference}&projectId=${e}`}function b(s){return s.includes(\":\")?s.split(\":\")[1]:s}function ft(s){return s.map(t=>`${t.split(\":\")[0]}:${t.split(\":\")[1]}`)}function le(s,t){const e=Object.keys(t.namespaces).filter(n=>n.includes(s));if(!e.length)return[];const i=[];return e.forEach(n=>{const a=t.namespaces[n].accounts;i.push(...a)}),i}function M(s={},t={}){const e=mt(s),i=mt(t);return ae(e,i)}function mt(s){var t,e,i,n,a;const r={};if(!G(s))return r;for(const[c,o]of Object.entries(s)){const m=Z(c)?[c]:o.chains,w=o.methods||[],v=o.events||[],P=o.rpcMap||{},p=_(c);r[p]=ue(L(L({},r[p]),o),{chains:J(m,(t=r[p])==null?void 0:t.chains),methods:J(w,(e=r[p])==null?void 0:e.methods),events:J(v,(i=r[p])==null?void 0:i.events)}),(G(P)||G(((n=r[p])==null?void 0:n.rpcMap)||{}))&&(r[p].rpcMap=L(L({},P),(a=r[p])==null?void 0:a.rpcMap))}return r}function vt(s){return s.includes(\":\")?s.split(\":\")[2]:s}function gt(s){const t={};for(const[e,i]of Object.entries(s)){const n=i.methods||[],a=i.events||[],r=i.accounts||[],c=Z(e)?[e]:i.chains?i.chains:ft(i.accounts);t[e]={chains:c,methods:n,events:a,accounts:r}}return t}function K(s){return typeof s==\"number\"?s:s.includes(\"0x\")?parseInt(s,16):(s=s.includes(\":\")?s.split(\":\")[1]:s,isNaN(Number(s))?s:Number(s))}const Pt={},h=s=>Pt[s],V=(s,t)=>{Pt[s]=t};var fe=Object.defineProperty,me=(s,t,e)=>t in s?fe(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,O=(s,t,e)=>me(s,typeof t!=\"symbol\"?t+\"\":t,e);class ve{constructor(t){O(this,\"name\",\"polkadot\"),O(this,\"client\"),O(this,\"httpProviders\"),O(this,\"events\"),O(this,\"namespace\"),O(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var ge=Object.defineProperty,Pe=Object.defineProperties,we=Object.getOwnPropertyDescriptors,wt=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,X=(s,t,e)=>t in s?ge(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,yt=(s,t)=>{for(var e in t||(t={}))ye.call(t,e)&&X(s,e,t[e]);if(wt)for(var e of wt(t))be.call(t,e)&&X(s,e,t[e]);return s},bt=(s,t)=>Pe(s,we(t)),A=(s,t,e)=>X(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ie{constructor(t){A(this,\"name\",\"eip155\"),A(this,\"client\"),A(this,\"chainId\"),A(this,\"namespace\"),A(this,\"httpProviders\"),A(this,\"events\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(t){switch(t.request.method){case\"eth_requestAccounts\":return this.getAccounts();case\"eth_accounts\":return this.getAccounts();case\"wallet_switchEthereumChain\":return await this.handleSwitchChain(t);case\"eth_chainId\":return parseInt(this.getDefaultChain());case\"wallet_getCapabilities\":return await this.getCapabilities(t);case\"wallet_getCallsStatus\":return await this.getCallStatus(t)}return this.namespace.methods.includes(t.request.method)?await this.client.request(t):this.getHttpProvider().request(t.request)}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(parseInt(t),e),this.chainId=parseInt(t),this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}createHttpProvider(t,e){const i=e||d(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new Ct(i,h(\"disableProviderPing\")))}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=parseInt(b(e));t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}getHttpProvider(){const t=this.chainId,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}async handleSwitchChain(t){var e,i;let n=t.request.params?(e=t.request.params[0])==null?void 0:e.chainId:\"0x0\";n=n.startsWith(\"0x\")?n:`0x${n}`;const a=parseInt(n,16);if(this.isChainApproved(a))this.setDefaultChain(`${a}`);else if(this.namespace.methods.includes(\"wallet_switchEthereumChain\"))await this.client.request({topic:t.topic,request:{method:t.request.method,params:[{chainId:n}]},chainId:(i=this.namespace.chains)==null?void 0:i[0]}),this.setDefaultChain(`${a}`);else throw new Error(`Failed to switch to chain 'eip155:${a}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(t){return this.namespace.chains.includes(`${this.name}:${t}`)}async getCapabilities(t){var e,i,n,a,r;const c=(i=(e=t.request)==null?void 0:e.params)==null?void 0:i[0],o=((a=(n=t.request)==null?void 0:n.params)==null?void 0:a[1])||[],m=`${c}${o.join(\",\")}`;if(!c)throw new Error(\"Missing address parameter in `wallet_getCapabilities` request\");const w=this.client.session.get(t.topic),v=((r=w?.sessionProperties)==null?void 0:r.capabilities)||{};if(v!=null&&v[m])return v?.[m];const P=await this.client.request(t);try{await this.client.session.update(t.topic,{sessionProperties:bt(yt({},w.sessionProperties||{}),{capabilities:bt(yt({},v||{}),{[m]:P})})})}catch(p){console.warn(\"Failed to update session with capabilities\",p)}return P}async getCallStatus(t){var e,i;const n=this.client.session.get(t.topic),a=(e=n.sessionProperties)==null?void 0:e.bundler_name;if(a){const c=this.getBundlerUrl(t.chainId,a);try{return await this.getUserOperationReceipt(c,t)}catch(o){console.warn(\"Failed to fetch call status from bundler\",o,c)}}const r=(i=n.sessionProperties)==null?void 0:i.bundler_url;if(r)try{return await this.getUserOperationReceipt(r,t)}catch(c){console.warn(\"Failed to fetch call status from custom bundler\",c,r)}if(this.namespace.methods.includes(t.request.method))return await this.client.request(t);throw new Error(\"Fetching call status not approved by the wallet.\")}async getUserOperationReceipt(t,e){var i;const n=new URL(t),a=await fetch(n,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(Ht(\"eth_getUserOperationReceipt\",[(i=e.request.params)==null?void 0:i[0]]))});if(!a.ok)throw new Error(`Failed to fetch user operation receipt - ${a.status}`);return await a.json()}getBundlerUrl(t,e){return`${jt}?projectId=${this.client.core.projectId}&chainId=${t}&bundler=${e}`}}var $e=Object.defineProperty,Oe=(s,t,e)=>t in s?$e(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,C=(s,t,e)=>Oe(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ae{constructor(t){C(this,\"name\",\"solana\"),C(this,\"client\"),C(this,\"httpProviders\"),C(this,\"events\"),C(this,\"namespace\"),C(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Ce=Object.defineProperty,He=(s,t,e)=>t in s?Ce(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,H=(s,t,e)=>He(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ee{constructor(t){H(this,\"name\",\"cosmos\"),H(this,\"client\"),H(this,\"httpProviders\"),H(this,\"events\"),H(this,\"namespace\"),H(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Ne=Object.defineProperty,Se=(s,t,e)=>t in s?Ne(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,E=(s,t,e)=>Se(s,typeof t!=\"symbol\"?t+\"\":t,e);class De{constructor(t){E(this,\"name\",\"algorand\"),E(this,\"client\"),E(this,\"httpProviders\"),E(this,\"events\"),E(this,\"namespace\"),E(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){if(!this.httpProviders[t]){const i=e||d(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;t[e]=this.createHttpProvider(e,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);return typeof i>\"u\"?void 0:new f(new g(i,h(\"disableProviderPing\")))}}var qe=Object.defineProperty,je=(s,t,e)=>t in s?qe(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,N=(s,t,e)=>je(s,typeof t!=\"symbol\"?t+\"\":t,e);class Re{constructor(t){N(this,\"name\",\"cip34\"),N(this,\"client\"),N(this,\"httpProviders\"),N(this,\"events\"),N(this,\"namespace\"),N(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{const i=this.getCardanoRPCUrl(e),n=b(e);t[n]=this.createHttpProvider(n,i)}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}getCardanoRPCUrl(t){const e=this.namespace.rpcMap;if(e)return e[t]}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||this.getCardanoRPCUrl(t);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var _e=Object.defineProperty,Ue=(s,t,e)=>t in s?_e(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,S=(s,t,e)=>Ue(s,typeof t!=\"symbol\"?t+\"\":t,e);class Fe{constructor(t){S(this,\"name\",\"elrond\"),S(this,\"client\"),S(this,\"httpProviders\"),S(this,\"events\"),S(this,\"namespace\"),S(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Le=Object.defineProperty,Me=(s,t,e)=>t in s?Le(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,D=(s,t,e)=>Me(s,typeof t!=\"symbol\"?t+\"\":t,e);class xe{constructor(t){D(this,\"name\",\"multiversx\"),D(this,\"client\"),D(this,\"httpProviders\"),D(this,\"events\"),D(this,\"namespace\"),D(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Be=Object.defineProperty,Ge=(s,t,e)=>t in s?Be(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,q=(s,t,e)=>Ge(s,typeof t!=\"symbol\"?t+\"\":t,e);class Je{constructor(t){q(this,\"name\",\"near\"),q(this,\"client\"),q(this,\"httpProviders\"),q(this,\"events\"),q(this,\"namespace\"),q(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){if(this.chainId=t,!this.httpProviders[t]){const i=e||d(`${this.name}:${t}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;t[e]=this.createHttpProvider(e,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace);return typeof i>\"u\"?void 0:new f(new g(i,h(\"disableProviderPing\")))}}var ze=Object.defineProperty,ke=(s,t,e)=>t in s?ze(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,j=(s,t,e)=>ke(s,typeof t!=\"symbol\"?t+\"\":t,e);class We{constructor(t){j(this,\"name\",\"tezos\"),j(this,\"client\"),j(this,\"httpProviders\"),j(this,\"events\"),j(this,\"namespace\"),j(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){if(this.chainId=t,!this.httpProviders[t]){const i=e||d(`${this.name}:${t}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{t[e]=this.createHttpProvider(e)}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace);return typeof i>\"u\"?void 0:new f(new g(i))}}var Ke=Object.defineProperty,Ve=(s,t,e)=>t in s?Ke(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,R=(s,t,e)=>Ve(s,typeof t!=\"symbol\"?t+\"\":t,e);class Xe{constructor(t){R(this,\"name\",I),R(this,\"client\"),R(this,\"httpProviders\"),R(this,\"events\"),R(this,\"namespace\"),R(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(t.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(t.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(t.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(t.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider(t.chainId).request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){var t,e;const i={};return(e=(t=this.namespace)==null?void 0:t.accounts)==null||e.forEach(n=>{const a=T(n);i[`${a.namespace}:${a.reference}`]=this.createHttpProvider(n)}),i}getHttpProvider(t){const e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Ye=Object.defineProperty,Qe=Object.defineProperties,Ze=Object.getOwnPropertyDescriptors,It=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,ts=Object.prototype.propertyIsEnumerable,Y=(s,t,e)=>t in s?Ye(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,x=(s,t)=>{for(var e in t||(t={}))Te.call(t,e)&&Y(s,e,t[e]);if(It)for(var e of It(t))ts.call(t,e)&&Y(s,e,t[e]);return s},Q=(s,t)=>Qe(s,Ze(t)),l=(s,t,e)=>Y(s,typeof t!=\"symbol\"?t+\"\":t,e);class B{constructor(t){l(this,\"client\"),l(this,\"namespaces\"),l(this,\"optionalNamespaces\"),l(this,\"sessionProperties\"),l(this,\"scopedProperties\"),l(this,\"events\",new Nt),l(this,\"rpcProviders\",{}),l(this,\"session\"),l(this,\"providerOpts\"),l(this,\"logger\"),l(this,\"uri\"),l(this,\"disableProviderPing\",!1),this.providerOpts=t,this.logger=typeof t?.logger<\"u\"&&typeof t?.logger!=\"string\"?t.logger:Ot(At({level:t?.logger||et})),this.disableProviderPing=t?.disableProviderPing||!1}static async init(t){const e=new B(t);return await e.initialize(),e}async request(t,e,i){const[n,a]=this.validateChain(e);if(!this.session)throw new Error(\"Please call connect() before request()\");return await this.getProvider(n).request({request:x({},t),chainId:`${n}:${a}`,topic:this.session.topic,expiry:i})}sendAsync(t,e,i,n){const a=new Date().getTime();this.request(t,i,n).then(r=>e(null,Et(a,r))).catch(r=>e(r,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 t;if(!this.session)throw new Error(\"Please call connect() before enable()\");await this.client.disconnect({topic:(t=this.session)==null?void 0:t.topic,reason:tt(\"USER_DISCONNECTED\")}),await this.cleanup()}async connect(t){if(!this.client)throw new Error(\"Sign Client not initialized\");if(this.setNamespaces(t),await this.cleanupPendingPairings(),!t.skipPairing)return await this.pair(t.pairingTopic)}async authenticate(t,e){if(!this.client)throw new Error(\"Sign Client not initialized\");this.setNamespaces(t),await this.cleanupPendingPairings();const{uri:i,response:n}=await this.client.authenticate(t,e);i&&(this.uri=i,this.events.emit(\"display_uri\",i));const a=await n();if(this.session=a.session,this.session){const r=gt(this.session.namespaces);this.namespaces=M(this.namespaces,r),await this.persist(\"namespaces\",this.namespaces),this.onConnect()}return a}on(t,e){this.events.on(t,e)}once(t,e){this.events.once(t,e)}removeListener(t,e){this.events.removeListener(t,e)}off(t,e){this.events.off(t,e)}get isWalletConnect(){return!0}async pair(t){const{uri:e,approval:i}=await this.client.connect({pairingTopic:t,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties});e&&(this.uri=e,this.events.emit(\"display_uri\",e));const n=await i();this.session=n;const a=gt(n.namespaces);return this.namespaces=M(this.namespaces,a),await this.persist(\"namespaces\",this.namespaces),await this.persist(\"optionalNamespaces\",this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(t,e){try{if(!this.session)return;const[i,n]=this.validateChain(t),a=this.getProvider(i);a.name===I?a.setDefaultChain(`${i}:${n}`,e):a.setDefaultChain(n,e)}catch(i){if(!/Please call connect/.test(i.message))throw i}}async cleanupPendingPairings(t={}){this.logger.info(\"Cleaning up inactive pairings...\");const e=this.client.pairing.getAll();if(z(e)){for(const i of e)t.deletePairings?this.client.core.expirer.set(i.topic,0):await this.client.core.relayer.subscriber.unsubscribe(i.topic);this.logger.info(`Inactive pairings cleared: ${e.length}`)}}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 t,e;if(this.client=this.providerOpts.client||await $t.init({core:this.providerOpts.core,logger:this.providerOpts.logger||et,relayUrl:this.providerOpts.relayUrl||St,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(i){throw this.logger.error(\"Failed to get session\",i),new Error(`The provided session: ${(e=(t=this.providerOpts)==null?void 0:t.session)==null?void 0:e.topic} doesn't exist in the Sign client`)}else{const i=this.client.session.getAll();this.session=i[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 t=[...new Set(Object.keys(this.session.namespaces).map(e=>_(e)))];V(\"client\",this.client),V(\"events\",this.events),V(\"disableProviderPing\",this.disableProviderPing),t.forEach(e=>{if(!this.session)return;const i=le(e,this.session),n=ft(i),a=M(this.namespaces,this.optionalNamespaces),r=Q(x({},a[e]),{accounts:i,chains:n});switch(e){case\"eip155\":this.rpcProviders[e]=new Ie({namespace:r});break;case\"algorand\":this.rpcProviders[e]=new De({namespace:r});break;case\"solana\":this.rpcProviders[e]=new Ae({namespace:r});break;case\"cosmos\":this.rpcProviders[e]=new Ee({namespace:r});break;case\"polkadot\":this.rpcProviders[e]=new ve({namespace:r});break;case\"cip34\":this.rpcProviders[e]=new Re({namespace:r});break;case\"elrond\":this.rpcProviders[e]=new Fe({namespace:r});break;case\"multiversx\":this.rpcProviders[e]=new xe({namespace:r});break;case\"near\":this.rpcProviders[e]=new Je({namespace:r});break;case\"tezos\":this.rpcProviders[e]=new We({namespace:r});break;default:this.rpcProviders[I]?this.rpcProviders[I].updateNamespace(r):this.rpcProviders[I]=new Xe({namespace:r})}})}registerEventListeners(){if(typeof this.client>\"u\")throw new Error(\"Sign Client is not initialized\");this.client.on(\"session_ping\",t=>{var e;const{topic:i}=t;i===((e=this.session)==null?void 0:e.topic)&&this.events.emit(\"session_ping\",t)}),this.client.on(\"session_event\",t=>{var e;const{params:i,topic:n}=t;if(n!==((e=this.session)==null?void 0:e.topic))return;const{event:a}=i;if(a.name===\"accountsChanged\"){const r=a.data;r&&z(r)&&this.events.emit(\"accountsChanged\",r.map(vt))}else if(a.name===\"chainChanged\"){const r=i.chainId,c=i.event.data,o=_(r),m=K(r)!==K(c)?`${o}:${K(c)}`:r;this.onChainChanged(m)}else this.events.emit(a.name,a.data);this.events.emit(\"session_event\",t)}),this.client.on(\"session_update\",({topic:t,params:e})=>{var i,n;if(t!==((i=this.session)==null?void 0:i.topic))return;const{namespaces:a}=e,r=(n=this.client)==null?void 0:n.session.get(t);this.session=Q(x({},r),{namespaces:a}),this.onSessionUpdate(),this.events.emit(\"session_update\",{topic:t,params:e})}),this.client.on(\"session_delete\",async t=>{var e;t.topic===((e=this.session)==null?void 0:e.topic)&&(await this.cleanup(),this.events.emit(\"session_delete\",t),this.events.emit(\"disconnect\",Q(x({},tt(\"USER_DISCONNECTED\")),{data:t.topic})))}),this.on(u.DEFAULT_CHAIN_CHANGED,t=>{this.onChainChanged(t,!0)})}getProvider(t){return this.rpcProviders[t]||this.rpcProviders[I]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(t=>{var e;this.getProvider(t).updateNamespace((e=this.session)==null?void 0:e.namespaces[t])})}setNamespaces(t){const{namespaces:e={},optionalNamespaces:i={},sessionProperties:n,scopedProperties:a}=t;this.optionalNamespaces=M(e,i),this.sessionProperties=n,this.scopedProperties=a}validateChain(t){const[e,i]=t?.split(\":\")||[\"\",\"\"];if(!this.namespaces||!Object.keys(this.namespaces).length)return[e,i];if(e&&!Object.keys(this.namespaces||{}).map(r=>_(r)).includes(e))throw new Error(`Namespace '${e}' is not configured. Please call connect() first with namespace config.`);if(e&&i)return[e,i];const n=_(Object.keys(this.namespaces)[0]),a=this.rpcProviders[n].getDefaultChain();return[n,a]}async requestAccounts(){const[t]=this.validateChain();return await this.getProvider(t).requestAccounts()}async onChainChanged(t,e=!1){if(!this.namespaces)return;const[i,n]=this.validateChain(t);if(!n)return;this.updateNamespaceChain(i,n),this.events.emit(\"chainChanged\",n);const a=this.getProvider(i).getDefaultChain();e||this.getProvider(i).setDefaultChain(n),this.emitAccountsChangedOnChainChange({namespace:i,previousChainId:a,newChainId:t}),await this.persist(\"namespaces\",this.namespaces)}emitAccountsChangedOnChainChange({namespace:t,previousChainId:e,newChainId:i}){var n,a;try{if(e===i)return;const r=(a=(n=this.session)==null?void 0:n.namespaces[t])==null?void 0:a.accounts;if(!r)return;const c=r.filter(o=>o.includes(`${i}:`)).map(vt);if(!z(c))return;this.events.emit(\"accountsChanged\",c)}catch(r){this.logger.warn(\"Failed to emit accountsChanged on chain change\",r)}}updateNamespaceChain(t,e){if(!this.namespaces)return;const i=this.namespaces[t]?t:`${t}:${e}`,n={chains:[],methods:[],events:[],defaultChain:e};this.namespaces[i]?this.namespaces[i]&&(this.namespaces[i].defaultChain=e):this.namespaces[i]=n}onConnect(){this.createProviders(),this.events.emit(\"connect\",{session:this.session})}async cleanup(){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,await this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(t,e){var i;const n=((i=this.session)==null?void 0:i.topic)||\"\";await this.client.core.storage.setItem(`${U}/${t}${n}`,e)}async getFromStore(t){var e;const i=((e=this.session)==null?void 0:e.topic)||\"\";return await this.client.core.storage.getItem(`${U}/${t}${i}`)}async deleteFromStore(t){var e;const i=((e=this.session)==null?void 0:e.topic)||\"\";await this.client.core.storage.removeItem(`${U}/${t}${i}`)}async cleanupStorage(){var t;try{if(((t=this.client)==null?void 0:t.session.length)>0)return;const e=await this.client.core.storage.getKeys();for(const i of e)i.startsWith(U)&&await this.client.core.storage.removeItem(i)}catch(e){this.logger.warn(\"Failed to cleanup storage\",e)}}}const es=B;export{es as UniversalProvider,B as default};\n//# sourceMappingURL=index.es.js.map\n","import{EventEmitter as j}from\"events\";import{getAccountsFromNamespaces as O,getSdkError as x,isValidArray as y}from\"@walletconnect/utils\";import{UniversalProvider as N}from\"@walletconnect/universal-provider\";const $=\"wc\",k=\"ethereum_provider\",q=`${$}@2:${k}:`,U=\"https://rpc.walletconnect.org/v1/\",f=[\"eth_sendTransaction\",\"personal_sign\"],A=[\"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_sendCalls\",\"wallet_getCapabilities\",\"wallet_getCallsStatus\",\"wallet_showCallsStatus\"],C=[\"chainChanged\",\"accountsChanged\"],P=[\"chainChanged\",\"accountsChanged\",\"message\",\"disconnect\",\"connect\"],D=async()=>{const{createAppKit:s}=await import(\"@reown/appkit/core\");return s};var z=Object.defineProperty,L=Object.defineProperties,K=Object.getOwnPropertyDescriptors,M=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,_=(s,t,e)=>t in s?z(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,v=(s,t)=>{for(var e in t||(t={}))Q.call(t,e)&&_(s,e,t[e]);if(M)for(var e of M(t))V.call(t,e)&&_(s,e,t[e]);return s},w=(s,t)=>L(s,K(t)),p=(s,t,e)=>_(s,typeof t!=\"symbol\"?t+\"\":t,e);function I(s){return Number(s[0].split(\":\")[1])}function E(s){return`0x${s.toString(16)}`}function G(s){const{chains:t,optionalChains:e,methods:n,optionalMethods:i,events:a,optionalEvents:o,rpcMap:u}=s;if(!y(t))throw new Error(\"Invalid chains\");const c={chains:t,methods:n||f,events:a||C,rpcMap:v({},t.length?{[I(t)]:u[I(t)]}:{})},l=a?.filter(d=>!C.includes(d)),r=n?.filter(d=>!f.includes(d));if(!e&&!o&&!i&&!(l!=null&&l.length)&&!(r!=null&&r.length))return{required:t.length?c:void 0};const m=l?.length&&r?.length||!e,h={chains:[...new Set(m?c.chains.concat(e||[]):e)],methods:[...new Set(c.methods.concat(i!=null&&i.length?i:A))],events:[...new Set(c.events.concat(o!=null&&o.length?o:P))],rpcMap:u};return{required:t.length?c:void 0,optional:e.length?h:void 0}}class b{constructor(){p(this,\"events\",new j),p(this,\"namespace\",\"eip155\"),p(this,\"accounts\",[]),p(this,\"signer\"),p(this,\"chainId\",1),p(this,\"modal\"),p(this,\"rpc\"),p(this,\"STORAGE_KEY\",q),p(this,\"on\",(t,e)=>(this.events.on(t,e),this)),p(this,\"once\",(t,e)=>(this.events.once(t,e),this)),p(this,\"removeListener\",(t,e)=>(this.events.removeListener(t,e),this)),p(this,\"off\",(t,e)=>(this.events.off(t,e),this)),p(this,\"parseAccount\",t=>this.isCompatibleChainId(t)?this.parseAccountId(t).address:t),this.signer={},this.rpc={}}static async init(t){const e=new b;return await e.initialize(t),e}async request(t,e){return await this.signer.request(t,this.formatChainId(this.chainId),e)}sendAsync(t,e,n){this.signer.sendAsync(t,e,this.formatChainId(this.chainId),n)}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:\"eth_requestAccounts\"})}async connect(t){var e;if(!this.signer.client)throw new Error(\"Provider not initialized. Call init() first\");this.loadConnectOpts(t);const{required:n,optional:i}=G(this.rpc);try{const a=await new Promise(async(u,c)=>{var l,r;this.rpc.showQrModal&&((l=this.modal)==null||l.open(),(r=this.modal)==null||r.subscribeState(h=>{!h.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),c(new Error(\"Connection request reset. Please try again.\")))}));const m=t!=null&&t.scopedProperties?{[this.namespace]:t.scopedProperties}:void 0;await this.signer.connect(w(v({namespaces:v({},n&&{[this.namespace]:n})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:t?.pairingTopic,scopedProperties:m})).then(h=>{u(h)}).catch(h=>{var d;(d=this.modal)==null||d.showErrorMessage(\"Unable to connect\"),c(new Error(h.message))})});if(!a)return;const o=O(a.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:o),this.setAccounts(o),this.events.emit(\"connect\",{chainId:E(this.chainId)})}catch(a){throw this.signer.logger.error(a),a}finally{(e=this.modal)==null||e.close()}}async authenticate(t,e){var n;if(!this.signer.client)throw new Error(\"Provider not initialized. Call init() first\");this.loadConnectOpts({chains:t?.chains});try{const i=await new Promise(async(o,u)=>{var c,l;this.rpc.showQrModal&&((c=this.modal)==null||c.open(),(l=this.modal)==null||l.subscribeState(r=>{!r.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),u(new Error(\"Connection request reset. Please try again.\")))})),await this.signer.authenticate(w(v({},t),{chains:this.rpc.chains}),e).then(r=>{o(r)}).catch(r=>{var m;(m=this.modal)==null||m.showErrorMessage(\"Unable to connect\"),u(new Error(r.message))})}),a=i.session;if(a){const o=O(a.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:o),this.setAccounts(o),this.events.emit(\"connect\",{chainId:E(this.chainId)})}return i}catch(i){throw this.signer.logger.error(i),i}finally{(n=this.modal)==null||n.close()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on(\"session_event\",t=>{const{params:e}=t,{event:n}=e;n.name===\"accountsChanged\"?(this.accounts=this.parseAccounts(n.data),this.events.emit(\"accountsChanged\",this.accounts)):n.name===\"chainChanged\"?this.setChainId(this.formatChainId(n.data)):this.events.emit(n.name,n.data),this.events.emit(\"session_event\",t)}),this.signer.on(\"accountsChanged\",t=>{this.accounts=this.parseAccounts(t),this.events.emit(\"accountsChanged\",this.accounts)}),this.signer.on(\"chainChanged\",t=>{const e=parseInt(t);this.chainId=e,this.events.emit(\"chainChanged\",E(this.chainId)),this.persist()}),this.signer.on(\"session_update\",t=>{this.events.emit(\"session_update\",t)}),this.signer.on(\"session_delete\",t=>{this.reset(),this.events.emit(\"session_delete\",t),this.events.emit(\"disconnect\",w(v({},x(\"USER_DISCONNECTED\")),{data:t.topic,name:\"USER_DISCONNECTED\"}))}),this.signer.on(\"display_uri\",t=>{this.events.emit(\"display_uri\",t)})}switchEthereumChain(t){this.request({method:\"wallet_switchEthereumChain\",params:[{chainId:t.toString(16)}]})}isCompatibleChainId(t){return typeof t==\"string\"?t.startsWith(`${this.namespace}:`):!1}formatChainId(t){return`${this.namespace}:${t}`}parseChainId(t){return Number(t.split(\":\")[1])}setChainIds(t){const e=t.filter(n=>this.isCompatibleChainId(n)).map(n=>this.parseChainId(n));e.length&&(this.chainId=e[0],this.events.emit(\"chainChanged\",E(this.chainId)),this.persist())}setChainId(t){if(this.isCompatibleChainId(t)){const e=this.parseChainId(t);this.chainId=e,this.switchEthereumChain(e)}}parseAccountId(t){const[e,n,i]=t.split(\":\");return{chainId:`${e}:${n}`,address:i}}setAccounts(t){this.accounts=t.filter(e=>this.parseChainId(this.parseAccountId(e).chainId)===this.chainId).map(e=>this.parseAccountId(e).address),this.events.emit(\"accountsChanged\",this.accounts)}getRpcConfig(t){var e,n;const i=(e=t?.chains)!=null?e:[],a=(n=t?.optionalChains)!=null?n:[],o=i.concat(a);if(!o.length)throw new Error(\"No chains specified in either `chains` or `optionalChains`\");const u=i.length?t?.methods||f:[],c=i.length?t?.events||C:[],l=t?.optionalMethods||[],r=t?.optionalEvents||[],m=t?.rpcMap||this.buildRpcMap(o,t.projectId),h=t?.qrModalOptions||void 0;return{chains:i?.map(d=>this.formatChainId(d)),optionalChains:a.map(d=>this.formatChainId(d)),methods:u,events:c,optionalMethods:l,optionalEvents:r,rpcMap:m,showQrModal:!!(t!=null&&t.showQrModal),qrModalOptions:h,projectId:t.projectId,metadata:t.metadata}}buildRpcMap(t,e){const n={};return t.forEach(i=>{n[i]=this.getRpcUrl(i,e)}),n}async initialize(t){if(this.rpc=this.getRpcConfig(t),this.chainId=this.rpc.chains.length?I(this.rpc.chains):I(this.rpc.optionalChains),this.signer=await N.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:t.disableProviderPing,relayUrl:t.relayUrl,storage:t.storage,storageOptions:t.storageOptions,customStoragePrefix:t.customStoragePrefix,telemetryEnabled:t.telemetryEnabled,logger:t.logger}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let e;try{const n=await D(),{convertWCMToAppKitOptions:i}=await Promise.resolve().then(function(){return nt}),a=i(w(v({},this.rpc.qrModalOptions),{chains:[...new Set([...this.rpc.chains,...this.rpc.optionalChains])],metadata:this.rpc.metadata,projectId:this.rpc.projectId}));if(!a.networks.length)throw new Error(\"No networks found for WalletConnect\\xB7\");e=n(w(v({},a),{universalProvider:this.signer,manualWCControl:!0}))}catch(n){throw console.warn(n),new Error(\"To use QR modal, please install @reown/appkit package\")}if(e)try{this.modal=e}catch(n){throw this.signer.logger.error(n),new Error(\"Could not generate WalletConnectModal Instance\")}}}loadConnectOpts(t){if(!t)return;const{chains:e,optionalChains:n,rpcMap:i}=t;e&&y(e)&&(this.rpc.chains=e.map(a=>this.formatChainId(a)),e.forEach(a=>{this.rpc.rpcMap[a]=i?.[a]||this.getRpcUrl(a)})),n&&y(n)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=n?.map(a=>this.formatChainId(a)),n.forEach(a=>{this.rpc.rpcMap[a]=i?.[a]||this.getRpcUrl(a)}))}getRpcUrl(t,e){var n;return((n=this.rpc.rpcMap)==null?void 0:n[t])||`${U}?chainId=eip155:${t}&projectId=${e||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{const t=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),e=this.session.namespaces[`${this.namespace}:${t}`]?this.session.namespaces[`${this.namespace}:${t}`]:this.session.namespaces[this.namespace];this.setChainIds(t?[this.formatChainId(t)]:e?.accounts),this.setAccounts(e?.accounts)}catch(t){this.signer.logger.error(\"Failed to load persisted session, clearing state...\"),this.signer.logger.error(t),await this.disconnect().catch(e=>this.signer.logger.warn(e))}}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(t){return typeof t==\"string\"||t instanceof String?[this.parseAccount(t)]:t.map(e=>this.parseAccount(e))}}const Y=b;var H=Object.defineProperty,B=Object.defineProperties,F=Object.getOwnPropertyDescriptors,S=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,T=(s,t,e)=>t in s?H(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,R=(s,t)=>{for(var e in t||(t={}))X.call(t,e)&&T(s,e,t[e]);if(S)for(var e of S(t))J.call(t,e)&&T(s,e,t[e]);return s},Z=(s,t)=>B(s,F(t));function tt(s){if(s)return{\"--w3m-font-family\":s[\"--wcm-font-family\"],\"--w3m-accent\":s[\"--wcm-accent-color\"],\"--w3m-color-mix\":s[\"--wcm-background-color\"],\"--w3m-z-index\":s[\"--wcm-z-index\"]?Number(s[\"--wcm-z-index\"]):void 0,\"--w3m-qr-color\":s[\"--wcm-accent-color\"],\"--w3m-font-size-master\":s[\"--wcm-text-medium-regular-size\"],\"--w3m-border-radius-master\":s[\"--wcm-container-border-radius\"],\"--w3m-color-mix-strength\":0}}const et=s=>{const[t,e]=s.split(\":\");return W({id:e,caipNetworkId:s,chainNamespace:t,name:\"\",nativeCurrency:{name:\"\",symbol:\"\",decimals:8},rpcUrls:{default:{http:[\"https://rpc.walletconnect.org/v1\"]}}})};function st(s){var t,e,n,i,a,o,u;const c=(t=s.chains)==null?void 0:t.map(et).filter(Boolean);if(c.length===0)throw new Error(\"At least one chain must be specified\");const l=c.find(m=>{var h;return m.id===((h=s.defaultChain)==null?void 0:h.id)}),r={projectId:s.projectId,networks:c,themeMode:s.themeMode,themeVariables:tt(s.themeVariables),chainImages:s.chainImages,connectorImages:s.walletImages,defaultNetwork:l,metadata:Z(R({},s.metadata),{name:((e=s.metadata)==null?void 0:e.name)||\"WalletConnect\",description:((n=s.metadata)==null?void 0:n.description)||\"Connect to WalletConnect-compatible wallets\",url:((i=s.metadata)==null?void 0:i.url)||\"https://walletconnect.org\",icons:((a=s.metadata)==null?void 0:a.icons)||[\"https://walletconnect.org/walletconnect-logo.png\"]}),showWallets:!0,featuredWalletIds:s.explorerRecommendedWalletIds===\"NONE\"?[]:Array.isArray(s.explorerRecommendedWalletIds)?s.explorerRecommendedWalletIds:[],excludeWalletIds:s.explorerExcludedWalletIds===\"ALL\"?[]:Array.isArray(s.explorerExcludedWalletIds)?s.explorerExcludedWalletIds:[],enableEIP6963:!1,enableInjected:!1,enableCoinbase:!0,enableWalletConnect:!0,features:{email:!1,socials:!1}};if((o=s.mobileWallets)!=null&&o.length||(u=s.desktopWallets)!=null&&u.length){const m=[...(s.mobileWallets||[]).map(g=>({id:g.id,name:g.name,links:g.links})),...(s.desktopWallets||[]).map(g=>({id:g.id,name:g.name,links:{native:g.links.native,universal:g.links.universal}}))],h=[...r.featuredWalletIds||[],...r.excludeWalletIds||[]],d=m.filter(g=>!h.includes(g.id));d.length&&(r.customWallets=d)}return r}function W(s){return R({formatters:void 0,fees:void 0,serializers:void 0},s)}var nt=Object.freeze({__proto__:null,convertWCMToAppKitOptions:st,defineChain:W});export{Y as EthereumProvider,P as OPTIONAL_EVENTS,A as OPTIONAL_METHODS,C as REQUIRED_EVENTS,f as REQUIRED_METHODS,b as default};\n//# sourceMappingURL=index.es.js.map\n"],"names":["_a","fn","size","i","size_","string","encoder","toBytes","j","n","a","b","h","le","l","crypto","pad","R","x","y","B","to","r","v","yParityOrV","recoveryBit","bases","ae","Ne","Ko","o","ue","Yo","Go","Tn","Wo","Xo","Rn","_n","Jo","$n","Y","jn","_e","process","pt","Yt","Sn","ei","ni","Tt","xt","ri","Cn","oi","Pn","Po","kn","jo","Vn","On","Mn","si","c","u","f","gt","fi","li","gi","xn","Ie","yi","$e","mi","wi","bi","Ei","Co","vi","xi","ot","Si","Kn","Fn","Yn","Zn","zn","Oi","Ai","Bi","Ii","je","Ni","Wt","Ui","Xt","Ce","Rt","Gn","Wn","Ti","Ri","_i","$i","Li","ji","_t","Ci","Pe","ct","Xn","Pi","Jn","ki","$t","Vi","Qn","Lt","tr","er","nr","Mi","Jt","Di","qi","Ki","Fi","zi","rr","or","ke","En","Ve","ir","sr","cr","ko","E","Vo","ts","es","ar","ur","Me","fr","de","lr","dr","De","hr","p","pe","yt","Ke","mr","wr","at","br","He","he","qe","vr","Fe","Sr","tt","Or","Ar","mt","ze","Ze","bs","Br","vs","Ir","jt","Nr","xs","Os","As","V","Ye","ge","Ur","Tr","Is","d","m","Ns","N","O","F","$","A","T","S","L","U","_","g","w","I","C","P","k","M","D","z","Z","st","W","J","Ts","Ls","Rr","_r","Cs","$r","ye","Lr","Ps","Ge","jr","ks","Vs","Ms","Ds","wt","bt","qs","Qt","me","we","St","te","Ct","Zs","Pt","kt","We","ut","Cr","Vt","Ot","ee","Mt","be","et","ne","Xe","Ee","ft","Pr","Je","Qe","kr","Vr","Dt","tn","q","H","At","Mr","Dr","X","Hr","it","nn","qr","Kr","Fr","zr","Zr","ve","rn","Yr","on","sn","Gr","cn","Wr","Ht","an","un","Xr","Jr","lt","dt","K","Qr","Be","zt","vt","Zt","Ut","vn","ln","G","qt","xe","Kt","dn","Ft","re","eo","oe","hn","Q","rt","pn","Bt","no","ro","gn","Se","Gt","oo","io","Mo","so","Do","co","ao","uo","fo","lo","It","ho","po","go","yn","yo","ie","Oe","mo","wo","bo","ht","Nt","se","Et","nt","Ae","ce","Eo","mn","vo","xo","So","Oo","Ao","wn","Bo","Io","No","Uo","To","Ro","_o","$o","Lo","bn","format","require$$0","transmit","level","s","Le","cs","Ue","Re","De.generateKeyPair","De.encodeIss","ls","De.signJWT","us","ds","gs","hs","ps","ys","ms","fs","Fs","Xi","Zi","Qi","ws","Yi","_s","Es","fe","Ss","Gi","Rs","Ks","Bs","is","ss","$s","zs","rs","ns","os","js","Us","as","Ji","Wi","Hi","Te"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]}