@reown/appkit-cdn 1.7.2-rc2 → 1.7.2

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 (244) hide show
  1. package/dist/{add-DmbNeLVF.js → add-9mrYIYr6.js} +2 -2
  2. package/dist/{add-DmbNeLVF.js.map → add-9mrYIYr6.js.map} +1 -1
  3. package/dist/{all-wallets-CyQyp1-L.js → all-wallets-BwcYhi4A.js} +2 -2
  4. package/dist/{all-wallets-CyQyp1-L.js.map → all-wallets-BwcYhi4A.js.map} +1 -1
  5. package/dist/{app-store-BTjdSF8B.js → app-store-C-LnLXCy.js} +2 -2
  6. package/dist/{app-store-BTjdSF8B.js.map → app-store-C-LnLXCy.js.map} +1 -1
  7. package/dist/{appkit-FPZNW0Mn.js → appkit-BqFue60_.js} +27 -34
  8. package/dist/{appkit-FPZNW0Mn.js.map → appkit-BqFue60_.js.map} +1 -1
  9. package/dist/appkit.js +1 -1
  10. package/dist/{apple-DVo8uwlJ.js → apple-ChKRyxwQ.js} +2 -2
  11. package/dist/{apple-DVo8uwlJ.js.map → apple-ChKRyxwQ.js.map} +1 -1
  12. package/dist/{arrow-bottom-b_uVSTFr.js → arrow-bottom-CoV06OPc.js} +2 -2
  13. package/dist/{arrow-bottom-b_uVSTFr.js.map → arrow-bottom-CoV06OPc.js.map} +1 -1
  14. package/dist/{arrow-bottom-circle-KUECpPNU.js → arrow-bottom-circle-COA1n-ew.js} +2 -2
  15. package/dist/{arrow-bottom-circle-KUECpPNU.js.map → arrow-bottom-circle-COA1n-ew.js.map} +1 -1
  16. package/dist/{arrow-left-7VSkb-08.js → arrow-left-DvgVeVQn.js} +2 -2
  17. package/dist/{arrow-left-7VSkb-08.js.map → arrow-left-DvgVeVQn.js.map} +1 -1
  18. package/dist/{arrow-right-CO4UOlK9.js → arrow-right-BFAglwuN.js} +2 -2
  19. package/dist/{arrow-right-CO4UOlK9.js.map → arrow-right-BFAglwuN.js.map} +1 -1
  20. package/dist/{arrow-top-DzYEYe_M.js → arrow-top-BugX2-rc.js} +2 -2
  21. package/dist/{arrow-top-DzYEYe_M.js.map → arrow-top-BugX2-rc.js.map} +1 -1
  22. package/dist/{bank-DnQ_fmXR.js → bank-DubUvP1_.js} +2 -2
  23. package/dist/{bank-DnQ_fmXR.js.map → bank-DubUvP1_.js.map} +1 -1
  24. package/dist/{browser-Hs3XllJn.js → browser-B7Z7gtLJ.js} +2 -2
  25. package/dist/{browser-Hs3XllJn.js.map → browser-B7Z7gtLJ.js.map} +1 -1
  26. package/dist/{browser-B40od_o-.js → browser-CnE2QVIc.js} +2 -2
  27. package/dist/{browser-B40od_o-.js.map → browser-CnE2QVIc.js.map} +1 -1
  28. package/dist/{card-CtODU0Gi.js → card-Bb9_SdfD.js} +2 -2
  29. package/dist/{card-CtODU0Gi.js.map → card-Bb9_SdfD.js.map} +1 -1
  30. package/dist/{ccip-i2qPn9u4.js → ccip-faoJRWzv.js} +2 -2
  31. package/dist/{ccip-i2qPn9u4.js.map → ccip-faoJRWzv.js.map} +1 -1
  32. package/dist/{checkmark-8wL_61no.js → checkmark--Uz6tSEo.js} +2 -2
  33. package/dist/{checkmark-8wL_61no.js.map → checkmark--Uz6tSEo.js.map} +1 -1
  34. package/dist/{checkmark-bold-D5bM4w5G.js → checkmark-bold--ETDTrzU.js} +2 -2
  35. package/dist/{checkmark-bold-D5bM4w5G.js.map → checkmark-bold--ETDTrzU.js.map} +1 -1
  36. package/dist/{chevron-bottom-BSwsgbhs.js → chevron-bottom-Bk02EnjK.js} +2 -2
  37. package/dist/{chevron-bottom-BSwsgbhs.js.map → chevron-bottom-Bk02EnjK.js.map} +1 -1
  38. package/dist/{chevron-left--tkY3uj0.js → chevron-left-lZuAtVdj.js} +2 -2
  39. package/dist/{chevron-left--tkY3uj0.js.map → chevron-left-lZuAtVdj.js.map} +1 -1
  40. package/dist/{chevron-right-Cutw30I9.js → chevron-right-Bsp9iy87.js} +2 -2
  41. package/dist/{chevron-right-Cutw30I9.js.map → chevron-right-Bsp9iy87.js.map} +1 -1
  42. package/dist/{chevron-top-CLgPsG6y.js → chevron-top-9KTnS3Xj.js} +2 -2
  43. package/dist/{chevron-top-CLgPsG6y.js.map → chevron-top-9KTnS3Xj.js.map} +1 -1
  44. package/dist/{chrome-store-CQkZZuK0.js → chrome-store-CzcSQJ0v.js} +2 -2
  45. package/dist/{chrome-store-CQkZZuK0.js.map → chrome-store-CzcSQJ0v.js.map} +1 -1
  46. package/dist/{clock-DiZiGD1a.js → clock-nArJfVV_.js} +2 -2
  47. package/dist/{clock-DiZiGD1a.js.map → clock-nArJfVV_.js.map} +1 -1
  48. package/dist/{close-d19WRW8Q.js → close-ECcSh9IP.js} +2 -2
  49. package/dist/{close-d19WRW8Q.js.map → close-ECcSh9IP.js.map} +1 -1
  50. package/dist/{coinPlaceholder-BLK1r66e.js → coinPlaceholder-DfcWgTOb.js} +2 -2
  51. package/dist/{coinPlaceholder-BLK1r66e.js.map → coinPlaceholder-DfcWgTOb.js.map} +1 -1
  52. package/dist/{compass-DE_-gZ9d.js → compass-nY9aEbl-.js} +2 -2
  53. package/dist/{compass-DE_-gZ9d.js.map → compass-nY9aEbl-.js.map} +1 -1
  54. package/dist/{copy-BJukrW0H.js → copy-DoE0fOXN.js} +2 -2
  55. package/dist/{copy-BJukrW0H.js.map → copy-DoE0fOXN.js.map} +1 -1
  56. package/dist/{cursor-CJlqVtZB.js → cursor-Cl6IDS7h.js} +2 -2
  57. package/dist/{cursor-CJlqVtZB.js.map → cursor-Cl6IDS7h.js.map} +1 -1
  58. package/dist/{cursor-transparent-BTQJAAy6.js → cursor-transparent-CykKeiQt.js} +2 -2
  59. package/dist/{cursor-transparent-BTQJAAy6.js.map → cursor-transparent-CykKeiQt.js.map} +1 -1
  60. package/dist/{desktop-CbWdgASI.js → desktop-BhelpuFk.js} +2 -2
  61. package/dist/{desktop-CbWdgASI.js.map → desktop-BhelpuFk.js.map} +1 -1
  62. package/dist/{disconnect-DINxac_w.js → disconnect-DxF_Ueco.js} +2 -2
  63. package/dist/{disconnect-DINxac_w.js.map → disconnect-DxF_Ueco.js.map} +1 -1
  64. package/dist/{discord-fuiTCM5d.js → discord-tyPmErLU.js} +2 -2
  65. package/dist/{discord-fuiTCM5d.js.map → discord-tyPmErLU.js.map} +1 -1
  66. package/dist/{email-6nyUo_64.js → email-jJZxQQpt.js} +8 -8
  67. package/dist/{email-6nyUo_64.js.map → email-jJZxQQpt.js.map} +1 -1
  68. package/dist/{embedded-wallet-B6DKFsFF.js → embedded-wallet-BRo8eLCA.js} +10 -10
  69. package/dist/{embedded-wallet-B6DKFsFF.js.map → embedded-wallet-BRo8eLCA.js.map} +1 -1
  70. package/dist/{etherscan-BeQ6zVM0.js → etherscan-CAnkRx8F.js} +2 -2
  71. package/dist/{etherscan-BeQ6zVM0.js.map → etherscan-CAnkRx8F.js.map} +1 -1
  72. package/dist/{exclamation-triangle-fAKmD8dK.js → exclamation-triangle-dZ6IGslX.js} +2 -2
  73. package/dist/{exclamation-triangle-fAKmD8dK.js.map → exclamation-triangle-dZ6IGslX.js.map} +1 -1
  74. package/dist/{extension-D4UeN5-f.js → extension-Bou_kx9t.js} +2 -2
  75. package/dist/{extension-D4UeN5-f.js.map → extension-Bou_kx9t.js.map} +1 -1
  76. package/dist/{external-link-f2dAGI_m.js → external-link-D4zYN9Zh.js} +2 -2
  77. package/dist/{external-link-f2dAGI_m.js.map → external-link-D4zYN9Zh.js.map} +1 -1
  78. package/dist/{facebook-BVZgeofS.js → facebook-DMbKUGMU.js} +2 -2
  79. package/dist/{facebook-BVZgeofS.js.map → facebook-DMbKUGMU.js.map} +1 -1
  80. package/dist/{farcaster-CdWlsNRx.js → farcaster-Cuiz5n2w.js} +2 -2
  81. package/dist/{farcaster-CdWlsNRx.js.map → farcaster-Cuiz5n2w.js.map} +1 -1
  82. package/dist/{filters-I-TB_bw1.js → filters-p6AnZ3A5.js} +2 -2
  83. package/dist/{filters-I-TB_bw1.js.map → filters-p6AnZ3A5.js.map} +1 -1
  84. package/dist/{github-1UFRW3mt.js → github-CqBcWFh9.js} +2 -2
  85. package/dist/{github-1UFRW3mt.js.map → github-CqBcWFh9.js.map} +1 -1
  86. package/dist/{google-dFj0fVJ1.js → google-BvegT5OY.js} +2 -2
  87. package/dist/{google-dFj0fVJ1.js.map → google-BvegT5OY.js.map} +1 -1
  88. package/dist/{help-circle-D-6Qg26b.js → help-circle-C6XzF5kN.js} +2 -2
  89. package/dist/{help-circle-D-6Qg26b.js.map → help-circle-C6XzF5kN.js.map} +1 -1
  90. package/dist/{id-C5Ei7lXU.js → id-COPRNO94.js} +2 -2
  91. package/dist/{id-C5Ei7lXU.js.map → id-COPRNO94.js.map} +1 -1
  92. package/dist/{if-defined-ClZyy12_.js → if-defined-BJw6rGWP.js} +79 -79
  93. package/dist/{if-defined-ClZyy12_.js.map → if-defined-BJw6rGWP.js.map} +1 -1
  94. package/dist/{image-DjNCSvm8.js → image-DPSGCYAR.js} +2 -2
  95. package/dist/{image-DjNCSvm8.js.map → image-DPSGCYAR.js.map} +1 -1
  96. package/dist/{index-X8QrHN3S.js → index--E7NV5zf.js} +4 -4
  97. package/dist/{index-X8QrHN3S.js.map → index--E7NV5zf.js.map} +1 -1
  98. package/dist/{index-8GlLpz4A.js → index-3r80R5sI.js} +4 -4
  99. package/dist/{index-8GlLpz4A.js.map → index-3r80R5sI.js.map} +1 -1
  100. package/dist/{index-CsdEFBie.js → index-8KYwmUoQ.js} +23 -23
  101. package/dist/{index-CsdEFBie.js.map → index-8KYwmUoQ.js.map} +1 -1
  102. package/dist/{index-DfwdgZKX.js → index-AQM1F9ET.js} +7 -7
  103. package/dist/{index-DfwdgZKX.js.map → index-AQM1F9ET.js.map} +1 -1
  104. package/dist/{index-B7bfx3Cx.js → index-B0tBmoNy.js} +3 -3
  105. package/dist/{index-B7bfx3Cx.js.map → index-B0tBmoNy.js.map} +1 -1
  106. package/dist/{index-DkBdMoob.js → index-B6n3hwkl.js} +3 -3
  107. package/dist/{index-DkBdMoob.js.map → index-B6n3hwkl.js.map} +1 -1
  108. package/dist/{index-DNRUm1t-.js → index-B7lgspW3.js} +3 -3
  109. package/dist/{index-DNRUm1t-.js.map → index-B7lgspW3.js.map} +1 -1
  110. package/dist/{index-Drclsv04.js → index-BIyzVT9J.js} +4 -4
  111. package/dist/{index-Drclsv04.js.map → index-BIyzVT9J.js.map} +1 -1
  112. package/dist/{index-E5gbN8HY.js → index-BQ-ZOYje.js} +3 -3
  113. package/dist/{index-E5gbN8HY.js.map → index-BQ-ZOYje.js.map} +1 -1
  114. package/dist/{index-BdKJ7M6H.js → index-C62NohAX.js} +3 -3
  115. package/dist/{index-BdKJ7M6H.js.map → index-C62NohAX.js.map} +1 -1
  116. package/dist/{index-Cwx67g0l.js → index-C6i5twmo.js} +3 -3
  117. package/dist/{index-Cwx67g0l.js.map → index-C6i5twmo.js.map} +1 -1
  118. package/dist/{index-D55_TU0P.js → index-Ca0h0pDs.js} +5 -5
  119. package/dist/{index-D55_TU0P.js.map → index-Ca0h0pDs.js.map} +1 -1
  120. package/dist/{index-By5S1yHh.js → index-Ca1FqhiX.js} +6 -6
  121. package/dist/{index-By5S1yHh.js.map → index-Ca1FqhiX.js.map} +1 -1
  122. package/dist/{index-CkWHthGG.js → index-CaHbHZhN.js} +4 -4
  123. package/dist/{index-CkWHthGG.js.map → index-CaHbHZhN.js.map} +1 -1
  124. package/dist/{index-9wvkLn24.js → index-Ce2YHb1r.js} +3 -3
  125. package/dist/{index-9wvkLn24.js.map → index-Ce2YHb1r.js.map} +1 -1
  126. package/dist/{index-BRBKgYZp.js → index-Cp-fkPiQ.js} +4 -4
  127. package/dist/{index-BRBKgYZp.js.map → index-Cp-fkPiQ.js.map} +1 -1
  128. package/dist/{index-B26xeqpr.js → index-CrNlyfMW.js} +4 -4
  129. package/dist/{index-B26xeqpr.js.map → index-CrNlyfMW.js.map} +1 -1
  130. package/dist/{index-CqSLPGbm.js → index-Crf8a-A3.js} +4 -4
  131. package/dist/{index-CqSLPGbm.js.map → index-Crf8a-A3.js.map} +1 -1
  132. package/dist/{index-BLWqSEWo.js → index-CwEFOtFi.js} +3 -3
  133. package/dist/{index-BLWqSEWo.js.map → index-CwEFOtFi.js.map} +1 -1
  134. package/dist/{index-XJBQYBGJ.js → index-DFMJxn0T.js} +3 -3
  135. package/dist/{index-XJBQYBGJ.js.map → index-DFMJxn0T.js.map} +1 -1
  136. package/dist/{index-CPCZAJGu.js → index-DNmJI1D6.js} +3 -3
  137. package/dist/{index-CPCZAJGu.js.map → index-DNmJI1D6.js.map} +1 -1
  138. package/dist/{index-ex-t04Xh.js → index-DO2NO4i_.js} +5 -5
  139. package/dist/{index-ex-t04Xh.js.map → index-DO2NO4i_.js.map} +1 -1
  140. package/dist/{index-D0x1jKuX.js → index-Dj0CpI-_.js} +2 -2
  141. package/dist/{index-D0x1jKuX.js.map → index-Dj0CpI-_.js.map} +1 -1
  142. package/dist/{index-ydrBvQlB.js → index-DjBaAhio.js} +3 -3
  143. package/dist/{index-ydrBvQlB.js.map → index-DjBaAhio.js.map} +1 -1
  144. package/dist/{index-Okmhfa3H.js → index-DrXGYJQ2.js} +4 -4
  145. package/dist/{index-Okmhfa3H.js.map → index-DrXGYJQ2.js.map} +1 -1
  146. package/dist/{index-7aoio2K9.js → index-K3G2GcGd.js} +3 -3
  147. package/dist/{index-7aoio2K9.js.map → index-K3G2GcGd.js.map} +1 -1
  148. package/dist/{index-a6NI3WZ4.js → index-UC2XB9t1.js} +2 -2
  149. package/dist/{index-a6NI3WZ4.js.map → index-UC2XB9t1.js.map} +1 -1
  150. package/dist/{index-Lgxv82MD.js → index-UFS59ujF.js} +3 -3
  151. package/dist/{index-Lgxv82MD.js.map → index-UFS59ujF.js.map} +1 -1
  152. package/dist/{index-CZc41pHn.js → index-_S2rfaCh.js} +4 -4
  153. package/dist/{index-CZc41pHn.js.map → index-_S2rfaCh.js.map} +1 -1
  154. package/dist/{index-TDVGod96.js → index-_YXKF1V7.js} +4 -4
  155. package/dist/{index-TDVGod96.js.map → index-_YXKF1V7.js.map} +1 -1
  156. package/dist/{index-Dap0K37t.js → index-e0pDV2Vj.js} +4 -4
  157. package/dist/{index-Dap0K37t.js.map → index-e0pDV2Vj.js.map} +1 -1
  158. package/dist/{index.es-Dh8s20G2.js → index.es-B6e5RxLw.js} +4 -4
  159. package/dist/{index.es-Dh8s20G2.js.map → index.es-B6e5RxLw.js.map} +1 -1
  160. package/dist/{info-BO397rzL.js → info-BoVtAIT0.js} +2 -2
  161. package/dist/{info-BO397rzL.js.map → info-BoVtAIT0.js.map} +1 -1
  162. package/dist/{info-circle-xbBOyUaP.js → info-circle-Dbi2MkIA.js} +2 -2
  163. package/dist/{info-circle-xbBOyUaP.js.map → info-circle-Dbi2MkIA.js.map} +1 -1
  164. package/dist/{lightbulb-uFs97kGa.js → lightbulb-Cx-MT6Lg.js} +2 -2
  165. package/dist/{lightbulb-uFs97kGa.js.map → lightbulb-Cx-MT6Lg.js.map} +1 -1
  166. package/dist/{mail-CqWPkqUR.js → mail-eijzUMfL.js} +2 -2
  167. package/dist/{mail-CqWPkqUR.js.map → mail-eijzUMfL.js.map} +1 -1
  168. package/dist/{metamask-sdk-A0bnr-Xy.js → metamask-sdk-B9-sNCPU.js} +3 -3
  169. package/dist/{metamask-sdk-A0bnr-Xy.js.map → metamask-sdk-B9-sNCPU.js.map} +1 -1
  170. package/dist/{mobile-CKNbAu4k.js → mobile-Cj-x6Juf.js} +2 -2
  171. package/dist/{mobile-CKNbAu4k.js.map → mobile-Cj-x6Juf.js.map} +1 -1
  172. package/dist/{more-CnqJ_oZ7.js → more-5YB93KQe.js} +2 -2
  173. package/dist/{more-CnqJ_oZ7.js.map → more-5YB93KQe.js.map} +1 -1
  174. package/dist/{native-BvK-oJ_F.js → native-BPlrf8bQ.js} +2 -2
  175. package/dist/{native-BvK-oJ_F.js.map → native-BPlrf8bQ.js.map} +1 -1
  176. package/dist/{network-placeholder-XgX4qq_E.js → network-placeholder-BiX6yo5z.js} +2 -2
  177. package/dist/{network-placeholder-XgX4qq_E.js.map → network-placeholder-BiX6yo5z.js.map} +1 -1
  178. package/dist/{nftPlaceholder-q7_klwzw.js → nftPlaceholder-X6XcnhZB.js} +2 -2
  179. package/dist/{nftPlaceholder-q7_klwzw.js.map → nftPlaceholder-X6XcnhZB.js.map} +1 -1
  180. package/dist/{off-G1j_Arjh.js → off-gTK4ULpf.js} +2 -2
  181. package/dist/{off-G1j_Arjh.js.map → off-gTK4ULpf.js.map} +1 -1
  182. package/dist/{onramp-BDcm9CzT.js → onramp-DvpGfkZQ.js} +12 -12
  183. package/dist/{onramp-BDcm9CzT.js.map → onramp-DvpGfkZQ.js.map} +1 -1
  184. package/dist/{play-store-B3iUQfrg.js → play-store-8HEaMJWY.js} +2 -2
  185. package/dist/{play-store-B3iUQfrg.js.map → play-store-8HEaMJWY.js.map} +1 -1
  186. package/dist/{plus-CFpdyA0k.js → plus-B9t0PxR4.js} +2 -2
  187. package/dist/{plus-CFpdyA0k.js.map → plus-B9t0PxR4.js.map} +1 -1
  188. package/dist/{qr-code-CUfocetV.js → qr-code-BFyKU_iF.js} +2 -2
  189. package/dist/{qr-code-CUfocetV.js.map → qr-code-BFyKU_iF.js.map} +1 -1
  190. package/dist/{receive-YR8-quPP.js → receive-DwoJ_st0.js} +6 -6
  191. package/dist/{receive-YR8-quPP.js.map → receive-DwoJ_st0.js.map} +1 -1
  192. package/dist/{recycle-horizontal-wraTUBlU.js → recycle-horizontal-CguGM9iv.js} +2 -2
  193. package/dist/{recycle-horizontal-wraTUBlU.js.map → recycle-horizontal-CguGM9iv.js.map} +1 -1
  194. package/dist/{refresh-DgrJe9oJ.js → refresh-DvBiyz-K.js} +2 -2
  195. package/dist/{refresh-DgrJe9oJ.js.map → refresh-DvBiyz-K.js.map} +1 -1
  196. package/dist/{reown-logo-B34FwgCk.js → reown-logo-BZha2fTG.js} +2 -2
  197. package/dist/{reown-logo-B34FwgCk.js.map → reown-logo-BZha2fTG.js.map} +1 -1
  198. package/dist/{search-CC_S5XfH.js → search-CaMswnOY.js} +2 -2
  199. package/dist/{search-CC_S5XfH.js.map → search-CaMswnOY.js.map} +1 -1
  200. package/dist/{send-Cck3dl3l.js → send-B44kRJKu.js} +2 -2
  201. package/dist/{send-Cck3dl3l.js.map → send-B44kRJKu.js.map} +1 -1
  202. package/dist/{send-CBv_FqTu.js → send-DQFS2mju.js} +10 -10
  203. package/dist/{send-CBv_FqTu.js.map → send-DQFS2mju.js.map} +1 -1
  204. package/dist/{socials-Mij3Ufsu.js → socials-C2Ap-iL3.js} +10 -10
  205. package/dist/{socials-Mij3Ufsu.js.map → socials-C2Ap-iL3.js.map} +1 -1
  206. package/dist/{swapHorizontal-cYlXqC1Y.js → swapHorizontal-DyO9ALOT.js} +2 -2
  207. package/dist/{swapHorizontal-cYlXqC1Y.js.map → swapHorizontal-DyO9ALOT.js.map} +1 -1
  208. package/dist/{swapHorizontalBold-8RenLKic.js → swapHorizontalBold-C6E_kIa6.js} +2 -2
  209. package/dist/{swapHorizontalBold-8RenLKic.js.map → swapHorizontalBold-C6E_kIa6.js.map} +1 -1
  210. package/dist/{swapHorizontalMedium-C9ky8QIH.js → swapHorizontalMedium-CGG18dDs.js} +2 -2
  211. package/dist/{swapHorizontalMedium-C9ky8QIH.js.map → swapHorizontalMedium-CGG18dDs.js.map} +1 -1
  212. package/dist/{swapHorizontalRoundedBold-_2xHOHth.js → swapHorizontalRoundedBold-BqEHzWHl.js} +2 -2
  213. package/dist/{swapHorizontalRoundedBold-_2xHOHth.js.map → swapHorizontalRoundedBold-BqEHzWHl.js.map} +1 -1
  214. package/dist/{swapVertical-BvdQm6_x.js → swapVertical-B6BYx4Ph.js} +2 -2
  215. package/dist/{swapVertical-BvdQm6_x.js.map → swapVertical-B6BYx4Ph.js.map} +1 -1
  216. package/dist/{swaps-SOLwChpf.js → swaps-BdPAY_y-.js} +10 -10
  217. package/dist/{swaps-SOLwChpf.js.map → swaps-BdPAY_y-.js.map} +1 -1
  218. package/dist/{telegram-BPWOayN0.js → telegram-BlyDPWls.js} +2 -2
  219. package/dist/{telegram-BPWOayN0.js.map → telegram-BlyDPWls.js.map} +1 -1
  220. package/dist/{three-dots-DtHLtljr.js → three-dots-DHwgdazE.js} +2 -2
  221. package/dist/{three-dots-DtHLtljr.js.map → three-dots-DHwgdazE.js.map} +1 -1
  222. package/dist/{transactions-Kr3dNqTM.js → transactions-DuHzFJLQ.js} +4 -4
  223. package/dist/{transactions-Kr3dNqTM.js.map → transactions-DuHzFJLQ.js.map} +1 -1
  224. package/dist/{twitch-CmfZmVaW.js → twitch-Cfpl8ZQU.js} +2 -2
  225. package/dist/{twitch-CmfZmVaW.js.map → twitch-Cfpl8ZQU.js.map} +1 -1
  226. package/dist/{twitterIcon-BApghdZL.js → twitterIcon-D2l27qgR.js} +2 -2
  227. package/dist/{twitterIcon-BApghdZL.js.map → twitterIcon-D2l27qgR.js.map} +1 -1
  228. package/dist/{verify-BHznh6vH.js → verify-BHK7uzw9.js} +2 -2
  229. package/dist/{verify-BHznh6vH.js.map → verify-BHK7uzw9.js.map} +1 -1
  230. package/dist/{verify-filled-BKc6_c9k.js → verify-filled-DvKCw5nT.js} +2 -2
  231. package/dist/{verify-filled-BKc6_c9k.js.map → verify-filled-DvKCw5nT.js.map} +1 -1
  232. package/dist/{w3m-modal-CdFXEmXP.js → w3m-modal-DKXDgvTc.js} +9 -9
  233. package/dist/{w3m-modal-CdFXEmXP.js.map → w3m-modal-DKXDgvTc.js.map} +1 -1
  234. package/dist/{wallet-3xELF7Yr.js → wallet-BBhM_Yy9.js} +2 -2
  235. package/dist/{wallet-3xELF7Yr.js.map → wallet-BBhM_Yy9.js.map} +1 -1
  236. package/dist/{wallet-placeholder-B9s6tTFv.js → wallet-placeholder-Cf2VUg95.js} +2 -2
  237. package/dist/{wallet-placeholder-B9s6tTFv.js.map → wallet-placeholder-Cf2VUg95.js.map} +1 -1
  238. package/dist/{walletconnect-DYx6Jlu6.js → walletconnect-DSDCTJD5.js} +2 -2
  239. package/dist/{walletconnect-DYx6Jlu6.js.map → walletconnect-DSDCTJD5.js.map} +1 -1
  240. package/dist/{warning-circle-B5h5nV_H.js → warning-circle-C7qNnk21.js} +2 -2
  241. package/dist/{warning-circle-B5h5nV_H.js.map → warning-circle-C7qNnk21.js.map} +1 -1
  242. package/dist/{x-CM8u5KnA.js → x-D6TetyuG.js} +2 -2
  243. package/dist/{x-CM8u5KnA.js.map → x-D6TetyuG.js.map} +1 -1
  244. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"index.es-Dh8s20G2.js","sources":["../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/data/isHex.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/data/size.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/errors/version.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/errors/base.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/errors/data.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/data/pad.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/errors/encoding.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/encoding/fromHex.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/encoding/toHex.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/encoding/toBytes.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/hash/keccak256.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/lru.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/address/getAddress.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/accounts/utils/publicKeyToAddress.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/signature/recoverPublicKey.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/signature/recoverAddress.js","../../../node_modules/.pnpm/@walletconnect+utils@2.19.1_bufferutil@4.0.9_db0@0.3.1_ioredis@5.6.0_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/@walletconnect/utils/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+core@2.19.1_bufferutil@4.0.9_db0@0.3.1_ioredis@5.6.0_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/@walletconnect/core/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+sign-client@2.19.1_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/@walletconnect/sign-client/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+universal-provider@2.19.1_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/@walletconnect/universal-provider/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+ethereum-provider@2.19.1_@types+react@19.0.0_bufferutil@4.0.9_react@19.0.0_typ_akdrdcpjzopftrfayrhsmfx74m/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","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","import{detect as Pr}from\"detect-browser\";import{toMiliseconds as We,FIVE_MINUTES as jt,fromMiliseconds as Br}from\"@walletconnect/time\";import{getDocument as ze,getNavigator as Ct,getLocation as kt}from\"@walletconnect/window-getters\";import{getWindowMetadata as Lr}from\"@walletconnect/window-metadata\";import{recoverAddress as jr}from\"viem\";import Cr from\"bs58\";import{decodeJWT as kr}from\"@walletconnect/relay-auth\";import{toString as K,fromString as W,concat as Je}from\"uint8arrays\";import{ec as Dr}from\"elliptic\";import{RELAY_JSONRPC as Mr}from\"@walletconnect/relay-api\";const Pe=\":\";function Ye(e){const[t,n]=e.split(Pe);return{namespace:t,reference:n}}function Dt(e){const{namespace:t,reference:n}=e;return[t,n].join(Pe)}function Xe(e){const[t,n,r]=e.split(Pe);return{namespace:t,reference:n,address:r}}function Mt(e){const{namespace:t,reference:n,address:r}=e;return[t,n,r].join(Pe)}function Ze(e,t){const n=[];return e.forEach(r=>{const o=t(r);n.includes(o)||n.push(o)}),n}function Vt(e){const{address:t}=Xe(e);return t}function Ht(e){const{namespace:t,reference:n}=Xe(e);return Dt({namespace:t,reference:n})}function Vr(e,t){const{namespace:n,reference:r}=Ye(t);return Mt({namespace:n,reference:r,address:e})}function Hr(e){return Ze(e,Vt)}function Kt(e){return Ze(e,Ht)}function Kr(e,t=[]){const n=[];return Object.keys(e).forEach(r=>{if(t.length&&!t.includes(r))return;const o=e[r];n.push(...o.accounts)}),n}function Fr(e,t=[]){const n=[];return Object.keys(e).forEach(r=>{if(t.length&&!t.includes(r))return;const o=e[r];n.push(...Kt(o.accounts))}),n}function qr(e,t=[]){const n=[];return Object.keys(e).forEach(r=>{if(t.length&&!t.includes(r))return;const o=e[r];n.push(...Be(r,o))}),n}function Be(e,t){return e.includes(\":\")?[e]:t.chains||[]}const Ft=\"ReactNative\",H={reactNative:\"react-native\",node:\"node\",browser:\"browser\",unknown:\"unknown\"},Le=\" \",Gr=\":\",qt=\"/\",Qe=2,Wr=1e3,Gt=\"js\";function et(){return typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.node<\"u\"}function ne(){return!ze()&&!!Ct()&&navigator.product===Ft}function zr(){return ne()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"&&(global==null?void 0:global.Platform.OS)===\"android\"}function Jr(){return ne()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"&&(global==null?void 0:global.Platform.OS)===\"ios\"}function Ae(){return!et()&&!!Ct()&&!!ze()}function ue(){return ne()?H.reactNative:et()?H.node:Ae()?H.browser:H.unknown}function Yr(){var e;try{return ne()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Application)<\"u\"?(e=global.Application)==null?void 0:e.applicationId:void 0}catch{return}}function Wt(e,t){const n=new URLSearchParams(e);for(const r of Object.keys(t).sort())if(t.hasOwnProperty(r)){const o=t[r];o!==void 0&&n.set(r,o)}return n.toString()}function Xr(){return Lr()||{name:\"\",description:\"\",url:\"\",icons:[\"\"]}}function Zr(e,t){var n;const r=ue(),o={protocol:e,version:t,env:r};return r===\"browser\"&&(o.host=((n=kt())==null?void 0:n.host)||\"unknown\"),o}function zt(){if(ue()===H.reactNative&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"){const{OS:n,Version:r}=global.Platform;return[n,r].join(\"-\")}const e=Pr();if(e===null)return\"unknown\";const t=e.os?e.os.replace(\" \",\"\").toLowerCase():\"unknown\";return e.type===\"browser\"?[t,e.name,e.version].join(\"-\"):[t,e.version].join(\"-\")}function Jt(){var e;const t=ue();return t===H.browser?[t,((e=kt())==null?void 0:e.host)||\"unknown\"].join(\":\"):t}function Yt(e,t,n){const r=zt(),o=Jt();return[[e,t].join(\"-\"),[Gt,n].join(\"-\"),r,o].join(\"/\")}function Qr({protocol:e,version:t,relayUrl:n,sdkVersion:r,auth:o,projectId:s,useOnCloseEvent:i,bundleId:c,packageName:u}){const a=n.split(\"?\"),l=Yt(e,t,r),f={auth:o,ua:l,projectId:s,useOnCloseEvent:i||void 0,packageName:u||void 0,bundleId:c||void 0},d=Wt(a[1]||\"\",f);return a[0]+\"?\"+d}function eo(e){let t=(e.match(/^[^:]+(?=:\\/\\/)/gi)||[])[0];const n=typeof t<\"u\"?e.split(\"://\")[1]:e;return t=t===\"wss\"?\"https\":\"http\",[t,n].join(\"://\")}function to(e,t,n){if(!e[t]||typeof e[t]!==n)throw new Error(`Missing or invalid \"${t}\" param`)}function Xt(e,t=Qe){return Zt(e.split(qt),t)}function no(e){return Xt(e).join(Le)}function re(e,t){return e.filter(n=>t.includes(n)).length===e.length}function Zt(e,t=Qe){return e.slice(Math.max(e.length-t,0))}function ro(e){return Object.fromEntries(e.entries())}function oo(e){return new Map(Object.entries(e))}function so(e,t){const n={};return Object.keys(e).forEach(r=>{n[r]=t(e[r])}),n}const io=e=>e;function Qt(e){return e.trim().replace(/^\\w/,t=>t.toUpperCase())}function co(e){return e.split(Le).map(t=>Qt(t)).join(Le)}function ao(e=jt,t){const n=We(e||jt);let r,o,s,i;return{resolve:c=>{s&&r&&(clearTimeout(s),r(c),i=Promise.resolve(c))},reject:c=>{s&&o&&(clearTimeout(s),o(c))},done:()=>new Promise((c,u)=>{if(i)return c(i);s=setTimeout(()=>{const a=new Error(t);i=Promise.reject(a),u(a)},n),r=c,o=u})}}function uo(e,t,n){return new Promise(async(r,o)=>{const s=setTimeout(()=>o(new Error(n)),t);try{const i=await e;r(i)}catch(i){o(i)}clearTimeout(s)})}function tt(e,t){if(typeof t==\"string\"&&t.startsWith(`${e}:`))return t;if(e.toLowerCase()===\"topic\"){if(typeof t!=\"string\")throw new Error('Value must be \"string\" for expirer target type: topic');return`topic:${t}`}else if(e.toLowerCase()===\"id\"){if(typeof t!=\"number\")throw new Error('Value must be \"number\" for expirer target type: id');return`id:${t}`}throw new Error(`Unknown expirer target type: ${e}`)}function fo(e){return tt(\"topic\",e)}function lo(e){return tt(\"id\",e)}function ho(e){const[t,n]=e.split(\":\"),r={id:void 0,topic:void 0};if(t===\"topic\"&&typeof n==\"string\")r.topic=n;else if(t===\"id\"&&Number.isInteger(Number(n)))r.id=Number(n);else throw new Error(`Invalid target, expected id:number or topic:string, got ${t}:${n}`);return r}function po(e,t){return Br((t||Date.now())+We(e))}function go(e){return Date.now()>=We(e)}function yo(e,t){return`${e}${t?`:${t}`:\"\"}`}function Q(e=[],t=[]){return[...new Set([...e,...t])]}async function mo({id:e,topic:t,wcDeepLink:n}){var r;try{if(!n)return;const o=typeof n==\"string\"?JSON.parse(n):n,s=o?.href;if(typeof s!=\"string\")return;const i=en(s,e,t),c=ue();if(c===H.browser){if(!((r=ze())!=null&&r.hasFocus())){console.warn(\"Document does not have focus, skipping deeplink.\");return}tn(i)}else c===H.reactNative&&typeof(global==null?void 0:global.Linking)<\"u\"&&await global.Linking.openURL(i)}catch(o){console.error(o)}}function en(e,t,n){const r=`requestId=${t}&sessionTopic=${n}`;e.endsWith(\"/\")&&(e=e.slice(0,-1));let o=`${e}`;if(e.startsWith(\"https://t.me\")){const s=e.includes(\"?\")?\"&startapp=\":\"?startapp=\";o=`${o}${s}${on(r,!0)}`}else o=`${o}/wc?${r}`;return o}function tn(e){let t=\"_self\";rn()?t=\"_top\":(nn()||e.startsWith(\"https://\")||e.startsWith(\"http://\"))&&(t=\"_blank\"),window.open(e,t,\"noreferrer noopener\")}async function bo(e,t){let n=\"\";try{if(Ae()&&(n=localStorage.getItem(t),n))return n;n=await e.getItem(t)}catch(r){console.error(r)}return n}function nt(e,t){return e.filter(n=>t.includes(n))}function wo(e,t){if(!e.includes(t))return null;const n=e.split(/([&,?,=])/),r=n.indexOf(t);return n[r+2]}function Eo(){return typeof crypto<\"u\"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/gu,e=>{const t=Math.random()*16|0;return(e===\"x\"?t:t&3|8).toString(16)})}function vo(){return typeof process<\"u\"&&process.env.IS_VITEST===\"true\"}function nn(){return typeof window<\"u\"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function rn(){try{return window.self!==window.top}catch{return!1}}function on(e,t=!1){const n=Buffer.from(e).toString(\"base64\");return t?n.replace(/[=]/g,\"\"):n}function rt(e){return Buffer.from(e,\"base64\").toString(\"utf-8\")}function xo(e){return new Promise(t=>setTimeout(t,e))}function Ne(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(\"positive integer expected, got \"+e)}function Io(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===\"Uint8Array\"}function je(e,...t){if(!Io(e))throw new Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw new Error(\"Uint8Array expected of length \"+t+\", got length=\"+e.length)}function ot(e){if(typeof e!=\"function\"||typeof e.create!=\"function\")throw new Error(\"Hash should be wrapped by utils.wrapConstructor\");Ne(e.outputLen),Ne(e.blockLen)}function me(e,t=!0){if(e.destroyed)throw new Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw new Error(\"Hash#digest() has already been called\")}function sn(e,t){je(e);const n=t.outputLen;if(e.length<n)throw new Error(\"digestInto() expects output buffer of length at least \"+n)}const Ce=BigInt(2**32-1),cn=BigInt(32);function Oo(e,t=!1){return t?{h:Number(e&Ce),l:Number(e>>cn&Ce)}:{h:Number(e>>cn&Ce)|0,l:Number(e&Ce)|0}}function Ao(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let o=0;o<e.length;o++){const{h:s,l:i}=Oo(e[o],t);[n[o],r[o]]=[s,i]}return[n,r]}const No=(e,t,n)=>e<<n|t>>>32-n,So=(e,t,n)=>t<<n|e>>>32-n,Uo=(e,t,n)=>t<<n-32|e>>>64-n,_o=(e,t,n)=>e<<n-32|t>>>64-n,be=typeof globalThis==\"object\"&&\"crypto\"in globalThis?globalThis.crypto:void 0;function To(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function st(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function J(e,t){return e<<32-t|e>>>t}const an=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function $o(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function un(e){for(let t=0;t<e.length;t++)e[t]=$o(e[t])}function Ro(e){if(typeof e!=\"string\")throw new Error(\"utf8ToBytes expected string, got \"+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function we(e){return typeof e==\"string\"&&(e=Ro(e)),je(e),e}class it{clone(){return this._cloneInto()}}function fn(e){const t=r=>e().update(we(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Se(e=32){if(be&&typeof be.getRandomValues==\"function\")return be.getRandomValues(new Uint8Array(e));if(be&&typeof be.randomBytes==\"function\")return be.randomBytes(e);throw new Error(\"crypto.getRandomValues must be defined\")}const ln=[],dn=[],hn=[],Po=BigInt(0),Ue=BigInt(1),Bo=BigInt(2),Lo=BigInt(7),jo=BigInt(256),Co=BigInt(113);for(let e=0,t=Ue,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],ln.push(2*(5*r+n)),dn.push((e+1)*(e+2)/2%64);let o=Po;for(let s=0;s<7;s++)t=(t<<Ue^(t>>Lo)*Co)%jo,t&Bo&&(o^=Ue<<(Ue<<BigInt(s))-Ue);hn.push(o)}const[ko,Do]=Ao(hn,!0),pn=(e,t,n)=>n>32?Uo(e,t,n):No(e,t,n),gn=(e,t,n)=>n>32?_o(e,t,n):So(e,t,n);function Mo(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){const c=(i+8)%10,u=(i+2)%10,a=n[u],l=n[u+1],f=pn(a,l,1)^n[c],d=gn(a,l,1)^n[c+1];for(let g=0;g<50;g+=10)e[i+g]^=f,e[i+g+1]^=d}let o=e[2],s=e[3];for(let i=0;i<24;i++){const c=dn[i],u=pn(o,s,c),a=gn(o,s,c),l=ln[i];o=e[l],s=e[l+1],e[l]=u,e[l+1]=a}for(let i=0;i<50;i+=10){for(let c=0;c<10;c++)n[c]=e[i+c];for(let c=0;c<10;c++)e[i+c]^=~n[(c+2)%10]&n[(c+4)%10]}e[0]^=ko[r],e[1]^=Do[r]}n.fill(0)}class Lt extends it{constructor(t,n,r,o=!1,s=24){if(super(),this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=o,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Ne(r),0>=this.blockLen||this.blockLen>=200)throw new Error(\"Sha3 supports only keccak-f1600 function\");this.state=new Uint8Array(200),this.state32=To(this.state)}keccak(){an||un(this.state32),Mo(this.state32,this.rounds),an||un(this.state32),this.posOut=0,this.pos=0}update(t){me(this);const{blockLen:n,state:r}=this;t=we(t);const o=t.length;for(let s=0;s<o;){const i=Math.min(n-this.pos,o-s);for(let c=0;c<i;c++)r[this.pos++]^=t[s++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:r,blockLen:o}=this;t[r]^=n,(n&128)!==0&&r===o-1&&this.keccak(),t[o-1]^=128,this.keccak()}writeInto(t){me(this,!1),je(t),this.finish();const n=this.state,{blockLen:r}=this;for(let o=0,s=t.length;o<s;){this.posOut>=r&&this.keccak();const i=Math.min(r-this.posOut,s-o);t.set(n.subarray(this.posOut,this.posOut+i),o),this.posOut+=i,o+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error(\"XOF is not possible for this instance\");return this.writeInto(t)}xof(t){return Ne(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(sn(t,this),this.finished)throw new Error(\"digest() was already called\");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:o,rounds:s,enableXOF:i}=this;return t||(t=new Lt(n,r,o,i,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=r,t.outputLen=o,t.enableXOF=i,t.destroyed=this.destroyed,t}}const Vo=(e,t,n)=>fn(()=>new Lt(t,e,n)),Ho=Vo(1,136,256/8),Ko=\"https://rpc.walletconnect.org/v1\";function ct(e){const t=`\u0019Ethereum Signed Message:\n${e.length}`,n=new TextEncoder().encode(t+e);return\"0x\"+Buffer.from(Ho(n)).toString(\"hex\")}async function yn(e,t,n,r,o,s){switch(n.t){case\"eip191\":return await mn(e,t,n.s);case\"eip1271\":return await bn(e,t,n.s,r,o,s);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${n.t}`)}}async function mn(e,t,n){return(await jr({hash:ct(t),signature:n})).toLowerCase()===e.toLowerCase()}async function bn(e,t,n,r,o,s){const i=Ye(r);if(!i.namespace||!i.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${r}`);try{const c=\"0x1626ba7e\",u=\"0000000000000000000000000000000000000000000000000000000000000040\",a=\"0000000000000000000000000000000000000000000000000000000000000041\",l=n.substring(2),f=ct(t).substring(2),d=c+f+u+a+l,g=await fetch(`${s||Ko}/?chainId=${r}&projectId=${o}`,{method:\"POST\",body:JSON.stringify({id:Fo(),jsonrpc:\"2.0\",method:\"eth_call\",params:[{to:e,data:d},\"latest\"]})}),{result:y}=await g.json();return y?y.slice(0,c.length).toLowerCase()===c.toLowerCase():!1}catch(c){return console.error(\"isValidEip1271Signature: \",c),!1}}function Fo(){return Date.now()+Math.floor(Math.random()*1e3)}function qo(e){const t=atob(e),n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=t.charCodeAt(i);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 s=Buffer.from(e,\"base64\").slice(1,65);return Cr.encode(s)}var Go=Object.defineProperty,Wo=Object.defineProperties,zo=Object.getOwnPropertyDescriptors,wn=Object.getOwnPropertySymbols,Jo=Object.prototype.hasOwnProperty,Yo=Object.prototype.propertyIsEnumerable,En=(e,t,n)=>t in e?Go(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,at=(e,t)=>{for(var n in t||(t={}))Jo.call(t,n)&&En(e,n,t[n]);if(wn)for(var n of wn(t))Yo.call(t,n)&&En(e,n,t[n]);return e},vn=(e,t)=>Wo(e,zo(t));const Xo=\"did:pkh:\",ke=e=>e?.split(\":\"),xn=e=>{const t=e&&ke(e);if(t)return e.includes(Xo)?t[3]:t[1]},In=e=>{const t=e&&ke(e);if(t)return t[2]+\":\"+t[3]},ut=e=>{const t=e&&ke(e);if(t)return t.pop()};async function Zo(e){const{cacao:t,projectId:n}=e,{s:r,p:o}=t,s=On(o,o.iss),i=ut(o.iss);return await yn(i,s,r,In(o.iss),n)}const On=(e,t)=>{const n=`${e.domain} wants you to sign in with your Ethereum account:`,r=ut(t);if(!e.aud&&!e.uri)throw new Error(\"Either `aud` or `uri` is required to construct the message\");let o=e.statement||void 0;const s=`URI: ${e.aud||e.uri}`,i=`Version: ${e.version}`,c=`Chain ID: ${xn(t)}`,u=`Nonce: ${e.nonce}`,a=`Issued At: ${e.iat}`,l=e.exp?`Expiration Time: ${e.exp}`:void 0,f=e.nbf?`Not Before: ${e.nbf}`:void 0,d=e.requestId?`Request ID: ${e.requestId}`:void 0,g=e.resources?`Resources:${e.resources.map(h=>`\n- ${h}`).join(\"\")}`:void 0,y=Me(e.resources);if(y){const h=oe(y);o=dt(o,h)}return[n,r,\"\",o,\"\",s,i,c,u,a,l,f,d,g].filter(h=>h!=null).join(`\n`)};function Qo(e,t,n){return n.includes(\"did:pkh:\")||(n=`did:pkh:${n}`),{h:{t:\"caip122\"},p:{iss:n,domain:e.domain,aud:e.aud,version:e.version,nonce:e.nonce,iat:e.iat,statement:e.statement,requestId:e.requestId,resources:e.resources,nbf:e.nbf,exp:e.exp},s:t}}function es(e){var t;const{authPayload:n,chains:r,methods:o}=e,s=n.statement||\"\";if(!(r!=null&&r.length))return n;const i=n.chains,c=nt(i,r);if(!(c!=null&&c.length))throw new Error(\"No supported chains\");const u=An(n.resources);if(!u)return n;Y(u);const a=Nn(u,\"eip155\");let l=n?.resources||[];if(a!=null&&a.length){const f=Sn(a),d=nt(f,o);if(!(d!=null&&d.length))throw new Error(`Supported methods don't satisfy the requested: ${JSON.stringify(f)}, supported: ${JSON.stringify(o)}`);const g=ft(\"request\",d,{chains:c}),y=$n(u,\"eip155\",g);l=((t=n?.resources)==null?void 0:t.slice(0,-1))||[],l.push(De(y))}return vn(at({},n),{statement:Pn(s,Me(l)),chains:c,resources:n!=null&&n.resources||l.length>0?l:void 0})}function An(e){const t=Me(e);if(t&&lt(t))return oe(t)}function ts(e,t){var n;return(n=e?.att)==null?void 0:n.hasOwnProperty(t)}function Nn(e,t){var n,r;return(n=e?.att)!=null&&n[t]?Object.keys((r=e?.att)==null?void 0:r[t]):[]}function ns(e){return e?.map(t=>Object.keys(t))||[]}function Sn(e){return e?.map(t=>{var n;return(n=t.split(\"/\"))==null?void 0:n[1]})||[]}function Un(e){return Buffer.from(JSON.stringify(e)).toString(\"base64\")}function _n(e){return JSON.parse(Buffer.from(e,\"base64\").toString(\"utf-8\"))}function Y(e){if(!e)throw new Error(\"No recap provided, value is undefined\");if(!e.att)throw new Error(\"No `att` property found\");const t=Object.keys(e.att);if(!(t!=null&&t.length))throw new Error(\"No resources found in `att` property\");t.forEach(n=>{const r=e.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 s=r[o];if(!Array.isArray(s))throw new Error(`Ability limits ${o} must be an array of objects, found: ${s}`);if(!s.length)throw new Error(`Value of ${o} is empty array, must be an array with objects`);s.forEach(i=>{if(typeof i!=\"object\")throw new Error(`Ability limits (${o}) must be an array of objects, found: ${i}`)})})})}function Tn(e,t,n,r={}){return n?.sort((o,s)=>o.localeCompare(s)),{att:{[e]:ft(t,n,r)}}}function $n(e,t,n){var r;e.att[t]=at({},n);const o=(r=Object.keys(e.att))==null?void 0:r.sort((i,c)=>i.localeCompare(c)),s={att:{}};return o.reduce((i,c)=>(i.att[c]=e.att[c],i),s)}function ft(e,t,n={}){t=t?.sort((o,s)=>o.localeCompare(s));const r=t.map(o=>({[`${e}/${o}`]:[n]}));return Object.assign({},...r)}function De(e){return Y(e),`urn:recap:${Un(e).replace(/=/g,\"\")}`}function oe(e){const t=_n(e.replace(\"urn:recap:\",\"\"));return Y(t),t}function rs(e,t,n){const r=Tn(e,t,n);return De(r)}function lt(e){return e&&e.includes(\"urn:recap:\")}function os(e,t){const n=oe(e),r=oe(t),o=Rn(n,r);return De(o)}function Rn(e,t){Y(e),Y(t);const n=Object.keys(e.att).concat(Object.keys(t.att)).sort((o,s)=>o.localeCompare(s)),r={att:{}};return n.forEach(o=>{var s,i;Object.keys(((s=e.att)==null?void 0:s[o])||{}).concat(Object.keys(((i=t.att)==null?void 0:i[o])||{})).sort((c,u)=>c.localeCompare(u)).forEach(c=>{var u,a;r.att[o]=vn(at({},r.att[o]),{[c]:((u=e.att[o])==null?void 0:u[c])||((a=t.att[o])==null?void 0:a[c])})})}),r}function dt(e=\"\",t){Y(t);const n=\"I further authorize the stated URI to perform the following actions on my behalf: \";if(e.includes(n))return e;const r=[];let o=0;Object.keys(t.att).forEach(c=>{const u=Object.keys(t.att[c]).map(f=>({ability:f.split(\"/\")[0],action:f.split(\"/\")[1]}));u.sort((f,d)=>f.action.localeCompare(d.action));const a={};u.forEach(f=>{a[f.ability]||(a[f.ability]=[]),a[f.ability].push(f.action)});const l=Object.keys(a).map(f=>(o++,`(${o}) '${f}': '${a[f].join(\"', '\")}' for '${c}'.`));r.push(l.join(\", \").replace(\".,\",\".\"))});const s=r.join(\" \"),i=`${n}${s}`;return`${e?e+\" \":\"\"}${i}`}function ss(e){var t;const n=oe(e);Y(n);const r=(t=n.att)==null?void 0:t.eip155;return r?Object.keys(r).map(o=>o.split(\"/\")[1]):[]}function is(e){const t=oe(e);Y(t);const n=[];return Object.values(t.att).forEach(r=>{Object.values(r).forEach(o=>{var s;(s=o?.[0])!=null&&s.chains&&n.push(o[0].chains)})}),[...new Set(n.flat())]}function Pn(e,t){if(!t)return e;const n=oe(t);return Y(n),dt(e,n)}function Me(e){if(!e)return;const t=e?.[e.length-1];return lt(t)?t:void 0}function ht(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(\"positive integer expected, got \"+e)}function Bn(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===\"Uint8Array\"}function F(e,...t){if(!Bn(e))throw new Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw new Error(\"Uint8Array expected of length \"+t+\", got length=\"+e.length)}function Ln(e,t=!0){if(e.destroyed)throw new Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw new Error(\"Hash#digest() has already been called\")}function cs(e,t){F(e);const n=t.outputLen;if(e.length<n)throw new Error(\"digestInto() expects output buffer of length at least \"+n)}function jn(e){if(typeof e!=\"boolean\")throw new Error(`boolean expected, not ${e}`)}const se=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),as=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),us=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!us)throw new Error(\"Non little-endian hardware is not supported\");function fs(e){if(typeof e!=\"string\")throw new Error(\"string expected\");return new Uint8Array(new TextEncoder().encode(e))}function pt(e){if(typeof e==\"string\")e=fs(e);else if(Bn(e))e=gt(e);else throw new Error(\"Uint8Array expected, got \"+typeof e);return e}function ls(e,t){if(t==null||typeof t!=\"object\")throw new Error(\"options must be defined\");return Object.assign(e,t)}function ds(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}const hs=(e,t)=>{function n(r,...o){if(F(r),e.nonceLength!==void 0){const l=o[0];if(!l)throw new Error(\"nonce / iv required\");e.varSizeNonce?F(l):F(l,e.nonceLength)}const s=e.tagLength;s&&o[1]!==void 0&&F(o[1]);const i=t(r,...o),c=(l,f)=>{if(f!==void 0){if(l!==2)throw new Error(\"cipher output not supported\");F(f)}};let u=!1;return{encrypt(l,f){if(u)throw new Error(\"cannot encrypt() twice with same key + nonce\");return u=!0,F(l),c(i.encrypt.length,f),i.encrypt(l,f)},decrypt(l,f){if(F(l),s&&l.length<s)throw new Error(\"invalid ciphertext length: smaller than tagLength=\"+s);return c(i.decrypt.length,f),i.decrypt(l,f)}}}return Object.assign(n,e),n};function Cn(e,t,n=!0){if(t===void 0)return new Uint8Array(e);if(t.length!==e)throw new Error(\"invalid output length, expected \"+e+\", got: \"+t.length);if(n&&!ps(t))throw new Error(\"invalid output, must be aligned\");return t}function kn(e,t,n,r){if(typeof e.setBigUint64==\"function\")return e.setBigUint64(t,n,r);const o=BigInt(32),s=BigInt(4294967295),i=Number(n>>o&s),c=Number(n&s),u=r?4:0,a=r?0:4;e.setUint32(t+u,i,r),e.setUint32(t+a,c,r)}function ps(e){return e.byteOffset%4===0}function gt(e){return Uint8Array.from(e)}function Ee(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}const Dn=e=>Uint8Array.from(e.split(\"\").map(t=>t.charCodeAt(0))),gs=Dn(\"expand 16-byte k\"),ys=Dn(\"expand 32-byte k\"),ms=se(gs),bs=se(ys);function x(e,t){return e<<t|e>>>32-t}function yt(e){return e.byteOffset%4===0}const Ve=64,ws=16,Mn=2**32-1,Vn=new Uint32Array;function Es(e,t,n,r,o,s,i,c){const u=o.length,a=new Uint8Array(Ve),l=se(a),f=yt(o)&&yt(s),d=f?se(o):Vn,g=f?se(s):Vn;for(let y=0;y<u;i++){if(e(t,n,r,l,i,c),i>=Mn)throw new Error(\"arx: counter overflow\");const h=Math.min(Ve,u-y);if(f&&h===Ve){const m=y/4;if(y%4!==0)throw new Error(\"arx: invalid block position\");for(let L=0,b;L<ws;L++)b=m+L,g[b]=d[b]^l[L];y+=Ve;continue}for(let m=0,L;m<h;m++)L=y+m,s[L]=o[L]^a[m];y+=h}}function vs(e,t){const{allowShortKeys:n,extendNonceFn:r,counterLength:o,counterRight:s,rounds:i}=ls({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=\"function\")throw new Error(\"core must be a function\");return ht(o),ht(i),jn(s),jn(n),(c,u,a,l,f=0)=>{F(c),F(u),F(a);const d=a.length;if(l===void 0&&(l=new Uint8Array(d)),F(l),ht(f),f<0||f>=Mn)throw new Error(\"arx: counter overflow\");if(l.length<d)throw new Error(`arx: output (${l.length}) is shorter than data (${d})`);const g=[];let y=c.length,h,m;if(y===32)g.push(h=gt(c)),m=bs;else if(y===16&&n)h=new Uint8Array(32),h.set(c),h.set(c,16),m=ms,g.push(h);else throw new Error(`arx: invalid 32-byte key, got length=${y}`);yt(u)||g.push(u=gt(u));const L=se(h);if(r){if(u.length!==24)throw new Error(\"arx: extended nonce must be 24 bytes\");r(m,L,se(u.subarray(0,16)),L),u=u.subarray(16)}const b=16-o;if(b!==u.length)throw new Error(`arx: nonce must be ${b} or 16 bytes`);if(b!==12){const O=new Uint8Array(12);O.set(u,s?0:12-u.length),u=O,g.push(u)}const _=se(u);return Es(e,m,L,_,a,l,f,i),Ee(...g),l}}const M=(e,t)=>e[t++]&255|(e[t++]&255)<<8;class xs{constructor(t){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,t=pt(t),F(t,32);const n=M(t,0),r=M(t,2),o=M(t,4),s=M(t,6),i=M(t,8),c=M(t,10),u=M(t,12),a=M(t,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|s<<9)&8191,this.r[4]=(s>>>4|i<<12)&255,this.r[5]=i>>>1&8190,this.r[6]=(i>>>14|c<<2)&8191,this.r[7]=(c>>>11|u<<5)&8065,this.r[8]=(u>>>8|a<<8)&8191,this.r[9]=a>>>5&127;for(let l=0;l<8;l++)this.pad[l]=M(t,16+2*l)}process(t,n,r=!1){const o=r?0:2048,{h:s,r:i}=this,c=i[0],u=i[1],a=i[2],l=i[3],f=i[4],d=i[5],g=i[6],y=i[7],h=i[8],m=i[9],L=M(t,n+0),b=M(t,n+2),_=M(t,n+4),O=M(t,n+6),k=M(t,n+8),E=M(t,n+10),B=M(t,n+12),j=M(t,n+14);let v=s[0]+(L&8191),I=s[1]+((L>>>13|b<<3)&8191),w=s[2]+((b>>>10|_<<6)&8191),R=s[3]+((_>>>7|O<<9)&8191),A=s[4]+((O>>>4|k<<12)&8191),T=s[5]+(k>>>1&8191),N=s[6]+((k>>>14|E<<2)&8191),S=s[7]+((E>>>11|B<<5)&8191),U=s[8]+((B>>>8|j<<8)&8191),$=s[9]+(j>>>5|o),p=0,C=p+v*c+I*(5*m)+w*(5*h)+R*(5*y)+A*(5*g);p=C>>>13,C&=8191,C+=T*(5*d)+N*(5*f)+S*(5*l)+U*(5*a)+$*(5*u),p+=C>>>13,C&=8191;let D=p+v*u+I*c+w*(5*m)+R*(5*h)+A*(5*y);p=D>>>13,D&=8191,D+=T*(5*g)+N*(5*d)+S*(5*f)+U*(5*l)+$*(5*a),p+=D>>>13,D&=8191;let P=p+v*a+I*u+w*c+R*(5*m)+A*(5*h);p=P>>>13,P&=8191,P+=T*(5*y)+N*(5*g)+S*(5*d)+U*(5*f)+$*(5*l),p+=P>>>13,P&=8191;let G=p+v*l+I*a+w*u+R*c+A*(5*m);p=G>>>13,G&=8191,G+=T*(5*h)+N*(5*y)+S*(5*g)+U*(5*d)+$*(5*f),p+=G>>>13,G&=8191;let X=p+v*f+I*l+w*a+R*u+A*c;p=X>>>13,X&=8191,X+=T*(5*m)+N*(5*h)+S*(5*y)+U*(5*g)+$*(5*d),p+=X>>>13,X&=8191;let Z=p+v*d+I*f+w*l+R*a+A*u;p=Z>>>13,Z&=8191,Z+=T*c+N*(5*m)+S*(5*h)+U*(5*y)+$*(5*g),p+=Z>>>13,Z&=8191;let he=p+v*g+I*d+w*f+R*l+A*a;p=he>>>13,he&=8191,he+=T*u+N*c+S*(5*m)+U*(5*h)+$*(5*y),p+=he>>>13,he&=8191;let pe=p+v*y+I*g+w*d+R*f+A*l;p=pe>>>13,pe&=8191,pe+=T*a+N*u+S*c+U*(5*m)+$*(5*h),p+=pe>>>13,pe&=8191;let ge=p+v*h+I*y+w*g+R*d+A*f;p=ge>>>13,ge&=8191,ge+=T*l+N*a+S*u+U*c+$*(5*m),p+=ge>>>13,ge&=8191;let ye=p+v*m+I*h+w*y+R*g+A*d;p=ye>>>13,ye&=8191,ye+=T*f+N*l+S*a+U*u+$*c,p+=ye>>>13,ye&=8191,p=(p<<2)+p|0,p=p+C|0,C=p&8191,p=p>>>13,D+=p,s[0]=C,s[1]=D,s[2]=P,s[3]=G,s[4]=X,s[5]=Z,s[6]=he,s[7]=pe,s[8]=ge,s[9]=ye}finalize(){const{h:t,pad:n}=this,r=new Uint16Array(10);let o=t[1]>>>13;t[1]&=8191;for(let c=2;c<10;c++)t[c]+=o,o=t[c]>>>13,t[c]&=8191;t[0]+=o*5,o=t[0]>>>13,t[0]&=8191,t[1]+=o,o=t[1]>>>13,t[1]&=8191,t[2]+=o,r[0]=t[0]+5,o=r[0]>>>13,r[0]&=8191;for(let c=1;c<10;c++)r[c]=t[c]+o,o=r[c]>>>13,r[c]&=8191;r[9]-=8192;let s=(o^1)-1;for(let c=0;c<10;c++)r[c]&=s;s=~s;for(let c=0;c<10;c++)t[c]=t[c]&s|r[c];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let i=t[0]+n[0];t[0]=i&65535;for(let c=1;c<8;c++)i=(t[c]+n[c]|0)+(i>>>16)|0,t[c]=i&65535;Ee(r)}update(t){Ln(this);const{buffer:n,blockLen:r}=this;t=pt(t);const o=t.length;for(let s=0;s<o;){const i=Math.min(r-this.pos,o-s);if(i===r){for(;r<=o-s;s+=r)this.process(t,s);continue}n.set(t.subarray(s,s+i),this.pos),this.pos+=i,s+=i,this.pos===r&&(this.process(n,0,!1),this.pos=0)}return this}destroy(){Ee(this.h,this.r,this.buffer,this.pad)}digestInto(t){Ln(this),cs(t,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 s=0;for(let i=0;i<8;i++)t[s++]=r[i]>>>0,t[s++]=r[i]>>>8;return t}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const r=t.slice(0,n);return this.destroy(),r}}function Is(e){const t=(r,o)=>e(o).update(pt(r)).digest(),n=e(new Uint8Array(32));return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=r=>e(r),t}const Os=Is(e=>new xs(e));function As(e,t,n,r,o,s=20){let i=e[0],c=e[1],u=e[2],a=e[3],l=t[0],f=t[1],d=t[2],g=t[3],y=t[4],h=t[5],m=t[6],L=t[7],b=o,_=n[0],O=n[1],k=n[2],E=i,B=c,j=u,v=a,I=l,w=f,R=d,A=g,T=y,N=h,S=m,U=L,$=b,p=_,C=O,D=k;for(let G=0;G<s;G+=2)E=E+I|0,$=x($^E,16),T=T+$|0,I=x(I^T,12),E=E+I|0,$=x($^E,8),T=T+$|0,I=x(I^T,7),B=B+w|0,p=x(p^B,16),N=N+p|0,w=x(w^N,12),B=B+w|0,p=x(p^B,8),N=N+p|0,w=x(w^N,7),j=j+R|0,C=x(C^j,16),S=S+C|0,R=x(R^S,12),j=j+R|0,C=x(C^j,8),S=S+C|0,R=x(R^S,7),v=v+A|0,D=x(D^v,16),U=U+D|0,A=x(A^U,12),v=v+A|0,D=x(D^v,8),U=U+D|0,A=x(A^U,7),E=E+w|0,D=x(D^E,16),S=S+D|0,w=x(w^S,12),E=E+w|0,D=x(D^E,8),S=S+D|0,w=x(w^S,7),B=B+R|0,$=x($^B,16),U=U+$|0,R=x(R^U,12),B=B+R|0,$=x($^B,8),U=U+$|0,R=x(R^U,7),j=j+A|0,p=x(p^j,16),T=T+p|0,A=x(A^T,12),j=j+A|0,p=x(p^j,8),T=T+p|0,A=x(A^T,7),v=v+I|0,C=x(C^v,16),N=N+C|0,I=x(I^N,12),v=v+I|0,C=x(C^v,8),N=N+C|0,I=x(I^N,7);let P=0;r[P++]=i+E|0,r[P++]=c+B|0,r[P++]=u+j|0,r[P++]=a+v|0,r[P++]=l+I|0,r[P++]=f+w|0,r[P++]=d+R|0,r[P++]=g+A|0,r[P++]=y+T|0,r[P++]=h+N|0,r[P++]=m+S|0,r[P++]=L+U|0,r[P++]=b+$|0,r[P++]=_+p|0,r[P++]=O+C|0,r[P++]=k+D|0}const Ns=vs(As,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Ss=new Uint8Array(16),Hn=(e,t)=>{e.update(t);const n=t.length%16;n&&e.update(Ss.subarray(n))},Us=new Uint8Array(32);function Kn(e,t,n,r,o){const s=e(t,n,Us),i=Os.create(s);o&&Hn(i,o),Hn(i,r);const c=new Uint8Array(16),u=as(c);kn(u,0,BigInt(o?o.length:0),!0),kn(u,8,BigInt(r.length),!0),i.update(c);const a=i.digest();return Ee(s,c),a}const _s=e=>(t,n,r)=>({encrypt(s,i){const c=s.length;i=Cn(c+16,i,!1),i.set(s);const u=i.subarray(0,-16);e(t,n,u,u,1);const a=Kn(e,t,n,u,r);return i.set(a,c),Ee(a),i},decrypt(s,i){i=Cn(s.length-16,i,!1);const c=s.subarray(0,-16),u=s.subarray(-16),a=Kn(e,t,n,c,r);if(!ds(u,a))throw new Error(\"invalid tag\");return i.set(s.subarray(0,-16)),e(t,n,i,i,1),Ee(a),i}}),Fn=hs({blockSize:64,nonceLength:12,tagLength:16},_s(Ns));class qn extends it{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,ot(t);const r=we(n);if(this.iHash=t.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,s=new Uint8Array(o);s.set(r.length>o?t.create().update(r).digest():r);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=t.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),s.fill(0)}update(t){return me(this),this.iHash.update(t),this}digestInto(t){me(this),je(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:o,destroyed:s,blockLen:i,outputLen:c}=this;return t=t,t.finished=o,t.destroyed=s,t.blockLen=i,t.outputLen=c,t.oHash=n._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const mt=(e,t,n)=>new qn(e,t).update(n).digest();mt.create=(e,t)=>new qn(e,t);function Ts(e,t,n){return ot(e),n===void 0&&(n=new Uint8Array(e.outputLen)),mt(e,we(n),we(t))}const bt=new Uint8Array([0]),Gn=new Uint8Array;function $s(e,t,n,r=32){if(ot(e),Ne(r),r>255*e.outputLen)throw new Error(\"Length should be <= 255*HashLen\");const o=Math.ceil(r/e.outputLen);n===void 0&&(n=Gn);const s=new Uint8Array(o*e.outputLen),i=mt.create(e,t),c=i._cloneInto(),u=new Uint8Array(i.outputLen);for(let a=0;a<o;a++)bt[0]=a+1,c.update(a===0?Gn:u).update(n).update(bt).digestInto(u),s.set(u,e.outputLen*a),i._cloneInto(c);return i.destroy(),c.destroy(),u.fill(0),bt.fill(0),s.slice(0,r)}const Rs=(e,t,n,r,o)=>$s(e,Ts(e,t,n),r,o);function Ps(e,t,n,r){if(typeof e.setBigUint64==\"function\")return e.setBigUint64(t,n,r);const o=BigInt(32),s=BigInt(4294967295),i=Number(n>>o&s),c=Number(n&s),u=r?4:0,a=r?0:4;e.setUint32(t+u,i,r),e.setUint32(t+a,c,r)}function Bs(e,t,n){return e&t^~e&n}function Ls(e,t,n){return e&t^e&n^t&n}class js extends it{constructor(t,n,r,o){super(),this.blockLen=t,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(t),this.view=st(this.buffer)}update(t){me(this);const{view:n,buffer:r,blockLen:o}=this;t=we(t);const s=t.length;for(let i=0;i<s;){const c=Math.min(o-this.pos,s-i);if(c===o){const u=st(t);for(;o<=s-i;i+=o)this.process(u,i);continue}r.set(t.subarray(i,i+c),this.pos),this.pos+=c,i+=c,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){me(this),sn(t,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:s}=this;let{pos:i}=this;n[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>o-i&&(this.process(r,0),i=0);for(let f=i;f<o;f++)n[f]=0;Ps(r,o-8,BigInt(this.length*8),s),this.process(r,0);const c=st(t),u=this.outputLen;if(u%4)throw new Error(\"_sha2: outputLen should be aligned to 32bit\");const a=u/4,l=this.get();if(a>l.length)throw new Error(\"_sha2: outputLen bigger than state\");for(let f=0;f<a;f++)c.setUint32(4*f,l[f],s)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:s,destroyed:i,pos:c}=this;return t.length=o,t.pos=c,t.finished=s,t.destroyed=i,o%n&&t.buffer.set(r),t}}const Cs=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]),ie=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ce=new Uint32Array(64);class ks extends js{constructor(){super(64,32,8,!1),this.A=ie[0]|0,this.B=ie[1]|0,this.C=ie[2]|0,this.D=ie[3]|0,this.E=ie[4]|0,this.F=ie[5]|0,this.G=ie[6]|0,this.H=ie[7]|0}get(){const{A:t,B:n,C:r,D:o,E:s,F:i,G:c,H:u}=this;return[t,n,r,o,s,i,c,u]}set(t,n,r,o,s,i,c,u){this.A=t|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=c|0,this.H=u|0}process(t,n){for(let f=0;f<16;f++,n+=4)ce[f]=t.getUint32(n,!1);for(let f=16;f<64;f++){const d=ce[f-15],g=ce[f-2],y=J(d,7)^J(d,18)^d>>>3,h=J(g,17)^J(g,19)^g>>>10;ce[f]=h+ce[f-7]+y+ce[f-16]|0}let{A:r,B:o,C:s,D:i,E:c,F:u,G:a,H:l}=this;for(let f=0;f<64;f++){const d=J(c,6)^J(c,11)^J(c,25),g=l+d+Bs(c,u,a)+Cs[f]+ce[f]|0,h=(J(r,2)^J(r,13)^J(r,22))+Ls(r,o,s)|0;l=a,a=u,u=c,c=i+g|0,i=s,s=o,o=r,r=g+h|0}r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,c=c+this.E|0,u=u+this.F|0,a=a+this.G|0,l=l+this.H|0,this.set(r,o,s,i,c,u,a,l)}roundClean(){ce.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const He=fn(()=>new ks);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Wn=BigInt(0);function wt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===\"Uint8Array\"}function zn(e){if(!wt(e))throw new Error(\"Uint8Array expected\")}const Ds=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,\"0\"));function Ms(e){zn(e);let t=\"\";for(let n=0;n<e.length;n++)t+=Ds[e[n]];return t}function Vs(e){if(typeof e!=\"string\")throw new Error(\"hex string expected, got \"+typeof e);return e===\"\"?Wn:BigInt(\"0x\"+e)}const ee={_0:48,_9:57,A:65,F:70,a:97,f:102};function Jn(e){if(e>=ee._0&&e<=ee._9)return e-ee._0;if(e>=ee.A&&e<=ee.F)return e-(ee.A-10);if(e>=ee.a&&e<=ee.f)return e-(ee.a-10)}function Yn(e){if(typeof e!=\"string\")throw new Error(\"hex string expected, got \"+typeof e);const t=e.length,n=t/2;if(t%2)throw new Error(\"hex string expected, got unpadded hex of length \"+t);const r=new Uint8Array(n);for(let o=0,s=0;o<n;o++,s+=2){const i=Jn(e.charCodeAt(s)),c=Jn(e.charCodeAt(s+1));if(i===void 0||c===void 0){const u=e[s]+e[s+1];throw new Error('hex string expected, got non-hex character \"'+u+'\" at index '+s)}r[o]=i*16+c}return r}function Xn(e){return zn(e),Vs(Ms(Uint8Array.from(e).reverse()))}function Hs(e,t){return Yn(e.toString(16).padStart(t*2,\"0\"))}function Ks(e,t){return Hs(e,t).reverse()}function Zn(e,t,n){let r;if(typeof t==\"string\")try{r=Yn(t)}catch(s){throw new Error(e+\" must be hex string or Uint8Array, cause: \"+s)}else if(wt(t))r=Uint8Array.from(t);else throw new Error(e+\" must be hex string or Uint8Array\");const o=r.length;if(typeof n==\"number\"&&o!==n)throw new Error(e+\" of length \"+n+\" expected, got \"+o);return r}const Et=e=>typeof e==\"bigint\"&&Wn<=e;function Fs(e,t,n){return Et(e)&&Et(t)&&Et(n)&&t<=e&&e<n}function Qn(e,t,n,r){if(!Fs(t,n,r))throw new Error(\"expected valid \"+e+\": \"+n+\" <= n < \"+r+\", got \"+t)}const qs={bigint:e=>typeof e==\"bigint\",function:e=>typeof e==\"function\",boolean:e=>typeof e==\"boolean\",string:e=>typeof e==\"string\",stringOrUint8Array:e=>typeof e==\"string\"||wt(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==\"function\"&&Number.isSafeInteger(e.outputLen)};function Gs(e,t,n={}){const r=(o,s,i)=>{const c=qs[s];if(typeof c!=\"function\")throw new Error(\"invalid validator function\");const u=e[o];if(!(i&&u===void 0)&&!c(u,e))throw new Error(\"param \"+String(o)+\" is invalid. Expected \"+s+\", got \"+u)};for(const[o,s]of Object.entries(t))r(o,s,!1);for(const[o,s]of Object.entries(n))r(o,s,!0);return e}const ve=BigInt(0),Ke=BigInt(1);function er(e,t){const n=e%t;return n>=ve?n:t+n}function Ws(e,t,n){if(t<ve)throw new Error(\"invalid exponent, negatives unsupported\");if(n<=ve)throw new Error(\"invalid modulus\");if(n===Ke)return ve;let r=Ke;for(;t>ve;)t&Ke&&(r=r*e%n),e=e*e%n,t>>=Ke;return r}function z(e,t,n){let r=e;for(;t-- >ve;)r*=r,r%=n;return r}BigInt(0),BigInt(1),BigInt(0),BigInt(1),BigInt(2),BigInt(8);const xe=BigInt(0),vt=BigInt(1);function zs(e){return Gs(e,{a:\"bigint\"},{montgomeryBits:\"isSafeInteger\",nByteLength:\"isSafeInteger\",adjustScalarBytes:\"function\",domain:\"function\",powPminus2:\"function\",Gu:\"bigint\"}),Object.freeze({...e})}function Js(e){const t=zs(e),{P:n}=t,r=b=>er(b,n),o=t.montgomeryBits,s=Math.ceil(o/8),i=t.nByteLength,c=t.adjustScalarBytes||(b=>b),u=t.powPminus2||(b=>Ws(b,n-BigInt(2),n));function a(b,_,O){const k=r(b*(_-O));return _=r(_-k),O=r(O+k),[_,O]}const l=(t.a-BigInt(2))/BigInt(4);function f(b,_){Qn(\"u\",b,xe,n),Qn(\"scalar\",_,xe,n);const O=_,k=b;let E=vt,B=xe,j=b,v=vt,I=xe,w;for(let A=BigInt(o-1);A>=xe;A--){const T=O>>A&vt;I^=T,w=a(I,E,j),E=w[0],j=w[1],w=a(I,B,v),B=w[0],v=w[1],I=T;const N=E+B,S=r(N*N),U=E-B,$=r(U*U),p=S-$,C=j+v,D=j-v,P=r(D*N),G=r(C*U),X=P+G,Z=P-G;j=r(X*X),v=r(k*r(Z*Z)),E=r(S*$),B=r(p*(S+r(l*p)))}w=a(I,E,j),E=w[0],j=w[1],w=a(I,B,v),B=w[0],v=w[1];const R=u(B);return r(E*R)}function d(b){return Ks(r(b),s)}function g(b){const _=Zn(\"u coordinate\",b,s);return i===32&&(_[31]&=127),Xn(_)}function y(b){const _=Zn(\"scalar\",b),O=_.length;if(O!==s&&O!==i){let k=\"\"+s+\" or \"+i;throw new Error(\"invalid scalar, expected \"+k+\" bytes, got \"+O)}return Xn(c(_))}function h(b,_){const O=g(_),k=y(b),E=f(O,k);if(E===xe)throw new Error(\"invalid private or public key received\");return d(E)}const m=d(t.Gu);function L(b){return h(b,m)}return{scalarMult:h,scalarMultBase:L,getSharedSecret:(b,_)=>h(b,_),getPublicKey:b=>L(b),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:m}}const xt=BigInt(\"57896044618658097711785492504343953926634992332820282019728792003956564819949\");BigInt(0);const Ys=BigInt(1),tr=BigInt(2),Xs=BigInt(3),Zs=BigInt(5);BigInt(8);function Qs(e){const t=BigInt(10),n=BigInt(20),r=BigInt(40),o=BigInt(80),s=xt,c=e*e%s*e%s,u=z(c,tr,s)*c%s,a=z(u,Ys,s)*e%s,l=z(a,Zs,s)*a%s,f=z(l,t,s)*l%s,d=z(f,n,s)*f%s,g=z(d,r,s)*d%s,y=z(g,o,s)*g%s,h=z(y,o,s)*g%s,m=z(h,t,s)*l%s;return{pow_p_5_8:z(m,tr,s)*e%s,b2:c}}function ei(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}const It=Js({P:xt,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{const t=xt,{pow_p_5_8:n,b2:r}=Qs(e);return er(z(n,Xs,t)*r,t)},adjustScalarBytes:ei,randomBytes:Se}),Ot=\"base10\",V=\"base16\",At=\"base64pad\",ti=\"base64url\",Ie=\"utf8\",Nt=0,Oe=1,_e=2,ni=0,nr=1,Te=12,St=32;function ri(){const e=It.utils.randomPrivateKey(),t=It.getPublicKey(e);return{privateKey:K(e,V),publicKey:K(t,V)}}function oi(){const e=Se(St);return K(e,V)}function si(e,t){const n=It.getSharedSecret(W(e,V),W(t,V)),r=Rs(He,n,void 0,void 0,St);return K(r,V)}function ii(e){const t=He(W(e,V));return K(t,V)}function ci(e){const t=He(W(e,Ie));return K(t,V)}function Ut(e){return W(`${e}`,Ot)}function fe(e){return Number(K(e,Ot))}function ai(e){const t=Ut(typeof e.type<\"u\"?e.type:Nt);if(fe(t)===Oe&&typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");const n=typeof e.senderPublicKey<\"u\"?W(e.senderPublicKey,V):void 0,r=typeof e.iv<\"u\"?W(e.iv,V):Se(Te),o=W(e.symKey,V),s=Fn(o,r).encrypt(W(e.message,Ie));return _t({type:t,sealed:s,iv:r,senderPublicKey:n,encoding:e.encoding})}function ui(e){const t=W(e.symKey,V),{sealed:n,iv:r}=Fe(e),o=Fn(t,r).decrypt(n);if(o===null)throw new Error(\"Failed to decrypt\");return K(o,Ie)}function fi(e,t){const n=Ut(_e),r=Se(Te),o=W(e,Ie);return _t({type:n,sealed:o,iv:r,encoding:t})}function li(e,t){const{sealed:n}=Fe({encoded:e,encoding:t});return K(n,Ie)}function _t(e){const{encoding:t=At}=e;if(fe(e.type)===_e)return K(Je([e.type,e.sealed]),t);if(fe(e.type)===Oe){if(typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");return K(Je([e.type,e.senderPublicKey,e.iv,e.sealed]),t)}return K(Je([e.type,e.iv,e.sealed]),t)}function Fe(e){const{encoded:t,encoding:n=At}=e,r=W(t,n),o=r.slice(ni,nr),s=nr;if(fe(o)===Oe){const a=s+St,l=a+Te,f=r.slice(s,a),d=r.slice(a,l),g=r.slice(l);return{type:o,sealed:g,iv:d,senderPublicKey:f}}if(fe(o)===_e){const a=r.slice(s),l=Se(Te);return{type:o,sealed:a,iv:l}}const i=s+Te,c=r.slice(s,i),u=r.slice(i);return{type:o,sealed:u,iv:c}}function di(e,t){const n=Fe({encoded:e,encoding:t?.encoding});return rr({type:fe(n.type),senderPublicKey:typeof n.senderPublicKey<\"u\"?K(n.senderPublicKey,V):void 0,receiverPublicKey:t?.receiverPublicKey})}function rr(e){const t=e?.type||Nt;if(t===Oe){if(typeof e?.senderPublicKey>\"u\")throw new Error(\"missing sender public key\");if(typeof e?.receiverPublicKey>\"u\")throw new Error(\"missing receiver public key\")}return{type:t,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function hi(e){return e.type===Oe&&typeof e.senderPublicKey==\"string\"&&typeof e.receiverPublicKey==\"string\"}function pi(e){return e.type===_e}function or(e){return new Dr(\"p256\").keyFromPublic({x:Buffer.from(e.x,\"base64\").toString(\"hex\"),y:Buffer.from(e.y,\"base64\").toString(\"hex\")},\"hex\")}function gi(e){let t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");const n=t.length%4;return n>0&&(t+=\"=\".repeat(4-n)),t}function yi(e){return Buffer.from(gi(e),\"base64\")}function mi(e,t){const[n,r,o]=e.split(\".\"),s=yi(o);if(s.length!==64)throw new Error(\"Invalid signature length\");const i=s.slice(0,32).toString(\"hex\"),c=s.slice(32,64).toString(\"hex\"),u=`${n}.${r}`,a=He(u),l=or(t),f=K(a,V);if(!l.verify(f,{r:i,s:c}))throw new Error(\"Invalid signature\");return kr(e).payload}const sr=\"irn\";function bi(e){return e?.relay||{protocol:sr}}function wi(e){const t=Mr[e];if(typeof t>\"u\")throw new Error(`Relay Protocol not supported: ${e}`);return t}function ir(e,t=\"-\"){const n={},r=\"relay\"+t;return Object.keys(e).forEach(o=>{if(o.startsWith(r)){const s=o.replace(r,\"\"),i=e[o];n[s]=i}}),n}function Ei(e){if(!e.includes(\"wc:\")){const a=rt(e);a!=null&&a.includes(\"wc:\")&&(e=a)}e=e.includes(\"wc://\")?e.replace(\"wc://\",\"\"):e,e=e.includes(\"wc:\")?e.replace(\"wc:\",\"\"):e;const t=e.indexOf(\":\"),n=e.indexOf(\"?\")!==-1?e.indexOf(\"?\"):void 0,r=e.substring(0,t),o=e.substring(t+1,n).split(\"@\"),s=typeof n<\"u\"?e.substring(n):\"\",i=new URLSearchParams(s),c={};i.forEach((a,l)=>{c[l]=a});const u=typeof c.methods==\"string\"?c.methods.split(\",\"):void 0;return{protocol:r,topic:cr(o[0]),version:parseInt(o[1],10),symKey:c.symKey,relay:ir(c),methods:u,expiryTimestamp:c.expiryTimestamp?parseInt(c.expiryTimestamp,10):void 0}}function cr(e){return e.startsWith(\"//\")?e.substring(2):e}function ar(e,t=\"-\"){const n=\"relay\",r={};return Object.keys(e).forEach(o=>{const s=o,i=n+t+s;e[s]&&(r[i]=e[s])}),r}function vi(e){const t=new URLSearchParams,n=ar(e.relay);Object.keys(n).sort().forEach(o=>{t.set(o,n[o])}),t.set(\"symKey\",e.symKey),e.expiryTimestamp&&t.set(\"expiryTimestamp\",e.expiryTimestamp.toString()),e.methods&&t.set(\"methods\",e.methods.join(\",\"));const r=t.toString();return`${e.protocol}:${e.topic}@${e.version}?${r}`}function xi(e,t,n){return`${e}?wc_ev=${n}&topic=${t}`}var Ii=Object.defineProperty,Oi=Object.defineProperties,Ai=Object.getOwnPropertyDescriptors,ur=Object.getOwnPropertySymbols,Ni=Object.prototype.hasOwnProperty,Si=Object.prototype.propertyIsEnumerable,fr=(e,t,n)=>t in e?Ii(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ui=(e,t)=>{for(var n in t||(t={}))Ni.call(t,n)&&fr(e,n,t[n]);if(ur)for(var n of ur(t))Si.call(t,n)&&fr(e,n,t[n]);return e},_i=(e,t)=>Oi(e,Ai(t));function le(e){const t=[];return e.forEach(n=>{const[r,o]=n.split(\":\");t.push(`${r}:${o}`)}),t}function lr(e){const t=[];return Object.values(e).forEach(n=>{t.push(...le(n.accounts))}),t}function dr(e,t){const n=[];return Object.values(e).forEach(r=>{le(r.accounts).includes(t)&&n.push(...r.methods)}),n}function hr(e,t){const n=[];return Object.values(e).forEach(r=>{le(r.accounts).includes(t)&&n.push(...r.events)}),n}function Ti(e,t){const n=Or(e,t);if(n)throw new Error(n.message);const r={};for(const[o,s]of Object.entries(e))r[o]={methods:s.methods,events:s.events,chains:s.accounts.map(i=>`${i.split(\":\")[0]}:${i.split(\":\")[1]}`)};return r}function $i(e){const{proposal:{requiredNamespaces:t,optionalNamespaces:n={}},supportedNamespaces:r}=e,o=$t(t),s=$t(n),i={};Object.keys(r).forEach(a=>{const l=r[a].chains,f=r[a].methods,d=r[a].events,g=r[a].accounts;l.forEach(y=>{if(!g.some(h=>h.includes(y)))throw new Error(`No accounts provided for chain ${y} in namespace ${a}`)}),i[a]={chains:l,methods:f,events:d,accounts:g}});const c=Nr(t,i,\"approve()\");if(c)throw new Error(c.message);const u={};return!Object.keys(t).length&&!Object.keys(n).length?i:(Object.keys(o).forEach(a=>{const l=r[a].chains.filter(y=>{var h,m;return(m=(h=o[a])==null?void 0:h.chains)==null?void 0:m.includes(y)}),f=r[a].methods.filter(y=>{var h,m;return(m=(h=o[a])==null?void 0:h.methods)==null?void 0:m.includes(y)}),d=r[a].events.filter(y=>{var h,m;return(m=(h=o[a])==null?void 0:h.events)==null?void 0:m.includes(y)}),g=l.map(y=>r[a].accounts.filter(h=>h.includes(`${y}:`))).flat();u[a]={chains:l,methods:f,events:d,accounts:g}}),Object.keys(s).forEach(a=>{var l,f,d,g,y,h;if(!r[a])return;const m=(f=(l=s[a])==null?void 0:l.chains)==null?void 0:f.filter(O=>r[a].chains.includes(O)),L=r[a].methods.filter(O=>{var k,E;return(E=(k=s[a])==null?void 0:k.methods)==null?void 0:E.includes(O)}),b=r[a].events.filter(O=>{var k,E;return(E=(k=s[a])==null?void 0:k.events)==null?void 0:E.includes(O)}),_=m?.map(O=>r[a].accounts.filter(k=>k.includes(`${O}:`))).flat();u[a]={chains:Q((d=u[a])==null?void 0:d.chains,m),methods:Q((g=u[a])==null?void 0:g.methods,L),events:Q((y=u[a])==null?void 0:y.events,b),accounts:Q((h=u[a])==null?void 0:h.accounts,_)}}),u)}function Tt(e){return e.includes(\":\")}function pr(e){return Tt(e)?e.split(\":\")[0]:e}function $t(e){var t,n,r;const o={};if(!qe(e))return o;for(const[s,i]of Object.entries(e)){const c=Tt(s)?[s]:i.chains,u=i.methods||[],a=i.events||[],l=pr(s);o[l]=_i(Ui({},o[l]),{chains:Q(c,(t=o[l])==null?void 0:t.chains),methods:Q(u,(n=o[l])==null?void 0:n.methods),events:Q(a,(r=o[l])==null?void 0:r.events)})}return o}function gr(e){const t={};return e?.forEach(n=>{var r;const[o,s]=n.split(\":\");t[o]||(t[o]={accounts:[],chains:[],events:[],methods:[]}),t[o].accounts.push(n),(r=t[o].chains)==null||r.push(`${o}:${s}`)}),t}function Ri(e,t){t=t.map(r=>r.replace(\"did:pkh:\",\"\"));const n=gr(t);for(const[r,o]of Object.entries(n))o.methods?o.methods=Q(o.methods,e):o.methods=e,o.events=[\"chainChanged\",\"accountsChanged\"];return n}const yr={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}},mr={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 te(e,t){const{message:n,code:r}=mr[e];return{message:t?`${n} ${t}`:n,code:r}}function de(e,t){const{message:n,code:r}=yr[e];return{message:t?`${n} ${t}`:n,code:r}}function $e(e,t){return Array.isArray(e)?typeof t<\"u\"&&e.length?e.every(t):!0:!1}function qe(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function ae(e){return typeof e>\"u\"}function q(e,t){return t&&ae(e)?!0:typeof e==\"string\"&&!!e.trim().length}function Ge(e,t){return t&&ae(e)?!0:typeof e==\"number\"&&!isNaN(e)}function Pi(e,t){const{requiredNamespaces:n}=t,r=Object.keys(e.namespaces),o=Object.keys(n);let s=!0;return re(o,r)?(r.forEach(i=>{const{accounts:c,methods:u,events:a}=e.namespaces[i],l=le(c),f=n[i];(!re(Be(i,f),l)||!re(f.methods,u)||!re(f.events,a))&&(s=!1)}),s):!1}function Re(e){return q(e,!1)&&e.includes(\":\")?e.split(\":\").length===2:!1}function br(e){if(q(e,!1)&&e.includes(\":\")){const t=e.split(\":\");if(t.length===3){const n=t[0]+\":\"+t[1];return!!t[2]&&Re(n)}}return!1}function Bi(e){function t(n){try{return typeof new URL(n)<\"u\"}catch{return!1}}try{if(q(e,!1)){if(t(e))return!0;const n=rt(e);return t(n)}}catch{}return!1}function Li(e){var t;return(t=e?.proposer)==null?void 0:t.publicKey}function ji(e){return e?.topic}function Ci(e,t){let n=null;return q(e?.publicKey,!1)||(n=te(\"MISSING_OR_INVALID\",`${t} controller public key should be a string`)),n}function Rt(e){let t=!0;return $e(e)?e.length&&(t=e.every(n=>q(n,!1))):t=!1,t}function wr(e,t,n){let r=null;return $e(t)&&t.length?t.forEach(o=>{r||Re(o)||(r=de(\"UNSUPPORTED_CHAINS\",`${n}, chain ${o} should be a string and conform to \"namespace:chainId\" format`))}):Re(e)||(r=de(\"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 Er(e,t,n){let r=null;return Object.entries(e).forEach(([o,s])=>{if(r)return;const i=wr(o,Be(o,s),`${t} ${n}`);i&&(r=i)}),r}function vr(e,t){let n=null;return $e(e)?e.forEach(r=>{n||br(r)||(n=de(\"UNSUPPORTED_ACCOUNTS\",`${t}, account ${r} should be a string and conform to \"namespace:chainId:address\" format`))}):n=de(\"UNSUPPORTED_ACCOUNTS\",`${t}, accounts should be an array of strings conforming to \"namespace:chainId:address\" format`),n}function xr(e,t){let n=null;return Object.values(e).forEach(r=>{if(n)return;const o=vr(r?.accounts,`${t} namespace`);o&&(n=o)}),n}function Ir(e,t){let n=null;return Rt(e?.methods)?Rt(e?.events)||(n=de(\"UNSUPPORTED_EVENTS\",`${t}, events should be an array of strings or empty array for no events`)):n=de(\"UNSUPPORTED_METHODS\",`${t}, methods should be an array of strings or empty array for no methods`),n}function Pt(e,t){let n=null;return Object.values(e).forEach(r=>{if(n)return;const o=Ir(r,`${t}, namespace`);o&&(n=o)}),n}function ki(e,t,n){let r=null;if(e&&qe(e)){const o=Pt(e,t);o&&(r=o);const s=Er(e,t,n);s&&(r=s)}else r=te(\"MISSING_OR_INVALID\",`${t}, ${n} should be an object with data`);return r}function Or(e,t){let n=null;if(e&&qe(e)){const r=Pt(e,t);r&&(n=r);const o=xr(e,t);o&&(n=o)}else n=te(\"MISSING_OR_INVALID\",`${t}, namespaces should be an object with data`);return n}function Ar(e){return q(e.protocol,!0)}function Di(e,t){let n=!1;return t&&!e?n=!0:e&&$e(e)&&e.length&&e.forEach(r=>{n=Ar(r)}),n}function Mi(e){return typeof e==\"number\"}function Vi(e){return typeof e<\"u\"&&typeof e!==null}function Hi(e){return!(!e||typeof e!=\"object\"||!e.code||!Ge(e.code,!1)||!e.message||!q(e.message,!1))}function Ki(e){return!(ae(e)||!q(e.method,!1))}function Fi(e){return!(ae(e)||ae(e.result)&&ae(e.error)||!Ge(e.id,!1)||!q(e.jsonrpc,!1))}function qi(e){return!(ae(e)||!q(e.name,!1))}function Gi(e,t){return!(!Re(t)||!lr(e).includes(t))}function Wi(e,t,n){return q(n,!1)?dr(e,t).includes(n):!1}function zi(e,t,n){return q(n,!1)?hr(e,t).includes(n):!1}function Nr(e,t,n){let r=null;const o=Ji(e),s=Yi(t),i=Object.keys(o),c=Object.keys(s),u=Sr(Object.keys(e)),a=Sr(Object.keys(t)),l=u.filter(f=>!a.includes(f));return l.length&&(r=te(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces keys don't satisfy requiredNamespaces.\n Required: ${l.toString()}\n Received: ${Object.keys(t).toString()}`)),re(i,c)||(r=te(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces chains don't satisfy required namespaces.\n Required: ${i.toString()}\n Approved: ${c.toString()}`)),Object.keys(t).forEach(f=>{if(!f.includes(\":\")||r)return;const d=le(t[f].accounts);d.includes(f)||(r=te(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces accounts don't satisfy namespace accounts for ${f}\n Required: ${f}\n Approved: ${d.toString()}`))}),i.forEach(f=>{r||(re(o[f].methods,s[f].methods)?re(o[f].events,s[f].events)||(r=te(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces events don't satisfy namespace events for ${f}`)):r=te(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces methods don't satisfy namespace methods for ${f}`))}),r}function Ji(e){const t={};return Object.keys(e).forEach(n=>{var r;n.includes(\":\")?t[n]=e[n]:(r=e[n].chains)==null||r.forEach(o=>{t[o]={methods:e[n].methods,events:e[n].events}})}),t}function Sr(e){return[...new Set(e.map(t=>t.includes(\":\")?t.split(\":\")[0]:t))]}function Yi(e){const t={};return Object.keys(e).forEach(n=>{if(n.includes(\":\"))t[n]=e[n];else{const r=le(e[n].accounts);r?.forEach(o=>{t[o]={accounts:e[n].accounts.filter(s=>s.includes(`${o}:`)),methods:e[n].methods,events:e[n].events}})}}),t}function Xi(e,t){return Ge(e,!1)&&e<=t.max&&e>=t.min}function Zi(){const e=ue();return new Promise(t=>{switch(e){case H.browser:t(Ur());break;case H.reactNative:t(_r());break;case H.node:t(Tr());break;default:t(!0)}})}function Ur(){return Ae()&&navigator?.onLine}async function _r(){if(ne()&&typeof global<\"u\"&&global!=null&&global.NetInfo){const e=await(global==null?void 0:global.NetInfo.fetch());return e?.isConnected}return!0}function Tr(){return!0}function Qi(e){switch(ue()){case H.browser:$r(e);break;case H.reactNative:Rr(e);break;case H.node:break}}function $r(e){!ne()&&Ae()&&(window.addEventListener(\"online\",()=>e(!0)),window.addEventListener(\"offline\",()=>e(!1)))}function Rr(e){ne()&&typeof global<\"u\"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(t=>e(t?.isConnected))}const Bt={};class ec{static get(t){return Bt[t]}static set(t,n){Bt[t]=n}static delete(t){delete Bt[t]}}export{Ot as BASE10,V as BASE16,At as BASE64,ti as BASE64URL,Gr as COLON,Qe as DEFAULT_DEPTH,Le as EMPTY_SPACE,H as ENV_MAP,mr as INTERNAL_ERRORS,ec as MemoryStore,Wr as ONE_THOUSAND,Ft as REACT_NATIVE_PRODUCT,sr as RELAYER_DEFAULT_PROTOCOL,yr as SDK_ERRORS,Gt as SDK_TYPE,qt as SLASH,Nt as TYPE_0,Oe as TYPE_1,_e as TYPE_2,Ie as UTF8,$n as addResourceToRecap,Wt as appendToQueryString,to as assertType,ft as assignAbilityToActions,_n as base64Decode,Un as base64Encode,$i as buildApprovedNamespaces,Qo as buildAuthObject,Ri as buildNamespacesFromAuth,Pn as buildRecapStatement,po as calcExpiry,co as capitalize,Qt as capitalizeWord,ao as createDelayedPromise,rs as createEncodedRecap,uo as createExpiringPromise,Tn as createRecap,oe as decodeRecap,fe as decodeTypeByte,li as decodeTypeTwoEnvelope,ui as decrypt,si as deriveSymKey,Fe as deserialize,De as encodeRecap,Ut as encodeTypeByte,fi as encodeTypeTwoEnvelope,ai as encrypt,yo as engineEvent,io as enumify,qo as extractSolanaTransactionId,Mt as formatAccountId,Vr as formatAccountWithChain,Dt as formatChainId,en as formatDeeplinkUrl,tt as formatExpirerTarget,lo as formatIdTarget,On as formatMessage,no as formatMessageContext,ar as formatRelayParams,Qr as formatRelayRpcUrl,dt as formatStatementFromRecap,fo as formatTopicTarget,Yt as formatUA,vi as formatUri,rt as fromBase64,ri as generateKeyPair,oi as generateRandomBytes32,le as getAccountsChains,Kr as getAccountsFromNamespaces,Vt as getAddressFromAccount,Hr as getAddressesFromAccounts,Yr as getAppId,Xr as getAppMetadata,Ur as getBrowserOnlineStatus,Ht as getChainFromAccount,Kt as getChainsFromAccounts,Be as getChainsFromNamespace,Fr as getChainsFromNamespaces,is as getChainsFromRecap,qr as getChainsFromRequiredNamespaces,nt as getCommonValuesInArrays,or as getCryptoKeyFromKeyData,An as getDecodedRecapFromResources,bo as getDeepLink,ut as getDidAddress,ke as getDidAddressSegments,xn as getDidChainId,ue as getEnvironment,eo as getHttpUrl,te as getInternalError,Jt as getJavascriptID,zt as getJavascriptOS,Zt as getLastItems,xi as getLinkModeURL,ss as getMethodsFromRecap,In as getNamespacedDidChainId,lr as getNamespacesChains,hr as getNamespacesEventsForChainId,gr as getNamespacesFromAccounts,dr as getNamespacesMethodsForChainId,Tr as getNodeOnlineStatus,Sn as getReCapActions,_r as getReactNativeOnlineStatus,ns as getRecapAbilitiesFromResource,Me as getRecapFromResources,Nn as getRecapResource,Zr as getRelayClientMetadata,wi as getRelayProtocolApi,bi as getRelayProtocolName,Ti as getRequiredNamespacesFromNamespaces,de as getSdkError,wo as getSearchParamFromURL,Ze as getUniqueValues,mo as handleDeeplinkRedirect,re as hasOverlap,ct as hashEthereumMessage,ii as hashKey,ci as hashMessage,zr as isAndroid,Ae as isBrowser,Tt as isCaipNamespace,Nr as isConformingNamespaces,go as isExpired,rn as isIframe,Jr as isIos,et as isNode,Zi as isOnline,Li as isProposalStruct,ne as isReactNative,lt as isRecap,Pi as isSessionCompatible,ji as isSessionStruct,nn as isTelegram,vo as isTestRun,hi as isTypeOneEnvelope,pi as isTypeTwoEnvelope,ae as isUndefined,br as isValidAccountId,vr as isValidAccounts,Ir as isValidActions,$e as isValidArray,Re as isValidChainId,wr as isValidChains,Ci as isValidController,bn as isValidEip1271Signature,mn as isValidEip191Signature,Hi as isValidErrorReason,qi as isValidEvent,Mi as isValidId,xr as isValidNamespaceAccounts,Pt as isValidNamespaceActions,Er as isValidNamespaceChains,Rt as isValidNamespaceMethodsOrEvents,Or as isValidNamespaces,Gi as isValidNamespacesChainId,zi as isValidNamespacesEvent,Wi as isValidNamespacesRequest,Ge as isValidNumber,qe as isValidObject,Vi as isValidParams,Y as isValidRecap,Ar as isValidRelay,Di as isValidRelays,Ki as isValidRequest,Xi as isValidRequestExpiry,ki as isValidRequiredNamespaces,Fi as isValidResponse,q as isValidString,Bi as isValidUrl,so as mapEntries,ro as mapToObj,Q as mergeArrays,os as mergeEncodedRecaps,Rn as mergeRecaps,$t as normalizeNamespaces,oo as objToMap,tn as openDeeplink,Xe as parseAccountId,Ye as parseChainId,Xt as parseContextNames,ho as parseExpirerTarget,pr as parseNamespaceKey,ir as parseRelayParams,cr as parseTopic,Ei as parseUri,es as populateAuthPayload,ts as recapHasResource,_t as serialize,xo as sleep,$r as subscribeToBrowserNetworkChange,Qi as subscribeToNetworkChange,Rr as subscribeToReactNativeNetworkChange,on as toBase64,Eo as uuidv4,di as validateDecoding,rr as validateEncoding,Zo as validateSignedCacao,mi as verifyP256Jwt,yn as verifySignature};\n//# sourceMappingURL=index.es.js.map\n","import Gi,{EventEmitter as ee}from\"events\";import{HEARTBEAT_EVENTS as ne,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 te,SIX_HOURS as cs,THIRTY_DAYS as Ce,FIVE_SECONDS as Pe,THIRTY_SECONDS as Se,toMiliseconds as O,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 Re,objToMap as Oe,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,isProposalStruct as Cs,isSessionStruct as Ps,parseExpirerTarget as Ss,TYPE_1 as Rs,formatUri as dt,parseUri as gt,createDelayedPromise as Os,engineEvent as Ne,isExpired as pt,isValidParams as $e,isValidUrl as As,isValidString as xs,formatTopicTarget as Ns,formatIdTarget as $s,isTestRun as yt,isBrowser as zs,verifyP256Jwt as Ls,uuidv4 as bt,formatUA as ks,getAppMetadata as js}from\"@walletconnect/utils\";import{toString as Us}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 Fs,isJsonRpcResult as Ks,isJsonRpcError as _t}from\"@walletconnect/jsonrpc-utils\";import Bs from\"@walletconnect/jsonrpc-ws-connection\";import{getDocument as Vs}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=te,Pt=\"keychain\",St=\"0.3\",Rt=\"messages\",Ot=\"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,qs={database:\":memory:\"},_e=\"2.19.1\",Gs=1e4,Q={link_mode:\"link_mode\",relay:\"relay\"},le={inbound:\"inbound\",outbound:\"outbound\"},kt=\"0.3\",jt=\"WALLETCONNECT_CLIENT_ID\",Me=\"WALLETCONNECT_LINK_MODE_APPS\",$={created:\"subscription_created\",deleted:\"subscription_deleted\",expired:\"subscription_expired\",disabled:\"subscription_disabled\",sync:\"subscription_sync\",resubscribed:\"subscription_resubscribed\"},Ws=Ce,Ut=\"subscription\",Mt=\"0.3\",Hs=Pe*1e3,Ft=\"pairing\",Kt=\"0.3\",Ys=Ce,ie={wc_pairingDelete:{req:{ttl:te,prompt:!1,tag:1e3},res:{ttl:te,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:Se,prompt:!1,tag:1002},res:{ttl:Se,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:te,prompt:!1,tag:0},res:{ttl:te,prompt:!1,tag:0}}},se={create:\"pairing_create\",expire:\"pairing_expire\",delete:\"pairing_delete\",ping:\"pairing_ping\"},M={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},Bt=\"history\",Vt=\"0.3\",qt=\"expirer\",F={created:\"expirer_created\",deleted:\"expirer_deleted\",expired:\"expirer_expired\",sync:\"expirer_sync\"},Gt=\"0.3\",Js=te,Wt=\"verify-api\",Xs=\"https://verify.walletconnect.com\",Ht=\"https://verify.walletconnect.org\",ue=Ht,Yt=`${ue}/v3`,Jt=[Xs,Ht],Xt=\"echo\",Zt=\"https://echo.walletconnect.com\",Zs=\"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\"},Qs={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\"},er={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\"},tr={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\"},ir={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 sr(r,e){if(r.length>=255)throw new TypeError(\"Alphabet too long\");for(var t=new Uint8Array(256),s=0;s<t.length;s++)t[s]=255;for(var i=0;i<r.length;i++){var n=r.charAt(i),o=n.charCodeAt(0);if(t[o]!==255)throw new TypeError(n+\" is ambiguous\");t[o]=i}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function d(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError(\"Expected Uint8Array\");if(l.length===0)return\"\";for(var b=0,x=0,I=0,D=l.length;I!==D&&l[I]===0;)I++,b++;for(var j=(D-I)*u+1>>>0,T=new Uint8Array(j);I!==D;){for(var q=l[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(l){if(typeof l!=\"string\")throw new TypeError(\"Expected String\");if(l.length===0)return new Uint8Array;var b=0;if(l[b]!==\" \"){for(var x=0,I=0;l[b]===c;)x++,b++;for(var D=(l.length-b)*h+1>>>0,j=new Uint8Array(D);l[b];){var T=t[l.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(l[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 _(l){var b=g(l);if(b)return b;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:g,decode:_}}var rr=sr,nr=rr;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\")},or=r=>new TextEncoder().encode(r),ar=r=>new TextDecoder().decode(r);class cr{constructor(e,t,s){this.name=e,this.prefix=t,this.baseEncode=s}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(\"Unknown type, must be binary type\")}}class hr{constructor(e,t,s){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=s}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 lr{constructor(e){this.decoders=e}or(e){return ri(this,e)}decode(e){const t=e[0],s=this.decoders[t];if(s)return s.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 lr({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class ur{constructor(e,t,s,i){this.name=e,this.prefix=t,this.baseEncode=s,this.baseDecode=i,this.encoder=new cr(e,t,s),this.decoder=new hr(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Ee=({name:r,prefix:e,encode:t,decode:s})=>new ur(r,e,t,s),de=({prefix:r,name:e,alphabet:t})=>{const{encode:s,decode:i}=nr(t,e);return Ee({prefix:r,name:e,encode:s,decode:n=>si(i(n))})},dr=(r,e,t,s)=>{const i={};for(let u=0;u<e.length;++u)i[e[u]]=u;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 u=0;u<n;++u){const d=i[r[u]];if(d===void 0)throw new SyntaxError(`Non-${s} 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},gr=(r,e,t)=>{const s=e[e.length-1]===\"=\",i=(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[i&a>>o];if(o&&(n+=e[i&a<<t-o]),s)for(;n.length*t&7;)n+=\"=\";return n},P=({name:r,prefix:e,bitsPerChar:t,alphabet:s})=>Ee({prefix:e,name:r,encode(i){return gr(i,s,t)},decode(i){return dr(i,s,t,r)}}),pr=Ee({prefix:\"\\0\",name:\"identity\",encode:r=>ar(r),decode:r=>or(r)});var yr=Object.freeze({__proto__:null,identity:pr});const br=P({prefix:\"0\",name:\"base2\",alphabet:\"01\",bitsPerChar:1});var mr=Object.freeze({__proto__:null,base2:br});const fr=P({prefix:\"7\",name:\"base8\",alphabet:\"01234567\",bitsPerChar:3});var Dr=Object.freeze({__proto__:null,base8:fr});const vr=de({prefix:\"9\",name:\"base10\",alphabet:\"0123456789\"});var wr=Object.freeze({__proto__:null,base10:vr});const _r=P({prefix:\"f\",name:\"base16\",alphabet:\"0123456789abcdef\",bitsPerChar:4}),Er=P({prefix:\"F\",name:\"base16upper\",alphabet:\"0123456789ABCDEF\",bitsPerChar:4});var Ir=Object.freeze({__proto__:null,base16:_r,base16upper:Er});const Tr=P({prefix:\"b\",name:\"base32\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567\",bitsPerChar:5}),Cr=P({prefix:\"B\",name:\"base32upper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\",bitsPerChar:5}),Pr=P({prefix:\"c\",name:\"base32pad\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567=\",bitsPerChar:5}),Sr=P({prefix:\"C\",name:\"base32padupper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=\",bitsPerChar:5}),Rr=P({prefix:\"v\",name:\"base32hex\",alphabet:\"0123456789abcdefghijklmnopqrstuv\",bitsPerChar:5}),Or=P({prefix:\"V\",name:\"base32hexupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV\",bitsPerChar:5}),Ar=P({prefix:\"t\",name:\"base32hexpad\",alphabet:\"0123456789abcdefghijklmnopqrstuv=\",bitsPerChar:5}),xr=P({prefix:\"T\",name:\"base32hexpadupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV=\",bitsPerChar:5}),Nr=P({prefix:\"h\",name:\"base32z\",alphabet:\"ybndrfg8ejkmcpqxot1uwisza345h769\",bitsPerChar:5});var $r=Object.freeze({__proto__:null,base32:Tr,base32upper:Cr,base32pad:Pr,base32padupper:Sr,base32hex:Rr,base32hexupper:Or,base32hexpad:Ar,base32hexpadupper:xr,base32z:Nr});const zr=de({prefix:\"k\",name:\"base36\",alphabet:\"0123456789abcdefghijklmnopqrstuvwxyz\"}),Lr=de({prefix:\"K\",name:\"base36upper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"});var kr=Object.freeze({__proto__:null,base36:zr,base36upper:Lr});const jr=de({name:\"base58btc\",prefix:\"z\",alphabet:\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"}),Ur=de({name:\"base58flickr\",prefix:\"Z\",alphabet:\"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ\"});var Mr=Object.freeze({__proto__:null,base58btc:jr,base58flickr:Ur});const Fr=P({prefix:\"m\",name:\"base64\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",bitsPerChar:6}),Kr=P({prefix:\"M\",name:\"base64pad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",bitsPerChar:6}),Br=P({prefix:\"u\",name:\"base64url\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\",bitsPerChar:6}),Vr=P({prefix:\"U\",name:\"base64urlpad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=\",bitsPerChar:6});var qr=Object.freeze({__proto__:null,base64:Fr,base64pad:Kr,base64url:Br,base64urlpad:Vr});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}\"),Gr=ni.reduce((r,e,t)=>(r[t]=e,r),[]),Wr=ni.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Hr(r){return r.reduce((e,t)=>(e+=Gr[t],e),\"\")}function Yr(r){const e=[];for(const t of r){const s=Wr[t.codePointAt(0)];if(s===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(s)}return new Uint8Array(e)}const Jr=Ee({prefix:\"\\u{1F680}\",name:\"base256emoji\",encode:Hr,decode:Yr});var Xr=Object.freeze({__proto__:null,base256emoji:Jr}),Zr=ai,oi=128,Qr=127,en=~Qr,tn=Math.pow(2,31);function ai(r,e,t){e=e||[],t=t||0;for(var s=t;r>=tn;)e[t++]=r&255|oi,r/=128;for(;r&en;)e[t++]=r&255|oi,r>>>=7;return e[t]=r|0,ai.bytes=t-s+1,e}var sn=Fe,rn=128,ci=127;function Fe(r,s){var t=0,s=s||0,i=0,n=s,o,a=r.length;do{if(n>=a)throw Fe.bytes=0,new RangeError(\"Could not decode varint\");o=r[n++],t+=i<28?(o&ci)<<i:(o&ci)*Math.pow(2,i),i+=7}while(o>=rn);return Fe.bytes=n-s,t}var nn=Math.pow(2,7),on=Math.pow(2,14),an=Math.pow(2,21),cn=Math.pow(2,28),hn=Math.pow(2,35),ln=Math.pow(2,42),un=Math.pow(2,49),dn=Math.pow(2,56),gn=Math.pow(2,63),pn=function(r){return r<nn?1:r<on?2:r<an?3:r<cn?4:r<hn?5:r<ln?6:r<un?7:r<dn?8:r<gn?9:10},yn={encode:Zr,decode:sn,encodingLength:pn},hi=yn;const li=(r,e,t=0)=>(hi.encode(r,e,t),e),ui=r=>hi.encodingLength(r),Ke=(r,e)=>{const t=e.byteLength,s=ui(r),i=s+ui(t),n=new Uint8Array(i+t);return li(r,n,0),li(t,n,s),n.set(e,i),new bn(r,t,e,n)};class bn{constructor(e,t,s,i){this.code=e,this.size=t,this.digest=s,this.bytes=i}}const di=({name:r,code:e,encode:t})=>new mn(r,e,t);class mn{constructor(e,t,s){this.name=e,this.code=t,this.encode=s}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?Ke(this.code,t):t.then(s=>Ke(this.code,s))}else throw Error(\"Unknown type, must be binary type\")}}const gi=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),fn=di({name:\"sha2-256\",code:18,encode:gi(\"SHA-256\")}),Dn=di({name:\"sha2-512\",code:19,encode:gi(\"SHA-512\")});var vn=Object.freeze({__proto__:null,sha256:fn,sha512:Dn});const pi=0,wn=\"identity\",yi=si,_n=r=>Ke(pi,yi(r)),En={code:pi,name:wn,encode:yi,digest:_n};var In=Object.freeze({__proto__:null,identity:En});new TextEncoder,new TextDecoder;const bi={...yr,...mr,...Dr,...wr,...Ir,...$r,...kr,...Mr,...qr,...Xr};({...vn,...In});function Tn(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function mi(r,e,t,s){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:s}}}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=Tn(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Cn={utf8:fi,\"utf-8\":fi,hex:bi.base16,latin1:Be,ascii:Be,binary:Be,...bi};function Pn(r,e=\"utf8\"){const t=Cn[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 Sn=Object.defineProperty,Rn=(r,e,t)=>e in r?Sn(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 s=await this.getKeyChain();typeof s<\"u\"&&(this.keychain=s),this.initialized=!0}}),W(this,\"has\",s=>(this.isInitialized(),this.keychain.has(s))),W(this,\"set\",async(s,i)=>{this.isInitialized(),this.keychain.set(s,i),await this.persist()}),W(this,\"get\",s=>{this.isInitialized();const i=this.keychain.get(s);if(typeof i>\"u\"){const{message:n}=m(\"NO_MATCHING_KEY\",`${this.name}: ${s}`);throw new Error(n)}return i}),W(this,\"del\",async s=>{this.isInitialized(),this.keychain.delete(s),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,Re(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?Oe(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 On=Object.defineProperty,An=(r,e,t)=>e in r?On(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,S=(r,e,t)=>An(r,typeof e!=\"symbol\"?e+\"\":e,t);class vi{constructor(e,t,s){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\",i=>(this.isInitialized(),this.keychain.has(i))),S(this,\"getClientId\",async()=>{this.isInitialized();const i=await this.getClientSeed(),n=De.generateKeyPair(i);return De.encodeIss(n.publicKey)}),S(this,\"generateKeyPair\",()=>{this.isInitialized();const i=ls();return this.setPrivateKey(i.publicKey,i.privateKey)}),S(this,\"signJWT\",async i=>{this.isInitialized();const n=await this.getClientSeed(),o=De.generateKeyPair(n),a=this.randomSessionIdentifier,c=Ct;return await De.signJWT(a,i,c,o)}),S(this,\"generateSharedKey\",(i,n,o)=>{this.isInitialized();const a=this.getPrivateKey(i),c=us(a,n);return this.setSymKey(c,o)}),S(this,\"setSymKey\",async(i,n)=>{this.isInitialized();const o=n||ds(i);return await this.keychain.set(o,i),o}),S(this,\"deleteKeyPair\",async i=>{this.isInitialized(),await this.keychain.del(i)}),S(this,\"deleteSymKey\",async i=>{this.isInitialized(),await this.keychain.del(i)}),S(this,\"encode\",async(i,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;i=await this.generateSharedKey(g,_)}const h=this.getSymKey(i),{type:u,senderPublicKey:d}=a;return ys({type:u,symKey:h,message:c,senderPublicKey:d,encoding:o?.encoding})}),S(this,\"decode\",async(i,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;i=await this.generateSharedKey(c,h)}try{const c=this.getSymKey(i),h=fs({symKey:c,encoded:n,encoding:o?.encoding});return st(h)}catch(c){this.logger.error(`Failed to decode message from topic: '${i}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}}),S(this,\"getPayloadType\",(i,n=ct)=>{const o=at({encoded:i,encoding:n});return Ds(o.type)}),S(this,\"getPayloadSenderPublicKey\",(i,n=ct)=>{const o=at({encoded:i,encoding:n});return o.senderPublicKey?Us(o.senderPublicKey,vs):void 0}),this.core=e,this.logger=N(t,this.name),this.keychain=s||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 Pn(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 xn=Object.defineProperty,Nn=Object.defineProperties,$n=Object.getOwnPropertyDescriptors,wi=Object.getOwnPropertySymbols,zn=Object.prototype.hasOwnProperty,Ln=Object.prototype.propertyIsEnumerable,Ve=(r,e,t)=>e in r?xn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,kn=(r,e)=>{for(var t in e||(e={}))zn.call(e,t)&&Ve(r,t,e[t]);if(wi)for(var t of wi(e))Ln.call(e,t)&&Ve(r,t,e[t]);return r},jn=(r,e)=>Nn(r,$n(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\",Rt),k(this,\"version\",Ot),k(this,\"initialized\",!1),k(this,\"storagePrefix\",B),k(this,\"init\",async()=>{if(!this.initialized){this.logger.trace(\"Initialized\");try{const s=await this.getRelayerMessages();typeof s<\"u\"&&(this.messages=s);const i=await this.getRelayerMessagesWithoutClientAck();typeof i<\"u\"&&(this.messagesWithoutClientAck=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",size:this.messages.size})}catch(s){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(s)}finally{this.initialized=!0}}}),k(this,\"set\",async(s,i,n)=>{this.isInitialized();const o=ve(i);let a=this.messages.get(s);if(typeof a>\"u\"&&(a={}),typeof a[o]<\"u\")return o;if(a[o]=i,this.messages.set(s,a),n===le.inbound){const c=this.messagesWithoutClientAck.get(s)||{};this.messagesWithoutClientAck.set(s,jn(kn({},c),{[o]:i}))}return await this.persist(),o}),k(this,\"get\",s=>{this.isInitialized();let i=this.messages.get(s);return typeof i>\"u\"&&(i={}),i}),k(this,\"getWithoutAck\",s=>{this.isInitialized();const i={};for(const n of s){const o=this.messagesWithoutClientAck.get(n)||{};i[n]=Object.values(o)}return i}),k(this,\"has\",(s,i)=>{this.isInitialized();const n=this.get(s),o=ve(i);return typeof n[o]<\"u\"}),k(this,\"ack\",async(s,i)=>{this.isInitialized();const n=this.messagesWithoutClientAck.get(s);if(typeof n>\"u\")return;const o=ve(i);delete n[o],Object.keys(n).length===0?this.messagesWithoutClientAck.delete(s):this.messagesWithoutClientAck.set(s,n),await this.persist()}),k(this,\"del\",async s=>{this.isInitialized(),this.messages.delete(s),this.messagesWithoutClientAck.delete(s),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,Re(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,Re(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?Oe(e):void 0}async getRelayerMessagesWithoutClientAck(){const e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<\"u\"?Oe(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 Un=Object.defineProperty,Mn=Object.defineProperties,Fn=Object.getOwnPropertyDescriptors,Ei=Object.getOwnPropertySymbols,Kn=Object.prototype.hasOwnProperty,Bn=Object.prototype.propertyIsEnumerable,qe=(r,e,t)=>e in r?Un(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ie=(r,e)=>{for(var t in e||(e={}))Kn.call(e,t)&&qe(r,t,e[t]);if(Ei)for(var t of Ei(e))Bn.call(e,t)&&qe(r,t,e[t]);return r},Ge=(r,e)=>Mn(r,Fn(e)),V=(r,e,t)=>qe(r,typeof e!=\"symbol\"?e+\"\":e,t);class Vn 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\",O(tt)),V(this,\"initialPublishTimeout\",O(Z*15)),V(this,\"needsTransportRestart\",!1),V(this,\"publish\",async(s,i,n)=>{var o;this.logger.debug(\"Publishing Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{topic:s,message:i,opts:n}});const a=n?.ttl||je,c=we(n),h=n?.prompt||!1,u=n?.tag||0,d=n?.id||mt().toString(),g={topic:s,message:i,opts:{ttl:a,relay:c,prompt:h,tag:u,id:d,attestation:n?.attestation,tvf:n?.tvf}},_=`Failed to publish payload, please try again. id:${d} tag:${u}`;try{const l=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:s,message:i,ttl:a,prompt:h,tag:u,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:${u}`);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:s,message:i,opts:n}}),await X(l,this.publishTimeout,_)}catch(l){if(this.logger.debug(\"Failed to Publish Payload\"),this.logger.error(l),(o=n?.internal)!=null&&o.throwOnFailedPublish)throw l}finally{this.queue.delete(d)}}),V(this,\"on\",(s,i)=>{this.events.on(s,i)}),V(this,\"once\",(s,i)=>{this.events.once(s,i)}),V(this,\"off\",(s,i)=>{this.events.off(s,i)}),V(this,\"removeListener\",(s,i)=>{this.events.removeListener(s,i)}),this.relayer=e,this.logger=N(t,this.name),this.registerEventListeners()}get context(){return U(this.logger)}async rpcPublish(e){var t,s,i,n;const{topic:o,message:a,ttl:c=je,prompt:h,tag:u,id:d,attestation:g,tvf:_}=e,l={method:oe(we().protocol).publish,params:Ie({topic:o,message:a,ttl:c,prompt:h,tag:u,attestation:g},_),id:d};xe((t=l.params)==null?void 0:t.prompt)&&((s=l.params)==null||delete s.prompt),xe((i=l.params)==null?void 0:i.tag)&&((n=l.params)==null||delete n.tag),this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"message\",direction:\"outgoing\",request:l});const b=await this.relayer.request(l);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 s=e.attempt+1;this.queue.set(t,Ge(Ie({},e),{attempt:s}));const{topic:i,message:n,opts:o,attestation:a}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${s}`),await this.rpcPublish(Ge(Ie({},e),{topic:i,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(ne.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 qn=Object.defineProperty,Gn=(r,e,t)=>e in r?qn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,re=(r,e,t)=>Gn(r,typeof e!=\"symbol\"?e+\"\":e,t);class Wn{constructor(){re(this,\"map\",new Map),re(this,\"set\",(e,t)=>{const s=this.get(e);this.exists(e,t)||this.map.set(e,[...s,t])}),re(this,\"get\",e=>this.map.get(e)||[]),re(this,\"exists\",(e,t)=>this.get(e).includes(t)),re(this,\"delete\",(e,t)=>{if(typeof t>\"u\"){this.map.delete(e);return}if(!this.map.has(e))return;const s=this.get(e);if(!this.exists(e,t))return;const i=s.filter(n=>n!==t);if(!i.length){this.map.delete(e);return}this.map.set(e,i)}),re(this,\"clear\",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var Hn=Object.defineProperty,Yn=Object.defineProperties,Jn=Object.getOwnPropertyDescriptors,Ii=Object.getOwnPropertySymbols,Xn=Object.prototype.hasOwnProperty,Zn=Object.prototype.propertyIsEnumerable,We=(r,e,t)=>e in r?Hn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ge=(r,e)=>{for(var t in e||(e={}))Xn.call(e,t)&&We(r,t,e[t]);if(Ii)for(var t of Ii(e))Zn.call(e,t)&&We(r,t,e[t]);return r},He=(r,e)=>Yn(r,Jn(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 Wn),f(this,\"events\",new ee),f(this,\"name\",Ut),f(this,\"version\",Mt),f(this,\"pending\",new Map),f(this,\"cached\",[]),f(this,\"initialized\",!1),f(this,\"storagePrefix\",B),f(this,\"subscribeTimeout\",O(tt)),f(this,\"initialSubscribeTimeout\",O(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(s,i)=>{this.isInitialized(),this.logger.debug(\"Subscribing Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:s,opts:i}});try{const n=we(i),o={topic:s,relay:n,transportType:i?.transportType};this.pending.set(s,o);const a=await this.rpcSubscribe(s,n,i);return typeof a==\"string\"&&(this.onSubscribe(a,o),this.logger.debug(\"Successfully Subscribed Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:s,opts:i}})),a}catch(n){throw this.logger.debug(\"Failed to Subscribe Topic\"),this.logger.error(n),n}}),f(this,\"unsubscribe\",async(s,i)=>{this.isInitialized(),typeof i?.id<\"u\"?await this.unsubscribeById(s,i.id,i):await this.unsubscribeByTopic(s,i)}),f(this,\"isSubscribed\",s=>new Promise(i=>{i(this.topicMap.topics.includes(s))})),f(this,\"isKnownTopic\",s=>new Promise(i=>{i(this.topicMap.topics.includes(s)||this.pending.has(s)||this.cached.some(n=>n.topic===s))})),f(this,\"on\",(s,i)=>{this.events.on(s,i)}),f(this,\"once\",(s,i)=>{this.events.once(s,i)}),f(this,\"off\",(s,i)=>{this.events.off(s,i)}),f(this,\"removeListener\",(s,i)=>{this.events.removeListener(s,i)}),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 s=[];this.pending.forEach(i=>{s.push(i)}),await this.batchSubscribe(s)}),f(this,\"registerEventListeners\",()=>{this.relayer.core.heartbeat.on(ne.pulse,async()=>{await this.checkPending()}),this.events.on($.created,async s=>{const i=$.created;this.logger.info(`Emitting ${i}`),this.logger.debug({type:\"event\",event:i,data:s}),await this.persist()}),this.events.on($.deleted,async s=>{const i=$.deleted;this.logger.info(`Emitting ${i}`),this.logger.debug({type:\"event\",event:i,data:s}),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 s=!1;try{s=this.getSubscription(e).topic===t}catch{}return s}reset(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const s=this.topicMap.get(e);await Promise.all(s.map(async i=>await this.unsubscribeById(e,i,t)))}async unsubscribeById(e,t,s){this.logger.debug(\"Unsubscribing Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:s}});try{const i=we(s);await this.restartToComplete({topic:e,id:t,relay:i}),await this.rpcUnsubscribe(e,t,i);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:s}})}catch(i){throw this.logger.debug(\"Failed to Unsubscribe Topic\"),this.logger.error(i),i}}async rpcSubscribe(e,t,s){var i;(!s||s?.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=(i=s?.internal)==null?void 0:i.throwOnFailedPublish;try{const a=await this.getSubscriptionId(e);if(s?.transportType===Q.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(n).catch(u=>this.logger.warn(u))},O(Z)),a;const c=new Promise(async u=>{const d=g=>{g.topic===e&&(this.events.removeListener($.created,d),u(g.id))};this.events.on($.created,d);try{const g=await X(new Promise((_,l)=>{this.relayer.request(n).catch(b=>{this.logger.warn(b,b?.message),l(b)}).then(_)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener($.created,d),u(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,s={method:oe(t.protocol).batchSubscribe,params:{topics:e.map(i=>i.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:s});try{await await X(new Promise(i=>{this.relayer.request(s).catch(n=>this.logger.warn(n)).then(i)}),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,s={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:s});let i;try{i=await await X(new Promise((n,o)=>{this.relayer.request(s).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 i}rpcUnsubscribe(e,t,s){const i={method:oe(s.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i}),this.relayer.request(i)}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,s){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,s),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:s}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(s)}return t}deleteSubscription(e,t){this.logger.debug(\"Deleting subscription\"),this.logger.trace({type:\"method\",method:\"deleteSubscription\",id:e,reason:t});const s=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(s.topic,e),this.events.emit($.deleted,He(ge({},s),{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 s=0;s<t;s++){const i=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(i)}}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(O(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 Qn=Object.defineProperty,Ci=Object.getOwnPropertySymbols,eo=Object.prototype.hasOwnProperty,to=Object.prototype.propertyIsEnumerable,Ye=(r,e,t)=>e in r?Qn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Pi=(r,e)=>{for(var t in e||(e={}))eo.call(e,t)&&Ye(r,t,e[t]);if(Ci)for(var t of Ci(e))to.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\",O(Se+Pe)),y(this,\"reconnectTimeout\"),y(this,\"connectPromise\"),y(this,\"reconnectInProgress\",!1),y(this,\"requestsInFlight\",[]),y(this,\"connectTimeout\",O(Z*15)),y(this,\"request\",async t=>{var s,i;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:(s=t.params)==null?void 0:s.topic},\"relayer.request - publishing...\");const o=`${n}:${((i=t.params)==null?void 0:i.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,s,i,n;try{this.logger.debug({},\"pingTimeout: Connection stalled, terminating...\"),(n=(i=(s=(t=this.provider)==null?void 0:t.connection)==null?void 0:s.socket)==null?void 0:i.terminate)==null||n.call(i)}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 Vn(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,s;return((s=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:s.readyState)===1||!1}get connecting(){var e,t,s;return((s=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:s.readyState)===0||this.connectPromise!==void 0||!1}async publish(e,t,s){this.isInitialized(),await this.publisher.publish(e,t,s),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:Q.relay},le.outbound)}async subscribe(e,t){var s,i,n;this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType===\"relay\")&&await this.toEstablishConnection();const o=typeof((s=t?.internal)==null?void 0:s.throwOnFailedPublish)>\"u\"?!0:(i=t?.internal)==null?void 0:i.throwOnFailedPublish;let a=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||\"\",c;const h=u=>{u.topic===e&&(this.subscriber.off($.created,h),c())};return await Promise.all([new Promise(u=>{c=u,this.subscriber.on($.created,h)}),new Promise(async(u,d)=>{a=await this.subscriber.subscribe(e,Pi({internal:{throwOnFailedPublish:o}},t)).catch(g=>{o&&d(g)})||a,u()})]),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,s)=>{await this.connect(e).then(t).catch(s).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((s,i)=>s.publishedAt-i.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(const s of t)try{await this.onMessageEvent(s)}catch(i){this.logger.warn(i,\"Error while processing batch message event: \"+i?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){const{topic:s}=e;if(!t.sessionExists){const i=ce(fe),n={topic:s,expiry:i,relay:{protocol:\"irn\"},active:!1};await this.core.pairing.pairings.set(s,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(s,i)=>{const n=()=>{i(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=>{i(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,s()})}catch(s){await this.subscriber.stop();const i=s;this.logger.warn({},i.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(s=>setTimeout(s,O(t*1))),t++}}startPingTimeout(){var e,t,s,i,n;if(ut())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((n=(i=(s=this.provider)==null?void 0:s.connection)==null?void 0:i.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 Bs(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:s,message:i}=e;await this.messages.set(s,i,t)}async shouldIgnoreMessageEvent(e){const{topic:t,message:s}=e;if(!s||s.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${s}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;const i=this.messages.has(t,s);return i&&this.logger.warn(`Ignoring duplicate message: ${s}`),i}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:s,message:i,publishedAt:n,attestation:o}=t.data,a={topic:s,message:i,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(s=>this.logger.error(s,s?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}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},O(Lt)))))}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&await this.connect()}}function io(){}function Ri(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 Oi(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 so=\"[object RegExp]\",ro=\"[object String]\",no=\"[object Number]\",oo=\"[object Boolean]\",xi=\"[object Arguments]\",ao=\"[object Symbol]\",co=\"[object Date]\",ho=\"[object Map]\",lo=\"[object Set]\",uo=\"[object Array]\",go=\"[object Function]\",po=\"[object ArrayBuffer]\",Je=\"[object Object]\",yo=\"[object Error]\",bo=\"[object DataView]\",mo=\"[object Uint8Array]\",fo=\"[object Uint8ClampedArray]\",Do=\"[object Uint16Array]\",vo=\"[object Uint32Array]\",wo=\"[object BigUint64Array]\",_o=\"[object Int8Array]\",Eo=\"[object Int16Array]\",Io=\"[object Int32Array]\",To=\"[object BigInt64Array]\",Co=\"[object Float32Array]\",Po=\"[object Float64Array]\";function So(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,s,i,n,o){const a=o(r,e,t,s,i,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,s){if(Object.is(r,e))return!0;let i=Ai(r),n=Ai(e);if(i===xi&&(i=Je),n===xi&&(n=Je),i!==n)return!1;switch(i){case ro:return r.toString()===e.toString();case no:{const c=r.valueOf(),h=e.valueOf();return So(c,h)}case oo:case co:case ao:return Object.is(r.valueOf(),e.valueOf());case so:return r.source===e.source&&r.flags===e.flags;case go: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(i){case ho:{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,s))return!1;return!0}case lo:{if(r.size!==e.size)return!1;const c=Array.from(r.values()),h=Array.from(e.values());for(let u=0;u<c.length;u++){const d=c[u],g=h.findIndex(_=>pe(d,_,void 0,r,e,t,s));if(g===-1)return!1;h.splice(g,1)}return!0}case uo:case mo:case fo:case Do:case vo:case wo:case _o:case Eo:case Io:case To:case Co:case Po:{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,s))return!1;return!0}case po:return r.byteLength!==e.byteLength?!1:ye(new Uint8Array(r),new Uint8Array(e),t,s);case bo:return r.byteLength!==e.byteLength||r.byteOffset!==e.byteOffset?!1:ye(new Uint8Array(r),new Uint8Array(e),t,s);case yo:return r.name===e.name&&r.message===e.message;case Je:{if(!(ye(r.constructor,e.constructor,t,s)||Ri(r)&&Ri(e)))return!1;const h=[...Object.keys(r),...Oi(r)],u=[...Object.keys(e),...Oi(e)];if(h.length!==u.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 l=e[g];if(!pe(_,l,g,r,e,t,s))return!1}return!0}default:return!1}}finally{t.delete(r),t.delete(e)}}function Oo(r,e){return Ro(r,e,io)}var Ao=Object.defineProperty,Ni=Object.getOwnPropertySymbols,xo=Object.prototype.hasOwnProperty,No=Object.prototype.propertyIsEnumerable,Xe=(r,e,t)=>e in r?Ao(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,$i=(r,e)=>{for(var t in e||(e={}))xo.call(e,t)&&Xe(r,t,e[t]);if(Ni)for(var t of Ni(e))No.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,s,i=B,n=void 0){super(e,t,s,i),this.core=e,this.logger=t,this.name=s,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):Cs(o)?this.map.set(o.id,o):Ps(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=>Oo(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=i,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:i}=m(\"MISSING_OR_INVALID\",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}const{message:s}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.error(s),new Error(s)}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 $o=Object.defineProperty,zo=(r,e,t)=>e in r?$o(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,p=(r,e,t)=>zo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Li{constructor(e,t){this.core=e,this.logger=t,p(this,\"name\",Ft),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:s})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...s])]}),p(this,\"create\",async s=>{this.isInitialized();const i=Ae(),n=await this.core.crypto.setSymKey(i),o=ce(fe),a={protocol:xt},c={topic:n,expiry:o,relay:a,active:!1,methods:s?.methods},h=dt({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:i,relay:a,expiryTimestamp:o,methods:s?.methods});return this.events.emit(se.create,c),this.core.expirer.set(n,o),await this.pairings.set(n,c),await this.core.relayer.subscribe(n,{transportType:s?.transportType}),{topic:n,uri:h}}),p(this,\"pair\",async s=>{this.isInitialized();const i=this.core.eventClient.createEvent({properties:{topic:s?.uri,trace:[G.pairing_started]}});this.isValidPair(s,i);const{topic:n,symKey:o,relay:a,expiryTimestamp:c,methods:h}=gt(s.uri);i.props.properties.topic=n,i.addTrace(G.pairing_uri_validation_success),i.addTrace(G.pairing_uri_not_expired);let u;if(this.pairings.keys.includes(n)){if(u=this.pairings.get(n),i.addTrace(G.existing_pairing),u.active)throw i.setError(Y.active_pairing_already_exists),new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);i.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),i.addTrace(G.store_new_pairing),s.activatePairing&&await this.activate({topic:n}),this.events.emit(se.create,g),i.addTrace(G.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(o,n),i.addTrace(G.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{i.setError(Y.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:a})}catch(_){throw i.setError(Y.subscribe_pairing_topic_failure),_}return i.addTrace(G.subscribe_pairing_topic_success),g}),p(this,\"activate\",async({topic:s})=>{this.isInitialized();const i=ce(fe);this.core.expirer.set(s,i),await this.pairings.update(s,{active:!0,expiry:i})}),p(this,\"ping\",async s=>{this.isInitialized(),await this.isValidPing(s),this.logger.warn(\"ping() is deprecated and will be removed in the next major release.\");const{topic:i}=s;if(this.pairings.keys.includes(i)){const n=await this.sendRequest(i,\"wc_pairingPing\",{}),{done:o,resolve:a,reject:c}=Os();this.events.once(Ne(\"pairing_ping\",n),({error:h})=>{h?c(h):a()}),await o()}}),p(this,\"updateExpiry\",async({topic:s,expiry:i})=>{this.isInitialized(),await this.pairings.update(s,{expiry:i})}),p(this,\"updateMetadata\",async({topic:s,metadata:i})=>{this.isInitialized(),await this.pairings.update(s,{peerMetadata:i})}),p(this,\"getPairings\",()=>(this.isInitialized(),this.pairings.values)),p(this,\"disconnect\",async s=>{this.isInitialized(),await this.isValidDisconnect(s);const{topic:i}=s;this.pairings.keys.includes(i)&&(await this.sendRequest(i,\"wc_pairingDelete\",ae(\"USER_DISCONNECTED\")),await this.deletePairing(i))}),p(this,\"formatUriFromPairing\",s=>{this.isInitialized();const{topic:i,relay:n,expiry:o,methods:a}=s,c=this.core.crypto.keychain.get(i);return dt({protocol:this.core.protocol,version:this.core.version,topic:i,symKey:c,relay:n,expiryTimestamp:o,methods:a})}),p(this,\"sendRequest\",async(s,i,n)=>{const o=wt(i,n),a=await this.core.crypto.encode(s,o),c=ie[i].req;return this.core.history.set(s,o),this.core.relayer.publish(s,a,c),o.id}),p(this,\"sendResult\",async(s,i,n)=>{const o=vt(s,n),a=await this.core.crypto.encode(i,o),c=(await this.core.history.get(i,s)).request.method,h=ie[c].res;await this.core.relayer.publish(i,a,h),await this.core.history.resolve(o)}),p(this,\"sendError\",async(s,i,n)=>{const o=Fs(s,n),a=await this.core.crypto.encode(i,o),c=(await this.core.history.get(i,s)).request.method,h=ie[c]?ie[c].res:ie.unregistered_method.res;await this.core.relayer.publish(i,a,h),await this.core.history.resolve(o)}),p(this,\"deletePairing\",async(s,i)=>{await this.core.relayer.unsubscribe(s),await Promise.all([this.pairings.delete(s,ae(\"USER_DISCONNECTED\")),this.core.crypto.deleteSymKey(s),i?Promise.resolve():this.core.expirer.del(s)])}),p(this,\"cleanup\",async()=>{const s=this.pairings.getAll().filter(i=>pt(i.expiry));await Promise.all(s.map(i=>this.deletePairing(i.topic)))}),p(this,\"onRelayEventRequest\",async s=>{const{topic:i,payload:n}=s;switch(n.method){case\"wc_pairingPing\":return await this.onPairingPingRequest(i,n);case\"wc_pairingDelete\":return await this.onPairingDeleteRequest(i,n);default:return await this.onUnknownRpcMethodRequest(i,n)}}),p(this,\"onRelayEventResponse\",async s=>{const{topic:i,payload:n}=s,o=(await this.core.history.get(i,n.id)).request.method;switch(o){case\"wc_pairingPing\":return this.onPairingPingResponse(i,n);default:return this.onUnknownRpcMethodResponse(o)}}),p(this,\"onPairingPingRequest\",async(s,i)=>{const{id:n}=i;try{this.isValidPing({topic:s}),await this.sendResult(n,s,!0),this.events.emit(se.ping,{id:n,topic:s})}catch(o){await this.sendError(n,s,o),this.logger.error(o)}}),p(this,\"onPairingPingResponse\",(s,i)=>{const{id:n}=i;setTimeout(()=>{Ks(i)?this.events.emit(Ne(\"pairing_ping\",n),{}):_t(i)&&this.events.emit(Ne(\"pairing_ping\",n),{error:i.error})},500)}),p(this,\"onPairingDeleteRequest\",async(s,i)=>{const{id:n}=i;try{this.isValidDisconnect({topic:s}),await this.deletePairing(s),this.events.emit(se.delete,{id:n,topic:s})}catch(o){await this.sendError(n,s,o),this.logger.error(o)}}),p(this,\"onUnknownRpcMethodRequest\",async(s,i)=>{const{id:n,method:o}=i;try{if(this.registeredMethods.includes(o))return;const a=ae(\"WC_METHOD_UNSUPPORTED\",o);await this.sendError(n,s,a),this.logger.error(a)}catch(a){await this.sendError(n,s,a),this.logger.error(a)}}),p(this,\"onUnknownRpcMethodResponse\",s=>{this.registeredMethods.includes(s)||this.logger.error(ae(\"WC_METHOD_UNSUPPORTED\",s))}),p(this,\"isValidPair\",(s,i)=>{var n;if(!$e(s)){const{message:a}=m(\"MISSING_OR_INVALID\",`pair() params: ${s}`);throw i.setError(Y.malformed_pairing_uri),new Error(a)}if(!As(s.uri)){const{message:a}=m(\"MISSING_OR_INVALID\",`pair() uri: ${s.uri}`);throw i.setError(Y.malformed_pairing_uri),new Error(a)}const o=gt(s?.uri);if(!((n=o?.relay)!=null&&n.protocol)){const{message:a}=m(\"MISSING_OR_INVALID\",\"pair() uri#relay-protocol\");throw i.setError(Y.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=m(\"MISSING_OR_INVALID\",\"pair() uri#symKey\");throw i.setError(Y.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&O(o?.expiryTimestamp)<Date.now()){i.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 s=>{if(!$e(s)){const{message:n}=m(\"MISSING_OR_INVALID\",`ping() params: ${s}`);throw new Error(n)}const{topic:i}=s;await this.isValidPairingTopic(i)}),p(this,\"isValidDisconnect\",async s=>{if(!$e(s)){const{message:n}=m(\"MISSING_OR_INVALID\",`disconnect() params: ${s}`);throw new Error(n)}const{topic:i}=s;await this.isValidPairingTopic(i)}),p(this,\"isValidPairingTopic\",async s=>{if(!xs(s,!1)){const{message:i}=m(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${s}`);throw new Error(i)}if(!this.pairings.keys.includes(s)){const{message:i}=m(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${s}`);throw new Error(i)}if(pt(this.pairings.get(s).expiry)){await this.deletePairing(s);const{message:i}=m(\"EXPIRED\",`pairing topic: ${s}`);throw new Error(i)}}),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:s,transportType:i}=e;if(this.pairings.keys.includes(t)&&i!==Q.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(s)))try{const n=await this.core.crypto.decode(t,s);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,s)}catch(n){this.logger.error(n)}})}registerExpirerEvents(){this.core.expirer.on(F.expired,async e=>{const{topic:t}=Ss(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(se.expire,{topic:t}))})}}var Lo=Object.defineProperty,ko=(r,e,t)=>e in r?Lo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,R=(r,e,t)=>ko(r,typeof e!=\"symbol\"?e+\"\":e,t);class ki extends is{constructor(e,t){super(e,t),this.core=e,this.logger=t,R(this,\"records\",new Map),R(this,\"events\",new ee),R(this,\"name\",Bt),R(this,\"version\",Vt),R(this,\"cached\",[]),R(this,\"initialized\",!1),R(this,\"storagePrefix\",B),R(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(s=>this.records.set(s.id,s)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),R(this,\"set\",(s,i,n)=>{if(this.isInitialized(),this.logger.debug(\"Setting JSON-RPC request history record\"),this.logger.trace({type:\"method\",method:\"set\",topic:s,request:i,chainId:n}),this.records.has(i.id))return;const o={id:i.id,topic:s,request:{method:i.method,params:i.params||null},chainId:n,expiry:ce(Ce)};this.records.set(o.id,o),this.persist(),this.events.emit(M.created,o)}),R(this,\"resolve\",async s=>{if(this.isInitialized(),this.logger.debug(\"Updating JSON-RPC response history record\"),this.logger.trace({type:\"method\",method:\"update\",response:s}),!this.records.has(s.id))return;const i=await this.getRecord(s.id);typeof i.response>\"u\"&&(i.response=_t(s)?{error:s.error}:{result:s.result},this.records.set(i.id,i),this.persist(),this.events.emit(M.updated,i))}),R(this,\"get\",async(s,i)=>(this.isInitialized(),this.logger.debug(\"Getting record\"),this.logger.trace({type:\"method\",method:\"get\",topic:s,id:i}),await this.getRecord(i))),R(this,\"delete\",(s,i)=>{this.isInitialized(),this.logger.debug(\"Deleting record\"),this.logger.trace({type:\"method\",method:\"delete\",id:i}),this.values.forEach(n=>{if(n.topic===s){if(typeof i<\"u\"&&n.id!==i)return;this.records.delete(n.id),this.events.emit(M.deleted,n)}}),this.persist()}),R(this,\"exists\",async(s,i)=>(this.isInitialized(),this.records.has(i)?(await this.getRecord(i)).topic===s:!1)),R(this,\"on\",(s,i)=>{this.events.on(s,i)}),R(this,\"once\",(s,i)=>{this.events.once(s,i)}),R(this,\"off\",(s,i)=>{this.events.off(s,i)}),R(this,\"removeListener\",(s,i)=>{this.events.removeListener(s,i)}),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 s={topic:t.topic,request:wt(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(s)}),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:s}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(s)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(M.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(M.created,e=>{const t=M.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(M.updated,e=>{const t=M.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(M.deleted,e=>{const t=M.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.core.heartbeat.on(ne.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{O(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(M.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 jo=Object.defineProperty,Uo=(r,e,t)=>e in r?jo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,A=(r,e,t)=>Uo(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(s=>this.expirations.set(s.target,s)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),A(this,\"has\",s=>{try{const i=this.formatTarget(s);return typeof this.getExpiration(i)<\"u\"}catch{return!1}}),A(this,\"set\",(s,i)=>{this.isInitialized();const n=this.formatTarget(s),o={target:n,expiry:i};this.expirations.set(n,o),this.checkExpiry(n,o),this.events.emit(F.created,{target:n,expiration:o})}),A(this,\"get\",s=>{this.isInitialized();const i=this.formatTarget(s);return this.getExpiration(i)}),A(this,\"del\",s=>{if(this.isInitialized(),this.has(s)){const i=this.formatTarget(s),n=this.getExpiration(i);this.expirations.delete(i),this.events.emit(F.deleted,{target:i,expiration:n})}}),A(this,\"on\",(s,i)=>{this.events.on(s,i)}),A(this,\"once\",(s,i)=>{this.events.once(s,i)}),A(this,\"off\",(s,i)=>{this.events.off(s,i)}),A(this,\"removeListener\",(s,i)=>{this.events.removeListener(s,i)}),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 Ns(e);if(typeof e==\"number\")return $s(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(F.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:s}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.warn(s),new Error(s)}return t}checkExpiry(e,t){const{expiry:s}=t;O(s)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(F.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(ne.pulse,()=>this.checkExpirations()),this.events.on(F.created,e=>{const t=F.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(F.expired,e=>{const t=F.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(F.deleted,e=>{const t=F.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,Fo=(r,e,t)=>e in r?Mo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,w=(r,e,t)=>Fo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Ui extends rs{constructor(e,t,s){super(e,t,s),this.core=e,this.logger=t,this.store=s,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 i;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&O((i=this.publicKey)==null?void 0:i.expiresAt)<Date.now()&&(this.logger.debug(\"verify v2 public key expired\"),await this.removePublicKey()))}),w(this,\"register\",async i=>{if(!zs()||this.isDevEnv)return;const n=window.location.origin,{id:o,decryptedId:a}=i,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${n}&id=${o}&decryptedId=${a}`;try{const h=Vs(),u=this.startAbortTimer(Z*5),d=await new Promise((g,_)=>{const l=()=>{window.removeEventListener(\"message\",x),h.body.removeChild(b),_(\"attestation aborted\")};this.abortController.signal.addEventListener(\"abort\",l);const b=h.createElement(\"iframe\");b.src=c,b.style.display=\"none\",b.addEventListener(\"error\",l,{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(u),h.body.removeChild(b),this.abortController.signal.removeEventListener(\"abort\",l),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 i=>{if(this.isDevEnv)return\"\";const{attestationId:n,hash:o,encryptedId:a}=i;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(i?.verifyUrl);return this.fetchAttestation(o,c)}),w(this,\"fetchAttestation\",async(i,n)=>{this.logger.debug(`resolving attestation: ${i} from url: ${n}`);const o=this.startAbortTimer(Z*5),a=await fetch(`${n}/attestation/${i}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0}),w(this,\"getVerifyUrl\",i=>{let n=i||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 i=this.startAbortTimer(Pe),n=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(i),await n.json()}catch(i){this.logger.warn(i)}}),w(this,\"persistPublicKey\",async i=>{this.logger.debug(\"persisting public key to local storage\",i),await this.store.setItem(this.storeKey,i),this.publicKey=i}),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 i=>{const n=await this.getPublicKey();try{if(n)return this.validateAttestation(i,n)}catch(a){this.logger.error(a),this.logger.warn(\"error validating attestation\")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(i,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 i=await this.fetchPromise;return this.fetchPromise=void 0,i}),w(this,\"validateAttestation\",(i,n)=>{const o=Ls(i,n.publicKey),a={hasExpired:O(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(),O(e))}}var Ko=Object.defineProperty,Bo=(r,e,t)=>e in r?Ko(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Mi=(r,e,t)=>Bo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Fi extends ns{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,Mi(this,\"context\",Xt),Mi(this,\"registerDeviceToken\",async s=>{const{clientId:i,token:n,notificationType:o,enableEncrypted:a=!1}=s,c=`${Zt}/${this.projectId}/clients`;await fetch(c,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({client_id:i,type:o,token:n,always_raw:a})})}),this.logger=N(t,this.context)}}var Vo=Object.defineProperty,Ki=Object.getOwnPropertySymbols,qo=Object.prototype.hasOwnProperty,Go=Object.prototype.propertyIsEnumerable,Ze=(r,e,t)=>e in r?Vo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,be=(r,e)=>{for(var t in e||(e={}))qo.call(e,t)&&Ze(r,t,e[t]);if(Ki)for(var t of Ki(e))Go.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,s=!0){super(e,t,s),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 i={eventId:bt(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:\"INIT\",type:\"\",properties:{client_id:await this.core.crypto.getClientId(),user_agent:ks(this.core.relayer.protocol,this.core.relayer.version,_e)}}};await this.sendEvent([i])}catch(i){this.logger.warn(i)}}),E(this,\"createEvent\",i=>{const{event:n=\"ERROR\",type:o=\"\",properties:{topic:a,trace:c}}=i,h=bt(),u=this.core.projectId||\"\",d=Date.now(),g=be({eventId:h,timestamp:d,props:{event:n,type:o,properties:{topic:a,trace:c}},bundleId:u,domain:this.getAppDomain()},this.setMethods(h));return this.telemetryEnabled&&(this.events.set(h,g),this.shouldPersist=!0),g}),E(this,\"getEvent\",i=>{const{eventId:n,topic:o}=i;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\",i=>{const{eventId:n}=i;this.events.delete(n),this.shouldPersist=!0}),E(this,\"setEventListeners\",()=>{this.core.heartbeat.on(ne.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(i=>{it(Date.now())-it(i.timestamp)>ti&&(this.events.delete(i.eventId),this.shouldPersist=!0)})})}),E(this,\"setMethods\",i=>({addTrace:n=>this.addTrace(i,n),setError:n=>this.setError(i,n)})),E(this,\"addTrace\",(i,n)=>{const o=this.events.get(i);o&&(o.props.properties.trace.push(n),this.events.set(i,o),this.shouldPersist=!0)}),E(this,\"setError\",(i,n)=>{const o=this.events.get(i);o&&(o.props.type=n,o.timestamp=Date.now(),this.events.set(i,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 i=await this.core.storage.getItem(this.storageKey)||[];if(!i.length)return;i.forEach(n=>{this.events.set(n.eventId,be(be({},n),this.setMethods(n.eventId)))})}catch(i){this.logger.warn(i)}}),E(this,\"submit\",async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const i=[];for(const[n,o]of this.events)o.props.type&&i.push(o);if(i.length!==0)try{if((await this.sendEvent(i)).ok)for(const n of i)this.events.delete(n.eventId),this.shouldPersist=!0}catch(n){this.logger.warn(n)}}),E(this,\"sendEvent\",async i=>{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(i)})}),E(this,\"getAppDomain\",()=>js().url),this.logger=N(t,this.context),this.telemetryEnabled=s,s?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+\"//\"+this.context}}var Wo=Object.defineProperty,Vi=Object.getOwnPropertySymbols,Ho=Object.prototype.hasOwnProperty,Yo=Object.prototype.propertyIsEnumerable,Qe=(r,e,t)=>e in r?Wo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,qi=(r,e)=>{for(var t in e||(e={}))Ho.call(e,t)&&Qe(r,t,e[t]);if(Vi)for(var t of Vi(e))Yo.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\",(o,a)=>this.events.on(o,a)),v(this,\"once\",(o,a)=>this.events.once(o,a)),v(this,\"off\",(o,a)=>this.events.off(o,a)),v(this,\"removeListener\",(o,a)=>this.events.removeListener(o,a)),v(this,\"dispatchEnvelope\",({topic:o,message:a,sessionExists:c})=>{if(!o||!a)return;const h={topic:o,message:a,publishedAt:Date.now(),transportType:Q.link_mode};this.relayer.onLinkMessageEvent(h,{sessionExists:c})}),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:i,chunkLoggerController:n}=Ji({opts:s,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=n,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var o,a;(o=this.logChunkController)!=null&&o.downloadLogsBlobInBrowser&&((a=this.logChunkController)==null||a.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=N(i,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 Fi(this.projectId||\"\",this.logger),this.linkModeSupportedApps=[],this.eventClient=new Bi(this,this.logger,e?.telemetryEnabled)}static async init(e){const t=new Te(e);await t.initialize();const s=await t.crypto.getClientId();return await t.storage.setItem(jt,s),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(Me,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(Me)||[],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}}}const Jo=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,Jo 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,ir as EVENT_CLIENT_AUTHENTICATE_ERRORS,tr as EVENT_CLIENT_AUTHENTICATE_TRACES,Zs as EVENT_CLIENT_CONTEXT,Y as EVENT_CLIENT_PAIRING_ERRORS,G as EVENT_CLIENT_PAIRING_TRACES,er as EVENT_CLIENT_SESSION_ERRORS,Qs as EVENT_CLIENT_SESSION_TRACES,qt as EXPIRER_CONTEXT,Js as EXPIRER_DEFAULT_TTL,F as EXPIRER_EVENTS,Gt as EXPIRER_STORAGE_VERSION,Fi as EchoClient,Bi as EventClient,ji as Expirer,Bt as HISTORY_CONTEXT,M as HISTORY_EVENTS,Vt as HISTORY_STORAGE_VERSION,ki as JsonRpcHistory,Pt as KEYCHAIN_CONTEXT,St as KEYCHAIN_STORAGE_VERSION,Di as KeyChain,Rt as MESSAGES_CONTEXT,Ot as MESSAGES_STORAGE_VERSION,le as MESSAGE_DIRECTION,_i as MessageTracker,Ft as PAIRING_CONTEXT,Ys as PAIRING_DEFAULT_TTL,se as PAIRING_EVENTS,ie as PAIRING_RPC_OPTS,Kt as PAIRING_STORAGE_VERSION,Hs 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,qs as RELAYER_STORAGE_OPTIONS,zt as RELAYER_SUBSCRIBER_SUFFIX,Gs as RELAYER_TRANSPORT_CUTOFF,Si as Relayer,kt as STORE_STORAGE_VERSION,Ut as SUBSCRIBER_CONTEXT,Ws as SUBSCRIBER_DEFAULT_TTL,$ as SUBSCRIBER_EVENTS,Mt 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,Me 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 K,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,calcExpiry as V,engineEvent as R,createDelayedPromise as ee,getSdkError as O,getDeepLink as Ut,handleDeeplinkRedirect as Kt,isSessionCompatible as Gt,hashKey as be,parseChainId as Ae,createEncodedRecap as jt,getRecapFromResources as xe,mergeEncodedRecaps as Ft,TYPE_2 as Qt,getLinkModeURL as ue,validateSignedCacao as et,getNamespacedDidChainId as tt,getDidAddress as st,getMethodsFromRecap as it,getChainsFromRecap as rt,buildNamespacesFromAuth as nt,formatMessage as Ht,MemoryStore as oe,isValidParams as M,isUndefined as X,isValidRelays as zt,isValidObject as ot,isValidRequiredNamespaces as Yt,isValidNamespaces as Ce,isConformingNamespaces as at,isValidErrorReason as Xt,isValidRelay as Jt,isValidController as Bt,isValidNamespacesChainId as ct,isValidRequest as Wt,isValidNamespacesRequest as Zt,isValidRequestExpiry as es,isValidResponse as ts,isValidEvent as ss,isValidNamespacesEvent as is,getSearchParamFromURL as lt,isTestRun as rs,isReactNative as ns,isValidArray as os,extractSolanaTransactionId as as,TYPE_1 as Ve,getAppMetadata as cs}from\"@walletconnect/utils\";import ls,{EventEmitter as ps}from\"events\";import{isJsonRpcRequest as hs,isJsonRpcResponse as ds,payloadId as G,getBigIntRpcId as ge,isJsonRpcResult as j,isJsonRpcError as F,formatJsonRpcRequest as ye,formatJsonRpcResult as us,formatJsonRpcError as gs}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\"},ys={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\"},ws={database:\":memory:\"},Me=\"WALLETCONNECT_DEEPLINK_CHOICE\",ms={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},_s=\"history\",Es=\"0.3\",pt=\"proposal\",fs=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:K,prompt:!1,tag:1104},res:{ttl:K,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:K,prompt:!1,tag:1106},res:{ttl:K,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:K,prompt:!1,tag:1112},res:{ttl:K,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:K,prompt:!1,tag:1114},res:{ttl:K,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\"},Ue={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\",Ss=1.5,wt=\"auth\",mt=\"authKeys\",_t=\"pairingTopics\",Et=\"requests\",ae=`${yt}@${1.5}:${wt}:`,ce=`${ae}:PUB_KEY`;var Rs=Object.defineProperty,vs=Object.defineProperties,Is=Object.getOwnPropertyDescriptors,ft=Object.getOwnPropertySymbols,Ts=Object.prototype.hasOwnProperty,qs=Object.prototype.propertyIsEnumerable,Ke=(S,n,e)=>n in S?Rs(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,v=(S,n)=>{for(var e in n||(n={}))Ts.call(n,e)&&Ke(S,e,n[e]);if(ft)for(var e of ft(n))qs.call(n,e)&&Ke(S,e,n[e]);return S},b=(S,n)=>vs(S,Is(n)),c=(S,n,e)=>Ke(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ps extends Dt{constructor(n){super(n),c(this,\"name\",dt),c(this,\"events\",new ls),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);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:U}=await this.client.core.pairing.create();p=T,h=U}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:U})=>{this.client.events.off(\"proposal_expire\",I),T?g(T):U&&A(U)}),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}),U=P.relay;g.addTrace(k.subscribing_session_topic);try{await this.client.core.relayer.subscribe(I,{transportType:U})}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 Kt({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=>Gt(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=jt(x,\"request\",m);xe(_)&&(L=Ft(L,_.pop())),_.push(L)}const T=f&&f>N.wc_sessionAuthenticate.req.ttl?f:N.wc_sessionAuthenticate.req.ttl,U={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\",U,te);this.client.core.history.set(g,x);const L=await this.client.core.crypto.encode(\"\",x,{type:Qt,encoding:ne});Ie=ue(t,g,L)}else await Promise.all([this.sendRequest({topic:g,method:\"wc_sessionAuthenticate\",params:U,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({},U),{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 Ht(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=us(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=gs(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),!zt(a,!0)){const{message:l}=y(\"MISSING_OR_INVALID\",`connect() relays: ${a}`);throw new Error(l)}if(!X(s)&&ot(s)!==0&&this.validateNamespaces(s,\"requiredNamespaces\"),!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=Yt(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),!Xt(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(!Jt(t)){const{message:l}=y(\"MISSING_OR_INVALID\",\"onSessionSettleRequest() relay protocol should be a string\");throw new Error(l)}const o=Bt(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(!Wt(s)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() ${JSON.stringify(s)}`);throw new Error(a)}if(!Zt(o,i,s.method)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() method: ${s.method}`);throw new Error(a)}if(r&&!es(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(!ts(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(!ss(s)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}if(!is(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(rs()||ns()&&(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(Ue).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=Ue[e];if(typeof t==\"string\")return[t];const i=t[s.key];if(os(i))return e===\"solana_signAllTransactions\"?i.map(r=>as(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});hs(o)?(this.client.core.history.set(e,o),await this.onRelayEventRequest({topic:e,payload:o,attestation:s,transportType:i,encryptedId:W(t)})):ds(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 Ns 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 Os extends B{constructor(n,e){super(n,e,ut,we,t=>t.id),this.core=n,this.logger=e}}class bs extends B{constructor(n,e){super(n,e,mt,ae,()=>ce),this.core=n,this.logger=e}}class As extends B{constructor(n,e){super(n,e,_t,ae),this.core=n,this.logger=e}}class xs extends B{constructor(n,e){super(n,e,Et,ae,t=>t.id),this.core=n,this.logger=e}}var Cs=Object.defineProperty,Vs=(S,n,e)=>n in S?Cs(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,Ge=(S,n,e)=>Vs(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ds{constructor(n,e){this.core=n,this.logger=e,Ge(this,\"authKeys\"),Ge(this,\"pairingTopics\"),Ge(this,\"requests\"),this.authKeys=new bs(this.core,this.logger),this.pairingTopics=new As(this.core,this.logger),this.requests=new xs(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var Ls=Object.defineProperty,ks=(S,n,e)=>n in S?Ls(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,E=(S,n,e)=>ks(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 ps),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=n?.metadata||cs(),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 Ns(this.core,this.logger),this.pendingRequest=new Os(this.core,this.logger),this.engine=new Ps(this),this.auth=new Ds(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 Ms=St,$s=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,Ss as AUTH_VERSION,dt as ENGINE_CONTEXT,$ as ENGINE_QUEUE_STATES,N as ENGINE_RPC_OPTS,_s as HISTORY_CONTEXT,ms as HISTORY_EVENTS,Es as HISTORY_STORAGE_VERSION,gt as METHODS_TO_VERIFY,pt as PROPOSAL_CONTEXT,fs 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,ys as SIGN_CLIENT_EVENTS,De as SIGN_CLIENT_PROTOCOL,ws as SIGN_CLIENT_STORAGE_OPTIONS,we as SIGN_CLIENT_STORAGE_PREFIX,Le as SIGN_CLIENT_VERSION,Ms as SessionStore,$s as SignClient,Ue as TVF_METHODS,Me as WALLETCONNECT_DEEPLINK_CHOICE,Ee as default};\n//# sourceMappingURL=index.es.js.map\n","import bt from\"@walletconnect/sign-client\";import{isValidObject as It,isCaipNamespace as Y,parseNamespaceKey as q,mergeArrays as M,parseChainId as Q,getSdkError as Z,isValidArray as T}from\"@walletconnect/utils\";import{pino as $t,getDefaultLoggerOptions as Ot}from\"@walletconnect/logger\";import m,{HttpConnection as At}from\"@walletconnect/jsonrpc-http-connection\";import{JsonRpcProvider as l}from\"@walletconnect/jsonrpc-provider\";import{formatJsonRpcRequest as Ht,formatJsonRpcResult as Et}from\"@walletconnect/jsonrpc-utils\";import Ct from\"events\";const tt=\"error\",Nt=\"wss://relay.walletconnect.org\",St=\"wc\",Dt=\"universal_provider\",_=`${St}@2:${Dt}:`,et=\"https://rpc.walletconnect.org/v1/\",w=\"generic\",qt=`${et}bundler`,d={DEFAULT_CHAIN_CHANGED:\"default_chain_changed\"};function jt(){}function B(s){return s==null||typeof s!=\"object\"&&typeof s!=\"function\"}function G(s){return ArrayBuffer.isView(s)&&!(s instanceof DataView)}function Rt(s){if(B(s))return s;if(Array.isArray(s)||G(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 st(s){return typeof s==\"object\"&&s!==null}function it(s){return Object.getOwnPropertySymbols(s).filter(t=>Object.prototype.propertyIsEnumerable.call(s,t))}function rt(s){return s==null?s===void 0?\"[object Undefined]\":\"[object Null]\":Object.prototype.toString.call(s)}const _t=\"[object RegExp]\",nt=\"[object String]\",at=\"[object Number]\",ct=\"[object Boolean]\",ot=\"[object Arguments]\",Ut=\"[object Symbol]\",Ft=\"[object Date]\",Lt=\"[object Map]\",xt=\"[object Set]\",Mt=\"[object Array]\",Bt=\"[object ArrayBuffer]\",Gt=\"[object Object]\",Jt=\"[object DataView]\",zt=\"[object Uint8Array]\",kt=\"[object Uint8ClampedArray]\",Wt=\"[object Uint16Array]\",Kt=\"[object Uint32Array]\",Vt=\"[object Int8Array]\",Xt=\"[object Int16Array]\",Yt=\"[object Int32Array]\",Qt=\"[object Float32Array]\",Zt=\"[object Float64Array]\";function Tt(s,t){return y(s,void 0,s,new Map,t)}function y(s,t,e,i=new Map,r=void 0){const a=r?.(s,t,e,i);if(a!=null)return a;if(B(s))return s;if(i.has(s))return i.get(s);if(Array.isArray(s)){const n=new Array(s.length);i.set(s,n);for(let c=0;c<s.length;c++)n[c]=y(s[c],c,e,i,r);return Object.hasOwn(s,\"index\")&&(n.index=s.index),Object.hasOwn(s,\"input\")&&(n.input=s.input),n}if(s instanceof Date)return new Date(s.getTime());if(s instanceof RegExp){const n=new RegExp(s.source,s.flags);return n.lastIndex=s.lastIndex,n}if(s instanceof Map){const n=new Map;i.set(s,n);for(const[c,h]of s)n.set(c,y(h,c,e,i,r));return n}if(s instanceof Set){const n=new Set;i.set(s,n);for(const c of s)n.add(y(c,void 0,e,i,r));return n}if(typeof Buffer<\"u\"&&Buffer.isBuffer(s))return s.subarray();if(G(s)){const n=new(Object.getPrototypeOf(s)).constructor(s.length);i.set(s,n);for(let c=0;c<s.length;c++)n[c]=y(s[c],c,e,i,r);return n}if(s instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&s instanceof SharedArrayBuffer)return s.slice(0);if(s instanceof DataView){const n=new DataView(s.buffer.slice(0),s.byteOffset,s.byteLength);return i.set(s,n),g(n,s,e,i,r),n}if(typeof File<\"u\"&&s instanceof File){const n=new File([s],s.name,{type:s.type});return i.set(s,n),g(n,s,e,i,r),n}if(s instanceof Blob){const n=new Blob([s],{type:s.type});return i.set(s,n),g(n,s,e,i,r),n}if(s instanceof Error){const n=new s.constructor;return i.set(s,n),n.message=s.message,n.name=s.name,n.stack=s.stack,n.cause=s.cause,g(n,s,e,i,r),n}if(typeof s==\"object\"&&te(s)){const n=Object.create(Object.getPrototypeOf(s));return i.set(s,n),g(n,s,e,i,r),n}return s}function g(s,t,e=s,i,r){const a=[...Object.keys(t),...it(t)];for(let n=0;n<a.length;n++){const c=a[n],h=Object.getOwnPropertyDescriptor(s,c);(h==null||h.writable)&&(s[c]=y(t[c],c,e,i,r))}}function te(s){switch(rt(s)){case ot:case Mt:case Bt:case Jt:case ct:case Ft:case Qt:case Zt:case Vt:case Xt:case Yt:case Lt:case at:case Gt:case _t:case xt:case nt:case Ut:case zt:case kt:case Wt:case Kt:return!0;default:return!1}}function ee(s,t){return Tt(s,(e,i,r,a)=>{const n=t?.(e,i,r,a);if(n!=null)return n;if(typeof s==\"object\")switch(Object.prototype.toString.call(s)){case at:case nt:case ct:{const c=new s.constructor(s?.valueOf());return g(c,s),c}case ot:{const c={};return g(c,s),c.length=s.length,c[Symbol.iterator]=s[Symbol.iterator],c}default:return}})}function ht(s){return ee(s)}function pt(s){return s!==null&&typeof s==\"object\"&&rt(s)===\"[object Arguments]\"}function se(s){return G(s)}function ie(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 re(s,...t){const e=t.slice(0,-1),i=t[t.length-1];let r=s;for(let a=0;a<e.length;a++){const n=e[a];r=U(r,n,i,new Map)}return r}function U(s,t,e,i){if(B(s)&&(s=Object(s)),t==null||typeof t!=\"object\")return s;if(i.has(t))return Rt(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 r=[...Object.keys(t),...it(t)];for(let a=0;a<r.length;a++){const n=r[a];let c=t[n],h=s[n];if(pt(c)&&(c={...c}),pt(h)&&(h={...h}),typeof Buffer<\"u\"&&Buffer.isBuffer(c)&&(c=ht(c)),Array.isArray(c))if(typeof h==\"object\"&&h!=null){const j=[],R=Reflect.ownKeys(h);for(let f=0;f<R.length;f++){const X=R[f];j[X]=h[X]}h=j}else h=[];const v=e(h,c,n,s,t,i);v!=null?s[n]=v:Array.isArray(c)||st(h)&&st(c)?s[n]=U(h,c,e,i):h==null&&ie(c)?s[n]=U({},c,e,i):h==null&&se(c)?s[n]=ht(c):(h===void 0||c!==void 0)&&(s[n]=c)}return s}function ne(s,...t){return re(s,...t,jt)}var ae=Object.defineProperty,ce=Object.defineProperties,oe=Object.getOwnPropertyDescriptors,dt=Object.getOwnPropertySymbols,he=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable,ut=(s,t,e)=>t in s?ae(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,F=(s,t)=>{for(var e in t||(t={}))he.call(t,e)&&ut(s,e,t[e]);if(dt)for(var e of dt(t))pe.call(t,e)&&ut(s,e,t[e]);return s},de=(s,t)=>ce(s,oe(t));function p(s,t,e){var i;const r=Q(s);return((i=t.rpcMap)==null?void 0:i[r.reference])||`${et}?chainId=${r.namespace}:${r.reference}&projectId=${e}`}function P(s){return s.includes(\":\")?s.split(\":\")[1]:s}function lt(s){return s.map(t=>`${t.split(\":\")[0]}:${t.split(\":\")[1]}`)}function ue(s,t){const e=Object.keys(t.namespaces).filter(r=>r.includes(s));if(!e.length)return[];const i=[];return e.forEach(r=>{const a=t.namespaces[r].accounts;i.push(...a)}),i}function J(s={},t={}){const e=ft(s),i=ft(t);return ne(e,i)}function ft(s){var t,e,i,r;const a={};if(!It(s))return a;for(const[n,c]of Object.entries(s)){const h=Y(n)?[n]:c.chains,v=c.methods||[],j=c.events||[],R=c.rpcMap||{},f=q(n);a[f]=de(F(F({},a[f]),c),{chains:M(h,(t=a[f])==null?void 0:t.chains),methods:M(v,(e=a[f])==null?void 0:e.methods),events:M(j,(i=a[f])==null?void 0:i.events),rpcMap:F(F({},R),(r=a[f])==null?void 0:r.rpcMap)})}return a}function le(s){return s.includes(\":\")?s.split(\":\")[2]:s}function mt(s){const t={};for(const[e,i]of Object.entries(s)){const r=i.methods||[],a=i.events||[],n=i.accounts||[],c=Y(e)?[e]:i.chains?i.chains:lt(i.accounts);t[e]={chains:c,methods:r,events:a,accounts:n}}return t}function z(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 vt={},o=s=>vt[s],k=(s,t)=>{vt[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,b=(s,t,e)=>me(s,typeof t!=\"symbol\"?t+\"\":t,e);class ve{constructor(t){b(this,\"name\",\"polkadot\"),b(this,\"client\"),b(this,\"httpProviders\"),b(this,\"events\"),b(this,\"namespace\"),b(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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 r=P(e);t[r]=this.createHttpProvider(r,(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||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"disableProviderPing\")))}}var ge=Object.defineProperty,Pe=Object.defineProperties,we=Object.getOwnPropertyDescriptors,gt=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,W=(s,t,e)=>t in s?ge(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,Pt=(s,t)=>{for(var e in t||(t={}))ye.call(t,e)&&W(s,e,t[e]);if(gt)for(var e of gt(t))be.call(t,e)&&W(s,e,t[e]);return s},wt=(s,t)=>Pe(s,we(t)),I=(s,t,e)=>W(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ie{constructor(t){I(this,\"name\",\"eip155\"),I(this,\"client\"),I(this,\"chainId\"),I(this,\"namespace\"),I(this,\"httpProviders\"),I(this,\"events\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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||p(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new At(i,o(\"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 r=parseInt(P(e));t[r]=this.createHttpProvider(r,(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 r=t.request.params?(e=t.request.params[0])==null?void 0:e.chainId:\"0x0\";r=r.startsWith(\"0x\")?r:`0x${r}`;const a=parseInt(r,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:r}]},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,r;const a=(i=(e=t.request)==null?void 0:e.params)==null?void 0:i[0];if(!a)throw new Error(\"Missing address parameter in `wallet_getCapabilities` request\");const n=this.client.session.get(t.topic),c=((r=n?.sessionProperties)==null?void 0:r.capabilities)||{};if(c!=null&&c[a])return c?.[a];const h=await this.client.request(t);try{await this.client.session.update(t.topic,{sessionProperties:wt(Pt({},n.sessionProperties||{}),{capabilities:wt(Pt({},c||{}),{[a]:h})})})}catch(v){console.warn(\"Failed to update session with capabilities\",v)}return h}async getCallStatus(t){var e,i;const r=this.client.session.get(t.topic),a=(e=r.sessionProperties)==null?void 0:e.bundler_name;if(a){const c=this.getBundlerUrl(t.chainId,a);try{return await this.getUserOperationReceipt(c,t)}catch(h){console.warn(\"Failed to fetch call status from bundler\",h,c)}}const n=(i=r.sessionProperties)==null?void 0:i.bundler_url;if(n)try{return await this.getUserOperationReceipt(n,t)}catch(c){console.warn(\"Failed to fetch call status from custom bundler\",c,n)}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 r=new URL(t),a=await fetch(r,{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`${qt}?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,$=(s,t,e)=>Oe(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ae{constructor(t){$(this,\"name\",\"solana\"),$(this,\"client\"),$(this,\"httpProviders\"),$(this,\"events\"),$(this,\"namespace\"),$(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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 r=P(e);t[r]=this.createHttpProvider(r,(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||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"disableProviderPing\")))}}var He=Object.defineProperty,Ee=(s,t,e)=>t in s?He(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,O=(s,t,e)=>Ee(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ce{constructor(t){O(this,\"name\",\"cosmos\"),O(this,\"client\"),O(this,\"httpProviders\"),O(this,\"events\"),O(this,\"namespace\"),O(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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 r=P(e);t[r]=this.createHttpProvider(r,(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||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"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,A=(s,t,e)=>Se(s,typeof t!=\"symbol\"?t+\"\":t,e);class De{constructor(t){A(this,\"name\",\"algorand\"),A(this,\"client\"),A(this,\"httpProviders\"),A(this,\"events\"),A(this,\"namespace\"),A(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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||p(`${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(d.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||p(t,this.namespace,this.client.core.projectId);return typeof i>\"u\"?void 0:new l(new m(i,o(\"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,H=(s,t,e)=>je(s,typeof t!=\"symbol\"?t+\"\":t,e);class Re{constructor(t){H(this,\"name\",\"cip34\"),H(this,\"client\"),H(this,\"httpProviders\"),H(this,\"events\"),H(this,\"namespace\"),H(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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),r=P(e);t[r]=this.createHttpProvider(r,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 l(new m(i,o(\"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,E=(s,t,e)=>Ue(s,typeof t!=\"symbol\"?t+\"\":t,e);class Fe{constructor(t){E(this,\"name\",\"elrond\"),E(this,\"client\"),E(this,\"httpProviders\"),E(this,\"events\"),E(this,\"namespace\"),E(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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 r=P(e);t[r]=this.createHttpProvider(r,(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||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"disableProviderPing\")))}}var Le=Object.defineProperty,xe=(s,t,e)=>t in s?Le(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,C=(s,t,e)=>xe(s,typeof t!=\"symbol\"?t+\"\":t,e);class Me{constructor(t){C(this,\"name\",\"multiversx\"),C(this,\"client\"),C(this,\"httpProviders\"),C(this,\"events\"),C(this,\"namespace\"),C(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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 r=P(e);t[r]=this.createHttpProvider(r,(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||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"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,N=(s,t,e)=>Ge(s,typeof t!=\"symbol\"?t+\"\":t,e);class Je{constructor(t){N(this,\"name\",\"near\"),N(this,\"client\"),N(this,\"httpProviders\"),N(this,\"events\"),N(this,\"namespace\"),N(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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||p(`${this.name}:${t}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.events.emit(d.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||p(t,this.namespace);return typeof i>\"u\"?void 0:new l(new m(i,o(\"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,S=(s,t,e)=>ke(s,typeof t!=\"symbol\"?t+\"\":t,e);class We{constructor(t){S(this,\"name\",\"tezos\"),S(this,\"client\"),S(this,\"httpProviders\"),S(this,\"events\"),S(this,\"namespace\"),S(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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||p(`${this.name}:${t}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.events.emit(d.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||p(t,this.namespace);return typeof i>\"u\"?void 0:new l(new m(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,D=(s,t,e)=>Ve(s,typeof t!=\"symbol\"?t+\"\":t,e);class Xe{constructor(t){D(this,\"name\",w),D(this,\"client\"),D(this,\"httpProviders\"),D(this,\"events\"),D(this,\"namespace\"),D(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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(r=>{const a=Q(r);i[`${a.namespace}:${a.reference}`]=this.createHttpProvider(r)}),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||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"disableProviderPing\")))}}var Ye=Object.defineProperty,Qe=Object.defineProperties,Ze=Object.getOwnPropertyDescriptors,yt=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,ts=Object.prototype.propertyIsEnumerable,K=(s,t,e)=>t in s?Ye(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,L=(s,t)=>{for(var e in t||(t={}))Te.call(t,e)&&K(s,e,t[e]);if(yt)for(var e of yt(t))ts.call(t,e)&&K(s,e,t[e]);return s},V=(s,t)=>Qe(s,Ze(t)),u=(s,t,e)=>K(s,typeof t!=\"symbol\"?t+\"\":t,e);class x{constructor(t){u(this,\"client\"),u(this,\"namespaces\"),u(this,\"optionalNamespaces\"),u(this,\"sessionProperties\"),u(this,\"scopedProperties\"),u(this,\"events\",new Ct),u(this,\"rpcProviders\",{}),u(this,\"session\"),u(this,\"providerOpts\"),u(this,\"logger\"),u(this,\"uri\"),u(this,\"disableProviderPing\",!1),this.providerOpts=t,this.logger=typeof t?.logger<\"u\"&&typeof t?.logger!=\"string\"?t.logger:$t(Ot({level:t?.logger||tt})),this.disableProviderPing=t?.disableProviderPing||!1}static async init(t){const e=new x(t);return await e.initialize(),e}async request(t,e,i){const[r,a]=this.validateChain(e);if(!this.session)throw new Error(\"Please call connect() before request()\");return await this.getProvider(r).request({request:L({},t),chainId:`${r}:${a}`,topic:this.session.topic,expiry:i})}sendAsync(t,e,i,r){const a=new Date().getTime();this.request(t,i,r).then(n=>e(null,Et(a,n))).catch(n=>e(n,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:Z(\"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:r}=await this.client.authenticate(t,e);i&&(this.uri=i,this.events.emit(\"display_uri\",i));const a=await r();if(this.session=a.session,this.session){const n=mt(this.session.namespaces);this.namespaces=J(this.namespaces,n),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 r=await i();this.session=r;const a=mt(r.namespaces);return this.namespaces=J(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,r]=this.validateChain(t),a=this.getProvider(i);a.name===w?a.setDefaultChain(`${i}:${r}`,e):a.setDefaultChain(r,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(T(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 bt.init({core:this.providerOpts.core,logger:this.providerOpts.logger||tt,relayUrl:this.providerOpts.relayUrl||Nt,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=>q(e)))];k(\"client\",this.client),k(\"events\",this.events),k(\"disableProviderPing\",this.disableProviderPing),t.forEach(e=>{if(!this.session)return;const i=ue(e,this.session),r=lt(i),a=J(this.namespaces,this.optionalNamespaces),n=V(L({},a[e]),{accounts:i,chains:r});switch(e){case\"eip155\":this.rpcProviders[e]=new Ie({namespace:n});break;case\"algorand\":this.rpcProviders[e]=new De({namespace:n});break;case\"solana\":this.rpcProviders[e]=new Ae({namespace:n});break;case\"cosmos\":this.rpcProviders[e]=new Ce({namespace:n});break;case\"polkadot\":this.rpcProviders[e]=new ve({namespace:n});break;case\"cip34\":this.rpcProviders[e]=new Re({namespace:n});break;case\"elrond\":this.rpcProviders[e]=new Fe({namespace:n});break;case\"multiversx\":this.rpcProviders[e]=new Me({namespace:n});break;case\"near\":this.rpcProviders[e]=new Je({namespace:n});break;case\"tezos\":this.rpcProviders[e]=new We({namespace:n});break;default:this.rpcProviders[w]?this.rpcProviders[w].updateNamespace(n):this.rpcProviders[w]=new Xe({namespace:n})}})}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:r}=t;if(r!==((e=this.session)==null?void 0:e.topic))return;const{event:a}=i;if(a.name===\"accountsChanged\"){const n=a.data;n&&T(n)&&this.events.emit(\"accountsChanged\",n.map(le))}else if(a.name===\"chainChanged\"){const n=i.chainId,c=i.event.data,h=q(n),v=z(n)!==z(c)?`${h}:${z(c)}`:n;this.onChainChanged(v)}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,r;if(t!==((i=this.session)==null?void 0:i.topic))return;const{namespaces:a}=e,n=(r=this.client)==null?void 0:r.session.get(t);this.session=V(L({},n),{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\",V(L({},Z(\"USER_DISCONNECTED\")),{data:t.topic})))}),this.on(d.DEFAULT_CHAIN_CHANGED,t=>{this.onChainChanged(t,!0)})}getProvider(t){return this.rpcProviders[t]||this.rpcProviders[w]}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:r,scopedProperties:a}=t;e&&Object.keys(e).length&&(this.namespaces=e),i&&Object.keys(i).length&&(this.optionalNamespaces=i),this.sessionProperties=r,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(n=>q(n)).includes(e))throw new Error(`Namespace '${e}' is not configured. Please call connect() first with namespace config.`);if(e&&i)return[e,i];const r=q(Object.keys(this.namespaces)[0]),a=this.rpcProviders[r].getDefaultChain();return[r,a]}async requestAccounts(){const[t]=this.validateChain();return await this.getProvider(t).requestAccounts()}async onChainChanged(t,e=!1){if(!this.namespaces)return;const[i,r]=this.validateChain(t);r&&(e||this.getProvider(i).setDefaultChain(r),this.namespaces[i]?this.namespaces[i].defaultChain=r:this.namespaces[`${i}:${r}`]?this.namespaces[`${i}:${r}`].defaultChain=r:this.namespaces[`${i}:${r}`]={defaultChain:r},this.events.emit(\"chainChanged\",r),await this.persist(\"namespaces\",this.namespaces))}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 r=((i=this.session)==null?void 0:i.topic)||\"\";await this.client.core.storage.setItem(`${_}/${t}${r}`,e)}async getFromStore(t){var e;const i=((e=this.session)==null?void 0:e.topic)||\"\";return await this.client.core.storage.getItem(`${_}/${t}${i}`)}async deleteFromStore(t){var e;const i=((e=this.session)==null?void 0:e.topic)||\"\";await this.client.core.storage.removeItem(`${_}/${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(_)&&await this.client.core.storage.removeItem(i)}catch(e){this.logger.warn(\"Failed to cleanup storage\",e)}}}const es=x;export{es as UniversalProvider,x as default};\n//# sourceMappingURL=index.es.js.map\n","import{EventEmitter as A}from\"events\";import{getAccountsFromNamespaces as b,getSdkError as S,isValidArray as E}from\"@walletconnect/utils\";import{UniversalProvider as R}from\"@walletconnect/universal-provider\";const T=\"wc\",$=\"ethereum_provider\",j=`${T}@2:${$}:`,q=\"https://rpc.walletconnect.org/v1/\",u=[\"eth_sendTransaction\",\"personal_sign\"],M=[\"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\"],m=[\"chainChanged\",\"accountsChanged\"],O=[\"chainChanged\",\"accountsChanged\",\"message\",\"disconnect\",\"connect\"];var N=Object.defineProperty,D=Object.defineProperties,U=Object.getOwnPropertyDescriptors,P=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,L=Object.prototype.propertyIsEnumerable,y=(a,t,s)=>t in a?N(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s,g=(a,t)=>{for(var s in t||(t={}))Q.call(t,s)&&y(a,s,t[s]);if(P)for(var s of P(t))L.call(t,s)&&y(a,s,t[s]);return a},_=(a,t)=>D(a,U(t)),o=(a,t,s)=>y(a,typeof t!=\"symbol\"?t+\"\":t,s);function v(a){return Number(a[0].split(\":\")[1])}function C(a){return`0x${a.toString(16)}`}function x(a){const{chains:t,optionalChains:s,methods:i,optionalMethods:e,events:n,optionalEvents:h,rpcMap:l}=a;if(!E(t))throw new Error(\"Invalid chains\");const r={chains:t,methods:i||u,events:n||m,rpcMap:g({},t.length?{[v(t)]:l[v(t)]}:{})},d=n?.filter(p=>!m.includes(p)),c=i?.filter(p=>!u.includes(p));if(!s&&!h&&!e&&!(d!=null&&d.length)&&!(c!=null&&c.length))return{required:t.length?r:void 0};const I=d?.length&&c?.length||!s,f={chains:[...new Set(I?r.chains.concat(s||[]):s)],methods:[...new Set(r.methods.concat(e!=null&&e.length?e:M))],events:[...new Set(r.events.concat(h!=null&&h.length?h:O))],rpcMap:l};return{required:t.length?r:void 0,optional:s.length?f:void 0}}class w{constructor(){o(this,\"events\",new A),o(this,\"namespace\",\"eip155\"),o(this,\"accounts\",[]),o(this,\"signer\"),o(this,\"chainId\",1),o(this,\"modal\"),o(this,\"rpc\"),o(this,\"STORAGE_KEY\",j),o(this,\"on\",(t,s)=>(this.events.on(t,s),this)),o(this,\"once\",(t,s)=>(this.events.once(t,s),this)),o(this,\"removeListener\",(t,s)=>(this.events.removeListener(t,s),this)),o(this,\"off\",(t,s)=>(this.events.off(t,s),this)),o(this,\"parseAccount\",t=>this.isCompatibleChainId(t)?this.parseAccountId(t).address:t),this.signer={},this.rpc={}}static async init(t){const s=new w;return await s.initialize(t),s}async request(t,s){return await this.signer.request(t,this.formatChainId(this.chainId),s)}sendAsync(t,s,i){this.signer.sendAsync(t,s,this.formatChainId(this.chainId),i)}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){if(!this.signer.client)throw new Error(\"Provider not initialized. Call init() first\");this.loadConnectOpts(t);const{required:s,optional:i}=x(this.rpc);try{const e=await new Promise(async(h,l)=>{var r;this.rpc.showQrModal&&((r=this.modal)==null||r.subscribeModal(c=>{!c.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),l(new Error(\"Connection request reset. Please try again.\")))}));const d=t!=null&&t.scopedProperties?{[this.namespace]:t.scopedProperties}:void 0;await this.signer.connect(_(g({namespaces:g({},s&&{[this.namespace]:s})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:t?.pairingTopic,scopedProperties:d})).then(c=>{h(c)}).catch(c=>{l(new Error(c.message))})});if(!e)return;const n=b(e.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:n),this.setAccounts(n),this.events.emit(\"connect\",{chainId:C(this.chainId)})}catch(e){throw this.signer.logger.error(e),e}finally{this.modal&&this.modal.closeModal()}}async authenticate(t,s){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(n,h)=>{var l;this.rpc.showQrModal&&((l=this.modal)==null||l.subscribeModal(r=>{!r.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),h(new Error(\"Connection request reset. Please try again.\")))})),await this.signer.authenticate(_(g({},t),{chains:this.rpc.chains}),s).then(r=>{n(r)}).catch(r=>{h(new Error(r.message))})}),e=i.session;if(e){const n=b(e.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:n),this.setAccounts(n),this.events.emit(\"connect\",{chainId:C(this.chainId)})}return i}catch(i){throw this.signer.logger.error(i),i}finally{this.modal&&this.modal.closeModal()}}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:s}=t,{event:i}=s;i.name===\"accountsChanged\"?(this.accounts=this.parseAccounts(i.data),this.events.emit(\"accountsChanged\",this.accounts)):i.name===\"chainChanged\"?this.setChainId(this.formatChainId(i.data)):this.events.emit(i.name,i.data),this.events.emit(\"session_event\",t)}),this.signer.on(\"chainChanged\",t=>{const s=parseInt(t);this.chainId=s,this.events.emit(\"chainChanged\",C(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\",_(g({},S(\"USER_DISCONNECTED\")),{data:t.topic,name:\"USER_DISCONNECTED\"}))}),this.signer.on(\"display_uri\",t=>{var s,i;this.rpc.showQrModal&&((s=this.modal)==null||s.closeModal(),(i=this.modal)==null||i.openModal({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 s=t.filter(i=>this.isCompatibleChainId(i)).map(i=>this.parseChainId(i));s.length&&(this.chainId=s[0],this.events.emit(\"chainChanged\",C(this.chainId)),this.persist())}setChainId(t){if(this.isCompatibleChainId(t)){const s=this.parseChainId(t);this.chainId=s,this.switchEthereumChain(s)}}parseAccountId(t){const[s,i,e]=t.split(\":\");return{chainId:`${s}:${i}`,address:e}}setAccounts(t){this.accounts=t.filter(s=>this.parseChainId(this.parseAccountId(s).chainId)===this.chainId).map(s=>this.parseAccountId(s).address),this.events.emit(\"accountsChanged\",this.accounts)}getRpcConfig(t){var s,i;const e=(s=t?.chains)!=null?s:[],n=(i=t?.optionalChains)!=null?i:[],h=e.concat(n);if(!h.length)throw new Error(\"No chains specified in either `chains` or `optionalChains`\");const l=e.length?t?.methods||u:[],r=e.length?t?.events||m:[],d=t?.optionalMethods||[],c=t?.optionalEvents||[],I=t?.rpcMap||this.buildRpcMap(h,t.projectId),f=t?.qrModalOptions||void 0;return{chains:e?.map(p=>this.formatChainId(p)),optionalChains:n.map(p=>this.formatChainId(p)),methods:l,events:r,optionalMethods:d,optionalEvents:c,rpcMap:I,showQrModal:!!(t!=null&&t.showQrModal),qrModalOptions:f,projectId:t.projectId,metadata:t.metadata}}buildRpcMap(t,s){const i={};return t.forEach(e=>{i[e]=this.getRpcUrl(e,s)}),i}async initialize(t){if(this.rpc=this.getRpcConfig(t),this.chainId=this.rpc.chains.length?v(this.rpc.chains):v(this.rpc.optionalChains),this.signer=await R.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 s;try{const{WalletConnectModal:i}=await import(\"@walletconnect/modal\");s=i}catch{throw new Error(\"To use QR modal, please install @walletconnect/modal package\")}if(s)try{this.modal=new s(g({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(i){throw this.signer.logger.error(i),new Error(\"Could not generate WalletConnectModal Instance\")}}}loadConnectOpts(t){if(!t)return;const{chains:s,optionalChains:i,rpcMap:e}=t;s&&E(s)&&(this.rpc.chains=s.map(n=>this.formatChainId(n)),s.forEach(n=>{this.rpc.rpcMap[n]=e?.[n]||this.getRpcUrl(n)})),i&&E(i)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=i?.map(n=>this.formatChainId(n)),i.forEach(n=>{this.rpc.rpcMap[n]=e?.[n]||this.getRpcUrl(n)}))}getRpcUrl(t,s){var i;return((i=this.rpc.rpcMap)==null?void 0:i[t])||`${q}?chainId=eip155:${t}&projectId=${s||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{const t=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),s=this.session.namespaces[`${this.namespace}:${t}`]?this.session.namespaces[`${this.namespace}:${t}`]:this.session.namespaces[this.namespace];this.setChainIds(t?[this.formatChainId(t)]:s?.accounts),this.setAccounts(s?.accounts)}catch(t){this.signer.logger.error(\"Failed to load persisted session, clearing state...\"),this.signer.logger.error(t),await this.disconnect().catch(s=>this.signer.logger.warn(s))}}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(s=>this.parseAccount(s))}}const z=w;export{z as EthereumProvider,O as OPTIONAL_EVENTS,M as OPTIONAL_METHODS,m as REQUIRED_EVENTS,u as REQUIRED_METHODS,w as default};\n//# sourceMappingURL=index.es.js.map\n"],"names":["_a","fn","size","i","size_","encoder","j","to","r","v","yParityOrV","recoveryBit","Pe","Ye","Kr","o","Be","Ft","H","Gt","et","process","ne","ze","Ct","zr","Jr","Ae","ue","Yr","Wt","Xr","Lr","zt","Pr","Jt","kt","Yt","c","u","f","d","re","ro","oo","ao","jt","We","uo","tt","fo","lo","ho","po","Br","go","yo","Q","mo","en","tn","on","rn","nn","bo","wo","Eo","vo","rt","xo","Ne","Io","je","ot","me","sn","Ce","cn","Oo","Ao","No","So","Uo","_o","be","To","st","J","an","$o","un","Ro","we","Se","ln","dn","hn","Po","Ue","Bo","Lo","jo","Co","ko","Do","pn","gn","Mo","g","it","Vo","Lt","Ho","Ko","ct","yn","mn","bn","jr","Fo","y","qo","Cr","Go","Wo","zo","wn","Jo","Yo","En","at","vn","ke","xn","In","ut","On","h","Me","oe","dt","Un","_n","Y","Tn","ft","De","lt","Rn","ht","Bn","F","Ln","jn","se","pt","gt","Cn","kn","Ee","Dn","bs","x","yt","Ve","Mn","Vn","m","L","b","vs","O","_","M","k","E","B","I","w","R","A","T","N","S","U","$","p","C","D","P","G","he","pe","ge","ye","Is","Os","xs","As","Ns","Hn","Kn","Fn","mt","qn","Ts","Gn","Rs","Ps","Ls","Cs","ie","ce","He","ks","Wn","wt","zn","Ds","Vs","ee","Jn","Yn","Xn","Zn","Et","Qn","qs","ve","Ke","er","z","xe","vt","xt","tr","Xs","Qs","ei","It","Ot","V","At","ti","Ie","Nt","Oe","_e","ni","nr","Te","St","ri","K","oi","si","W","ii","ci","Ut","fe","ai","_t","ui","Fe","fi","li","Je","di","rr","hi","pi","or","Dr","gi","yi","mi","kr","sr","bi","wi","Mr","ir","Ei","cr","ar","vi","xi","le","lr","dr","hr","Tt","pr","gr","Ri","yr","mr","te","de","$e","qe","ae","q","Ge","Pi","Re","br","Bi","Li","ji","Ci","Rt","wr","Er","vr","xr","Ir","Pt","ki","Or","Ar","Di","Mi","Vi","Ki","Fi","qi","zi","Nr","Sr","Ur","_r","Tr","$r","Rr","Bt","Le","cs","Mt","Kt","Vt","qt","Xt","Zt","Qt","De.generateKeyPair","De.encodeIss","ls","De.signJWT","us","ds","gs","hs","nt","ps","ys","ms","fs","Us","Xi","Zi","Z","X","Qi","ws","es","Yi","_s","Es","Ms","Bs","Dt","Xe","ts","Gi","Fs","Ks","Ss","is","ss","$s","rs","zs","ns","Ze","os","bt","js","Qe","as","Ji","Wi","Hi","Ht","$t","l"],"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]}
1
+ {"version":3,"file":"index.es-B6e5RxLw.js","sources":["../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/data/isHex.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/data/size.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/errors/version.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/errors/base.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/errors/data.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/data/pad.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/errors/encoding.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/encoding/fromHex.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/encoding/toHex.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/encoding/toBytes.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/hash/keccak256.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/lru.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/address/getAddress.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/accounts/utils/publicKeyToAddress.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/signature/recoverPublicKey.js","../../../node_modules/.pnpm/viem@2.23.2_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/_esm/utils/signature/recoverAddress.js","../../../node_modules/.pnpm/@walletconnect+utils@2.19.1_bufferutil@4.0.9_db0@0.3.1_ioredis@5.6.0_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/@walletconnect/utils/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+core@2.19.1_bufferutil@4.0.9_db0@0.3.1_ioredis@5.6.0_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/@walletconnect/core/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+sign-client@2.19.1_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/@walletconnect/sign-client/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+universal-provider@2.19.1_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.23.8/node_modules/@walletconnect/universal-provider/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+ethereum-provider@2.19.1_@types+react@19.0.0_bufferutil@4.0.9_react@19.0.0_typ_akdrdcpjzopftrfayrhsmfx74m/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","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","import{detect as Pr}from\"detect-browser\";import{toMiliseconds as We,FIVE_MINUTES as jt,fromMiliseconds as Br}from\"@walletconnect/time\";import{getDocument as ze,getNavigator as Ct,getLocation as kt}from\"@walletconnect/window-getters\";import{getWindowMetadata as Lr}from\"@walletconnect/window-metadata\";import{recoverAddress as jr}from\"viem\";import Cr from\"bs58\";import{decodeJWT as kr}from\"@walletconnect/relay-auth\";import{toString as K,fromString as W,concat as Je}from\"uint8arrays\";import{ec as Dr}from\"elliptic\";import{RELAY_JSONRPC as Mr}from\"@walletconnect/relay-api\";const Pe=\":\";function Ye(e){const[t,n]=e.split(Pe);return{namespace:t,reference:n}}function Dt(e){const{namespace:t,reference:n}=e;return[t,n].join(Pe)}function Xe(e){const[t,n,r]=e.split(Pe);return{namespace:t,reference:n,address:r}}function Mt(e){const{namespace:t,reference:n,address:r}=e;return[t,n,r].join(Pe)}function Ze(e,t){const n=[];return e.forEach(r=>{const o=t(r);n.includes(o)||n.push(o)}),n}function Vt(e){const{address:t}=Xe(e);return t}function Ht(e){const{namespace:t,reference:n}=Xe(e);return Dt({namespace:t,reference:n})}function Vr(e,t){const{namespace:n,reference:r}=Ye(t);return Mt({namespace:n,reference:r,address:e})}function Hr(e){return Ze(e,Vt)}function Kt(e){return Ze(e,Ht)}function Kr(e,t=[]){const n=[];return Object.keys(e).forEach(r=>{if(t.length&&!t.includes(r))return;const o=e[r];n.push(...o.accounts)}),n}function Fr(e,t=[]){const n=[];return Object.keys(e).forEach(r=>{if(t.length&&!t.includes(r))return;const o=e[r];n.push(...Kt(o.accounts))}),n}function qr(e,t=[]){const n=[];return Object.keys(e).forEach(r=>{if(t.length&&!t.includes(r))return;const o=e[r];n.push(...Be(r,o))}),n}function Be(e,t){return e.includes(\":\")?[e]:t.chains||[]}const Ft=\"ReactNative\",H={reactNative:\"react-native\",node:\"node\",browser:\"browser\",unknown:\"unknown\"},Le=\" \",Gr=\":\",qt=\"/\",Qe=2,Wr=1e3,Gt=\"js\";function et(){return typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.node<\"u\"}function ne(){return!ze()&&!!Ct()&&navigator.product===Ft}function zr(){return ne()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"&&(global==null?void 0:global.Platform.OS)===\"android\"}function Jr(){return ne()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"&&(global==null?void 0:global.Platform.OS)===\"ios\"}function Ae(){return!et()&&!!Ct()&&!!ze()}function ue(){return ne()?H.reactNative:et()?H.node:Ae()?H.browser:H.unknown}function Yr(){var e;try{return ne()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Application)<\"u\"?(e=global.Application)==null?void 0:e.applicationId:void 0}catch{return}}function Wt(e,t){const n=new URLSearchParams(e);for(const r of Object.keys(t).sort())if(t.hasOwnProperty(r)){const o=t[r];o!==void 0&&n.set(r,o)}return n.toString()}function Xr(){return Lr()||{name:\"\",description:\"\",url:\"\",icons:[\"\"]}}function Zr(e,t){var n;const r=ue(),o={protocol:e,version:t,env:r};return r===\"browser\"&&(o.host=((n=kt())==null?void 0:n.host)||\"unknown\"),o}function zt(){if(ue()===H.reactNative&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"){const{OS:n,Version:r}=global.Platform;return[n,r].join(\"-\")}const e=Pr();if(e===null)return\"unknown\";const t=e.os?e.os.replace(\" \",\"\").toLowerCase():\"unknown\";return e.type===\"browser\"?[t,e.name,e.version].join(\"-\"):[t,e.version].join(\"-\")}function Jt(){var e;const t=ue();return t===H.browser?[t,((e=kt())==null?void 0:e.host)||\"unknown\"].join(\":\"):t}function Yt(e,t,n){const r=zt(),o=Jt();return[[e,t].join(\"-\"),[Gt,n].join(\"-\"),r,o].join(\"/\")}function Qr({protocol:e,version:t,relayUrl:n,sdkVersion:r,auth:o,projectId:s,useOnCloseEvent:i,bundleId:c,packageName:u}){const a=n.split(\"?\"),l=Yt(e,t,r),f={auth:o,ua:l,projectId:s,useOnCloseEvent:i||void 0,packageName:u||void 0,bundleId:c||void 0},d=Wt(a[1]||\"\",f);return a[0]+\"?\"+d}function eo(e){let t=(e.match(/^[^:]+(?=:\\/\\/)/gi)||[])[0];const n=typeof t<\"u\"?e.split(\"://\")[1]:e;return t=t===\"wss\"?\"https\":\"http\",[t,n].join(\"://\")}function to(e,t,n){if(!e[t]||typeof e[t]!==n)throw new Error(`Missing or invalid \"${t}\" param`)}function Xt(e,t=Qe){return Zt(e.split(qt),t)}function no(e){return Xt(e).join(Le)}function re(e,t){return e.filter(n=>t.includes(n)).length===e.length}function Zt(e,t=Qe){return e.slice(Math.max(e.length-t,0))}function ro(e){return Object.fromEntries(e.entries())}function oo(e){return new Map(Object.entries(e))}function so(e,t){const n={};return Object.keys(e).forEach(r=>{n[r]=t(e[r])}),n}const io=e=>e;function Qt(e){return e.trim().replace(/^\\w/,t=>t.toUpperCase())}function co(e){return e.split(Le).map(t=>Qt(t)).join(Le)}function ao(e=jt,t){const n=We(e||jt);let r,o,s,i;return{resolve:c=>{s&&r&&(clearTimeout(s),r(c),i=Promise.resolve(c))},reject:c=>{s&&o&&(clearTimeout(s),o(c))},done:()=>new Promise((c,u)=>{if(i)return c(i);s=setTimeout(()=>{const a=new Error(t);i=Promise.reject(a),u(a)},n),r=c,o=u})}}function uo(e,t,n){return new Promise(async(r,o)=>{const s=setTimeout(()=>o(new Error(n)),t);try{const i=await e;r(i)}catch(i){o(i)}clearTimeout(s)})}function tt(e,t){if(typeof t==\"string\"&&t.startsWith(`${e}:`))return t;if(e.toLowerCase()===\"topic\"){if(typeof t!=\"string\")throw new Error('Value must be \"string\" for expirer target type: topic');return`topic:${t}`}else if(e.toLowerCase()===\"id\"){if(typeof t!=\"number\")throw new Error('Value must be \"number\" for expirer target type: id');return`id:${t}`}throw new Error(`Unknown expirer target type: ${e}`)}function fo(e){return tt(\"topic\",e)}function lo(e){return tt(\"id\",e)}function ho(e){const[t,n]=e.split(\":\"),r={id:void 0,topic:void 0};if(t===\"topic\"&&typeof n==\"string\")r.topic=n;else if(t===\"id\"&&Number.isInteger(Number(n)))r.id=Number(n);else throw new Error(`Invalid target, expected id:number or topic:string, got ${t}:${n}`);return r}function po(e,t){return Br((t||Date.now())+We(e))}function go(e){return Date.now()>=We(e)}function yo(e,t){return`${e}${t?`:${t}`:\"\"}`}function Q(e=[],t=[]){return[...new Set([...e,...t])]}async function mo({id:e,topic:t,wcDeepLink:n}){var r;try{if(!n)return;const o=typeof n==\"string\"?JSON.parse(n):n,s=o?.href;if(typeof s!=\"string\")return;const i=en(s,e,t),c=ue();if(c===H.browser){if(!((r=ze())!=null&&r.hasFocus())){console.warn(\"Document does not have focus, skipping deeplink.\");return}tn(i)}else c===H.reactNative&&typeof(global==null?void 0:global.Linking)<\"u\"&&await global.Linking.openURL(i)}catch(o){console.error(o)}}function en(e,t,n){const r=`requestId=${t}&sessionTopic=${n}`;e.endsWith(\"/\")&&(e=e.slice(0,-1));let o=`${e}`;if(e.startsWith(\"https://t.me\")){const s=e.includes(\"?\")?\"&startapp=\":\"?startapp=\";o=`${o}${s}${on(r,!0)}`}else o=`${o}/wc?${r}`;return o}function tn(e){let t=\"_self\";rn()?t=\"_top\":(nn()||e.startsWith(\"https://\")||e.startsWith(\"http://\"))&&(t=\"_blank\"),window.open(e,t,\"noreferrer noopener\")}async function bo(e,t){let n=\"\";try{if(Ae()&&(n=localStorage.getItem(t),n))return n;n=await e.getItem(t)}catch(r){console.error(r)}return n}function nt(e,t){return e.filter(n=>t.includes(n))}function wo(e,t){if(!e.includes(t))return null;const n=e.split(/([&,?,=])/),r=n.indexOf(t);return n[r+2]}function Eo(){return typeof crypto<\"u\"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/gu,e=>{const t=Math.random()*16|0;return(e===\"x\"?t:t&3|8).toString(16)})}function vo(){return typeof process<\"u\"&&process.env.IS_VITEST===\"true\"}function nn(){return typeof window<\"u\"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function rn(){try{return window.self!==window.top}catch{return!1}}function on(e,t=!1){const n=Buffer.from(e).toString(\"base64\");return t?n.replace(/[=]/g,\"\"):n}function rt(e){return Buffer.from(e,\"base64\").toString(\"utf-8\")}function xo(e){return new Promise(t=>setTimeout(t,e))}function Ne(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(\"positive integer expected, got \"+e)}function Io(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===\"Uint8Array\"}function je(e,...t){if(!Io(e))throw new Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw new Error(\"Uint8Array expected of length \"+t+\", got length=\"+e.length)}function ot(e){if(typeof e!=\"function\"||typeof e.create!=\"function\")throw new Error(\"Hash should be wrapped by utils.wrapConstructor\");Ne(e.outputLen),Ne(e.blockLen)}function me(e,t=!0){if(e.destroyed)throw new Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw new Error(\"Hash#digest() has already been called\")}function sn(e,t){je(e);const n=t.outputLen;if(e.length<n)throw new Error(\"digestInto() expects output buffer of length at least \"+n)}const Ce=BigInt(2**32-1),cn=BigInt(32);function Oo(e,t=!1){return t?{h:Number(e&Ce),l:Number(e>>cn&Ce)}:{h:Number(e>>cn&Ce)|0,l:Number(e&Ce)|0}}function Ao(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let o=0;o<e.length;o++){const{h:s,l:i}=Oo(e[o],t);[n[o],r[o]]=[s,i]}return[n,r]}const No=(e,t,n)=>e<<n|t>>>32-n,So=(e,t,n)=>t<<n|e>>>32-n,Uo=(e,t,n)=>t<<n-32|e>>>64-n,_o=(e,t,n)=>e<<n-32|t>>>64-n,be=typeof globalThis==\"object\"&&\"crypto\"in globalThis?globalThis.crypto:void 0;function To(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function st(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function J(e,t){return e<<32-t|e>>>t}const an=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function $o(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function un(e){for(let t=0;t<e.length;t++)e[t]=$o(e[t])}function Ro(e){if(typeof e!=\"string\")throw new Error(\"utf8ToBytes expected string, got \"+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function we(e){return typeof e==\"string\"&&(e=Ro(e)),je(e),e}class it{clone(){return this._cloneInto()}}function fn(e){const t=r=>e().update(we(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Se(e=32){if(be&&typeof be.getRandomValues==\"function\")return be.getRandomValues(new Uint8Array(e));if(be&&typeof be.randomBytes==\"function\")return be.randomBytes(e);throw new Error(\"crypto.getRandomValues must be defined\")}const ln=[],dn=[],hn=[],Po=BigInt(0),Ue=BigInt(1),Bo=BigInt(2),Lo=BigInt(7),jo=BigInt(256),Co=BigInt(113);for(let e=0,t=Ue,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],ln.push(2*(5*r+n)),dn.push((e+1)*(e+2)/2%64);let o=Po;for(let s=0;s<7;s++)t=(t<<Ue^(t>>Lo)*Co)%jo,t&Bo&&(o^=Ue<<(Ue<<BigInt(s))-Ue);hn.push(o)}const[ko,Do]=Ao(hn,!0),pn=(e,t,n)=>n>32?Uo(e,t,n):No(e,t,n),gn=(e,t,n)=>n>32?_o(e,t,n):So(e,t,n);function Mo(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){const c=(i+8)%10,u=(i+2)%10,a=n[u],l=n[u+1],f=pn(a,l,1)^n[c],d=gn(a,l,1)^n[c+1];for(let g=0;g<50;g+=10)e[i+g]^=f,e[i+g+1]^=d}let o=e[2],s=e[3];for(let i=0;i<24;i++){const c=dn[i],u=pn(o,s,c),a=gn(o,s,c),l=ln[i];o=e[l],s=e[l+1],e[l]=u,e[l+1]=a}for(let i=0;i<50;i+=10){for(let c=0;c<10;c++)n[c]=e[i+c];for(let c=0;c<10;c++)e[i+c]^=~n[(c+2)%10]&n[(c+4)%10]}e[0]^=ko[r],e[1]^=Do[r]}n.fill(0)}class Lt extends it{constructor(t,n,r,o=!1,s=24){if(super(),this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=o,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Ne(r),0>=this.blockLen||this.blockLen>=200)throw new Error(\"Sha3 supports only keccak-f1600 function\");this.state=new Uint8Array(200),this.state32=To(this.state)}keccak(){an||un(this.state32),Mo(this.state32,this.rounds),an||un(this.state32),this.posOut=0,this.pos=0}update(t){me(this);const{blockLen:n,state:r}=this;t=we(t);const o=t.length;for(let s=0;s<o;){const i=Math.min(n-this.pos,o-s);for(let c=0;c<i;c++)r[this.pos++]^=t[s++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:r,blockLen:o}=this;t[r]^=n,(n&128)!==0&&r===o-1&&this.keccak(),t[o-1]^=128,this.keccak()}writeInto(t){me(this,!1),je(t),this.finish();const n=this.state,{blockLen:r}=this;for(let o=0,s=t.length;o<s;){this.posOut>=r&&this.keccak();const i=Math.min(r-this.posOut,s-o);t.set(n.subarray(this.posOut,this.posOut+i),o),this.posOut+=i,o+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error(\"XOF is not possible for this instance\");return this.writeInto(t)}xof(t){return Ne(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(sn(t,this),this.finished)throw new Error(\"digest() was already called\");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:o,rounds:s,enableXOF:i}=this;return t||(t=new Lt(n,r,o,i,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=r,t.outputLen=o,t.enableXOF=i,t.destroyed=this.destroyed,t}}const Vo=(e,t,n)=>fn(()=>new Lt(t,e,n)),Ho=Vo(1,136,256/8),Ko=\"https://rpc.walletconnect.org/v1\";function ct(e){const t=`\u0019Ethereum Signed Message:\n${e.length}`,n=new TextEncoder().encode(t+e);return\"0x\"+Buffer.from(Ho(n)).toString(\"hex\")}async function yn(e,t,n,r,o,s){switch(n.t){case\"eip191\":return await mn(e,t,n.s);case\"eip1271\":return await bn(e,t,n.s,r,o,s);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${n.t}`)}}async function mn(e,t,n){return(await jr({hash:ct(t),signature:n})).toLowerCase()===e.toLowerCase()}async function bn(e,t,n,r,o,s){const i=Ye(r);if(!i.namespace||!i.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${r}`);try{const c=\"0x1626ba7e\",u=\"0000000000000000000000000000000000000000000000000000000000000040\",a=\"0000000000000000000000000000000000000000000000000000000000000041\",l=n.substring(2),f=ct(t).substring(2),d=c+f+u+a+l,g=await fetch(`${s||Ko}/?chainId=${r}&projectId=${o}`,{method:\"POST\",body:JSON.stringify({id:Fo(),jsonrpc:\"2.0\",method:\"eth_call\",params:[{to:e,data:d},\"latest\"]})}),{result:y}=await g.json();return y?y.slice(0,c.length).toLowerCase()===c.toLowerCase():!1}catch(c){return console.error(\"isValidEip1271Signature: \",c),!1}}function Fo(){return Date.now()+Math.floor(Math.random()*1e3)}function qo(e){const t=atob(e),n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=t.charCodeAt(i);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 s=Buffer.from(e,\"base64\").slice(1,65);return Cr.encode(s)}var Go=Object.defineProperty,Wo=Object.defineProperties,zo=Object.getOwnPropertyDescriptors,wn=Object.getOwnPropertySymbols,Jo=Object.prototype.hasOwnProperty,Yo=Object.prototype.propertyIsEnumerable,En=(e,t,n)=>t in e?Go(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,at=(e,t)=>{for(var n in t||(t={}))Jo.call(t,n)&&En(e,n,t[n]);if(wn)for(var n of wn(t))Yo.call(t,n)&&En(e,n,t[n]);return e},vn=(e,t)=>Wo(e,zo(t));const Xo=\"did:pkh:\",ke=e=>e?.split(\":\"),xn=e=>{const t=e&&ke(e);if(t)return e.includes(Xo)?t[3]:t[1]},In=e=>{const t=e&&ke(e);if(t)return t[2]+\":\"+t[3]},ut=e=>{const t=e&&ke(e);if(t)return t.pop()};async function Zo(e){const{cacao:t,projectId:n}=e,{s:r,p:o}=t,s=On(o,o.iss),i=ut(o.iss);return await yn(i,s,r,In(o.iss),n)}const On=(e,t)=>{const n=`${e.domain} wants you to sign in with your Ethereum account:`,r=ut(t);if(!e.aud&&!e.uri)throw new Error(\"Either `aud` or `uri` is required to construct the message\");let o=e.statement||void 0;const s=`URI: ${e.aud||e.uri}`,i=`Version: ${e.version}`,c=`Chain ID: ${xn(t)}`,u=`Nonce: ${e.nonce}`,a=`Issued At: ${e.iat}`,l=e.exp?`Expiration Time: ${e.exp}`:void 0,f=e.nbf?`Not Before: ${e.nbf}`:void 0,d=e.requestId?`Request ID: ${e.requestId}`:void 0,g=e.resources?`Resources:${e.resources.map(h=>`\n- ${h}`).join(\"\")}`:void 0,y=Me(e.resources);if(y){const h=oe(y);o=dt(o,h)}return[n,r,\"\",o,\"\",s,i,c,u,a,l,f,d,g].filter(h=>h!=null).join(`\n`)};function Qo(e,t,n){return n.includes(\"did:pkh:\")||(n=`did:pkh:${n}`),{h:{t:\"caip122\"},p:{iss:n,domain:e.domain,aud:e.aud,version:e.version,nonce:e.nonce,iat:e.iat,statement:e.statement,requestId:e.requestId,resources:e.resources,nbf:e.nbf,exp:e.exp},s:t}}function es(e){var t;const{authPayload:n,chains:r,methods:o}=e,s=n.statement||\"\";if(!(r!=null&&r.length))return n;const i=n.chains,c=nt(i,r);if(!(c!=null&&c.length))throw new Error(\"No supported chains\");const u=An(n.resources);if(!u)return n;Y(u);const a=Nn(u,\"eip155\");let l=n?.resources||[];if(a!=null&&a.length){const f=Sn(a),d=nt(f,o);if(!(d!=null&&d.length))throw new Error(`Supported methods don't satisfy the requested: ${JSON.stringify(f)}, supported: ${JSON.stringify(o)}`);const g=ft(\"request\",d,{chains:c}),y=$n(u,\"eip155\",g);l=((t=n?.resources)==null?void 0:t.slice(0,-1))||[],l.push(De(y))}return vn(at({},n),{statement:Pn(s,Me(l)),chains:c,resources:n!=null&&n.resources||l.length>0?l:void 0})}function An(e){const t=Me(e);if(t&&lt(t))return oe(t)}function ts(e,t){var n;return(n=e?.att)==null?void 0:n.hasOwnProperty(t)}function Nn(e,t){var n,r;return(n=e?.att)!=null&&n[t]?Object.keys((r=e?.att)==null?void 0:r[t]):[]}function ns(e){return e?.map(t=>Object.keys(t))||[]}function Sn(e){return e?.map(t=>{var n;return(n=t.split(\"/\"))==null?void 0:n[1]})||[]}function Un(e){return Buffer.from(JSON.stringify(e)).toString(\"base64\")}function _n(e){return JSON.parse(Buffer.from(e,\"base64\").toString(\"utf-8\"))}function Y(e){if(!e)throw new Error(\"No recap provided, value is undefined\");if(!e.att)throw new Error(\"No `att` property found\");const t=Object.keys(e.att);if(!(t!=null&&t.length))throw new Error(\"No resources found in `att` property\");t.forEach(n=>{const r=e.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 s=r[o];if(!Array.isArray(s))throw new Error(`Ability limits ${o} must be an array of objects, found: ${s}`);if(!s.length)throw new Error(`Value of ${o} is empty array, must be an array with objects`);s.forEach(i=>{if(typeof i!=\"object\")throw new Error(`Ability limits (${o}) must be an array of objects, found: ${i}`)})})})}function Tn(e,t,n,r={}){return n?.sort((o,s)=>o.localeCompare(s)),{att:{[e]:ft(t,n,r)}}}function $n(e,t,n){var r;e.att[t]=at({},n);const o=(r=Object.keys(e.att))==null?void 0:r.sort((i,c)=>i.localeCompare(c)),s={att:{}};return o.reduce((i,c)=>(i.att[c]=e.att[c],i),s)}function ft(e,t,n={}){t=t?.sort((o,s)=>o.localeCompare(s));const r=t.map(o=>({[`${e}/${o}`]:[n]}));return Object.assign({},...r)}function De(e){return Y(e),`urn:recap:${Un(e).replace(/=/g,\"\")}`}function oe(e){const t=_n(e.replace(\"urn:recap:\",\"\"));return Y(t),t}function rs(e,t,n){const r=Tn(e,t,n);return De(r)}function lt(e){return e&&e.includes(\"urn:recap:\")}function os(e,t){const n=oe(e),r=oe(t),o=Rn(n,r);return De(o)}function Rn(e,t){Y(e),Y(t);const n=Object.keys(e.att).concat(Object.keys(t.att)).sort((o,s)=>o.localeCompare(s)),r={att:{}};return n.forEach(o=>{var s,i;Object.keys(((s=e.att)==null?void 0:s[o])||{}).concat(Object.keys(((i=t.att)==null?void 0:i[o])||{})).sort((c,u)=>c.localeCompare(u)).forEach(c=>{var u,a;r.att[o]=vn(at({},r.att[o]),{[c]:((u=e.att[o])==null?void 0:u[c])||((a=t.att[o])==null?void 0:a[c])})})}),r}function dt(e=\"\",t){Y(t);const n=\"I further authorize the stated URI to perform the following actions on my behalf: \";if(e.includes(n))return e;const r=[];let o=0;Object.keys(t.att).forEach(c=>{const u=Object.keys(t.att[c]).map(f=>({ability:f.split(\"/\")[0],action:f.split(\"/\")[1]}));u.sort((f,d)=>f.action.localeCompare(d.action));const a={};u.forEach(f=>{a[f.ability]||(a[f.ability]=[]),a[f.ability].push(f.action)});const l=Object.keys(a).map(f=>(o++,`(${o}) '${f}': '${a[f].join(\"', '\")}' for '${c}'.`));r.push(l.join(\", \").replace(\".,\",\".\"))});const s=r.join(\" \"),i=`${n}${s}`;return`${e?e+\" \":\"\"}${i}`}function ss(e){var t;const n=oe(e);Y(n);const r=(t=n.att)==null?void 0:t.eip155;return r?Object.keys(r).map(o=>o.split(\"/\")[1]):[]}function is(e){const t=oe(e);Y(t);const n=[];return Object.values(t.att).forEach(r=>{Object.values(r).forEach(o=>{var s;(s=o?.[0])!=null&&s.chains&&n.push(o[0].chains)})}),[...new Set(n.flat())]}function Pn(e,t){if(!t)return e;const n=oe(t);return Y(n),dt(e,n)}function Me(e){if(!e)return;const t=e?.[e.length-1];return lt(t)?t:void 0}function ht(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(\"positive integer expected, got \"+e)}function Bn(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===\"Uint8Array\"}function F(e,...t){if(!Bn(e))throw new Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw new Error(\"Uint8Array expected of length \"+t+\", got length=\"+e.length)}function Ln(e,t=!0){if(e.destroyed)throw new Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw new Error(\"Hash#digest() has already been called\")}function cs(e,t){F(e);const n=t.outputLen;if(e.length<n)throw new Error(\"digestInto() expects output buffer of length at least \"+n)}function jn(e){if(typeof e!=\"boolean\")throw new Error(`boolean expected, not ${e}`)}const se=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),as=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),us=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!us)throw new Error(\"Non little-endian hardware is not supported\");function fs(e){if(typeof e!=\"string\")throw new Error(\"string expected\");return new Uint8Array(new TextEncoder().encode(e))}function pt(e){if(typeof e==\"string\")e=fs(e);else if(Bn(e))e=gt(e);else throw new Error(\"Uint8Array expected, got \"+typeof e);return e}function ls(e,t){if(t==null||typeof t!=\"object\")throw new Error(\"options must be defined\");return Object.assign(e,t)}function ds(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}const hs=(e,t)=>{function n(r,...o){if(F(r),e.nonceLength!==void 0){const l=o[0];if(!l)throw new Error(\"nonce / iv required\");e.varSizeNonce?F(l):F(l,e.nonceLength)}const s=e.tagLength;s&&o[1]!==void 0&&F(o[1]);const i=t(r,...o),c=(l,f)=>{if(f!==void 0){if(l!==2)throw new Error(\"cipher output not supported\");F(f)}};let u=!1;return{encrypt(l,f){if(u)throw new Error(\"cannot encrypt() twice with same key + nonce\");return u=!0,F(l),c(i.encrypt.length,f),i.encrypt(l,f)},decrypt(l,f){if(F(l),s&&l.length<s)throw new Error(\"invalid ciphertext length: smaller than tagLength=\"+s);return c(i.decrypt.length,f),i.decrypt(l,f)}}}return Object.assign(n,e),n};function Cn(e,t,n=!0){if(t===void 0)return new Uint8Array(e);if(t.length!==e)throw new Error(\"invalid output length, expected \"+e+\", got: \"+t.length);if(n&&!ps(t))throw new Error(\"invalid output, must be aligned\");return t}function kn(e,t,n,r){if(typeof e.setBigUint64==\"function\")return e.setBigUint64(t,n,r);const o=BigInt(32),s=BigInt(4294967295),i=Number(n>>o&s),c=Number(n&s),u=r?4:0,a=r?0:4;e.setUint32(t+u,i,r),e.setUint32(t+a,c,r)}function ps(e){return e.byteOffset%4===0}function gt(e){return Uint8Array.from(e)}function Ee(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}const Dn=e=>Uint8Array.from(e.split(\"\").map(t=>t.charCodeAt(0))),gs=Dn(\"expand 16-byte k\"),ys=Dn(\"expand 32-byte k\"),ms=se(gs),bs=se(ys);function x(e,t){return e<<t|e>>>32-t}function yt(e){return e.byteOffset%4===0}const Ve=64,ws=16,Mn=2**32-1,Vn=new Uint32Array;function Es(e,t,n,r,o,s,i,c){const u=o.length,a=new Uint8Array(Ve),l=se(a),f=yt(o)&&yt(s),d=f?se(o):Vn,g=f?se(s):Vn;for(let y=0;y<u;i++){if(e(t,n,r,l,i,c),i>=Mn)throw new Error(\"arx: counter overflow\");const h=Math.min(Ve,u-y);if(f&&h===Ve){const m=y/4;if(y%4!==0)throw new Error(\"arx: invalid block position\");for(let L=0,b;L<ws;L++)b=m+L,g[b]=d[b]^l[L];y+=Ve;continue}for(let m=0,L;m<h;m++)L=y+m,s[L]=o[L]^a[m];y+=h}}function vs(e,t){const{allowShortKeys:n,extendNonceFn:r,counterLength:o,counterRight:s,rounds:i}=ls({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=\"function\")throw new Error(\"core must be a function\");return ht(o),ht(i),jn(s),jn(n),(c,u,a,l,f=0)=>{F(c),F(u),F(a);const d=a.length;if(l===void 0&&(l=new Uint8Array(d)),F(l),ht(f),f<0||f>=Mn)throw new Error(\"arx: counter overflow\");if(l.length<d)throw new Error(`arx: output (${l.length}) is shorter than data (${d})`);const g=[];let y=c.length,h,m;if(y===32)g.push(h=gt(c)),m=bs;else if(y===16&&n)h=new Uint8Array(32),h.set(c),h.set(c,16),m=ms,g.push(h);else throw new Error(`arx: invalid 32-byte key, got length=${y}`);yt(u)||g.push(u=gt(u));const L=se(h);if(r){if(u.length!==24)throw new Error(\"arx: extended nonce must be 24 bytes\");r(m,L,se(u.subarray(0,16)),L),u=u.subarray(16)}const b=16-o;if(b!==u.length)throw new Error(`arx: nonce must be ${b} or 16 bytes`);if(b!==12){const O=new Uint8Array(12);O.set(u,s?0:12-u.length),u=O,g.push(u)}const _=se(u);return Es(e,m,L,_,a,l,f,i),Ee(...g),l}}const M=(e,t)=>e[t++]&255|(e[t++]&255)<<8;class xs{constructor(t){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,t=pt(t),F(t,32);const n=M(t,0),r=M(t,2),o=M(t,4),s=M(t,6),i=M(t,8),c=M(t,10),u=M(t,12),a=M(t,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|s<<9)&8191,this.r[4]=(s>>>4|i<<12)&255,this.r[5]=i>>>1&8190,this.r[6]=(i>>>14|c<<2)&8191,this.r[7]=(c>>>11|u<<5)&8065,this.r[8]=(u>>>8|a<<8)&8191,this.r[9]=a>>>5&127;for(let l=0;l<8;l++)this.pad[l]=M(t,16+2*l)}process(t,n,r=!1){const o=r?0:2048,{h:s,r:i}=this,c=i[0],u=i[1],a=i[2],l=i[3],f=i[4],d=i[5],g=i[6],y=i[7],h=i[8],m=i[9],L=M(t,n+0),b=M(t,n+2),_=M(t,n+4),O=M(t,n+6),k=M(t,n+8),E=M(t,n+10),B=M(t,n+12),j=M(t,n+14);let v=s[0]+(L&8191),I=s[1]+((L>>>13|b<<3)&8191),w=s[2]+((b>>>10|_<<6)&8191),R=s[3]+((_>>>7|O<<9)&8191),A=s[4]+((O>>>4|k<<12)&8191),T=s[5]+(k>>>1&8191),N=s[6]+((k>>>14|E<<2)&8191),S=s[7]+((E>>>11|B<<5)&8191),U=s[8]+((B>>>8|j<<8)&8191),$=s[9]+(j>>>5|o),p=0,C=p+v*c+I*(5*m)+w*(5*h)+R*(5*y)+A*(5*g);p=C>>>13,C&=8191,C+=T*(5*d)+N*(5*f)+S*(5*l)+U*(5*a)+$*(5*u),p+=C>>>13,C&=8191;let D=p+v*u+I*c+w*(5*m)+R*(5*h)+A*(5*y);p=D>>>13,D&=8191,D+=T*(5*g)+N*(5*d)+S*(5*f)+U*(5*l)+$*(5*a),p+=D>>>13,D&=8191;let P=p+v*a+I*u+w*c+R*(5*m)+A*(5*h);p=P>>>13,P&=8191,P+=T*(5*y)+N*(5*g)+S*(5*d)+U*(5*f)+$*(5*l),p+=P>>>13,P&=8191;let G=p+v*l+I*a+w*u+R*c+A*(5*m);p=G>>>13,G&=8191,G+=T*(5*h)+N*(5*y)+S*(5*g)+U*(5*d)+$*(5*f),p+=G>>>13,G&=8191;let X=p+v*f+I*l+w*a+R*u+A*c;p=X>>>13,X&=8191,X+=T*(5*m)+N*(5*h)+S*(5*y)+U*(5*g)+$*(5*d),p+=X>>>13,X&=8191;let Z=p+v*d+I*f+w*l+R*a+A*u;p=Z>>>13,Z&=8191,Z+=T*c+N*(5*m)+S*(5*h)+U*(5*y)+$*(5*g),p+=Z>>>13,Z&=8191;let he=p+v*g+I*d+w*f+R*l+A*a;p=he>>>13,he&=8191,he+=T*u+N*c+S*(5*m)+U*(5*h)+$*(5*y),p+=he>>>13,he&=8191;let pe=p+v*y+I*g+w*d+R*f+A*l;p=pe>>>13,pe&=8191,pe+=T*a+N*u+S*c+U*(5*m)+$*(5*h),p+=pe>>>13,pe&=8191;let ge=p+v*h+I*y+w*g+R*d+A*f;p=ge>>>13,ge&=8191,ge+=T*l+N*a+S*u+U*c+$*(5*m),p+=ge>>>13,ge&=8191;let ye=p+v*m+I*h+w*y+R*g+A*d;p=ye>>>13,ye&=8191,ye+=T*f+N*l+S*a+U*u+$*c,p+=ye>>>13,ye&=8191,p=(p<<2)+p|0,p=p+C|0,C=p&8191,p=p>>>13,D+=p,s[0]=C,s[1]=D,s[2]=P,s[3]=G,s[4]=X,s[5]=Z,s[6]=he,s[7]=pe,s[8]=ge,s[9]=ye}finalize(){const{h:t,pad:n}=this,r=new Uint16Array(10);let o=t[1]>>>13;t[1]&=8191;for(let c=2;c<10;c++)t[c]+=o,o=t[c]>>>13,t[c]&=8191;t[0]+=o*5,o=t[0]>>>13,t[0]&=8191,t[1]+=o,o=t[1]>>>13,t[1]&=8191,t[2]+=o,r[0]=t[0]+5,o=r[0]>>>13,r[0]&=8191;for(let c=1;c<10;c++)r[c]=t[c]+o,o=r[c]>>>13,r[c]&=8191;r[9]-=8192;let s=(o^1)-1;for(let c=0;c<10;c++)r[c]&=s;s=~s;for(let c=0;c<10;c++)t[c]=t[c]&s|r[c];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let i=t[0]+n[0];t[0]=i&65535;for(let c=1;c<8;c++)i=(t[c]+n[c]|0)+(i>>>16)|0,t[c]=i&65535;Ee(r)}update(t){Ln(this);const{buffer:n,blockLen:r}=this;t=pt(t);const o=t.length;for(let s=0;s<o;){const i=Math.min(r-this.pos,o-s);if(i===r){for(;r<=o-s;s+=r)this.process(t,s);continue}n.set(t.subarray(s,s+i),this.pos),this.pos+=i,s+=i,this.pos===r&&(this.process(n,0,!1),this.pos=0)}return this}destroy(){Ee(this.h,this.r,this.buffer,this.pad)}digestInto(t){Ln(this),cs(t,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 s=0;for(let i=0;i<8;i++)t[s++]=r[i]>>>0,t[s++]=r[i]>>>8;return t}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const r=t.slice(0,n);return this.destroy(),r}}function Is(e){const t=(r,o)=>e(o).update(pt(r)).digest(),n=e(new Uint8Array(32));return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=r=>e(r),t}const Os=Is(e=>new xs(e));function As(e,t,n,r,o,s=20){let i=e[0],c=e[1],u=e[2],a=e[3],l=t[0],f=t[1],d=t[2],g=t[3],y=t[4],h=t[5],m=t[6],L=t[7],b=o,_=n[0],O=n[1],k=n[2],E=i,B=c,j=u,v=a,I=l,w=f,R=d,A=g,T=y,N=h,S=m,U=L,$=b,p=_,C=O,D=k;for(let G=0;G<s;G+=2)E=E+I|0,$=x($^E,16),T=T+$|0,I=x(I^T,12),E=E+I|0,$=x($^E,8),T=T+$|0,I=x(I^T,7),B=B+w|0,p=x(p^B,16),N=N+p|0,w=x(w^N,12),B=B+w|0,p=x(p^B,8),N=N+p|0,w=x(w^N,7),j=j+R|0,C=x(C^j,16),S=S+C|0,R=x(R^S,12),j=j+R|0,C=x(C^j,8),S=S+C|0,R=x(R^S,7),v=v+A|0,D=x(D^v,16),U=U+D|0,A=x(A^U,12),v=v+A|0,D=x(D^v,8),U=U+D|0,A=x(A^U,7),E=E+w|0,D=x(D^E,16),S=S+D|0,w=x(w^S,12),E=E+w|0,D=x(D^E,8),S=S+D|0,w=x(w^S,7),B=B+R|0,$=x($^B,16),U=U+$|0,R=x(R^U,12),B=B+R|0,$=x($^B,8),U=U+$|0,R=x(R^U,7),j=j+A|0,p=x(p^j,16),T=T+p|0,A=x(A^T,12),j=j+A|0,p=x(p^j,8),T=T+p|0,A=x(A^T,7),v=v+I|0,C=x(C^v,16),N=N+C|0,I=x(I^N,12),v=v+I|0,C=x(C^v,8),N=N+C|0,I=x(I^N,7);let P=0;r[P++]=i+E|0,r[P++]=c+B|0,r[P++]=u+j|0,r[P++]=a+v|0,r[P++]=l+I|0,r[P++]=f+w|0,r[P++]=d+R|0,r[P++]=g+A|0,r[P++]=y+T|0,r[P++]=h+N|0,r[P++]=m+S|0,r[P++]=L+U|0,r[P++]=b+$|0,r[P++]=_+p|0,r[P++]=O+C|0,r[P++]=k+D|0}const Ns=vs(As,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Ss=new Uint8Array(16),Hn=(e,t)=>{e.update(t);const n=t.length%16;n&&e.update(Ss.subarray(n))},Us=new Uint8Array(32);function Kn(e,t,n,r,o){const s=e(t,n,Us),i=Os.create(s);o&&Hn(i,o),Hn(i,r);const c=new Uint8Array(16),u=as(c);kn(u,0,BigInt(o?o.length:0),!0),kn(u,8,BigInt(r.length),!0),i.update(c);const a=i.digest();return Ee(s,c),a}const _s=e=>(t,n,r)=>({encrypt(s,i){const c=s.length;i=Cn(c+16,i,!1),i.set(s);const u=i.subarray(0,-16);e(t,n,u,u,1);const a=Kn(e,t,n,u,r);return i.set(a,c),Ee(a),i},decrypt(s,i){i=Cn(s.length-16,i,!1);const c=s.subarray(0,-16),u=s.subarray(-16),a=Kn(e,t,n,c,r);if(!ds(u,a))throw new Error(\"invalid tag\");return i.set(s.subarray(0,-16)),e(t,n,i,i,1),Ee(a),i}}),Fn=hs({blockSize:64,nonceLength:12,tagLength:16},_s(Ns));class qn extends it{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,ot(t);const r=we(n);if(this.iHash=t.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,s=new Uint8Array(o);s.set(r.length>o?t.create().update(r).digest():r);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=t.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),s.fill(0)}update(t){return me(this),this.iHash.update(t),this}digestInto(t){me(this),je(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:o,destroyed:s,blockLen:i,outputLen:c}=this;return t=t,t.finished=o,t.destroyed=s,t.blockLen=i,t.outputLen=c,t.oHash=n._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const mt=(e,t,n)=>new qn(e,t).update(n).digest();mt.create=(e,t)=>new qn(e,t);function Ts(e,t,n){return ot(e),n===void 0&&(n=new Uint8Array(e.outputLen)),mt(e,we(n),we(t))}const bt=new Uint8Array([0]),Gn=new Uint8Array;function $s(e,t,n,r=32){if(ot(e),Ne(r),r>255*e.outputLen)throw new Error(\"Length should be <= 255*HashLen\");const o=Math.ceil(r/e.outputLen);n===void 0&&(n=Gn);const s=new Uint8Array(o*e.outputLen),i=mt.create(e,t),c=i._cloneInto(),u=new Uint8Array(i.outputLen);for(let a=0;a<o;a++)bt[0]=a+1,c.update(a===0?Gn:u).update(n).update(bt).digestInto(u),s.set(u,e.outputLen*a),i._cloneInto(c);return i.destroy(),c.destroy(),u.fill(0),bt.fill(0),s.slice(0,r)}const Rs=(e,t,n,r,o)=>$s(e,Ts(e,t,n),r,o);function Ps(e,t,n,r){if(typeof e.setBigUint64==\"function\")return e.setBigUint64(t,n,r);const o=BigInt(32),s=BigInt(4294967295),i=Number(n>>o&s),c=Number(n&s),u=r?4:0,a=r?0:4;e.setUint32(t+u,i,r),e.setUint32(t+a,c,r)}function Bs(e,t,n){return e&t^~e&n}function Ls(e,t,n){return e&t^e&n^t&n}class js extends it{constructor(t,n,r,o){super(),this.blockLen=t,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(t),this.view=st(this.buffer)}update(t){me(this);const{view:n,buffer:r,blockLen:o}=this;t=we(t);const s=t.length;for(let i=0;i<s;){const c=Math.min(o-this.pos,s-i);if(c===o){const u=st(t);for(;o<=s-i;i+=o)this.process(u,i);continue}r.set(t.subarray(i,i+c),this.pos),this.pos+=c,i+=c,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){me(this),sn(t,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:s}=this;let{pos:i}=this;n[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>o-i&&(this.process(r,0),i=0);for(let f=i;f<o;f++)n[f]=0;Ps(r,o-8,BigInt(this.length*8),s),this.process(r,0);const c=st(t),u=this.outputLen;if(u%4)throw new Error(\"_sha2: outputLen should be aligned to 32bit\");const a=u/4,l=this.get();if(a>l.length)throw new Error(\"_sha2: outputLen bigger than state\");for(let f=0;f<a;f++)c.setUint32(4*f,l[f],s)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:s,destroyed:i,pos:c}=this;return t.length=o,t.pos=c,t.finished=s,t.destroyed=i,o%n&&t.buffer.set(r),t}}const Cs=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]),ie=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ce=new Uint32Array(64);class ks extends js{constructor(){super(64,32,8,!1),this.A=ie[0]|0,this.B=ie[1]|0,this.C=ie[2]|0,this.D=ie[3]|0,this.E=ie[4]|0,this.F=ie[5]|0,this.G=ie[6]|0,this.H=ie[7]|0}get(){const{A:t,B:n,C:r,D:o,E:s,F:i,G:c,H:u}=this;return[t,n,r,o,s,i,c,u]}set(t,n,r,o,s,i,c,u){this.A=t|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=c|0,this.H=u|0}process(t,n){for(let f=0;f<16;f++,n+=4)ce[f]=t.getUint32(n,!1);for(let f=16;f<64;f++){const d=ce[f-15],g=ce[f-2],y=J(d,7)^J(d,18)^d>>>3,h=J(g,17)^J(g,19)^g>>>10;ce[f]=h+ce[f-7]+y+ce[f-16]|0}let{A:r,B:o,C:s,D:i,E:c,F:u,G:a,H:l}=this;for(let f=0;f<64;f++){const d=J(c,6)^J(c,11)^J(c,25),g=l+d+Bs(c,u,a)+Cs[f]+ce[f]|0,h=(J(r,2)^J(r,13)^J(r,22))+Ls(r,o,s)|0;l=a,a=u,u=c,c=i+g|0,i=s,s=o,o=r,r=g+h|0}r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,c=c+this.E|0,u=u+this.F|0,a=a+this.G|0,l=l+this.H|0,this.set(r,o,s,i,c,u,a,l)}roundClean(){ce.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const He=fn(()=>new ks);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Wn=BigInt(0);function wt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===\"Uint8Array\"}function zn(e){if(!wt(e))throw new Error(\"Uint8Array expected\")}const Ds=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,\"0\"));function Ms(e){zn(e);let t=\"\";for(let n=0;n<e.length;n++)t+=Ds[e[n]];return t}function Vs(e){if(typeof e!=\"string\")throw new Error(\"hex string expected, got \"+typeof e);return e===\"\"?Wn:BigInt(\"0x\"+e)}const ee={_0:48,_9:57,A:65,F:70,a:97,f:102};function Jn(e){if(e>=ee._0&&e<=ee._9)return e-ee._0;if(e>=ee.A&&e<=ee.F)return e-(ee.A-10);if(e>=ee.a&&e<=ee.f)return e-(ee.a-10)}function Yn(e){if(typeof e!=\"string\")throw new Error(\"hex string expected, got \"+typeof e);const t=e.length,n=t/2;if(t%2)throw new Error(\"hex string expected, got unpadded hex of length \"+t);const r=new Uint8Array(n);for(let o=0,s=0;o<n;o++,s+=2){const i=Jn(e.charCodeAt(s)),c=Jn(e.charCodeAt(s+1));if(i===void 0||c===void 0){const u=e[s]+e[s+1];throw new Error('hex string expected, got non-hex character \"'+u+'\" at index '+s)}r[o]=i*16+c}return r}function Xn(e){return zn(e),Vs(Ms(Uint8Array.from(e).reverse()))}function Hs(e,t){return Yn(e.toString(16).padStart(t*2,\"0\"))}function Ks(e,t){return Hs(e,t).reverse()}function Zn(e,t,n){let r;if(typeof t==\"string\")try{r=Yn(t)}catch(s){throw new Error(e+\" must be hex string or Uint8Array, cause: \"+s)}else if(wt(t))r=Uint8Array.from(t);else throw new Error(e+\" must be hex string or Uint8Array\");const o=r.length;if(typeof n==\"number\"&&o!==n)throw new Error(e+\" of length \"+n+\" expected, got \"+o);return r}const Et=e=>typeof e==\"bigint\"&&Wn<=e;function Fs(e,t,n){return Et(e)&&Et(t)&&Et(n)&&t<=e&&e<n}function Qn(e,t,n,r){if(!Fs(t,n,r))throw new Error(\"expected valid \"+e+\": \"+n+\" <= n < \"+r+\", got \"+t)}const qs={bigint:e=>typeof e==\"bigint\",function:e=>typeof e==\"function\",boolean:e=>typeof e==\"boolean\",string:e=>typeof e==\"string\",stringOrUint8Array:e=>typeof e==\"string\"||wt(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==\"function\"&&Number.isSafeInteger(e.outputLen)};function Gs(e,t,n={}){const r=(o,s,i)=>{const c=qs[s];if(typeof c!=\"function\")throw new Error(\"invalid validator function\");const u=e[o];if(!(i&&u===void 0)&&!c(u,e))throw new Error(\"param \"+String(o)+\" is invalid. Expected \"+s+\", got \"+u)};for(const[o,s]of Object.entries(t))r(o,s,!1);for(const[o,s]of Object.entries(n))r(o,s,!0);return e}const ve=BigInt(0),Ke=BigInt(1);function er(e,t){const n=e%t;return n>=ve?n:t+n}function Ws(e,t,n){if(t<ve)throw new Error(\"invalid exponent, negatives unsupported\");if(n<=ve)throw new Error(\"invalid modulus\");if(n===Ke)return ve;let r=Ke;for(;t>ve;)t&Ke&&(r=r*e%n),e=e*e%n,t>>=Ke;return r}function z(e,t,n){let r=e;for(;t-- >ve;)r*=r,r%=n;return r}BigInt(0),BigInt(1),BigInt(0),BigInt(1),BigInt(2),BigInt(8);const xe=BigInt(0),vt=BigInt(1);function zs(e){return Gs(e,{a:\"bigint\"},{montgomeryBits:\"isSafeInteger\",nByteLength:\"isSafeInteger\",adjustScalarBytes:\"function\",domain:\"function\",powPminus2:\"function\",Gu:\"bigint\"}),Object.freeze({...e})}function Js(e){const t=zs(e),{P:n}=t,r=b=>er(b,n),o=t.montgomeryBits,s=Math.ceil(o/8),i=t.nByteLength,c=t.adjustScalarBytes||(b=>b),u=t.powPminus2||(b=>Ws(b,n-BigInt(2),n));function a(b,_,O){const k=r(b*(_-O));return _=r(_-k),O=r(O+k),[_,O]}const l=(t.a-BigInt(2))/BigInt(4);function f(b,_){Qn(\"u\",b,xe,n),Qn(\"scalar\",_,xe,n);const O=_,k=b;let E=vt,B=xe,j=b,v=vt,I=xe,w;for(let A=BigInt(o-1);A>=xe;A--){const T=O>>A&vt;I^=T,w=a(I,E,j),E=w[0],j=w[1],w=a(I,B,v),B=w[0],v=w[1],I=T;const N=E+B,S=r(N*N),U=E-B,$=r(U*U),p=S-$,C=j+v,D=j-v,P=r(D*N),G=r(C*U),X=P+G,Z=P-G;j=r(X*X),v=r(k*r(Z*Z)),E=r(S*$),B=r(p*(S+r(l*p)))}w=a(I,E,j),E=w[0],j=w[1],w=a(I,B,v),B=w[0],v=w[1];const R=u(B);return r(E*R)}function d(b){return Ks(r(b),s)}function g(b){const _=Zn(\"u coordinate\",b,s);return i===32&&(_[31]&=127),Xn(_)}function y(b){const _=Zn(\"scalar\",b),O=_.length;if(O!==s&&O!==i){let k=\"\"+s+\" or \"+i;throw new Error(\"invalid scalar, expected \"+k+\" bytes, got \"+O)}return Xn(c(_))}function h(b,_){const O=g(_),k=y(b),E=f(O,k);if(E===xe)throw new Error(\"invalid private or public key received\");return d(E)}const m=d(t.Gu);function L(b){return h(b,m)}return{scalarMult:h,scalarMultBase:L,getSharedSecret:(b,_)=>h(b,_),getPublicKey:b=>L(b),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:m}}const xt=BigInt(\"57896044618658097711785492504343953926634992332820282019728792003956564819949\");BigInt(0);const Ys=BigInt(1),tr=BigInt(2),Xs=BigInt(3),Zs=BigInt(5);BigInt(8);function Qs(e){const t=BigInt(10),n=BigInt(20),r=BigInt(40),o=BigInt(80),s=xt,c=e*e%s*e%s,u=z(c,tr,s)*c%s,a=z(u,Ys,s)*e%s,l=z(a,Zs,s)*a%s,f=z(l,t,s)*l%s,d=z(f,n,s)*f%s,g=z(d,r,s)*d%s,y=z(g,o,s)*g%s,h=z(y,o,s)*g%s,m=z(h,t,s)*l%s;return{pow_p_5_8:z(m,tr,s)*e%s,b2:c}}function ei(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}const It=Js({P:xt,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{const t=xt,{pow_p_5_8:n,b2:r}=Qs(e);return er(z(n,Xs,t)*r,t)},adjustScalarBytes:ei,randomBytes:Se}),Ot=\"base10\",V=\"base16\",At=\"base64pad\",ti=\"base64url\",Ie=\"utf8\",Nt=0,Oe=1,_e=2,ni=0,nr=1,Te=12,St=32;function ri(){const e=It.utils.randomPrivateKey(),t=It.getPublicKey(e);return{privateKey:K(e,V),publicKey:K(t,V)}}function oi(){const e=Se(St);return K(e,V)}function si(e,t){const n=It.getSharedSecret(W(e,V),W(t,V)),r=Rs(He,n,void 0,void 0,St);return K(r,V)}function ii(e){const t=He(W(e,V));return K(t,V)}function ci(e){const t=He(W(e,Ie));return K(t,V)}function Ut(e){return W(`${e}`,Ot)}function fe(e){return Number(K(e,Ot))}function ai(e){const t=Ut(typeof e.type<\"u\"?e.type:Nt);if(fe(t)===Oe&&typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");const n=typeof e.senderPublicKey<\"u\"?W(e.senderPublicKey,V):void 0,r=typeof e.iv<\"u\"?W(e.iv,V):Se(Te),o=W(e.symKey,V),s=Fn(o,r).encrypt(W(e.message,Ie));return _t({type:t,sealed:s,iv:r,senderPublicKey:n,encoding:e.encoding})}function ui(e){const t=W(e.symKey,V),{sealed:n,iv:r}=Fe(e),o=Fn(t,r).decrypt(n);if(o===null)throw new Error(\"Failed to decrypt\");return K(o,Ie)}function fi(e,t){const n=Ut(_e),r=Se(Te),o=W(e,Ie);return _t({type:n,sealed:o,iv:r,encoding:t})}function li(e,t){const{sealed:n}=Fe({encoded:e,encoding:t});return K(n,Ie)}function _t(e){const{encoding:t=At}=e;if(fe(e.type)===_e)return K(Je([e.type,e.sealed]),t);if(fe(e.type)===Oe){if(typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");return K(Je([e.type,e.senderPublicKey,e.iv,e.sealed]),t)}return K(Je([e.type,e.iv,e.sealed]),t)}function Fe(e){const{encoded:t,encoding:n=At}=e,r=W(t,n),o=r.slice(ni,nr),s=nr;if(fe(o)===Oe){const a=s+St,l=a+Te,f=r.slice(s,a),d=r.slice(a,l),g=r.slice(l);return{type:o,sealed:g,iv:d,senderPublicKey:f}}if(fe(o)===_e){const a=r.slice(s),l=Se(Te);return{type:o,sealed:a,iv:l}}const i=s+Te,c=r.slice(s,i),u=r.slice(i);return{type:o,sealed:u,iv:c}}function di(e,t){const n=Fe({encoded:e,encoding:t?.encoding});return rr({type:fe(n.type),senderPublicKey:typeof n.senderPublicKey<\"u\"?K(n.senderPublicKey,V):void 0,receiverPublicKey:t?.receiverPublicKey})}function rr(e){const t=e?.type||Nt;if(t===Oe){if(typeof e?.senderPublicKey>\"u\")throw new Error(\"missing sender public key\");if(typeof e?.receiverPublicKey>\"u\")throw new Error(\"missing receiver public key\")}return{type:t,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function hi(e){return e.type===Oe&&typeof e.senderPublicKey==\"string\"&&typeof e.receiverPublicKey==\"string\"}function pi(e){return e.type===_e}function or(e){return new Dr(\"p256\").keyFromPublic({x:Buffer.from(e.x,\"base64\").toString(\"hex\"),y:Buffer.from(e.y,\"base64\").toString(\"hex\")},\"hex\")}function gi(e){let t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");const n=t.length%4;return n>0&&(t+=\"=\".repeat(4-n)),t}function yi(e){return Buffer.from(gi(e),\"base64\")}function mi(e,t){const[n,r,o]=e.split(\".\"),s=yi(o);if(s.length!==64)throw new Error(\"Invalid signature length\");const i=s.slice(0,32).toString(\"hex\"),c=s.slice(32,64).toString(\"hex\"),u=`${n}.${r}`,a=He(u),l=or(t),f=K(a,V);if(!l.verify(f,{r:i,s:c}))throw new Error(\"Invalid signature\");return kr(e).payload}const sr=\"irn\";function bi(e){return e?.relay||{protocol:sr}}function wi(e){const t=Mr[e];if(typeof t>\"u\")throw new Error(`Relay Protocol not supported: ${e}`);return t}function ir(e,t=\"-\"){const n={},r=\"relay\"+t;return Object.keys(e).forEach(o=>{if(o.startsWith(r)){const s=o.replace(r,\"\"),i=e[o];n[s]=i}}),n}function Ei(e){if(!e.includes(\"wc:\")){const a=rt(e);a!=null&&a.includes(\"wc:\")&&(e=a)}e=e.includes(\"wc://\")?e.replace(\"wc://\",\"\"):e,e=e.includes(\"wc:\")?e.replace(\"wc:\",\"\"):e;const t=e.indexOf(\":\"),n=e.indexOf(\"?\")!==-1?e.indexOf(\"?\"):void 0,r=e.substring(0,t),o=e.substring(t+1,n).split(\"@\"),s=typeof n<\"u\"?e.substring(n):\"\",i=new URLSearchParams(s),c={};i.forEach((a,l)=>{c[l]=a});const u=typeof c.methods==\"string\"?c.methods.split(\",\"):void 0;return{protocol:r,topic:cr(o[0]),version:parseInt(o[1],10),symKey:c.symKey,relay:ir(c),methods:u,expiryTimestamp:c.expiryTimestamp?parseInt(c.expiryTimestamp,10):void 0}}function cr(e){return e.startsWith(\"//\")?e.substring(2):e}function ar(e,t=\"-\"){const n=\"relay\",r={};return Object.keys(e).forEach(o=>{const s=o,i=n+t+s;e[s]&&(r[i]=e[s])}),r}function vi(e){const t=new URLSearchParams,n=ar(e.relay);Object.keys(n).sort().forEach(o=>{t.set(o,n[o])}),t.set(\"symKey\",e.symKey),e.expiryTimestamp&&t.set(\"expiryTimestamp\",e.expiryTimestamp.toString()),e.methods&&t.set(\"methods\",e.methods.join(\",\"));const r=t.toString();return`${e.protocol}:${e.topic}@${e.version}?${r}`}function xi(e,t,n){return`${e}?wc_ev=${n}&topic=${t}`}var Ii=Object.defineProperty,Oi=Object.defineProperties,Ai=Object.getOwnPropertyDescriptors,ur=Object.getOwnPropertySymbols,Ni=Object.prototype.hasOwnProperty,Si=Object.prototype.propertyIsEnumerable,fr=(e,t,n)=>t in e?Ii(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ui=(e,t)=>{for(var n in t||(t={}))Ni.call(t,n)&&fr(e,n,t[n]);if(ur)for(var n of ur(t))Si.call(t,n)&&fr(e,n,t[n]);return e},_i=(e,t)=>Oi(e,Ai(t));function le(e){const t=[];return e.forEach(n=>{const[r,o]=n.split(\":\");t.push(`${r}:${o}`)}),t}function lr(e){const t=[];return Object.values(e).forEach(n=>{t.push(...le(n.accounts))}),t}function dr(e,t){const n=[];return Object.values(e).forEach(r=>{le(r.accounts).includes(t)&&n.push(...r.methods)}),n}function hr(e,t){const n=[];return Object.values(e).forEach(r=>{le(r.accounts).includes(t)&&n.push(...r.events)}),n}function Ti(e,t){const n=Or(e,t);if(n)throw new Error(n.message);const r={};for(const[o,s]of Object.entries(e))r[o]={methods:s.methods,events:s.events,chains:s.accounts.map(i=>`${i.split(\":\")[0]}:${i.split(\":\")[1]}`)};return r}function $i(e){const{proposal:{requiredNamespaces:t,optionalNamespaces:n={}},supportedNamespaces:r}=e,o=$t(t),s=$t(n),i={};Object.keys(r).forEach(a=>{const l=r[a].chains,f=r[a].methods,d=r[a].events,g=r[a].accounts;l.forEach(y=>{if(!g.some(h=>h.includes(y)))throw new Error(`No accounts provided for chain ${y} in namespace ${a}`)}),i[a]={chains:l,methods:f,events:d,accounts:g}});const c=Nr(t,i,\"approve()\");if(c)throw new Error(c.message);const u={};return!Object.keys(t).length&&!Object.keys(n).length?i:(Object.keys(o).forEach(a=>{const l=r[a].chains.filter(y=>{var h,m;return(m=(h=o[a])==null?void 0:h.chains)==null?void 0:m.includes(y)}),f=r[a].methods.filter(y=>{var h,m;return(m=(h=o[a])==null?void 0:h.methods)==null?void 0:m.includes(y)}),d=r[a].events.filter(y=>{var h,m;return(m=(h=o[a])==null?void 0:h.events)==null?void 0:m.includes(y)}),g=l.map(y=>r[a].accounts.filter(h=>h.includes(`${y}:`))).flat();u[a]={chains:l,methods:f,events:d,accounts:g}}),Object.keys(s).forEach(a=>{var l,f,d,g,y,h;if(!r[a])return;const m=(f=(l=s[a])==null?void 0:l.chains)==null?void 0:f.filter(O=>r[a].chains.includes(O)),L=r[a].methods.filter(O=>{var k,E;return(E=(k=s[a])==null?void 0:k.methods)==null?void 0:E.includes(O)}),b=r[a].events.filter(O=>{var k,E;return(E=(k=s[a])==null?void 0:k.events)==null?void 0:E.includes(O)}),_=m?.map(O=>r[a].accounts.filter(k=>k.includes(`${O}:`))).flat();u[a]={chains:Q((d=u[a])==null?void 0:d.chains,m),methods:Q((g=u[a])==null?void 0:g.methods,L),events:Q((y=u[a])==null?void 0:y.events,b),accounts:Q((h=u[a])==null?void 0:h.accounts,_)}}),u)}function Tt(e){return e.includes(\":\")}function pr(e){return Tt(e)?e.split(\":\")[0]:e}function $t(e){var t,n,r;const o={};if(!qe(e))return o;for(const[s,i]of Object.entries(e)){const c=Tt(s)?[s]:i.chains,u=i.methods||[],a=i.events||[],l=pr(s);o[l]=_i(Ui({},o[l]),{chains:Q(c,(t=o[l])==null?void 0:t.chains),methods:Q(u,(n=o[l])==null?void 0:n.methods),events:Q(a,(r=o[l])==null?void 0:r.events)})}return o}function gr(e){const t={};return e?.forEach(n=>{var r;const[o,s]=n.split(\":\");t[o]||(t[o]={accounts:[],chains:[],events:[],methods:[]}),t[o].accounts.push(n),(r=t[o].chains)==null||r.push(`${o}:${s}`)}),t}function Ri(e,t){t=t.map(r=>r.replace(\"did:pkh:\",\"\"));const n=gr(t);for(const[r,o]of Object.entries(n))o.methods?o.methods=Q(o.methods,e):o.methods=e,o.events=[\"chainChanged\",\"accountsChanged\"];return n}const yr={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}},mr={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 te(e,t){const{message:n,code:r}=mr[e];return{message:t?`${n} ${t}`:n,code:r}}function de(e,t){const{message:n,code:r}=yr[e];return{message:t?`${n} ${t}`:n,code:r}}function $e(e,t){return Array.isArray(e)?typeof t<\"u\"&&e.length?e.every(t):!0:!1}function qe(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function ae(e){return typeof e>\"u\"}function q(e,t){return t&&ae(e)?!0:typeof e==\"string\"&&!!e.trim().length}function Ge(e,t){return t&&ae(e)?!0:typeof e==\"number\"&&!isNaN(e)}function Pi(e,t){const{requiredNamespaces:n}=t,r=Object.keys(e.namespaces),o=Object.keys(n);let s=!0;return re(o,r)?(r.forEach(i=>{const{accounts:c,methods:u,events:a}=e.namespaces[i],l=le(c),f=n[i];(!re(Be(i,f),l)||!re(f.methods,u)||!re(f.events,a))&&(s=!1)}),s):!1}function Re(e){return q(e,!1)&&e.includes(\":\")?e.split(\":\").length===2:!1}function br(e){if(q(e,!1)&&e.includes(\":\")){const t=e.split(\":\");if(t.length===3){const n=t[0]+\":\"+t[1];return!!t[2]&&Re(n)}}return!1}function Bi(e){function t(n){try{return typeof new URL(n)<\"u\"}catch{return!1}}try{if(q(e,!1)){if(t(e))return!0;const n=rt(e);return t(n)}}catch{}return!1}function Li(e){var t;return(t=e?.proposer)==null?void 0:t.publicKey}function ji(e){return e?.topic}function Ci(e,t){let n=null;return q(e?.publicKey,!1)||(n=te(\"MISSING_OR_INVALID\",`${t} controller public key should be a string`)),n}function Rt(e){let t=!0;return $e(e)?e.length&&(t=e.every(n=>q(n,!1))):t=!1,t}function wr(e,t,n){let r=null;return $e(t)&&t.length?t.forEach(o=>{r||Re(o)||(r=de(\"UNSUPPORTED_CHAINS\",`${n}, chain ${o} should be a string and conform to \"namespace:chainId\" format`))}):Re(e)||(r=de(\"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 Er(e,t,n){let r=null;return Object.entries(e).forEach(([o,s])=>{if(r)return;const i=wr(o,Be(o,s),`${t} ${n}`);i&&(r=i)}),r}function vr(e,t){let n=null;return $e(e)?e.forEach(r=>{n||br(r)||(n=de(\"UNSUPPORTED_ACCOUNTS\",`${t}, account ${r} should be a string and conform to \"namespace:chainId:address\" format`))}):n=de(\"UNSUPPORTED_ACCOUNTS\",`${t}, accounts should be an array of strings conforming to \"namespace:chainId:address\" format`),n}function xr(e,t){let n=null;return Object.values(e).forEach(r=>{if(n)return;const o=vr(r?.accounts,`${t} namespace`);o&&(n=o)}),n}function Ir(e,t){let n=null;return Rt(e?.methods)?Rt(e?.events)||(n=de(\"UNSUPPORTED_EVENTS\",`${t}, events should be an array of strings or empty array for no events`)):n=de(\"UNSUPPORTED_METHODS\",`${t}, methods should be an array of strings or empty array for no methods`),n}function Pt(e,t){let n=null;return Object.values(e).forEach(r=>{if(n)return;const o=Ir(r,`${t}, namespace`);o&&(n=o)}),n}function ki(e,t,n){let r=null;if(e&&qe(e)){const o=Pt(e,t);o&&(r=o);const s=Er(e,t,n);s&&(r=s)}else r=te(\"MISSING_OR_INVALID\",`${t}, ${n} should be an object with data`);return r}function Or(e,t){let n=null;if(e&&qe(e)){const r=Pt(e,t);r&&(n=r);const o=xr(e,t);o&&(n=o)}else n=te(\"MISSING_OR_INVALID\",`${t}, namespaces should be an object with data`);return n}function Ar(e){return q(e.protocol,!0)}function Di(e,t){let n=!1;return t&&!e?n=!0:e&&$e(e)&&e.length&&e.forEach(r=>{n=Ar(r)}),n}function Mi(e){return typeof e==\"number\"}function Vi(e){return typeof e<\"u\"&&typeof e!==null}function Hi(e){return!(!e||typeof e!=\"object\"||!e.code||!Ge(e.code,!1)||!e.message||!q(e.message,!1))}function Ki(e){return!(ae(e)||!q(e.method,!1))}function Fi(e){return!(ae(e)||ae(e.result)&&ae(e.error)||!Ge(e.id,!1)||!q(e.jsonrpc,!1))}function qi(e){return!(ae(e)||!q(e.name,!1))}function Gi(e,t){return!(!Re(t)||!lr(e).includes(t))}function Wi(e,t,n){return q(n,!1)?dr(e,t).includes(n):!1}function zi(e,t,n){return q(n,!1)?hr(e,t).includes(n):!1}function Nr(e,t,n){let r=null;const o=Ji(e),s=Yi(t),i=Object.keys(o),c=Object.keys(s),u=Sr(Object.keys(e)),a=Sr(Object.keys(t)),l=u.filter(f=>!a.includes(f));return l.length&&(r=te(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces keys don't satisfy requiredNamespaces.\n Required: ${l.toString()}\n Received: ${Object.keys(t).toString()}`)),re(i,c)||(r=te(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces chains don't satisfy required namespaces.\n Required: ${i.toString()}\n Approved: ${c.toString()}`)),Object.keys(t).forEach(f=>{if(!f.includes(\":\")||r)return;const d=le(t[f].accounts);d.includes(f)||(r=te(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces accounts don't satisfy namespace accounts for ${f}\n Required: ${f}\n Approved: ${d.toString()}`))}),i.forEach(f=>{r||(re(o[f].methods,s[f].methods)?re(o[f].events,s[f].events)||(r=te(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces events don't satisfy namespace events for ${f}`)):r=te(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces methods don't satisfy namespace methods for ${f}`))}),r}function Ji(e){const t={};return Object.keys(e).forEach(n=>{var r;n.includes(\":\")?t[n]=e[n]:(r=e[n].chains)==null||r.forEach(o=>{t[o]={methods:e[n].methods,events:e[n].events}})}),t}function Sr(e){return[...new Set(e.map(t=>t.includes(\":\")?t.split(\":\")[0]:t))]}function Yi(e){const t={};return Object.keys(e).forEach(n=>{if(n.includes(\":\"))t[n]=e[n];else{const r=le(e[n].accounts);r?.forEach(o=>{t[o]={accounts:e[n].accounts.filter(s=>s.includes(`${o}:`)),methods:e[n].methods,events:e[n].events}})}}),t}function Xi(e,t){return Ge(e,!1)&&e<=t.max&&e>=t.min}function Zi(){const e=ue();return new Promise(t=>{switch(e){case H.browser:t(Ur());break;case H.reactNative:t(_r());break;case H.node:t(Tr());break;default:t(!0)}})}function Ur(){return Ae()&&navigator?.onLine}async function _r(){if(ne()&&typeof global<\"u\"&&global!=null&&global.NetInfo){const e=await(global==null?void 0:global.NetInfo.fetch());return e?.isConnected}return!0}function Tr(){return!0}function Qi(e){switch(ue()){case H.browser:$r(e);break;case H.reactNative:Rr(e);break;case H.node:break}}function $r(e){!ne()&&Ae()&&(window.addEventListener(\"online\",()=>e(!0)),window.addEventListener(\"offline\",()=>e(!1)))}function Rr(e){ne()&&typeof global<\"u\"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(t=>e(t?.isConnected))}const Bt={};class ec{static get(t){return Bt[t]}static set(t,n){Bt[t]=n}static delete(t){delete Bt[t]}}export{Ot as BASE10,V as BASE16,At as BASE64,ti as BASE64URL,Gr as COLON,Qe as DEFAULT_DEPTH,Le as EMPTY_SPACE,H as ENV_MAP,mr as INTERNAL_ERRORS,ec as MemoryStore,Wr as ONE_THOUSAND,Ft as REACT_NATIVE_PRODUCT,sr as RELAYER_DEFAULT_PROTOCOL,yr as SDK_ERRORS,Gt as SDK_TYPE,qt as SLASH,Nt as TYPE_0,Oe as TYPE_1,_e as TYPE_2,Ie as UTF8,$n as addResourceToRecap,Wt as appendToQueryString,to as assertType,ft as assignAbilityToActions,_n as base64Decode,Un as base64Encode,$i as buildApprovedNamespaces,Qo as buildAuthObject,Ri as buildNamespacesFromAuth,Pn as buildRecapStatement,po as calcExpiry,co as capitalize,Qt as capitalizeWord,ao as createDelayedPromise,rs as createEncodedRecap,uo as createExpiringPromise,Tn as createRecap,oe as decodeRecap,fe as decodeTypeByte,li as decodeTypeTwoEnvelope,ui as decrypt,si as deriveSymKey,Fe as deserialize,De as encodeRecap,Ut as encodeTypeByte,fi as encodeTypeTwoEnvelope,ai as encrypt,yo as engineEvent,io as enumify,qo as extractSolanaTransactionId,Mt as formatAccountId,Vr as formatAccountWithChain,Dt as formatChainId,en as formatDeeplinkUrl,tt as formatExpirerTarget,lo as formatIdTarget,On as formatMessage,no as formatMessageContext,ar as formatRelayParams,Qr as formatRelayRpcUrl,dt as formatStatementFromRecap,fo as formatTopicTarget,Yt as formatUA,vi as formatUri,rt as fromBase64,ri as generateKeyPair,oi as generateRandomBytes32,le as getAccountsChains,Kr as getAccountsFromNamespaces,Vt as getAddressFromAccount,Hr as getAddressesFromAccounts,Yr as getAppId,Xr as getAppMetadata,Ur as getBrowserOnlineStatus,Ht as getChainFromAccount,Kt as getChainsFromAccounts,Be as getChainsFromNamespace,Fr as getChainsFromNamespaces,is as getChainsFromRecap,qr as getChainsFromRequiredNamespaces,nt as getCommonValuesInArrays,or as getCryptoKeyFromKeyData,An as getDecodedRecapFromResources,bo as getDeepLink,ut as getDidAddress,ke as getDidAddressSegments,xn as getDidChainId,ue as getEnvironment,eo as getHttpUrl,te as getInternalError,Jt as getJavascriptID,zt as getJavascriptOS,Zt as getLastItems,xi as getLinkModeURL,ss as getMethodsFromRecap,In as getNamespacedDidChainId,lr as getNamespacesChains,hr as getNamespacesEventsForChainId,gr as getNamespacesFromAccounts,dr as getNamespacesMethodsForChainId,Tr as getNodeOnlineStatus,Sn as getReCapActions,_r as getReactNativeOnlineStatus,ns as getRecapAbilitiesFromResource,Me as getRecapFromResources,Nn as getRecapResource,Zr as getRelayClientMetadata,wi as getRelayProtocolApi,bi as getRelayProtocolName,Ti as getRequiredNamespacesFromNamespaces,de as getSdkError,wo as getSearchParamFromURL,Ze as getUniqueValues,mo as handleDeeplinkRedirect,re as hasOverlap,ct as hashEthereumMessage,ii as hashKey,ci as hashMessage,zr as isAndroid,Ae as isBrowser,Tt as isCaipNamespace,Nr as isConformingNamespaces,go as isExpired,rn as isIframe,Jr as isIos,et as isNode,Zi as isOnline,Li as isProposalStruct,ne as isReactNative,lt as isRecap,Pi as isSessionCompatible,ji as isSessionStruct,nn as isTelegram,vo as isTestRun,hi as isTypeOneEnvelope,pi as isTypeTwoEnvelope,ae as isUndefined,br as isValidAccountId,vr as isValidAccounts,Ir as isValidActions,$e as isValidArray,Re as isValidChainId,wr as isValidChains,Ci as isValidController,bn as isValidEip1271Signature,mn as isValidEip191Signature,Hi as isValidErrorReason,qi as isValidEvent,Mi as isValidId,xr as isValidNamespaceAccounts,Pt as isValidNamespaceActions,Er as isValidNamespaceChains,Rt as isValidNamespaceMethodsOrEvents,Or as isValidNamespaces,Gi as isValidNamespacesChainId,zi as isValidNamespacesEvent,Wi as isValidNamespacesRequest,Ge as isValidNumber,qe as isValidObject,Vi as isValidParams,Y as isValidRecap,Ar as isValidRelay,Di as isValidRelays,Ki as isValidRequest,Xi as isValidRequestExpiry,ki as isValidRequiredNamespaces,Fi as isValidResponse,q as isValidString,Bi as isValidUrl,so as mapEntries,ro as mapToObj,Q as mergeArrays,os as mergeEncodedRecaps,Rn as mergeRecaps,$t as normalizeNamespaces,oo as objToMap,tn as openDeeplink,Xe as parseAccountId,Ye as parseChainId,Xt as parseContextNames,ho as parseExpirerTarget,pr as parseNamespaceKey,ir as parseRelayParams,cr as parseTopic,Ei as parseUri,es as populateAuthPayload,ts as recapHasResource,_t as serialize,xo as sleep,$r as subscribeToBrowserNetworkChange,Qi as subscribeToNetworkChange,Rr as subscribeToReactNativeNetworkChange,on as toBase64,Eo as uuidv4,di as validateDecoding,rr as validateEncoding,Zo as validateSignedCacao,mi as verifyP256Jwt,yn as verifySignature};\n//# sourceMappingURL=index.es.js.map\n","import Gi,{EventEmitter as ee}from\"events\";import{HEARTBEAT_EVENTS as ne,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 te,SIX_HOURS as cs,THIRTY_DAYS as Ce,FIVE_SECONDS as Pe,THIRTY_SECONDS as Se,toMiliseconds as O,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 Re,objToMap as Oe,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,isProposalStruct as Cs,isSessionStruct as Ps,parseExpirerTarget as Ss,TYPE_1 as Rs,formatUri as dt,parseUri as gt,createDelayedPromise as Os,engineEvent as Ne,isExpired as pt,isValidParams as $e,isValidUrl as As,isValidString as xs,formatTopicTarget as Ns,formatIdTarget as $s,isTestRun as yt,isBrowser as zs,verifyP256Jwt as Ls,uuidv4 as bt,formatUA as ks,getAppMetadata as js}from\"@walletconnect/utils\";import{toString as Us}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 Fs,isJsonRpcResult as Ks,isJsonRpcError as _t}from\"@walletconnect/jsonrpc-utils\";import Bs from\"@walletconnect/jsonrpc-ws-connection\";import{getDocument as Vs}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=te,Pt=\"keychain\",St=\"0.3\",Rt=\"messages\",Ot=\"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,qs={database:\":memory:\"},_e=\"2.19.1\",Gs=1e4,Q={link_mode:\"link_mode\",relay:\"relay\"},le={inbound:\"inbound\",outbound:\"outbound\"},kt=\"0.3\",jt=\"WALLETCONNECT_CLIENT_ID\",Me=\"WALLETCONNECT_LINK_MODE_APPS\",$={created:\"subscription_created\",deleted:\"subscription_deleted\",expired:\"subscription_expired\",disabled:\"subscription_disabled\",sync:\"subscription_sync\",resubscribed:\"subscription_resubscribed\"},Ws=Ce,Ut=\"subscription\",Mt=\"0.3\",Hs=Pe*1e3,Ft=\"pairing\",Kt=\"0.3\",Ys=Ce,ie={wc_pairingDelete:{req:{ttl:te,prompt:!1,tag:1e3},res:{ttl:te,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:Se,prompt:!1,tag:1002},res:{ttl:Se,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:te,prompt:!1,tag:0},res:{ttl:te,prompt:!1,tag:0}}},se={create:\"pairing_create\",expire:\"pairing_expire\",delete:\"pairing_delete\",ping:\"pairing_ping\"},M={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},Bt=\"history\",Vt=\"0.3\",qt=\"expirer\",F={created:\"expirer_created\",deleted:\"expirer_deleted\",expired:\"expirer_expired\",sync:\"expirer_sync\"},Gt=\"0.3\",Js=te,Wt=\"verify-api\",Xs=\"https://verify.walletconnect.com\",Ht=\"https://verify.walletconnect.org\",ue=Ht,Yt=`${ue}/v3`,Jt=[Xs,Ht],Xt=\"echo\",Zt=\"https://echo.walletconnect.com\",Zs=\"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\"},Qs={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\"},er={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\"},tr={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\"},ir={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 sr(r,e){if(r.length>=255)throw new TypeError(\"Alphabet too long\");for(var t=new Uint8Array(256),s=0;s<t.length;s++)t[s]=255;for(var i=0;i<r.length;i++){var n=r.charAt(i),o=n.charCodeAt(0);if(t[o]!==255)throw new TypeError(n+\" is ambiguous\");t[o]=i}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function d(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError(\"Expected Uint8Array\");if(l.length===0)return\"\";for(var b=0,x=0,I=0,D=l.length;I!==D&&l[I]===0;)I++,b++;for(var j=(D-I)*u+1>>>0,T=new Uint8Array(j);I!==D;){for(var q=l[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(l){if(typeof l!=\"string\")throw new TypeError(\"Expected String\");if(l.length===0)return new Uint8Array;var b=0;if(l[b]!==\" \"){for(var x=0,I=0;l[b]===c;)x++,b++;for(var D=(l.length-b)*h+1>>>0,j=new Uint8Array(D);l[b];){var T=t[l.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(l[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 _(l){var b=g(l);if(b)return b;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:g,decode:_}}var rr=sr,nr=rr;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\")},or=r=>new TextEncoder().encode(r),ar=r=>new TextDecoder().decode(r);class cr{constructor(e,t,s){this.name=e,this.prefix=t,this.baseEncode=s}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(\"Unknown type, must be binary type\")}}class hr{constructor(e,t,s){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=s}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 lr{constructor(e){this.decoders=e}or(e){return ri(this,e)}decode(e){const t=e[0],s=this.decoders[t];if(s)return s.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 lr({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class ur{constructor(e,t,s,i){this.name=e,this.prefix=t,this.baseEncode=s,this.baseDecode=i,this.encoder=new cr(e,t,s),this.decoder=new hr(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Ee=({name:r,prefix:e,encode:t,decode:s})=>new ur(r,e,t,s),de=({prefix:r,name:e,alphabet:t})=>{const{encode:s,decode:i}=nr(t,e);return Ee({prefix:r,name:e,encode:s,decode:n=>si(i(n))})},dr=(r,e,t,s)=>{const i={};for(let u=0;u<e.length;++u)i[e[u]]=u;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 u=0;u<n;++u){const d=i[r[u]];if(d===void 0)throw new SyntaxError(`Non-${s} 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},gr=(r,e,t)=>{const s=e[e.length-1]===\"=\",i=(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[i&a>>o];if(o&&(n+=e[i&a<<t-o]),s)for(;n.length*t&7;)n+=\"=\";return n},P=({name:r,prefix:e,bitsPerChar:t,alphabet:s})=>Ee({prefix:e,name:r,encode(i){return gr(i,s,t)},decode(i){return dr(i,s,t,r)}}),pr=Ee({prefix:\"\\0\",name:\"identity\",encode:r=>ar(r),decode:r=>or(r)});var yr=Object.freeze({__proto__:null,identity:pr});const br=P({prefix:\"0\",name:\"base2\",alphabet:\"01\",bitsPerChar:1});var mr=Object.freeze({__proto__:null,base2:br});const fr=P({prefix:\"7\",name:\"base8\",alphabet:\"01234567\",bitsPerChar:3});var Dr=Object.freeze({__proto__:null,base8:fr});const vr=de({prefix:\"9\",name:\"base10\",alphabet:\"0123456789\"});var wr=Object.freeze({__proto__:null,base10:vr});const _r=P({prefix:\"f\",name:\"base16\",alphabet:\"0123456789abcdef\",bitsPerChar:4}),Er=P({prefix:\"F\",name:\"base16upper\",alphabet:\"0123456789ABCDEF\",bitsPerChar:4});var Ir=Object.freeze({__proto__:null,base16:_r,base16upper:Er});const Tr=P({prefix:\"b\",name:\"base32\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567\",bitsPerChar:5}),Cr=P({prefix:\"B\",name:\"base32upper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\",bitsPerChar:5}),Pr=P({prefix:\"c\",name:\"base32pad\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567=\",bitsPerChar:5}),Sr=P({prefix:\"C\",name:\"base32padupper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=\",bitsPerChar:5}),Rr=P({prefix:\"v\",name:\"base32hex\",alphabet:\"0123456789abcdefghijklmnopqrstuv\",bitsPerChar:5}),Or=P({prefix:\"V\",name:\"base32hexupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV\",bitsPerChar:5}),Ar=P({prefix:\"t\",name:\"base32hexpad\",alphabet:\"0123456789abcdefghijklmnopqrstuv=\",bitsPerChar:5}),xr=P({prefix:\"T\",name:\"base32hexpadupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV=\",bitsPerChar:5}),Nr=P({prefix:\"h\",name:\"base32z\",alphabet:\"ybndrfg8ejkmcpqxot1uwisza345h769\",bitsPerChar:5});var $r=Object.freeze({__proto__:null,base32:Tr,base32upper:Cr,base32pad:Pr,base32padupper:Sr,base32hex:Rr,base32hexupper:Or,base32hexpad:Ar,base32hexpadupper:xr,base32z:Nr});const zr=de({prefix:\"k\",name:\"base36\",alphabet:\"0123456789abcdefghijklmnopqrstuvwxyz\"}),Lr=de({prefix:\"K\",name:\"base36upper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"});var kr=Object.freeze({__proto__:null,base36:zr,base36upper:Lr});const jr=de({name:\"base58btc\",prefix:\"z\",alphabet:\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"}),Ur=de({name:\"base58flickr\",prefix:\"Z\",alphabet:\"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ\"});var Mr=Object.freeze({__proto__:null,base58btc:jr,base58flickr:Ur});const Fr=P({prefix:\"m\",name:\"base64\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",bitsPerChar:6}),Kr=P({prefix:\"M\",name:\"base64pad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",bitsPerChar:6}),Br=P({prefix:\"u\",name:\"base64url\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\",bitsPerChar:6}),Vr=P({prefix:\"U\",name:\"base64urlpad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=\",bitsPerChar:6});var qr=Object.freeze({__proto__:null,base64:Fr,base64pad:Kr,base64url:Br,base64urlpad:Vr});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}\"),Gr=ni.reduce((r,e,t)=>(r[t]=e,r),[]),Wr=ni.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Hr(r){return r.reduce((e,t)=>(e+=Gr[t],e),\"\")}function Yr(r){const e=[];for(const t of r){const s=Wr[t.codePointAt(0)];if(s===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(s)}return new Uint8Array(e)}const Jr=Ee({prefix:\"\\u{1F680}\",name:\"base256emoji\",encode:Hr,decode:Yr});var Xr=Object.freeze({__proto__:null,base256emoji:Jr}),Zr=ai,oi=128,Qr=127,en=~Qr,tn=Math.pow(2,31);function ai(r,e,t){e=e||[],t=t||0;for(var s=t;r>=tn;)e[t++]=r&255|oi,r/=128;for(;r&en;)e[t++]=r&255|oi,r>>>=7;return e[t]=r|0,ai.bytes=t-s+1,e}var sn=Fe,rn=128,ci=127;function Fe(r,s){var t=0,s=s||0,i=0,n=s,o,a=r.length;do{if(n>=a)throw Fe.bytes=0,new RangeError(\"Could not decode varint\");o=r[n++],t+=i<28?(o&ci)<<i:(o&ci)*Math.pow(2,i),i+=7}while(o>=rn);return Fe.bytes=n-s,t}var nn=Math.pow(2,7),on=Math.pow(2,14),an=Math.pow(2,21),cn=Math.pow(2,28),hn=Math.pow(2,35),ln=Math.pow(2,42),un=Math.pow(2,49),dn=Math.pow(2,56),gn=Math.pow(2,63),pn=function(r){return r<nn?1:r<on?2:r<an?3:r<cn?4:r<hn?5:r<ln?6:r<un?7:r<dn?8:r<gn?9:10},yn={encode:Zr,decode:sn,encodingLength:pn},hi=yn;const li=(r,e,t=0)=>(hi.encode(r,e,t),e),ui=r=>hi.encodingLength(r),Ke=(r,e)=>{const t=e.byteLength,s=ui(r),i=s+ui(t),n=new Uint8Array(i+t);return li(r,n,0),li(t,n,s),n.set(e,i),new bn(r,t,e,n)};class bn{constructor(e,t,s,i){this.code=e,this.size=t,this.digest=s,this.bytes=i}}const di=({name:r,code:e,encode:t})=>new mn(r,e,t);class mn{constructor(e,t,s){this.name=e,this.code=t,this.encode=s}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?Ke(this.code,t):t.then(s=>Ke(this.code,s))}else throw Error(\"Unknown type, must be binary type\")}}const gi=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),fn=di({name:\"sha2-256\",code:18,encode:gi(\"SHA-256\")}),Dn=di({name:\"sha2-512\",code:19,encode:gi(\"SHA-512\")});var vn=Object.freeze({__proto__:null,sha256:fn,sha512:Dn});const pi=0,wn=\"identity\",yi=si,_n=r=>Ke(pi,yi(r)),En={code:pi,name:wn,encode:yi,digest:_n};var In=Object.freeze({__proto__:null,identity:En});new TextEncoder,new TextDecoder;const bi={...yr,...mr,...Dr,...wr,...Ir,...$r,...kr,...Mr,...qr,...Xr};({...vn,...In});function Tn(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function mi(r,e,t,s){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:s}}}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=Tn(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Cn={utf8:fi,\"utf-8\":fi,hex:bi.base16,latin1:Be,ascii:Be,binary:Be,...bi};function Pn(r,e=\"utf8\"){const t=Cn[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 Sn=Object.defineProperty,Rn=(r,e,t)=>e in r?Sn(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 s=await this.getKeyChain();typeof s<\"u\"&&(this.keychain=s),this.initialized=!0}}),W(this,\"has\",s=>(this.isInitialized(),this.keychain.has(s))),W(this,\"set\",async(s,i)=>{this.isInitialized(),this.keychain.set(s,i),await this.persist()}),W(this,\"get\",s=>{this.isInitialized();const i=this.keychain.get(s);if(typeof i>\"u\"){const{message:n}=m(\"NO_MATCHING_KEY\",`${this.name}: ${s}`);throw new Error(n)}return i}),W(this,\"del\",async s=>{this.isInitialized(),this.keychain.delete(s),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,Re(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?Oe(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 On=Object.defineProperty,An=(r,e,t)=>e in r?On(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,S=(r,e,t)=>An(r,typeof e!=\"symbol\"?e+\"\":e,t);class vi{constructor(e,t,s){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\",i=>(this.isInitialized(),this.keychain.has(i))),S(this,\"getClientId\",async()=>{this.isInitialized();const i=await this.getClientSeed(),n=De.generateKeyPair(i);return De.encodeIss(n.publicKey)}),S(this,\"generateKeyPair\",()=>{this.isInitialized();const i=ls();return this.setPrivateKey(i.publicKey,i.privateKey)}),S(this,\"signJWT\",async i=>{this.isInitialized();const n=await this.getClientSeed(),o=De.generateKeyPair(n),a=this.randomSessionIdentifier,c=Ct;return await De.signJWT(a,i,c,o)}),S(this,\"generateSharedKey\",(i,n,o)=>{this.isInitialized();const a=this.getPrivateKey(i),c=us(a,n);return this.setSymKey(c,o)}),S(this,\"setSymKey\",async(i,n)=>{this.isInitialized();const o=n||ds(i);return await this.keychain.set(o,i),o}),S(this,\"deleteKeyPair\",async i=>{this.isInitialized(),await this.keychain.del(i)}),S(this,\"deleteSymKey\",async i=>{this.isInitialized(),await this.keychain.del(i)}),S(this,\"encode\",async(i,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;i=await this.generateSharedKey(g,_)}const h=this.getSymKey(i),{type:u,senderPublicKey:d}=a;return ys({type:u,symKey:h,message:c,senderPublicKey:d,encoding:o?.encoding})}),S(this,\"decode\",async(i,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;i=await this.generateSharedKey(c,h)}try{const c=this.getSymKey(i),h=fs({symKey:c,encoded:n,encoding:o?.encoding});return st(h)}catch(c){this.logger.error(`Failed to decode message from topic: '${i}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}}),S(this,\"getPayloadType\",(i,n=ct)=>{const o=at({encoded:i,encoding:n});return Ds(o.type)}),S(this,\"getPayloadSenderPublicKey\",(i,n=ct)=>{const o=at({encoded:i,encoding:n});return o.senderPublicKey?Us(o.senderPublicKey,vs):void 0}),this.core=e,this.logger=N(t,this.name),this.keychain=s||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 Pn(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 xn=Object.defineProperty,Nn=Object.defineProperties,$n=Object.getOwnPropertyDescriptors,wi=Object.getOwnPropertySymbols,zn=Object.prototype.hasOwnProperty,Ln=Object.prototype.propertyIsEnumerable,Ve=(r,e,t)=>e in r?xn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,kn=(r,e)=>{for(var t in e||(e={}))zn.call(e,t)&&Ve(r,t,e[t]);if(wi)for(var t of wi(e))Ln.call(e,t)&&Ve(r,t,e[t]);return r},jn=(r,e)=>Nn(r,$n(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\",Rt),k(this,\"version\",Ot),k(this,\"initialized\",!1),k(this,\"storagePrefix\",B),k(this,\"init\",async()=>{if(!this.initialized){this.logger.trace(\"Initialized\");try{const s=await this.getRelayerMessages();typeof s<\"u\"&&(this.messages=s);const i=await this.getRelayerMessagesWithoutClientAck();typeof i<\"u\"&&(this.messagesWithoutClientAck=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",size:this.messages.size})}catch(s){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(s)}finally{this.initialized=!0}}}),k(this,\"set\",async(s,i,n)=>{this.isInitialized();const o=ve(i);let a=this.messages.get(s);if(typeof a>\"u\"&&(a={}),typeof a[o]<\"u\")return o;if(a[o]=i,this.messages.set(s,a),n===le.inbound){const c=this.messagesWithoutClientAck.get(s)||{};this.messagesWithoutClientAck.set(s,jn(kn({},c),{[o]:i}))}return await this.persist(),o}),k(this,\"get\",s=>{this.isInitialized();let i=this.messages.get(s);return typeof i>\"u\"&&(i={}),i}),k(this,\"getWithoutAck\",s=>{this.isInitialized();const i={};for(const n of s){const o=this.messagesWithoutClientAck.get(n)||{};i[n]=Object.values(o)}return i}),k(this,\"has\",(s,i)=>{this.isInitialized();const n=this.get(s),o=ve(i);return typeof n[o]<\"u\"}),k(this,\"ack\",async(s,i)=>{this.isInitialized();const n=this.messagesWithoutClientAck.get(s);if(typeof n>\"u\")return;const o=ve(i);delete n[o],Object.keys(n).length===0?this.messagesWithoutClientAck.delete(s):this.messagesWithoutClientAck.set(s,n),await this.persist()}),k(this,\"del\",async s=>{this.isInitialized(),this.messages.delete(s),this.messagesWithoutClientAck.delete(s),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,Re(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,Re(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?Oe(e):void 0}async getRelayerMessagesWithoutClientAck(){const e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<\"u\"?Oe(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 Un=Object.defineProperty,Mn=Object.defineProperties,Fn=Object.getOwnPropertyDescriptors,Ei=Object.getOwnPropertySymbols,Kn=Object.prototype.hasOwnProperty,Bn=Object.prototype.propertyIsEnumerable,qe=(r,e,t)=>e in r?Un(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ie=(r,e)=>{for(var t in e||(e={}))Kn.call(e,t)&&qe(r,t,e[t]);if(Ei)for(var t of Ei(e))Bn.call(e,t)&&qe(r,t,e[t]);return r},Ge=(r,e)=>Mn(r,Fn(e)),V=(r,e,t)=>qe(r,typeof e!=\"symbol\"?e+\"\":e,t);class Vn 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\",O(tt)),V(this,\"initialPublishTimeout\",O(Z*15)),V(this,\"needsTransportRestart\",!1),V(this,\"publish\",async(s,i,n)=>{var o;this.logger.debug(\"Publishing Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{topic:s,message:i,opts:n}});const a=n?.ttl||je,c=we(n),h=n?.prompt||!1,u=n?.tag||0,d=n?.id||mt().toString(),g={topic:s,message:i,opts:{ttl:a,relay:c,prompt:h,tag:u,id:d,attestation:n?.attestation,tvf:n?.tvf}},_=`Failed to publish payload, please try again. id:${d} tag:${u}`;try{const l=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:s,message:i,ttl:a,prompt:h,tag:u,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:${u}`);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:s,message:i,opts:n}}),await X(l,this.publishTimeout,_)}catch(l){if(this.logger.debug(\"Failed to Publish Payload\"),this.logger.error(l),(o=n?.internal)!=null&&o.throwOnFailedPublish)throw l}finally{this.queue.delete(d)}}),V(this,\"on\",(s,i)=>{this.events.on(s,i)}),V(this,\"once\",(s,i)=>{this.events.once(s,i)}),V(this,\"off\",(s,i)=>{this.events.off(s,i)}),V(this,\"removeListener\",(s,i)=>{this.events.removeListener(s,i)}),this.relayer=e,this.logger=N(t,this.name),this.registerEventListeners()}get context(){return U(this.logger)}async rpcPublish(e){var t,s,i,n;const{topic:o,message:a,ttl:c=je,prompt:h,tag:u,id:d,attestation:g,tvf:_}=e,l={method:oe(we().protocol).publish,params:Ie({topic:o,message:a,ttl:c,prompt:h,tag:u,attestation:g},_),id:d};xe((t=l.params)==null?void 0:t.prompt)&&((s=l.params)==null||delete s.prompt),xe((i=l.params)==null?void 0:i.tag)&&((n=l.params)==null||delete n.tag),this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"message\",direction:\"outgoing\",request:l});const b=await this.relayer.request(l);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 s=e.attempt+1;this.queue.set(t,Ge(Ie({},e),{attempt:s}));const{topic:i,message:n,opts:o,attestation:a}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${s}`),await this.rpcPublish(Ge(Ie({},e),{topic:i,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(ne.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 qn=Object.defineProperty,Gn=(r,e,t)=>e in r?qn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,re=(r,e,t)=>Gn(r,typeof e!=\"symbol\"?e+\"\":e,t);class Wn{constructor(){re(this,\"map\",new Map),re(this,\"set\",(e,t)=>{const s=this.get(e);this.exists(e,t)||this.map.set(e,[...s,t])}),re(this,\"get\",e=>this.map.get(e)||[]),re(this,\"exists\",(e,t)=>this.get(e).includes(t)),re(this,\"delete\",(e,t)=>{if(typeof t>\"u\"){this.map.delete(e);return}if(!this.map.has(e))return;const s=this.get(e);if(!this.exists(e,t))return;const i=s.filter(n=>n!==t);if(!i.length){this.map.delete(e);return}this.map.set(e,i)}),re(this,\"clear\",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var Hn=Object.defineProperty,Yn=Object.defineProperties,Jn=Object.getOwnPropertyDescriptors,Ii=Object.getOwnPropertySymbols,Xn=Object.prototype.hasOwnProperty,Zn=Object.prototype.propertyIsEnumerable,We=(r,e,t)=>e in r?Hn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ge=(r,e)=>{for(var t in e||(e={}))Xn.call(e,t)&&We(r,t,e[t]);if(Ii)for(var t of Ii(e))Zn.call(e,t)&&We(r,t,e[t]);return r},He=(r,e)=>Yn(r,Jn(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 Wn),f(this,\"events\",new ee),f(this,\"name\",Ut),f(this,\"version\",Mt),f(this,\"pending\",new Map),f(this,\"cached\",[]),f(this,\"initialized\",!1),f(this,\"storagePrefix\",B),f(this,\"subscribeTimeout\",O(tt)),f(this,\"initialSubscribeTimeout\",O(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(s,i)=>{this.isInitialized(),this.logger.debug(\"Subscribing Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:s,opts:i}});try{const n=we(i),o={topic:s,relay:n,transportType:i?.transportType};this.pending.set(s,o);const a=await this.rpcSubscribe(s,n,i);return typeof a==\"string\"&&(this.onSubscribe(a,o),this.logger.debug(\"Successfully Subscribed Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:s,opts:i}})),a}catch(n){throw this.logger.debug(\"Failed to Subscribe Topic\"),this.logger.error(n),n}}),f(this,\"unsubscribe\",async(s,i)=>{this.isInitialized(),typeof i?.id<\"u\"?await this.unsubscribeById(s,i.id,i):await this.unsubscribeByTopic(s,i)}),f(this,\"isSubscribed\",s=>new Promise(i=>{i(this.topicMap.topics.includes(s))})),f(this,\"isKnownTopic\",s=>new Promise(i=>{i(this.topicMap.topics.includes(s)||this.pending.has(s)||this.cached.some(n=>n.topic===s))})),f(this,\"on\",(s,i)=>{this.events.on(s,i)}),f(this,\"once\",(s,i)=>{this.events.once(s,i)}),f(this,\"off\",(s,i)=>{this.events.off(s,i)}),f(this,\"removeListener\",(s,i)=>{this.events.removeListener(s,i)}),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 s=[];this.pending.forEach(i=>{s.push(i)}),await this.batchSubscribe(s)}),f(this,\"registerEventListeners\",()=>{this.relayer.core.heartbeat.on(ne.pulse,async()=>{await this.checkPending()}),this.events.on($.created,async s=>{const i=$.created;this.logger.info(`Emitting ${i}`),this.logger.debug({type:\"event\",event:i,data:s}),await this.persist()}),this.events.on($.deleted,async s=>{const i=$.deleted;this.logger.info(`Emitting ${i}`),this.logger.debug({type:\"event\",event:i,data:s}),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 s=!1;try{s=this.getSubscription(e).topic===t}catch{}return s}reset(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const s=this.topicMap.get(e);await Promise.all(s.map(async i=>await this.unsubscribeById(e,i,t)))}async unsubscribeById(e,t,s){this.logger.debug(\"Unsubscribing Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:s}});try{const i=we(s);await this.restartToComplete({topic:e,id:t,relay:i}),await this.rpcUnsubscribe(e,t,i);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:s}})}catch(i){throw this.logger.debug(\"Failed to Unsubscribe Topic\"),this.logger.error(i),i}}async rpcSubscribe(e,t,s){var i;(!s||s?.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=(i=s?.internal)==null?void 0:i.throwOnFailedPublish;try{const a=await this.getSubscriptionId(e);if(s?.transportType===Q.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(n).catch(u=>this.logger.warn(u))},O(Z)),a;const c=new Promise(async u=>{const d=g=>{g.topic===e&&(this.events.removeListener($.created,d),u(g.id))};this.events.on($.created,d);try{const g=await X(new Promise((_,l)=>{this.relayer.request(n).catch(b=>{this.logger.warn(b,b?.message),l(b)}).then(_)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener($.created,d),u(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,s={method:oe(t.protocol).batchSubscribe,params:{topics:e.map(i=>i.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:s});try{await await X(new Promise(i=>{this.relayer.request(s).catch(n=>this.logger.warn(n)).then(i)}),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,s={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:s});let i;try{i=await await X(new Promise((n,o)=>{this.relayer.request(s).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 i}rpcUnsubscribe(e,t,s){const i={method:oe(s.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i}),this.relayer.request(i)}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,s){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,s),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:s}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(s)}return t}deleteSubscription(e,t){this.logger.debug(\"Deleting subscription\"),this.logger.trace({type:\"method\",method:\"deleteSubscription\",id:e,reason:t});const s=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(s.topic,e),this.events.emit($.deleted,He(ge({},s),{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 s=0;s<t;s++){const i=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(i)}}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(O(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 Qn=Object.defineProperty,Ci=Object.getOwnPropertySymbols,eo=Object.prototype.hasOwnProperty,to=Object.prototype.propertyIsEnumerable,Ye=(r,e,t)=>e in r?Qn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Pi=(r,e)=>{for(var t in e||(e={}))eo.call(e,t)&&Ye(r,t,e[t]);if(Ci)for(var t of Ci(e))to.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\",O(Se+Pe)),y(this,\"reconnectTimeout\"),y(this,\"connectPromise\"),y(this,\"reconnectInProgress\",!1),y(this,\"requestsInFlight\",[]),y(this,\"connectTimeout\",O(Z*15)),y(this,\"request\",async t=>{var s,i;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:(s=t.params)==null?void 0:s.topic},\"relayer.request - publishing...\");const o=`${n}:${((i=t.params)==null?void 0:i.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,s,i,n;try{this.logger.debug({},\"pingTimeout: Connection stalled, terminating...\"),(n=(i=(s=(t=this.provider)==null?void 0:t.connection)==null?void 0:s.socket)==null?void 0:i.terminate)==null||n.call(i)}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 Vn(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,s;return((s=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:s.readyState)===1||!1}get connecting(){var e,t,s;return((s=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:s.readyState)===0||this.connectPromise!==void 0||!1}async publish(e,t,s){this.isInitialized(),await this.publisher.publish(e,t,s),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:Q.relay},le.outbound)}async subscribe(e,t){var s,i,n;this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType===\"relay\")&&await this.toEstablishConnection();const o=typeof((s=t?.internal)==null?void 0:s.throwOnFailedPublish)>\"u\"?!0:(i=t?.internal)==null?void 0:i.throwOnFailedPublish;let a=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||\"\",c;const h=u=>{u.topic===e&&(this.subscriber.off($.created,h),c())};return await Promise.all([new Promise(u=>{c=u,this.subscriber.on($.created,h)}),new Promise(async(u,d)=>{a=await this.subscriber.subscribe(e,Pi({internal:{throwOnFailedPublish:o}},t)).catch(g=>{o&&d(g)})||a,u()})]),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,s)=>{await this.connect(e).then(t).catch(s).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((s,i)=>s.publishedAt-i.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(const s of t)try{await this.onMessageEvent(s)}catch(i){this.logger.warn(i,\"Error while processing batch message event: \"+i?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){const{topic:s}=e;if(!t.sessionExists){const i=ce(fe),n={topic:s,expiry:i,relay:{protocol:\"irn\"},active:!1};await this.core.pairing.pairings.set(s,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(s,i)=>{const n=()=>{i(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=>{i(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,s()})}catch(s){await this.subscriber.stop();const i=s;this.logger.warn({},i.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(s=>setTimeout(s,O(t*1))),t++}}startPingTimeout(){var e,t,s,i,n;if(ut())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((n=(i=(s=this.provider)==null?void 0:s.connection)==null?void 0:i.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 Bs(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:s,message:i}=e;await this.messages.set(s,i,t)}async shouldIgnoreMessageEvent(e){const{topic:t,message:s}=e;if(!s||s.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${s}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;const i=this.messages.has(t,s);return i&&this.logger.warn(`Ignoring duplicate message: ${s}`),i}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:s,message:i,publishedAt:n,attestation:o}=t.data,a={topic:s,message:i,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(s=>this.logger.error(s,s?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}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},O(Lt)))))}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&await this.connect()}}function io(){}function Ri(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 Oi(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 so=\"[object RegExp]\",ro=\"[object String]\",no=\"[object Number]\",oo=\"[object Boolean]\",xi=\"[object Arguments]\",ao=\"[object Symbol]\",co=\"[object Date]\",ho=\"[object Map]\",lo=\"[object Set]\",uo=\"[object Array]\",go=\"[object Function]\",po=\"[object ArrayBuffer]\",Je=\"[object Object]\",yo=\"[object Error]\",bo=\"[object DataView]\",mo=\"[object Uint8Array]\",fo=\"[object Uint8ClampedArray]\",Do=\"[object Uint16Array]\",vo=\"[object Uint32Array]\",wo=\"[object BigUint64Array]\",_o=\"[object Int8Array]\",Eo=\"[object Int16Array]\",Io=\"[object Int32Array]\",To=\"[object BigInt64Array]\",Co=\"[object Float32Array]\",Po=\"[object Float64Array]\";function So(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,s,i,n,o){const a=o(r,e,t,s,i,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,s){if(Object.is(r,e))return!0;let i=Ai(r),n=Ai(e);if(i===xi&&(i=Je),n===xi&&(n=Je),i!==n)return!1;switch(i){case ro:return r.toString()===e.toString();case no:{const c=r.valueOf(),h=e.valueOf();return So(c,h)}case oo:case co:case ao:return Object.is(r.valueOf(),e.valueOf());case so:return r.source===e.source&&r.flags===e.flags;case go: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(i){case ho:{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,s))return!1;return!0}case lo:{if(r.size!==e.size)return!1;const c=Array.from(r.values()),h=Array.from(e.values());for(let u=0;u<c.length;u++){const d=c[u],g=h.findIndex(_=>pe(d,_,void 0,r,e,t,s));if(g===-1)return!1;h.splice(g,1)}return!0}case uo:case mo:case fo:case Do:case vo:case wo:case _o:case Eo:case Io:case To:case Co:case Po:{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,s))return!1;return!0}case po:return r.byteLength!==e.byteLength?!1:ye(new Uint8Array(r),new Uint8Array(e),t,s);case bo:return r.byteLength!==e.byteLength||r.byteOffset!==e.byteOffset?!1:ye(new Uint8Array(r),new Uint8Array(e),t,s);case yo:return r.name===e.name&&r.message===e.message;case Je:{if(!(ye(r.constructor,e.constructor,t,s)||Ri(r)&&Ri(e)))return!1;const h=[...Object.keys(r),...Oi(r)],u=[...Object.keys(e),...Oi(e)];if(h.length!==u.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 l=e[g];if(!pe(_,l,g,r,e,t,s))return!1}return!0}default:return!1}}finally{t.delete(r),t.delete(e)}}function Oo(r,e){return Ro(r,e,io)}var Ao=Object.defineProperty,Ni=Object.getOwnPropertySymbols,xo=Object.prototype.hasOwnProperty,No=Object.prototype.propertyIsEnumerable,Xe=(r,e,t)=>e in r?Ao(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,$i=(r,e)=>{for(var t in e||(e={}))xo.call(e,t)&&Xe(r,t,e[t]);if(Ni)for(var t of Ni(e))No.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,s,i=B,n=void 0){super(e,t,s,i),this.core=e,this.logger=t,this.name=s,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):Cs(o)?this.map.set(o.id,o):Ps(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=>Oo(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=i,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:i}=m(\"MISSING_OR_INVALID\",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}const{message:s}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.error(s),new Error(s)}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 $o=Object.defineProperty,zo=(r,e,t)=>e in r?$o(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,p=(r,e,t)=>zo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Li{constructor(e,t){this.core=e,this.logger=t,p(this,\"name\",Ft),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:s})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...s])]}),p(this,\"create\",async s=>{this.isInitialized();const i=Ae(),n=await this.core.crypto.setSymKey(i),o=ce(fe),a={protocol:xt},c={topic:n,expiry:o,relay:a,active:!1,methods:s?.methods},h=dt({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:i,relay:a,expiryTimestamp:o,methods:s?.methods});return this.events.emit(se.create,c),this.core.expirer.set(n,o),await this.pairings.set(n,c),await this.core.relayer.subscribe(n,{transportType:s?.transportType}),{topic:n,uri:h}}),p(this,\"pair\",async s=>{this.isInitialized();const i=this.core.eventClient.createEvent({properties:{topic:s?.uri,trace:[G.pairing_started]}});this.isValidPair(s,i);const{topic:n,symKey:o,relay:a,expiryTimestamp:c,methods:h}=gt(s.uri);i.props.properties.topic=n,i.addTrace(G.pairing_uri_validation_success),i.addTrace(G.pairing_uri_not_expired);let u;if(this.pairings.keys.includes(n)){if(u=this.pairings.get(n),i.addTrace(G.existing_pairing),u.active)throw i.setError(Y.active_pairing_already_exists),new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);i.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),i.addTrace(G.store_new_pairing),s.activatePairing&&await this.activate({topic:n}),this.events.emit(se.create,g),i.addTrace(G.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(o,n),i.addTrace(G.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{i.setError(Y.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:a})}catch(_){throw i.setError(Y.subscribe_pairing_topic_failure),_}return i.addTrace(G.subscribe_pairing_topic_success),g}),p(this,\"activate\",async({topic:s})=>{this.isInitialized();const i=ce(fe);this.core.expirer.set(s,i),await this.pairings.update(s,{active:!0,expiry:i})}),p(this,\"ping\",async s=>{this.isInitialized(),await this.isValidPing(s),this.logger.warn(\"ping() is deprecated and will be removed in the next major release.\");const{topic:i}=s;if(this.pairings.keys.includes(i)){const n=await this.sendRequest(i,\"wc_pairingPing\",{}),{done:o,resolve:a,reject:c}=Os();this.events.once(Ne(\"pairing_ping\",n),({error:h})=>{h?c(h):a()}),await o()}}),p(this,\"updateExpiry\",async({topic:s,expiry:i})=>{this.isInitialized(),await this.pairings.update(s,{expiry:i})}),p(this,\"updateMetadata\",async({topic:s,metadata:i})=>{this.isInitialized(),await this.pairings.update(s,{peerMetadata:i})}),p(this,\"getPairings\",()=>(this.isInitialized(),this.pairings.values)),p(this,\"disconnect\",async s=>{this.isInitialized(),await this.isValidDisconnect(s);const{topic:i}=s;this.pairings.keys.includes(i)&&(await this.sendRequest(i,\"wc_pairingDelete\",ae(\"USER_DISCONNECTED\")),await this.deletePairing(i))}),p(this,\"formatUriFromPairing\",s=>{this.isInitialized();const{topic:i,relay:n,expiry:o,methods:a}=s,c=this.core.crypto.keychain.get(i);return dt({protocol:this.core.protocol,version:this.core.version,topic:i,symKey:c,relay:n,expiryTimestamp:o,methods:a})}),p(this,\"sendRequest\",async(s,i,n)=>{const o=wt(i,n),a=await this.core.crypto.encode(s,o),c=ie[i].req;return this.core.history.set(s,o),this.core.relayer.publish(s,a,c),o.id}),p(this,\"sendResult\",async(s,i,n)=>{const o=vt(s,n),a=await this.core.crypto.encode(i,o),c=(await this.core.history.get(i,s)).request.method,h=ie[c].res;await this.core.relayer.publish(i,a,h),await this.core.history.resolve(o)}),p(this,\"sendError\",async(s,i,n)=>{const o=Fs(s,n),a=await this.core.crypto.encode(i,o),c=(await this.core.history.get(i,s)).request.method,h=ie[c]?ie[c].res:ie.unregistered_method.res;await this.core.relayer.publish(i,a,h),await this.core.history.resolve(o)}),p(this,\"deletePairing\",async(s,i)=>{await this.core.relayer.unsubscribe(s),await Promise.all([this.pairings.delete(s,ae(\"USER_DISCONNECTED\")),this.core.crypto.deleteSymKey(s),i?Promise.resolve():this.core.expirer.del(s)])}),p(this,\"cleanup\",async()=>{const s=this.pairings.getAll().filter(i=>pt(i.expiry));await Promise.all(s.map(i=>this.deletePairing(i.topic)))}),p(this,\"onRelayEventRequest\",async s=>{const{topic:i,payload:n}=s;switch(n.method){case\"wc_pairingPing\":return await this.onPairingPingRequest(i,n);case\"wc_pairingDelete\":return await this.onPairingDeleteRequest(i,n);default:return await this.onUnknownRpcMethodRequest(i,n)}}),p(this,\"onRelayEventResponse\",async s=>{const{topic:i,payload:n}=s,o=(await this.core.history.get(i,n.id)).request.method;switch(o){case\"wc_pairingPing\":return this.onPairingPingResponse(i,n);default:return this.onUnknownRpcMethodResponse(o)}}),p(this,\"onPairingPingRequest\",async(s,i)=>{const{id:n}=i;try{this.isValidPing({topic:s}),await this.sendResult(n,s,!0),this.events.emit(se.ping,{id:n,topic:s})}catch(o){await this.sendError(n,s,o),this.logger.error(o)}}),p(this,\"onPairingPingResponse\",(s,i)=>{const{id:n}=i;setTimeout(()=>{Ks(i)?this.events.emit(Ne(\"pairing_ping\",n),{}):_t(i)&&this.events.emit(Ne(\"pairing_ping\",n),{error:i.error})},500)}),p(this,\"onPairingDeleteRequest\",async(s,i)=>{const{id:n}=i;try{this.isValidDisconnect({topic:s}),await this.deletePairing(s),this.events.emit(se.delete,{id:n,topic:s})}catch(o){await this.sendError(n,s,o),this.logger.error(o)}}),p(this,\"onUnknownRpcMethodRequest\",async(s,i)=>{const{id:n,method:o}=i;try{if(this.registeredMethods.includes(o))return;const a=ae(\"WC_METHOD_UNSUPPORTED\",o);await this.sendError(n,s,a),this.logger.error(a)}catch(a){await this.sendError(n,s,a),this.logger.error(a)}}),p(this,\"onUnknownRpcMethodResponse\",s=>{this.registeredMethods.includes(s)||this.logger.error(ae(\"WC_METHOD_UNSUPPORTED\",s))}),p(this,\"isValidPair\",(s,i)=>{var n;if(!$e(s)){const{message:a}=m(\"MISSING_OR_INVALID\",`pair() params: ${s}`);throw i.setError(Y.malformed_pairing_uri),new Error(a)}if(!As(s.uri)){const{message:a}=m(\"MISSING_OR_INVALID\",`pair() uri: ${s.uri}`);throw i.setError(Y.malformed_pairing_uri),new Error(a)}const o=gt(s?.uri);if(!((n=o?.relay)!=null&&n.protocol)){const{message:a}=m(\"MISSING_OR_INVALID\",\"pair() uri#relay-protocol\");throw i.setError(Y.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=m(\"MISSING_OR_INVALID\",\"pair() uri#symKey\");throw i.setError(Y.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&O(o?.expiryTimestamp)<Date.now()){i.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 s=>{if(!$e(s)){const{message:n}=m(\"MISSING_OR_INVALID\",`ping() params: ${s}`);throw new Error(n)}const{topic:i}=s;await this.isValidPairingTopic(i)}),p(this,\"isValidDisconnect\",async s=>{if(!$e(s)){const{message:n}=m(\"MISSING_OR_INVALID\",`disconnect() params: ${s}`);throw new Error(n)}const{topic:i}=s;await this.isValidPairingTopic(i)}),p(this,\"isValidPairingTopic\",async s=>{if(!xs(s,!1)){const{message:i}=m(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${s}`);throw new Error(i)}if(!this.pairings.keys.includes(s)){const{message:i}=m(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${s}`);throw new Error(i)}if(pt(this.pairings.get(s).expiry)){await this.deletePairing(s);const{message:i}=m(\"EXPIRED\",`pairing topic: ${s}`);throw new Error(i)}}),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:s,transportType:i}=e;if(this.pairings.keys.includes(t)&&i!==Q.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(s)))try{const n=await this.core.crypto.decode(t,s);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,s)}catch(n){this.logger.error(n)}})}registerExpirerEvents(){this.core.expirer.on(F.expired,async e=>{const{topic:t}=Ss(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(se.expire,{topic:t}))})}}var Lo=Object.defineProperty,ko=(r,e,t)=>e in r?Lo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,R=(r,e,t)=>ko(r,typeof e!=\"symbol\"?e+\"\":e,t);class ki extends is{constructor(e,t){super(e,t),this.core=e,this.logger=t,R(this,\"records\",new Map),R(this,\"events\",new ee),R(this,\"name\",Bt),R(this,\"version\",Vt),R(this,\"cached\",[]),R(this,\"initialized\",!1),R(this,\"storagePrefix\",B),R(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(s=>this.records.set(s.id,s)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),R(this,\"set\",(s,i,n)=>{if(this.isInitialized(),this.logger.debug(\"Setting JSON-RPC request history record\"),this.logger.trace({type:\"method\",method:\"set\",topic:s,request:i,chainId:n}),this.records.has(i.id))return;const o={id:i.id,topic:s,request:{method:i.method,params:i.params||null},chainId:n,expiry:ce(Ce)};this.records.set(o.id,o),this.persist(),this.events.emit(M.created,o)}),R(this,\"resolve\",async s=>{if(this.isInitialized(),this.logger.debug(\"Updating JSON-RPC response history record\"),this.logger.trace({type:\"method\",method:\"update\",response:s}),!this.records.has(s.id))return;const i=await this.getRecord(s.id);typeof i.response>\"u\"&&(i.response=_t(s)?{error:s.error}:{result:s.result},this.records.set(i.id,i),this.persist(),this.events.emit(M.updated,i))}),R(this,\"get\",async(s,i)=>(this.isInitialized(),this.logger.debug(\"Getting record\"),this.logger.trace({type:\"method\",method:\"get\",topic:s,id:i}),await this.getRecord(i))),R(this,\"delete\",(s,i)=>{this.isInitialized(),this.logger.debug(\"Deleting record\"),this.logger.trace({type:\"method\",method:\"delete\",id:i}),this.values.forEach(n=>{if(n.topic===s){if(typeof i<\"u\"&&n.id!==i)return;this.records.delete(n.id),this.events.emit(M.deleted,n)}}),this.persist()}),R(this,\"exists\",async(s,i)=>(this.isInitialized(),this.records.has(i)?(await this.getRecord(i)).topic===s:!1)),R(this,\"on\",(s,i)=>{this.events.on(s,i)}),R(this,\"once\",(s,i)=>{this.events.once(s,i)}),R(this,\"off\",(s,i)=>{this.events.off(s,i)}),R(this,\"removeListener\",(s,i)=>{this.events.removeListener(s,i)}),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 s={topic:t.topic,request:wt(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(s)}),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:s}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(s)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(M.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(M.created,e=>{const t=M.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(M.updated,e=>{const t=M.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(M.deleted,e=>{const t=M.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.core.heartbeat.on(ne.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{O(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(M.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 jo=Object.defineProperty,Uo=(r,e,t)=>e in r?jo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,A=(r,e,t)=>Uo(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(s=>this.expirations.set(s.target,s)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),A(this,\"has\",s=>{try{const i=this.formatTarget(s);return typeof this.getExpiration(i)<\"u\"}catch{return!1}}),A(this,\"set\",(s,i)=>{this.isInitialized();const n=this.formatTarget(s),o={target:n,expiry:i};this.expirations.set(n,o),this.checkExpiry(n,o),this.events.emit(F.created,{target:n,expiration:o})}),A(this,\"get\",s=>{this.isInitialized();const i=this.formatTarget(s);return this.getExpiration(i)}),A(this,\"del\",s=>{if(this.isInitialized(),this.has(s)){const i=this.formatTarget(s),n=this.getExpiration(i);this.expirations.delete(i),this.events.emit(F.deleted,{target:i,expiration:n})}}),A(this,\"on\",(s,i)=>{this.events.on(s,i)}),A(this,\"once\",(s,i)=>{this.events.once(s,i)}),A(this,\"off\",(s,i)=>{this.events.off(s,i)}),A(this,\"removeListener\",(s,i)=>{this.events.removeListener(s,i)}),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 Ns(e);if(typeof e==\"number\")return $s(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(F.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:s}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.warn(s),new Error(s)}return t}checkExpiry(e,t){const{expiry:s}=t;O(s)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(F.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(ne.pulse,()=>this.checkExpirations()),this.events.on(F.created,e=>{const t=F.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(F.expired,e=>{const t=F.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(F.deleted,e=>{const t=F.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,Fo=(r,e,t)=>e in r?Mo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,w=(r,e,t)=>Fo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Ui extends rs{constructor(e,t,s){super(e,t,s),this.core=e,this.logger=t,this.store=s,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 i;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&O((i=this.publicKey)==null?void 0:i.expiresAt)<Date.now()&&(this.logger.debug(\"verify v2 public key expired\"),await this.removePublicKey()))}),w(this,\"register\",async i=>{if(!zs()||this.isDevEnv)return;const n=window.location.origin,{id:o,decryptedId:a}=i,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${n}&id=${o}&decryptedId=${a}`;try{const h=Vs(),u=this.startAbortTimer(Z*5),d=await new Promise((g,_)=>{const l=()=>{window.removeEventListener(\"message\",x),h.body.removeChild(b),_(\"attestation aborted\")};this.abortController.signal.addEventListener(\"abort\",l);const b=h.createElement(\"iframe\");b.src=c,b.style.display=\"none\",b.addEventListener(\"error\",l,{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(u),h.body.removeChild(b),this.abortController.signal.removeEventListener(\"abort\",l),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 i=>{if(this.isDevEnv)return\"\";const{attestationId:n,hash:o,encryptedId:a}=i;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(i?.verifyUrl);return this.fetchAttestation(o,c)}),w(this,\"fetchAttestation\",async(i,n)=>{this.logger.debug(`resolving attestation: ${i} from url: ${n}`);const o=this.startAbortTimer(Z*5),a=await fetch(`${n}/attestation/${i}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0}),w(this,\"getVerifyUrl\",i=>{let n=i||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 i=this.startAbortTimer(Pe),n=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(i),await n.json()}catch(i){this.logger.warn(i)}}),w(this,\"persistPublicKey\",async i=>{this.logger.debug(\"persisting public key to local storage\",i),await this.store.setItem(this.storeKey,i),this.publicKey=i}),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 i=>{const n=await this.getPublicKey();try{if(n)return this.validateAttestation(i,n)}catch(a){this.logger.error(a),this.logger.warn(\"error validating attestation\")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(i,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 i=await this.fetchPromise;return this.fetchPromise=void 0,i}),w(this,\"validateAttestation\",(i,n)=>{const o=Ls(i,n.publicKey),a={hasExpired:O(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(),O(e))}}var Ko=Object.defineProperty,Bo=(r,e,t)=>e in r?Ko(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Mi=(r,e,t)=>Bo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Fi extends ns{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,Mi(this,\"context\",Xt),Mi(this,\"registerDeviceToken\",async s=>{const{clientId:i,token:n,notificationType:o,enableEncrypted:a=!1}=s,c=`${Zt}/${this.projectId}/clients`;await fetch(c,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({client_id:i,type:o,token:n,always_raw:a})})}),this.logger=N(t,this.context)}}var Vo=Object.defineProperty,Ki=Object.getOwnPropertySymbols,qo=Object.prototype.hasOwnProperty,Go=Object.prototype.propertyIsEnumerable,Ze=(r,e,t)=>e in r?Vo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,be=(r,e)=>{for(var t in e||(e={}))qo.call(e,t)&&Ze(r,t,e[t]);if(Ki)for(var t of Ki(e))Go.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,s=!0){super(e,t,s),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 i={eventId:bt(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:\"INIT\",type:\"\",properties:{client_id:await this.core.crypto.getClientId(),user_agent:ks(this.core.relayer.protocol,this.core.relayer.version,_e)}}};await this.sendEvent([i])}catch(i){this.logger.warn(i)}}),E(this,\"createEvent\",i=>{const{event:n=\"ERROR\",type:o=\"\",properties:{topic:a,trace:c}}=i,h=bt(),u=this.core.projectId||\"\",d=Date.now(),g=be({eventId:h,timestamp:d,props:{event:n,type:o,properties:{topic:a,trace:c}},bundleId:u,domain:this.getAppDomain()},this.setMethods(h));return this.telemetryEnabled&&(this.events.set(h,g),this.shouldPersist=!0),g}),E(this,\"getEvent\",i=>{const{eventId:n,topic:o}=i;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\",i=>{const{eventId:n}=i;this.events.delete(n),this.shouldPersist=!0}),E(this,\"setEventListeners\",()=>{this.core.heartbeat.on(ne.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(i=>{it(Date.now())-it(i.timestamp)>ti&&(this.events.delete(i.eventId),this.shouldPersist=!0)})})}),E(this,\"setMethods\",i=>({addTrace:n=>this.addTrace(i,n),setError:n=>this.setError(i,n)})),E(this,\"addTrace\",(i,n)=>{const o=this.events.get(i);o&&(o.props.properties.trace.push(n),this.events.set(i,o),this.shouldPersist=!0)}),E(this,\"setError\",(i,n)=>{const o=this.events.get(i);o&&(o.props.type=n,o.timestamp=Date.now(),this.events.set(i,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 i=await this.core.storage.getItem(this.storageKey)||[];if(!i.length)return;i.forEach(n=>{this.events.set(n.eventId,be(be({},n),this.setMethods(n.eventId)))})}catch(i){this.logger.warn(i)}}),E(this,\"submit\",async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const i=[];for(const[n,o]of this.events)o.props.type&&i.push(o);if(i.length!==0)try{if((await this.sendEvent(i)).ok)for(const n of i)this.events.delete(n.eventId),this.shouldPersist=!0}catch(n){this.logger.warn(n)}}),E(this,\"sendEvent\",async i=>{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(i)})}),E(this,\"getAppDomain\",()=>js().url),this.logger=N(t,this.context),this.telemetryEnabled=s,s?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+\"//\"+this.context}}var Wo=Object.defineProperty,Vi=Object.getOwnPropertySymbols,Ho=Object.prototype.hasOwnProperty,Yo=Object.prototype.propertyIsEnumerable,Qe=(r,e,t)=>e in r?Wo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,qi=(r,e)=>{for(var t in e||(e={}))Ho.call(e,t)&&Qe(r,t,e[t]);if(Vi)for(var t of Vi(e))Yo.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\",(o,a)=>this.events.on(o,a)),v(this,\"once\",(o,a)=>this.events.once(o,a)),v(this,\"off\",(o,a)=>this.events.off(o,a)),v(this,\"removeListener\",(o,a)=>this.events.removeListener(o,a)),v(this,\"dispatchEnvelope\",({topic:o,message:a,sessionExists:c})=>{if(!o||!a)return;const h={topic:o,message:a,publishedAt:Date.now(),transportType:Q.link_mode};this.relayer.onLinkMessageEvent(h,{sessionExists:c})}),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:i,chunkLoggerController:n}=Ji({opts:s,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=n,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var o,a;(o=this.logChunkController)!=null&&o.downloadLogsBlobInBrowser&&((a=this.logChunkController)==null||a.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=N(i,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 Fi(this.projectId||\"\",this.logger),this.linkModeSupportedApps=[],this.eventClient=new Bi(this,this.logger,e?.telemetryEnabled)}static async init(e){const t=new Te(e);await t.initialize();const s=await t.crypto.getClientId();return await t.storage.setItem(jt,s),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(Me,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(Me)||[],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}}}const Jo=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,Jo 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,ir as EVENT_CLIENT_AUTHENTICATE_ERRORS,tr as EVENT_CLIENT_AUTHENTICATE_TRACES,Zs as EVENT_CLIENT_CONTEXT,Y as EVENT_CLIENT_PAIRING_ERRORS,G as EVENT_CLIENT_PAIRING_TRACES,er as EVENT_CLIENT_SESSION_ERRORS,Qs as EVENT_CLIENT_SESSION_TRACES,qt as EXPIRER_CONTEXT,Js as EXPIRER_DEFAULT_TTL,F as EXPIRER_EVENTS,Gt as EXPIRER_STORAGE_VERSION,Fi as EchoClient,Bi as EventClient,ji as Expirer,Bt as HISTORY_CONTEXT,M as HISTORY_EVENTS,Vt as HISTORY_STORAGE_VERSION,ki as JsonRpcHistory,Pt as KEYCHAIN_CONTEXT,St as KEYCHAIN_STORAGE_VERSION,Di as KeyChain,Rt as MESSAGES_CONTEXT,Ot as MESSAGES_STORAGE_VERSION,le as MESSAGE_DIRECTION,_i as MessageTracker,Ft as PAIRING_CONTEXT,Ys as PAIRING_DEFAULT_TTL,se as PAIRING_EVENTS,ie as PAIRING_RPC_OPTS,Kt as PAIRING_STORAGE_VERSION,Hs 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,qs as RELAYER_STORAGE_OPTIONS,zt as RELAYER_SUBSCRIBER_SUFFIX,Gs as RELAYER_TRANSPORT_CUTOFF,Si as Relayer,kt as STORE_STORAGE_VERSION,Ut as SUBSCRIBER_CONTEXT,Ws as SUBSCRIBER_DEFAULT_TTL,$ as SUBSCRIBER_EVENTS,Mt 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,Me 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 K,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,calcExpiry as V,engineEvent as R,createDelayedPromise as ee,getSdkError as O,getDeepLink as Ut,handleDeeplinkRedirect as Kt,isSessionCompatible as Gt,hashKey as be,parseChainId as Ae,createEncodedRecap as jt,getRecapFromResources as xe,mergeEncodedRecaps as Ft,TYPE_2 as Qt,getLinkModeURL as ue,validateSignedCacao as et,getNamespacedDidChainId as tt,getDidAddress as st,getMethodsFromRecap as it,getChainsFromRecap as rt,buildNamespacesFromAuth as nt,formatMessage as Ht,MemoryStore as oe,isValidParams as M,isUndefined as X,isValidRelays as zt,isValidObject as ot,isValidRequiredNamespaces as Yt,isValidNamespaces as Ce,isConformingNamespaces as at,isValidErrorReason as Xt,isValidRelay as Jt,isValidController as Bt,isValidNamespacesChainId as ct,isValidRequest as Wt,isValidNamespacesRequest as Zt,isValidRequestExpiry as es,isValidResponse as ts,isValidEvent as ss,isValidNamespacesEvent as is,getSearchParamFromURL as lt,isTestRun as rs,isReactNative as ns,isValidArray as os,extractSolanaTransactionId as as,TYPE_1 as Ve,getAppMetadata as cs}from\"@walletconnect/utils\";import ls,{EventEmitter as ps}from\"events\";import{isJsonRpcRequest as hs,isJsonRpcResponse as ds,payloadId as G,getBigIntRpcId as ge,isJsonRpcResult as j,isJsonRpcError as F,formatJsonRpcRequest as ye,formatJsonRpcResult as us,formatJsonRpcError as gs}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\"},ys={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\"},ws={database:\":memory:\"},Me=\"WALLETCONNECT_DEEPLINK_CHOICE\",ms={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},_s=\"history\",Es=\"0.3\",pt=\"proposal\",fs=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:K,prompt:!1,tag:1104},res:{ttl:K,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:K,prompt:!1,tag:1106},res:{ttl:K,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:K,prompt:!1,tag:1112},res:{ttl:K,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:K,prompt:!1,tag:1114},res:{ttl:K,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\"},Ue={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\",Ss=1.5,wt=\"auth\",mt=\"authKeys\",_t=\"pairingTopics\",Et=\"requests\",ae=`${yt}@${1.5}:${wt}:`,ce=`${ae}:PUB_KEY`;var Rs=Object.defineProperty,vs=Object.defineProperties,Is=Object.getOwnPropertyDescriptors,ft=Object.getOwnPropertySymbols,Ts=Object.prototype.hasOwnProperty,qs=Object.prototype.propertyIsEnumerable,Ke=(S,n,e)=>n in S?Rs(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,v=(S,n)=>{for(var e in n||(n={}))Ts.call(n,e)&&Ke(S,e,n[e]);if(ft)for(var e of ft(n))qs.call(n,e)&&Ke(S,e,n[e]);return S},b=(S,n)=>vs(S,Is(n)),c=(S,n,e)=>Ke(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ps extends Dt{constructor(n){super(n),c(this,\"name\",dt),c(this,\"events\",new ls),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);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:U}=await this.client.core.pairing.create();p=T,h=U}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:U})=>{this.client.events.off(\"proposal_expire\",I),T?g(T):U&&A(U)}),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}),U=P.relay;g.addTrace(k.subscribing_session_topic);try{await this.client.core.relayer.subscribe(I,{transportType:U})}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 Kt({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=>Gt(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=jt(x,\"request\",m);xe(_)&&(L=Ft(L,_.pop())),_.push(L)}const T=f&&f>N.wc_sessionAuthenticate.req.ttl?f:N.wc_sessionAuthenticate.req.ttl,U={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\",U,te);this.client.core.history.set(g,x);const L=await this.client.core.crypto.encode(\"\",x,{type:Qt,encoding:ne});Ie=ue(t,g,L)}else await Promise.all([this.sendRequest({topic:g,method:\"wc_sessionAuthenticate\",params:U,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({},U),{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 Ht(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=us(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=gs(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),!zt(a,!0)){const{message:l}=y(\"MISSING_OR_INVALID\",`connect() relays: ${a}`);throw new Error(l)}if(!X(s)&&ot(s)!==0&&this.validateNamespaces(s,\"requiredNamespaces\"),!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=Yt(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),!Xt(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(!Jt(t)){const{message:l}=y(\"MISSING_OR_INVALID\",\"onSessionSettleRequest() relay protocol should be a string\");throw new Error(l)}const o=Bt(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(!Wt(s)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() ${JSON.stringify(s)}`);throw new Error(a)}if(!Zt(o,i,s.method)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() method: ${s.method}`);throw new Error(a)}if(r&&!es(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(!ts(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(!ss(s)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}if(!is(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(rs()||ns()&&(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(Ue).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=Ue[e];if(typeof t==\"string\")return[t];const i=t[s.key];if(os(i))return e===\"solana_signAllTransactions\"?i.map(r=>as(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});hs(o)?(this.client.core.history.set(e,o),await this.onRelayEventRequest({topic:e,payload:o,attestation:s,transportType:i,encryptedId:W(t)})):ds(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 Ns 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 Os extends B{constructor(n,e){super(n,e,ut,we,t=>t.id),this.core=n,this.logger=e}}class bs extends B{constructor(n,e){super(n,e,mt,ae,()=>ce),this.core=n,this.logger=e}}class As extends B{constructor(n,e){super(n,e,_t,ae),this.core=n,this.logger=e}}class xs extends B{constructor(n,e){super(n,e,Et,ae,t=>t.id),this.core=n,this.logger=e}}var Cs=Object.defineProperty,Vs=(S,n,e)=>n in S?Cs(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,Ge=(S,n,e)=>Vs(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ds{constructor(n,e){this.core=n,this.logger=e,Ge(this,\"authKeys\"),Ge(this,\"pairingTopics\"),Ge(this,\"requests\"),this.authKeys=new bs(this.core,this.logger),this.pairingTopics=new As(this.core,this.logger),this.requests=new xs(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var Ls=Object.defineProperty,ks=(S,n,e)=>n in S?Ls(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,E=(S,n,e)=>ks(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 ps),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=n?.metadata||cs(),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 Ns(this.core,this.logger),this.pendingRequest=new Os(this.core,this.logger),this.engine=new Ps(this),this.auth=new Ds(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 Ms=St,$s=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,Ss as AUTH_VERSION,dt as ENGINE_CONTEXT,$ as ENGINE_QUEUE_STATES,N as ENGINE_RPC_OPTS,_s as HISTORY_CONTEXT,ms as HISTORY_EVENTS,Es as HISTORY_STORAGE_VERSION,gt as METHODS_TO_VERIFY,pt as PROPOSAL_CONTEXT,fs 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,ys as SIGN_CLIENT_EVENTS,De as SIGN_CLIENT_PROTOCOL,ws as SIGN_CLIENT_STORAGE_OPTIONS,we as SIGN_CLIENT_STORAGE_PREFIX,Le as SIGN_CLIENT_VERSION,Ms as SessionStore,$s as SignClient,Ue as TVF_METHODS,Me as WALLETCONNECT_DEEPLINK_CHOICE,Ee as default};\n//# sourceMappingURL=index.es.js.map\n","import bt from\"@walletconnect/sign-client\";import{isValidObject as It,isCaipNamespace as Y,parseNamespaceKey as q,mergeArrays as M,parseChainId as Q,getSdkError as Z,isValidArray as T}from\"@walletconnect/utils\";import{pino as $t,getDefaultLoggerOptions as Ot}from\"@walletconnect/logger\";import m,{HttpConnection as At}from\"@walletconnect/jsonrpc-http-connection\";import{JsonRpcProvider as l}from\"@walletconnect/jsonrpc-provider\";import{formatJsonRpcRequest as Ht,formatJsonRpcResult as Et}from\"@walletconnect/jsonrpc-utils\";import Ct from\"events\";const tt=\"error\",Nt=\"wss://relay.walletconnect.org\",St=\"wc\",Dt=\"universal_provider\",_=`${St}@2:${Dt}:`,et=\"https://rpc.walletconnect.org/v1/\",w=\"generic\",qt=`${et}bundler`,d={DEFAULT_CHAIN_CHANGED:\"default_chain_changed\"};function jt(){}function B(s){return s==null||typeof s!=\"object\"&&typeof s!=\"function\"}function G(s){return ArrayBuffer.isView(s)&&!(s instanceof DataView)}function Rt(s){if(B(s))return s;if(Array.isArray(s)||G(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 st(s){return typeof s==\"object\"&&s!==null}function it(s){return Object.getOwnPropertySymbols(s).filter(t=>Object.prototype.propertyIsEnumerable.call(s,t))}function rt(s){return s==null?s===void 0?\"[object Undefined]\":\"[object Null]\":Object.prototype.toString.call(s)}const _t=\"[object RegExp]\",nt=\"[object String]\",at=\"[object Number]\",ct=\"[object Boolean]\",ot=\"[object Arguments]\",Ut=\"[object Symbol]\",Ft=\"[object Date]\",Lt=\"[object Map]\",xt=\"[object Set]\",Mt=\"[object Array]\",Bt=\"[object ArrayBuffer]\",Gt=\"[object Object]\",Jt=\"[object DataView]\",zt=\"[object Uint8Array]\",kt=\"[object Uint8ClampedArray]\",Wt=\"[object Uint16Array]\",Kt=\"[object Uint32Array]\",Vt=\"[object Int8Array]\",Xt=\"[object Int16Array]\",Yt=\"[object Int32Array]\",Qt=\"[object Float32Array]\",Zt=\"[object Float64Array]\";function Tt(s,t){return y(s,void 0,s,new Map,t)}function y(s,t,e,i=new Map,r=void 0){const a=r?.(s,t,e,i);if(a!=null)return a;if(B(s))return s;if(i.has(s))return i.get(s);if(Array.isArray(s)){const n=new Array(s.length);i.set(s,n);for(let c=0;c<s.length;c++)n[c]=y(s[c],c,e,i,r);return Object.hasOwn(s,\"index\")&&(n.index=s.index),Object.hasOwn(s,\"input\")&&(n.input=s.input),n}if(s instanceof Date)return new Date(s.getTime());if(s instanceof RegExp){const n=new RegExp(s.source,s.flags);return n.lastIndex=s.lastIndex,n}if(s instanceof Map){const n=new Map;i.set(s,n);for(const[c,h]of s)n.set(c,y(h,c,e,i,r));return n}if(s instanceof Set){const n=new Set;i.set(s,n);for(const c of s)n.add(y(c,void 0,e,i,r));return n}if(typeof Buffer<\"u\"&&Buffer.isBuffer(s))return s.subarray();if(G(s)){const n=new(Object.getPrototypeOf(s)).constructor(s.length);i.set(s,n);for(let c=0;c<s.length;c++)n[c]=y(s[c],c,e,i,r);return n}if(s instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&s instanceof SharedArrayBuffer)return s.slice(0);if(s instanceof DataView){const n=new DataView(s.buffer.slice(0),s.byteOffset,s.byteLength);return i.set(s,n),g(n,s,e,i,r),n}if(typeof File<\"u\"&&s instanceof File){const n=new File([s],s.name,{type:s.type});return i.set(s,n),g(n,s,e,i,r),n}if(s instanceof Blob){const n=new Blob([s],{type:s.type});return i.set(s,n),g(n,s,e,i,r),n}if(s instanceof Error){const n=new s.constructor;return i.set(s,n),n.message=s.message,n.name=s.name,n.stack=s.stack,n.cause=s.cause,g(n,s,e,i,r),n}if(typeof s==\"object\"&&te(s)){const n=Object.create(Object.getPrototypeOf(s));return i.set(s,n),g(n,s,e,i,r),n}return s}function g(s,t,e=s,i,r){const a=[...Object.keys(t),...it(t)];for(let n=0;n<a.length;n++){const c=a[n],h=Object.getOwnPropertyDescriptor(s,c);(h==null||h.writable)&&(s[c]=y(t[c],c,e,i,r))}}function te(s){switch(rt(s)){case ot:case Mt:case Bt:case Jt:case ct:case Ft:case Qt:case Zt:case Vt:case Xt:case Yt:case Lt:case at:case Gt:case _t:case xt:case nt:case Ut:case zt:case kt:case Wt:case Kt:return!0;default:return!1}}function ee(s,t){return Tt(s,(e,i,r,a)=>{const n=t?.(e,i,r,a);if(n!=null)return n;if(typeof s==\"object\")switch(Object.prototype.toString.call(s)){case at:case nt:case ct:{const c=new s.constructor(s?.valueOf());return g(c,s),c}case ot:{const c={};return g(c,s),c.length=s.length,c[Symbol.iterator]=s[Symbol.iterator],c}default:return}})}function ht(s){return ee(s)}function pt(s){return s!==null&&typeof s==\"object\"&&rt(s)===\"[object Arguments]\"}function se(s){return G(s)}function ie(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 re(s,...t){const e=t.slice(0,-1),i=t[t.length-1];let r=s;for(let a=0;a<e.length;a++){const n=e[a];r=U(r,n,i,new Map)}return r}function U(s,t,e,i){if(B(s)&&(s=Object(s)),t==null||typeof t!=\"object\")return s;if(i.has(t))return Rt(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 r=[...Object.keys(t),...it(t)];for(let a=0;a<r.length;a++){const n=r[a];let c=t[n],h=s[n];if(pt(c)&&(c={...c}),pt(h)&&(h={...h}),typeof Buffer<\"u\"&&Buffer.isBuffer(c)&&(c=ht(c)),Array.isArray(c))if(typeof h==\"object\"&&h!=null){const j=[],R=Reflect.ownKeys(h);for(let f=0;f<R.length;f++){const X=R[f];j[X]=h[X]}h=j}else h=[];const v=e(h,c,n,s,t,i);v!=null?s[n]=v:Array.isArray(c)||st(h)&&st(c)?s[n]=U(h,c,e,i):h==null&&ie(c)?s[n]=U({},c,e,i):h==null&&se(c)?s[n]=ht(c):(h===void 0||c!==void 0)&&(s[n]=c)}return s}function ne(s,...t){return re(s,...t,jt)}var ae=Object.defineProperty,ce=Object.defineProperties,oe=Object.getOwnPropertyDescriptors,dt=Object.getOwnPropertySymbols,he=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable,ut=(s,t,e)=>t in s?ae(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,F=(s,t)=>{for(var e in t||(t={}))he.call(t,e)&&ut(s,e,t[e]);if(dt)for(var e of dt(t))pe.call(t,e)&&ut(s,e,t[e]);return s},de=(s,t)=>ce(s,oe(t));function p(s,t,e){var i;const r=Q(s);return((i=t.rpcMap)==null?void 0:i[r.reference])||`${et}?chainId=${r.namespace}:${r.reference}&projectId=${e}`}function P(s){return s.includes(\":\")?s.split(\":\")[1]:s}function lt(s){return s.map(t=>`${t.split(\":\")[0]}:${t.split(\":\")[1]}`)}function ue(s,t){const e=Object.keys(t.namespaces).filter(r=>r.includes(s));if(!e.length)return[];const i=[];return e.forEach(r=>{const a=t.namespaces[r].accounts;i.push(...a)}),i}function J(s={},t={}){const e=ft(s),i=ft(t);return ne(e,i)}function ft(s){var t,e,i,r;const a={};if(!It(s))return a;for(const[n,c]of Object.entries(s)){const h=Y(n)?[n]:c.chains,v=c.methods||[],j=c.events||[],R=c.rpcMap||{},f=q(n);a[f]=de(F(F({},a[f]),c),{chains:M(h,(t=a[f])==null?void 0:t.chains),methods:M(v,(e=a[f])==null?void 0:e.methods),events:M(j,(i=a[f])==null?void 0:i.events),rpcMap:F(F({},R),(r=a[f])==null?void 0:r.rpcMap)})}return a}function le(s){return s.includes(\":\")?s.split(\":\")[2]:s}function mt(s){const t={};for(const[e,i]of Object.entries(s)){const r=i.methods||[],a=i.events||[],n=i.accounts||[],c=Y(e)?[e]:i.chains?i.chains:lt(i.accounts);t[e]={chains:c,methods:r,events:a,accounts:n}}return t}function z(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 vt={},o=s=>vt[s],k=(s,t)=>{vt[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,b=(s,t,e)=>me(s,typeof t!=\"symbol\"?t+\"\":t,e);class ve{constructor(t){b(this,\"name\",\"polkadot\"),b(this,\"client\"),b(this,\"httpProviders\"),b(this,\"events\"),b(this,\"namespace\"),b(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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 r=P(e);t[r]=this.createHttpProvider(r,(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||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"disableProviderPing\")))}}var ge=Object.defineProperty,Pe=Object.defineProperties,we=Object.getOwnPropertyDescriptors,gt=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,W=(s,t,e)=>t in s?ge(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,Pt=(s,t)=>{for(var e in t||(t={}))ye.call(t,e)&&W(s,e,t[e]);if(gt)for(var e of gt(t))be.call(t,e)&&W(s,e,t[e]);return s},wt=(s,t)=>Pe(s,we(t)),I=(s,t,e)=>W(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ie{constructor(t){I(this,\"name\",\"eip155\"),I(this,\"client\"),I(this,\"chainId\"),I(this,\"namespace\"),I(this,\"httpProviders\"),I(this,\"events\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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||p(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new At(i,o(\"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 r=parseInt(P(e));t[r]=this.createHttpProvider(r,(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 r=t.request.params?(e=t.request.params[0])==null?void 0:e.chainId:\"0x0\";r=r.startsWith(\"0x\")?r:`0x${r}`;const a=parseInt(r,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:r}]},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,r;const a=(i=(e=t.request)==null?void 0:e.params)==null?void 0:i[0];if(!a)throw new Error(\"Missing address parameter in `wallet_getCapabilities` request\");const n=this.client.session.get(t.topic),c=((r=n?.sessionProperties)==null?void 0:r.capabilities)||{};if(c!=null&&c[a])return c?.[a];const h=await this.client.request(t);try{await this.client.session.update(t.topic,{sessionProperties:wt(Pt({},n.sessionProperties||{}),{capabilities:wt(Pt({},c||{}),{[a]:h})})})}catch(v){console.warn(\"Failed to update session with capabilities\",v)}return h}async getCallStatus(t){var e,i;const r=this.client.session.get(t.topic),a=(e=r.sessionProperties)==null?void 0:e.bundler_name;if(a){const c=this.getBundlerUrl(t.chainId,a);try{return await this.getUserOperationReceipt(c,t)}catch(h){console.warn(\"Failed to fetch call status from bundler\",h,c)}}const n=(i=r.sessionProperties)==null?void 0:i.bundler_url;if(n)try{return await this.getUserOperationReceipt(n,t)}catch(c){console.warn(\"Failed to fetch call status from custom bundler\",c,n)}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 r=new URL(t),a=await fetch(r,{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`${qt}?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,$=(s,t,e)=>Oe(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ae{constructor(t){$(this,\"name\",\"solana\"),$(this,\"client\"),$(this,\"httpProviders\"),$(this,\"events\"),$(this,\"namespace\"),$(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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 r=P(e);t[r]=this.createHttpProvider(r,(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||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"disableProviderPing\")))}}var He=Object.defineProperty,Ee=(s,t,e)=>t in s?He(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,O=(s,t,e)=>Ee(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ce{constructor(t){O(this,\"name\",\"cosmos\"),O(this,\"client\"),O(this,\"httpProviders\"),O(this,\"events\"),O(this,\"namespace\"),O(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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 r=P(e);t[r]=this.createHttpProvider(r,(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||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"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,A=(s,t,e)=>Se(s,typeof t!=\"symbol\"?t+\"\":t,e);class De{constructor(t){A(this,\"name\",\"algorand\"),A(this,\"client\"),A(this,\"httpProviders\"),A(this,\"events\"),A(this,\"namespace\"),A(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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||p(`${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(d.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||p(t,this.namespace,this.client.core.projectId);return typeof i>\"u\"?void 0:new l(new m(i,o(\"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,H=(s,t,e)=>je(s,typeof t!=\"symbol\"?t+\"\":t,e);class Re{constructor(t){H(this,\"name\",\"cip34\"),H(this,\"client\"),H(this,\"httpProviders\"),H(this,\"events\"),H(this,\"namespace\"),H(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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),r=P(e);t[r]=this.createHttpProvider(r,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 l(new m(i,o(\"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,E=(s,t,e)=>Ue(s,typeof t!=\"symbol\"?t+\"\":t,e);class Fe{constructor(t){E(this,\"name\",\"elrond\"),E(this,\"client\"),E(this,\"httpProviders\"),E(this,\"events\"),E(this,\"namespace\"),E(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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 r=P(e);t[r]=this.createHttpProvider(r,(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||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"disableProviderPing\")))}}var Le=Object.defineProperty,xe=(s,t,e)=>t in s?Le(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,C=(s,t,e)=>xe(s,typeof t!=\"symbol\"?t+\"\":t,e);class Me{constructor(t){C(this,\"name\",\"multiversx\"),C(this,\"client\"),C(this,\"httpProviders\"),C(this,\"events\"),C(this,\"namespace\"),C(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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 r=P(e);t[r]=this.createHttpProvider(r,(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||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"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,N=(s,t,e)=>Ge(s,typeof t!=\"symbol\"?t+\"\":t,e);class Je{constructor(t){N(this,\"name\",\"near\"),N(this,\"client\"),N(this,\"httpProviders\"),N(this,\"events\"),N(this,\"namespace\"),N(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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||p(`${this.name}:${t}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.events.emit(d.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||p(t,this.namespace);return typeof i>\"u\"?void 0:new l(new m(i,o(\"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,S=(s,t,e)=>ke(s,typeof t!=\"symbol\"?t+\"\":t,e);class We{constructor(t){S(this,\"name\",\"tezos\"),S(this,\"client\"),S(this,\"httpProviders\"),S(this,\"events\"),S(this,\"namespace\"),S(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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||p(`${this.name}:${t}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.events.emit(d.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||p(t,this.namespace);return typeof i>\"u\"?void 0:new l(new m(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,D=(s,t,e)=>Ve(s,typeof t!=\"symbol\"?t+\"\":t,e);class Xe{constructor(t){D(this,\"name\",w),D(this,\"client\"),D(this,\"httpProviders\"),D(this,\"events\"),D(this,\"namespace\"),D(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"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(d.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(r=>{const a=Q(r);i[`${a.namespace}:${a.reference}`]=this.createHttpProvider(r)}),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||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"disableProviderPing\")))}}var Ye=Object.defineProperty,Qe=Object.defineProperties,Ze=Object.getOwnPropertyDescriptors,yt=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,ts=Object.prototype.propertyIsEnumerable,K=(s,t,e)=>t in s?Ye(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,L=(s,t)=>{for(var e in t||(t={}))Te.call(t,e)&&K(s,e,t[e]);if(yt)for(var e of yt(t))ts.call(t,e)&&K(s,e,t[e]);return s},V=(s,t)=>Qe(s,Ze(t)),u=(s,t,e)=>K(s,typeof t!=\"symbol\"?t+\"\":t,e);class x{constructor(t){u(this,\"client\"),u(this,\"namespaces\"),u(this,\"optionalNamespaces\"),u(this,\"sessionProperties\"),u(this,\"scopedProperties\"),u(this,\"events\",new Ct),u(this,\"rpcProviders\",{}),u(this,\"session\"),u(this,\"providerOpts\"),u(this,\"logger\"),u(this,\"uri\"),u(this,\"disableProviderPing\",!1),this.providerOpts=t,this.logger=typeof t?.logger<\"u\"&&typeof t?.logger!=\"string\"?t.logger:$t(Ot({level:t?.logger||tt})),this.disableProviderPing=t?.disableProviderPing||!1}static async init(t){const e=new x(t);return await e.initialize(),e}async request(t,e,i){const[r,a]=this.validateChain(e);if(!this.session)throw new Error(\"Please call connect() before request()\");return await this.getProvider(r).request({request:L({},t),chainId:`${r}:${a}`,topic:this.session.topic,expiry:i})}sendAsync(t,e,i,r){const a=new Date().getTime();this.request(t,i,r).then(n=>e(null,Et(a,n))).catch(n=>e(n,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:Z(\"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:r}=await this.client.authenticate(t,e);i&&(this.uri=i,this.events.emit(\"display_uri\",i));const a=await r();if(this.session=a.session,this.session){const n=mt(this.session.namespaces);this.namespaces=J(this.namespaces,n),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 r=await i();this.session=r;const a=mt(r.namespaces);return this.namespaces=J(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,r]=this.validateChain(t),a=this.getProvider(i);a.name===w?a.setDefaultChain(`${i}:${r}`,e):a.setDefaultChain(r,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(T(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 bt.init({core:this.providerOpts.core,logger:this.providerOpts.logger||tt,relayUrl:this.providerOpts.relayUrl||Nt,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=>q(e)))];k(\"client\",this.client),k(\"events\",this.events),k(\"disableProviderPing\",this.disableProviderPing),t.forEach(e=>{if(!this.session)return;const i=ue(e,this.session),r=lt(i),a=J(this.namespaces,this.optionalNamespaces),n=V(L({},a[e]),{accounts:i,chains:r});switch(e){case\"eip155\":this.rpcProviders[e]=new Ie({namespace:n});break;case\"algorand\":this.rpcProviders[e]=new De({namespace:n});break;case\"solana\":this.rpcProviders[e]=new Ae({namespace:n});break;case\"cosmos\":this.rpcProviders[e]=new Ce({namespace:n});break;case\"polkadot\":this.rpcProviders[e]=new ve({namespace:n});break;case\"cip34\":this.rpcProviders[e]=new Re({namespace:n});break;case\"elrond\":this.rpcProviders[e]=new Fe({namespace:n});break;case\"multiversx\":this.rpcProviders[e]=new Me({namespace:n});break;case\"near\":this.rpcProviders[e]=new Je({namespace:n});break;case\"tezos\":this.rpcProviders[e]=new We({namespace:n});break;default:this.rpcProviders[w]?this.rpcProviders[w].updateNamespace(n):this.rpcProviders[w]=new Xe({namespace:n})}})}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:r}=t;if(r!==((e=this.session)==null?void 0:e.topic))return;const{event:a}=i;if(a.name===\"accountsChanged\"){const n=a.data;n&&T(n)&&this.events.emit(\"accountsChanged\",n.map(le))}else if(a.name===\"chainChanged\"){const n=i.chainId,c=i.event.data,h=q(n),v=z(n)!==z(c)?`${h}:${z(c)}`:n;this.onChainChanged(v)}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,r;if(t!==((i=this.session)==null?void 0:i.topic))return;const{namespaces:a}=e,n=(r=this.client)==null?void 0:r.session.get(t);this.session=V(L({},n),{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\",V(L({},Z(\"USER_DISCONNECTED\")),{data:t.topic})))}),this.on(d.DEFAULT_CHAIN_CHANGED,t=>{this.onChainChanged(t,!0)})}getProvider(t){return this.rpcProviders[t]||this.rpcProviders[w]}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:r,scopedProperties:a}=t;e&&Object.keys(e).length&&(this.namespaces=e),i&&Object.keys(i).length&&(this.optionalNamespaces=i),this.sessionProperties=r,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(n=>q(n)).includes(e))throw new Error(`Namespace '${e}' is not configured. Please call connect() first with namespace config.`);if(e&&i)return[e,i];const r=q(Object.keys(this.namespaces)[0]),a=this.rpcProviders[r].getDefaultChain();return[r,a]}async requestAccounts(){const[t]=this.validateChain();return await this.getProvider(t).requestAccounts()}async onChainChanged(t,e=!1){if(!this.namespaces)return;const[i,r]=this.validateChain(t);r&&(e||this.getProvider(i).setDefaultChain(r),this.namespaces[i]?this.namespaces[i].defaultChain=r:this.namespaces[`${i}:${r}`]?this.namespaces[`${i}:${r}`].defaultChain=r:this.namespaces[`${i}:${r}`]={defaultChain:r},this.events.emit(\"chainChanged\",r),await this.persist(\"namespaces\",this.namespaces))}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 r=((i=this.session)==null?void 0:i.topic)||\"\";await this.client.core.storage.setItem(`${_}/${t}${r}`,e)}async getFromStore(t){var e;const i=((e=this.session)==null?void 0:e.topic)||\"\";return await this.client.core.storage.getItem(`${_}/${t}${i}`)}async deleteFromStore(t){var e;const i=((e=this.session)==null?void 0:e.topic)||\"\";await this.client.core.storage.removeItem(`${_}/${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(_)&&await this.client.core.storage.removeItem(i)}catch(e){this.logger.warn(\"Failed to cleanup storage\",e)}}}const es=x;export{es as UniversalProvider,x as default};\n//# sourceMappingURL=index.es.js.map\n","import{EventEmitter as A}from\"events\";import{getAccountsFromNamespaces as b,getSdkError as S,isValidArray as E}from\"@walletconnect/utils\";import{UniversalProvider as R}from\"@walletconnect/universal-provider\";const T=\"wc\",$=\"ethereum_provider\",j=`${T}@2:${$}:`,q=\"https://rpc.walletconnect.org/v1/\",u=[\"eth_sendTransaction\",\"personal_sign\"],M=[\"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\"],m=[\"chainChanged\",\"accountsChanged\"],O=[\"chainChanged\",\"accountsChanged\",\"message\",\"disconnect\",\"connect\"];var N=Object.defineProperty,D=Object.defineProperties,U=Object.getOwnPropertyDescriptors,P=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,L=Object.prototype.propertyIsEnumerable,y=(a,t,s)=>t in a?N(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s,g=(a,t)=>{for(var s in t||(t={}))Q.call(t,s)&&y(a,s,t[s]);if(P)for(var s of P(t))L.call(t,s)&&y(a,s,t[s]);return a},_=(a,t)=>D(a,U(t)),o=(a,t,s)=>y(a,typeof t!=\"symbol\"?t+\"\":t,s);function v(a){return Number(a[0].split(\":\")[1])}function C(a){return`0x${a.toString(16)}`}function x(a){const{chains:t,optionalChains:s,methods:i,optionalMethods:e,events:n,optionalEvents:h,rpcMap:l}=a;if(!E(t))throw new Error(\"Invalid chains\");const r={chains:t,methods:i||u,events:n||m,rpcMap:g({},t.length?{[v(t)]:l[v(t)]}:{})},d=n?.filter(p=>!m.includes(p)),c=i?.filter(p=>!u.includes(p));if(!s&&!h&&!e&&!(d!=null&&d.length)&&!(c!=null&&c.length))return{required:t.length?r:void 0};const I=d?.length&&c?.length||!s,f={chains:[...new Set(I?r.chains.concat(s||[]):s)],methods:[...new Set(r.methods.concat(e!=null&&e.length?e:M))],events:[...new Set(r.events.concat(h!=null&&h.length?h:O))],rpcMap:l};return{required:t.length?r:void 0,optional:s.length?f:void 0}}class w{constructor(){o(this,\"events\",new A),o(this,\"namespace\",\"eip155\"),o(this,\"accounts\",[]),o(this,\"signer\"),o(this,\"chainId\",1),o(this,\"modal\"),o(this,\"rpc\"),o(this,\"STORAGE_KEY\",j),o(this,\"on\",(t,s)=>(this.events.on(t,s),this)),o(this,\"once\",(t,s)=>(this.events.once(t,s),this)),o(this,\"removeListener\",(t,s)=>(this.events.removeListener(t,s),this)),o(this,\"off\",(t,s)=>(this.events.off(t,s),this)),o(this,\"parseAccount\",t=>this.isCompatibleChainId(t)?this.parseAccountId(t).address:t),this.signer={},this.rpc={}}static async init(t){const s=new w;return await s.initialize(t),s}async request(t,s){return await this.signer.request(t,this.formatChainId(this.chainId),s)}sendAsync(t,s,i){this.signer.sendAsync(t,s,this.formatChainId(this.chainId),i)}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){if(!this.signer.client)throw new Error(\"Provider not initialized. Call init() first\");this.loadConnectOpts(t);const{required:s,optional:i}=x(this.rpc);try{const e=await new Promise(async(h,l)=>{var r;this.rpc.showQrModal&&((r=this.modal)==null||r.subscribeModal(c=>{!c.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),l(new Error(\"Connection request reset. Please try again.\")))}));const d=t!=null&&t.scopedProperties?{[this.namespace]:t.scopedProperties}:void 0;await this.signer.connect(_(g({namespaces:g({},s&&{[this.namespace]:s})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:t?.pairingTopic,scopedProperties:d})).then(c=>{h(c)}).catch(c=>{l(new Error(c.message))})});if(!e)return;const n=b(e.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:n),this.setAccounts(n),this.events.emit(\"connect\",{chainId:C(this.chainId)})}catch(e){throw this.signer.logger.error(e),e}finally{this.modal&&this.modal.closeModal()}}async authenticate(t,s){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(n,h)=>{var l;this.rpc.showQrModal&&((l=this.modal)==null||l.subscribeModal(r=>{!r.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),h(new Error(\"Connection request reset. Please try again.\")))})),await this.signer.authenticate(_(g({},t),{chains:this.rpc.chains}),s).then(r=>{n(r)}).catch(r=>{h(new Error(r.message))})}),e=i.session;if(e){const n=b(e.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:n),this.setAccounts(n),this.events.emit(\"connect\",{chainId:C(this.chainId)})}return i}catch(i){throw this.signer.logger.error(i),i}finally{this.modal&&this.modal.closeModal()}}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:s}=t,{event:i}=s;i.name===\"accountsChanged\"?(this.accounts=this.parseAccounts(i.data),this.events.emit(\"accountsChanged\",this.accounts)):i.name===\"chainChanged\"?this.setChainId(this.formatChainId(i.data)):this.events.emit(i.name,i.data),this.events.emit(\"session_event\",t)}),this.signer.on(\"chainChanged\",t=>{const s=parseInt(t);this.chainId=s,this.events.emit(\"chainChanged\",C(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\",_(g({},S(\"USER_DISCONNECTED\")),{data:t.topic,name:\"USER_DISCONNECTED\"}))}),this.signer.on(\"display_uri\",t=>{var s,i;this.rpc.showQrModal&&((s=this.modal)==null||s.closeModal(),(i=this.modal)==null||i.openModal({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 s=t.filter(i=>this.isCompatibleChainId(i)).map(i=>this.parseChainId(i));s.length&&(this.chainId=s[0],this.events.emit(\"chainChanged\",C(this.chainId)),this.persist())}setChainId(t){if(this.isCompatibleChainId(t)){const s=this.parseChainId(t);this.chainId=s,this.switchEthereumChain(s)}}parseAccountId(t){const[s,i,e]=t.split(\":\");return{chainId:`${s}:${i}`,address:e}}setAccounts(t){this.accounts=t.filter(s=>this.parseChainId(this.parseAccountId(s).chainId)===this.chainId).map(s=>this.parseAccountId(s).address),this.events.emit(\"accountsChanged\",this.accounts)}getRpcConfig(t){var s,i;const e=(s=t?.chains)!=null?s:[],n=(i=t?.optionalChains)!=null?i:[],h=e.concat(n);if(!h.length)throw new Error(\"No chains specified in either `chains` or `optionalChains`\");const l=e.length?t?.methods||u:[],r=e.length?t?.events||m:[],d=t?.optionalMethods||[],c=t?.optionalEvents||[],I=t?.rpcMap||this.buildRpcMap(h,t.projectId),f=t?.qrModalOptions||void 0;return{chains:e?.map(p=>this.formatChainId(p)),optionalChains:n.map(p=>this.formatChainId(p)),methods:l,events:r,optionalMethods:d,optionalEvents:c,rpcMap:I,showQrModal:!!(t!=null&&t.showQrModal),qrModalOptions:f,projectId:t.projectId,metadata:t.metadata}}buildRpcMap(t,s){const i={};return t.forEach(e=>{i[e]=this.getRpcUrl(e,s)}),i}async initialize(t){if(this.rpc=this.getRpcConfig(t),this.chainId=this.rpc.chains.length?v(this.rpc.chains):v(this.rpc.optionalChains),this.signer=await R.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 s;try{const{WalletConnectModal:i}=await import(\"@walletconnect/modal\");s=i}catch{throw new Error(\"To use QR modal, please install @walletconnect/modal package\")}if(s)try{this.modal=new s(g({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(i){throw this.signer.logger.error(i),new Error(\"Could not generate WalletConnectModal Instance\")}}}loadConnectOpts(t){if(!t)return;const{chains:s,optionalChains:i,rpcMap:e}=t;s&&E(s)&&(this.rpc.chains=s.map(n=>this.formatChainId(n)),s.forEach(n=>{this.rpc.rpcMap[n]=e?.[n]||this.getRpcUrl(n)})),i&&E(i)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=i?.map(n=>this.formatChainId(n)),i.forEach(n=>{this.rpc.rpcMap[n]=e?.[n]||this.getRpcUrl(n)}))}getRpcUrl(t,s){var i;return((i=this.rpc.rpcMap)==null?void 0:i[t])||`${q}?chainId=eip155:${t}&projectId=${s||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{const t=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),s=this.session.namespaces[`${this.namespace}:${t}`]?this.session.namespaces[`${this.namespace}:${t}`]:this.session.namespaces[this.namespace];this.setChainIds(t?[this.formatChainId(t)]:s?.accounts),this.setAccounts(s?.accounts)}catch(t){this.signer.logger.error(\"Failed to load persisted session, clearing state...\"),this.signer.logger.error(t),await this.disconnect().catch(s=>this.signer.logger.warn(s))}}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(s=>this.parseAccount(s))}}const z=w;export{z as EthereumProvider,O as OPTIONAL_EVENTS,M as OPTIONAL_METHODS,m as REQUIRED_EVENTS,u as REQUIRED_METHODS,w as default};\n//# sourceMappingURL=index.es.js.map\n"],"names":["_a","fn","size","i","size_","encoder","j","to","r","v","yParityOrV","recoveryBit","Pe","Ye","Kr","o","Be","Ft","H","Gt","et","process","ne","ze","Ct","zr","Jr","Ae","ue","Yr","Wt","Xr","Lr","zt","Pr","Jt","kt","Yt","c","u","f","d","re","ro","oo","ao","jt","We","uo","tt","fo","lo","ho","po","Br","go","yo","Q","mo","en","tn","on","rn","nn","bo","wo","Eo","vo","rt","xo","Ne","Io","je","ot","me","sn","Ce","cn","Oo","Ao","No","So","Uo","_o","be","To","st","J","an","$o","un","Ro","we","Se","ln","dn","hn","Po","Ue","Bo","Lo","jo","Co","ko","Do","pn","gn","Mo","g","it","Vo","Lt","Ho","Ko","ct","yn","mn","bn","jr","Fo","y","qo","Cr","Go","Wo","zo","wn","Jo","Yo","En","at","vn","ke","xn","In","ut","On","h","Me","oe","dt","Un","_n","Y","Tn","ft","De","lt","Rn","ht","Bn","F","Ln","jn","se","pt","gt","Cn","kn","Ee","Dn","bs","x","yt","Ve","Mn","Vn","m","L","b","vs","O","_","M","k","E","B","I","w","R","A","T","N","S","U","$","p","C","D","P","G","he","pe","ge","ye","Is","Os","xs","As","Ns","Hn","Kn","Fn","mt","qn","Ts","Gn","Rs","Ps","Ls","Cs","ie","ce","He","ks","Wn","wt","zn","Ds","Vs","ee","Jn","Yn","Xn","Zn","Et","Qn","qs","ve","Ke","er","z","xe","vt","xt","tr","Xs","Qs","ei","It","Ot","V","At","ti","Ie","Nt","Oe","_e","ni","nr","Te","St","ri","K","oi","si","W","ii","ci","Ut","fe","ai","_t","ui","Fe","fi","li","Je","di","rr","hi","pi","or","Dr","gi","yi","mi","kr","sr","bi","wi","Mr","ir","Ei","cr","ar","vi","xi","le","lr","dr","hr","Tt","pr","gr","Ri","yr","mr","te","de","$e","qe","ae","q","Ge","Pi","Re","br","Bi","Li","ji","Ci","Rt","wr","Er","vr","xr","Ir","Pt","ki","Or","Ar","Di","Mi","Vi","Ki","Fi","qi","zi","Nr","Sr","Ur","_r","Tr","$r","Rr","Bt","Le","cs","Mt","Kt","Vt","qt","Xt","Zt","Qt","De.generateKeyPair","De.encodeIss","ls","De.signJWT","us","ds","gs","hs","nt","ps","ys","ms","fs","Us","Xi","Zi","Z","X","Qi","ws","es","Yi","_s","Es","Ms","Bs","Dt","Xe","ts","Gi","Fs","Ks","Ss","is","ss","$s","rs","zs","ns","Ze","os","bt","js","Qe","as","Ji","Wi","Hi","Ht","$t","l"],"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]}