@blockend/widget 1.0.29 → 1.0.31

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 (237) hide show
  1. package/dist/{AllRoutes-BI6S1_ce.js → AllRoutes-Bdi5ZW8W.js} +9 -10
  2. package/dist/{Box-C4LEcE1L.js → Box-e4gA-y_H.js} +2 -3
  3. package/dist/{EstGas-Cy36QY2c.js → EstGas-C5ihS0Mw.js} +8 -9
  4. package/dist/{Grow-CFWtr3jQ.js → Grow-B4K-I-E-.js} +2 -3
  5. package/dist/{InputComp-GOXzP194.js → InputComp-C_UUZxNU.js} +4 -5
  6. package/dist/{LoadRoute-BHtVlgUz.js → LoadRoute-CnDhVKdh.js} +5 -6
  7. package/dist/{QuotesProgress-BX0_rKsx.js → QuotesProgress-DxgPgPJE.js} +1 -2
  8. package/dist/{SwapAsset-CA5olUCO.js → SwapAsset-CmmuxeQF.js} +1 -2
  9. package/dist/{Tooltip-CSAPQuVZ.js → Tooltip-D8YjOOKU.js} +3 -4
  10. package/dist/{TxnButton-DwYxxAGp.js → TxnButton-CF-TLZrD.js} +4 -5
  11. package/dist/WidgetForm.module-DhUUlwZP.js +0 -1
  12. package/dist/{add-BRLysQx_.js → add-B8AfyNIx.js} +1 -2
  13. package/dist/{all-wallets-CTMqIWCX.js → all-wallets-BaLLU39i.js} +1 -2
  14. package/dist/{app-store-Cp0kt5bI.js → app-store-DNpoABj1.js} +1 -2
  15. package/dist/{apple-CME2ahHH.js → apple-DzzHtaL4.js} +1 -2
  16. package/dist/{arrow-bottom-DQGzC3_L.js → arrow-bottom-D2c13c51.js} +1 -2
  17. package/dist/{arrow-bottom-circle-DCCfea9l.js → arrow-bottom-circle-ls9OCLx1.js} +1 -2
  18. package/dist/{arrow-left-BZEB8Yi0.js → arrow-left-BI3rQkNI.js} +1 -2
  19. package/dist/{arrow-right-D3oUWug-.js → arrow-right-rnMzhVod.js} +1 -2
  20. package/dist/{arrow-top-L0jwd_xN.js → arrow-top-CfA6PVMz.js} +1 -2
  21. package/dist/{bank-CWIhPnb7.js → bank-CmpAmHgg.js} +1 -2
  22. package/dist/{basic-i5EtkmJ-.js → basic-Cx2xxgd9.js} +3 -4
  23. package/dist/{browser-Dwg8HqzU.js → browser-mEcjgS1H.js} +1 -2
  24. package/dist/{card-D8HhV5PJ.js → card-DkgIWcMc.js} +1 -2
  25. package/dist/{ccip-D0D8fhs0.js → ccip-BKpquA5i.js} +1 -2
  26. package/dist/{checkmark-Cc68r5tO.js → checkmark-B_A013n2.js} +1 -2
  27. package/dist/{checkmark-bold-jUylCJzk.js → checkmark-bold-DestuG2T.js} +1 -2
  28. package/dist/{chevron-bottom-Cj1CTTCf.js → chevron-bottom-Di3S86dj.js} +1 -2
  29. package/dist/{chevron-left-CPWAs3g3.js → chevron-left-A9Wj-3tj.js} +1 -2
  30. package/dist/{chevron-right-CXLbBw3Y.js → chevron-right-UFxJogOZ.js} +1 -2
  31. package/dist/{chevron-top-B_SRovV4.js → chevron-top-BbZs3eaC.js} +1 -2
  32. package/dist/{chrome-store-BixbajoM.js → chrome-store-B4F6hJmy.js} +1 -2
  33. package/dist/{clock-BZEB38B_.js → clock-BbAQ09uV.js} +1 -2
  34. package/dist/clockIcon-jSNFFrLy.js +0 -1
  35. package/dist/{close-Bs6-HBTK.js → close-CY3oZP_D.js} +1 -2
  36. package/dist/{coinPlaceholder-C9y61i8X.js → coinPlaceholder-DpfsobZT.js} +1 -2
  37. package/dist/{compass-C2avtXZS.js → compass-CHS7RZFk.js} +1 -2
  38. package/dist/{copy-DzOdZkxr.js → copy-CEd4nGhs.js} +1 -2
  39. package/dist/{core-BZZXuuw4.js → core-C-gr9X18.js} +4 -5
  40. package/dist/{cursor-Bf9iHI7p.js → cursor-BTtIlTHP.js} +1 -2
  41. package/dist/{cursor-transparent-BQEiF2ok.js → cursor-transparent-Tm6k6Ws4.js} +1 -2
  42. package/dist/{desktop-DPmyWqG5.js → desktop-CrSyXZkL.js} +1 -2
  43. package/dist/{disconnect-BQidkD6w.js → disconnect-BooT10E1.js} +1 -2
  44. package/dist/{discord-DR24fGID.js → discord-B982Qaml.js} +1 -2
  45. package/dist/{down-BkvG-2GJ.js → down-DDk8OoJG.js} +2 -3
  46. package/dist/{etherscan-Dy60oIzl.js → etherscan-CFL0IcNl.js} +1 -2
  47. package/dist/ethertousd-BOknTgU4.js +0 -1
  48. package/dist/{exclamation-triangle-HP7NPTKs.js → exclamation-triangle-BBeGXYgt.js} +1 -2
  49. package/dist/{extension-BS31sO85.js → extension-C5WqJw73.js} +1 -2
  50. package/dist/{external-link-CEik-VMT.js → external-link-CcSxVDcd.js} +1 -2
  51. package/dist/{facebook-CnyQ7n75.js → facebook-DF0v9ED8.js} +1 -2
  52. package/dist/{farcaster-BZgF-Vb2.js → farcaster-Boq7M4VK.js} +1 -2
  53. package/dist/{filters-DL1O0psz.js → filters-DfeymbPx.js} +1 -2
  54. package/dist/{getChainIds-rITF5AhT.js → getChainIds-6iugk2h0.js} +2 -3
  55. package/dist/{getCosmosAddress-F3cVcEo_.js → getCosmosAddress-BgD5iV6f.js} +2 -3
  56. package/dist/{github-Dy9CoSia.js → github-DQ8FV4bD.js} +1 -2
  57. package/dist/{google-7E1gDtp8.js → google-Dm8FDDZR.js} +1 -2
  58. package/dist/{hamburger-9OL86eJ4.js → hamburger-BYe_G11E.js} +5 -6
  59. package/dist/{help-circle-Di1WCQ0a.js → help-circle-CbgiAebR.js} +1 -2
  60. package/dist/{id-DlvuSRLo.js → id-CzqxUksI.js} +1 -2
  61. package/dist/{image-C9KlwGkO.js → image-CsCGTIN-.js} +1 -2
  62. package/dist/{index-VUHSKS3s.js → index-BAmjBHYR.js} +78 -79
  63. package/dist/{index-C1fUkQoq.js → index-BxHeZ9IF.js} +3 -4
  64. package/dist/{index-BMWxmSCJ.js → index-C7cb2O7r.js} +12 -13
  65. package/dist/{index-y2Y2qgCq.js → index-CF9p4S_X.js} +1 -2
  66. package/dist/{index-DE9MrcCA.js → index-C_vo1L7p.js} +10 -11
  67. package/dist/{index-B6VkUEzI.js → index-Ch7w83dW.js} +4 -5
  68. package/dist/{index-CtB45It1.js → index-Crhenmgw.js} +5 -6
  69. package/dist/{index-DbHvtB3i.js → index-Cz5Dosd2.js} +2 -3
  70. package/dist/{index-DNJCXmwW.js → index-D5OnT-__.js} +8 -9
  71. package/dist/index-DArR1lwi.js +0 -1
  72. package/dist/{index-BvFG_JxR.js → index-hEJSpZe-.js} +4 -5
  73. package/dist/{index-eXI3V1wT.js → index-m2O0cbD8.js} +15 -16
  74. package/dist/index-sLx4Edw4.js +0 -1
  75. package/dist/{index.es-CHo7m7wp.js → index.es-DIbGJsfa.js} +1 -2
  76. package/dist/{index.es-B6KbDmBT.js → index.es-t6sHlseh.js} +2 -3
  77. package/dist/index.es.js +1 -2
  78. package/dist/{info-circle-jE7Eeb9-.js → info-circle-Bt350Yzj.js} +1 -2
  79. package/dist/{info-N9u4Be4B.js → info-fKCfLW0k.js} +1 -2
  80. package/dist/{lightbulb-CWBMlL9o.js → lightbulb-BL9YBxiA.js} +1 -2
  81. package/dist/{mail-EzqVrU-i.js → mail-_g6CHQeQ.js} +1 -2
  82. package/dist/{mobile-BazcfAsN.js → mobile-B-EQ4IcH.js} +1 -2
  83. package/dist/{more-C23jMq4d.js → more-C3rpOdUy.js} +1 -2
  84. package/dist/{network-placeholder-CAju_EVM.js → network-placeholder-D9Ak7Xj_.js} +1 -2
  85. package/dist/{nftPlaceholder-ChYvzDe-.js → nftPlaceholder-CIIm2V_o.js} +1 -2
  86. package/dist/{off-CA_nOLym.js → off-DZjgI0eE.js} +1 -2
  87. package/dist/{play-store-CPUqc7g0.js → play-store-DvRnagoF.js} +1 -2
  88. package/dist/{plus-Bl0Y3tA2.js → plus-C2jN2huZ.js} +1 -2
  89. package/dist/{qr-code-Bqo_W-ph.js → qr-code-B64HnZgi.js} +1 -2
  90. package/dist/{recycle-horizontal-DgnidGUB.js → recycle-horizontal-CovcJGa_.js} +1 -2
  91. package/dist/{refresh-BqGHqal4.js → refresh-J1Vw6QMA.js} +1 -2
  92. package/dist/{reown-logo-xvbDZLtY.js → reown-logo-BsXoZ3KT.js} +1 -2
  93. package/dist/{search-6B7pLyuM.js → search-BC86wYXR.js} +1 -2
  94. package/dist/{secp256k1-CwqBHRCR.js → secp256k1-BkBK0mD5.js} +1 -2
  95. package/dist/{send-D2rd7Ly5.js → send-BPA1bK5G.js} +1 -2
  96. package/dist/{shareicon-YFyFHOcy.js → shareicon-C88Wx-AM.js} +2 -3
  97. package/dist/sortDown-cDA6MpOw.js +0 -1
  98. package/dist/{swapHorizontal-BBItVna7.js → swapHorizontal-47_8ePle.js} +1 -2
  99. package/dist/{swapHorizontalBold-Dubgd9Y6.js → swapHorizontalBold-CJ7TzeQP.js} +1 -2
  100. package/dist/{swapHorizontalMedium-CSxG6lVR.js → swapHorizontalMedium-CTACgUR9.js} +1 -2
  101. package/dist/{swapHorizontalRoundedBold-D34PL1Bh.js → swapHorizontalRoundedBold-Ht3_LABp.js} +1 -2
  102. package/dist/{swapVertical-0r7UQskA.js → swapVertical-DlS0V6DD.js} +1 -2
  103. package/dist/{telegram-ovAow9nb.js → telegram-UZ00kvIE.js} +1 -2
  104. package/dist/{three-dots-DOcV-lq9.js → three-dots-D9zVXr1j.js} +1 -2
  105. package/dist/truncate-DSxFWEga.js +0 -1
  106. package/dist/{twitch-PNh7HEjQ.js → twitch-CP6rpz4m.js} +1 -2
  107. package/dist/{twitterIcon-4OA21RFU.js → twitterIcon-Cm3I3FRU.js} +1 -2
  108. package/dist/{unsupportedProp-14IykURU.js → unsupportedProp-DkeDzLfM.js} +1 -2
  109. package/dist/{useRegisterError-jG_k_Jbu.js → useRegisterError-W_UfecIN.js} +1 -2
  110. package/dist/validError-rariWQ7G.js +0 -1
  111. package/dist/{verify-BcPkDFSa.js → verify-DuUE85WT.js} +1 -2
  112. package/dist/{verify-filled-BM4sK3jx.js → verify-filled-CfgydKPa.js} +1 -2
  113. package/dist/{w3m-modal-Dy5Q9QNU.js → w3m-modal-Bl-DPlah.js} +2 -3
  114. package/dist/{wallet-Dtk34v-h.js → wallet-BC2LSDlF.js} +1 -2
  115. package/dist/{wallet-placeholder-_pPhYgGm.js → wallet-placeholder-DugEJ7xM.js} +1 -2
  116. package/dist/{walletconnect-BxzjxGSG.js → walletconnect-wayCaYfk.js} +1 -2
  117. package/dist/{warning-circle-Bugxi3FB.js → warning-circle-Cy9YuvwU.js} +1 -2
  118. package/dist/{x-P3PsrJCO.js → x-jggPFiy-.js} +1 -2
  119. package/package.json +2 -2
  120. package/dist/AllRoutes-BI6S1_ce.js.map +0 -1
  121. package/dist/Box-C4LEcE1L.js.map +0 -1
  122. package/dist/EstGas-Cy36QY2c.js.map +0 -1
  123. package/dist/Grow-CFWtr3jQ.js.map +0 -1
  124. package/dist/InputComp-GOXzP194.js.map +0 -1
  125. package/dist/LoadRoute-BHtVlgUz.js.map +0 -1
  126. package/dist/QuotesProgress-BX0_rKsx.js.map +0 -1
  127. package/dist/SwapAsset-CA5olUCO.js.map +0 -1
  128. package/dist/Tooltip-CSAPQuVZ.js.map +0 -1
  129. package/dist/TxnButton-DwYxxAGp.js.map +0 -1
  130. package/dist/WidgetForm.module-DhUUlwZP.js.map +0 -1
  131. package/dist/add-BRLysQx_.js.map +0 -1
  132. package/dist/all-wallets-CTMqIWCX.js.map +0 -1
  133. package/dist/app-store-Cp0kt5bI.js.map +0 -1
  134. package/dist/apple-CME2ahHH.js.map +0 -1
  135. package/dist/arrow-bottom-DQGzC3_L.js.map +0 -1
  136. package/dist/arrow-bottom-circle-DCCfea9l.js.map +0 -1
  137. package/dist/arrow-left-BZEB8Yi0.js.map +0 -1
  138. package/dist/arrow-right-D3oUWug-.js.map +0 -1
  139. package/dist/arrow-top-L0jwd_xN.js.map +0 -1
  140. package/dist/bank-CWIhPnb7.js.map +0 -1
  141. package/dist/basic-i5EtkmJ-.js.map +0 -1
  142. package/dist/browser-Dwg8HqzU.js.map +0 -1
  143. package/dist/card-D8HhV5PJ.js.map +0 -1
  144. package/dist/ccip-D0D8fhs0.js.map +0 -1
  145. package/dist/checkmark-Cc68r5tO.js.map +0 -1
  146. package/dist/checkmark-bold-jUylCJzk.js.map +0 -1
  147. package/dist/chevron-bottom-Cj1CTTCf.js.map +0 -1
  148. package/dist/chevron-left-CPWAs3g3.js.map +0 -1
  149. package/dist/chevron-right-CXLbBw3Y.js.map +0 -1
  150. package/dist/chevron-top-B_SRovV4.js.map +0 -1
  151. package/dist/chrome-store-BixbajoM.js.map +0 -1
  152. package/dist/clock-BZEB38B_.js.map +0 -1
  153. package/dist/clockIcon-jSNFFrLy.js.map +0 -1
  154. package/dist/close-Bs6-HBTK.js.map +0 -1
  155. package/dist/coinPlaceholder-C9y61i8X.js.map +0 -1
  156. package/dist/compass-C2avtXZS.js.map +0 -1
  157. package/dist/copy-DzOdZkxr.js.map +0 -1
  158. package/dist/core-BZZXuuw4.js.map +0 -1
  159. package/dist/cursor-Bf9iHI7p.js.map +0 -1
  160. package/dist/cursor-transparent-BQEiF2ok.js.map +0 -1
  161. package/dist/desktop-DPmyWqG5.js.map +0 -1
  162. package/dist/disconnect-BQidkD6w.js.map +0 -1
  163. package/dist/discord-DR24fGID.js.map +0 -1
  164. package/dist/down-BkvG-2GJ.js.map +0 -1
  165. package/dist/etherscan-Dy60oIzl.js.map +0 -1
  166. package/dist/ethertousd-BOknTgU4.js.map +0 -1
  167. package/dist/exclamation-triangle-HP7NPTKs.js.map +0 -1
  168. package/dist/extension-BS31sO85.js.map +0 -1
  169. package/dist/external-link-CEik-VMT.js.map +0 -1
  170. package/dist/facebook-CnyQ7n75.js.map +0 -1
  171. package/dist/farcaster-BZgF-Vb2.js.map +0 -1
  172. package/dist/filters-DL1O0psz.js.map +0 -1
  173. package/dist/getChainIds-rITF5AhT.js.map +0 -1
  174. package/dist/getCosmosAddress-F3cVcEo_.js.map +0 -1
  175. package/dist/github-Dy9CoSia.js.map +0 -1
  176. package/dist/google-7E1gDtp8.js.map +0 -1
  177. package/dist/hamburger-9OL86eJ4.js.map +0 -1
  178. package/dist/help-circle-Di1WCQ0a.js.map +0 -1
  179. package/dist/id-DlvuSRLo.js.map +0 -1
  180. package/dist/image-C9KlwGkO.js.map +0 -1
  181. package/dist/index-B6VkUEzI.js.map +0 -1
  182. package/dist/index-BMWxmSCJ.js.map +0 -1
  183. package/dist/index-BvFG_JxR.js.map +0 -1
  184. package/dist/index-C1fUkQoq.js.map +0 -1
  185. package/dist/index-CtB45It1.js.map +0 -1
  186. package/dist/index-DArR1lwi.js.map +0 -1
  187. package/dist/index-DE9MrcCA.js.map +0 -1
  188. package/dist/index-DNJCXmwW.js.map +0 -1
  189. package/dist/index-DbHvtB3i.js.map +0 -1
  190. package/dist/index-VUHSKS3s.js.map +0 -1
  191. package/dist/index-eXI3V1wT.js.map +0 -1
  192. package/dist/index-sLx4Edw4.js.map +0 -1
  193. package/dist/index-y2Y2qgCq.js.map +0 -1
  194. package/dist/index.es-B6KbDmBT.js.map +0 -1
  195. package/dist/index.es-CHo7m7wp.js.map +0 -1
  196. package/dist/index.es.js.map +0 -1
  197. package/dist/info-N9u4Be4B.js.map +0 -1
  198. package/dist/info-circle-jE7Eeb9-.js.map +0 -1
  199. package/dist/lightbulb-CWBMlL9o.js.map +0 -1
  200. package/dist/mail-EzqVrU-i.js.map +0 -1
  201. package/dist/mobile-BazcfAsN.js.map +0 -1
  202. package/dist/more-C23jMq4d.js.map +0 -1
  203. package/dist/network-placeholder-CAju_EVM.js.map +0 -1
  204. package/dist/nftPlaceholder-ChYvzDe-.js.map +0 -1
  205. package/dist/off-CA_nOLym.js.map +0 -1
  206. package/dist/play-store-CPUqc7g0.js.map +0 -1
  207. package/dist/plus-Bl0Y3tA2.js.map +0 -1
  208. package/dist/qr-code-Bqo_W-ph.js.map +0 -1
  209. package/dist/recycle-horizontal-DgnidGUB.js.map +0 -1
  210. package/dist/refresh-BqGHqal4.js.map +0 -1
  211. package/dist/reown-logo-xvbDZLtY.js.map +0 -1
  212. package/dist/search-6B7pLyuM.js.map +0 -1
  213. package/dist/secp256k1-CwqBHRCR.js.map +0 -1
  214. package/dist/send-D2rd7Ly5.js.map +0 -1
  215. package/dist/shareicon-YFyFHOcy.js.map +0 -1
  216. package/dist/sortDown-cDA6MpOw.js.map +0 -1
  217. package/dist/swapHorizontal-BBItVna7.js.map +0 -1
  218. package/dist/swapHorizontalBold-Dubgd9Y6.js.map +0 -1
  219. package/dist/swapHorizontalMedium-CSxG6lVR.js.map +0 -1
  220. package/dist/swapHorizontalRoundedBold-D34PL1Bh.js.map +0 -1
  221. package/dist/swapVertical-0r7UQskA.js.map +0 -1
  222. package/dist/telegram-ovAow9nb.js.map +0 -1
  223. package/dist/three-dots-DOcV-lq9.js.map +0 -1
  224. package/dist/truncate-DSxFWEga.js.map +0 -1
  225. package/dist/twitch-PNh7HEjQ.js.map +0 -1
  226. package/dist/twitterIcon-4OA21RFU.js.map +0 -1
  227. package/dist/unsupportedProp-14IykURU.js.map +0 -1
  228. package/dist/useRegisterError-jG_k_Jbu.js.map +0 -1
  229. package/dist/validError-rariWQ7G.js.map +0 -1
  230. package/dist/verify-BcPkDFSa.js.map +0 -1
  231. package/dist/verify-filled-BM4sK3jx.js.map +0 -1
  232. package/dist/w3m-modal-Dy5Q9QNU.js.map +0 -1
  233. package/dist/wallet-Dtk34v-h.js.map +0 -1
  234. package/dist/wallet-placeholder-_pPhYgGm.js.map +0 -1
  235. package/dist/walletconnect-BxzjxGSG.js.map +0 -1
  236. package/dist/warning-circle-Bugxi3FB.js.map +0 -1
  237. package/dist/x-P3PsrJCO.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.es-B6KbDmBT.js","sources":["../node_modules/vite-plugin-node-polyfills/shims/global/dist/index.js","../node_modules/events/events.js","../node_modules/detect-browser/es/index.js","../node_modules/@walletconnect/time/node_modules/tslib/tslib.es6.js","../node_modules/@walletconnect/time/dist/cjs/utils/delay.js","../node_modules/@walletconnect/time/dist/cjs/constants/misc.js","../node_modules/@walletconnect/time/dist/cjs/constants/time.js","../node_modules/@walletconnect/time/dist/cjs/constants/index.js","../node_modules/@walletconnect/time/dist/cjs/utils/convert.js","../node_modules/@walletconnect/time/dist/cjs/utils/index.js","../node_modules/@walletconnect/time/dist/cjs/watch.js","../node_modules/@walletconnect/time/dist/cjs/types/watch.js","../node_modules/@walletconnect/time/dist/cjs/types/index.js","../node_modules/@walletconnect/time/dist/cjs/index.js","../node_modules/@walletconnect/window-getters/dist/cjs/index.js","../node_modules/@walletconnect/window-metadata/dist/cjs/index.js","../node_modules/base-x/src/esm/index.js","../node_modules/bs58/src/esm/index.js","../node_modules/@walletconnect/safe-json/dist/esm/index.js","../node_modules/@walletconnect/relay-auth/dist/index.es.js","../node_modules/uint8arrays/esm/src/alloc.js","../node_modules/uint8arrays/esm/src/concat.js","../node_modules/multiformats/esm/vendor/base-x.js","../node_modules/multiformats/esm/src/bytes.js","../node_modules/multiformats/esm/src/bases/base.js","../node_modules/multiformats/esm/src/bases/identity.js","../node_modules/multiformats/esm/src/bases/base2.js","../node_modules/multiformats/esm/src/bases/base8.js","../node_modules/multiformats/esm/src/bases/base10.js","../node_modules/multiformats/esm/src/bases/base16.js","../node_modules/multiformats/esm/src/bases/base32.js","../node_modules/multiformats/esm/src/bases/base36.js","../node_modules/multiformats/esm/src/bases/base58.js","../node_modules/multiformats/esm/src/bases/base64.js","../node_modules/multiformats/esm/src/bases/base256emoji.js","../node_modules/multiformats/esm/src/codecs/json.js","../node_modules/multiformats/esm/src/basics.js","../node_modules/uint8arrays/esm/src/util/bases.js","../node_modules/uint8arrays/esm/src/from-string.js","../node_modules/uint8arrays/esm/src/to-string.js","../node_modules/@walletconnect/relay-api/dist/index.es.js","../node_modules/@wagmi/connectors/node_modules/@walletconnect/utils/dist/index.es.js","../node_modules/@walletconnect/events/dist/esm/events.js","../node_modules/@walletconnect/heartbeat/dist/index.es.js","../node_modules/destr/dist/index.mjs","../node_modules/unstorage/dist/shared/unstorage.CoCt7NXC.mjs","../node_modules/unstorage/dist/index.mjs","../node_modules/idb-keyval/dist/index.js","../node_modules/@walletconnect/keyvaluestorage/dist/index.es.js","../node_modules/quick-format-unescaped/index.js","../node_modules/pino/browser.js","../node_modules/@walletconnect/logger/dist/index.es.js","../node_modules/@wagmi/connectors/node_modules/@walletconnect/types/dist/index.es.js","../node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js","../node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js","../node_modules/@walletconnect/environment/node_modules/tslib/tslib.es6.js","../node_modules/@walletconnect/environment/dist/cjs/crypto.js","../node_modules/@walletconnect/environment/dist/cjs/env.js","../node_modules/@walletconnect/environment/dist/cjs/index.js","../node_modules/@walletconnect/jsonrpc-utils/dist/esm/format.js","../node_modules/@walletconnect/jsonrpc-types/dist/index.es.js","../node_modules/@walletconnect/jsonrpc-utils/dist/esm/url.js","../node_modules/@walletconnect/jsonrpc-utils/dist/esm/validators.js","../node_modules/@walletconnect/jsonrpc-provider/dist/index.es.js","../node_modules/@walletconnect/jsonrpc-ws-connection/dist/index.es.js","../node_modules/@wagmi/connectors/node_modules/@walletconnect/core/dist/index.es.js","../node_modules/@wagmi/connectors/node_modules/@walletconnect/sign-client/dist/index.es.js","../node_modules/cross-fetch/dist/browser-ponyfill.js","../node_modules/@walletconnect/jsonrpc-http-connection/dist/index.es.js","../node_modules/@wagmi/connectors/node_modules/@walletconnect/universal-provider/dist/index.es.js","../node_modules/@wagmi/connectors/node_modules/@walletconnect/ethereum-provider/dist/index.es.js"],"sourcesContent":["const global = globalThis || void 0 || self;\n\nexport { global as default, global };\n//# sourceMappingURL=index.js.map\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar BrowserInfo = /** @class */ (function () {\n function BrowserInfo(name, version, os) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.type = 'browser';\n }\n return BrowserInfo;\n}());\nexport { BrowserInfo };\nvar NodeInfo = /** @class */ (function () {\n function NodeInfo(version) {\n this.version = version;\n this.type = 'node';\n this.name = 'node';\n this.os = process.platform;\n }\n return NodeInfo;\n}());\nexport { NodeInfo };\nvar SearchBotDeviceInfo = /** @class */ (function () {\n function SearchBotDeviceInfo(name, version, os, bot) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.bot = bot;\n this.type = 'bot-device';\n }\n return SearchBotDeviceInfo;\n}());\nexport { SearchBotDeviceInfo };\nvar BotInfo = /** @class */ (function () {\n function BotInfo() {\n this.type = 'bot';\n this.bot = true; // NOTE: deprecated test name instead\n this.name = 'bot';\n this.version = null;\n this.os = null;\n }\n return BotInfo;\n}());\nexport { BotInfo };\nvar ReactNativeInfo = /** @class */ (function () {\n function ReactNativeInfo() {\n this.type = 'react-native';\n this.name = 'react-native';\n this.version = null;\n this.os = null;\n }\n return ReactNativeInfo;\n}());\nexport { ReactNativeInfo };\n// tslint:disable-next-line:max-line-length\nvar SEARCHBOX_UA_REGEX = /alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/;\nvar SEARCHBOT_OS_REGEX = /(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\\ Jeeves\\/Teoma|ia_archiver)/;\nvar REQUIRED_VERSION_PARTS = 3;\nvar userAgentRules = [\n ['aol', /AOLShield\\/([0-9\\._]+)/],\n ['edge', /Edge\\/([0-9\\._]+)/],\n ['edge-ios', /EdgiOS\\/([0-9\\._]+)/],\n ['yandexbrowser', /YaBrowser\\/([0-9\\._]+)/],\n ['kakaotalk', /KAKAOTALK\\s([0-9\\.]+)/],\n ['samsung', /SamsungBrowser\\/([0-9\\.]+)/],\n ['silk', /\\bSilk\\/([0-9._-]+)\\b/],\n ['miui', /MiuiBrowser\\/([0-9\\.]+)$/],\n ['beaker', /BeakerBrowser\\/([0-9\\.]+)/],\n ['edge-chromium', /EdgA?\\/([0-9\\.]+)/],\n [\n 'chromium-webview',\n /(?!Chrom.*OPR)wv\\).*Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/,\n ],\n ['chrome', /(?!Chrom.*OPR)Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/],\n ['phantomjs', /PhantomJS\\/([0-9\\.]+)(:?\\s|$)/],\n ['crios', /CriOS\\/([0-9\\.]+)(:?\\s|$)/],\n ['firefox', /Firefox\\/([0-9\\.]+)(?:\\s|$)/],\n ['fxios', /FxiOS\\/([0-9\\.]+)/],\n ['opera-mini', /Opera Mini.*Version\\/([0-9\\.]+)/],\n ['opera', /Opera\\/([0-9\\.]+)(?:\\s|$)/],\n ['opera', /OPR\\/([0-9\\.]+)(:?\\s|$)/],\n ['pie', /^Microsoft Pocket Internet Explorer\\/(\\d+\\.\\d+)$/],\n ['pie', /^Mozilla\\/\\d\\.\\d+\\s\\(compatible;\\s(?:MSP?IE|MSInternet Explorer) (\\d+\\.\\d+);.*Windows CE.*\\)$/],\n ['netfront', /^Mozilla\\/\\d\\.\\d+.*NetFront\\/(\\d.\\d)/],\n ['ie', /Trident\\/7\\.0.*rv\\:([0-9\\.]+).*\\).*Gecko$/],\n ['ie', /MSIE\\s([0-9\\.]+);.*Trident\\/[4-7].0/],\n ['ie', /MSIE\\s(7\\.0)/],\n ['bb10', /BB10;\\sTouch.*Version\\/([0-9\\.]+)/],\n ['android', /Android\\s([0-9\\.]+)/],\n ['ios', /Version\\/([0-9\\._]+).*Mobile.*Safari.*/],\n ['safari', /Version\\/([0-9\\._]+).*Safari/],\n ['facebook', /FB[AS]V\\/([0-9\\.]+)/],\n ['instagram', /Instagram\\s([0-9\\.]+)/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Mobile/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Gecko\\)$/],\n ['curl', /^curl\\/([0-9\\.]+)$/],\n ['searchbot', SEARCHBOX_UA_REGEX],\n];\nvar operatingSystemRules = [\n ['iOS', /iP(hone|od|ad)/],\n ['Android OS', /Android/],\n ['BlackBerry OS', /BlackBerry|BB10/],\n ['Windows Mobile', /IEMobile/],\n ['Amazon OS', /Kindle/],\n ['Windows 3.11', /Win16/],\n ['Windows 95', /(Windows 95)|(Win95)|(Windows_95)/],\n ['Windows 98', /(Windows 98)|(Win98)/],\n ['Windows 2000', /(Windows NT 5.0)|(Windows 2000)/],\n ['Windows XP', /(Windows NT 5.1)|(Windows XP)/],\n ['Windows Server 2003', /(Windows NT 5.2)/],\n ['Windows Vista', /(Windows NT 6.0)/],\n ['Windows 7', /(Windows NT 6.1)/],\n ['Windows 8', /(Windows NT 6.2)/],\n ['Windows 8.1', /(Windows NT 6.3)/],\n ['Windows 10', /(Windows NT 10.0)/],\n ['Windows ME', /Windows ME/],\n ['Windows CE', /Windows CE|WinCE|Microsoft Pocket Internet Explorer/],\n ['Open BSD', /OpenBSD/],\n ['Sun OS', /SunOS/],\n ['Chrome OS', /CrOS/],\n ['Linux', /(Linux)|(X11)/],\n ['Mac OS', /(Mac_PowerPC)|(Macintosh)/],\n ['QNX', /QNX/],\n ['BeOS', /BeOS/],\n ['OS/2', /OS\\/2/],\n];\nexport function detect(userAgent) {\n if (!!userAgent) {\n return parseUserAgent(userAgent);\n }\n if (typeof document === 'undefined' &&\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative') {\n return new ReactNativeInfo();\n }\n if (typeof navigator !== 'undefined') {\n return parseUserAgent(navigator.userAgent);\n }\n return getNodeVersion();\n}\nfunction matchUserAgent(ua) {\n // opted for using reduce here rather than Array#first with a regex.test call\n // this is primarily because using the reduce we only perform the regex\n // execution once rather than once for the test and for the exec again below\n // probably something that needs to be benchmarked though\n return (ua !== '' &&\n userAgentRules.reduce(function (matched, _a) {\n var browser = _a[0], regex = _a[1];\n if (matched) {\n return matched;\n }\n var uaMatch = regex.exec(ua);\n return !!uaMatch && [browser, uaMatch];\n }, false));\n}\nexport function browserName(ua) {\n var data = matchUserAgent(ua);\n return data ? data[0] : null;\n}\nexport function parseUserAgent(ua) {\n var matchedRule = matchUserAgent(ua);\n if (!matchedRule) {\n return null;\n }\n var name = matchedRule[0], match = matchedRule[1];\n if (name === 'searchbot') {\n return new BotInfo();\n }\n // Do not use RegExp for split operation as some browser do not support it (See: http://blog.stevenlevithan.com/archives/cross-browser-split)\n var versionParts = match[1] && match[1].split('.').join('_').split('_').slice(0, 3);\n if (versionParts) {\n if (versionParts.length < REQUIRED_VERSION_PARTS) {\n versionParts = __spreadArray(__spreadArray([], versionParts, true), createVersionParts(REQUIRED_VERSION_PARTS - versionParts.length), true);\n }\n }\n else {\n versionParts = [];\n }\n var version = versionParts.join('.');\n var os = detectOS(ua);\n var searchBotMatch = SEARCHBOT_OS_REGEX.exec(ua);\n if (searchBotMatch && searchBotMatch[1]) {\n return new SearchBotDeviceInfo(name, version, os, searchBotMatch[1]);\n }\n return new BrowserInfo(name, version, os);\n}\nexport function detectOS(ua) {\n for (var ii = 0, count = operatingSystemRules.length; ii < count; ii++) {\n var _a = operatingSystemRules[ii], os = _a[0], regex = _a[1];\n var match = regex.exec(ua);\n if (match) {\n return os;\n }\n }\n return null;\n}\nexport function getNodeVersion() {\n var isNode = typeof process !== 'undefined' && process.version;\n return isNode ? new NodeInfo(process.version.slice(1)) : null;\n}\nfunction createVersionParts(count) {\n var output = [];\n for (var ii = 0; ii < count; ii++) {\n output.push('0');\n }\n return output;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.delay = void 0;\nfunction delay(timeout) {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(true);\n }, timeout);\n });\n}\nexports.delay = delay;\n//# sourceMappingURL=delay.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ONE_THOUSAND = exports.ONE_HUNDRED = void 0;\nexports.ONE_HUNDRED = 100;\nexports.ONE_THOUSAND = 1000;\n//# sourceMappingURL=misc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ONE_YEAR = exports.FOUR_WEEKS = exports.THREE_WEEKS = exports.TWO_WEEKS = exports.ONE_WEEK = exports.THIRTY_DAYS = exports.SEVEN_DAYS = exports.FIVE_DAYS = exports.THREE_DAYS = exports.ONE_DAY = exports.TWENTY_FOUR_HOURS = exports.TWELVE_HOURS = exports.SIX_HOURS = exports.THREE_HOURS = exports.ONE_HOUR = exports.SIXTY_MINUTES = exports.THIRTY_MINUTES = exports.TEN_MINUTES = exports.FIVE_MINUTES = exports.ONE_MINUTE = exports.SIXTY_SECONDS = exports.THIRTY_SECONDS = exports.TEN_SECONDS = exports.FIVE_SECONDS = exports.ONE_SECOND = void 0;\nexports.ONE_SECOND = 1;\nexports.FIVE_SECONDS = 5;\nexports.TEN_SECONDS = 10;\nexports.THIRTY_SECONDS = 30;\nexports.SIXTY_SECONDS = 60;\nexports.ONE_MINUTE = exports.SIXTY_SECONDS;\nexports.FIVE_MINUTES = exports.ONE_MINUTE * 5;\nexports.TEN_MINUTES = exports.ONE_MINUTE * 10;\nexports.THIRTY_MINUTES = exports.ONE_MINUTE * 30;\nexports.SIXTY_MINUTES = exports.ONE_MINUTE * 60;\nexports.ONE_HOUR = exports.SIXTY_MINUTES;\nexports.THREE_HOURS = exports.ONE_HOUR * 3;\nexports.SIX_HOURS = exports.ONE_HOUR * 6;\nexports.TWELVE_HOURS = exports.ONE_HOUR * 12;\nexports.TWENTY_FOUR_HOURS = exports.ONE_HOUR * 24;\nexports.ONE_DAY = exports.TWENTY_FOUR_HOURS;\nexports.THREE_DAYS = exports.ONE_DAY * 3;\nexports.FIVE_DAYS = exports.ONE_DAY * 5;\nexports.SEVEN_DAYS = exports.ONE_DAY * 7;\nexports.THIRTY_DAYS = exports.ONE_DAY * 30;\nexports.ONE_WEEK = exports.SEVEN_DAYS;\nexports.TWO_WEEKS = exports.ONE_WEEK * 2;\nexports.THREE_WEEKS = exports.ONE_WEEK * 3;\nexports.FOUR_WEEKS = exports.ONE_WEEK * 4;\nexports.ONE_YEAR = exports.ONE_DAY * 365;\n//# sourceMappingURL=time.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./misc\"), exports);\ntslib_1.__exportStar(require(\"./time\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromMiliseconds = exports.toMiliseconds = void 0;\nconst constants_1 = require(\"../constants\");\nfunction toMiliseconds(seconds) {\n return seconds * constants_1.ONE_THOUSAND;\n}\nexports.toMiliseconds = toMiliseconds;\nfunction fromMiliseconds(miliseconds) {\n return Math.floor(miliseconds / constants_1.ONE_THOUSAND);\n}\nexports.fromMiliseconds = fromMiliseconds;\n//# sourceMappingURL=convert.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./delay\"), exports);\ntslib_1.__exportStar(require(\"./convert\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Watch = void 0;\nclass Watch {\n constructor() {\n this.timestamps = new Map();\n }\n start(label) {\n if (this.timestamps.has(label)) {\n throw new Error(`Watch already started for label: ${label}`);\n }\n this.timestamps.set(label, { started: Date.now() });\n }\n stop(label) {\n const timestamp = this.get(label);\n if (typeof timestamp.elapsed !== \"undefined\") {\n throw new Error(`Watch already stopped for label: ${label}`);\n }\n const elapsed = Date.now() - timestamp.started;\n this.timestamps.set(label, { started: timestamp.started, elapsed });\n }\n get(label) {\n const timestamp = this.timestamps.get(label);\n if (typeof timestamp === \"undefined\") {\n throw new Error(`No timestamp found for label: ${label}`);\n }\n return timestamp;\n }\n elapsed(label) {\n const timestamp = this.get(label);\n const elapsed = timestamp.elapsed || Date.now() - timestamp.started;\n return elapsed;\n }\n}\nexports.Watch = Watch;\nexports.default = Watch;\n//# sourceMappingURL=watch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IWatch = void 0;\nclass IWatch {\n}\nexports.IWatch = IWatch;\n//# sourceMappingURL=watch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./watch\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./utils\"), exports);\ntslib_1.__exportStar(require(\"./watch\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\ntslib_1.__exportStar(require(\"./constants\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getLocalStorage = exports.getLocalStorageOrThrow = exports.getCrypto = exports.getCryptoOrThrow = exports.getLocation = exports.getLocationOrThrow = exports.getNavigator = exports.getNavigatorOrThrow = exports.getDocument = exports.getDocumentOrThrow = exports.getFromWindowOrThrow = exports.getFromWindow = void 0;\nfunction getFromWindow(name) {\n let res = undefined;\n if (typeof window !== \"undefined\" && typeof window[name] !== \"undefined\") {\n res = window[name];\n }\n return res;\n}\nexports.getFromWindow = getFromWindow;\nfunction getFromWindowOrThrow(name) {\n const res = getFromWindow(name);\n if (!res) {\n throw new Error(`${name} is not defined in Window`);\n }\n return res;\n}\nexports.getFromWindowOrThrow = getFromWindowOrThrow;\nfunction getDocumentOrThrow() {\n return getFromWindowOrThrow(\"document\");\n}\nexports.getDocumentOrThrow = getDocumentOrThrow;\nfunction getDocument() {\n return getFromWindow(\"document\");\n}\nexports.getDocument = getDocument;\nfunction getNavigatorOrThrow() {\n return getFromWindowOrThrow(\"navigator\");\n}\nexports.getNavigatorOrThrow = getNavigatorOrThrow;\nfunction getNavigator() {\n return getFromWindow(\"navigator\");\n}\nexports.getNavigator = getNavigator;\nfunction getLocationOrThrow() {\n return getFromWindowOrThrow(\"location\");\n}\nexports.getLocationOrThrow = getLocationOrThrow;\nfunction getLocation() {\n return getFromWindow(\"location\");\n}\nexports.getLocation = getLocation;\nfunction getCryptoOrThrow() {\n return getFromWindowOrThrow(\"crypto\");\n}\nexports.getCryptoOrThrow = getCryptoOrThrow;\nfunction getCrypto() {\n return getFromWindow(\"crypto\");\n}\nexports.getCrypto = getCrypto;\nfunction getLocalStorageOrThrow() {\n return getFromWindowOrThrow(\"localStorage\");\n}\nexports.getLocalStorageOrThrow = getLocalStorageOrThrow;\nfunction getLocalStorage() {\n return getFromWindow(\"localStorage\");\n}\nexports.getLocalStorage = getLocalStorage;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWindowMetadata = void 0;\nconst window_getters_1 = require(\"@walletconnect/window-getters\");\nfunction getWindowMetadata() {\n let doc;\n let loc;\n try {\n doc = window_getters_1.getDocumentOrThrow();\n loc = window_getters_1.getLocationOrThrow();\n }\n catch (e) {\n return null;\n }\n function getIcons() {\n const links = doc.getElementsByTagName(\"link\");\n const icons = [];\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const rel = link.getAttribute(\"rel\");\n if (rel) {\n if (rel.toLowerCase().indexOf(\"icon\") > -1) {\n const href = link.getAttribute(\"href\");\n if (href) {\n if (href.toLowerCase().indexOf(\"https:\") === -1 &&\n href.toLowerCase().indexOf(\"http:\") === -1 &&\n href.indexOf(\"//\") !== 0) {\n let absoluteHref = loc.protocol + \"//\" + loc.host;\n if (href.indexOf(\"/\") === 0) {\n absoluteHref += href;\n }\n else {\n const path = loc.pathname.split(\"/\");\n path.pop();\n const finalPath = path.join(\"/\");\n absoluteHref += finalPath + \"/\" + href;\n }\n icons.push(absoluteHref);\n }\n else if (href.indexOf(\"//\") === 0) {\n const absoluteUrl = loc.protocol + href;\n icons.push(absoluteUrl);\n }\n else {\n icons.push(href);\n }\n }\n }\n }\n }\n return icons;\n }\n function getWindowMetadataOfAny(...args) {\n const metaTags = doc.getElementsByTagName(\"meta\");\n for (let i = 0; i < metaTags.length; i++) {\n const tag = metaTags[i];\n const attributes = [\"itemprop\", \"property\", \"name\"]\n .map((target) => tag.getAttribute(target))\n .filter((attr) => {\n if (attr) {\n return args.includes(attr);\n }\n return false;\n });\n if (attributes.length && attributes) {\n const content = tag.getAttribute(\"content\");\n if (content) {\n return content;\n }\n }\n }\n return \"\";\n }\n function getName() {\n let name = getWindowMetadataOfAny(\"name\", \"og:site_name\", \"og:title\", \"twitter:title\");\n if (!name) {\n name = doc.title;\n }\n return name;\n }\n function getDescription() {\n const description = getWindowMetadataOfAny(\"description\", \"og:description\", \"twitter:description\", \"keywords\");\n return description;\n }\n const name = getName();\n const description = getDescription();\n const url = loc.origin;\n const icons = getIcons();\n const meta = {\n description,\n url,\n icons,\n name,\n };\n return meta;\n}\nexports.getWindowMetadata = getWindowMetadata;\n//# sourceMappingURL=index.js.map","// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n const BASE_MAP = new Uint8Array(256)\n for (let j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (let i = 0; i < ALPHABET.length; i++) {\n const x = ALPHABET.charAt(i)\n const xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n const BASE = ALPHABET.length\n const LEADER = ALPHABET.charAt(0)\n const FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n const iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n // eslint-disable-next-line no-empty\n if (source instanceof Uint8Array) { } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source)\n }\n if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n let zeroes = 0\n let length = 0\n let pbegin = 0\n const pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n const size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n const b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n let carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n let i = 0\n for (let it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n let it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n let str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return new Uint8Array() }\n let psz = 0\n // Skip and count leading '1's.\n let zeroes = 0\n let length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n const size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n const b256 = new Uint8Array(size)\n // Process the characters.\n while (psz < source.length) {\n // Find code of next character\n const charCode = source.charCodeAt(psz)\n // Base map can not be indexed using char code\n if (charCode > 255) { return }\n // Decode character\n let carry = BASE_MAP[charCode]\n // Invalid character\n if (carry === 255) { return }\n let i = 0\n for (let it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n let it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n const vch = new Uint8Array(zeroes + (size - it4))\n let j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n const buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode,\n decodeUnsafe,\n decode\n }\n}\nexport default base\n","import basex from 'base-x';\nvar ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';\nexport default basex(ALPHABET);\n","const JSONStringify = data => JSON.stringify(data, (_, value) => typeof value === \"bigint\" ? value.toString() + \"n\" : value);\nconst JSONParse = json => {\n const numbersBiggerThanMaxInt = /([\\[:])?(\\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\\}\\]])/g;\n const serializedData = json.replace(numbersBiggerThanMaxInt, \"$1\\\"$2n\\\"$3\");\n return JSON.parse(serializedData, (_, value) => {\n const isCustomFormatBigInt = typeof value === \"string\" && value.match(/^\\d+n$/);\n if (isCustomFormatBigInt)\n return BigInt(value.substring(0, value.length - 1));\n return value;\n });\n};\nexport function safeJsonParse(value) {\n if (typeof value !== \"string\") {\n throw new Error(`Cannot safe json parse value of type ${typeof value}`);\n }\n try {\n return JSONParse(value);\n }\n catch (_a) {\n return value;\n }\n}\nexport function safeJsonStringify(value) {\n return typeof value === \"string\" ? value : JSONStringify(value) || \"\";\n}\n//# sourceMappingURL=index.js.map","import{fromMiliseconds as bn}from\"@walletconnect/time\";import{safeJsonParse as pn,safeJsonStringify as wn}from\"@walletconnect/safe-json\";function En(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function fe(t,...e){if(!En(t))throw new Error(\"Uint8Array expected\");if(e.length>0&&!e.includes(t.length))throw new Error(\"Uint8Array expected of length \"+e+\", got length=\"+t.length)}function De(t,e=!0){if(t.destroyed)throw new Error(\"Hash instance has been destroyed\");if(e&&t.finished)throw new Error(\"Hash#digest() has already been called\")}function gn(t,e){fe(t);const n=e.outputLen;if(t.length<n)throw new Error(\"digestInto() expects output buffer of length at least \"+n)}const it=typeof globalThis==\"object\"&&\"crypto\"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const _t=t=>new DataView(t.buffer,t.byteOffset,t.byteLength);function yn(t){if(typeof t!=\"string\")throw new Error(\"utf8ToBytes expected string, got \"+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function de(t){return typeof t==\"string\"&&(t=yn(t)),fe(t),t}class xn{clone(){return this._cloneInto()}}function Bn(t){const e=r=>t().update(de(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function he(t=32){if(it&&typeof it.getRandomValues==\"function\")return it.getRandomValues(new Uint8Array(t));if(it&&typeof it.randomBytes==\"function\")return it.randomBytes(t);throw new Error(\"crypto.getRandomValues must be defined\")}function Cn(t,e,n,r){if(typeof t.setBigUint64==\"function\")return t.setBigUint64(e,n,r);const o=BigInt(32),s=BigInt(4294967295),a=Number(n>>o&s),u=Number(n&s),i=r?4:0,D=r?0:4;t.setUint32(e+i,a,r),t.setUint32(e+D,u,r)}class An extends xn{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=_t(this.buffer)}update(e){De(this);const{view:n,buffer:r,blockLen:o}=this;e=de(e);const s=e.length;for(let a=0;a<s;){const u=Math.min(o-this.pos,s-a);if(u===o){const i=_t(e);for(;o<=s-a;a+=o)this.process(i,a);continue}r.set(e.subarray(a,a+u),this.pos),this.pos+=u,a+=u,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){De(this),gn(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:s}=this;let{pos:a}=this;n[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>o-a&&(this.process(r,0),a=0);for(let l=a;l<o;l++)n[l]=0;Cn(r,o-8,BigInt(this.length*8),s),this.process(r,0);const u=_t(e),i=this.outputLen;if(i%4)throw new Error(\"_sha2: outputLen should be aligned to 32bit\");const D=i/4,c=this.get();if(D>c.length)throw new Error(\"_sha2: outputLen bigger than state\");for(let l=0;l<D;l++)u.setUint32(4*l,c[l],s)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:s,destroyed:a,pos:u}=this;return e.length=o,e.pos=u,e.finished=s,e.destroyed=a,o%n&&e.buffer.set(r),e}}const wt=BigInt(2**32-1),St=BigInt(32);function le(t,e=!1){return e?{h:Number(t&wt),l:Number(t>>St&wt)}:{h:Number(t>>St&wt)|0,l:Number(t&wt)|0}}function mn(t,e=!1){let n=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let o=0;o<t.length;o++){const{h:s,l:a}=le(t[o],e);[n[o],r[o]]=[s,a]}return[n,r]}const _n=(t,e)=>BigInt(t>>>0)<<St|BigInt(e>>>0),Sn=(t,e,n)=>t>>>n,vn=(t,e,n)=>t<<32-n|e>>>n,In=(t,e,n)=>t>>>n|e<<32-n,Un=(t,e,n)=>t<<32-n|e>>>n,Tn=(t,e,n)=>t<<64-n|e>>>n-32,Fn=(t,e,n)=>t>>>n-32|e<<64-n,Nn=(t,e)=>e,Ln=(t,e)=>t,On=(t,e,n)=>t<<n|e>>>32-n,Hn=(t,e,n)=>e<<n|t>>>32-n,zn=(t,e,n)=>e<<n-32|t>>>64-n,Mn=(t,e,n)=>t<<n-32|e>>>64-n;function qn(t,e,n,r){const o=(e>>>0)+(r>>>0);return{h:t+n+(o/2**32|0)|0,l:o|0}}const $n=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),kn=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,Rn=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),jn=(t,e,n,r,o)=>e+n+r+o+(t/2**32|0)|0,Zn=(t,e,n,r,o)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(o>>>0),Gn=(t,e,n,r,o,s)=>e+n+r+o+s+(t/2**32|0)|0,x={fromBig:le,split:mn,toBig:_n,shrSH:Sn,shrSL:vn,rotrSH:In,rotrSL:Un,rotrBH:Tn,rotrBL:Fn,rotr32H:Nn,rotr32L:Ln,rotlSH:On,rotlSL:Hn,rotlBH:zn,rotlBL:Mn,add:qn,add3L:$n,add3H:kn,add4L:Rn,add4H:jn,add5H:Gn,add5L:Zn},[Vn,Yn]=(()=>x.split([\"0x428a2f98d728ae22\",\"0x7137449123ef65cd\",\"0xb5c0fbcfec4d3b2f\",\"0xe9b5dba58189dbbc\",\"0x3956c25bf348b538\",\"0x59f111f1b605d019\",\"0x923f82a4af194f9b\",\"0xab1c5ed5da6d8118\",\"0xd807aa98a3030242\",\"0x12835b0145706fbe\",\"0x243185be4ee4b28c\",\"0x550c7dc3d5ffb4e2\",\"0x72be5d74f27b896f\",\"0x80deb1fe3b1696b1\",\"0x9bdc06a725c71235\",\"0xc19bf174cf692694\",\"0xe49b69c19ef14ad2\",\"0xefbe4786384f25e3\",\"0x0fc19dc68b8cd5b5\",\"0x240ca1cc77ac9c65\",\"0x2de92c6f592b0275\",\"0x4a7484aa6ea6e483\",\"0x5cb0a9dcbd41fbd4\",\"0x76f988da831153b5\",\"0x983e5152ee66dfab\",\"0xa831c66d2db43210\",\"0xb00327c898fb213f\",\"0xbf597fc7beef0ee4\",\"0xc6e00bf33da88fc2\",\"0xd5a79147930aa725\",\"0x06ca6351e003826f\",\"0x142929670a0e6e70\",\"0x27b70a8546d22ffc\",\"0x2e1b21385c26c926\",\"0x4d2c6dfc5ac42aed\",\"0x53380d139d95b3df\",\"0x650a73548baf63de\",\"0x766a0abb3c77b2a8\",\"0x81c2c92e47edaee6\",\"0x92722c851482353b\",\"0xa2bfe8a14cf10364\",\"0xa81a664bbc423001\",\"0xc24b8b70d0f89791\",\"0xc76c51a30654be30\",\"0xd192e819d6ef5218\",\"0xd69906245565a910\",\"0xf40e35855771202a\",\"0x106aa07032bbd1b8\",\"0x19a4c116b8d2d0c8\",\"0x1e376c085141ab53\",\"0x2748774cdf8eeb99\",\"0x34b0bcb5e19b48a8\",\"0x391c0cb3c5c95a63\",\"0x4ed8aa4ae3418acb\",\"0x5b9cca4f7763e373\",\"0x682e6ff3d6b2b8a3\",\"0x748f82ee5defb2fc\",\"0x78a5636f43172f60\",\"0x84c87814a1f0ab72\",\"0x8cc702081a6439ec\",\"0x90befffa23631e28\",\"0xa4506cebde82bde9\",\"0xbef9a3f7b2c67915\",\"0xc67178f2e372532b\",\"0xca273eceea26619c\",\"0xd186b8c721c0c207\",\"0xeada7dd6cde0eb1e\",\"0xf57d4f7fee6ed178\",\"0x06f067aa72176fba\",\"0x0a637dc5a2c898a6\",\"0x113f9804bef90dae\",\"0x1b710b35131c471b\",\"0x28db77f523047d84\",\"0x32caab7b40c72493\",\"0x3c9ebe0a15c9bebc\",\"0x431d67c49c100d4c\",\"0x4cc5d4becb3e42b6\",\"0x597f299cfc657e2a\",\"0x5fcb6fab3ad6faec\",\"0x6c44198c4a475817\"].map(t=>BigInt(t))))(),P=new Uint32Array(80),Q=new Uint32Array(80);class Jn extends An{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:n,Bh:r,Bl:o,Ch:s,Cl:a,Dh:u,Dl:i,Eh:D,El:c,Fh:l,Fl:p,Gh:w,Gl:h,Hh:g,Hl:S}=this;return[e,n,r,o,s,a,u,i,D,c,l,p,w,h,g,S]}set(e,n,r,o,s,a,u,i,D,c,l,p,w,h,g,S){this.Ah=e|0,this.Al=n|0,this.Bh=r|0,this.Bl=o|0,this.Ch=s|0,this.Cl=a|0,this.Dh=u|0,this.Dl=i|0,this.Eh=D|0,this.El=c|0,this.Fh=l|0,this.Fl=p|0,this.Gh=w|0,this.Gl=h|0,this.Hh=g|0,this.Hl=S|0}process(e,n){for(let d=0;d<16;d++,n+=4)P[d]=e.getUint32(n),Q[d]=e.getUint32(n+=4);for(let d=16;d<80;d++){const m=P[d-15]|0,F=Q[d-15]|0,q=x.rotrSH(m,F,1)^x.rotrSH(m,F,8)^x.shrSH(m,F,7),z=x.rotrSL(m,F,1)^x.rotrSL(m,F,8)^x.shrSL(m,F,7),I=P[d-2]|0,O=Q[d-2]|0,ot=x.rotrSH(I,O,19)^x.rotrBH(I,O,61)^x.shrSH(I,O,6),tt=x.rotrSL(I,O,19)^x.rotrBL(I,O,61)^x.shrSL(I,O,6),st=x.add4L(z,tt,Q[d-7],Q[d-16]),at=x.add4H(st,q,ot,P[d-7],P[d-16]);P[d]=at|0,Q[d]=st|0}let{Ah:r,Al:o,Bh:s,Bl:a,Ch:u,Cl:i,Dh:D,Dl:c,Eh:l,El:p,Fh:w,Fl:h,Gh:g,Gl:S,Hh:v,Hl:L}=this;for(let d=0;d<80;d++){const m=x.rotrSH(l,p,14)^x.rotrSH(l,p,18)^x.rotrBH(l,p,41),F=x.rotrSL(l,p,14)^x.rotrSL(l,p,18)^x.rotrBL(l,p,41),q=l&w^~l&g,z=p&h^~p&S,I=x.add5L(L,F,z,Yn[d],Q[d]),O=x.add5H(I,v,m,q,Vn[d],P[d]),ot=I|0,tt=x.rotrSH(r,o,28)^x.rotrBH(r,o,34)^x.rotrBH(r,o,39),st=x.rotrSL(r,o,28)^x.rotrBL(r,o,34)^x.rotrBL(r,o,39),at=r&s^r&u^s&u,Ct=o&a^o&i^a&i;v=g|0,L=S|0,g=w|0,S=h|0,w=l|0,h=p|0,{h:l,l:p}=x.add(D|0,c|0,O|0,ot|0),D=u|0,c=i|0,u=s|0,i=a|0,s=r|0,a=o|0;const At=x.add3L(ot,st,Ct);r=x.add3H(At,O,tt,at),o=At|0}({h:r,l:o}=x.add(this.Ah|0,this.Al|0,r|0,o|0)),{h:s,l:a}=x.add(this.Bh|0,this.Bl|0,s|0,a|0),{h:u,l:i}=x.add(this.Ch|0,this.Cl|0,u|0,i|0),{h:D,l:c}=x.add(this.Dh|0,this.Dl|0,D|0,c|0),{h:l,l:p}=x.add(this.Eh|0,this.El|0,l|0,p|0),{h:w,l:h}=x.add(this.Fh|0,this.Fl|0,w|0,h|0),{h:g,l:S}=x.add(this.Gh|0,this.Gl|0,g|0,S|0),{h:v,l:L}=x.add(this.Hh|0,this.Hl|0,v|0,L|0),this.set(r,o,s,a,u,i,D,c,l,p,w,h,g,S,v,L)}roundClean(){P.fill(0),Q.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const Kn=Bn(()=>new Jn);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const vt=BigInt(0),be=BigInt(1),Wn=BigInt(2);function It(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function Ut(t){if(!It(t))throw new Error(\"Uint8Array expected\")}function Tt(t,e){if(typeof e!=\"boolean\")throw new Error(t+\" boolean expected, got \"+e)}const Xn=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,\"0\"));function Ft(t){Ut(t);let e=\"\";for(let n=0;n<t.length;n++)e+=Xn[t[n]];return e}function pe(t){if(typeof t!=\"string\")throw new Error(\"hex string expected, got \"+typeof t);return t===\"\"?vt:BigInt(\"0x\"+t)}const K={_0:48,_9:57,A:65,F:70,a:97,f:102};function we(t){if(t>=K._0&&t<=K._9)return t-K._0;if(t>=K.A&&t<=K.F)return t-(K.A-10);if(t>=K.a&&t<=K.f)return t-(K.a-10)}function Ee(t){if(typeof t!=\"string\")throw new Error(\"hex string expected, got \"+typeof t);const e=t.length,n=e/2;if(e%2)throw new Error(\"hex string expected, got unpadded hex of length \"+e);const r=new Uint8Array(n);for(let o=0,s=0;o<n;o++,s+=2){const a=we(t.charCodeAt(s)),u=we(t.charCodeAt(s+1));if(a===void 0||u===void 0){const i=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character \"'+i+'\" at index '+s)}r[o]=a*16+u}return r}function Pn(t){return pe(Ft(t))}function Et(t){return Ut(t),pe(Ft(Uint8Array.from(t).reverse()))}function ge(t,e){return Ee(t.toString(16).padStart(e*2,\"0\"))}function Nt(t,e){return ge(t,e).reverse()}function W(t,e,n){let r;if(typeof e==\"string\")try{r=Ee(e)}catch(s){throw new Error(t+\" must be hex string or Uint8Array, cause: \"+s)}else if(It(e))r=Uint8Array.from(e);else throw new Error(t+\" must be hex string or Uint8Array\");const o=r.length;if(typeof n==\"number\"&&o!==n)throw new Error(t+\" of length \"+n+\" expected, got \"+o);return r}function ye(...t){let e=0;for(let r=0;r<t.length;r++){const o=t[r];Ut(o),e+=o.length}const n=new Uint8Array(e);for(let r=0,o=0;r<t.length;r++){const s=t[r];n.set(s,o),o+=s.length}return n}const Lt=t=>typeof t==\"bigint\"&&vt<=t;function Qn(t,e,n){return Lt(t)&&Lt(e)&&Lt(n)&&e<=t&&t<n}function ft(t,e,n,r){if(!Qn(e,n,r))throw new Error(\"expected valid \"+t+\": \"+n+\" <= n < \"+r+\", got \"+e)}function tr(t){let e;for(e=0;t>vt;t>>=be,e+=1);return e}const er=t=>(Wn<<BigInt(t-1))-be,nr={bigint:t=>typeof t==\"bigint\",function:t=>typeof t==\"function\",boolean:t=>typeof t==\"boolean\",string:t=>typeof t==\"string\",stringOrUint8Array:t=>typeof t==\"string\"||It(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t==\"function\"&&Number.isSafeInteger(t.outputLen)};function Ot(t,e,n={}){const r=(o,s,a)=>{const u=nr[s];if(typeof u!=\"function\")throw new Error(\"invalid validator function\");const i=t[o];if(!(a&&i===void 0)&&!u(i,t))throw new Error(\"param \"+String(o)+\" is invalid. Expected \"+s+\", got \"+i)};for(const[o,s]of Object.entries(e))r(o,s,!1);for(const[o,s]of Object.entries(n))r(o,s,!0);return t}function xe(t){const e=new WeakMap;return(n,...r)=>{const o=e.get(n);if(o!==void 0)return o;const s=t(n,...r);return e.set(n,s),s}}const M=BigInt(0),N=BigInt(1),nt=BigInt(2),rr=BigInt(3),Ht=BigInt(4),Be=BigInt(5),Ce=BigInt(8);function H(t,e){const n=t%e;return n>=M?n:e+n}function or(t,e,n){if(e<M)throw new Error(\"invalid exponent, negatives unsupported\");if(n<=M)throw new Error(\"invalid modulus\");if(n===N)return M;let r=N;for(;e>M;)e&N&&(r=r*t%n),t=t*t%n,e>>=N;return r}function J(t,e,n){let r=t;for(;e-- >M;)r*=r,r%=n;return r}function Ae(t,e){if(t===M)throw new Error(\"invert: expected non-zero number\");if(e<=M)throw new Error(\"invert: expected positive modulus, got \"+e);let n=H(t,e),r=e,o=M,s=N;for(;n!==M;){const u=r/n,i=r%n,D=o-s*u;r=n,n=i,o=s,s=D}if(r!==N)throw new Error(\"invert: does not exist\");return H(o,e)}function sr(t){const e=(t-N)/nt;let n,r,o;for(n=t-N,r=0;n%nt===M;n/=nt,r++);for(o=nt;o<t&&or(o,e,t)!==t-N;o++)if(o>1e3)throw new Error(\"Cannot find square root: likely non-prime P\");if(r===1){const a=(t+N)/Ht;return function(i,D){const c=i.pow(D,a);if(!i.eql(i.sqr(c),D))throw new Error(\"Cannot find square root\");return c}}const s=(n+N)/nt;return function(u,i){if(u.pow(i,e)===u.neg(u.ONE))throw new Error(\"Cannot find square root\");let D=r,c=u.pow(u.mul(u.ONE,o),n),l=u.pow(i,s),p=u.pow(i,n);for(;!u.eql(p,u.ONE);){if(u.eql(p,u.ZERO))return u.ZERO;let w=1;for(let g=u.sqr(p);w<D&&!u.eql(g,u.ONE);w++)g=u.sqr(g);const h=u.pow(c,N<<BigInt(D-w-1));c=u.sqr(h),l=u.mul(l,h),p=u.mul(p,c),D=w}return l}}function ir(t){if(t%Ht===rr){const e=(t+N)/Ht;return function(r,o){const s=r.pow(o,e);if(!r.eql(r.sqr(s),o))throw new Error(\"Cannot find square root\");return s}}if(t%Ce===Be){const e=(t-Be)/Ce;return function(r,o){const s=r.mul(o,nt),a=r.pow(s,e),u=r.mul(o,a),i=r.mul(r.mul(u,nt),a),D=r.mul(u,r.sub(i,r.ONE));if(!r.eql(r.sqr(D),o))throw new Error(\"Cannot find square root\");return D}}return sr(t)}const ur=(t,e)=>(H(t,e)&N)===N,cr=[\"create\",\"isValid\",\"is0\",\"neg\",\"inv\",\"sqrt\",\"sqr\",\"eql\",\"add\",\"sub\",\"mul\",\"pow\",\"div\",\"addN\",\"subN\",\"mulN\",\"sqrN\"];function ar(t){const e={ORDER:\"bigint\",MASK:\"bigint\",BYTES:\"isSafeInteger\",BITS:\"isSafeInteger\"},n=cr.reduce((r,o)=>(r[o]=\"function\",r),e);return Ot(t,n)}function fr(t,e,n){if(n<M)throw new Error(\"invalid exponent, negatives unsupported\");if(n===M)return t.ONE;if(n===N)return e;let r=t.ONE,o=e;for(;n>M;)n&N&&(r=t.mul(r,o)),o=t.sqr(o),n>>=N;return r}function Dr(t,e){const n=new Array(e.length),r=e.reduce((s,a,u)=>t.is0(a)?s:(n[u]=s,t.mul(s,a)),t.ONE),o=t.inv(r);return e.reduceRight((s,a,u)=>t.is0(a)?s:(n[u]=t.mul(s,n[u]),t.mul(s,a)),o),n}function me(t,e){const n=e!==void 0?e:t.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function _e(t,e,n=!1,r={}){if(t<=M)throw new Error(\"invalid field: expected ORDER > 0, got \"+t);const{nBitLength:o,nByteLength:s}=me(t,e);if(s>2048)throw new Error(\"invalid field: expected ORDER of <= 2048 bytes\");let a;const u=Object.freeze({ORDER:t,isLE:n,BITS:o,BYTES:s,MASK:er(o),ZERO:M,ONE:N,create:i=>H(i,t),isValid:i=>{if(typeof i!=\"bigint\")throw new Error(\"invalid field element: expected bigint, got \"+typeof i);return M<=i&&i<t},is0:i=>i===M,isOdd:i=>(i&N)===N,neg:i=>H(-i,t),eql:(i,D)=>i===D,sqr:i=>H(i*i,t),add:(i,D)=>H(i+D,t),sub:(i,D)=>H(i-D,t),mul:(i,D)=>H(i*D,t),pow:(i,D)=>fr(u,i,D),div:(i,D)=>H(i*Ae(D,t),t),sqrN:i=>i*i,addN:(i,D)=>i+D,subN:(i,D)=>i-D,mulN:(i,D)=>i*D,inv:i=>Ae(i,t),sqrt:r.sqrt||(i=>(a||(a=ir(t)),a(u,i))),invertBatch:i=>Dr(u,i),cmov:(i,D,c)=>c?D:i,toBytes:i=>n?Nt(i,s):ge(i,s),fromBytes:i=>{if(i.length!==s)throw new Error(\"Field.fromBytes: expected \"+s+\" bytes, got \"+i.length);return n?Et(i):Pn(i)}});return Object.freeze(u)}const Se=BigInt(0),gt=BigInt(1);function zt(t,e){const n=e.negate();return t?n:e}function ve(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error(\"invalid window size, expected [1..\"+e+\"], got W=\"+t)}function Mt(t,e){ve(t,e);const n=Math.ceil(e/t)+1,r=2**(t-1);return{windows:n,windowSize:r}}function dr(t,e){if(!Array.isArray(t))throw new Error(\"array expected\");t.forEach((n,r)=>{if(!(n instanceof e))throw new Error(\"invalid point at index \"+r)})}function hr(t,e){if(!Array.isArray(t))throw new Error(\"array of scalars expected\");t.forEach((n,r)=>{if(!e.isValid(n))throw new Error(\"invalid scalar at index \"+r)})}const qt=new WeakMap,Ie=new WeakMap;function $t(t){return Ie.get(t)||1}function lr(t,e){return{constTimeNegate:zt,hasPrecomputes(n){return $t(n)!==1},unsafeLadder(n,r,o=t.ZERO){let s=n;for(;r>Se;)r&gt&&(o=o.add(s)),s=s.double(),r>>=gt;return o},precomputeWindow(n,r){const{windows:o,windowSize:s}=Mt(r,e),a=[];let u=n,i=u;for(let D=0;D<o;D++){i=u,a.push(i);for(let c=1;c<s;c++)i=i.add(u),a.push(i);u=i.double()}return a},wNAF(n,r,o){const{windows:s,windowSize:a}=Mt(n,e);let u=t.ZERO,i=t.BASE;const D=BigInt(2**n-1),c=2**n,l=BigInt(n);for(let p=0;p<s;p++){const w=p*a;let h=Number(o&D);o>>=l,h>a&&(h-=c,o+=gt);const g=w,S=w+Math.abs(h)-1,v=p%2!==0,L=h<0;h===0?i=i.add(zt(v,r[g])):u=u.add(zt(L,r[S]))}return{p:u,f:i}},wNAFUnsafe(n,r,o,s=t.ZERO){const{windows:a,windowSize:u}=Mt(n,e),i=BigInt(2**n-1),D=2**n,c=BigInt(n);for(let l=0;l<a;l++){const p=l*u;if(o===Se)break;let w=Number(o&i);if(o>>=c,w>u&&(w-=D,o+=gt),w===0)continue;let h=r[p+Math.abs(w)-1];w<0&&(h=h.negate()),s=s.add(h)}return s},getPrecomputes(n,r,o){let s=qt.get(r);return s||(s=this.precomputeWindow(r,n),n!==1&&qt.set(r,o(s))),s},wNAFCached(n,r,o){const s=$t(n);return this.wNAF(s,this.getPrecomputes(s,n,o),r)},wNAFCachedUnsafe(n,r,o,s){const a=$t(n);return a===1?this.unsafeLadder(n,r,s):this.wNAFUnsafe(a,this.getPrecomputes(a,n,o),r,s)},setWindowSize(n,r){ve(r,e),Ie.set(n,r),qt.delete(n)}}}function br(t,e,n,r){if(dr(n,t),hr(r,e),n.length!==r.length)throw new Error(\"arrays of points and scalars must have equal length\");const o=t.ZERO,s=tr(BigInt(n.length)),a=s>12?s-3:s>4?s-2:s?2:1,u=(1<<a)-1,i=new Array(u+1).fill(o),D=Math.floor((e.BITS-1)/a)*a;let c=o;for(let l=D;l>=0;l-=a){i.fill(o);for(let w=0;w<r.length;w++){const h=r[w],g=Number(h>>BigInt(l)&BigInt(u));i[g]=i[g].add(n[w])}let p=o;for(let w=i.length-1,h=o;w>0;w--)h=h.add(i[w]),p=p.add(h);if(c=c.add(p),l!==0)for(let w=0;w<a;w++)c=c.double()}return c}function pr(t){return ar(t.Fp),Ot(t,{n:\"bigint\",h:\"bigint\",Gx:\"field\",Gy:\"field\"},{nBitLength:\"isSafeInteger\",nByteLength:\"isSafeInteger\"}),Object.freeze({...me(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}const G=BigInt(0),j=BigInt(1),yt=BigInt(2),wr=BigInt(8),Er={zip215:!0};function gr(t){const e=pr(t);return Ot(t,{hash:\"function\",a:\"bigint\",d:\"bigint\",randomBytes:\"function\"},{adjustScalarBytes:\"function\",domain:\"function\",uvRatio:\"function\",mapToCurve:\"function\"}),Object.freeze({...e})}function yr(t){const e=gr(t),{Fp:n,n:r,prehash:o,hash:s,randomBytes:a,nByteLength:u,h:i}=e,D=yt<<BigInt(u*8)-j,c=n.create,l=_e(e.n,e.nBitLength),p=e.uvRatio||((y,f)=>{try{return{isValid:!0,value:n.sqrt(y*n.inv(f))}}catch{return{isValid:!1,value:G}}}),w=e.adjustScalarBytes||(y=>y),h=e.domain||((y,f,b)=>{if(Tt(\"phflag\",b),f.length||b)throw new Error(\"Contexts/pre-hash are not supported\");return y});function g(y,f){ft(\"coordinate \"+y,f,G,D)}function S(y){if(!(y instanceof d))throw new Error(\"ExtendedPoint expected\")}const v=xe((y,f)=>{const{ex:b,ey:E,ez:B}=y,C=y.is0();f==null&&(f=C?wr:n.inv(B));const A=c(b*f),U=c(E*f),_=c(B*f);if(C)return{x:G,y:j};if(_!==j)throw new Error(\"invZ was invalid\");return{x:A,y:U}}),L=xe(y=>{const{a:f,d:b}=e;if(y.is0())throw new Error(\"bad point: ZERO\");const{ex:E,ey:B,ez:C,et:A}=y,U=c(E*E),_=c(B*B),T=c(C*C),$=c(T*T),R=c(U*f),V=c(T*c(R+_)),Y=c($+c(b*c(U*_)));if(V!==Y)throw new Error(\"bad point: equation left != right (1)\");const Z=c(E*B),X=c(C*A);if(Z!==X)throw new Error(\"bad point: equation left != right (2)\");return!0});class d{constructor(f,b,E,B){this.ex=f,this.ey=b,this.ez=E,this.et=B,g(\"x\",f),g(\"y\",b),g(\"z\",E),g(\"t\",B),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(f){if(f instanceof d)throw new Error(\"extended point not allowed\");const{x:b,y:E}=f||{};return g(\"x\",b),g(\"y\",E),new d(b,E,j,c(b*E))}static normalizeZ(f){const b=n.invertBatch(f.map(E=>E.ez));return f.map((E,B)=>E.toAffine(b[B])).map(d.fromAffine)}static msm(f,b){return br(d,l,f,b)}_setWindowSize(f){q.setWindowSize(this,f)}assertValidity(){L(this)}equals(f){S(f);const{ex:b,ey:E,ez:B}=this,{ex:C,ey:A,ez:U}=f,_=c(b*U),T=c(C*B),$=c(E*U),R=c(A*B);return _===T&&$===R}is0(){return this.equals(d.ZERO)}negate(){return new d(c(-this.ex),this.ey,this.ez,c(-this.et))}double(){const{a:f}=e,{ex:b,ey:E,ez:B}=this,C=c(b*b),A=c(E*E),U=c(yt*c(B*B)),_=c(f*C),T=b+E,$=c(c(T*T)-C-A),R=_+A,V=R-U,Y=_-A,Z=c($*V),X=c(R*Y),et=c($*Y),pt=c(V*R);return new d(Z,X,pt,et)}add(f){S(f);const{a:b,d:E}=e,{ex:B,ey:C,ez:A,et:U}=this,{ex:_,ey:T,ez:$,et:R}=f;if(b===BigInt(-1)){const re=c((C-B)*(T+_)),oe=c((C+B)*(T-_)),mt=c(oe-re);if(mt===G)return this.double();const se=c(A*yt*R),ie=c(U*yt*$),ue=ie+se,ce=oe+re,ae=ie-se,Dn=c(ue*mt),dn=c(ce*ae),hn=c(ue*ae),ln=c(mt*ce);return new d(Dn,dn,ln,hn)}const V=c(B*_),Y=c(C*T),Z=c(U*E*R),X=c(A*$),et=c((B+C)*(_+T)-V-Y),pt=X-Z,ee=X+Z,ne=c(Y-b*V),un=c(et*pt),cn=c(ee*ne),an=c(et*ne),fn=c(pt*ee);return new d(un,cn,fn,an)}subtract(f){return this.add(f.negate())}wNAF(f){return q.wNAFCached(this,f,d.normalizeZ)}multiply(f){const b=f;ft(\"scalar\",b,j,r);const{p:E,f:B}=this.wNAF(b);return d.normalizeZ([E,B])[0]}multiplyUnsafe(f,b=d.ZERO){const E=f;return ft(\"scalar\",E,G,r),E===G?F:this.is0()||E===j?this:q.wNAFCachedUnsafe(this,E,d.normalizeZ,b)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return q.unsafeLadder(this,r).is0()}toAffine(f){return v(this,f)}clearCofactor(){const{h:f}=e;return f===j?this:this.multiplyUnsafe(f)}static fromHex(f,b=!1){const{d:E,a:B}=e,C=n.BYTES;f=W(\"pointHex\",f,C),Tt(\"zip215\",b);const A=f.slice(),U=f[C-1];A[C-1]=U&-129;const _=Et(A),T=b?D:n.ORDER;ft(\"pointHex.y\",_,G,T);const $=c(_*_),R=c($-j),V=c(E*$-B);let{isValid:Y,value:Z}=p(R,V);if(!Y)throw new Error(\"Point.fromHex: invalid y coordinate\");const X=(Z&j)===j,et=(U&128)!==0;if(!b&&Z===G&&et)throw new Error(\"Point.fromHex: x=0 and x_0=1\");return et!==X&&(Z=c(-Z)),d.fromAffine({x:Z,y:_})}static fromPrivateKey(f){return O(f).point}toRawBytes(){const{x:f,y:b}=this.toAffine(),E=Nt(b,n.BYTES);return E[E.length-1]|=f&j?128:0,E}toHex(){return Ft(this.toRawBytes())}}d.BASE=new d(e.Gx,e.Gy,j,c(e.Gx*e.Gy)),d.ZERO=new d(G,j,j,G);const{BASE:m,ZERO:F}=d,q=lr(d,u*8);function z(y){return H(y,r)}function I(y){return z(Et(y))}function O(y){const f=n.BYTES;y=W(\"private key\",y,f);const b=W(\"hashed private key\",s(y),2*f),E=w(b.slice(0,f)),B=b.slice(f,2*f),C=I(E),A=m.multiply(C),U=A.toRawBytes();return{head:E,prefix:B,scalar:C,point:A,pointBytes:U}}function ot(y){return O(y).pointBytes}function tt(y=new Uint8Array,...f){const b=ye(...f);return I(s(h(b,W(\"context\",y),!!o)))}function st(y,f,b={}){y=W(\"message\",y),o&&(y=o(y));const{prefix:E,scalar:B,pointBytes:C}=O(f),A=tt(b.context,E,y),U=m.multiply(A).toRawBytes(),_=tt(b.context,U,C,y),T=z(A+_*B);ft(\"signature.s\",T,G,r);const $=ye(U,Nt(T,n.BYTES));return W(\"result\",$,n.BYTES*2)}const at=Er;function Ct(y,f,b,E=at){const{context:B,zip215:C}=E,A=n.BYTES;y=W(\"signature\",y,2*A),f=W(\"message\",f),b=W(\"publicKey\",b,A),C!==void 0&&Tt(\"zip215\",C),o&&(f=o(f));const U=Et(y.slice(A,2*A));let _,T,$;try{_=d.fromHex(b,C),T=d.fromHex(y.slice(0,A),C),$=m.multiplyUnsafe(U)}catch{return!1}if(!C&&_.isSmallOrder())return!1;const R=tt(B,T.toRawBytes(),_.toRawBytes(),f);return T.add(_.multiplyUnsafe(R)).subtract($).clearCofactor().equals(d.ZERO)}return m._setWindowSize(8),{CURVE:e,getPublicKey:ot,sign:st,verify:Ct,ExtendedPoint:d,utils:{getExtendedPublicKey:O,randomPrivateKey:()=>a(n.BYTES),precompute(y=8,f=d.BASE){return f._setWindowSize(y),f.multiply(BigInt(3)),f}}}}BigInt(0),BigInt(1);const kt=BigInt(\"57896044618658097711785492504343953926634992332820282019728792003956564819949\"),Ue=BigInt(\"19681161376707505956807079304988542015446066515923890162744021073123829784752\");BigInt(0);const xr=BigInt(1),Te=BigInt(2);BigInt(3);const Br=BigInt(5),Cr=BigInt(8);function Ar(t){const e=BigInt(10),n=BigInt(20),r=BigInt(40),o=BigInt(80),s=kt,u=t*t%s*t%s,i=J(u,Te,s)*u%s,D=J(i,xr,s)*t%s,c=J(D,Br,s)*D%s,l=J(c,e,s)*c%s,p=J(l,n,s)*l%s,w=J(p,r,s)*p%s,h=J(w,o,s)*w%s,g=J(h,o,s)*w%s,S=J(g,e,s)*c%s;return{pow_p_5_8:J(S,Te,s)*t%s,b2:u}}function mr(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function _r(t,e){const n=kt,r=H(e*e*e,n),o=H(r*r*e,n),s=Ar(t*o).pow_p_5_8;let a=H(t*r*s,n);const u=H(e*a*a,n),i=a,D=H(a*Ue,n),c=u===t,l=u===H(-t,n),p=u===H(-t*Ue,n);return c&&(a=i),(l||p)&&(a=D),ur(a,n)&&(a=H(-a,n)),{isValid:c||l,value:a}}const Sr=(()=>_e(kt,void 0,!0))(),vr=(()=>({a:BigInt(-1),d:BigInt(\"37095705934669439343138083508754565189542113879843219016388785533085940283555\"),Fp:Sr,n:BigInt(\"7237005577332262213973186563042994240857116359379907606001950938285454250989\"),h:Cr,Gx:BigInt(\"15112221349535400772501151409588531511454012693041857206046113283949847762202\"),Gy:BigInt(\"46316835694926478169428394003475163141307993866256225615783033603165251855960\"),hash:Kn,randomBytes:he,adjustScalarBytes:mr,uvRatio:_r}))(),Rt=(()=>yr(vr))(),jt=\"EdDSA\",Zt=\"JWT\",ut=\".\",Dt=\"base64url\",Gt=\"utf8\",xt=\"utf8\",Vt=\":\",Yt=\"did\",Jt=\"key\",dt=\"base58btc\",Kt=\"z\",Wt=\"K36\",Fe=32,Ne=32;function Xt(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Le(t=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Xt(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Oe(t,e){e||(e=t.reduce((o,s)=>o+s.length,0));const n=Le(e);let r=0;for(const o of t)n.set(o,r),r+=o.length;return Xt(n)}function Ir(t,e){if(t.length>=255)throw new TypeError(\"Alphabet too long\");for(var n=new Uint8Array(256),r=0;r<n.length;r++)n[r]=255;for(var o=0;o<t.length;o++){var s=t.charAt(o),a=s.charCodeAt(0);if(n[a]!==255)throw new TypeError(s+\" is ambiguous\");n[a]=o}var u=t.length,i=t.charAt(0),D=Math.log(u)/Math.log(256),c=Math.log(256)/Math.log(u);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError(\"Expected Uint8Array\");if(h.length===0)return\"\";for(var g=0,S=0,v=0,L=h.length;v!==L&&h[v]===0;)v++,g++;for(var d=(L-v)*c+1>>>0,m=new Uint8Array(d);v!==L;){for(var F=h[v],q=0,z=d-1;(F!==0||q<S)&&z!==-1;z--,q++)F+=256*m[z]>>>0,m[z]=F%u>>>0,F=F/u>>>0;if(F!==0)throw new Error(\"Non-zero carry\");S=q,v++}for(var I=d-S;I!==d&&m[I]===0;)I++;for(var O=i.repeat(g);I<d;++I)O+=t.charAt(m[I]);return O}function p(h){if(typeof h!=\"string\")throw new TypeError(\"Expected String\");if(h.length===0)return new Uint8Array;var g=0;if(h[g]!==\" \"){for(var S=0,v=0;h[g]===i;)S++,g++;for(var L=(h.length-g)*D+1>>>0,d=new Uint8Array(L);h[g];){var m=n[h.charCodeAt(g)];if(m===255)return;for(var F=0,q=L-1;(m!==0||F<v)&&q!==-1;q--,F++)m+=u*d[q]>>>0,d[q]=m%256>>>0,m=m/256>>>0;if(m!==0)throw new Error(\"Non-zero carry\");v=F,g++}if(h[g]!==\" \"){for(var z=L-v;z!==L&&d[z]===0;)z++;for(var I=new Uint8Array(S+(L-z)),O=S;z!==L;)I[O++]=d[z++];return I}}}function w(h){var g=p(h);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:w}}var Ur=Ir,Tr=Ur;const He=t=>{if(t instanceof Uint8Array&&t.constructor.name===\"Uint8Array\")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error(\"Unknown type, must be binary type\")},Fr=t=>new TextEncoder().encode(t),Nr=t=>new TextDecoder().decode(t);class Lr{constructor(e,n,r){this.name=e,this.prefix=n,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(\"Unknown type, must be binary type\")}}class Or{constructor(e,n,r){if(this.name=e,this.prefix=n,n.codePointAt(0)===void 0)throw new Error(\"Invalid prefix character\");this.prefixCodePoint=n.codePointAt(0),this.baseDecode=r}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 ze(this,e)}}class Hr{constructor(e){this.decoders=e}or(e){return ze(this,e)}decode(e){const n=e[0],r=this.decoders[n];if(r)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const ze=(t,e)=>new Hr({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}});class zr{constructor(e,n,r,o){this.name=e,this.prefix=n,this.baseEncode=r,this.baseDecode=o,this.encoder=new Lr(e,n,r),this.decoder=new Or(e,n,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Bt=({name:t,prefix:e,encode:n,decode:r})=>new zr(t,e,n,r),ht=({prefix:t,name:e,alphabet:n})=>{const{encode:r,decode:o}=Tr(n,e);return Bt({prefix:t,name:e,encode:r,decode:s=>He(o(s))})},Mr=(t,e,n,r)=>{const o={};for(let c=0;c<e.length;++c)o[e[c]]=c;let s=t.length;for(;t[s-1]===\"=\";)--s;const a=new Uint8Array(s*n/8|0);let u=0,i=0,D=0;for(let c=0;c<s;++c){const l=o[t[c]];if(l===void 0)throw new SyntaxError(`Non-${r} character`);i=i<<n|l,u+=n,u>=8&&(u-=8,a[D++]=255&i>>u)}if(u>=n||255&i<<8-u)throw new SyntaxError(\"Unexpected end of data\");return a},qr=(t,e,n)=>{const r=e[e.length-1]===\"=\",o=(1<<n)-1;let s=\"\",a=0,u=0;for(let i=0;i<t.length;++i)for(u=u<<8|t[i],a+=8;a>n;)a-=n,s+=e[o&u>>a];if(a&&(s+=e[o&u<<n-a]),r)for(;s.length*n&7;)s+=\"=\";return s},k=({name:t,prefix:e,bitsPerChar:n,alphabet:r})=>Bt({prefix:e,name:t,encode(o){return qr(o,r,n)},decode(o){return Mr(o,r,n,t)}}),$r=Bt({prefix:\"\\0\",name:\"identity\",encode:t=>Nr(t),decode:t=>Fr(t)});var kr=Object.freeze({__proto__:null,identity:$r});const Rr=k({prefix:\"0\",name:\"base2\",alphabet:\"01\",bitsPerChar:1});var jr=Object.freeze({__proto__:null,base2:Rr});const Zr=k({prefix:\"7\",name:\"base8\",alphabet:\"01234567\",bitsPerChar:3});var Gr=Object.freeze({__proto__:null,base8:Zr});const Vr=ht({prefix:\"9\",name:\"base10\",alphabet:\"0123456789\"});var Yr=Object.freeze({__proto__:null,base10:Vr});const Jr=k({prefix:\"f\",name:\"base16\",alphabet:\"0123456789abcdef\",bitsPerChar:4}),Kr=k({prefix:\"F\",name:\"base16upper\",alphabet:\"0123456789ABCDEF\",bitsPerChar:4});var Wr=Object.freeze({__proto__:null,base16:Jr,base16upper:Kr});const Xr=k({prefix:\"b\",name:\"base32\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567\",bitsPerChar:5}),Pr=k({prefix:\"B\",name:\"base32upper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\",bitsPerChar:5}),Qr=k({prefix:\"c\",name:\"base32pad\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567=\",bitsPerChar:5}),to=k({prefix:\"C\",name:\"base32padupper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=\",bitsPerChar:5}),eo=k({prefix:\"v\",name:\"base32hex\",alphabet:\"0123456789abcdefghijklmnopqrstuv\",bitsPerChar:5}),no=k({prefix:\"V\",name:\"base32hexupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV\",bitsPerChar:5}),ro=k({prefix:\"t\",name:\"base32hexpad\",alphabet:\"0123456789abcdefghijklmnopqrstuv=\",bitsPerChar:5}),oo=k({prefix:\"T\",name:\"base32hexpadupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV=\",bitsPerChar:5}),so=k({prefix:\"h\",name:\"base32z\",alphabet:\"ybndrfg8ejkmcpqxot1uwisza345h769\",bitsPerChar:5});var io=Object.freeze({__proto__:null,base32:Xr,base32upper:Pr,base32pad:Qr,base32padupper:to,base32hex:eo,base32hexupper:no,base32hexpad:ro,base32hexpadupper:oo,base32z:so});const uo=ht({prefix:\"k\",name:\"base36\",alphabet:\"0123456789abcdefghijklmnopqrstuvwxyz\"}),co=ht({prefix:\"K\",name:\"base36upper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"});var ao=Object.freeze({__proto__:null,base36:uo,base36upper:co});const fo=ht({name:\"base58btc\",prefix:\"z\",alphabet:\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"}),Do=ht({name:\"base58flickr\",prefix:\"Z\",alphabet:\"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ\"});var ho=Object.freeze({__proto__:null,base58btc:fo,base58flickr:Do});const lo=k({prefix:\"m\",name:\"base64\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",bitsPerChar:6}),bo=k({prefix:\"M\",name:\"base64pad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",bitsPerChar:6}),po=k({prefix:\"u\",name:\"base64url\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\",bitsPerChar:6}),wo=k({prefix:\"U\",name:\"base64urlpad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=\",bitsPerChar:6});var Eo=Object.freeze({__proto__:null,base64:lo,base64pad:bo,base64url:po,base64urlpad:wo});const Me=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}\"),go=Me.reduce((t,e,n)=>(t[n]=e,t),[]),yo=Me.reduce((t,e,n)=>(t[e.codePointAt(0)]=n,t),[]);function xo(t){return t.reduce((e,n)=>(e+=go[n],e),\"\")}function Bo(t){const e=[];for(const n of t){const r=yo[n.codePointAt(0)];if(r===void 0)throw new Error(`Non-base256emoji character: ${n}`);e.push(r)}return new Uint8Array(e)}const Co=Bt({prefix:\"\\u{1F680}\",name:\"base256emoji\",encode:xo,decode:Bo});var Ao=Object.freeze({__proto__:null,base256emoji:Co}),mo=$e,qe=128,_o=127,So=~_o,vo=Math.pow(2,31);function $e(t,e,n){e=e||[],n=n||0;for(var r=n;t>=vo;)e[n++]=t&255|qe,t/=128;for(;t&So;)e[n++]=t&255|qe,t>>>=7;return e[n]=t|0,$e.bytes=n-r+1,e}var Io=Pt,Uo=128,ke=127;function Pt(t,r){var n=0,r=r||0,o=0,s=r,a,u=t.length;do{if(s>=u)throw Pt.bytes=0,new RangeError(\"Could not decode varint\");a=t[s++],n+=o<28?(a&ke)<<o:(a&ke)*Math.pow(2,o),o+=7}while(a>=Uo);return Pt.bytes=s-r,n}var To=Math.pow(2,7),Fo=Math.pow(2,14),No=Math.pow(2,21),Lo=Math.pow(2,28),Oo=Math.pow(2,35),Ho=Math.pow(2,42),zo=Math.pow(2,49),Mo=Math.pow(2,56),qo=Math.pow(2,63),$o=function(t){return t<To?1:t<Fo?2:t<No?3:t<Lo?4:t<Oo?5:t<Ho?6:t<zo?7:t<Mo?8:t<qo?9:10},ko={encode:mo,decode:Io,encodingLength:$o},Re=ko;const je=(t,e,n=0)=>(Re.encode(t,e,n),e),Ze=t=>Re.encodingLength(t),Qt=(t,e)=>{const n=e.byteLength,r=Ze(t),o=r+Ze(n),s=new Uint8Array(o+n);return je(t,s,0),je(n,s,r),s.set(e,o),new Ro(t,n,e,s)};class Ro{constructor(e,n,r,o){this.code=e,this.size=n,this.digest=r,this.bytes=o}}const Ge=({name:t,code:e,encode:n})=>new jo(t,e,n);class jo{constructor(e,n,r){this.name=e,this.code=n,this.encode=r}digest(e){if(e instanceof Uint8Array){const n=this.encode(e);return n instanceof Uint8Array?Qt(this.code,n):n.then(r=>Qt(this.code,r))}else throw Error(\"Unknown type, must be binary type\")}}const Ve=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Zo=Ge({name:\"sha2-256\",code:18,encode:Ve(\"SHA-256\")}),Go=Ge({name:\"sha2-512\",code:19,encode:Ve(\"SHA-512\")});var Vo=Object.freeze({__proto__:null,sha256:Zo,sha512:Go});const Ye=0,Yo=\"identity\",Je=He,Jo=t=>Qt(Ye,Je(t)),Ko={code:Ye,name:Yo,encode:Je,digest:Jo};var Wo=Object.freeze({__proto__:null,identity:Ko});new TextEncoder,new TextDecoder;const Ke={...kr,...jr,...Gr,...Yr,...Wr,...io,...ao,...ho,...Eo,...Ao};({...Vo,...Wo});function We(t,e,n,r){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:n},decoder:{decode:r}}}const Xe=We(\"utf8\",\"u\",t=>\"u\"+new TextDecoder(\"utf8\").decode(t),t=>new TextEncoder().encode(t.substring(1))),te=We(\"ascii\",\"a\",t=>{let e=\"a\";for(let n=0;n<t.length;n++)e+=String.fromCharCode(t[n]);return e},t=>{t=t.substring(1);const e=Le(t.length);for(let n=0;n<t.length;n++)e[n]=t.charCodeAt(n);return e}),Pe={utf8:Xe,\"utf-8\":Xe,hex:Ke.base16,latin1:te,ascii:te,binary:te,...Ke};function ct(t,e=\"utf8\"){const n=Pe[e];if(!n)throw new Error(`Unsupported encoding \"${e}\"`);return(e===\"utf8\"||e===\"utf-8\")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString(\"utf8\"):n.encoder.encode(t).substring(1)}function rt(t,e=\"utf8\"){const n=Pe[e];if(!n)throw new Error(`Unsupported encoding \"${e}\"`);return(e===\"utf8\"||e===\"utf-8\")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Xt(globalThis.Buffer.from(t,\"utf-8\")):n.decoder.decode(`${n.prefix}${t}`)}function lt(t){return pn(ct(rt(t,Dt),Gt))}function bt(t){return ct(rt(wn(t),Gt),Dt)}function Qe(t){const e=rt(Wt,dt),n=Kt+ct(Oe([e,t]),dt);return[Yt,Jt,n].join(Vt)}function tn(t){const[e,n,r]=t.split(Vt);if(e!==Yt||n!==Jt)throw new Error('Issuer must be a DID with method \"key\"');if(r.slice(0,1)!==Kt)throw new Error(\"Issuer must be a key in mulicodec format\");const o=rt(r.slice(1),dt);if(ct(o.slice(0,2),dt)!==Wt)throw new Error('Issuer must be a public key with type \"Ed25519\"');const s=o.slice(2);if(s.length!==Fe)throw new Error(\"Issuer must be a public key with length 32 bytes\");return s}function en(t){return ct(t,Dt)}function nn(t){return rt(t,Dt)}function rn(t){return rt([bt(t.header),bt(t.payload)].join(ut),xt)}function Xo(t){const e=ct(t,xt).split(ut),n=lt(e[0]),r=lt(e[1]);return{header:n,payload:r}}function on(t){return[bt(t.header),bt(t.payload),en(t.signature)].join(ut)}function sn(t){const e=t.split(ut),n=lt(e[0]),r=lt(e[1]),o=nn(e[2]),s=rt(e.slice(0,2).join(ut),xt);return{header:n,payload:r,signature:o,data:s}}function Po(t=he(Ne)){const e=Rt.getPublicKey(t);return{secretKey:Oe([t,e]),publicKey:e}}async function Qo(t,e,n,r,o=bn(Date.now())){const s={alg:jt,typ:Zt},a=Qe(r.publicKey),u=o+n,i={iss:a,sub:t,aud:e,iat:o,exp:u},D=rn({header:s,payload:i}),c=Rt.sign(D,r.secretKey.slice(0,32));return on({header:s,payload:i,signature:c})}async function ts(t){const{header:e,payload:n,data:r,signature:o}=sn(t);if(e.alg!==jt||e.typ!==Zt)throw new Error(\"JWT must use EdDSA algorithm\");const s=tn(n.iss);return Rt.verify(o,r,s)}export{xt as DATA_ENCODING,Vt as DID_DELIMITER,Jt as DID_METHOD,Yt as DID_PREFIX,Gt as JSON_ENCODING,ut as JWT_DELIMITER,Dt as JWT_ENCODING,jt as JWT_IRIDIUM_ALG,Zt as JWT_IRIDIUM_TYP,Ne as KEY_PAIR_SEED_LENGTH,Kt as MULTICODEC_ED25519_BASE,dt as MULTICODEC_ED25519_ENCODING,Wt as MULTICODEC_ED25519_HEADER,Fe as MULTICODEC_ED25519_LENGTH,Xo as decodeData,tn as decodeIss,lt as decodeJSON,sn as decodeJWT,nn as decodeSig,rn as encodeData,Qe as encodeIss,bt as encodeJSON,on as encodeJWT,en as encodeSig,Po as generateKeyPair,Qo as signJWT,ts as verifyJWT};\n//# sourceMappingURL=index.es.js.map\n","export function alloc(size = 0) {\n if (globalThis.Buffer != null && globalThis.Buffer.alloc != null) {\n return globalThis.Buffer.alloc(size);\n }\n return new Uint8Array(size);\n}\nexport function allocUnsafe(size = 0) {\n if (globalThis.Buffer != null && globalThis.Buffer.allocUnsafe != null) {\n return globalThis.Buffer.allocUnsafe(size);\n }\n return new Uint8Array(size);\n}","import { allocUnsafe } from './alloc.js';\nexport function concat(arrays, length) {\n if (!length) {\n length = arrays.reduce((acc, curr) => acc + curr.length, 0);\n }\n const output = allocUnsafe(length);\n let offset = 0;\n for (const arr of arrays) {\n output.set(arr, offset);\n offset += arr.length;\n }\n return output;\n}","function base(ALPHABET, name) {\n if (ALPHABET.length >= 255) {\n throw new TypeError('Alphabet too long');\n }\n var BASE_MAP = new Uint8Array(256);\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255;\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i);\n var xc = x.charCodeAt(0);\n if (BASE_MAP[xc] !== 255) {\n throw new TypeError(x + ' is ambiguous');\n }\n BASE_MAP[xc] = i;\n }\n var BASE = ALPHABET.length;\n var LEADER = ALPHABET.charAt(0);\n var FACTOR = Math.log(BASE) / Math.log(256);\n var iFACTOR = Math.log(256) / Math.log(BASE);\n function encode(source) {\n if (source instanceof Uint8Array);\n else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source);\n }\n if (!(source instanceof Uint8Array)) {\n throw new TypeError('Expected Uint8Array');\n }\n if (source.length === 0) {\n return '';\n }\n var zeroes = 0;\n var length = 0;\n var pbegin = 0;\n var pend = source.length;\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++;\n zeroes++;\n }\n var size = (pend - pbegin) * iFACTOR + 1 >>> 0;\n var b58 = new Uint8Array(size);\n while (pbegin !== pend) {\n var carry = source[pbegin];\n var i = 0;\n for (var it1 = size - 1; (carry !== 0 || i < length) && it1 !== -1; it1--, i++) {\n carry += 256 * b58[it1] >>> 0;\n b58[it1] = carry % BASE >>> 0;\n carry = carry / BASE >>> 0;\n }\n if (carry !== 0) {\n throw new Error('Non-zero carry');\n }\n length = i;\n pbegin++;\n }\n var it2 = size - length;\n while (it2 !== size && b58[it2] === 0) {\n it2++;\n }\n var str = LEADER.repeat(zeroes);\n for (; it2 < size; ++it2) {\n str += ALPHABET.charAt(b58[it2]);\n }\n return str;\n }\n function decodeUnsafe(source) {\n if (typeof source !== 'string') {\n throw new TypeError('Expected String');\n }\n if (source.length === 0) {\n return new Uint8Array();\n }\n var psz = 0;\n if (source[psz] === ' ') {\n return;\n }\n var zeroes = 0;\n var length = 0;\n while (source[psz] === LEADER) {\n zeroes++;\n psz++;\n }\n var size = (source.length - psz) * FACTOR + 1 >>> 0;\n var b256 = new Uint8Array(size);\n while (source[psz]) {\n var carry = BASE_MAP[source.charCodeAt(psz)];\n if (carry === 255) {\n return;\n }\n var i = 0;\n for (var it3 = size - 1; (carry !== 0 || i < length) && it3 !== -1; it3--, i++) {\n carry += BASE * b256[it3] >>> 0;\n b256[it3] = carry % 256 >>> 0;\n carry = carry / 256 >>> 0;\n }\n if (carry !== 0) {\n throw new Error('Non-zero carry');\n }\n length = i;\n psz++;\n }\n if (source[psz] === ' ') {\n return;\n }\n var it4 = size - length;\n while (it4 !== size && b256[it4] === 0) {\n it4++;\n }\n var vch = new Uint8Array(zeroes + (size - it4));\n var j = zeroes;\n while (it4 !== size) {\n vch[j++] = b256[it4++];\n }\n return vch;\n }\n function decode(string) {\n var buffer = decodeUnsafe(string);\n if (buffer) {\n return buffer;\n }\n throw new Error(`Non-${ name } character`);\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n };\n}\nvar src = base;\nvar _brrp__multiformats_scope_baseX = src;\nexport default _brrp__multiformats_scope_baseX;","const empty = new Uint8Array(0);\nconst toHex = d => d.reduce((hex, byte) => hex + byte.toString(16).padStart(2, '0'), '');\nconst fromHex = hex => {\n const hexes = hex.match(/../g);\n return hexes ? new Uint8Array(hexes.map(b => parseInt(b, 16))) : empty;\n};\nconst equals = (aa, bb) => {\n if (aa === bb)\n return true;\n if (aa.byteLength !== bb.byteLength) {\n return false;\n }\n for (let ii = 0; ii < aa.byteLength; ii++) {\n if (aa[ii] !== bb[ii]) {\n return false;\n }\n }\n return true;\n};\nconst coerce = o => {\n if (o instanceof Uint8Array && o.constructor.name === 'Uint8Array')\n return o;\n if (o instanceof ArrayBuffer)\n return new Uint8Array(o);\n if (ArrayBuffer.isView(o)) {\n return new Uint8Array(o.buffer, o.byteOffset, o.byteLength);\n }\n throw new Error('Unknown type, must be binary type');\n};\nconst isBinary = o => o instanceof ArrayBuffer || ArrayBuffer.isView(o);\nconst fromString = str => new TextEncoder().encode(str);\nconst toString = b => new TextDecoder().decode(b);\nexport {\n equals,\n coerce,\n isBinary,\n fromHex,\n toHex,\n fromString,\n toString,\n empty\n};","import basex from '../../vendor/base-x.js';\nimport { coerce } from '../bytes.js';\nclass Encoder {\n constructor(name, prefix, baseEncode) {\n this.name = name;\n this.prefix = prefix;\n this.baseEncode = baseEncode;\n }\n encode(bytes) {\n if (bytes instanceof Uint8Array) {\n return `${ this.prefix }${ this.baseEncode(bytes) }`;\n } else {\n throw Error('Unknown type, must be binary type');\n }\n }\n}\nclass Decoder {\n constructor(name, prefix, baseDecode) {\n this.name = name;\n this.prefix = prefix;\n if (prefix.codePointAt(0) === undefined) {\n throw new Error('Invalid prefix character');\n }\n this.prefixCodePoint = prefix.codePointAt(0);\n this.baseDecode = baseDecode;\n }\n decode(text) {\n if (typeof text === 'string') {\n if (text.codePointAt(0) !== this.prefixCodePoint) {\n throw Error(`Unable to decode multibase string ${ JSON.stringify(text) }, ${ this.name } decoder only supports inputs prefixed with ${ this.prefix }`);\n }\n return this.baseDecode(text.slice(this.prefix.length));\n } else {\n throw Error('Can only multibase decode strings');\n }\n }\n or(decoder) {\n return or(this, decoder);\n }\n}\nclass ComposedDecoder {\n constructor(decoders) {\n this.decoders = decoders;\n }\n or(decoder) {\n return or(this, decoder);\n }\n decode(input) {\n const prefix = input[0];\n const decoder = this.decoders[prefix];\n if (decoder) {\n return decoder.decode(input);\n } else {\n throw RangeError(`Unable to decode multibase string ${ JSON.stringify(input) }, only inputs prefixed with ${ Object.keys(this.decoders) } are supported`);\n }\n }\n}\nexport const or = (left, right) => new ComposedDecoder({\n ...left.decoders || { [left.prefix]: left },\n ...right.decoders || { [right.prefix]: right }\n});\nexport class Codec {\n constructor(name, prefix, baseEncode, baseDecode) {\n this.name = name;\n this.prefix = prefix;\n this.baseEncode = baseEncode;\n this.baseDecode = baseDecode;\n this.encoder = new Encoder(name, prefix, baseEncode);\n this.decoder = new Decoder(name, prefix, baseDecode);\n }\n encode(input) {\n return this.encoder.encode(input);\n }\n decode(input) {\n return this.decoder.decode(input);\n }\n}\nexport const from = ({name, prefix, encode, decode}) => new Codec(name, prefix, encode, decode);\nexport const baseX = ({prefix, name, alphabet}) => {\n const {encode, decode} = basex(alphabet, name);\n return from({\n prefix,\n name,\n encode,\n decode: text => coerce(decode(text))\n });\n};\nconst decode = (string, alphabet, bitsPerChar, name) => {\n const codes = {};\n for (let i = 0; i < alphabet.length; ++i) {\n codes[alphabet[i]] = i;\n }\n let end = string.length;\n while (string[end - 1] === '=') {\n --end;\n }\n const out = new Uint8Array(end * bitsPerChar / 8 | 0);\n let bits = 0;\n let buffer = 0;\n let written = 0;\n for (let i = 0; i < end; ++i) {\n const value = codes[string[i]];\n if (value === undefined) {\n throw new SyntaxError(`Non-${ name } character`);\n }\n buffer = buffer << bitsPerChar | value;\n bits += bitsPerChar;\n if (bits >= 8) {\n bits -= 8;\n out[written++] = 255 & buffer >> bits;\n }\n }\n if (bits >= bitsPerChar || 255 & buffer << 8 - bits) {\n throw new SyntaxError('Unexpected end of data');\n }\n return out;\n};\nconst encode = (data, alphabet, bitsPerChar) => {\n const pad = alphabet[alphabet.length - 1] === '=';\n const mask = (1 << bitsPerChar) - 1;\n let out = '';\n let bits = 0;\n let buffer = 0;\n for (let i = 0; i < data.length; ++i) {\n buffer = buffer << 8 | data[i];\n bits += 8;\n while (bits > bitsPerChar) {\n bits -= bitsPerChar;\n out += alphabet[mask & buffer >> bits];\n }\n }\n if (bits) {\n out += alphabet[mask & buffer << bitsPerChar - bits];\n }\n if (pad) {\n while (out.length * bitsPerChar & 7) {\n out += '=';\n }\n }\n return out;\n};\nexport const rfc4648 = ({name, prefix, bitsPerChar, alphabet}) => {\n return from({\n prefix,\n name,\n encode(input) {\n return encode(input, alphabet, bitsPerChar);\n },\n decode(input) {\n return decode(input, alphabet, bitsPerChar, name);\n }\n });\n};","import { from } from './base.js';\nimport {\n fromString,\n toString\n} from '../bytes.js';\nexport const identity = from({\n prefix: '\\0',\n name: 'identity',\n encode: buf => toString(buf),\n decode: str => fromString(str)\n});","import { rfc4648 } from './base.js';\nexport const base2 = rfc4648({\n prefix: '0',\n name: 'base2',\n alphabet: '01',\n bitsPerChar: 1\n});","import { rfc4648 } from './base.js';\nexport const base8 = rfc4648({\n prefix: '7',\n name: 'base8',\n alphabet: '01234567',\n bitsPerChar: 3\n});","import { baseX } from './base.js';\nexport const base10 = baseX({\n prefix: '9',\n name: 'base10',\n alphabet: '0123456789'\n});","import { rfc4648 } from './base.js';\nexport const base16 = rfc4648({\n prefix: 'f',\n name: 'base16',\n alphabet: '0123456789abcdef',\n bitsPerChar: 4\n});\nexport const base16upper = rfc4648({\n prefix: 'F',\n name: 'base16upper',\n alphabet: '0123456789ABCDEF',\n bitsPerChar: 4\n});","import { rfc4648 } from './base.js';\nexport const base32 = rfc4648({\n prefix: 'b',\n name: 'base32',\n alphabet: 'abcdefghijklmnopqrstuvwxyz234567',\n bitsPerChar: 5\n});\nexport const base32upper = rfc4648({\n prefix: 'B',\n name: 'base32upper',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567',\n bitsPerChar: 5\n});\nexport const base32pad = rfc4648({\n prefix: 'c',\n name: 'base32pad',\n alphabet: 'abcdefghijklmnopqrstuvwxyz234567=',\n bitsPerChar: 5\n});\nexport const base32padupper = rfc4648({\n prefix: 'C',\n name: 'base32padupper',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=',\n bitsPerChar: 5\n});\nexport const base32hex = rfc4648({\n prefix: 'v',\n name: 'base32hex',\n alphabet: '0123456789abcdefghijklmnopqrstuv',\n bitsPerChar: 5\n});\nexport const base32hexupper = rfc4648({\n prefix: 'V',\n name: 'base32hexupper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUV',\n bitsPerChar: 5\n});\nexport const base32hexpad = rfc4648({\n prefix: 't',\n name: 'base32hexpad',\n alphabet: '0123456789abcdefghijklmnopqrstuv=',\n bitsPerChar: 5\n});\nexport const base32hexpadupper = rfc4648({\n prefix: 'T',\n name: 'base32hexpadupper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUV=',\n bitsPerChar: 5\n});\nexport const base32z = rfc4648({\n prefix: 'h',\n name: 'base32z',\n alphabet: 'ybndrfg8ejkmcpqxot1uwisza345h769',\n bitsPerChar: 5\n});","import { baseX } from './base.js';\nexport const base36 = baseX({\n prefix: 'k',\n name: 'base36',\n alphabet: '0123456789abcdefghijklmnopqrstuvwxyz'\n});\nexport const base36upper = baseX({\n prefix: 'K',\n name: 'base36upper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n});","import { baseX } from './base.js';\nexport const base58btc = baseX({\n name: 'base58btc',\n prefix: 'z',\n alphabet: '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n});\nexport const base58flickr = baseX({\n name: 'base58flickr',\n prefix: 'Z',\n alphabet: '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'\n});","import { rfc4648 } from './base.js';\nexport const base64 = rfc4648({\n prefix: 'm',\n name: 'base64',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n bitsPerChar: 6\n});\nexport const base64pad = rfc4648({\n prefix: 'M',\n name: 'base64pad',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n bitsPerChar: 6\n});\nexport const base64url = rfc4648({\n prefix: 'u',\n name: 'base64url',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_',\n bitsPerChar: 6\n});\nexport const base64urlpad = rfc4648({\n prefix: 'U',\n name: 'base64urlpad',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=',\n bitsPerChar: 6\n});","import { from } from './base.js';\nconst alphabet = Array.from('\\uD83D\\uDE80\\uD83E\\uDE90\\u2604\\uD83D\\uDEF0\\uD83C\\uDF0C\\uD83C\\uDF11\\uD83C\\uDF12\\uD83C\\uDF13\\uD83C\\uDF14\\uD83C\\uDF15\\uD83C\\uDF16\\uD83C\\uDF17\\uD83C\\uDF18\\uD83C\\uDF0D\\uD83C\\uDF0F\\uD83C\\uDF0E\\uD83D\\uDC09\\u2600\\uD83D\\uDCBB\\uD83D\\uDDA5\\uD83D\\uDCBE\\uD83D\\uDCBF\\uD83D\\uDE02\\u2764\\uD83D\\uDE0D\\uD83E\\uDD23\\uD83D\\uDE0A\\uD83D\\uDE4F\\uD83D\\uDC95\\uD83D\\uDE2D\\uD83D\\uDE18\\uD83D\\uDC4D\\uD83D\\uDE05\\uD83D\\uDC4F\\uD83D\\uDE01\\uD83D\\uDD25\\uD83E\\uDD70\\uD83D\\uDC94\\uD83D\\uDC96\\uD83D\\uDC99\\uD83D\\uDE22\\uD83E\\uDD14\\uD83D\\uDE06\\uD83D\\uDE44\\uD83D\\uDCAA\\uD83D\\uDE09\\u263A\\uD83D\\uDC4C\\uD83E\\uDD17\\uD83D\\uDC9C\\uD83D\\uDE14\\uD83D\\uDE0E\\uD83D\\uDE07\\uD83C\\uDF39\\uD83E\\uDD26\\uD83C\\uDF89\\uD83D\\uDC9E\\u270C\\u2728\\uD83E\\uDD37\\uD83D\\uDE31\\uD83D\\uDE0C\\uD83C\\uDF38\\uD83D\\uDE4C\\uD83D\\uDE0B\\uD83D\\uDC97\\uD83D\\uDC9A\\uD83D\\uDE0F\\uD83D\\uDC9B\\uD83D\\uDE42\\uD83D\\uDC93\\uD83E\\uDD29\\uD83D\\uDE04\\uD83D\\uDE00\\uD83D\\uDDA4\\uD83D\\uDE03\\uD83D\\uDCAF\\uD83D\\uDE48\\uD83D\\uDC47\\uD83C\\uDFB6\\uD83D\\uDE12\\uD83E\\uDD2D\\u2763\\uD83D\\uDE1C\\uD83D\\uDC8B\\uD83D\\uDC40\\uD83D\\uDE2A\\uD83D\\uDE11\\uD83D\\uDCA5\\uD83D\\uDE4B\\uD83D\\uDE1E\\uD83D\\uDE29\\uD83D\\uDE21\\uD83E\\uDD2A\\uD83D\\uDC4A\\uD83E\\uDD73\\uD83D\\uDE25\\uD83E\\uDD24\\uD83D\\uDC49\\uD83D\\uDC83\\uD83D\\uDE33\\u270B\\uD83D\\uDE1A\\uD83D\\uDE1D\\uD83D\\uDE34\\uD83C\\uDF1F\\uD83D\\uDE2C\\uD83D\\uDE43\\uD83C\\uDF40\\uD83C\\uDF37\\uD83D\\uDE3B\\uD83D\\uDE13\\u2B50\\u2705\\uD83E\\uDD7A\\uD83C\\uDF08\\uD83D\\uDE08\\uD83E\\uDD18\\uD83D\\uDCA6\\u2714\\uD83D\\uDE23\\uD83C\\uDFC3\\uD83D\\uDC90\\u2639\\uD83C\\uDF8A\\uD83D\\uDC98\\uD83D\\uDE20\\u261D\\uD83D\\uDE15\\uD83C\\uDF3A\\uD83C\\uDF82\\uD83C\\uDF3B\\uD83D\\uDE10\\uD83D\\uDD95\\uD83D\\uDC9D\\uD83D\\uDE4A\\uD83D\\uDE39\\uD83D\\uDDE3\\uD83D\\uDCAB\\uD83D\\uDC80\\uD83D\\uDC51\\uD83C\\uDFB5\\uD83E\\uDD1E\\uD83D\\uDE1B\\uD83D\\uDD34\\uD83D\\uDE24\\uD83C\\uDF3C\\uD83D\\uDE2B\\u26BD\\uD83E\\uDD19\\u2615\\uD83C\\uDFC6\\uD83E\\uDD2B\\uD83D\\uDC48\\uD83D\\uDE2E\\uD83D\\uDE46\\uD83C\\uDF7B\\uD83C\\uDF43\\uD83D\\uDC36\\uD83D\\uDC81\\uD83D\\uDE32\\uD83C\\uDF3F\\uD83E\\uDDE1\\uD83C\\uDF81\\u26A1\\uD83C\\uDF1E\\uD83C\\uDF88\\u274C\\u270A\\uD83D\\uDC4B\\uD83D\\uDE30\\uD83E\\uDD28\\uD83D\\uDE36\\uD83E\\uDD1D\\uD83D\\uDEB6\\uD83D\\uDCB0\\uD83C\\uDF53\\uD83D\\uDCA2\\uD83E\\uDD1F\\uD83D\\uDE41\\uD83D\\uDEA8\\uD83D\\uDCA8\\uD83E\\uDD2C\\u2708\\uD83C\\uDF80\\uD83C\\uDF7A\\uD83E\\uDD13\\uD83D\\uDE19\\uD83D\\uDC9F\\uD83C\\uDF31\\uD83D\\uDE16\\uD83D\\uDC76\\uD83E\\uDD74\\u25B6\\u27A1\\u2753\\uD83D\\uDC8E\\uD83D\\uDCB8\\u2B07\\uD83D\\uDE28\\uD83C\\uDF1A\\uD83E\\uDD8B\\uD83D\\uDE37\\uD83D\\uDD7A\\u26A0\\uD83D\\uDE45\\uD83D\\uDE1F\\uD83D\\uDE35\\uD83D\\uDC4E\\uD83E\\uDD32\\uD83E\\uDD20\\uD83E\\uDD27\\uD83D\\uDCCC\\uD83D\\uDD35\\uD83D\\uDC85\\uD83E\\uDDD0\\uD83D\\uDC3E\\uD83C\\uDF52\\uD83D\\uDE17\\uD83E\\uDD11\\uD83C\\uDF0A\\uD83E\\uDD2F\\uD83D\\uDC37\\u260E\\uD83D\\uDCA7\\uD83D\\uDE2F\\uD83D\\uDC86\\uD83D\\uDC46\\uD83C\\uDFA4\\uD83D\\uDE47\\uD83C\\uDF51\\u2744\\uD83C\\uDF34\\uD83D\\uDCA3\\uD83D\\uDC38\\uD83D\\uDC8C\\uD83D\\uDCCD\\uD83E\\uDD40\\uD83E\\uDD22\\uD83D\\uDC45\\uD83D\\uDCA1\\uD83D\\uDCA9\\uD83D\\uDC50\\uD83D\\uDCF8\\uD83D\\uDC7B\\uD83E\\uDD10\\uD83E\\uDD2E\\uD83C\\uDFBC\\uD83E\\uDD75\\uD83D\\uDEA9\\uD83C\\uDF4E\\uD83C\\uDF4A\\uD83D\\uDC7C\\uD83D\\uDC8D\\uD83D\\uDCE3\\uD83E\\uDD42');\nconst alphabetBytesToChars = alphabet.reduce((p, c, i) => {\n p[i] = c;\n return p;\n}, []);\nconst alphabetCharsToBytes = alphabet.reduce((p, c, i) => {\n p[c.codePointAt(0)] = i;\n return p;\n}, []);\nfunction encode(data) {\n return data.reduce((p, c) => {\n p += alphabetBytesToChars[c];\n return p;\n }, '');\n}\nfunction decode(str) {\n const byts = [];\n for (const char of str) {\n const byt = alphabetCharsToBytes[char.codePointAt(0)];\n if (byt === undefined) {\n throw new Error(`Non-base256emoji character: ${ char }`);\n }\n byts.push(byt);\n }\n return new Uint8Array(byts);\n}\nexport const base256emoji = from({\n prefix: '\\uD83D\\uDE80',\n name: 'base256emoji',\n encode,\n decode\n});","const textEncoder = new TextEncoder();\nconst textDecoder = new TextDecoder();\nexport const name = 'json';\nexport const code = 512;\nexport const encode = node => textEncoder.encode(JSON.stringify(node));\nexport const decode = data => JSON.parse(textDecoder.decode(data));","import * as identityBase from './bases/identity.js';\nimport * as base2 from './bases/base2.js';\nimport * as base8 from './bases/base8.js';\nimport * as base10 from './bases/base10.js';\nimport * as base16 from './bases/base16.js';\nimport * as base32 from './bases/base32.js';\nimport * as base36 from './bases/base36.js';\nimport * as base58 from './bases/base58.js';\nimport * as base64 from './bases/base64.js';\nimport * as base256emoji from './bases/base256emoji.js';\nimport * as sha2 from './hashes/sha2.js';\nimport * as identity from './hashes/identity.js';\nimport * as raw from './codecs/raw.js';\nimport * as json from './codecs/json.js';\nimport {\n CID,\n hasher,\n digest,\n varint,\n bytes\n} from './index.js';\nconst bases = {\n ...identityBase,\n ...base2,\n ...base8,\n ...base10,\n ...base16,\n ...base32,\n ...base36,\n ...base58,\n ...base64,\n ...base256emoji\n};\nconst hashes = {\n ...sha2,\n ...identity\n};\nconst codecs = {\n raw,\n json\n};\nexport {\n CID,\n hasher,\n digest,\n varint,\n bytes,\n hashes,\n bases,\n codecs\n};","import { bases } from 'multiformats/basics';\nimport { allocUnsafe } from '../alloc.js';\nfunction createCodec(name, prefix, encode, decode) {\n return {\n name,\n prefix,\n encoder: {\n name,\n prefix,\n encode\n },\n decoder: { decode }\n };\n}\nconst string = createCodec('utf8', 'u', buf => {\n const decoder = new TextDecoder('utf8');\n return 'u' + decoder.decode(buf);\n}, str => {\n const encoder = new TextEncoder();\n return encoder.encode(str.substring(1));\n});\nconst ascii = createCodec('ascii', 'a', buf => {\n let string = 'a';\n for (let i = 0; i < buf.length; i++) {\n string += String.fromCharCode(buf[i]);\n }\n return string;\n}, str => {\n str = str.substring(1);\n const buf = allocUnsafe(str.length);\n for (let i = 0; i < str.length; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n});\nconst BASES = {\n utf8: string,\n 'utf-8': string,\n hex: bases.base16,\n latin1: ascii,\n ascii: ascii,\n binary: ascii,\n ...bases\n};\nexport default BASES;","import bases from './util/bases.js';\nexport function fromString(string, encoding = 'utf8') {\n const base = bases[encoding];\n if (!base) {\n throw new Error(`Unsupported encoding \"${ encoding }\"`);\n }\n if ((encoding === 'utf8' || encoding === 'utf-8') && globalThis.Buffer != null && globalThis.Buffer.from != null) {\n return globalThis.Buffer.from(string, 'utf8');\n }\n return base.decoder.decode(`${ base.prefix }${ string }`);\n}","import bases from './util/bases.js';\nexport function toString(array, encoding = 'utf8') {\n const base = bases[encoding];\n if (!base) {\n throw new Error(`Unsupported encoding \"${ encoding }\"`);\n }\n if ((encoding === 'utf8' || encoding === 'utf-8') && globalThis.Buffer != null && globalThis.Buffer.from != null) {\n return globalThis.Buffer.from(array.buffer, array.byteOffset, array.byteLength).toString('utf8');\n }\n return base.encoder.encode(array).substring(1);\n}","function e(s,r,i=\"string\"){if(!s[r]||typeof s[r]!==i)throw new Error(`Missing or invalid \"${r}\" param`)}function l(s,r){let i=!0;return r.forEach(t=>{t in s||(i=!1)}),i}function f(s,r){return Array.isArray(s)?s.length===r:Object.keys(s).length===r}function w(s,r){return Array.isArray(s)?s.length>=r:Object.keys(s).length>=r}function u(s,r,i){return(i.length?w(s,r.length):f(s,r.length))?l(s,r):!1}function n(s,r,i=\"_\"){const t=s.split(i);return t[t.length-1].trim().toLowerCase()===r.trim().toLowerCase()}function R(s){return b(s.method)&&a(s.params)}function b(s){return n(s,\"subscribe\")}function a(s){return u(s,[\"topic\"],[])}function P(s){return c(s.method)&&h(s.params)}function c(s){return n(s,\"publish\")}function h(s){return u(s,[\"message\",\"topic\",\"ttl\"],[\"prompt\",\"tag\"])}function _(s){return o(s.method)&&p(s.params)}function o(s){return n(s,\"unsubscribe\")}function p(s){return u(s,[\"id\",\"topic\"],[])}function S(s){return m(s.method)&&d(s.params)}function m(s){return n(s,\"subscription\")}function d(s){return u(s,[\"id\",\"data\"],[])}function g(s){if(!b(s.method))throw new Error(\"JSON-RPC Request has invalid subscribe method\");if(!a(s.params))throw new Error(\"JSON-RPC Request has invalid subscribe params\");const r=s.params;return e(r,\"topic\"),r}function q(s){if(!c(s.method))throw new Error(\"JSON-RPC Request has invalid publish method\");if(!h(s.params))throw new Error(\"JSON-RPC Request has invalid publish params\");const r=s.params;return e(r,\"topic\"),e(r,\"message\"),e(r,\"ttl\",\"number\"),r}function E(s){if(!o(s.method))throw new Error(\"JSON-RPC Request has invalid unsubscribe method\");if(!p(s.params))throw new Error(\"JSON-RPC Request has invalid unsubscribe params\");const r=s.params;return e(r,\"id\"),r}function k(s){if(!m(s.method))throw new Error(\"JSON-RPC Request has invalid subscription method\");if(!d(s.params))throw new Error(\"JSON-RPC Request has invalid subscription params\");const r=s.params;return e(r,\"id\"),e(r,\"data\"),r}const C={waku:{publish:\"waku_publish\",batchPublish:\"waku_batchPublish\",subscribe:\"waku_subscribe\",batchSubscribe:\"waku_batchSubscribe\",subscription:\"waku_subscription\",unsubscribe:\"waku_unsubscribe\",batchUnsubscribe:\"waku_batchUnsubscribe\",batchFetchMessages:\"waku_batchFetchMessages\"},irn:{publish:\"irn_publish\",batchPublish:\"irn_batchPublish\",subscribe:\"irn_subscribe\",batchSubscribe:\"irn_batchSubscribe\",subscription:\"irn_subscription\",unsubscribe:\"irn_unsubscribe\",batchUnsubscribe:\"irn_batchUnsubscribe\",batchFetchMessages:\"irn_batchFetchMessages\"},iridium:{publish:\"iridium_publish\",batchPublish:\"iridium_batchPublish\",subscribe:\"iridium_subscribe\",batchSubscribe:\"iridium_batchSubscribe\",subscription:\"iridium_subscription\",unsubscribe:\"iridium_unsubscribe\",batchUnsubscribe:\"iridium_batchUnsubscribe\",batchFetchMessages:\"iridium_batchFetchMessages\"}};export{C as RELAY_JSONRPC,c as isPublishMethod,h as isPublishParams,P as isPublishRequest,b as isSubscribeMethod,a as isSubscribeParams,R as isSubscribeRequest,m as isSubscriptionMethod,d as isSubscriptionParams,S as isSubscriptionRequest,o as isUnsubscribeMethod,p as isUnsubscribeParams,_ as isUnsubscribeRequest,q as parsePublishRequest,g as parseSubscribeRequest,k as parseSubscriptionRequest,E as parseUnsubscribeRequest};\n//# sourceMappingURL=index.es.js.map\n","import{detect as jo}from\"detect-browser\";import{toMiliseconds as Ie,FIVE_MINUTES as xn,fromMiliseconds as Co}from\"@walletconnect/time\";import{getDocument as Yt,getNavigator as Sn,getLocation as On}from\"@walletconnect/window-getters\";import{getWindowMetadata as Po}from\"@walletconnect/window-metadata\";import{recoverAddress as ko}from\"viem\";import Vo from\"bs58\";import{decodeJWT as Mo}from\"@walletconnect/relay-auth\";import{toString as Q,fromString as rt,concat as Gt}from\"uint8arrays\";import{RELAY_JSONRPC as Do}from\"@walletconnect/relay-api\";const ae=\":\";function Ne(t){const[e,n]=t.split(ae);return{namespace:e,reference:n}}function An(t){const{namespace:e,reference:n}=t;return[e,n].join(ae)}function Ue(t){const[e,n,r]=t.split(ae);return{namespace:e,reference:n,address:r}}function Bn(t){const{namespace:e,reference:n,address:r}=t;return[e,n,r].join(ae)}function Te(t,e){const n=[];return t.forEach(r=>{const o=e(r);n.includes(o)||n.push(o)}),n}function In(t){const{address:e}=Ue(t);return e}function Nn(t){const{namespace:e,reference:n}=Ue(t);return An({namespace:e,reference:n})}function Ho(t,e){const{namespace:n,reference:r}=Ne(e);return Bn({namespace:n,reference:r,address:t})}function qo(t){return Te(t,In)}function Un(t){return Te(t,Nn)}function Ko(t,e=[]){const n=[];return Object.keys(t).forEach(r=>{if(e.length&&!e.includes(r))return;const o=t[r];n.push(...o.accounts)}),n}function Fo(t,e=[]){const n=[];return Object.keys(t).forEach(r=>{if(e.length&&!e.includes(r))return;const o=t[r];n.push(...Un(o.accounts))}),n}function zo(t,e=[]){const n=[];return Object.keys(t).forEach(r=>{if(e.length&&!e.includes(r))return;const o=t[r];n.push(...ue(r,o))}),n}function ue(t,e){return t.includes(\":\")?[t]:e.chains||[]}var Zo=Object.defineProperty,Yo=Object.defineProperties,Go=Object.getOwnPropertyDescriptors,Tn=Object.getOwnPropertySymbols,Wo=Object.prototype.hasOwnProperty,Xo=Object.prototype.propertyIsEnumerable,Rn=(t,e,n)=>e in t?Zo(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,_n=(t,e)=>{for(var n in e||(e={}))Wo.call(e,n)&&Rn(t,n,e[n]);if(Tn)for(var n of Tn(e))Xo.call(e,n)&&Rn(t,n,e[n]);return t},Jo=(t,e)=>Yo(t,Go(e));const $n=\"ReactNative\",Y={reactNative:\"react-native\",node:\"node\",browser:\"browser\",unknown:\"unknown\"},fe=\" \",Qo=\":\",Ln=\"/\",Re=2,ti=1e3,jn=\"js\";function _e(){return typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.node<\"u\"}function pt(){return!Yt()&&!!Sn()&&navigator.product===$n}function ei(){return pt()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"&&(global==null?void 0:global.Platform.OS)===\"android\"}function ni(){return pt()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"&&(global==null?void 0:global.Platform.OS)===\"ios\"}function Tt(){return!_e()&&!!Sn()&&!!Yt()}function xt(){return pt()?Y.reactNative:_e()?Y.node:Tt()?Y.browser:Y.unknown}function ri(){var t;try{return pt()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Application)<\"u\"?(t=global.Application)==null?void 0:t.applicationId:void 0}catch{return}}function Cn(t,e){const n=new URLSearchParams(t);for(const r of Object.keys(e).sort())if(e.hasOwnProperty(r)){const o=e[r];o!==void 0&&n.set(r,o)}return n.toString()}function oi(t){var e,n;const r=Pn();try{return t!=null&&t.url&&r.url&&new URL(t.url).host!==new URL(r.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${t.url} differs from the actual page url:${r.url}. This is probably unintended and can lead to issues.`),t.url=r.url),(e=t?.icons)!=null&&e.length&&t.icons.length>0&&(t.icons=t.icons.filter(o=>o!==\"\")),Jo(_n(_n({},r),t),{url:t?.url||r.url,name:t?.name||r.name,description:t?.description||r.description,icons:(n=t?.icons)!=null&&n.length&&t.icons.length>0?t.icons:r.icons})}catch(o){return console.warn(\"Error populating app metadata\",o),t||r}}function Pn(){return Po()||{name:\"\",description:\"\",url:\"\",icons:[\"\"]}}function ii(t,e){var n;const r=xt(),o={protocol:t,version:e,env:r};return r===\"browser\"&&(o.host=((n=On())==null?void 0:n.host)||\"unknown\"),o}function kn(){if(xt()===Y.reactNative&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"){const{OS:n,Version:r}=global.Platform;return[n,r].join(\"-\")}const t=jo();if(t===null)return\"unknown\";const e=t.os?t.os.replace(\" \",\"\").toLowerCase():\"unknown\";return t.type===\"browser\"?[e,t.name,t.version].join(\"-\"):[e,t.version].join(\"-\")}function Vn(){var t;const e=xt();return e===Y.browser?[e,((t=On())==null?void 0:t.host)||\"unknown\"].join(\":\"):e}function Mn(t,e,n){const r=kn(),o=Vn();return[[t,e].join(\"-\"),[jn,n].join(\"-\"),r,o].join(\"/\")}function si({protocol:t,version:e,relayUrl:n,sdkVersion:r,auth:o,projectId:i,useOnCloseEvent:s,bundleId:c,packageName:a}){const u=n.split(\"?\"),l=Mn(t,e,r),f={auth:o,ua:l,projectId:i,useOnCloseEvent:s||void 0,packageName:a||void 0,bundleId:c||void 0},h=Cn(u[1]||\"\",f);return u[0]+\"?\"+h}function ci(t){let e=(t.match(/^[^:]+(?=:\\/\\/)/gi)||[])[0];const n=typeof e<\"u\"?t.split(\"://\")[1]:t;return e=e===\"wss\"?\"https\":\"http\",[e,n].join(\"://\")}function ai(t,e,n){if(!t[e]||typeof t[e]!==n)throw new Error(`Missing or invalid \"${e}\" param`)}function Dn(t,e=Re){return Hn(t.split(Ln),e)}function ui(t){return Dn(t).join(fe)}function gt(t,e){return t.filter(n=>e.includes(n)).length===t.length}function Hn(t,e=Re){return t.slice(Math.max(t.length-e,0))}function fi(t){return Object.fromEntries(t.entries())}function li(t){return new Map(Object.entries(t))}function di(t,e){const n={};return Object.keys(t).forEach(r=>{n[r]=e(t[r])}),n}const hi=t=>t;function qn(t){return t.trim().replace(/^\\w/,e=>e.toUpperCase())}function pi(t){return t.split(fe).map(e=>qn(e)).join(fe)}function gi(t=xn,e){const n=Ie(t||xn);let r,o,i,s;return{resolve:c=>{i&&r&&(clearTimeout(i),r(c),s=Promise.resolve(c))},reject:c=>{i&&o&&(clearTimeout(i),o(c))},done:()=>new Promise((c,a)=>{if(s)return c(s);i=setTimeout(()=>{const u=new Error(e);s=Promise.reject(u),a(u)},n),r=c,o=a})}}function yi(t,e,n){return new Promise(async(r,o)=>{const i=setTimeout(()=>o(new Error(n)),e);try{const s=await t;r(s)}catch(s){o(s)}clearTimeout(i)})}function $e(t,e){if(typeof e==\"string\"&&e.startsWith(`${t}:`))return e;if(t.toLowerCase()===\"topic\"){if(typeof e!=\"string\")throw new Error('Value must be \"string\" for expirer target type: topic');return`topic:${e}`}else if(t.toLowerCase()===\"id\"){if(typeof e!=\"number\")throw new Error('Value must be \"number\" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${t}`)}function mi(t){return $e(\"topic\",t)}function wi(t){return $e(\"id\",t)}function bi(t){const[e,n]=t.split(\":\"),r={id:void 0,topic:void 0};if(e===\"topic\"&&typeof n==\"string\")r.topic=n;else if(e===\"id\"&&Number.isInteger(Number(n)))r.id=Number(n);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${n}`);return r}function Ei(t,e){return Co((e||Date.now())+Ie(t))}function vi(t){return Date.now()>=Ie(t)}function xi(t,e){return`${t}${e?`:${e}`:\"\"}`}function ot(t=[],e=[]){return[...new Set([...t,...e])]}async function Si({id:t,topic:e,wcDeepLink:n}){var r;try{if(!n)return;const o=typeof n==\"string\"?JSON.parse(n):n,i=o?.href;if(typeof i!=\"string\")return;const s=Kn(i,t,e),c=xt();if(c===Y.browser){if(!((r=Yt())!=null&&r.hasFocus())){console.warn(\"Document does not have focus, skipping deeplink.\");return}Fn(s)}else c===Y.reactNative&&typeof(global==null?void 0:global.Linking)<\"u\"&&await global.Linking.openURL(s)}catch(o){console.error(o)}}function Kn(t,e,n){const r=`requestId=${e}&sessionTopic=${n}`;t.endsWith(\"/\")&&(t=t.slice(0,-1));let o=`${t}`;if(t.startsWith(\"https://t.me\")){const i=t.includes(\"?\")?\"&startapp=\":\"?startapp=\";o=`${o}${i}${Yn(r,!0)}`}else o=`${o}/wc?${r}`;return o}function Fn(t){let e=\"_self\";Zn()?e=\"_top\":(zn()||t.startsWith(\"https://\")||t.startsWith(\"http://\"))&&(e=\"_blank\"),window.open(t,e,\"noreferrer noopener\")}async function Oi(t,e){let n=\"\";try{if(Tt()&&(n=localStorage.getItem(e),n))return n;n=await t.getItem(e)}catch(r){console.error(r)}return n}function Le(t,e){return t.filter(n=>e.includes(n))}function Ai(t,e){if(!t.includes(e))return null;const n=t.split(/([&,?,=])/),r=n.indexOf(e);return n[r+2]}function Bi(){return typeof crypto<\"u\"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t===\"x\"?e:e&3|8).toString(16)})}function Ii(){return typeof process<\"u\"&&process.env.IS_VITEST===\"true\"}function zn(){return typeof window<\"u\"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function Zn(){try{return window.self!==window.top}catch{return!1}}function Yn(t,e=!1){const n=Buffer.from(t).toString(\"base64\");return e?n.replace(/[=]/g,\"\"):n}function je(t){return Buffer.from(t,\"base64\").toString(\"utf-8\")}function Ni(t){return new Promise(e=>setTimeout(e,t))}function Wt(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(\"positive integer expected, got \"+t)}function Ui(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function Xt(t,...e){if(!Ui(t))throw new Error(\"Uint8Array expected\");if(e.length>0&&!e.includes(t.length))throw new Error(\"Uint8Array expected of length \"+e+\", got length=\"+t.length)}function Ce(t){if(typeof t!=\"function\"||typeof t.create!=\"function\")throw new Error(\"Hash should be wrapped by utils.wrapConstructor\");Wt(t.outputLen),Wt(t.blockLen)}function Rt(t,e=!0){if(t.destroyed)throw new Error(\"Hash instance has been destroyed\");if(e&&t.finished)throw new Error(\"Hash#digest() has already been called\")}function Gn(t,e){Xt(t);const n=e.outputLen;if(t.length<n)throw new Error(\"digestInto() expects output buffer of length at least \"+n)}const le=BigInt(2**32-1),Wn=BigInt(32);function Ti(t,e=!1){return e?{h:Number(t&le),l:Number(t>>Wn&le)}:{h:Number(t>>Wn&le)|0,l:Number(t&le)|0}}function Ri(t,e=!1){let n=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let o=0;o<t.length;o++){const{h:i,l:s}=Ti(t[o],e);[n[o],r[o]]=[i,s]}return[n,r]}const _i=(t,e,n)=>t<<n|e>>>32-n,$i=(t,e,n)=>e<<n|t>>>32-n,Li=(t,e,n)=>e<<n-32|t>>>64-n,ji=(t,e,n)=>t<<n-32|e>>>64-n,_t=typeof globalThis==\"object\"&&\"crypto\"in globalThis?globalThis.crypto:void 0;function Ci(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Pe(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function ct(t,e){return t<<32-e|t>>>e}const Xn=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Pi(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function Jn(t){for(let e=0;e<t.length;e++)t[e]=Pi(t[e])}function ki(t){if(typeof t!=\"string\")throw new Error(\"utf8ToBytes expected string, got \"+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function $t(t){return typeof t==\"string\"&&(t=ki(t)),Xt(t),t}function Vi(...t){let e=0;for(let r=0;r<t.length;r++){const o=t[r];Xt(o),e+=o.length}const n=new Uint8Array(e);for(let r=0,o=0;r<t.length;r++){const i=t[r];n.set(i,o),o+=i.length}return n}class ke{clone(){return this._cloneInto()}}function Qn(t){const e=r=>t().update($t(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function Lt(t=32){if(_t&&typeof _t.getRandomValues==\"function\")return _t.getRandomValues(new Uint8Array(t));if(_t&&typeof _t.randomBytes==\"function\")return _t.randomBytes(t);throw new Error(\"crypto.getRandomValues must be defined\")}const tr=[],er=[],nr=[],Mi=BigInt(0),Jt=BigInt(1),Di=BigInt(2),Hi=BigInt(7),qi=BigInt(256),Ki=BigInt(113);for(let t=0,e=Jt,n=1,r=0;t<24;t++){[n,r]=[r,(2*n+3*r)%5],tr.push(2*(5*r+n)),er.push((t+1)*(t+2)/2%64);let o=Mi;for(let i=0;i<7;i++)e=(e<<Jt^(e>>Hi)*Ki)%qi,e&Di&&(o^=Jt<<(Jt<<BigInt(i))-Jt);nr.push(o)}const[Fi,zi]=Ri(nr,!0),rr=(t,e,n)=>n>32?Li(t,e,n):_i(t,e,n),or=(t,e,n)=>n>32?ji(t,e,n):$i(t,e,n);function Zi(t,e=24){const n=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let s=0;s<10;s++)n[s]=t[s]^t[s+10]^t[s+20]^t[s+30]^t[s+40];for(let s=0;s<10;s+=2){const c=(s+8)%10,a=(s+2)%10,u=n[a],l=n[a+1],f=rr(u,l,1)^n[c],h=or(u,l,1)^n[c+1];for(let y=0;y<50;y+=10)t[s+y]^=f,t[s+y+1]^=h}let o=t[2],i=t[3];for(let s=0;s<24;s++){const c=er[s],a=rr(o,i,c),u=or(o,i,c),l=tr[s];o=t[l],i=t[l+1],t[l]=a,t[l+1]=u}for(let s=0;s<50;s+=10){for(let c=0;c<10;c++)n[c]=t[s+c];for(let c=0;c<10;c++)t[s+c]^=~n[(c+2)%10]&n[(c+4)%10]}t[0]^=Fi[r],t[1]^=zi[r]}n.fill(0)}class En extends ke{constructor(e,n,r,o=!1,i=24){if(super(),this.blockLen=e,this.suffix=n,this.outputLen=r,this.enableXOF=o,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Wt(r),0>=this.blockLen||this.blockLen>=200)throw new Error(\"Sha3 supports only keccak-f1600 function\");this.state=new Uint8Array(200),this.state32=Ci(this.state)}keccak(){Xn||Jn(this.state32),Zi(this.state32,this.rounds),Xn||Jn(this.state32),this.posOut=0,this.pos=0}update(e){Rt(this);const{blockLen:n,state:r}=this;e=$t(e);const o=e.length;for(let i=0;i<o;){const s=Math.min(n-this.pos,o-i);for(let c=0;c<s;c++)r[this.pos++]^=e[i++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:n,pos:r,blockLen:o}=this;e[r]^=n,(n&128)!==0&&r===o-1&&this.keccak(),e[o-1]^=128,this.keccak()}writeInto(e){Rt(this,!1),Xt(e),this.finish();const n=this.state,{blockLen:r}=this;for(let o=0,i=e.length;o<i;){this.posOut>=r&&this.keccak();const s=Math.min(r-this.posOut,i-o);e.set(n.subarray(this.posOut,this.posOut+s),o),this.posOut+=s,o+=s}return e}xofInto(e){if(!this.enableXOF)throw new Error(\"XOF is not possible for this instance\");return this.writeInto(e)}xof(e){return Wt(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Gn(e,this),this.finished)throw new Error(\"digest() was already called\");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:n,suffix:r,outputLen:o,rounds:i,enableXOF:s}=this;return e||(e=new En(n,r,o,s,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=o,e.enableXOF=s,e.destroyed=this.destroyed,e}}const Yi=(t,e,n)=>Qn(()=>new En(e,t,n)),Gi=Yi(1,136,256/8),Wi=\"https://rpc.walletconnect.org/v1\";function Ve(t){const e=`\u0019Ethereum Signed Message:\n${t.length}`,n=new TextEncoder().encode(e+t);return\"0x\"+Buffer.from(Gi(n)).toString(\"hex\")}async function ir(t,e,n,r,o,i){switch(n.t){case\"eip191\":return await sr(t,e,n.s);case\"eip1271\":return await cr(t,e,n.s,r,o,i);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${n.t}`)}}async function sr(t,e,n){return(await ko({hash:Ve(e),signature:n})).toLowerCase()===t.toLowerCase()}async function cr(t,e,n,r,o,i){const s=Ne(r);if(!s.namespace||!s.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${r}`);try{const c=\"0x1626ba7e\",a=\"0000000000000000000000000000000000000000000000000000000000000040\",u=\"0000000000000000000000000000000000000000000000000000000000000041\",l=n.substring(2),f=Ve(e).substring(2),h=c+f+a+u+l,y=await fetch(`${i||Wi}/?chainId=${r}&projectId=${o}`,{method:\"POST\",body:JSON.stringify({id:Xi(),jsonrpc:\"2.0\",method:\"eth_call\",params:[{to:t,data:h},\"latest\"]})}),{result:E}=await y.json();return E?E.slice(0,c.length).toLowerCase()===c.toLowerCase():!1}catch(c){return console.error(\"isValidEip1271Signature: \",c),!1}}function Xi(){return Date.now()+Math.floor(Math.random()*1e3)}function Ji(t){const e=atob(t),n=new Uint8Array(e.length);for(let s=0;s<e.length;s++)n[s]=e.charCodeAt(s);const r=n[0];if(r===0)throw new Error(\"No signatures found\");const o=1+r*64;if(n.length<o)throw new Error(\"Transaction data too short for claimed signature count\");if(n.length<100)throw new Error(\"Transaction too short\");const i=Buffer.from(t,\"base64\").slice(1,65);return Vo.encode(i)}var Qi=Object.defineProperty,ts=Object.defineProperties,es=Object.getOwnPropertyDescriptors,ar=Object.getOwnPropertySymbols,ns=Object.prototype.hasOwnProperty,rs=Object.prototype.propertyIsEnumerable,ur=(t,e,n)=>e in t?Qi(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Me=(t,e)=>{for(var n in e||(e={}))ns.call(e,n)&&ur(t,n,e[n]);if(ar)for(var n of ar(e))rs.call(e,n)&&ur(t,n,e[n]);return t},fr=(t,e)=>ts(t,es(e));const os=\"did:pkh:\",de=t=>t?.split(\":\"),lr=t=>{const e=t&&de(t);if(e)return t.includes(os)?e[3]:e[1]},dr=t=>{const e=t&&de(t);if(e)return e[2]+\":\"+e[3]},De=t=>{const e=t&&de(t);if(e)return e.pop()};async function is(t){const{cacao:e,projectId:n}=t,{s:r,p:o}=e,i=hr(o,o.iss),s=De(o.iss);return await ir(s,i,r,dr(o.iss),n)}const hr=(t,e)=>{const n=`${t.domain} wants you to sign in with your Ethereum account:`,r=De(e);if(!t.aud&&!t.uri)throw new Error(\"Either `aud` or `uri` is required to construct the message\");let o=t.statement||void 0;const i=`URI: ${t.aud||t.uri}`,s=`Version: ${t.version}`,c=`Chain ID: ${lr(e)}`,a=`Nonce: ${t.nonce}`,u=`Issued At: ${t.iat}`,l=t.exp?`Expiration Time: ${t.exp}`:void 0,f=t.nbf?`Not Before: ${t.nbf}`:void 0,h=t.requestId?`Request ID: ${t.requestId}`:void 0,y=t.resources?`Resources:${t.resources.map(p=>`\n- ${p}`).join(\"\")}`:void 0,E=pe(t.resources);if(E){const p=yt(E);o=Ke(o,p)}return[n,r,\"\",o,\"\",i,s,c,a,u,l,f,h,y].filter(p=>p!=null).join(`\n`)};function ss(t,e,n){return n.includes(\"did:pkh:\")||(n=`did:pkh:${n}`),{h:{t:\"caip122\"},p:{iss:n,domain:t.domain,aud:t.aud,version:t.version,nonce:t.nonce,iat:t.iat,statement:t.statement,requestId:t.requestId,resources:t.resources,nbf:t.nbf,exp:t.exp},s:e}}function cs(t){var e;const{authPayload:n,chains:r,methods:o}=t,i=n.statement||\"\";if(!(r!=null&&r.length))return n;const s=n.chains,c=Le(s,r);if(!(c!=null&&c.length))throw new Error(\"No supported chains\");const a=pr(n.resources);if(!a)return n;at(a);const u=gr(a,\"eip155\");let l=n?.resources||[];if(u!=null&&u.length){const f=yr(u),h=Le(f,o);if(!(h!=null&&h.length))throw new Error(`Supported methods don't satisfy the requested: ${JSON.stringify(f)}, supported: ${JSON.stringify(o)}`);const y=He(\"request\",h,{chains:c}),E=Er(a,\"eip155\",y);l=((e=n?.resources)==null?void 0:e.slice(0,-1))||[],l.push(he(E))}return fr(Me({},n),{statement:xr(i,pe(l)),chains:c,resources:n!=null&&n.resources||l.length>0?l:void 0})}function pr(t){const e=pe(t);if(e&&qe(e))return yt(e)}function as(t,e){var n;return(n=t?.att)==null?void 0:n.hasOwnProperty(e)}function gr(t,e){var n,r;return(n=t?.att)!=null&&n[e]?Object.keys((r=t?.att)==null?void 0:r[e]):[]}function us(t){return t?.map(e=>Object.keys(e))||[]}function yr(t){return t?.map(e=>{var n;return(n=e.split(\"/\"))==null?void 0:n[1]})||[]}function mr(t){return Buffer.from(JSON.stringify(t)).toString(\"base64\")}function wr(t){return JSON.parse(Buffer.from(t,\"base64\").toString(\"utf-8\"))}function at(t){if(!t)throw new Error(\"No recap provided, value is undefined\");if(!t.att)throw new Error(\"No `att` property found\");const e=Object.keys(t.att);if(!(e!=null&&e.length))throw new Error(\"No resources found in `att` property\");e.forEach(n=>{const r=t.att[n];if(Array.isArray(r))throw new Error(`Resource must be an object: ${n}`);if(typeof r!=\"object\")throw new Error(`Resource must be an object: ${n}`);if(!Object.keys(r).length)throw new Error(`Resource object is empty: ${n}`);Object.keys(r).forEach(o=>{const i=r[o];if(!Array.isArray(i))throw new Error(`Ability limits ${o} must be an array of objects, found: ${i}`);if(!i.length)throw new Error(`Value of ${o} is empty array, must be an array with objects`);i.forEach(s=>{if(typeof s!=\"object\")throw new Error(`Ability limits (${o}) must be an array of objects, found: ${s}`)})})})}function br(t,e,n,r={}){return n?.sort((o,i)=>o.localeCompare(i)),{att:{[t]:He(e,n,r)}}}function Er(t,e,n){var r;t.att[e]=Me({},n);const o=(r=Object.keys(t.att))==null?void 0:r.sort((s,c)=>s.localeCompare(c)),i={att:{}};return o.reduce((s,c)=>(s.att[c]=t.att[c],s),i)}function He(t,e,n={}){e=e?.sort((o,i)=>o.localeCompare(i));const r=e.map(o=>({[`${t}/${o}`]:[n]}));return Object.assign({},...r)}function he(t){return at(t),`urn:recap:${mr(t).replace(/=/g,\"\")}`}function yt(t){const e=wr(t.replace(\"urn:recap:\",\"\"));return at(e),e}function fs(t,e,n){const r=br(t,e,n);return he(r)}function qe(t){return t&&t.includes(\"urn:recap:\")}function ls(t,e){const n=yt(t),r=yt(e),o=vr(n,r);return he(o)}function vr(t,e){at(t),at(e);const n=Object.keys(t.att).concat(Object.keys(e.att)).sort((o,i)=>o.localeCompare(i)),r={att:{}};return n.forEach(o=>{var i,s;Object.keys(((i=t.att)==null?void 0:i[o])||{}).concat(Object.keys(((s=e.att)==null?void 0:s[o])||{})).sort((c,a)=>c.localeCompare(a)).forEach(c=>{var a,u;r.att[o]=fr(Me({},r.att[o]),{[c]:((a=t.att[o])==null?void 0:a[c])||((u=e.att[o])==null?void 0:u[c])})})}),r}function Ke(t=\"\",e){at(e);const n=\"I further authorize the stated URI to perform the following actions on my behalf: \";if(t.includes(n))return t;const r=[];let o=0;Object.keys(e.att).forEach(c=>{const a=Object.keys(e.att[c]).map(f=>({ability:f.split(\"/\")[0],action:f.split(\"/\")[1]}));a.sort((f,h)=>f.action.localeCompare(h.action));const u={};a.forEach(f=>{u[f.ability]||(u[f.ability]=[]),u[f.ability].push(f.action)});const l=Object.keys(u).map(f=>(o++,`(${o}) '${f}': '${u[f].join(\"', '\")}' for '${c}'.`));r.push(l.join(\", \").replace(\".,\",\".\"))});const i=r.join(\" \"),s=`${n}${i}`;return`${t?t+\" \":\"\"}${s}`}function ds(t){var e;const n=yt(t);at(n);const r=(e=n.att)==null?void 0:e.eip155;return r?Object.keys(r).map(o=>o.split(\"/\")[1]):[]}function hs(t){const e=yt(t);at(e);const n=[];return Object.values(e.att).forEach(r=>{Object.values(r).forEach(o=>{var i;(i=o?.[0])!=null&&i.chains&&n.push(o[0].chains)})}),[...new Set(n.flat())]}function xr(t,e){if(!e)return t;const n=yt(e);return at(n),Ke(t,n)}function pe(t){if(!t)return;const e=t?.[t.length-1];return qe(e)?e:void 0}function Fe(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(\"positive integer expected, got \"+t)}function Sr(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function tt(t,...e){if(!Sr(t))throw new Error(\"Uint8Array expected\");if(e.length>0&&!e.includes(t.length))throw new Error(\"Uint8Array expected of length \"+e+\", got length=\"+t.length)}function Or(t,e=!0){if(t.destroyed)throw new Error(\"Hash instance has been destroyed\");if(e&&t.finished)throw new Error(\"Hash#digest() has already been called\")}function ps(t,e){tt(t);const n=e.outputLen;if(t.length<n)throw new Error(\"digestInto() expects output buffer of length at least \"+n)}function Ar(t){if(typeof t!=\"boolean\")throw new Error(`boolean expected, not ${t}`)}const mt=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),gs=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),ys=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ys)throw new Error(\"Non little-endian hardware is not supported\");function ms(t){if(typeof t!=\"string\")throw new Error(\"string expected\");return new Uint8Array(new TextEncoder().encode(t))}function ze(t){if(typeof t==\"string\")t=ms(t);else if(Sr(t))t=Ze(t);else throw new Error(\"Uint8Array expected, got \"+typeof t);return t}function ws(t,e){if(e==null||typeof e!=\"object\")throw new Error(\"options must be defined\");return Object.assign(t,e)}function bs(t,e){if(t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}const Es=(t,e)=>{function n(r,...o){if(tt(r),t.nonceLength!==void 0){const l=o[0];if(!l)throw new Error(\"nonce / iv required\");t.varSizeNonce?tt(l):tt(l,t.nonceLength)}const i=t.tagLength;i&&o[1]!==void 0&&tt(o[1]);const s=e(r,...o),c=(l,f)=>{if(f!==void 0){if(l!==2)throw new Error(\"cipher output not supported\");tt(f)}};let a=!1;return{encrypt(l,f){if(a)throw new Error(\"cannot encrypt() twice with same key + nonce\");return a=!0,tt(l),c(s.encrypt.length,f),s.encrypt(l,f)},decrypt(l,f){if(tt(l),i&&l.length<i)throw new Error(\"invalid ciphertext length: smaller than tagLength=\"+i);return c(s.decrypt.length,f),s.decrypt(l,f)}}}return Object.assign(n,t),n};function Br(t,e,n=!0){if(e===void 0)return new Uint8Array(t);if(e.length!==t)throw new Error(\"invalid output length, expected \"+t+\", got: \"+e.length);if(n&&!vs(e))throw new Error(\"invalid output, must be aligned\");return e}function Ir(t,e,n,r){if(typeof t.setBigUint64==\"function\")return t.setBigUint64(e,n,r);const o=BigInt(32),i=BigInt(4294967295),s=Number(n>>o&i),c=Number(n&i),a=r?4:0,u=r?0:4;t.setUint32(e+a,s,r),t.setUint32(e+u,c,r)}function vs(t){return t.byteOffset%4===0}function Ze(t){return Uint8Array.from(t)}function jt(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}const Nr=t=>Uint8Array.from(t.split(\"\").map(e=>e.charCodeAt(0))),xs=Nr(\"expand 16-byte k\"),Ss=Nr(\"expand 32-byte k\"),Os=mt(xs),As=mt(Ss);function V(t,e){return t<<e|t>>>32-e}function Ye(t){return t.byteOffset%4===0}const ge=64,Bs=16,Ur=2**32-1,Tr=new Uint32Array;function Is(t,e,n,r,o,i,s,c){const a=o.length,u=new Uint8Array(ge),l=mt(u),f=Ye(o)&&Ye(i),h=f?mt(o):Tr,y=f?mt(i):Tr;for(let E=0;E<a;s++){if(t(e,n,r,l,s,c),s>=Ur)throw new Error(\"arx: counter overflow\");const p=Math.min(ge,a-E);if(f&&p===ge){const d=E/4;if(E%4!==0)throw new Error(\"arx: invalid block position\");for(let v=0,m;v<Bs;v++)m=d+v,y[m]=h[m]^l[v];E+=ge;continue}for(let d=0,v;d<p;d++)v=E+d,i[v]=o[v]^u[d];E+=p}}function Ns(t,e){const{allowShortKeys:n,extendNonceFn:r,counterLength:o,counterRight:i,rounds:s}=ws({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!=\"function\")throw new Error(\"core must be a function\");return Fe(o),Fe(s),Ar(i),Ar(n),(c,a,u,l,f=0)=>{tt(c),tt(a),tt(u);const h=u.length;if(l===void 0&&(l=new Uint8Array(h)),tt(l),Fe(f),f<0||f>=Ur)throw new Error(\"arx: counter overflow\");if(l.length<h)throw new Error(`arx: output (${l.length}) is shorter than data (${h})`);const y=[];let E=c.length,p,d;if(E===32)y.push(p=Ze(c)),d=As;else if(E===16&&n)p=new Uint8Array(32),p.set(c),p.set(c,16),d=Os,y.push(p);else throw new Error(`arx: invalid 32-byte key, got length=${E}`);Ye(a)||y.push(a=Ze(a));const v=mt(p);if(r){if(a.length!==24)throw new Error(\"arx: extended nonce must be 24 bytes\");r(d,v,mt(a.subarray(0,16)),v),a=a.subarray(16)}const m=16-o;if(m!==a.length)throw new Error(`arx: nonce must be ${m} or 16 bytes`);if(m!==12){const N=new Uint8Array(12);N.set(a,i?0:12-a.length),a=N,y.push(a)}const O=mt(a);return Is(t,d,v,O,u,l,f,s),jt(...y),l}}const F=(t,e)=>t[e++]&255|(t[e++]&255)<<8;class Us{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=ze(e),tt(e,32);const n=F(e,0),r=F(e,2),o=F(e,4),i=F(e,6),s=F(e,8),c=F(e,10),a=F(e,12),u=F(e,14);this.r[0]=n&8191,this.r[1]=(n>>>13|r<<3)&8191,this.r[2]=(r>>>10|o<<6)&7939,this.r[3]=(o>>>7|i<<9)&8191,this.r[4]=(i>>>4|s<<12)&255,this.r[5]=s>>>1&8190,this.r[6]=(s>>>14|c<<2)&8191,this.r[7]=(c>>>11|a<<5)&8065,this.r[8]=(a>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let l=0;l<8;l++)this.pad[l]=F(e,16+2*l)}process(e,n,r=!1){const o=r?0:2048,{h:i,r:s}=this,c=s[0],a=s[1],u=s[2],l=s[3],f=s[4],h=s[5],y=s[6],E=s[7],p=s[8],d=s[9],v=F(e,n+0),m=F(e,n+2),O=F(e,n+4),N=F(e,n+6),$=F(e,n+8),B=F(e,n+10),A=F(e,n+12),T=F(e,n+14);let S=i[0]+(v&8191),L=i[1]+((v>>>13|m<<3)&8191),U=i[2]+((m>>>10|O<<6)&8191),_=i[3]+((O>>>7|N<<9)&8191),j=i[4]+((N>>>4|$<<12)&8191),g=i[5]+($>>>1&8191),w=i[6]+(($>>>14|B<<2)&8191),b=i[7]+((B>>>11|A<<5)&8191),I=i[8]+((A>>>8|T<<8)&8191),R=i[9]+(T>>>5|o),x=0,C=x+S*c+L*(5*d)+U*(5*p)+_*(5*E)+j*(5*y);x=C>>>13,C&=8191,C+=g*(5*h)+w*(5*f)+b*(5*l)+I*(5*u)+R*(5*a),x+=C>>>13,C&=8191;let P=x+S*a+L*c+U*(5*d)+_*(5*p)+j*(5*E);x=P>>>13,P&=8191,P+=g*(5*y)+w*(5*h)+b*(5*f)+I*(5*l)+R*(5*u),x+=P>>>13,P&=8191;let k=x+S*u+L*a+U*c+_*(5*d)+j*(5*p);x=k>>>13,k&=8191,k+=g*(5*E)+w*(5*y)+b*(5*h)+I*(5*f)+R*(5*l),x+=k>>>13,k&=8191;let M=x+S*l+L*u+U*a+_*c+j*(5*d);x=M>>>13,M&=8191,M+=g*(5*p)+w*(5*E)+b*(5*y)+I*(5*h)+R*(5*f),x+=M>>>13,M&=8191;let D=x+S*f+L*l+U*u+_*a+j*c;x=D>>>13,D&=8191,D+=g*(5*d)+w*(5*p)+b*(5*E)+I*(5*y)+R*(5*h),x+=D>>>13,D&=8191;let z=x+S*h+L*f+U*l+_*u+j*a;x=z>>>13,z&=8191,z+=g*c+w*(5*d)+b*(5*p)+I*(5*E)+R*(5*y),x+=z>>>13,z&=8191;let Z=x+S*y+L*h+U*f+_*l+j*u;x=Z>>>13,Z&=8191,Z+=g*a+w*c+b*(5*d)+I*(5*p)+R*(5*E),x+=Z>>>13,Z&=8191;let st=x+S*E+L*y+U*h+_*f+j*l;x=st>>>13,st&=8191,st+=g*u+w*a+b*c+I*(5*d)+R*(5*p),x+=st>>>13,st&=8191;let W=x+S*p+L*E+U*y+_*h+j*f;x=W>>>13,W&=8191,W+=g*l+w*u+b*a+I*c+R*(5*d),x+=W>>>13,W&=8191;let J=x+S*d+L*p+U*E+_*y+j*h;x=J>>>13,J&=8191,J+=g*f+w*l+b*u+I*a+R*c,x+=J>>>13,J&=8191,x=(x<<2)+x|0,x=x+C|0,C=x&8191,x=x>>>13,P+=x,i[0]=C,i[1]=P,i[2]=k,i[3]=M,i[4]=D,i[5]=z,i[6]=Z,i[7]=st,i[8]=W,i[9]=J}finalize(){const{h:e,pad:n}=this,r=new Uint16Array(10);let o=e[1]>>>13;e[1]&=8191;for(let c=2;c<10;c++)e[c]+=o,o=e[c]>>>13,e[c]&=8191;e[0]+=o*5,o=e[0]>>>13,e[0]&=8191,e[1]+=o,o=e[1]>>>13,e[1]&=8191,e[2]+=o,r[0]=e[0]+5,o=r[0]>>>13,r[0]&=8191;for(let c=1;c<10;c++)r[c]=e[c]+o,o=r[c]>>>13,r[c]&=8191;r[9]-=8192;let i=(o^1)-1;for(let c=0;c<10;c++)r[c]&=i;i=~i;for(let c=0;c<10;c++)e[c]=e[c]&i|r[c];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let s=e[0]+n[0];e[0]=s&65535;for(let c=1;c<8;c++)s=(e[c]+n[c]|0)+(s>>>16)|0,e[c]=s&65535;jt(r)}update(e){Or(this);const{buffer:n,blockLen:r}=this;e=ze(e);const o=e.length;for(let i=0;i<o;){const s=Math.min(r-this.pos,o-i);if(s===r){for(;r<=o-i;i+=r)this.process(e,i);continue}n.set(e.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===r&&(this.process(n,0,!1),this.pos=0)}return this}destroy(){jt(this.h,this.r,this.buffer,this.pad)}digestInto(e){Or(this),ps(e,this),this.finished=!0;const{buffer:n,h:r}=this;let{pos:o}=this;if(o){for(n[o++]=1;o<16;o++)n[o]=0;this.process(n,0,!0)}this.finalize();let i=0;for(let s=0;s<8;s++)e[i++]=r[s]>>>0,e[i++]=r[s]>>>8;return e}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}}function Ts(t){const e=(r,o)=>t(o).update(ze(r)).digest(),n=t(new Uint8Array(32));return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=r=>t(r),e}const Rs=Ts(t=>new Us(t));function _s(t,e,n,r,o,i=20){let s=t[0],c=t[1],a=t[2],u=t[3],l=e[0],f=e[1],h=e[2],y=e[3],E=e[4],p=e[5],d=e[6],v=e[7],m=o,O=n[0],N=n[1],$=n[2],B=s,A=c,T=a,S=u,L=l,U=f,_=h,j=y,g=E,w=p,b=d,I=v,R=m,x=O,C=N,P=$;for(let M=0;M<i;M+=2)B=B+L|0,R=V(R^B,16),g=g+R|0,L=V(L^g,12),B=B+L|0,R=V(R^B,8),g=g+R|0,L=V(L^g,7),A=A+U|0,x=V(x^A,16),w=w+x|0,U=V(U^w,12),A=A+U|0,x=V(x^A,8),w=w+x|0,U=V(U^w,7),T=T+_|0,C=V(C^T,16),b=b+C|0,_=V(_^b,12),T=T+_|0,C=V(C^T,8),b=b+C|0,_=V(_^b,7),S=S+j|0,P=V(P^S,16),I=I+P|0,j=V(j^I,12),S=S+j|0,P=V(P^S,8),I=I+P|0,j=V(j^I,7),B=B+U|0,P=V(P^B,16),b=b+P|0,U=V(U^b,12),B=B+U|0,P=V(P^B,8),b=b+P|0,U=V(U^b,7),A=A+_|0,R=V(R^A,16),I=I+R|0,_=V(_^I,12),A=A+_|0,R=V(R^A,8),I=I+R|0,_=V(_^I,7),T=T+j|0,x=V(x^T,16),g=g+x|0,j=V(j^g,12),T=T+j|0,x=V(x^T,8),g=g+x|0,j=V(j^g,7),S=S+L|0,C=V(C^S,16),w=w+C|0,L=V(L^w,12),S=S+L|0,C=V(C^S,8),w=w+C|0,L=V(L^w,7);let k=0;r[k++]=s+B|0,r[k++]=c+A|0,r[k++]=a+T|0,r[k++]=u+S|0,r[k++]=l+L|0,r[k++]=f+U|0,r[k++]=h+_|0,r[k++]=y+j|0,r[k++]=E+g|0,r[k++]=p+w|0,r[k++]=d+b|0,r[k++]=v+I|0,r[k++]=m+R|0,r[k++]=O+x|0,r[k++]=N+C|0,r[k++]=$+P|0}const $s=Ns(_s,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Ls=new Uint8Array(16),Rr=(t,e)=>{t.update(e);const n=e.length%16;n&&t.update(Ls.subarray(n))},js=new Uint8Array(32);function _r(t,e,n,r,o){const i=t(e,n,js),s=Rs.create(i);o&&Rr(s,o),Rr(s,r);const c=new Uint8Array(16),a=gs(c);Ir(a,0,BigInt(o?o.length:0),!0),Ir(a,8,BigInt(r.length),!0),s.update(c);const u=s.digest();return jt(i,c),u}const Cs=t=>(e,n,r)=>({encrypt(i,s){const c=i.length;s=Br(c+16,s,!1),s.set(i);const a=s.subarray(0,-16);t(e,n,a,a,1);const u=_r(t,e,n,a,r);return s.set(u,c),jt(u),s},decrypt(i,s){s=Br(i.length-16,s,!1);const c=i.subarray(0,-16),a=i.subarray(-16),u=_r(t,e,n,c,r);if(!bs(a,u))throw new Error(\"invalid tag\");return s.set(i.subarray(0,-16)),t(e,n,s,s,1),jt(u),s}}),$r=Es({blockSize:64,nonceLength:12,tagLength:16},Cs($s));class Lr extends ke{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,Ce(e);const r=$t(n);if(this.iHash=e.create(),typeof this.iHash.update!=\"function\")throw new Error(\"Expected instance of class which extends utils.Hash\");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const o=this.blockLen,i=new Uint8Array(o);i.set(r.length>o?e.create().update(r).digest():r);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=e.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),i.fill(0)}update(e){return Rt(this),this.iHash.update(e),this}digestInto(e){Rt(this),Xt(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:o,destroyed:i,blockLen:s,outputLen:c}=this;return e=e,e.finished=o,e.destroyed=i,e.blockLen=s,e.outputLen=c,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const ye=(t,e,n)=>new Lr(t,e).update(n).digest();ye.create=(t,e)=>new Lr(t,e);function Ps(t,e,n){return Ce(t),n===void 0&&(n=new Uint8Array(t.outputLen)),ye(t,$t(n),$t(e))}const Ge=new Uint8Array([0]),jr=new Uint8Array;function ks(t,e,n,r=32){if(Ce(t),Wt(r),r>255*t.outputLen)throw new Error(\"Length should be <= 255*HashLen\");const o=Math.ceil(r/t.outputLen);n===void 0&&(n=jr);const i=new Uint8Array(o*t.outputLen),s=ye.create(t,e),c=s._cloneInto(),a=new Uint8Array(s.outputLen);for(let u=0;u<o;u++)Ge[0]=u+1,c.update(u===0?jr:a).update(n).update(Ge).digestInto(a),i.set(a,t.outputLen*u),s._cloneInto(c);return s.destroy(),c.destroy(),a.fill(0),Ge.fill(0),i.slice(0,r)}const Vs=(t,e,n,r,o)=>ks(t,Ps(t,e,n),r,o);function Ms(t,e,n,r){if(typeof t.setBigUint64==\"function\")return t.setBigUint64(e,n,r);const o=BigInt(32),i=BigInt(4294967295),s=Number(n>>o&i),c=Number(n&i),a=r?4:0,u=r?0:4;t.setUint32(e+a,s,r),t.setUint32(e+u,c,r)}function Ds(t,e,n){return t&e^~t&n}function Hs(t,e,n){return t&e^t&n^e&n}class qs extends ke{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Pe(this.buffer)}update(e){Rt(this);const{view:n,buffer:r,blockLen:o}=this;e=$t(e);const i=e.length;for(let s=0;s<i;){const c=Math.min(o-this.pos,i-s);if(c===o){const a=Pe(e);for(;o<=i-s;s+=o)this.process(a,s);continue}r.set(e.subarray(s,s+c),this.pos),this.pos+=c,s+=c,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Rt(this),Gn(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:i}=this;let{pos:s}=this;n[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(r,0),s=0);for(let f=s;f<o;f++)n[f]=0;Ms(r,o-8,BigInt(this.length*8),i),this.process(r,0);const c=Pe(e),a=this.outputLen;if(a%4)throw new Error(\"_sha2: outputLen should be aligned to 32bit\");const u=a/4,l=this.get();if(u>l.length)throw new Error(\"_sha2: outputLen bigger than state\");for(let f=0;f<u;f++)c.setUint32(4*f,l[f],i)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:i,destroyed:s,pos:c}=this;return e.length=o,e.pos=c,e.finished=i,e.destroyed=s,o%n&&e.buffer.set(r),e}}const Ks=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),wt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),bt=new Uint32Array(64);class Fs extends qs{constructor(){super(64,32,8,!1),this.A=wt[0]|0,this.B=wt[1]|0,this.C=wt[2]|0,this.D=wt[3]|0,this.E=wt[4]|0,this.F=wt[5]|0,this.G=wt[6]|0,this.H=wt[7]|0}get(){const{A:e,B:n,C:r,D:o,E:i,F:s,G:c,H:a}=this;return[e,n,r,o,i,s,c,a]}set(e,n,r,o,i,s,c,a){this.A=e|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=c|0,this.H=a|0}process(e,n){for(let f=0;f<16;f++,n+=4)bt[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){const h=bt[f-15],y=bt[f-2],E=ct(h,7)^ct(h,18)^h>>>3,p=ct(y,17)^ct(y,19)^y>>>10;bt[f]=p+bt[f-7]+E+bt[f-16]|0}let{A:r,B:o,C:i,D:s,E:c,F:a,G:u,H:l}=this;for(let f=0;f<64;f++){const h=ct(c,6)^ct(c,11)^ct(c,25),y=l+h+Ds(c,a,u)+Ks[f]+bt[f]|0,p=(ct(r,2)^ct(r,13)^ct(r,22))+Hs(r,o,i)|0;l=u,u=a,a=c,c=s+y|0,s=i,i=o,o=r,r=y+p|0}r=r+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,c=c+this.E|0,a=a+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,o,i,s,c,a,u,l)}roundClean(){bt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const Qt=Qn(()=>new Fs);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const me=BigInt(0),we=BigInt(1),zs=BigInt(2);function St(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function te(t){if(!St(t))throw new Error(\"Uint8Array expected\")}function Ct(t,e){if(typeof e!=\"boolean\")throw new Error(t+\" boolean expected, got \"+e)}const Zs=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,\"0\"));function Pt(t){te(t);let e=\"\";for(let n=0;n<t.length;n++)e+=Zs[t[n]];return e}function kt(t){const e=t.toString(16);return e.length&1?\"0\"+e:e}function We(t){if(typeof t!=\"string\")throw new Error(\"hex string expected, got \"+typeof t);return t===\"\"?me:BigInt(\"0x\"+t)}const ut={_0:48,_9:57,A:65,F:70,a:97,f:102};function Cr(t){if(t>=ut._0&&t<=ut._9)return t-ut._0;if(t>=ut.A&&t<=ut.F)return t-(ut.A-10);if(t>=ut.a&&t<=ut.f)return t-(ut.a-10)}function Vt(t){if(typeof t!=\"string\")throw new Error(\"hex string expected, got \"+typeof t);const e=t.length,n=e/2;if(e%2)throw new Error(\"hex string expected, got unpadded hex of length \"+e);const r=new Uint8Array(n);for(let o=0,i=0;o<n;o++,i+=2){const s=Cr(t.charCodeAt(i)),c=Cr(t.charCodeAt(i+1));if(s===void 0||c===void 0){const a=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character \"'+a+'\" at index '+i)}r[o]=s*16+c}return r}function Ot(t){return We(Pt(t))}function ee(t){return te(t),We(Pt(Uint8Array.from(t).reverse()))}function Mt(t,e){return Vt(t.toString(16).padStart(e*2,\"0\"))}function be(t,e){return Mt(t,e).reverse()}function Ys(t){return Vt(kt(t))}function et(t,e,n){let r;if(typeof e==\"string\")try{r=Vt(e)}catch(i){throw new Error(t+\" must be hex string or Uint8Array, cause: \"+i)}else if(St(e))r=Uint8Array.from(e);else throw new Error(t+\" must be hex string or Uint8Array\");const o=r.length;if(typeof n==\"number\"&&o!==n)throw new Error(t+\" of length \"+n+\" expected, got \"+o);return r}function ne(...t){let e=0;for(let r=0;r<t.length;r++){const o=t[r];te(o),e+=o.length}const n=new Uint8Array(e);for(let r=0,o=0;r<t.length;r++){const i=t[r];n.set(i,o),o+=i.length}return n}function Gs(t,e){if(t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}function Ws(t){if(typeof t!=\"string\")throw new Error(\"string expected\");return new Uint8Array(new TextEncoder().encode(t))}const Xe=t=>typeof t==\"bigint\"&&me<=t;function Ee(t,e,n){return Xe(t)&&Xe(e)&&Xe(n)&&e<=t&&t<n}function ft(t,e,n,r){if(!Ee(e,n,r))throw new Error(\"expected valid \"+t+\": \"+n+\" <= n < \"+r+\", got \"+e)}function Pr(t){let e;for(e=0;t>me;t>>=we,e+=1);return e}function Xs(t,e){return t>>BigInt(e)&we}function Js(t,e,n){return t|(n?we:me)<<BigInt(e)}const Je=t=>(zs<<BigInt(t-1))-we,Qe=t=>new Uint8Array(t),kr=t=>Uint8Array.from(t);function Vr(t,e,n){if(typeof t!=\"number\"||t<2)throw new Error(\"hashLen must be a number\");if(typeof e!=\"number\"||e<2)throw new Error(\"qByteLen must be a number\");if(typeof n!=\"function\")throw new Error(\"hmacFn must be a function\");let r=Qe(t),o=Qe(t),i=0;const s=()=>{r.fill(1),o.fill(0),i=0},c=(...f)=>n(o,r,...f),a=(f=Qe())=>{o=c(kr([0]),f),r=c(),f.length!==0&&(o=c(kr([1]),f),r=c())},u=()=>{if(i++>=1e3)throw new Error(\"drbg: tried 1000 values\");let f=0;const h=[];for(;f<e;){r=c();const y=r.slice();h.push(y),f+=r.length}return ne(...h)};return(f,h)=>{s(),a(f);let y;for(;!(y=h(u()));)a();return s(),y}}const Qs={bigint:t=>typeof t==\"bigint\",function:t=>typeof t==\"function\",boolean:t=>typeof t==\"boolean\",string:t=>typeof t==\"string\",stringOrUint8Array:t=>typeof t==\"string\"||St(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t==\"function\"&&Number.isSafeInteger(t.outputLen)};function Dt(t,e,n={}){const r=(o,i,s)=>{const c=Qs[i];if(typeof c!=\"function\")throw new Error(\"invalid validator function\");const a=t[o];if(!(s&&a===void 0)&&!c(a,t))throw new Error(\"param \"+String(o)+\" is invalid. Expected \"+i+\", got \"+a)};for(const[o,i]of Object.entries(e))r(o,i,!1);for(const[o,i]of Object.entries(n))r(o,i,!0);return t}const tc=()=>{throw new Error(\"not implemented\")};function tn(t){const e=new WeakMap;return(n,...r)=>{const o=e.get(n);if(o!==void 0)return o;const i=t(n,...r);return e.set(n,i),i}}var ec=Object.freeze({__proto__:null,isBytes:St,abytes:te,abool:Ct,bytesToHex:Pt,numberToHexUnpadded:kt,hexToNumber:We,hexToBytes:Vt,bytesToNumberBE:Ot,bytesToNumberLE:ee,numberToBytesBE:Mt,numberToBytesLE:be,numberToVarBytesBE:Ys,ensureBytes:et,concatBytes:ne,equalBytes:Gs,utf8ToBytes:Ws,inRange:Ee,aInRange:ft,bitLen:Pr,bitGet:Xs,bitSet:Js,bitMask:Je,createHmacDrbg:Vr,validateObject:Dt,notImplemented:tc,memoized:tn});const q=BigInt(0),H=BigInt(1),At=BigInt(2),nc=BigInt(3),en=BigInt(4),Mr=BigInt(5),Dr=BigInt(8);function X(t,e){const n=t%e;return n>=q?n:e+n}function Hr(t,e,n){if(e<q)throw new Error(\"invalid exponent, negatives unsupported\");if(n<=q)throw new Error(\"invalid modulus\");if(n===H)return q;let r=H;for(;e>q;)e&H&&(r=r*t%n),t=t*t%n,e>>=H;return r}function it(t,e,n){let r=t;for(;e-- >q;)r*=r,r%=n;return r}function nn(t,e){if(t===q)throw new Error(\"invert: expected non-zero number\");if(e<=q)throw new Error(\"invert: expected positive modulus, got \"+e);let n=X(t,e),r=e,o=q,i=H;for(;n!==q;){const c=r/n,a=r%n,u=o-i*c;r=n,n=a,o=i,i=u}if(r!==H)throw new Error(\"invert: does not exist\");return X(o,e)}function rc(t){const e=(t-H)/At;let n,r,o;for(n=t-H,r=0;n%At===q;n/=At,r++);for(o=At;o<t&&Hr(o,e,t)!==t-H;o++)if(o>1e3)throw new Error(\"Cannot find square root: likely non-prime P\");if(r===1){const s=(t+H)/en;return function(a,u){const l=a.pow(u,s);if(!a.eql(a.sqr(l),u))throw new Error(\"Cannot find square root\");return l}}const i=(n+H)/At;return function(c,a){if(c.pow(a,e)===c.neg(c.ONE))throw new Error(\"Cannot find square root\");let u=r,l=c.pow(c.mul(c.ONE,o),n),f=c.pow(a,i),h=c.pow(a,n);for(;!c.eql(h,c.ONE);){if(c.eql(h,c.ZERO))return c.ZERO;let y=1;for(let p=c.sqr(h);y<u&&!c.eql(p,c.ONE);y++)p=c.sqr(p);const E=c.pow(l,H<<BigInt(u-y-1));l=c.sqr(E),f=c.mul(f,E),h=c.mul(h,l),u=y}return f}}function oc(t){if(t%en===nc){const e=(t+H)/en;return function(r,o){const i=r.pow(o,e);if(!r.eql(r.sqr(i),o))throw new Error(\"Cannot find square root\");return i}}if(t%Dr===Mr){const e=(t-Mr)/Dr;return function(r,o){const i=r.mul(o,At),s=r.pow(i,e),c=r.mul(o,s),a=r.mul(r.mul(c,At),s),u=r.mul(c,r.sub(a,r.ONE));if(!r.eql(r.sqr(u),o))throw new Error(\"Cannot find square root\");return u}}return rc(t)}const ic=[\"create\",\"isValid\",\"is0\",\"neg\",\"inv\",\"sqrt\",\"sqr\",\"eql\",\"add\",\"sub\",\"mul\",\"pow\",\"div\",\"addN\",\"subN\",\"mulN\",\"sqrN\"];function sc(t){const e={ORDER:\"bigint\",MASK:\"bigint\",BYTES:\"isSafeInteger\",BITS:\"isSafeInteger\"},n=ic.reduce((r,o)=>(r[o]=\"function\",r),e);return Dt(t,n)}function cc(t,e,n){if(n<q)throw new Error(\"invalid exponent, negatives unsupported\");if(n===q)return t.ONE;if(n===H)return e;let r=t.ONE,o=e;for(;n>q;)n&H&&(r=t.mul(r,o)),o=t.sqr(o),n>>=H;return r}function ac(t,e){const n=new Array(e.length),r=e.reduce((i,s,c)=>t.is0(s)?i:(n[c]=i,t.mul(i,s)),t.ONE),o=t.inv(r);return e.reduceRight((i,s,c)=>t.is0(s)?i:(n[c]=t.mul(i,n[c]),t.mul(i,s)),o),n}function qr(t,e){const n=e!==void 0?e:t.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function Kr(t,e,n=!1,r={}){if(t<=q)throw new Error(\"invalid field: expected ORDER > 0, got \"+t);const{nBitLength:o,nByteLength:i}=qr(t,e);if(i>2048)throw new Error(\"invalid field: expected ORDER of <= 2048 bytes\");let s;const c=Object.freeze({ORDER:t,isLE:n,BITS:o,BYTES:i,MASK:Je(o),ZERO:q,ONE:H,create:a=>X(a,t),isValid:a=>{if(typeof a!=\"bigint\")throw new Error(\"invalid field element: expected bigint, got \"+typeof a);return q<=a&&a<t},is0:a=>a===q,isOdd:a=>(a&H)===H,neg:a=>X(-a,t),eql:(a,u)=>a===u,sqr:a=>X(a*a,t),add:(a,u)=>X(a+u,t),sub:(a,u)=>X(a-u,t),mul:(a,u)=>X(a*u,t),pow:(a,u)=>cc(c,a,u),div:(a,u)=>X(a*nn(u,t),t),sqrN:a=>a*a,addN:(a,u)=>a+u,subN:(a,u)=>a-u,mulN:(a,u)=>a*u,inv:a=>nn(a,t),sqrt:r.sqrt||(a=>(s||(s=oc(t)),s(c,a))),invertBatch:a=>ac(c,a),cmov:(a,u,l)=>l?u:a,toBytes:a=>n?be(a,i):Mt(a,i),fromBytes:a=>{if(a.length!==i)throw new Error(\"Field.fromBytes: expected \"+i+\" bytes, got \"+a.length);return n?ee(a):Ot(a)}});return Object.freeze(c)}function Fr(t){if(typeof t!=\"bigint\")throw new Error(\"field order must be bigint\");const e=t.toString(2).length;return Math.ceil(e/8)}function zr(t){const e=Fr(t);return e+Math.ceil(e/2)}function uc(t,e,n=!1){const r=t.length,o=Fr(e),i=zr(e);if(r<16||r<i||r>1024)throw new Error(\"expected \"+i+\"-1024 bytes of input, got \"+r);const s=n?ee(t):Ot(t),c=X(s,e-H)+H;return n?be(c,o):Mt(c,o)}const Zr=BigInt(0),ve=BigInt(1);function rn(t,e){const n=e.negate();return t?n:e}function Yr(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error(\"invalid window size, expected [1..\"+e+\"], got W=\"+t)}function on(t,e){Yr(t,e);const n=Math.ceil(e/t)+1,r=2**(t-1);return{windows:n,windowSize:r}}function fc(t,e){if(!Array.isArray(t))throw new Error(\"array expected\");t.forEach((n,r)=>{if(!(n instanceof e))throw new Error(\"invalid point at index \"+r)})}function lc(t,e){if(!Array.isArray(t))throw new Error(\"array of scalars expected\");t.forEach((n,r)=>{if(!e.isValid(n))throw new Error(\"invalid scalar at index \"+r)})}const sn=new WeakMap,Gr=new WeakMap;function cn(t){return Gr.get(t)||1}function dc(t,e){return{constTimeNegate:rn,hasPrecomputes(n){return cn(n)!==1},unsafeLadder(n,r,o=t.ZERO){let i=n;for(;r>Zr;)r&ve&&(o=o.add(i)),i=i.double(),r>>=ve;return o},precomputeWindow(n,r){const{windows:o,windowSize:i}=on(r,e),s=[];let c=n,a=c;for(let u=0;u<o;u++){a=c,s.push(a);for(let l=1;l<i;l++)a=a.add(c),s.push(a);c=a.double()}return s},wNAF(n,r,o){const{windows:i,windowSize:s}=on(n,e);let c=t.ZERO,a=t.BASE;const u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<i;h++){const y=h*s;let E=Number(o&u);o>>=f,E>s&&(E-=l,o+=ve);const p=y,d=y+Math.abs(E)-1,v=h%2!==0,m=E<0;E===0?a=a.add(rn(v,r[p])):c=c.add(rn(m,r[d]))}return{p:c,f:a}},wNAFUnsafe(n,r,o,i=t.ZERO){const{windows:s,windowSize:c}=on(n,e),a=BigInt(2**n-1),u=2**n,l=BigInt(n);for(let f=0;f<s;f++){const h=f*c;if(o===Zr)break;let y=Number(o&a);if(o>>=l,y>c&&(y-=u,o+=ve),y===0)continue;let E=r[h+Math.abs(y)-1];y<0&&(E=E.negate()),i=i.add(E)}return i},getPrecomputes(n,r,o){let i=sn.get(r);return i||(i=this.precomputeWindow(r,n),n!==1&&sn.set(r,o(i))),i},wNAFCached(n,r,o){const i=cn(n);return this.wNAF(i,this.getPrecomputes(i,n,o),r)},wNAFCachedUnsafe(n,r,o,i){const s=cn(n);return s===1?this.unsafeLadder(n,r,i):this.wNAFUnsafe(s,this.getPrecomputes(s,n,o),r,i)},setWindowSize(n,r){Yr(r,e),Gr.set(n,r),sn.delete(n)}}}function hc(t,e,n,r){if(fc(n,t),lc(r,e),n.length!==r.length)throw new Error(\"arrays of points and scalars must have equal length\");const o=t.ZERO,i=Pr(BigInt(n.length)),s=i>12?i-3:i>4?i-2:i?2:1,c=(1<<s)-1,a=new Array(c+1).fill(o),u=Math.floor((e.BITS-1)/s)*s;let l=o;for(let f=u;f>=0;f-=s){a.fill(o);for(let y=0;y<r.length;y++){const E=r[y],p=Number(E>>BigInt(f)&BigInt(c));a[p]=a[p].add(n[y])}let h=o;for(let y=a.length-1,E=o;y>0;y--)E=E.add(a[y]),h=h.add(E);if(l=l.add(h),f!==0)for(let y=0;y<s;y++)l=l.double()}return l}function Wr(t){return sc(t.Fp),Dt(t,{n:\"bigint\",h:\"bigint\",Gx:\"field\",Gy:\"field\"},{nBitLength:\"isSafeInteger\",nByteLength:\"isSafeInteger\"}),Object.freeze({...qr(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}BigInt(0),BigInt(1),BigInt(2),BigInt(8);const Ht=BigInt(0),an=BigInt(1);function pc(t){return Dt(t,{a:\"bigint\"},{montgomeryBits:\"isSafeInteger\",nByteLength:\"isSafeInteger\",adjustScalarBytes:\"function\",domain:\"function\",powPminus2:\"function\",Gu:\"bigint\"}),Object.freeze({...t})}function gc(t){const e=pc(t),{P:n}=e,r=m=>X(m,n),o=e.montgomeryBits,i=Math.ceil(o/8),s=e.nByteLength,c=e.adjustScalarBytes||(m=>m),a=e.powPminus2||(m=>Hr(m,n-BigInt(2),n));function u(m,O,N){const $=r(m*(O-N));return O=r(O-$),N=r(N+$),[O,N]}const l=(e.a-BigInt(2))/BigInt(4);function f(m,O){ft(\"u\",m,Ht,n),ft(\"scalar\",O,Ht,n);const N=O,$=m;let B=an,A=Ht,T=m,S=an,L=Ht,U;for(let j=BigInt(o-1);j>=Ht;j--){const g=N>>j&an;L^=g,U=u(L,B,T),B=U[0],T=U[1],U=u(L,A,S),A=U[0],S=U[1],L=g;const w=B+A,b=r(w*w),I=B-A,R=r(I*I),x=b-R,C=T+S,P=T-S,k=r(P*w),M=r(C*I),D=k+M,z=k-M;T=r(D*D),S=r($*r(z*z)),B=r(b*R),A=r(x*(b+r(l*x)))}U=u(L,B,T),B=U[0],T=U[1],U=u(L,A,S),A=U[0],S=U[1];const _=a(A);return r(B*_)}function h(m){return be(r(m),i)}function y(m){const O=et(\"u coordinate\",m,i);return s===32&&(O[31]&=127),ee(O)}function E(m){const O=et(\"scalar\",m),N=O.length;if(N!==i&&N!==s){let $=\"\"+i+\" or \"+s;throw new Error(\"invalid scalar, expected \"+$+\" bytes, got \"+N)}return ee(c(O))}function p(m,O){const N=y(O),$=E(m),B=f(N,$);if(B===Ht)throw new Error(\"invalid private or public key received\");return h(B)}const d=h(e.Gu);function v(m){return p(m,d)}return{scalarMult:p,scalarMultBase:v,getSharedSecret:(m,O)=>p(m,O),getPublicKey:m=>v(m),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:d}}const un=BigInt(\"57896044618658097711785492504343953926634992332820282019728792003956564819949\");BigInt(0);const yc=BigInt(1),Xr=BigInt(2),mc=BigInt(3),wc=BigInt(5);BigInt(8);function bc(t){const e=BigInt(10),n=BigInt(20),r=BigInt(40),o=BigInt(80),i=un,c=t*t%i*t%i,a=it(c,Xr,i)*c%i,u=it(a,yc,i)*t%i,l=it(u,wc,i)*u%i,f=it(l,e,i)*l%i,h=it(f,n,i)*f%i,y=it(h,r,i)*h%i,E=it(y,o,i)*y%i,p=it(E,o,i)*y%i,d=it(p,e,i)*l%i;return{pow_p_5_8:it(d,Xr,i)*t%i,b2:c}}function Ec(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}const fn=gc({P:un,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:t=>{const e=un,{pow_p_5_8:n,b2:r}=bc(t);return X(it(n,mc,e)*r,e)},adjustScalarBytes:Ec,randomBytes:Lt});function Jr(t){t.lowS!==void 0&&Ct(\"lowS\",t.lowS),t.prehash!==void 0&&Ct(\"prehash\",t.prehash)}function vc(t){const e=Wr(t);Dt(e,{a:\"field\",b:\"field\"},{allowedPrivateKeyLengths:\"array\",wrapPrivateKey:\"boolean\",isTorsionFree:\"function\",clearCofactor:\"function\",allowInfinityPoint:\"boolean\",fromBytes:\"function\",toBytes:\"function\"});const{endo:n,Fp:r,a:o}=e;if(n){if(!r.eql(o,r.ZERO))throw new Error(\"invalid endomorphism, can only be defined for Koblitz curves that have a=0\");if(typeof n!=\"object\"||typeof n.beta!=\"bigint\"||typeof n.splitScalar!=\"function\")throw new Error(\"invalid endomorphism, expected beta: bigint and splitScalar: function\")}return Object.freeze({...e})}const{bytesToNumberBE:xc,hexToBytes:Sc}=ec;class Oc extends Error{constructor(e=\"\"){super(e)}}const lt={Err:Oc,_tlv:{encode:(t,e)=>{const{Err:n}=lt;if(t<0||t>256)throw new n(\"tlv.encode: wrong tag\");if(e.length&1)throw new n(\"tlv.encode: unpadded data\");const r=e.length/2,o=kt(r);if(o.length/2&128)throw new n(\"tlv.encode: long form length too big\");const i=r>127?kt(o.length/2|128):\"\";return kt(t)+i+o+e},decode(t,e){const{Err:n}=lt;let r=0;if(t<0||t>256)throw new n(\"tlv.encode: wrong tag\");if(e.length<2||e[r++]!==t)throw new n(\"tlv.decode: wrong tlv\");const o=e[r++],i=!!(o&128);let s=0;if(!i)s=o;else{const a=o&127;if(!a)throw new n(\"tlv.decode(long): indefinite length not supported\");if(a>4)throw new n(\"tlv.decode(long): byte length is too big\");const u=e.subarray(r,r+a);if(u.length!==a)throw new n(\"tlv.decode: length bytes not complete\");if(u[0]===0)throw new n(\"tlv.decode(long): zero leftmost byte\");for(const l of u)s=s<<8|l;if(r+=a,s<128)throw new n(\"tlv.decode(long): not minimal encoding\")}const c=e.subarray(r,r+s);if(c.length!==s)throw new n(\"tlv.decode: wrong value length\");return{v:c,l:e.subarray(r+s)}}},_int:{encode(t){const{Err:e}=lt;if(t<dt)throw new e(\"integer: negative integers are not allowed\");let n=kt(t);if(Number.parseInt(n[0],16)&8&&(n=\"00\"+n),n.length&1)throw new e(\"unexpected DER parsing assertion: unpadded hex\");return n},decode(t){const{Err:e}=lt;if(t[0]&128)throw new e(\"invalid signature integer: negative\");if(t[0]===0&&!(t[1]&128))throw new e(\"invalid signature integer: unnecessary leading zero\");return xc(t)}},toSig(t){const{Err:e,_int:n,_tlv:r}=lt,o=typeof t==\"string\"?Sc(t):t;te(o);const{v:i,l:s}=r.decode(48,o);if(s.length)throw new e(\"invalid signature: left bytes after parsing\");const{v:c,l:a}=r.decode(2,i),{v:u,l}=r.decode(2,a);if(l.length)throw new e(\"invalid signature: left bytes after parsing\");return{r:n.decode(c),s:n.decode(u)}},hexFromSig(t){const{_tlv:e,_int:n}=lt,r=e.encode(2,n.encode(t.r)),o=e.encode(2,n.encode(t.s)),i=r+o;return e.encode(48,i)}},dt=BigInt(0),K=BigInt(1);BigInt(2);const Qr=BigInt(3);BigInt(4);function Ac(t){const e=vc(t),{Fp:n}=e,r=Kr(e.n,e.nBitLength),o=e.toBytes||((p,d,v)=>{const m=d.toAffine();return ne(Uint8Array.from([4]),n.toBytes(m.x),n.toBytes(m.y))}),i=e.fromBytes||(p=>{const d=p.subarray(1),v=n.fromBytes(d.subarray(0,n.BYTES)),m=n.fromBytes(d.subarray(n.BYTES,2*n.BYTES));return{x:v,y:m}});function s(p){const{a:d,b:v}=e,m=n.sqr(p),O=n.mul(m,p);return n.add(n.add(O,n.mul(p,d)),v)}if(!n.eql(n.sqr(e.Gy),s(e.Gx)))throw new Error(\"bad generator point: equation left != right\");function c(p){return Ee(p,K,e.n)}function a(p){const{allowedPrivateKeyLengths:d,nByteLength:v,wrapPrivateKey:m,n:O}=e;if(d&&typeof p!=\"bigint\"){if(St(p)&&(p=Pt(p)),typeof p!=\"string\"||!d.includes(p.length))throw new Error(\"invalid private key\");p=p.padStart(v*2,\"0\")}let N;try{N=typeof p==\"bigint\"?p:Ot(et(\"private key\",p,v))}catch{throw new Error(\"invalid private key, expected hex or \"+v+\" bytes, got \"+typeof p)}return m&&(N=X(N,O)),ft(\"private key\",N,K,O),N}function u(p){if(!(p instanceof h))throw new Error(\"ProjectivePoint expected\")}const l=tn((p,d)=>{const{px:v,py:m,pz:O}=p;if(n.eql(O,n.ONE))return{x:v,y:m};const N=p.is0();d==null&&(d=N?n.ONE:n.inv(O));const $=n.mul(v,d),B=n.mul(m,d),A=n.mul(O,d);if(N)return{x:n.ZERO,y:n.ZERO};if(!n.eql(A,n.ONE))throw new Error(\"invZ was invalid\");return{x:$,y:B}}),f=tn(p=>{if(p.is0()){if(e.allowInfinityPoint&&!n.is0(p.py))return;throw new Error(\"bad point: ZERO\")}const{x:d,y:v}=p.toAffine();if(!n.isValid(d)||!n.isValid(v))throw new Error(\"bad point: x or y not FE\");const m=n.sqr(v),O=s(d);if(!n.eql(m,O))throw new Error(\"bad point: equation left != right\");if(!p.isTorsionFree())throw new Error(\"bad point: not in prime-order subgroup\");return!0});class h{constructor(d,v,m){if(this.px=d,this.py=v,this.pz=m,d==null||!n.isValid(d))throw new Error(\"x required\");if(v==null||!n.isValid(v))throw new Error(\"y required\");if(m==null||!n.isValid(m))throw new Error(\"z required\");Object.freeze(this)}static fromAffine(d){const{x:v,y:m}=d||{};if(!d||!n.isValid(v)||!n.isValid(m))throw new Error(\"invalid affine point\");if(d instanceof h)throw new Error(\"projective point not allowed\");const O=N=>n.eql(N,n.ZERO);return O(v)&&O(m)?h.ZERO:new h(v,m,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){const v=n.invertBatch(d.map(m=>m.pz));return d.map((m,O)=>m.toAffine(v[O])).map(h.fromAffine)}static fromHex(d){const v=h.fromAffine(i(et(\"pointHex\",d)));return v.assertValidity(),v}static fromPrivateKey(d){return h.BASE.multiply(a(d))}static msm(d,v){return hc(h,r,d,v)}_setWindowSize(d){E.setWindowSize(this,d)}assertValidity(){f(this)}hasEvenY(){const{y:d}=this.toAffine();if(n.isOdd)return!n.isOdd(d);throw new Error(\"Field doesn't support isOdd\")}equals(d){u(d);const{px:v,py:m,pz:O}=this,{px:N,py:$,pz:B}=d,A=n.eql(n.mul(v,B),n.mul(N,O)),T=n.eql(n.mul(m,B),n.mul($,O));return A&&T}negate(){return new h(this.px,n.neg(this.py),this.pz)}double(){const{a:d,b:v}=e,m=n.mul(v,Qr),{px:O,py:N,pz:$}=this;let B=n.ZERO,A=n.ZERO,T=n.ZERO,S=n.mul(O,O),L=n.mul(N,N),U=n.mul($,$),_=n.mul(O,N);return _=n.add(_,_),T=n.mul(O,$),T=n.add(T,T),B=n.mul(d,T),A=n.mul(m,U),A=n.add(B,A),B=n.sub(L,A),A=n.add(L,A),A=n.mul(B,A),B=n.mul(_,B),T=n.mul(m,T),U=n.mul(d,U),_=n.sub(S,U),_=n.mul(d,_),_=n.add(_,T),T=n.add(S,S),S=n.add(T,S),S=n.add(S,U),S=n.mul(S,_),A=n.add(A,S),U=n.mul(N,$),U=n.add(U,U),S=n.mul(U,_),B=n.sub(B,S),T=n.mul(U,L),T=n.add(T,T),T=n.add(T,T),new h(B,A,T)}add(d){u(d);const{px:v,py:m,pz:O}=this,{px:N,py:$,pz:B}=d;let A=n.ZERO,T=n.ZERO,S=n.ZERO;const L=e.a,U=n.mul(e.b,Qr);let _=n.mul(v,N),j=n.mul(m,$),g=n.mul(O,B),w=n.add(v,m),b=n.add(N,$);w=n.mul(w,b),b=n.add(_,j),w=n.sub(w,b),b=n.add(v,O);let I=n.add(N,B);return b=n.mul(b,I),I=n.add(_,g),b=n.sub(b,I),I=n.add(m,O),A=n.add($,B),I=n.mul(I,A),A=n.add(j,g),I=n.sub(I,A),S=n.mul(L,b),A=n.mul(U,g),S=n.add(A,S),A=n.sub(j,S),S=n.add(j,S),T=n.mul(A,S),j=n.add(_,_),j=n.add(j,_),g=n.mul(L,g),b=n.mul(U,b),j=n.add(j,g),g=n.sub(_,g),g=n.mul(L,g),b=n.add(b,g),_=n.mul(j,b),T=n.add(T,_),_=n.mul(I,b),A=n.mul(w,A),A=n.sub(A,_),_=n.mul(w,j),S=n.mul(I,S),S=n.add(S,_),new h(A,T,S)}subtract(d){return this.add(d.negate())}is0(){return this.equals(h.ZERO)}wNAF(d){return E.wNAFCached(this,d,h.normalizeZ)}multiplyUnsafe(d){const{endo:v,n:m}=e;ft(\"scalar\",d,dt,m);const O=h.ZERO;if(d===dt)return O;if(this.is0()||d===K)return this;if(!v||E.hasPrecomputes(this))return E.wNAFCachedUnsafe(this,d,h.normalizeZ);let{k1neg:N,k1:$,k2neg:B,k2:A}=v.splitScalar(d),T=O,S=O,L=this;for(;$>dt||A>dt;)$&K&&(T=T.add(L)),A&K&&(S=S.add(L)),L=L.double(),$>>=K,A>>=K;return N&&(T=T.negate()),B&&(S=S.negate()),S=new h(n.mul(S.px,v.beta),S.py,S.pz),T.add(S)}multiply(d){const{endo:v,n:m}=e;ft(\"scalar\",d,K,m);let O,N;if(v){const{k1neg:$,k1:B,k2neg:A,k2:T}=v.splitScalar(d);let{p:S,f:L}=this.wNAF(B),{p:U,f:_}=this.wNAF(T);S=E.constTimeNegate($,S),U=E.constTimeNegate(A,U),U=new h(n.mul(U.px,v.beta),U.py,U.pz),O=S.add(U),N=L.add(_)}else{const{p:$,f:B}=this.wNAF(d);O=$,N=B}return h.normalizeZ([O,N])[0]}multiplyAndAddUnsafe(d,v,m){const O=h.BASE,N=(B,A)=>A===dt||A===K||!B.equals(O)?B.multiplyUnsafe(A):B.multiply(A),$=N(this,v).add(N(d,m));return $.is0()?void 0:$}toAffine(d){return l(this,d)}isTorsionFree(){const{h:d,isTorsionFree:v}=e;if(d===K)return!0;if(v)return v(h,this);throw new Error(\"isTorsionFree() has not been declared for the elliptic curve\")}clearCofactor(){const{h:d,clearCofactor:v}=e;return d===K?this:v?v(h,this):this.multiplyUnsafe(e.h)}toRawBytes(d=!0){return Ct(\"isCompressed\",d),this.assertValidity(),o(h,this,d)}toHex(d=!0){return Ct(\"isCompressed\",d),Pt(this.toRawBytes(d))}}h.BASE=new h(e.Gx,e.Gy,n.ONE),h.ZERO=new h(n.ZERO,n.ONE,n.ZERO);const y=e.nBitLength,E=dc(h,e.endo?Math.ceil(y/2):y);return{CURVE:e,ProjectivePoint:h,normPrivateKeyToScalar:a,weierstrassEquation:s,isWithinCurveOrder:c}}function Bc(t){const e=Wr(t);return Dt(e,{hash:\"hash\",hmac:\"function\",randomBytes:\"function\"},{bits2int:\"function\",bits2int_modN:\"function\",lowS:\"boolean\"}),Object.freeze({lowS:!0,...e})}function Ic(t){const e=Bc(t),{Fp:n,n:r}=e,o=n.BYTES+1,i=2*n.BYTES+1;function s(g){return X(g,r)}function c(g){return nn(g,r)}const{ProjectivePoint:a,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:f}=Ac({...e,toBytes(g,w,b){const I=w.toAffine(),R=n.toBytes(I.x),x=ne;return Ct(\"isCompressed\",b),b?x(Uint8Array.from([w.hasEvenY()?2:3]),R):x(Uint8Array.from([4]),R,n.toBytes(I.y))},fromBytes(g){const w=g.length,b=g[0],I=g.subarray(1);if(w===o&&(b===2||b===3)){const R=Ot(I);if(!Ee(R,K,n.ORDER))throw new Error(\"Point is not on curve\");const x=l(R);let C;try{C=n.sqrt(x)}catch(M){const D=M instanceof Error?\": \"+M.message:\"\";throw new Error(\"Point is not on curve\"+D)}const P=(C&K)===K;return(b&1)===1!==P&&(C=n.neg(C)),{x:R,y:C}}else if(w===i&&b===4){const R=n.fromBytes(I.subarray(0,n.BYTES)),x=n.fromBytes(I.subarray(n.BYTES,2*n.BYTES));return{x:R,y:x}}else{const R=o,x=i;throw new Error(\"invalid Point, expected length of \"+R+\", or uncompressed \"+x+\", got \"+w)}}}),h=g=>Pt(Mt(g,e.nByteLength));function y(g){const w=r>>K;return g>w}function E(g){return y(g)?s(-g):g}const p=(g,w,b)=>Ot(g.slice(w,b));class d{constructor(w,b,I){this.r=w,this.s=b,this.recovery=I,this.assertValidity()}static fromCompact(w){const b=e.nByteLength;return w=et(\"compactSignature\",w,b*2),new d(p(w,0,b),p(w,b,2*b))}static fromDER(w){const{r:b,s:I}=lt.toSig(et(\"DER\",w));return new d(b,I)}assertValidity(){ft(\"r\",this.r,K,r),ft(\"s\",this.s,K,r)}addRecoveryBit(w){return new d(this.r,this.s,w)}recoverPublicKey(w){const{r:b,s:I,recovery:R}=this,x=B(et(\"msgHash\",w));if(R==null||![0,1,2,3].includes(R))throw new Error(\"recovery id invalid\");const C=R===2||R===3?b+e.n:b;if(C>=n.ORDER)throw new Error(\"recovery id 2 or 3 invalid\");const P=(R&1)===0?\"02\":\"03\",k=a.fromHex(P+h(C)),M=c(C),D=s(-x*M),z=s(I*M),Z=a.BASE.multiplyAndAddUnsafe(k,D,z);if(!Z)throw new Error(\"point at infinify\");return Z.assertValidity(),Z}hasHighS(){return y(this.s)}normalizeS(){return this.hasHighS()?new d(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return Vt(this.toDERHex())}toDERHex(){return lt.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Vt(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}const v={isValidPrivateKey(g){try{return u(g),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const g=zr(e.n);return uc(e.randomBytes(g),e.n)},precompute(g=8,w=a.BASE){return w._setWindowSize(g),w.multiply(BigInt(3)),w}};function m(g,w=!0){return a.fromPrivateKey(g).toRawBytes(w)}function O(g){const w=St(g),b=typeof g==\"string\",I=(w||b)&&g.length;return w?I===o||I===i:b?I===2*o||I===2*i:g instanceof a}function N(g,w,b=!0){if(O(g))throw new Error(\"first arg must be private key\");if(!O(w))throw new Error(\"second arg must be public key\");return a.fromHex(w).multiply(u(g)).toRawBytes(b)}const $=e.bits2int||function(g){if(g.length>8192)throw new Error(\"input is too large\");const w=Ot(g),b=g.length*8-e.nBitLength;return b>0?w>>BigInt(b):w},B=e.bits2int_modN||function(g){return s($(g))},A=Je(e.nBitLength);function T(g){return ft(\"num < 2^\"+e.nBitLength,g,dt,A),Mt(g,e.nByteLength)}function S(g,w,b=L){if([\"recovered\",\"canonical\"].some(W=>W in b))throw new Error(\"sign() legacy options not supported\");const{hash:I,randomBytes:R}=e;let{lowS:x,prehash:C,extraEntropy:P}=b;x==null&&(x=!0),g=et(\"msgHash\",g),Jr(b),C&&(g=et(\"prehashed msgHash\",I(g)));const k=B(g),M=u(w),D=[T(M),T(k)];if(P!=null&&P!==!1){const W=P===!0?R(n.BYTES):P;D.push(et(\"extraEntropy\",W))}const z=ne(...D),Z=k;function st(W){const J=$(W);if(!f(J))return;const Be=c(J),zt=a.BASE.multiply(J).toAffine(),vt=s(zt.x);if(vt===dt)return;const Zt=s(Be*s(Z+vt*M));if(Zt===dt)return;let Ut=(zt.x===vt?0:2)|Number(zt.y&K),vn=Zt;return x&&y(Zt)&&(vn=E(Zt),Ut^=1),new d(vt,vn,Ut)}return{seed:z,k2sig:st}}const L={lowS:e.lowS,prehash:!1},U={lowS:e.lowS,prehash:!1};function _(g,w,b=L){const{seed:I,k2sig:R}=S(g,w,b),x=e;return Vr(x.hash.outputLen,x.nByteLength,x.hmac)(I,R)}a.BASE._setWindowSize(8);function j(g,w,b,I=U){const R=g;w=et(\"msgHash\",w),b=et(\"publicKey\",b);const{lowS:x,prehash:C,format:P}=I;if(Jr(I),\"strict\"in I)throw new Error(\"options.strict was renamed to lowS\");if(P!==void 0&&P!==\"compact\"&&P!==\"der\")throw new Error(\"format must be compact or der\");const k=typeof R==\"string\"||St(R),M=!k&&!P&&typeof R==\"object\"&&R!==null&&typeof R.r==\"bigint\"&&typeof R.s==\"bigint\";if(!k&&!M)throw new Error(\"invalid signature, expected Uint8Array, hex string or Signature instance\");let D,z;try{if(M&&(D=new d(R.r,R.s)),k){try{P!==\"compact\"&&(D=d.fromDER(R))}catch(Ut){if(!(Ut instanceof lt.Err))throw Ut}!D&&P!==\"der\"&&(D=d.fromCompact(R))}z=a.fromHex(b)}catch{return!1}if(!D||x&&D.hasHighS())return!1;C&&(w=e.hash(w));const{r:Z,s:st}=D,W=B(w),J=c(st),Be=s(W*J),zt=s(Z*J),vt=a.BASE.multiplyAndAddUnsafe(z,Be,zt)?.toAffine();return vt?s(vt.x)===Z:!1}return{CURVE:e,getPublicKey:m,getSharedSecret:N,sign:_,verify:j,ProjectivePoint:a,Signature:d,utils:v}}function Nc(t){return{hash:t,hmac:(e,...n)=>ye(t,e,Vi(...n)),randomBytes:Lt}}function Uc(t,e){const n=r=>Ic({...t,...Nc(r)});return{...n(e),create:n}}const to=Kr(BigInt(\"0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff\")),Tc=to.create(BigInt(\"-3\")),Rc=BigInt(\"0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b\"),_c=Uc({a:Tc,b:Rc,Fp:to,n:BigInt(\"0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\"),Gx:BigInt(\"0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296\"),Gy:BigInt(\"0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5\"),h:BigInt(1),lowS:!1},Qt),ln=\"base10\",G=\"base16\",qt=\"base64pad\",xe=\"base64url\",Kt=\"utf8\",dn=0,Ft=1,re=2,$c=0,eo=1,oe=12,hn=32;function Lc(){const t=fn.utils.randomPrivateKey(),e=fn.getPublicKey(t);return{privateKey:Q(t,G),publicKey:Q(e,G)}}function jc(){const t=Lt(hn);return Q(t,G)}function Cc(t,e){const n=fn.getSharedSecret(rt(t,G),rt(e,G)),r=Vs(Qt,n,void 0,void 0,hn);return Q(r,G)}function Pc(t){const e=Qt(rt(t,G));return Q(e,G)}function kc(t){const e=Qt(rt(t,Kt));return Q(e,G)}function pn(t){return rt(`${t}`,ln)}function Bt(t){return Number(Q(t,ln))}function no(t){return t.replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=/g,\"\")}function ro(t){const e=t.replace(/-/g,\"+\").replace(/_/g,\"/\"),n=(4-e.length%4)%4;return e+\"=\".repeat(n)}function Vc(t){const e=pn(typeof t.type<\"u\"?t.type:dn);if(Bt(e)===Ft&&typeof t.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");const n=typeof t.senderPublicKey<\"u\"?rt(t.senderPublicKey,G):void 0,r=typeof t.iv<\"u\"?rt(t.iv,G):Lt(oe),o=rt(t.symKey,G),i=$r(o,r).encrypt(rt(t.message,Kt)),s=gn({type:e,sealed:i,iv:r,senderPublicKey:n});return t.encoding===xe?no(s):s}function Mc(t){const e=rt(t.symKey,G),{sealed:n,iv:r}=Se({encoded:t.encoded,encoding:t.encoding}),o=$r(e,r).decrypt(n);if(o===null)throw new Error(\"Failed to decrypt\");return Q(o,Kt)}function Dc(t,e){const n=pn(re),r=Lt(oe),o=rt(t,Kt),i=gn({type:n,sealed:o,iv:r});return e===xe?no(i):i}function Hc(t,e){const{sealed:n}=Se({encoded:t,encoding:e});return Q(n,Kt)}function gn(t){if(Bt(t.type)===re)return Q(Gt([t.type,t.sealed]),qt);if(Bt(t.type)===Ft){if(typeof t.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");return Q(Gt([t.type,t.senderPublicKey,t.iv,t.sealed]),qt)}return Q(Gt([t.type,t.iv,t.sealed]),qt)}function Se(t){const e=(t.encoding||qt)===xe?ro(t.encoded):t.encoded,n=rt(e,qt),r=n.slice($c,eo),o=eo;if(Bt(r)===Ft){const a=o+hn,u=a+oe,l=n.slice(o,a),f=n.slice(a,u),h=n.slice(u);return{type:r,sealed:h,iv:f,senderPublicKey:l}}if(Bt(r)===re){const a=n.slice(o),u=Lt(oe);return{type:r,sealed:a,iv:u}}const i=o+oe,s=n.slice(o,i),c=n.slice(i);return{type:r,sealed:c,iv:s}}function qc(t,e){const n=Se({encoded:t,encoding:e?.encoding});return oo({type:Bt(n.type),senderPublicKey:typeof n.senderPublicKey<\"u\"?Q(n.senderPublicKey,G):void 0,receiverPublicKey:e?.receiverPublicKey})}function oo(t){const e=t?.type||dn;if(e===Ft){if(typeof t?.senderPublicKey>\"u\")throw new Error(\"missing sender public key\");if(typeof t?.receiverPublicKey>\"u\")throw new Error(\"missing receiver public key\")}return{type:e,senderPublicKey:t?.senderPublicKey,receiverPublicKey:t?.receiverPublicKey}}function Kc(t){return t.type===Ft&&typeof t.senderPublicKey==\"string\"&&typeof t.receiverPublicKey==\"string\"}function Fc(t){return t.type===re}function io(t){const e=Buffer.from(t.x,\"base64\"),n=Buffer.from(t.y,\"base64\");return Gt([new Uint8Array([4]),e,n])}function zc(t,e){const[n,r,o]=t.split(\".\"),i=Buffer.from(ro(o),\"base64\");if(i.length!==64)throw new Error(\"Invalid signature length\");const s=i.slice(0,32),c=i.slice(32,64),a=`${n}.${r}`,u=Qt(a),l=io(e);if(!_c.verify(Gt([s,c]),u,l))throw new Error(\"Invalid signature\");return Mo(t).payload}const so=\"irn\";function Zc(t){return t?.relay||{protocol:so}}function Yc(t){const e=Do[t];if(typeof e>\"u\")throw new Error(`Relay Protocol not supported: ${t}`);return e}function co(t,e=\"-\"){const n={},r=\"relay\"+e;return Object.keys(t).forEach(o=>{if(o.startsWith(r)){const i=o.replace(r,\"\"),s=t[o];n[i]=s}}),n}function Gc(t){if(!t.includes(\"wc:\")){const u=je(t);u!=null&&u.includes(\"wc:\")&&(t=u)}t=t.includes(\"wc://\")?t.replace(\"wc://\",\"\"):t,t=t.includes(\"wc:\")?t.replace(\"wc:\",\"\"):t;const e=t.indexOf(\":\"),n=t.indexOf(\"?\")!==-1?t.indexOf(\"?\"):void 0,r=t.substring(0,e),o=t.substring(e+1,n).split(\"@\"),i=typeof n<\"u\"?t.substring(n):\"\",s=new URLSearchParams(i),c={};s.forEach((u,l)=>{c[l]=u});const a=typeof c.methods==\"string\"?c.methods.split(\",\"):void 0;return{protocol:r,topic:ao(o[0]),version:parseInt(o[1],10),symKey:c.symKey,relay:co(c),methods:a,expiryTimestamp:c.expiryTimestamp?parseInt(c.expiryTimestamp,10):void 0}}function ao(t){return t.startsWith(\"//\")?t.substring(2):t}function uo(t,e=\"-\"){const n=\"relay\",r={};return Object.keys(t).forEach(o=>{const i=o,s=n+e+i;t[i]&&(r[s]=t[i])}),r}function Wc(t){const e=new URLSearchParams,n=uo(t.relay);Object.keys(n).sort().forEach(o=>{e.set(o,n[o])}),e.set(\"symKey\",t.symKey),t.expiryTimestamp&&e.set(\"expiryTimestamp\",t.expiryTimestamp.toString()),t.methods&&e.set(\"methods\",t.methods.join(\",\"));const r=e.toString();return`${t.protocol}:${t.topic}@${t.version}?${r}`}function Xc(t,e,n){return`${t}?wc_ev=${n}&topic=${e}`}var Jc=Object.defineProperty,Qc=Object.defineProperties,ta=Object.getOwnPropertyDescriptors,fo=Object.getOwnPropertySymbols,ea=Object.prototype.hasOwnProperty,na=Object.prototype.propertyIsEnumerable,lo=(t,e,n)=>e in t?Jc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ra=(t,e)=>{for(var n in e||(e={}))ea.call(e,n)&&lo(t,n,e[n]);if(fo)for(var n of fo(e))na.call(e,n)&&lo(t,n,e[n]);return t},oa=(t,e)=>Qc(t,ta(e));function It(t){const e=[];return t.forEach(n=>{const[r,o]=n.split(\":\");e.push(`${r}:${o}`)}),e}function ho(t){const e=[];return Object.values(t).forEach(n=>{e.push(...It(n.accounts))}),e}function po(t,e){const n=[];return Object.values(t).forEach(r=>{It(r.accounts).includes(e)&&n.push(...r.methods)}),n}function go(t,e){const n=[];return Object.values(t).forEach(r=>{It(r.accounts).includes(e)&&n.push(...r.events)}),n}function ia(t,e){const n=Bo(t,e);if(n)throw new Error(n.message);const r={};for(const[o,i]of Object.entries(t))r[o]={methods:i.methods,events:i.events,chains:i.accounts.map(s=>`${s.split(\":\")[0]}:${s.split(\":\")[1]}`)};return r}function sa(t){const{proposal:{requiredNamespaces:e,optionalNamespaces:n={}},supportedNamespaces:r}=t,o=ie(e),i=ie(n),s={};Object.keys(r).forEach(u=>{const l=r[u].chains,f=r[u].methods,h=r[u].events,y=r[u].accounts;l.forEach(E=>{if(!y.some(p=>p.includes(E)))throw new Error(`No accounts provided for chain ${E} in namespace ${u}`)}),s[u]={chains:l,methods:f,events:h,accounts:y}});const c=No(e,s,\"approve()\");if(c)throw new Error(c.message);const a={};return!Object.keys(e).length&&!Object.keys(n).length?s:(Object.keys(o).forEach(u=>{const l=r[u].chains.filter(E=>{var p,d;return(d=(p=o[u])==null?void 0:p.chains)==null?void 0:d.includes(E)}),f=r[u].methods.filter(E=>{var p,d;return(d=(p=o[u])==null?void 0:p.methods)==null?void 0:d.includes(E)}),h=r[u].events.filter(E=>{var p,d;return(d=(p=o[u])==null?void 0:p.events)==null?void 0:d.includes(E)}),y=l.map(E=>r[u].accounts.filter(p=>p.includes(`${E}:`))).flat();a[u]={chains:l,methods:f,events:h,accounts:y}}),Object.keys(i).forEach(u=>{var l,f,h,y,E,p;if(!r[u])return;const d=(f=(l=i[u])==null?void 0:l.chains)==null?void 0:f.filter(N=>r[u].chains.includes(N)),v=r[u].methods.filter(N=>{var $,B;return(B=($=i[u])==null?void 0:$.methods)==null?void 0:B.includes(N)}),m=r[u].events.filter(N=>{var $,B;return(B=($=i[u])==null?void 0:$.events)==null?void 0:B.includes(N)}),O=d?.map(N=>r[u].accounts.filter($=>$.includes(`${N}:`))).flat();a[u]={chains:ot((h=a[u])==null?void 0:h.chains,d),methods:ot((y=a[u])==null?void 0:y.methods,v),events:ot((E=a[u])==null?void 0:E.events,m),accounts:ot((p=a[u])==null?void 0:p.accounts,O)}}),a)}function yn(t){return t.includes(\":\")}function yo(t){return yn(t)?t.split(\":\")[0]:t}function ie(t){var e,n,r;const o={};if(!Oe(t))return o;for(const[i,s]of Object.entries(t)){const c=yn(i)?[i]:s.chains,a=s.methods||[],u=s.events||[],l=yo(i);o[l]=oa(ra({},o[l]),{chains:ot(c,(e=o[l])==null?void 0:e.chains),methods:ot(a,(n=o[l])==null?void 0:n.methods),events:ot(u,(r=o[l])==null?void 0:r.events)})}return o}function mo(t){const e={};return t?.forEach(n=>{var r;const[o,i]=n.split(\":\");e[o]||(e[o]={accounts:[],chains:[],events:[],methods:[]}),e[o].accounts.push(n),(r=e[o].chains)==null||r.push(`${o}:${i}`)}),e}function ca(t,e){e=e.map(r=>r.replace(\"did:pkh:\",\"\"));const n=mo(e);for(const[r,o]of Object.entries(n))o.methods?o.methods=ot(o.methods,t):o.methods=t,o.events=[\"chainChanged\",\"accountsChanged\"];return n}function aa(t,e){var n,r,o,i,s,c;const a=ie(t),u=ie(e),l={},f=Object.keys(a).concat(Object.keys(u));for(const h of f)l[h]={chains:ot((n=a[h])==null?void 0:n.chains,(r=u[h])==null?void 0:r.chains),methods:ot((o=a[h])==null?void 0:o.methods,(i=u[h])==null?void 0:i.methods),events:ot((s=a[h])==null?void 0:s.events,(c=u[h])==null?void 0:c.events)};return l}const wo={INVALID_METHOD:{message:\"Invalid method.\",code:1001},INVALID_EVENT:{message:\"Invalid event.\",code:1002},INVALID_UPDATE_REQUEST:{message:\"Invalid update request.\",code:1003},INVALID_EXTEND_REQUEST:{message:\"Invalid extend request.\",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:\"Invalid session settle request.\",code:1005},UNAUTHORIZED_METHOD:{message:\"Unauthorized method.\",code:3001},UNAUTHORIZED_EVENT:{message:\"Unauthorized event.\",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:\"Unauthorized update request.\",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:\"Unauthorized extend request.\",code:3004},USER_REJECTED:{message:\"User rejected.\",code:5e3},USER_REJECTED_CHAINS:{message:\"User rejected chains.\",code:5001},USER_REJECTED_METHODS:{message:\"User rejected methods.\",code:5002},USER_REJECTED_EVENTS:{message:\"User rejected events.\",code:5003},UNSUPPORTED_CHAINS:{message:\"Unsupported chains.\",code:5100},UNSUPPORTED_METHODS:{message:\"Unsupported methods.\",code:5101},UNSUPPORTED_EVENTS:{message:\"Unsupported events.\",code:5102},UNSUPPORTED_ACCOUNTS:{message:\"Unsupported accounts.\",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:\"Unsupported namespace key.\",code:5104},USER_DISCONNECTED:{message:\"User disconnected.\",code:6e3},SESSION_SETTLEMENT_FAILED:{message:\"Session settlement failed.\",code:7e3},WC_METHOD_UNSUPPORTED:{message:\"Unsupported wc_ method.\",code:10001}},bo={NOT_INITIALIZED:{message:\"Not initialized.\",code:1},NO_MATCHING_KEY:{message:\"No matching key.\",code:2},RESTORE_WILL_OVERRIDE:{message:\"Restore will override.\",code:3},RESUBSCRIBED:{message:\"Resubscribed.\",code:4},MISSING_OR_INVALID:{message:\"Missing or invalid.\",code:5},EXPIRED:{message:\"Expired.\",code:6},UNKNOWN_TYPE:{message:\"Unknown type.\",code:7},MISMATCHED_TOPIC:{message:\"Mismatched topic.\",code:8},NON_CONFORMING_NAMESPACES:{message:\"Non conforming namespaces.\",code:9}};function ht(t,e){const{message:n,code:r}=bo[t];return{message:e?`${n} ${e}`:n,code:r}}function Nt(t,e){const{message:n,code:r}=wo[t];return{message:e?`${n} ${e}`:n,code:r}}function se(t,e){return Array.isArray(t)?typeof e<\"u\"&&t.length?t.every(e):!0:!1}function Oe(t){return Object.getPrototypeOf(t)===Object.prototype&&Object.keys(t).length}function Et(t){return typeof t>\"u\"}function nt(t,e){return e&&Et(t)?!0:typeof t==\"string\"&&!!t.trim().length}function Ae(t,e){return e&&Et(t)?!0:typeof t==\"number\"&&!isNaN(t)}function ua(t,e){const{requiredNamespaces:n}=e,r=Object.keys(t.namespaces),o=Object.keys(n);let i=!0;return gt(o,r)?(r.forEach(s=>{const{accounts:c,methods:a,events:u}=t.namespaces[s],l=It(c),f=n[s];(!gt(ue(s,f),l)||!gt(f.methods,a)||!gt(f.events,u))&&(i=!1)}),i):!1}function ce(t){return nt(t,!1)&&t.includes(\":\")?t.split(\":\").length===2:!1}function Eo(t){if(nt(t,!1)&&t.includes(\":\")){const e=t.split(\":\");if(e.length===3){const n=e[0]+\":\"+e[1];return!!e[2]&&ce(n)}}return!1}function fa(t){function e(n){try{return typeof new URL(n)<\"u\"}catch{return!1}}try{if(nt(t,!1)){if(e(t))return!0;const n=je(t);return e(n)}}catch{}return!1}function la(t){var e;return(e=t?.proposer)==null?void 0:e.publicKey}function da(t){return t?.topic}function ha(t,e){let n=null;return nt(t?.publicKey,!1)||(n=ht(\"MISSING_OR_INVALID\",`${e} controller public key should be a string`)),n}function mn(t){let e=!0;return se(t)?t.length&&(e=t.every(n=>nt(n,!1))):e=!1,e}function vo(t,e,n){let r=null;return se(e)&&e.length?e.forEach(o=>{r||ce(o)||(r=Nt(\"UNSUPPORTED_CHAINS\",`${n}, chain ${o} should be a string and conform to \"namespace:chainId\" format`))}):ce(t)||(r=Nt(\"UNSUPPORTED_CHAINS\",`${n}, chains must be defined as \"namespace:chainId\" e.g. \"eip155:1\": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: [\"eip155:1\", \"eip155:5\"] }`)),r}function xo(t,e,n){let r=null;return Object.entries(t).forEach(([o,i])=>{if(r)return;const s=vo(o,ue(o,i),`${e} ${n}`);s&&(r=s)}),r}function So(t,e){let n=null;return se(t)?t.forEach(r=>{n||Eo(r)||(n=Nt(\"UNSUPPORTED_ACCOUNTS\",`${e}, account ${r} should be a string and conform to \"namespace:chainId:address\" format`))}):n=Nt(\"UNSUPPORTED_ACCOUNTS\",`${e}, accounts should be an array of strings conforming to \"namespace:chainId:address\" format`),n}function Oo(t,e){let n=null;return Object.values(t).forEach(r=>{if(n)return;const o=So(r?.accounts,`${e} namespace`);o&&(n=o)}),n}function Ao(t,e){let n=null;return mn(t?.methods)?mn(t?.events)||(n=Nt(\"UNSUPPORTED_EVENTS\",`${e}, events should be an array of strings or empty array for no events`)):n=Nt(\"UNSUPPORTED_METHODS\",`${e}, methods should be an array of strings or empty array for no methods`),n}function wn(t,e){let n=null;return Object.values(t).forEach(r=>{if(n)return;const o=Ao(r,`${e}, namespace`);o&&(n=o)}),n}function pa(t,e,n){let r=null;if(t&&Oe(t)){const o=wn(t,e);o&&(r=o);const i=xo(t,e,n);i&&(r=i)}else r=ht(\"MISSING_OR_INVALID\",`${e}, ${n} should be an object with data`);return r}function Bo(t,e){let n=null;if(t&&Oe(t)){const r=wn(t,e);r&&(n=r);const o=Oo(t,e);o&&(n=o)}else n=ht(\"MISSING_OR_INVALID\",`${e}, namespaces should be an object with data`);return n}function Io(t){return nt(t.protocol,!0)}function ga(t,e){let n=!1;return e&&!t?n=!0:t&&se(t)&&t.length&&t.forEach(r=>{n=Io(r)}),n}function ya(t){return typeof t==\"number\"}function ma(t){return typeof t<\"u\"&&typeof t!==null}function wa(t){return!(!t||typeof t!=\"object\"||!t.code||!Ae(t.code,!1)||!t.message||!nt(t.message,!1))}function ba(t){return!(Et(t)||!nt(t.method,!1))}function Ea(t){return!(Et(t)||Et(t.result)&&Et(t.error)||!Ae(t.id,!1)||!nt(t.jsonrpc,!1))}function va(t){return!(Et(t)||!nt(t.name,!1))}function xa(t,e){return!(!ce(e)||!ho(t).includes(e))}function Sa(t,e,n){return nt(n,!1)?po(t,e).includes(n):!1}function Oa(t,e,n){return nt(n,!1)?go(t,e).includes(n):!1}function No(t,e,n){let r=null;const o=Aa(t),i=Ba(e),s=Object.keys(o),c=Object.keys(i),a=Uo(Object.keys(t)),u=Uo(Object.keys(e)),l=a.filter(f=>!u.includes(f));return l.length&&(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces keys don't satisfy requiredNamespaces.\n Required: ${l.toString()}\n Received: ${Object.keys(e).toString()}`)),gt(s,c)||(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces chains don't satisfy required namespaces.\n Required: ${s.toString()}\n Approved: ${c.toString()}`)),Object.keys(e).forEach(f=>{if(!f.includes(\":\")||r)return;const h=It(e[f].accounts);h.includes(f)||(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces accounts don't satisfy namespace accounts for ${f}\n Required: ${f}\n Approved: ${h.toString()}`))}),s.forEach(f=>{r||(gt(o[f].methods,i[f].methods)?gt(o[f].events,i[f].events)||(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces events don't satisfy namespace events for ${f}`)):r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces methods don't satisfy namespace methods for ${f}`))}),r}function Aa(t){const e={};return Object.keys(t).forEach(n=>{var r;n.includes(\":\")?e[n]=t[n]:(r=t[n].chains)==null||r.forEach(o=>{e[o]={methods:t[n].methods,events:t[n].events}})}),e}function Uo(t){return[...new Set(t.map(e=>e.includes(\":\")?e.split(\":\")[0]:e))]}function Ba(t){const e={};return Object.keys(t).forEach(n=>{if(n.includes(\":\"))e[n]=t[n];else{const r=It(t[n].accounts);r?.forEach(o=>{e[o]={accounts:t[n].accounts.filter(i=>i.includes(`${o}:`)),methods:t[n].methods,events:t[n].events}})}}),e}function Ia(t,e){return Ae(t,!1)&&t<=e.max&&t>=e.min}function Na(){const t=xt();return new Promise(e=>{switch(t){case Y.browser:e(To());break;case Y.reactNative:e(Ro());break;case Y.node:e(_o());break;default:e(!0)}})}function To(){return Tt()&&navigator?.onLine}async function Ro(){if(pt()&&typeof global<\"u\"&&global!=null&&global.NetInfo){const t=await(global==null?void 0:global.NetInfo.fetch());return t?.isConnected}return!0}function _o(){return!0}function Ua(t){switch(xt()){case Y.browser:$o(t);break;case Y.reactNative:Lo(t);break;case Y.node:break}}function $o(t){!pt()&&Tt()&&(window.addEventListener(\"online\",()=>t(!0)),window.addEventListener(\"offline\",()=>t(!1)))}function Lo(t){pt()&&typeof global<\"u\"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(e=>t(e?.isConnected))}function Ta(){var t;return Tt()&&Yt()?((t=Yt())==null?void 0:t.visibilityState)===\"visible\":!0}const bn={};class Ra{static get(e){return bn[e]}static set(e,n){bn[e]=n}static delete(e){delete bn[e]}}export{ln as BASE10,G as BASE16,qt as BASE64,xe as BASE64URL,Qo as COLON,Re as DEFAULT_DEPTH,fe as EMPTY_SPACE,Y as ENV_MAP,bo as INTERNAL_ERRORS,Ra as MemoryStore,ti as ONE_THOUSAND,$n as REACT_NATIVE_PRODUCT,so as RELAYER_DEFAULT_PROTOCOL,wo as SDK_ERRORS,jn as SDK_TYPE,Ln as SLASH,dn as TYPE_0,Ft as TYPE_1,re as TYPE_2,Kt as UTF8,Er as addResourceToRecap,Cn as appendToQueryString,ai as assertType,He as assignAbilityToActions,wr as base64Decode,mr as base64Encode,sa as buildApprovedNamespaces,ss as buildAuthObject,ca as buildNamespacesFromAuth,xr as buildRecapStatement,Ei as calcExpiry,pi as capitalize,qn as capitalizeWord,gi as createDelayedPromise,fs as createEncodedRecap,yi as createExpiringPromise,br as createRecap,yt as decodeRecap,Bt as decodeTypeByte,Hc as decodeTypeTwoEnvelope,Mc as decrypt,Cc as deriveSymKey,Se as deserialize,he as encodeRecap,pn as encodeTypeByte,Dc as encodeTypeTwoEnvelope,Vc as encrypt,xi as engineEvent,hi as enumify,Ji as extractSolanaTransactionId,Bn as formatAccountId,Ho as formatAccountWithChain,An as formatChainId,Kn as formatDeeplinkUrl,$e as formatExpirerTarget,wi as formatIdTarget,hr as formatMessage,ui as formatMessageContext,uo as formatRelayParams,si as formatRelayRpcUrl,Ke as formatStatementFromRecap,mi as formatTopicTarget,Mn as formatUA,Wc as formatUri,je as fromBase64,Lc as generateKeyPair,jc as generateRandomBytes32,It as getAccountsChains,Ko as getAccountsFromNamespaces,In as getAddressFromAccount,qo as getAddressesFromAccounts,ri as getAppId,Pn as getAppMetadata,To as getBrowserOnlineStatus,Nn as getChainFromAccount,Un as getChainsFromAccounts,ue as getChainsFromNamespace,Fo as getChainsFromNamespaces,hs as getChainsFromRecap,zo as getChainsFromRequiredNamespaces,Le as getCommonValuesInArrays,io as getCryptoKeyFromKeyData,pr as getDecodedRecapFromResources,Oi as getDeepLink,De as getDidAddress,de as getDidAddressSegments,lr as getDidChainId,xt as getEnvironment,ci as getHttpUrl,ht as getInternalError,Vn as getJavascriptID,kn as getJavascriptOS,Hn as getLastItems,Xc as getLinkModeURL,ds as getMethodsFromRecap,dr as getNamespacedDidChainId,ho as getNamespacesChains,go as getNamespacesEventsForChainId,mo as getNamespacesFromAccounts,po as getNamespacesMethodsForChainId,_o as getNodeOnlineStatus,yr as getReCapActions,Ro as getReactNativeOnlineStatus,us as getRecapAbilitiesFromResource,pe as getRecapFromResources,gr as getRecapResource,ii as getRelayClientMetadata,Yc as getRelayProtocolApi,Zc as getRelayProtocolName,ia as getRequiredNamespacesFromNamespaces,Nt as getSdkError,Ai as getSearchParamFromURL,Te as getUniqueValues,Si as handleDeeplinkRedirect,gt as hasOverlap,Ve as hashEthereumMessage,Pc as hashKey,kc as hashMessage,ei as isAndroid,Ta as isAppVisible,Tt as isBrowser,yn as isCaipNamespace,No as isConformingNamespaces,vi as isExpired,Zn as isIframe,ni as isIos,_e as isNode,Na as isOnline,la as isProposalStruct,pt as isReactNative,qe as isRecap,ua as isSessionCompatible,da as isSessionStruct,zn as isTelegram,Ii as isTestRun,Kc as isTypeOneEnvelope,Fc as isTypeTwoEnvelope,Et as isUndefined,Eo as isValidAccountId,So as isValidAccounts,Ao as isValidActions,se as isValidArray,ce as isValidChainId,vo as isValidChains,ha as isValidController,cr as isValidEip1271Signature,sr as isValidEip191Signature,wa as isValidErrorReason,va as isValidEvent,ya as isValidId,Oo as isValidNamespaceAccounts,wn as isValidNamespaceActions,xo as isValidNamespaceChains,mn as isValidNamespaceMethodsOrEvents,Bo as isValidNamespaces,xa as isValidNamespacesChainId,Oa as isValidNamespacesEvent,Sa as isValidNamespacesRequest,Ae as isValidNumber,Oe as isValidObject,ma as isValidParams,at as isValidRecap,Io as isValidRelay,ga as isValidRelays,ba as isValidRequest,Ia as isValidRequestExpiry,pa as isValidRequiredNamespaces,Ea as isValidResponse,nt as isValidString,fa as isValidUrl,di as mapEntries,fi as mapToObj,ot as mergeArrays,ls as mergeEncodedRecaps,vr as mergeRecaps,aa as mergeRequiredAndOptionalNamespaces,ie as normalizeNamespaces,li as objToMap,Fn as openDeeplink,Ue as parseAccountId,Ne as parseChainId,Dn as parseContextNames,bi as parseExpirerTarget,yo as parseNamespaceKey,co as parseRelayParams,ao as parseTopic,Gc as parseUri,oi as populateAppMetadata,cs as populateAuthPayload,as as recapHasResource,gn as serialize,Ni as sleep,$o as subscribeToBrowserNetworkChange,Ua as subscribeToNetworkChange,Lo as subscribeToReactNativeNetworkChange,Yn as toBase64,Bi as uuidv4,qc as validateDecoding,oo as validateEncoding,is as validateSignedCacao,zc as verifyP256Jwt,ir as verifySignature};\n//# sourceMappingURL=index.es.js.map\n","export class IEvents {\n}\n//# sourceMappingURL=events.js.map","import{EventEmitter as a}from\"events\";import{FIVE_SECONDS as o,toMiliseconds as l}from\"@walletconnect/time\";import{IEvents as v}from\"@walletconnect/events\";class n extends v{constructor(e){super()}}const s=o,r={pulse:\"heartbeat_pulse\"};class i extends n{constructor(e){super(e),this.events=new a,this.interval=s,this.interval=e?.interval||s}static async init(e){const t=new i(e);return await t.init(),t}async init(){await this.initialize()}stop(){clearInterval(this.intervalRef)}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 initialize(){this.intervalRef=setInterval(()=>this.pulse(),l(this.interval))}pulse(){this.events.emit(r.pulse)}}export{r as HEARTBEAT_EVENTS,s as HEARTBEAT_INTERVAL,i as HeartBeat,n as IHeartBeat};\n//# sourceMappingURL=index.es.js.map\n","const suspectProtoRx = /\"(?:_|\\\\u0{2}5[Ff]){2}(?:p|\\\\u0{2}70)(?:r|\\\\u0{2}72)(?:o|\\\\u0{2}6[Ff])(?:t|\\\\u0{2}74)(?:o|\\\\u0{2}6[Ff])(?:_|\\\\u0{2}5[Ff]){2}\"\\s*:/;\nconst suspectConstructorRx = /\"(?:c|\\\\u0063)(?:o|\\\\u006[Ff])(?:n|\\\\u006[Ee])(?:s|\\\\u0073)(?:t|\\\\u0074)(?:r|\\\\u0072)(?:u|\\\\u0075)(?:c|\\\\u0063)(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:r|\\\\u0072)\"\\s*:/;\nconst JsonSigRx = /^\\s*[\"[{]|^\\s*-?\\d{1,16}(\\.\\d{1,17})?([Ee][+-]?\\d+)?\\s*$/;\nfunction jsonParseTransform(key, value) {\n if (key === \"__proto__\" || key === \"constructor\" && value && typeof value === \"object\" && \"prototype\" in value) {\n warnKeyDropped(key);\n return;\n }\n return value;\n}\nfunction warnKeyDropped(key) {\n console.warn(`[destr] Dropping \"${key}\" key to prevent prototype pollution.`);\n}\nfunction destr(value, options = {}) {\n if (typeof value !== \"string\") {\n return value;\n }\n if (value[0] === '\"' && value[value.length - 1] === '\"' && value.indexOf(\"\\\\\") === -1) {\n return value.slice(1, -1);\n }\n const _value = value.trim();\n if (_value.length <= 9) {\n switch (_value.toLowerCase()) {\n case \"true\": {\n return true;\n }\n case \"false\": {\n return false;\n }\n case \"undefined\": {\n return void 0;\n }\n case \"null\": {\n return null;\n }\n case \"nan\": {\n return Number.NaN;\n }\n case \"infinity\": {\n return Number.POSITIVE_INFINITY;\n }\n case \"-infinity\": {\n return Number.NEGATIVE_INFINITY;\n }\n }\n }\n if (!JsonSigRx.test(value)) {\n if (options.strict) {\n throw new SyntaxError(\"[destr] Invalid JSON\");\n }\n return value;\n }\n try {\n if (suspectProtoRx.test(value) || suspectConstructorRx.test(value)) {\n if (options.strict) {\n throw new Error(\"[destr] Possible prototype pollution\");\n }\n return JSON.parse(value, jsonParseTransform);\n }\n return JSON.parse(value);\n } catch (error) {\n if (options.strict) {\n throw error;\n }\n return value;\n }\n}\nfunction safeDestr(value, options = {}) {\n return destr(value, { ...options, strict: true });\n}\n\nexport { destr as default, destr, safeDestr };\n","function wrapToPromise(value) {\n if (!value || typeof value.then !== \"function\") {\n return Promise.resolve(value);\n }\n return value;\n}\nfunction asyncCall(function_, ...arguments_) {\n try {\n return wrapToPromise(function_(...arguments_));\n } catch (error) {\n return Promise.reject(error);\n }\n}\nfunction isPrimitive(value) {\n const type = typeof value;\n return value === null || type !== \"object\" && type !== \"function\";\n}\nfunction isPureObject(value) {\n const proto = Object.getPrototypeOf(value);\n return !proto || proto.isPrototypeOf(Object);\n}\nfunction stringify(value) {\n if (isPrimitive(value)) {\n return String(value);\n }\n if (isPureObject(value) || Array.isArray(value)) {\n return JSON.stringify(value);\n }\n if (typeof value.toJSON === \"function\") {\n return stringify(value.toJSON());\n }\n throw new Error(\"[unstorage] Cannot stringify value!\");\n}\nconst BASE64_PREFIX = \"base64:\";\nfunction serializeRaw(value) {\n if (typeof value === \"string\") {\n return value;\n }\n return BASE64_PREFIX + base64Encode(value);\n}\nfunction deserializeRaw(value) {\n if (typeof value !== \"string\") {\n return value;\n }\n if (!value.startsWith(BASE64_PREFIX)) {\n return value;\n }\n return base64Decode(value.slice(BASE64_PREFIX.length));\n}\nfunction base64Decode(input) {\n if (globalThis.Buffer) {\n return Buffer.from(input, \"base64\");\n }\n return Uint8Array.from(\n globalThis.atob(input),\n (c) => c.codePointAt(0)\n );\n}\nfunction base64Encode(input) {\n if (globalThis.Buffer) {\n return Buffer.from(input).toString(\"base64\");\n }\n return globalThis.btoa(String.fromCodePoint(...input));\n}\n\nconst storageKeyProperties = [\n \"has\",\n \"hasItem\",\n \"get\",\n \"getItem\",\n \"getItemRaw\",\n \"set\",\n \"setItem\",\n \"setItemRaw\",\n \"del\",\n \"remove\",\n \"removeItem\",\n \"getMeta\",\n \"setMeta\",\n \"removeMeta\",\n \"getKeys\",\n \"clear\",\n \"mount\",\n \"unmount\"\n];\nfunction prefixStorage(storage, base) {\n base = normalizeBaseKey(base);\n if (!base) {\n return storage;\n }\n const nsStorage = { ...storage };\n for (const property of storageKeyProperties) {\n nsStorage[property] = (key = \"\", ...args) => (\n // @ts-ignore\n storage[property](base + key, ...args)\n );\n }\n nsStorage.getKeys = (key = \"\", ...arguments_) => storage.getKeys(base + key, ...arguments_).then((keys) => keys.map((key2) => key2.slice(base.length)));\n nsStorage.getItems = async (items, commonOptions) => {\n const prefixedItems = items.map(\n (item) => typeof item === \"string\" ? base + item : { ...item, key: base + item.key }\n );\n const results = await storage.getItems(prefixedItems, commonOptions);\n return results.map((entry) => ({\n key: entry.key.slice(base.length),\n value: entry.value\n }));\n };\n nsStorage.setItems = async (items, commonOptions) => {\n const prefixedItems = items.map((item) => ({\n key: base + item.key,\n value: item.value,\n options: item.options\n }));\n return storage.setItems(prefixedItems, commonOptions);\n };\n return nsStorage;\n}\nfunction normalizeKey(key) {\n if (!key) {\n return \"\";\n }\n return key.split(\"?\")[0]?.replace(/[/\\\\]/g, \":\").replace(/:+/g, \":\").replace(/^:|:$/g, \"\") || \"\";\n}\nfunction joinKeys(...keys) {\n return normalizeKey(keys.join(\":\"));\n}\nfunction normalizeBaseKey(base) {\n base = normalizeKey(base);\n return base ? base + \":\" : \"\";\n}\nfunction filterKeyByDepth(key, depth) {\n if (depth === void 0) {\n return true;\n }\n let substrCount = 0;\n let index = key.indexOf(\":\");\n while (index > -1) {\n substrCount++;\n index = key.indexOf(\":\", index + 1);\n }\n return substrCount <= depth;\n}\nfunction filterKeyByBase(key, base) {\n if (base) {\n return key.startsWith(base) && key[key.length - 1] !== \"$\";\n }\n return key[key.length - 1] !== \"$\";\n}\n\nexport { normalizeKey as a, asyncCall as b, filterKeyByBase as c, stringify as d, deserializeRaw as e, filterKeyByDepth as f, joinKeys as j, normalizeBaseKey as n, prefixStorage as p, serializeRaw as s };\n","import destr from 'destr';\nimport { n as normalizeBaseKey, a as normalizeKey, b as asyncCall, f as filterKeyByDepth, c as filterKeyByBase, s as serializeRaw, d as stringify, e as deserializeRaw, j as joinKeys } from './shared/unstorage.CoCt7NXC.mjs';\nexport { p as prefixStorage } from './shared/unstorage.CoCt7NXC.mjs';\n\nfunction defineDriver(factory) {\n return factory;\n}\n\nconst DRIVER_NAME = \"memory\";\nconst memory = defineDriver(() => {\n const data = /* @__PURE__ */ new Map();\n return {\n name: DRIVER_NAME,\n getInstance: () => data,\n hasItem(key) {\n return data.has(key);\n },\n getItem(key) {\n return data.get(key) ?? null;\n },\n getItemRaw(key) {\n return data.get(key) ?? null;\n },\n setItem(key, value) {\n data.set(key, value);\n },\n setItemRaw(key, value) {\n data.set(key, value);\n },\n removeItem(key) {\n data.delete(key);\n },\n getKeys() {\n return [...data.keys()];\n },\n clear() {\n data.clear();\n },\n dispose() {\n data.clear();\n }\n };\n});\n\nfunction createStorage(options = {}) {\n const context = {\n mounts: { \"\": options.driver || memory() },\n mountpoints: [\"\"],\n watching: false,\n watchListeners: [],\n unwatch: {}\n };\n const getMount = (key) => {\n for (const base of context.mountpoints) {\n if (key.startsWith(base)) {\n return {\n base,\n relativeKey: key.slice(base.length),\n driver: context.mounts[base]\n };\n }\n }\n return {\n base: \"\",\n relativeKey: key,\n driver: context.mounts[\"\"]\n };\n };\n const getMounts = (base, includeParent) => {\n return context.mountpoints.filter(\n (mountpoint) => mountpoint.startsWith(base) || includeParent && base.startsWith(mountpoint)\n ).map((mountpoint) => ({\n relativeBase: base.length > mountpoint.length ? base.slice(mountpoint.length) : void 0,\n mountpoint,\n driver: context.mounts[mountpoint]\n }));\n };\n const onChange = (event, key) => {\n if (!context.watching) {\n return;\n }\n key = normalizeKey(key);\n for (const listener of context.watchListeners) {\n listener(event, key);\n }\n };\n const startWatch = async () => {\n if (context.watching) {\n return;\n }\n context.watching = true;\n for (const mountpoint in context.mounts) {\n context.unwatch[mountpoint] = await watch(\n context.mounts[mountpoint],\n onChange,\n mountpoint\n );\n }\n };\n const stopWatch = async () => {\n if (!context.watching) {\n return;\n }\n for (const mountpoint in context.unwatch) {\n await context.unwatch[mountpoint]();\n }\n context.unwatch = {};\n context.watching = false;\n };\n const runBatch = (items, commonOptions, cb) => {\n const batches = /* @__PURE__ */ new Map();\n const getBatch = (mount) => {\n let batch = batches.get(mount.base);\n if (!batch) {\n batch = {\n driver: mount.driver,\n base: mount.base,\n items: []\n };\n batches.set(mount.base, batch);\n }\n return batch;\n };\n for (const item of items) {\n const isStringItem = typeof item === \"string\";\n const key = normalizeKey(isStringItem ? item : item.key);\n const value = isStringItem ? void 0 : item.value;\n const options2 = isStringItem || !item.options ? commonOptions : { ...commonOptions, ...item.options };\n const mount = getMount(key);\n getBatch(mount).items.push({\n key,\n value,\n relativeKey: mount.relativeKey,\n options: options2\n });\n }\n return Promise.all([...batches.values()].map((batch) => cb(batch))).then(\n (r) => r.flat()\n );\n };\n const storage = {\n // Item\n hasItem(key, opts = {}) {\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n return asyncCall(driver.hasItem, relativeKey, opts);\n },\n getItem(key, opts = {}) {\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n return asyncCall(driver.getItem, relativeKey, opts).then(\n (value) => destr(value)\n );\n },\n getItems(items, commonOptions = {}) {\n return runBatch(items, commonOptions, (batch) => {\n if (batch.driver.getItems) {\n return asyncCall(\n batch.driver.getItems,\n batch.items.map((item) => ({\n key: item.relativeKey,\n options: item.options\n })),\n commonOptions\n ).then(\n (r) => r.map((item) => ({\n key: joinKeys(batch.base, item.key),\n value: destr(item.value)\n }))\n );\n }\n return Promise.all(\n batch.items.map((item) => {\n return asyncCall(\n batch.driver.getItem,\n item.relativeKey,\n item.options\n ).then((value) => ({\n key: item.key,\n value: destr(value)\n }));\n })\n );\n });\n },\n getItemRaw(key, opts = {}) {\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (driver.getItemRaw) {\n return asyncCall(driver.getItemRaw, relativeKey, opts);\n }\n return asyncCall(driver.getItem, relativeKey, opts).then(\n (value) => deserializeRaw(value)\n );\n },\n async setItem(key, value, opts = {}) {\n if (value === void 0) {\n return storage.removeItem(key);\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (!driver.setItem) {\n return;\n }\n await asyncCall(driver.setItem, relativeKey, stringify(value), opts);\n if (!driver.watch) {\n onChange(\"update\", key);\n }\n },\n async setItems(items, commonOptions) {\n await runBatch(items, commonOptions, async (batch) => {\n if (batch.driver.setItems) {\n return asyncCall(\n batch.driver.setItems,\n batch.items.map((item) => ({\n key: item.relativeKey,\n value: stringify(item.value),\n options: item.options\n })),\n commonOptions\n );\n }\n if (!batch.driver.setItem) {\n return;\n }\n await Promise.all(\n batch.items.map((item) => {\n return asyncCall(\n batch.driver.setItem,\n item.relativeKey,\n stringify(item.value),\n item.options\n );\n })\n );\n });\n },\n async setItemRaw(key, value, opts = {}) {\n if (value === void 0) {\n return storage.removeItem(key, opts);\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (driver.setItemRaw) {\n await asyncCall(driver.setItemRaw, relativeKey, value, opts);\n } else if (driver.setItem) {\n await asyncCall(driver.setItem, relativeKey, serializeRaw(value), opts);\n } else {\n return;\n }\n if (!driver.watch) {\n onChange(\"update\", key);\n }\n },\n async removeItem(key, opts = {}) {\n if (typeof opts === \"boolean\") {\n opts = { removeMeta: opts };\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (!driver.removeItem) {\n return;\n }\n await asyncCall(driver.removeItem, relativeKey, opts);\n if (opts.removeMeta || opts.removeMata) {\n await asyncCall(driver.removeItem, relativeKey + \"$\", opts);\n }\n if (!driver.watch) {\n onChange(\"remove\", key);\n }\n },\n // Meta\n async getMeta(key, opts = {}) {\n if (typeof opts === \"boolean\") {\n opts = { nativeOnly: opts };\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n const meta = /* @__PURE__ */ Object.create(null);\n if (driver.getMeta) {\n Object.assign(meta, await asyncCall(driver.getMeta, relativeKey, opts));\n }\n if (!opts.nativeOnly) {\n const value = await asyncCall(\n driver.getItem,\n relativeKey + \"$\",\n opts\n ).then((value_) => destr(value_));\n if (value && typeof value === \"object\") {\n if (typeof value.atime === \"string\") {\n value.atime = new Date(value.atime);\n }\n if (typeof value.mtime === \"string\") {\n value.mtime = new Date(value.mtime);\n }\n Object.assign(meta, value);\n }\n }\n return meta;\n },\n setMeta(key, value, opts = {}) {\n return this.setItem(key + \"$\", value, opts);\n },\n removeMeta(key, opts = {}) {\n return this.removeItem(key + \"$\", opts);\n },\n // Keys\n async getKeys(base, opts = {}) {\n base = normalizeBaseKey(base);\n const mounts = getMounts(base, true);\n let maskedMounts = [];\n const allKeys = [];\n let allMountsSupportMaxDepth = true;\n for (const mount of mounts) {\n if (!mount.driver.flags?.maxDepth) {\n allMountsSupportMaxDepth = false;\n }\n const rawKeys = await asyncCall(\n mount.driver.getKeys,\n mount.relativeBase,\n opts\n );\n for (const key of rawKeys) {\n const fullKey = mount.mountpoint + normalizeKey(key);\n if (!maskedMounts.some((p) => fullKey.startsWith(p))) {\n allKeys.push(fullKey);\n }\n }\n maskedMounts = [\n mount.mountpoint,\n ...maskedMounts.filter((p) => !p.startsWith(mount.mountpoint))\n ];\n }\n const shouldFilterByDepth = opts.maxDepth !== void 0 && !allMountsSupportMaxDepth;\n return allKeys.filter(\n (key) => (!shouldFilterByDepth || filterKeyByDepth(key, opts.maxDepth)) && filterKeyByBase(key, base)\n );\n },\n // Utils\n async clear(base, opts = {}) {\n base = normalizeBaseKey(base);\n await Promise.all(\n getMounts(base, false).map(async (m) => {\n if (m.driver.clear) {\n return asyncCall(m.driver.clear, m.relativeBase, opts);\n }\n if (m.driver.removeItem) {\n const keys = await m.driver.getKeys(m.relativeBase || \"\", opts);\n return Promise.all(\n keys.map((key) => m.driver.removeItem(key, opts))\n );\n }\n })\n );\n },\n async dispose() {\n await Promise.all(\n Object.values(context.mounts).map((driver) => dispose(driver))\n );\n },\n async watch(callback) {\n await startWatch();\n context.watchListeners.push(callback);\n return async () => {\n context.watchListeners = context.watchListeners.filter(\n (listener) => listener !== callback\n );\n if (context.watchListeners.length === 0) {\n await stopWatch();\n }\n };\n },\n async unwatch() {\n context.watchListeners = [];\n await stopWatch();\n },\n // Mount\n mount(base, driver) {\n base = normalizeBaseKey(base);\n if (base && context.mounts[base]) {\n throw new Error(`already mounted at ${base}`);\n }\n if (base) {\n context.mountpoints.push(base);\n context.mountpoints.sort((a, b) => b.length - a.length);\n }\n context.mounts[base] = driver;\n if (context.watching) {\n Promise.resolve(watch(driver, onChange, base)).then((unwatcher) => {\n context.unwatch[base] = unwatcher;\n }).catch(console.error);\n }\n return storage;\n },\n async unmount(base, _dispose = true) {\n base = normalizeBaseKey(base);\n if (!base || !context.mounts[base]) {\n return;\n }\n if (context.watching && base in context.unwatch) {\n context.unwatch[base]?.();\n delete context.unwatch[base];\n }\n if (_dispose) {\n await dispose(context.mounts[base]);\n }\n context.mountpoints = context.mountpoints.filter((key) => key !== base);\n delete context.mounts[base];\n },\n getMount(key = \"\") {\n key = normalizeKey(key) + \":\";\n const m = getMount(key);\n return {\n driver: m.driver,\n base: m.base\n };\n },\n getMounts(base = \"\", opts = {}) {\n base = normalizeKey(base);\n const mounts = getMounts(base, opts.parents);\n return mounts.map((m) => ({\n driver: m.driver,\n base: m.mountpoint\n }));\n },\n // Aliases\n keys: (base, opts = {}) => storage.getKeys(base, opts),\n get: (key, opts = {}) => storage.getItem(key, opts),\n set: (key, value, opts = {}) => storage.setItem(key, value, opts),\n has: (key, opts = {}) => storage.hasItem(key, opts),\n del: (key, opts = {}) => storage.removeItem(key, opts),\n remove: (key, opts = {}) => storage.removeItem(key, opts)\n };\n return storage;\n}\nasync function snapshot(storage, base) {\n base = normalizeBaseKey(base);\n const keys = await storage.getKeys(base);\n const snapshot2 = {};\n await Promise.all(\n keys.map(async (key) => {\n snapshot2[key.slice(base.length)] = await storage.getItem(key);\n })\n );\n return snapshot2;\n}\nasync function restoreSnapshot(driver, snapshot2, base = \"\") {\n base = normalizeBaseKey(base);\n await Promise.all(\n Object.entries(snapshot2).map((e) => driver.setItem(base + e[0], e[1]))\n );\n}\nfunction watch(driver, onChange, base) {\n return driver.watch ? driver.watch((event, key) => onChange(event, base + key)) : () => {\n };\n}\nasync function dispose(driver) {\n if (typeof driver.dispose === \"function\") {\n await asyncCall(driver.dispose);\n }\n}\n\nconst builtinDrivers = {\n \"azure-app-configuration\": \"unstorage/drivers/azure-app-configuration\",\n \"azureAppConfiguration\": \"unstorage/drivers/azure-app-configuration\",\n \"azure-cosmos\": \"unstorage/drivers/azure-cosmos\",\n \"azureCosmos\": \"unstorage/drivers/azure-cosmos\",\n \"azure-key-vault\": \"unstorage/drivers/azure-key-vault\",\n \"azureKeyVault\": \"unstorage/drivers/azure-key-vault\",\n \"azure-storage-blob\": \"unstorage/drivers/azure-storage-blob\",\n \"azureStorageBlob\": \"unstorage/drivers/azure-storage-blob\",\n \"azure-storage-table\": \"unstorage/drivers/azure-storage-table\",\n \"azureStorageTable\": \"unstorage/drivers/azure-storage-table\",\n \"capacitor-preferences\": \"unstorage/drivers/capacitor-preferences\",\n \"capacitorPreferences\": \"unstorage/drivers/capacitor-preferences\",\n \"cloudflare-kv-binding\": \"unstorage/drivers/cloudflare-kv-binding\",\n \"cloudflareKVBinding\": \"unstorage/drivers/cloudflare-kv-binding\",\n \"cloudflare-kv-http\": \"unstorage/drivers/cloudflare-kv-http\",\n \"cloudflareKVHttp\": \"unstorage/drivers/cloudflare-kv-http\",\n \"cloudflare-r2-binding\": \"unstorage/drivers/cloudflare-r2-binding\",\n \"cloudflareR2Binding\": \"unstorage/drivers/cloudflare-r2-binding\",\n \"db0\": \"unstorage/drivers/db0\",\n \"deno-kv-node\": \"unstorage/drivers/deno-kv-node\",\n \"denoKVNode\": \"unstorage/drivers/deno-kv-node\",\n \"deno-kv\": \"unstorage/drivers/deno-kv\",\n \"denoKV\": \"unstorage/drivers/deno-kv\",\n \"fs-lite\": \"unstorage/drivers/fs-lite\",\n \"fsLite\": \"unstorage/drivers/fs-lite\",\n \"fs\": \"unstorage/drivers/fs\",\n \"github\": \"unstorage/drivers/github\",\n \"http\": \"unstorage/drivers/http\",\n \"indexedb\": \"unstorage/drivers/indexedb\",\n \"localstorage\": \"unstorage/drivers/localstorage\",\n \"lru-cache\": \"unstorage/drivers/lru-cache\",\n \"lruCache\": \"unstorage/drivers/lru-cache\",\n \"memory\": \"unstorage/drivers/memory\",\n \"mongodb\": \"unstorage/drivers/mongodb\",\n \"netlify-blobs\": \"unstorage/drivers/netlify-blobs\",\n \"netlifyBlobs\": \"unstorage/drivers/netlify-blobs\",\n \"null\": \"unstorage/drivers/null\",\n \"overlay\": \"unstorage/drivers/overlay\",\n \"planetscale\": \"unstorage/drivers/planetscale\",\n \"redis\": \"unstorage/drivers/redis\",\n \"s3\": \"unstorage/drivers/s3\",\n \"session-storage\": \"unstorage/drivers/session-storage\",\n \"sessionStorage\": \"unstorage/drivers/session-storage\",\n \"uploadthing\": \"unstorage/drivers/uploadthing\",\n \"upstash\": \"unstorage/drivers/upstash\",\n \"vercel-blob\": \"unstorage/drivers/vercel-blob\",\n \"vercelBlob\": \"unstorage/drivers/vercel-blob\",\n \"vercel-kv\": \"unstorage/drivers/vercel-kv\",\n \"vercelKV\": \"unstorage/drivers/vercel-kv\"\n};\n\nexport { builtinDrivers, createStorage, defineDriver, filterKeyByBase, filterKeyByDepth, joinKeys, normalizeBaseKey, normalizeKey, restoreSnapshot, snapshot };\n","function promisifyRequest(request) {\n return new Promise((resolve, reject) => {\n // @ts-ignore - file size hacks\n request.oncomplete = request.onsuccess = () => resolve(request.result);\n // @ts-ignore - file size hacks\n request.onabort = request.onerror = () => reject(request.error);\n });\n}\nfunction createStore(dbName, storeName) {\n let dbp;\n const getDB = () => {\n if (dbp)\n return dbp;\n const request = indexedDB.open(dbName);\n request.onupgradeneeded = () => request.result.createObjectStore(storeName);\n dbp = promisifyRequest(request);\n dbp.then((db) => {\n // It seems like Safari sometimes likes to just close the connection.\n // It's supposed to fire this event when that happens. Let's hope it does!\n db.onclose = () => (dbp = undefined);\n }, () => { });\n return dbp;\n };\n return (txMode, callback) => getDB().then((db) => callback(db.transaction(storeName, txMode).objectStore(storeName)));\n}\nlet defaultGetStoreFunc;\nfunction defaultGetStore() {\n if (!defaultGetStoreFunc) {\n defaultGetStoreFunc = createStore('keyval-store', 'keyval');\n }\n return defaultGetStoreFunc;\n}\n/**\n * Get a value by its key.\n *\n * @param key\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction get(key, customStore = defaultGetStore()) {\n return customStore('readonly', (store) => promisifyRequest(store.get(key)));\n}\n/**\n * Set a value with a key.\n *\n * @param key\n * @param value\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction set(key, value, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.put(value, key);\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Set multiple values at once. This is faster than calling set() multiple times.\n * It's also atomic – if one of the pairs can't be added, none will be added.\n *\n * @param entries Array of entries, where each entry is an array of `[key, value]`.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction setMany(entries, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n entries.forEach((entry) => store.put(entry[1], entry[0]));\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Get multiple values by their keys\n *\n * @param keys\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction getMany(keys, customStore = defaultGetStore()) {\n return customStore('readonly', (store) => Promise.all(keys.map((key) => promisifyRequest(store.get(key)))));\n}\n/**\n * Update a value. This lets you see the old value and update it as an atomic operation.\n *\n * @param key\n * @param updater A callback that takes the old value and returns a new value.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction update(key, updater, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => \n // Need to create the promise manually.\n // If I try to chain promises, the transaction closes in browsers\n // that use a promise polyfill (IE10/11).\n new Promise((resolve, reject) => {\n store.get(key).onsuccess = function () {\n try {\n store.put(updater(this.result), key);\n resolve(promisifyRequest(store.transaction));\n }\n catch (err) {\n reject(err);\n }\n };\n }));\n}\n/**\n * Delete a particular key from the store.\n *\n * @param key\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction del(key, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.delete(key);\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Delete multiple keys at once.\n *\n * @param keys List of keys to delete.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction delMany(keys, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n keys.forEach((key) => store.delete(key));\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Clear all values in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction clear(customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.clear();\n return promisifyRequest(store.transaction);\n });\n}\nfunction eachCursor(store, callback) {\n store.openCursor().onsuccess = function () {\n if (!this.result)\n return;\n callback(this.result);\n this.result.continue();\n };\n return promisifyRequest(store.transaction);\n}\n/**\n * Get all keys in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction keys(customStore = defaultGetStore()) {\n return customStore('readonly', (store) => {\n // Fast path for modern browsers\n if (store.getAllKeys) {\n return promisifyRequest(store.getAllKeys());\n }\n const items = [];\n return eachCursor(store, (cursor) => items.push(cursor.key)).then(() => items);\n });\n}\n/**\n * Get all values in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction values(customStore = defaultGetStore()) {\n return customStore('readonly', (store) => {\n // Fast path for modern browsers\n if (store.getAll) {\n return promisifyRequest(store.getAll());\n }\n const items = [];\n return eachCursor(store, (cursor) => items.push(cursor.value)).then(() => items);\n });\n}\n/**\n * Get all entries in the store. Each entry is an array of `[key, value]`.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction entries(customStore = defaultGetStore()) {\n return customStore('readonly', (store) => {\n // Fast path for modern browsers\n // (although, hopefully we'll get a simpler path some day)\n if (store.getAll && store.getAllKeys) {\n return Promise.all([\n promisifyRequest(store.getAllKeys()),\n promisifyRequest(store.getAll()),\n ]).then(([keys, values]) => keys.map((key, i) => [key, values[i]]));\n }\n const items = [];\n return customStore('readonly', (store) => eachCursor(store, (cursor) => items.push([cursor.key, cursor.value])).then(() => items));\n });\n}\n\nexport { clear, createStore, del, delMany, entries, get, getMany, keys, promisifyRequest, set, setMany, update, values };\n","import{createStorage as w}from\"unstorage\";import{createStore as I,get as u,set as p,del as b,keys as v,clear as S}from\"idb-keyval\";import{safeJsonStringify as g,safeJsonParse as d}from\"@walletconnect/safe-json\";function C(i){return i}const x=\"idb-keyval\";var z=(i={})=>{const t=i.base&&i.base.length>0?`${i.base}:`:\"\",e=s=>t+s;let n;return i.dbName&&i.storeName&&(n=I(i.dbName,i.storeName)),{name:x,options:i,async hasItem(s){return!(typeof await u(e(s),n)>\"u\")},async getItem(s){return await u(e(s),n)??null},setItem(s,a){return p(e(s),a,n)},removeItem(s){return b(e(s),n)},getKeys(){return v(n)},clear(){return S(n)}}};const D=\"WALLET_CONNECT_V2_INDEXED_DB\",E=\"keyvaluestorage\";class _{constructor(){this.indexedDb=w({driver:z({dbName:D,storeName:E})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(t=>[t.key,t.value])}async getItem(t){const e=await this.indexedDb.getItem(t);if(e!==null)return e}async setItem(t,e){await this.indexedDb.setItem(t,g(e))}async removeItem(t){await this.indexedDb.removeItem(t)}}var l=typeof globalThis<\"u\"?globalThis:typeof window<\"u\"?window:typeof global<\"u\"?global:typeof self<\"u\"?self:{},c={exports:{}};(function(){let i;function t(){}i=t,i.prototype.getItem=function(e){return this.hasOwnProperty(e)?String(this[e]):null},i.prototype.setItem=function(e,n){this[e]=String(n)},i.prototype.removeItem=function(e){delete this[e]},i.prototype.clear=function(){const e=this;Object.keys(e).forEach(function(n){e[n]=void 0,delete e[n]})},i.prototype.key=function(e){return e=e||0,Object.keys(this)[e]},i.prototype.__defineGetter__(\"length\",function(){return Object.keys(this).length}),typeof l<\"u\"&&l.localStorage?c.exports=l.localStorage:typeof window<\"u\"&&window.localStorage?c.exports=window.localStorage:c.exports=new t})();function k(i){var t;return[i[0],d((t=i[1])!=null?t:\"\")]}class K{constructor(){this.localStorage=c.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(k)}async getItem(t){const e=this.localStorage.getItem(t);if(e!==null)return d(e)}async setItem(t,e){this.localStorage.setItem(t,g(e))}async removeItem(t){this.localStorage.removeItem(t)}}const N=\"wc_storage_version\",y=1,O=async(i,t,e)=>{const n=N,s=await t.getItem(n);if(s&&s>=y){e(t);return}const a=await i.getKeys();if(!a.length){e(t);return}const m=[];for(;a.length;){const r=a.shift();if(!r)continue;const o=r.toLowerCase();if(o.includes(\"wc@\")||o.includes(\"walletconnect\")||o.includes(\"wc_\")||o.includes(\"wallet_connect\")){const f=await i.getItem(r);await t.setItem(r,f),m.push(r)}}await t.setItem(n,y),e(t),j(i,m)},j=async(i,t)=>{t.length&&t.forEach(async e=>{await i.removeItem(e)})};class h{constructor(){this.initialized=!1,this.setInitialized=e=>{this.storage=e,this.initialized=!0};const t=new K;this.storage=t;try{const e=new _;O(t,e,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(t){return await this.initialize(),this.storage.getItem(t)}async setItem(t,e){return await this.initialize(),this.storage.setItem(t,e)}async removeItem(t){return await this.initialize(),this.storage.removeItem(t)}async initialize(){this.initialized||await new Promise(t=>{const e=setInterval(()=>{this.initialized&&(clearInterval(e),t())},20)})}}export{h as KeyValueStorage,h as default};\n//# sourceMappingURL=index.es.js.map\n","'use strict'\nfunction tryStringify (o) {\n try { return JSON.stringify(o) } catch(e) { return '\"[Circular]\"' }\n}\n\nmodule.exports = format\n\nfunction format(f, args, opts) {\n var ss = (opts && opts.stringify) || tryStringify\n var offset = 1\n if (typeof f === 'object' && f !== null) {\n var len = args.length + offset\n if (len === 1) return f\n var objects = new Array(len)\n objects[0] = ss(f)\n for (var index = 1; index < len; index++) {\n objects[index] = ss(args[index])\n }\n return objects.join(' ')\n }\n if (typeof f !== 'string') {\n return f\n }\n var argLen = args.length\n if (argLen === 0) return f\n var str = ''\n var a = 1 - offset\n var lastPos = -1\n var flen = (f && f.length) || 0\n for (var i = 0; i < flen;) {\n if (f.charCodeAt(i) === 37 && i + 1 < flen) {\n lastPos = lastPos > -1 ? lastPos : 0\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n case 102: // 'f'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Number(args[a])\n lastPos = i + 2\n i++\n break\n case 105: // 'i'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Math.floor(Number(args[a]))\n lastPos = i + 2\n i++\n break\n case 79: // 'O'\n case 111: // 'o'\n case 106: // 'j'\n if (a >= argLen)\n break\n if (args[a] === undefined) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n var type = typeof args[a]\n if (type === 'string') {\n str += '\\'' + args[a] + '\\''\n lastPos = i + 2\n i++\n break\n }\n if (type === 'function') {\n str += args[a].name || '<anonymous>'\n lastPos = i + 2\n i++\n break\n }\n str += ss(args[a])\n lastPos = i + 2\n i++\n break\n case 115: // 's'\n if (a >= argLen)\n break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += String(args[a])\n lastPos = i + 2\n i++\n break\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += '%'\n lastPos = i + 2\n i++\n a--\n break\n }\n ++a\n }\n ++i\n }\n if (lastPos === -1)\n return f\n else if (lastPos < flen) {\n str += f.slice(lastPos)\n }\n\n return str\n}\n","'use strict'\n\nconst format = require('quick-format-unescaped')\n\nmodule.exports = pino\n\nconst _console = pfGlobalThisOrFallback().console || {}\nconst stdSerializers = {\n mapHttpRequest: mock,\n mapHttpResponse: mock,\n wrapRequestSerializer: passthrough,\n wrapResponseSerializer: passthrough,\n wrapErrorSerializer: passthrough,\n req: mock,\n res: mock,\n err: asErrValue\n}\n\nfunction shouldSerialize (serialize, serializers) {\n if (Array.isArray(serialize)) {\n const hasToFilter = serialize.filter(function (k) {\n return k !== '!stdSerializers.err'\n })\n return hasToFilter\n } else if (serialize === true) {\n return Object.keys(serializers)\n }\n\n return false\n}\n\nfunction pino (opts) {\n opts = opts || {}\n opts.browser = opts.browser || {}\n\n const transmit = opts.browser.transmit\n if (transmit && typeof transmit.send !== 'function') { throw Error('pino: transmit option must have a send function') }\n\n const proto = opts.browser.write || _console\n if (opts.browser.write) opts.browser.asObject = true\n const serializers = opts.serializers || {}\n const serialize = shouldSerialize(opts.browser.serialize, serializers)\n let stdErrSerialize = opts.browser.serialize\n\n if (\n Array.isArray(opts.browser.serialize) &&\n opts.browser.serialize.indexOf('!stdSerializers.err') > -1\n ) stdErrSerialize = false\n\n const levels = ['error', 'fatal', 'warn', 'info', 'debug', 'trace']\n\n if (typeof proto === 'function') {\n proto.error = proto.fatal = proto.warn =\n proto.info = proto.debug = proto.trace = proto\n }\n if (opts.enabled === false) opts.level = 'silent'\n const level = opts.level || 'info'\n const logger = Object.create(proto)\n if (!logger.log) logger.log = noop\n\n Object.defineProperty(logger, 'levelVal', {\n get: getLevelVal\n })\n Object.defineProperty(logger, 'level', {\n get: getLevel,\n set: setLevel\n })\n\n const setOpts = {\n transmit,\n serialize,\n asObject: opts.browser.asObject,\n levels,\n timestamp: getTimeFunction(opts)\n }\n logger.levels = pino.levels\n logger.level = level\n\n logger.setMaxListeners = logger.getMaxListeners =\n logger.emit = logger.addListener = logger.on =\n logger.prependListener = logger.once =\n logger.prependOnceListener = logger.removeListener =\n logger.removeAllListeners = logger.listeners =\n logger.listenerCount = logger.eventNames =\n logger.write = logger.flush = noop\n logger.serializers = serializers\n logger._serialize = serialize\n logger._stdErrSerialize = stdErrSerialize\n logger.child = child\n\n if (transmit) logger._logEvent = createLogEventShape()\n\n function getLevelVal () {\n return this.level === 'silent'\n ? Infinity\n : this.levels.values[this.level]\n }\n\n function getLevel () {\n return this._level\n }\n function setLevel (level) {\n if (level !== 'silent' && !this.levels.values[level]) {\n throw Error('unknown level ' + level)\n }\n this._level = level\n\n set(setOpts, logger, 'error', 'log') // <-- must stay first\n set(setOpts, logger, 'fatal', 'error')\n set(setOpts, logger, 'warn', 'error')\n set(setOpts, logger, 'info', 'log')\n set(setOpts, logger, 'debug', 'log')\n set(setOpts, logger, 'trace', 'log')\n }\n\n function child (bindings, childOptions) {\n if (!bindings) {\n throw new Error('missing bindings for child Pino')\n }\n childOptions = childOptions || {}\n if (serialize && bindings.serializers) {\n childOptions.serializers = bindings.serializers\n }\n const childOptionsSerializers = childOptions.serializers\n if (serialize && childOptionsSerializers) {\n var childSerializers = Object.assign({}, serializers, childOptionsSerializers)\n var childSerialize = opts.browser.serialize === true\n ? Object.keys(childSerializers)\n : serialize\n delete bindings.serializers\n applySerializers([bindings], childSerialize, childSerializers, this._stdErrSerialize)\n }\n function Child (parent) {\n this._childLevel = (parent._childLevel | 0) + 1\n this.error = bind(parent, bindings, 'error')\n this.fatal = bind(parent, bindings, 'fatal')\n this.warn = bind(parent, bindings, 'warn')\n this.info = bind(parent, bindings, 'info')\n this.debug = bind(parent, bindings, 'debug')\n this.trace = bind(parent, bindings, 'trace')\n if (childSerializers) {\n this.serializers = childSerializers\n this._serialize = childSerialize\n }\n if (transmit) {\n this._logEvent = createLogEventShape(\n [].concat(parent._logEvent.bindings, bindings)\n )\n }\n }\n Child.prototype = this\n return new Child(this)\n }\n return logger\n}\n\npino.levels = {\n values: {\n fatal: 60,\n error: 50,\n warn: 40,\n info: 30,\n debug: 20,\n trace: 10\n },\n labels: {\n 10: 'trace',\n 20: 'debug',\n 30: 'info',\n 40: 'warn',\n 50: 'error',\n 60: 'fatal'\n }\n}\n\npino.stdSerializers = stdSerializers\npino.stdTimeFunctions = Object.assign({}, { nullTime, epochTime, unixTime, isoTime })\n\nfunction set (opts, logger, level, fallback) {\n const proto = Object.getPrototypeOf(logger)\n logger[level] = logger.levelVal > logger.levels.values[level]\n ? noop\n : (proto[level] ? proto[level] : (_console[level] || _console[fallback] || noop))\n\n wrap(opts, logger, level)\n}\n\nfunction wrap (opts, logger, level) {\n if (!opts.transmit && logger[level] === noop) return\n\n logger[level] = (function (write) {\n return function LOG () {\n const ts = opts.timestamp()\n const args = new Array(arguments.length)\n const proto = (Object.getPrototypeOf && Object.getPrototypeOf(this) === _console) ? _console : this\n for (var i = 0; i < args.length; i++) args[i] = arguments[i]\n\n if (opts.serialize && !opts.asObject) {\n applySerializers(args, this._serialize, this.serializers, this._stdErrSerialize)\n }\n if (opts.asObject) write.call(proto, asObject(this, level, args, ts))\n else write.apply(proto, args)\n\n if (opts.transmit) {\n const transmitLevel = opts.transmit.level || logger.level\n const transmitValue = pino.levels.values[transmitLevel]\n const methodValue = pino.levels.values[level]\n if (methodValue < transmitValue) return\n transmit(this, {\n ts,\n methodLevel: level,\n methodValue,\n transmitLevel,\n transmitValue: pino.levels.values[opts.transmit.level || logger.level],\n send: opts.transmit.send,\n val: logger.levelVal\n }, args)\n }\n }\n })(logger[level])\n}\n\nfunction asObject (logger, level, args, ts) {\n if (logger._serialize) applySerializers(args, logger._serialize, logger.serializers, logger._stdErrSerialize)\n const argsCloned = args.slice()\n let msg = argsCloned[0]\n const o = {}\n if (ts) {\n o.time = ts\n }\n o.level = pino.levels.values[level]\n let lvl = (logger._childLevel | 0) + 1\n if (lvl < 1) lvl = 1\n // deliberate, catching objects, arrays\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(o, argsCloned.shift())\n }\n msg = argsCloned.length ? format(argsCloned.shift(), argsCloned) : undefined\n } else if (typeof msg === 'string') msg = format(argsCloned.shift(), argsCloned)\n if (msg !== undefined) o.msg = msg\n return o\n}\n\nfunction applySerializers (args, serialize, serializers, stdErrSerialize) {\n for (const i in args) {\n if (stdErrSerialize && args[i] instanceof Error) {\n args[i] = pino.stdSerializers.err(args[i])\n } else if (typeof args[i] === 'object' && !Array.isArray(args[i])) {\n for (const k in args[i]) {\n if (serialize && serialize.indexOf(k) > -1 && k in serializers) {\n args[i][k] = serializers[k](args[i][k])\n }\n }\n }\n }\n}\n\nfunction bind (parent, bindings, level) {\n return function () {\n const args = new Array(1 + arguments.length)\n args[0] = bindings\n for (var i = 1; i < args.length; i++) {\n args[i] = arguments[i - 1]\n }\n return parent[level].apply(this, args)\n }\n}\n\nfunction transmit (logger, opts, args) {\n const send = opts.send\n const ts = opts.ts\n const methodLevel = opts.methodLevel\n const methodValue = opts.methodValue\n const val = opts.val\n const bindings = logger._logEvent.bindings\n\n applySerializers(\n args,\n logger._serialize || Object.keys(logger.serializers),\n logger.serializers,\n logger._stdErrSerialize === undefined ? true : logger._stdErrSerialize\n )\n logger._logEvent.ts = ts\n logger._logEvent.messages = args.filter(function (arg) {\n // bindings can only be objects, so reference equality check via indexOf is fine\n return bindings.indexOf(arg) === -1\n })\n\n logger._logEvent.level.label = methodLevel\n logger._logEvent.level.value = methodValue\n\n send(methodLevel, logger._logEvent, val)\n\n logger._logEvent = createLogEventShape(bindings)\n}\n\nfunction createLogEventShape (bindings) {\n return {\n ts: 0,\n messages: [],\n bindings: bindings || [],\n level: { label: '', value: 0 }\n }\n}\n\nfunction asErrValue (err) {\n const obj = {\n type: err.constructor.name,\n msg: err.message,\n stack: err.stack\n }\n for (const key in err) {\n if (obj[key] === undefined) {\n obj[key] = err[key]\n }\n }\n return obj\n}\n\nfunction getTimeFunction (opts) {\n if (typeof opts.timestamp === 'function') {\n return opts.timestamp\n }\n if (opts.timestamp === false) {\n return nullTime\n }\n return epochTime\n}\n\nfunction mock () { return {} }\nfunction passthrough (a) { return a }\nfunction noop () {}\n\nfunction nullTime () { return false }\nfunction epochTime () { return Date.now() }\nfunction unixTime () { return Math.round(Date.now() / 1000.0) }\nfunction isoTime () { return new Date(Date.now()).toISOString() } // using Date.now() for testability\n\n/* eslint-disable */\n/* istanbul ignore next */\nfunction pfGlobalThisOrFallback () {\n function defd (o) { return typeof o !== 'undefined' && o }\n try {\n if (typeof globalThis !== 'undefined') return globalThis\n Object.defineProperty(Object.prototype, 'globalThis', {\n get: function () {\n delete Object.prototype.globalThis\n return (this.globalThis = this)\n },\n configurable: true\n })\n return globalThis\n } catch (e) {\n return defd(self) || defd(window) || defd(this) || {}\n }\n}\n/* eslint-enable */\n","import h,{levels as s}from\"pino\";import{default as U}from\"pino\";import{safeJsonStringify as u}from\"@walletconnect/safe-json\";const c={level:\"info\"},n=\"custom_context\",l=1e3*1024;class O{constructor(e){this.nodeValue=e,this.sizeInBytes=new TextEncoder().encode(this.nodeValue).length,this.next=null}get value(){return this.nodeValue}get size(){return this.sizeInBytes}}class d{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const t=new O(e);if(t.size>this.maxSizeInBytes)throw new Error(`[LinkedList] Value too big to insert into list: ${e} with size ${t.size}`);for(;this.size+t.size>this.maxSizeInBytes;)this.shift();this.head?(this.tail&&(this.tail.next=t),this.tail=t):(this.head=t,this.tail=t),this.lengthInNodes++,this.sizeInBytes+=t.size}shift(){if(!this.head)return;const e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){const e=[];let t=this.head;for(;t!==null;)e.push(t.value),t=t.next;return e}get length(){return this.lengthInNodes}get size(){return this.sizeInBytes}toOrderedArray(){return Array.from(this)}[Symbol.iterator](){let e=this.head;return{next:()=>{if(!e)return{done:!0,value:null};const t=e.value;return e=e.next,{done:!1,value:t}}}}}class L{constructor(e,t=l){this.level=e??\"error\",this.levelValue=s.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new d(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===s.values.error?console.error(e):t===s.values.warn?console.warn(e):t===s.values.debug?console.debug(e):t===s.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(u({timestamp:new Date().toISOString(),log:e}));const t=typeof e==\"string\"?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new d(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const t=this.getLogArray();return t.push(u({extraMetadata:e})),new Blob(t,{type:\"application/json\"})}}class m{constructor(e,t=l){this.baseChunkLogger=new L(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}downloadLogsBlobInBrowser(e){const t=URL.createObjectURL(this.logsToBlob(e)),o=document.createElement(\"a\");o.href=t,o.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(t)}}class B{constructor(e,t=l){this.baseChunkLogger=new L(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}}var x=Object.defineProperty,S=Object.defineProperties,_=Object.getOwnPropertyDescriptors,p=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,f=(r,e,t)=>e in r?x(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,i=(r,e)=>{for(var t in e||(e={}))T.call(e,t)&&f(r,t,e[t]);if(p)for(var t of p(e))z.call(e,t)&&f(r,t,e[t]);return r},g=(r,e)=>S(r,_(e));function k(r){return g(i({},r),{level:r?.level||c.level})}function v(r,e=n){return r[e]||\"\"}function b(r,e,t=n){return r[t]=e,r}function y(r,e=n){let t=\"\";return typeof r.bindings>\"u\"?t=v(r,e):t=r.bindings().context||\"\",t}function w(r,e,t=n){const o=y(r,t);return o.trim()?`${o}/${e}`:e}function E(r,e,t=n){const o=w(r,e,t),a=r.child({context:o});return b(a,o,t)}function C(r){var e,t;const o=new m((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:h(g(i({},r.opts),{level:\"trace\",browser:g(i({},(t=r.opts)==null?void 0:t.browser),{write:a=>o.write(a)})})),chunkLoggerController:o}}function I(r){var e;const t=new B((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:h(g(i({},r.opts),{level:\"trace\"}),t),chunkLoggerController:t}}function A(r){return typeof r.loggerOverride<\"u\"&&typeof r.loggerOverride!=\"string\"?{logger:r.loggerOverride,chunkLoggerController:null}:typeof window<\"u\"?C(r):I(r)}export{l as MAX_LOG_SIZE_IN_BYTES_DEFAULT,n as PINO_CUSTOM_CONTEXT_KEY,c as PINO_LOGGER_DEFAULTS,w as formatChildLoggerContext,E as generateChildLogger,C as generateClientLogger,A as generatePlatformLogger,I as generateServerLogger,v as getBrowserLoggerContext,k as getDefaultLoggerOptions,y as getLoggerContext,U as pino,b as setBrowserLoggerContext};\n//# sourceMappingURL=index.es.js.map\n","import{IEvents as o}from\"@walletconnect/events\";import n,{EventEmitter as l}from\"events\";var a=Object.defineProperty,u=(e,s,r)=>s in e?a(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,c=(e,s,r)=>u(e,typeof s!=\"symbol\"?s+\"\":s,r);class h extends o{constructor(s){super(),this.opts=s,c(this,\"protocol\",\"wc\"),c(this,\"version\",2)}}class g{constructor(s,r,t){this.core=s,this.logger=r}}var p=Object.defineProperty,b=(e,s,r)=>s in e?p(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,v=(e,s,r)=>b(e,typeof s!=\"symbol\"?s+\"\":s,r);class I extends o{constructor(s,r){super(),this.core=s,this.logger=r,v(this,\"records\",new Map)}}class y{constructor(s,r){this.logger=s,this.core=r}}class m extends o{constructor(s,r){super(),this.relayer=s,this.logger=r}}class d extends o{constructor(s){super()}}class f{constructor(s,r,t,q){this.core=s,this.logger=r,this.name=t}}var E=Object.defineProperty,x=(e,s,r)=>s in e?E(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,w=(e,s,r)=>x(e,typeof s!=\"symbol\"?s+\"\":s,r);class C{constructor(){w(this,\"map\",new Map)}}class P extends o{constructor(s,r){super(),this.relayer=s,this.logger=r}}class j{constructor(s,r){this.core=s,this.logger=r}}class S extends o{constructor(s,r){super(),this.core=s,this.logger=r}}class ${constructor(s,r){this.logger=s,this.core=r}}class M{constructor(s,r,t){this.core=s,this.logger=r,this.store=t}}class O{constructor(s,r){this.projectId=s,this.logger=r}}class R{constructor(s,r,t){this.core=s,this.logger=r,this.telemetryEnabled=t}}var T=Object.defineProperty,k=(e,s,r)=>s in e?T(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,i=(e,s,r)=>k(e,typeof s!=\"symbol\"?s+\"\":s,r);class H extends n{constructor(){super()}}class J{constructor(s){this.opts=s,i(this,\"protocol\",\"wc\"),i(this,\"version\",2)}}class K extends l{constructor(){super()}}class V{constructor(s){this.client=s}}export{h as ICore,g as ICrypto,O as IEchoClient,V as IEngine,K as IEngineEvents,R as IEventClient,S as IExpirer,I as IJsonRpcHistory,j as IKeyChain,y as IMessageTracker,$ as IPairing,m as IPublisher,d as IRelayer,J as ISignClient,H as ISignClientEvents,f as IStore,P as ISubscriber,C as ISubscriberTopicMap,M as IVerify};\n//# sourceMappingURL=index.es.js.map\n","export const PARSE_ERROR = \"PARSE_ERROR\";\nexport const INVALID_REQUEST = \"INVALID_REQUEST\";\nexport const METHOD_NOT_FOUND = \"METHOD_NOT_FOUND\";\nexport const INVALID_PARAMS = \"INVALID_PARAMS\";\nexport const INTERNAL_ERROR = \"INTERNAL_ERROR\";\nexport const SERVER_ERROR = \"SERVER_ERROR\";\nexport const RESERVED_ERROR_CODES = [-32700, -32600, -32601, -32602, -32603];\nexport const SERVER_ERROR_CODE_RANGE = [-32000, -32099];\nexport const STANDARD_ERROR_MAP = {\n [PARSE_ERROR]: { code: -32700, message: \"Parse error\" },\n [INVALID_REQUEST]: { code: -32600, message: \"Invalid Request\" },\n [METHOD_NOT_FOUND]: { code: -32601, message: \"Method not found\" },\n [INVALID_PARAMS]: { code: -32602, message: \"Invalid params\" },\n [INTERNAL_ERROR]: { code: -32603, message: \"Internal error\" },\n [SERVER_ERROR]: { code: -32000, message: \"Server error\" },\n};\nexport const DEFAULT_ERROR = SERVER_ERROR;\n//# sourceMappingURL=constants.js.map","import { SERVER_ERROR_CODE_RANGE, RESERVED_ERROR_CODES, STANDARD_ERROR_MAP, DEFAULT_ERROR, } from \"./constants\";\nexport function isServerErrorCode(code) {\n return code <= SERVER_ERROR_CODE_RANGE[0] && code >= SERVER_ERROR_CODE_RANGE[1];\n}\nexport function isReservedErrorCode(code) {\n return RESERVED_ERROR_CODES.includes(code);\n}\nexport function isValidErrorCode(code) {\n return typeof code === \"number\";\n}\nexport function getError(type) {\n if (!Object.keys(STANDARD_ERROR_MAP).includes(type)) {\n return STANDARD_ERROR_MAP[DEFAULT_ERROR];\n }\n return STANDARD_ERROR_MAP[type];\n}\nexport function getErrorByCode(code) {\n const match = Object.values(STANDARD_ERROR_MAP).find(e => e.code === code);\n if (!match) {\n return STANDARD_ERROR_MAP[DEFAULT_ERROR];\n }\n return match;\n}\nexport function validateJsonRpcError(response) {\n if (typeof response.error.code === \"undefined\") {\n return { valid: false, error: \"Missing code for JSON-RPC error\" };\n }\n if (typeof response.error.message === \"undefined\") {\n return { valid: false, error: \"Missing message for JSON-RPC error\" };\n }\n if (!isValidErrorCode(response.error.code)) {\n return {\n valid: false,\n error: `Invalid error code type for JSON-RPC: ${response.error.code}`,\n };\n }\n if (isReservedErrorCode(response.error.code)) {\n const error = getErrorByCode(response.error.code);\n if (error.message !== STANDARD_ERROR_MAP[DEFAULT_ERROR].message &&\n response.error.message === error.message) {\n return {\n valid: false,\n error: `Invalid error code message for JSON-RPC: ${response.error.code}`,\n };\n }\n }\n return { valid: true };\n}\nexport function parseConnectionError(e, url, type) {\n return e.message.includes(\"getaddrinfo ENOTFOUND\") || e.message.includes(\"connect ECONNREFUSED\")\n ? new Error(`Unavailable ${type} RPC url at ${url}`)\n : e;\n}\n//# sourceMappingURL=error.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isBrowserCryptoAvailable = exports.getSubtleCrypto = exports.getBrowerCrypto = void 0;\nfunction getBrowerCrypto() {\n return (global === null || global === void 0 ? void 0 : global.crypto) || (global === null || global === void 0 ? void 0 : global.msCrypto) || {};\n}\nexports.getBrowerCrypto = getBrowerCrypto;\nfunction getSubtleCrypto() {\n const browserCrypto = getBrowerCrypto();\n return browserCrypto.subtle || browserCrypto.webkitSubtle;\n}\nexports.getSubtleCrypto = getSubtleCrypto;\nfunction isBrowserCryptoAvailable() {\n return !!getBrowerCrypto() && !!getSubtleCrypto();\n}\nexports.isBrowserCryptoAvailable = isBrowserCryptoAvailable;\n//# sourceMappingURL=crypto.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isBrowser = exports.isNode = exports.isReactNative = void 0;\nfunction isReactNative() {\n return (typeof document === \"undefined\" &&\n typeof navigator !== \"undefined\" &&\n navigator.product === \"ReactNative\");\n}\nexports.isReactNative = isReactNative;\nfunction isNode() {\n return (typeof process !== \"undefined\" &&\n typeof process.versions !== \"undefined\" &&\n typeof process.versions.node !== \"undefined\");\n}\nexports.isNode = isNode;\nfunction isBrowser() {\n return !isReactNative() && !isNode();\n}\nexports.isBrowser = isBrowser;\n//# sourceMappingURL=env.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./crypto\"), exports);\ntslib_1.__exportStar(require(\"./env\"), exports);\n//# sourceMappingURL=index.js.map","import { getError, getErrorByCode, isReservedErrorCode } from \"./error\";\nimport { INTERNAL_ERROR, SERVER_ERROR } from \"./constants\";\nexport function payloadId(entropy = 3) {\n const date = Date.now() * Math.pow(10, entropy);\n const extra = Math.floor(Math.random() * Math.pow(10, entropy));\n return date + extra;\n}\nexport function getBigIntRpcId(entropy = 6) {\n return BigInt(payloadId(entropy));\n}\nexport function formatJsonRpcRequest(method, params, id) {\n return {\n id: id || payloadId(),\n jsonrpc: \"2.0\",\n method,\n params,\n };\n}\nexport function formatJsonRpcResult(id, result) {\n return {\n id,\n jsonrpc: \"2.0\",\n result,\n };\n}\nexport function formatJsonRpcError(id, error, data) {\n return {\n id,\n jsonrpc: \"2.0\",\n error: formatErrorMessage(error, data),\n };\n}\nexport function formatErrorMessage(error, data) {\n if (typeof error === \"undefined\") {\n return getError(INTERNAL_ERROR);\n }\n if (typeof error === \"string\") {\n error = Object.assign(Object.assign({}, getError(SERVER_ERROR)), { message: error });\n }\n if (typeof data !== \"undefined\") {\n error.data = data;\n }\n if (isReservedErrorCode(error.code)) {\n error = getErrorByCode(error.code);\n }\n return error;\n}\n//# sourceMappingURL=format.js.map","class e{}class o extends e{constructor(c){super()}}class n extends e{constructor(){super()}}class r extends n{constructor(c){super()}}export{n as IBaseJsonRpcProvider,e as IEvents,o as IJsonRpcConnection,r as IJsonRpcProvider};\n//# sourceMappingURL=index.es.js.map\n","const HTTP_REGEX = \"^https?:\";\nconst WS_REGEX = \"^wss?:\";\nfunction getUrlProtocol(url) {\n const matches = url.match(new RegExp(/^\\w+:/, \"gi\"));\n if (!matches || !matches.length)\n return;\n return matches[0];\n}\nfunction matchRegexProtocol(url, regex) {\n const protocol = getUrlProtocol(url);\n if (typeof protocol === \"undefined\")\n return false;\n return new RegExp(regex).test(protocol);\n}\nexport function isHttpUrl(url) {\n return matchRegexProtocol(url, HTTP_REGEX);\n}\nexport function isWsUrl(url) {\n return matchRegexProtocol(url, WS_REGEX);\n}\nexport function isLocalhostUrl(url) {\n return new RegExp(\"wss?://localhost(:d{2,5})?\").test(url);\n}\n//# sourceMappingURL=url.js.map","export function isJsonRpcPayload(payload) {\n return (typeof payload === \"object\" &&\n \"id\" in payload &&\n \"jsonrpc\" in payload &&\n payload.jsonrpc === \"2.0\");\n}\nexport function isJsonRpcRequest(payload) {\n return isJsonRpcPayload(payload) && \"method\" in payload;\n}\nexport function isJsonRpcResponse(payload) {\n return isJsonRpcPayload(payload) && (isJsonRpcResult(payload) || isJsonRpcError(payload));\n}\nexport function isJsonRpcResult(payload) {\n return \"result\" in payload;\n}\nexport function isJsonRpcError(payload) {\n return \"error\" in payload;\n}\nexport function isJsonRpcValidationInvalid(validation) {\n return \"error\" in validation && validation.valid === false;\n}\n//# sourceMappingURL=validators.js.map","import{EventEmitter as c}from\"events\";import{IJsonRpcProvider as r,formatJsonRpcRequest as h,getBigIntRpcId as a,isJsonRpcError as d,isJsonRpcResponse as v}from\"@walletconnect/jsonrpc-utils\";class o extends r{constructor(t){super(t),this.events=new c,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(t),this.connection.connected&&this.registerEventListeners()}async connect(t=this.connection){await this.open(t)}async disconnect(){await this.close()}on(t,e){this.events.on(t,e)}once(t,e){this.events.once(t,e)}off(t,e){this.events.off(t,e)}removeListener(t,e){this.events.removeListener(t,e)}async request(t,e){return this.requestStrict(h(t.method,t.params||[],t.id||a().toString()),e)}async requestStrict(t,e){return new Promise(async(i,s)=>{if(!this.connection.connected)try{await this.open()}catch(n){s(n)}this.events.on(`${t.id}`,n=>{d(n)?s(n.error):i(n.result)});try{await this.connection.send(t,e)}catch(n){s(n)}})}setConnection(t=this.connection){return t}onPayload(t){this.events.emit(\"payload\",t),v(t)?this.events.emit(`${t.id}`,t):this.events.emit(\"message\",{type:t.method,data:t.params})}onClose(t){t&&t.code===3e3&&this.events.emit(\"error\",new Error(`WebSocket connection closed abnormally with code: ${t.code} ${t.reason?`(${t.reason})`:\"\"}`)),this.events.emit(\"disconnect\")}async open(t=this.connection){this.connection===t&&this.connection.connected||(this.connection.connected&&this.close(),typeof t==\"string\"&&(await this.connection.open(t),t=this.connection),this.connection=this.setConnection(t),await this.connection.open(),this.registerEventListeners(),this.events.emit(\"connect\"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on(\"payload\",t=>this.onPayload(t)),this.connection.on(\"close\",t=>this.onClose(t)),this.connection.on(\"error\",t=>this.events.emit(\"error\",t)),this.connection.on(\"register_error\",t=>this.onClose()),this.hasRegisteredEventListeners=!0)}}export{o as JsonRpcProvider,o as default};\n//# sourceMappingURL=index.es.js.map\n","import{EventEmitter as l}from\"events\";import{safeJsonStringify as u,safeJsonParse as p}from\"@walletconnect/safe-json\";import{isWsUrl as c,isReactNative as g,isLocalhostUrl as y,formatJsonRpcError as k,parseConnectionError as m}from\"@walletconnect/jsonrpc-utils\";const v=()=>typeof WebSocket<\"u\"?WebSocket:typeof global<\"u\"&&typeof global.WebSocket<\"u\"?global.WebSocket:typeof window<\"u\"&&typeof window.WebSocket<\"u\"?window.WebSocket:typeof self<\"u\"&&typeof self.WebSocket<\"u\"?self.WebSocket:require(\"ws\"),w=()=>typeof WebSocket<\"u\"||typeof global<\"u\"&&typeof global.WebSocket<\"u\"||typeof window<\"u\"&&typeof window.WebSocket<\"u\"||typeof self<\"u\"&&typeof self.WebSocket<\"u\",d=r=>r.split(\"?\")[0],h=10,b=v();class f{constructor(e){if(this.url=e,this.events=new l,this.registering=!1,!c(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<\"u\"}get connecting(){return this.registering}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 open(e=this.url){await this.register(e)}async close(){return new Promise((e,t)=>{if(typeof this.socket>\"u\"){t(new Error(\"Connection already closed\"));return}this.socket.onclose=n=>{this.onClose(n),e()},this.socket.close()})}async send(e){typeof this.socket>\"u\"&&(this.socket=await this.register());try{this.socket.send(u(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!c(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount(\"register_error\")>=t||this.events.listenerCount(\"open\")>=t)&&this.events.setMaxListeners(t+1),new Promise((n,s)=>{this.events.once(\"register_error\",o=>{this.resetMaxListeners(),s(o)}),this.events.once(\"open\",()=>{if(this.resetMaxListeners(),typeof this.socket>\"u\")return s(new Error(\"WebSocket connection is missing or invalid\"));n(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,n)=>{const s=g()?void 0:{rejectUnauthorized:!y(e)},o=new b(e,[],s);w()?o.onerror=i=>{const a=i;n(this.emitError(a.error))}:o.on(\"error\",i=>{n(this.emitError(i))}),o.onopen=()=>{this.onOpen(o),t(o)}})}onOpen(e){e.onmessage=t=>this.onPayload(t),e.onclose=t=>this.onClose(t),this.socket=e,this.registering=!1,this.events.emit(\"open\")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit(\"close\",e)}onPayload(e){if(typeof e.data>\"u\")return;const t=typeof e.data==\"string\"?p(e.data):e.data;this.events.emit(\"payload\",t)}onError(e,t){const n=this.parseError(t),s=n.message||n.toString(),o=k(e,s);this.events.emit(\"payload\",o)}parseError(e,t=this.url){return m(e,d(t),\"WS\")}resetMaxListeners(){this.events.getMaxListeners()>h&&this.events.setMaxListeners(h)}emitError(e){const t=this.parseError(new Error(e?.message||`WebSocket connection failed for host: ${d(this.url)}`));return this.events.emit(\"register_error\",t),t}}export{f as WsConnection,f as default};\n//# sourceMappingURL=index.es.js.map\n","import Gi,{EventEmitter as ee}from\"events\";import{HEARTBEAT_EVENTS as te,HeartBeat as Wi}from\"@walletconnect/heartbeat\";import Hi from\"@walletconnect/keyvaluestorage\";import{generateChildLogger as N,getLoggerContext as U,pino as Yi,getDefaultLoggerOptions as et,generatePlatformLogger as Ji}from\"@walletconnect/logger\";import{IMessageTracker as Xi,IPublisher as Zi,ISubscriber as Qi,IRelayer as es,IStore as ts,IJsonRpcHistory as is,IExpirer as ss,IVerify as rs,IEchoClient as ns,IEventClient as os,ICore as as}from\"@walletconnect/types\";import{ONE_DAY as ie,SIX_HOURS as cs,THIRTY_DAYS as Ce,FIVE_SECONDS as Pe,THIRTY_SECONDS as Se,toMiliseconds as R,ONE_MINUTE as tt,ONE_SECOND as Z,FIVE_MINUTES as fe,fromMiliseconds as it}from\"@walletconnect/time\";import{safeJsonStringify as hs,safeJsonParse as st}from\"@walletconnect/safe-json\";import*as De from\"@walletconnect/relay-auth\";import{decodeJWT as rt}from\"@walletconnect/relay-auth\";import{mapToObj as Oe,objToMap as Re,getInternalError as m,generateRandomBytes32 as Ae,generateKeyPair as ls,deriveSymKey as us,hashKey as ds,validateEncoding as gs,isTypeTwoEnvelope as nt,encodeTypeTwoEnvelope as ps,isTypeOneEnvelope as ot,encrypt as ys,validateDecoding as bs,decodeTypeTwoEnvelope as ms,decrypt as fs,deserialize as at,decodeTypeByte as Ds,BASE64 as ct,BASE16 as vs,hashMessage as ve,getRelayProtocolApi as oe,getRelayProtocolName as we,isUndefined as xe,createExpiringPromise as X,getSdkError as ae,sleep as ws,isAndroid as _s,getAppId as ht,isIos as Es,isOnline as lt,calcExpiry as ce,isNode as ut,formatRelayRpcUrl as Is,subscribeToNetworkChange as Ts,isAppVisible as Cs,isProposalStruct as Ps,isSessionStruct as Ss,parseExpirerTarget as Os,TYPE_1 as Rs,formatUri as dt,parseUri as gt,createDelayedPromise as As,engineEvent as Ne,isExpired as pt,isValidParams as $e,isValidUrl as xs,isValidString as Ns,formatTopicTarget as $s,formatIdTarget as zs,isTestRun as yt,isBrowser as Ls,verifyP256Jwt as ks,uuidv4 as bt,formatUA as js,getAppMetadata as Us}from\"@walletconnect/utils\";import{toString as Fs}from\"uint8arrays\";import{JsonRpcProvider as Ms}from\"@walletconnect/jsonrpc-provider\";import{getBigIntRpcId as mt,isJsonRpcRequest as ft,isJsonRpcResponse as Dt,formatJsonRpcResult as vt,formatJsonRpcRequest as wt,formatJsonRpcError as Ks,isJsonRpcResult as Bs,isJsonRpcError as _t}from\"@walletconnect/jsonrpc-utils\";import Vs from\"@walletconnect/jsonrpc-ws-connection\";import{getDocument as qs}from\"@walletconnect/window-getters\";const ze=\"wc\",Le=2,he=\"core\",B=`${ze}@2:${he}:`,Et={name:he,logger:\"error\"},It={database:\":memory:\"},Tt=\"crypto\",ke=\"client_ed25519_seed\",Ct=ie,Pt=\"keychain\",St=\"0.3\",Ot=\"messages\",Rt=\"0.3\",je=cs,At=\"publisher\",xt=\"irn\",Nt=\"error\",Ue=\"wss://relay.walletconnect.org\",$t=\"relayer\",C={message:\"relayer_message\",message_ack:\"relayer_message_ack\",connect:\"relayer_connect\",disconnect:\"relayer_disconnect\",error:\"relayer_error\",connection_stalled:\"relayer_connection_stalled\",transport_closed:\"relayer_transport_closed\",publish:\"relayer_publish\"},zt=\"_subscription\",L={payload:\"payload\",connect:\"connect\",disconnect:\"disconnect\",error:\"error\"},Lt=.1,Gs={database:\":memory:\"},_e=\"2.21.1\",Ws=1e4,Q={link_mode:\"link_mode\",relay:\"relay\"},le={inbound:\"inbound\",outbound:\"outbound\"},kt=\"0.3\",jt=\"WALLETCONNECT_CLIENT_ID\",Fe=\"WALLETCONNECT_LINK_MODE_APPS\",$={created:\"subscription_created\",deleted:\"subscription_deleted\",expired:\"subscription_expired\",disabled:\"subscription_disabled\",sync:\"subscription_sync\",resubscribed:\"subscription_resubscribed\"},Hs=Ce,Ut=\"subscription\",Ft=\"0.3\",Ys=Pe*1e3,Mt=\"pairing\",Kt=\"0.3\",Js=Ce,se={wc_pairingDelete:{req:{ttl:ie,prompt:!1,tag:1e3},res:{ttl:ie,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:Se,prompt:!1,tag:1002},res:{ttl:Se,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:ie,prompt:!1,tag:0},res:{ttl:ie,prompt:!1,tag:0}}},re={create:\"pairing_create\",expire:\"pairing_expire\",delete:\"pairing_delete\",ping:\"pairing_ping\"},F={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},Bt=\"history\",Vt=\"0.3\",qt=\"expirer\",M={created:\"expirer_created\",deleted:\"expirer_deleted\",expired:\"expirer_expired\",sync:\"expirer_sync\"},Gt=\"0.3\",Xs=ie,Wt=\"verify-api\",Zs=\"https://verify.walletconnect.com\",Ht=\"https://verify.walletconnect.org\",ue=Ht,Yt=`${ue}/v3`,Jt=[Zs,Ht],Xt=\"echo\",Zt=\"https://echo.walletconnect.com\",Qs=\"event-client\",G={pairing_started:\"pairing_started\",pairing_uri_validation_success:\"pairing_uri_validation_success\",pairing_uri_not_expired:\"pairing_uri_not_expired\",store_new_pairing:\"store_new_pairing\",subscribing_pairing_topic:\"subscribing_pairing_topic\",subscribe_pairing_topic_success:\"subscribe_pairing_topic_success\",existing_pairing:\"existing_pairing\",pairing_not_expired:\"pairing_not_expired\",emit_inactive_pairing:\"emit_inactive_pairing\",emit_session_proposal:\"emit_session_proposal\",subscribing_to_pairing_topic:\"subscribing_to_pairing_topic\"},Y={no_wss_connection:\"no_wss_connection\",no_internet_connection:\"no_internet_connection\",malformed_pairing_uri:\"malformed_pairing_uri\",active_pairing_already_exists:\"active_pairing_already_exists\",subscribe_pairing_topic_failure:\"subscribe_pairing_topic_failure\",pairing_expired:\"pairing_expired\",proposal_expired:\"proposal_expired\",proposal_listener_not_found:\"proposal_listener_not_found\"},er={session_approve_started:\"session_approve_started\",proposal_not_expired:\"proposal_not_expired\",session_namespaces_validation_success:\"session_namespaces_validation_success\",create_session_topic:\"create_session_topic\",subscribing_session_topic:\"subscribing_session_topic\",subscribe_session_topic_success:\"subscribe_session_topic_success\",publishing_session_approve:\"publishing_session_approve\",session_approve_publish_success:\"session_approve_publish_success\",store_session:\"store_session\",publishing_session_settle:\"publishing_session_settle\",session_settle_publish_success:\"session_settle_publish_success\"},tr={no_internet_connection:\"no_internet_connection\",no_wss_connection:\"no_wss_connection\",proposal_expired:\"proposal_expired\",subscribe_session_topic_failure:\"subscribe_session_topic_failure\",session_approve_publish_failure:\"session_approve_publish_failure\",session_settle_publish_failure:\"session_settle_publish_failure\",session_approve_namespace_validation_failure:\"session_approve_namespace_validation_failure\",proposal_not_found:\"proposal_not_found\"},ir={authenticated_session_approve_started:\"authenticated_session_approve_started\",authenticated_session_not_expired:\"authenticated_session_not_expired\",chains_caip2_compliant:\"chains_caip2_compliant\",chains_evm_compliant:\"chains_evm_compliant\",create_authenticated_session_topic:\"create_authenticated_session_topic\",cacaos_verified:\"cacaos_verified\",store_authenticated_session:\"store_authenticated_session\",subscribing_authenticated_session_topic:\"subscribing_authenticated_session_topic\",subscribe_authenticated_session_topic_success:\"subscribe_authenticated_session_topic_success\",publishing_authenticated_session_approve:\"publishing_authenticated_session_approve\",authenticated_session_approve_publish_success:\"authenticated_session_approve_publish_success\"},sr={no_internet_connection:\"no_internet_connection\",no_wss_connection:\"no_wss_connection\",missing_session_authenticate_request:\"missing_session_authenticate_request\",session_authenticate_request_expired:\"session_authenticate_request_expired\",chains_caip2_compliant_failure:\"chains_caip2_compliant_failure\",chains_evm_compliant_failure:\"chains_evm_compliant_failure\",invalid_cacao:\"invalid_cacao\",subscribe_authenticated_session_topic_failure:\"subscribe_authenticated_session_topic_failure\",authenticated_session_approve_publish_failure:\"authenticated_session_approve_publish_failure\",authenticated_session_pending_request_not_found:\"authenticated_session_pending_request_not_found\"},Qt=.1,ei=\"event-client\",ti=86400,ii=\"https://pulse.walletconnect.org/batch\";function rr(r,e){if(r.length>=255)throw new TypeError(\"Alphabet too long\");for(var t=new Uint8Array(256),i=0;i<t.length;i++)t[i]=255;for(var s=0;s<r.length;s++){var n=r.charAt(s),o=n.charCodeAt(0);if(t[o]!==255)throw new TypeError(n+\" is ambiguous\");t[o]=s}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function d(u){if(u instanceof Uint8Array||(ArrayBuffer.isView(u)?u=new Uint8Array(u.buffer,u.byteOffset,u.byteLength):Array.isArray(u)&&(u=Uint8Array.from(u))),!(u instanceof Uint8Array))throw new TypeError(\"Expected Uint8Array\");if(u.length===0)return\"\";for(var b=0,x=0,I=0,D=u.length;I!==D&&u[I]===0;)I++,b++;for(var j=(D-I)*l+1>>>0,T=new Uint8Array(j);I!==D;){for(var q=u[I],J=0,K=j-1;(q!==0||J<x)&&K!==-1;K--,J++)q+=256*T[K]>>>0,T[K]=q%a>>>0,q=q/a>>>0;if(q!==0)throw new Error(\"Non-zero carry\");x=J,I++}for(var H=j-x;H!==j&&T[H]===0;)H++;for(var me=c.repeat(b);H<j;++H)me+=r.charAt(T[H]);return me}function g(u){if(typeof u!=\"string\")throw new TypeError(\"Expected String\");if(u.length===0)return new Uint8Array;var b=0;if(u[b]!==\" \"){for(var x=0,I=0;u[b]===c;)x++,b++;for(var D=(u.length-b)*h+1>>>0,j=new Uint8Array(D);u[b];){var T=t[u.charCodeAt(b)];if(T===255)return;for(var q=0,J=D-1;(T!==0||q<I)&&J!==-1;J--,q++)T+=a*j[J]>>>0,j[J]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error(\"Non-zero carry\");I=q,b++}if(u[b]!==\" \"){for(var K=D-I;K!==D&&j[K]===0;)K++;for(var H=new Uint8Array(x+(D-K)),me=x;K!==D;)H[me++]=j[K++];return H}}}function _(u){var b=g(u);if(b)return b;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:g,decode:_}}var nr=rr,or=nr;const si=r=>{if(r instanceof Uint8Array&&r.constructor.name===\"Uint8Array\")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error(\"Unknown type, must be binary type\")},ar=r=>new TextEncoder().encode(r),cr=r=>new TextDecoder().decode(r);class hr{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(\"Unknown type, must be binary type\")}}class lr{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error(\"Invalid prefix character\");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e==\"string\"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error(\"Can only multibase decode strings\")}or(e){return ri(this,e)}}class ur{constructor(e){this.decoders=e}or(e){return ri(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const ri=(r,e)=>new ur({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class dr{constructor(e,t,i,s){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=s,this.encoder=new hr(e,t,i),this.decoder=new lr(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Ee=({name:r,prefix:e,encode:t,decode:i})=>new dr(r,e,t,i),de=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:s}=or(t,e);return Ee({prefix:r,name:e,encode:i,decode:n=>si(s(n))})},gr=(r,e,t,i)=>{const s={};for(let l=0;l<e.length;++l)s[e[l]]=l;let n=r.length;for(;r[n-1]===\"=\";)--n;const o=new Uint8Array(n*t/8|0);let a=0,c=0,h=0;for(let l=0;l<n;++l){const d=s[r[l]];if(d===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<t|d,a+=t,a>=8&&(a-=8,o[h++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError(\"Unexpected end of data\");return o},pr=(r,e,t)=>{const i=e[e.length-1]===\"=\",s=(1<<t)-1;let n=\"\",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>t;)o-=t,n+=e[s&a>>o];if(o&&(n+=e[s&a<<t-o]),i)for(;n.length*t&7;)n+=\"=\";return n},P=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>Ee({prefix:e,name:r,encode(s){return pr(s,i,t)},decode(s){return gr(s,i,t,r)}}),yr=Ee({prefix:\"\\0\",name:\"identity\",encode:r=>cr(r),decode:r=>ar(r)});var br=Object.freeze({__proto__:null,identity:yr});const mr=P({prefix:\"0\",name:\"base2\",alphabet:\"01\",bitsPerChar:1});var fr=Object.freeze({__proto__:null,base2:mr});const Dr=P({prefix:\"7\",name:\"base8\",alphabet:\"01234567\",bitsPerChar:3});var vr=Object.freeze({__proto__:null,base8:Dr});const wr=de({prefix:\"9\",name:\"base10\",alphabet:\"0123456789\"});var _r=Object.freeze({__proto__:null,base10:wr});const Er=P({prefix:\"f\",name:\"base16\",alphabet:\"0123456789abcdef\",bitsPerChar:4}),Ir=P({prefix:\"F\",name:\"base16upper\",alphabet:\"0123456789ABCDEF\",bitsPerChar:4});var Tr=Object.freeze({__proto__:null,base16:Er,base16upper:Ir});const Cr=P({prefix:\"b\",name:\"base32\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567\",bitsPerChar:5}),Pr=P({prefix:\"B\",name:\"base32upper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\",bitsPerChar:5}),Sr=P({prefix:\"c\",name:\"base32pad\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567=\",bitsPerChar:5}),Or=P({prefix:\"C\",name:\"base32padupper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=\",bitsPerChar:5}),Rr=P({prefix:\"v\",name:\"base32hex\",alphabet:\"0123456789abcdefghijklmnopqrstuv\",bitsPerChar:5}),Ar=P({prefix:\"V\",name:\"base32hexupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV\",bitsPerChar:5}),xr=P({prefix:\"t\",name:\"base32hexpad\",alphabet:\"0123456789abcdefghijklmnopqrstuv=\",bitsPerChar:5}),Nr=P({prefix:\"T\",name:\"base32hexpadupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV=\",bitsPerChar:5}),$r=P({prefix:\"h\",name:\"base32z\",alphabet:\"ybndrfg8ejkmcpqxot1uwisza345h769\",bitsPerChar:5});var zr=Object.freeze({__proto__:null,base32:Cr,base32upper:Pr,base32pad:Sr,base32padupper:Or,base32hex:Rr,base32hexupper:Ar,base32hexpad:xr,base32hexpadupper:Nr,base32z:$r});const Lr=de({prefix:\"k\",name:\"base36\",alphabet:\"0123456789abcdefghijklmnopqrstuvwxyz\"}),kr=de({prefix:\"K\",name:\"base36upper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"});var jr=Object.freeze({__proto__:null,base36:Lr,base36upper:kr});const Ur=de({name:\"base58btc\",prefix:\"z\",alphabet:\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"}),Fr=de({name:\"base58flickr\",prefix:\"Z\",alphabet:\"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ\"});var Mr=Object.freeze({__proto__:null,base58btc:Ur,base58flickr:Fr});const Kr=P({prefix:\"m\",name:\"base64\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",bitsPerChar:6}),Br=P({prefix:\"M\",name:\"base64pad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",bitsPerChar:6}),Vr=P({prefix:\"u\",name:\"base64url\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\",bitsPerChar:6}),qr=P({prefix:\"U\",name:\"base64urlpad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=\",bitsPerChar:6});var Gr=Object.freeze({__proto__:null,base64:Kr,base64pad:Br,base64url:Vr,base64urlpad:qr});const ni=Array.from(\"\\u{1F680}\\u{1FA90}\\u2604\\u{1F6F0}\\u{1F30C}\\u{1F311}\\u{1F312}\\u{1F313}\\u{1F314}\\u{1F315}\\u{1F316}\\u{1F317}\\u{1F318}\\u{1F30D}\\u{1F30F}\\u{1F30E}\\u{1F409}\\u2600\\u{1F4BB}\\u{1F5A5}\\u{1F4BE}\\u{1F4BF}\\u{1F602}\\u2764\\u{1F60D}\\u{1F923}\\u{1F60A}\\u{1F64F}\\u{1F495}\\u{1F62D}\\u{1F618}\\u{1F44D}\\u{1F605}\\u{1F44F}\\u{1F601}\\u{1F525}\\u{1F970}\\u{1F494}\\u{1F496}\\u{1F499}\\u{1F622}\\u{1F914}\\u{1F606}\\u{1F644}\\u{1F4AA}\\u{1F609}\\u263A\\u{1F44C}\\u{1F917}\\u{1F49C}\\u{1F614}\\u{1F60E}\\u{1F607}\\u{1F339}\\u{1F926}\\u{1F389}\\u{1F49E}\\u270C\\u2728\\u{1F937}\\u{1F631}\\u{1F60C}\\u{1F338}\\u{1F64C}\\u{1F60B}\\u{1F497}\\u{1F49A}\\u{1F60F}\\u{1F49B}\\u{1F642}\\u{1F493}\\u{1F929}\\u{1F604}\\u{1F600}\\u{1F5A4}\\u{1F603}\\u{1F4AF}\\u{1F648}\\u{1F447}\\u{1F3B6}\\u{1F612}\\u{1F92D}\\u2763\\u{1F61C}\\u{1F48B}\\u{1F440}\\u{1F62A}\\u{1F611}\\u{1F4A5}\\u{1F64B}\\u{1F61E}\\u{1F629}\\u{1F621}\\u{1F92A}\\u{1F44A}\\u{1F973}\\u{1F625}\\u{1F924}\\u{1F449}\\u{1F483}\\u{1F633}\\u270B\\u{1F61A}\\u{1F61D}\\u{1F634}\\u{1F31F}\\u{1F62C}\\u{1F643}\\u{1F340}\\u{1F337}\\u{1F63B}\\u{1F613}\\u2B50\\u2705\\u{1F97A}\\u{1F308}\\u{1F608}\\u{1F918}\\u{1F4A6}\\u2714\\u{1F623}\\u{1F3C3}\\u{1F490}\\u2639\\u{1F38A}\\u{1F498}\\u{1F620}\\u261D\\u{1F615}\\u{1F33A}\\u{1F382}\\u{1F33B}\\u{1F610}\\u{1F595}\\u{1F49D}\\u{1F64A}\\u{1F639}\\u{1F5E3}\\u{1F4AB}\\u{1F480}\\u{1F451}\\u{1F3B5}\\u{1F91E}\\u{1F61B}\\u{1F534}\\u{1F624}\\u{1F33C}\\u{1F62B}\\u26BD\\u{1F919}\\u2615\\u{1F3C6}\\u{1F92B}\\u{1F448}\\u{1F62E}\\u{1F646}\\u{1F37B}\\u{1F343}\\u{1F436}\\u{1F481}\\u{1F632}\\u{1F33F}\\u{1F9E1}\\u{1F381}\\u26A1\\u{1F31E}\\u{1F388}\\u274C\\u270A\\u{1F44B}\\u{1F630}\\u{1F928}\\u{1F636}\\u{1F91D}\\u{1F6B6}\\u{1F4B0}\\u{1F353}\\u{1F4A2}\\u{1F91F}\\u{1F641}\\u{1F6A8}\\u{1F4A8}\\u{1F92C}\\u2708\\u{1F380}\\u{1F37A}\\u{1F913}\\u{1F619}\\u{1F49F}\\u{1F331}\\u{1F616}\\u{1F476}\\u{1F974}\\u25B6\\u27A1\\u2753\\u{1F48E}\\u{1F4B8}\\u2B07\\u{1F628}\\u{1F31A}\\u{1F98B}\\u{1F637}\\u{1F57A}\\u26A0\\u{1F645}\\u{1F61F}\\u{1F635}\\u{1F44E}\\u{1F932}\\u{1F920}\\u{1F927}\\u{1F4CC}\\u{1F535}\\u{1F485}\\u{1F9D0}\\u{1F43E}\\u{1F352}\\u{1F617}\\u{1F911}\\u{1F30A}\\u{1F92F}\\u{1F437}\\u260E\\u{1F4A7}\\u{1F62F}\\u{1F486}\\u{1F446}\\u{1F3A4}\\u{1F647}\\u{1F351}\\u2744\\u{1F334}\\u{1F4A3}\\u{1F438}\\u{1F48C}\\u{1F4CD}\\u{1F940}\\u{1F922}\\u{1F445}\\u{1F4A1}\\u{1F4A9}\\u{1F450}\\u{1F4F8}\\u{1F47B}\\u{1F910}\\u{1F92E}\\u{1F3BC}\\u{1F975}\\u{1F6A9}\\u{1F34E}\\u{1F34A}\\u{1F47C}\\u{1F48D}\\u{1F4E3}\\u{1F942}\"),Wr=ni.reduce((r,e,t)=>(r[t]=e,r),[]),Hr=ni.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Yr(r){return r.reduce((e,t)=>(e+=Wr[t],e),\"\")}function Jr(r){const e=[];for(const t of r){const i=Hr[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const Xr=Ee({prefix:\"\\u{1F680}\",name:\"base256emoji\",encode:Yr,decode:Jr});var Zr=Object.freeze({__proto__:null,base256emoji:Xr}),Qr=ai,oi=128,en=127,tn=~en,sn=Math.pow(2,31);function ai(r,e,t){e=e||[],t=t||0;for(var i=t;r>=sn;)e[t++]=r&255|oi,r/=128;for(;r&tn;)e[t++]=r&255|oi,r>>>=7;return e[t]=r|0,ai.bytes=t-i+1,e}var rn=Me,nn=128,ci=127;function Me(r,i){var t=0,i=i||0,s=0,n=i,o,a=r.length;do{if(n>=a)throw Me.bytes=0,new RangeError(\"Could not decode varint\");o=r[n++],t+=s<28?(o&ci)<<s:(o&ci)*Math.pow(2,s),s+=7}while(o>=nn);return Me.bytes=n-i,t}var on=Math.pow(2,7),an=Math.pow(2,14),cn=Math.pow(2,21),hn=Math.pow(2,28),ln=Math.pow(2,35),un=Math.pow(2,42),dn=Math.pow(2,49),gn=Math.pow(2,56),pn=Math.pow(2,63),yn=function(r){return r<on?1:r<an?2:r<cn?3:r<hn?4:r<ln?5:r<un?6:r<dn?7:r<gn?8:r<pn?9:10},bn={encode:Qr,decode:rn,encodingLength:yn},hi=bn;const li=(r,e,t=0)=>(hi.encode(r,e,t),e),ui=r=>hi.encodingLength(r),Ke=(r,e)=>{const t=e.byteLength,i=ui(r),s=i+ui(t),n=new Uint8Array(s+t);return li(r,n,0),li(t,n,i),n.set(e,s),new mn(r,t,e,n)};class mn{constructor(e,t,i,s){this.code=e,this.size=t,this.digest=i,this.bytes=s}}const di=({name:r,code:e,encode:t})=>new fn(r,e,t);class fn{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?Ke(this.code,t):t.then(i=>Ke(this.code,i))}else throw Error(\"Unknown type, must be binary type\")}}const gi=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Dn=di({name:\"sha2-256\",code:18,encode:gi(\"SHA-256\")}),vn=di({name:\"sha2-512\",code:19,encode:gi(\"SHA-512\")});var wn=Object.freeze({__proto__:null,sha256:Dn,sha512:vn});const pi=0,_n=\"identity\",yi=si,En=r=>Ke(pi,yi(r)),In={code:pi,name:_n,encode:yi,digest:En};var Tn=Object.freeze({__proto__:null,identity:In});new TextEncoder,new TextDecoder;const bi={...br,...fr,...vr,..._r,...Tr,...zr,...jr,...Mr,...Gr,...Zr};({...wn,...Tn});function Cn(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function mi(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const fi=mi(\"utf8\",\"u\",r=>\"u\"+new TextDecoder(\"utf8\").decode(r),r=>new TextEncoder().encode(r.substring(1))),Be=mi(\"ascii\",\"a\",r=>{let e=\"a\";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);const e=Cn(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Pn={utf8:fi,\"utf-8\":fi,hex:bi.base16,latin1:Be,ascii:Be,binary:Be,...bi};function Sn(r,e=\"utf8\"){const t=Pn[e];if(!t)throw new Error(`Unsupported encoding \"${e}\"`);return(e===\"utf8\"||e===\"utf-8\")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r,\"utf8\"):t.decoder.decode(`${t.prefix}${r}`)}var On=Object.defineProperty,Rn=(r,e,t)=>e in r?On(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,W=(r,e,t)=>Rn(r,typeof e!=\"symbol\"?e+\"\":e,t);class Di{constructor(e,t){this.core=e,this.logger=t,W(this,\"keychain\",new Map),W(this,\"name\",Pt),W(this,\"version\",St),W(this,\"initialized\",!1),W(this,\"storagePrefix\",B),W(this,\"init\",async()=>{if(!this.initialized){const i=await this.getKeyChain();typeof i<\"u\"&&(this.keychain=i),this.initialized=!0}}),W(this,\"has\",i=>(this.isInitialized(),this.keychain.has(i))),W(this,\"set\",async(i,s)=>{this.isInitialized(),this.keychain.set(i,s),await this.persist()}),W(this,\"get\",i=>{this.isInitialized();const s=this.keychain.get(i);if(typeof s>\"u\"){const{message:n}=m(\"NO_MATCHING_KEY\",`${this.name}: ${i}`);throw new Error(n)}return s}),W(this,\"del\",async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()}),this.core=e,this.logger=N(t,this.name)}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Oe(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?Re(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var An=Object.defineProperty,xn=(r,e,t)=>e in r?An(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,S=(r,e,t)=>xn(r,typeof e!=\"symbol\"?e+\"\":e,t);class vi{constructor(e,t,i){this.core=e,this.logger=t,S(this,\"name\",Tt),S(this,\"keychain\"),S(this,\"randomSessionIdentifier\",Ae()),S(this,\"initialized\",!1),S(this,\"init\",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),S(this,\"hasKeys\",s=>(this.isInitialized(),this.keychain.has(s))),S(this,\"getClientId\",async()=>{this.isInitialized();const s=await this.getClientSeed(),n=De.generateKeyPair(s);return De.encodeIss(n.publicKey)}),S(this,\"generateKeyPair\",()=>{this.isInitialized();const s=ls();return this.setPrivateKey(s.publicKey,s.privateKey)}),S(this,\"signJWT\",async s=>{this.isInitialized();const n=await this.getClientSeed(),o=De.generateKeyPair(n),a=this.randomSessionIdentifier,c=Ct;return await De.signJWT(a,s,c,o)}),S(this,\"generateSharedKey\",(s,n,o)=>{this.isInitialized();const a=this.getPrivateKey(s),c=us(a,n);return this.setSymKey(c,o)}),S(this,\"setSymKey\",async(s,n)=>{this.isInitialized();const o=n||ds(s);return await this.keychain.set(o,s),o}),S(this,\"deleteKeyPair\",async s=>{this.isInitialized(),await this.keychain.del(s)}),S(this,\"deleteSymKey\",async s=>{this.isInitialized(),await this.keychain.del(s)}),S(this,\"encode\",async(s,n,o)=>{this.isInitialized();const a=gs(o),c=hs(n);if(nt(a))return ps(c,o?.encoding);if(ot(a)){const g=a.senderPublicKey,_=a.receiverPublicKey;s=await this.generateSharedKey(g,_)}const h=this.getSymKey(s),{type:l,senderPublicKey:d}=a;return ys({type:l,symKey:h,message:c,senderPublicKey:d,encoding:o?.encoding})}),S(this,\"decode\",async(s,n,o)=>{this.isInitialized();const a=bs(n,o);if(nt(a)){const c=ms(n,o?.encoding);return st(c)}if(ot(a)){const c=a.receiverPublicKey,h=a.senderPublicKey;s=await this.generateSharedKey(c,h)}try{const c=this.getSymKey(s),h=fs({symKey:c,encoded:n,encoding:o?.encoding});return st(h)}catch(c){this.logger.error(`Failed to decode message from topic: '${s}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}}),S(this,\"getPayloadType\",(s,n=ct)=>{const o=at({encoded:s,encoding:n});return Ds(o.type)}),S(this,\"getPayloadSenderPublicKey\",(s,n=ct)=>{const o=at({encoded:s,encoding:n});return o.senderPublicKey?Fs(o.senderPublicKey,vs):void 0}),this.core=e,this.logger=N(t,this.name),this.keychain=i||new Di(this.core,this.logger)}get context(){return U(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e=\"\";try{e=this.keychain.get(ke)}catch{e=Ae(),await this.keychain.set(ke,e)}return Sn(e,\"base16\")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Nn=Object.defineProperty,$n=Object.defineProperties,zn=Object.getOwnPropertyDescriptors,wi=Object.getOwnPropertySymbols,Ln=Object.prototype.hasOwnProperty,kn=Object.prototype.propertyIsEnumerable,Ve=(r,e,t)=>e in r?Nn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,jn=(r,e)=>{for(var t in e||(e={}))Ln.call(e,t)&&Ve(r,t,e[t]);if(wi)for(var t of wi(e))kn.call(e,t)&&Ve(r,t,e[t]);return r},Un=(r,e)=>$n(r,zn(e)),k=(r,e,t)=>Ve(r,typeof e!=\"symbol\"?e+\"\":e,t);class _i extends Xi{constructor(e,t){super(e,t),this.logger=e,this.core=t,k(this,\"messages\",new Map),k(this,\"messagesWithoutClientAck\",new Map),k(this,\"name\",Ot),k(this,\"version\",Rt),k(this,\"initialized\",!1),k(this,\"storagePrefix\",B),k(this,\"init\",async()=>{if(!this.initialized){this.logger.trace(\"Initialized\");try{const i=await this.getRelayerMessages();typeof i<\"u\"&&(this.messages=i);const s=await this.getRelayerMessagesWithoutClientAck();typeof s<\"u\"&&(this.messagesWithoutClientAck=s),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}}),k(this,\"set\",async(i,s,n)=>{this.isInitialized();const o=ve(s);let a=this.messages.get(i);if(typeof a>\"u\"&&(a={}),typeof a[o]<\"u\")return o;if(a[o]=s,this.messages.set(i,a),n===le.inbound){const c=this.messagesWithoutClientAck.get(i)||{};this.messagesWithoutClientAck.set(i,Un(jn({},c),{[o]:s}))}return await this.persist(),o}),k(this,\"get\",i=>{this.isInitialized();let s=this.messages.get(i);return typeof s>\"u\"&&(s={}),s}),k(this,\"getWithoutAck\",i=>{this.isInitialized();const s={};for(const n of i){const o=this.messagesWithoutClientAck.get(n)||{};s[n]=Object.values(o)}return s}),k(this,\"has\",(i,s)=>{this.isInitialized();const n=this.get(i),o=ve(s);return typeof n[o]<\"u\"}),k(this,\"ack\",async(i,s)=>{this.isInitialized();const n=this.messagesWithoutClientAck.get(i);if(typeof n>\"u\")return;const o=ve(s);delete n[o],Object.keys(n).length===0?this.messagesWithoutClientAck.delete(i):this.messagesWithoutClientAck.set(i,n),await this.persist()}),k(this,\"del\",async i=>{this.isInitialized(),this.messages.delete(i),this.messagesWithoutClientAck.delete(i),await this.persist()}),this.logger=N(e,this.name),this.core=t}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get storageKeyWithoutClientAck(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name+\"_withoutClientAck\"}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Oe(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,Oe(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?Re(e):void 0}async getRelayerMessagesWithoutClientAck(){const e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<\"u\"?Re(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Fn=Object.defineProperty,Mn=Object.defineProperties,Kn=Object.getOwnPropertyDescriptors,Ei=Object.getOwnPropertySymbols,Bn=Object.prototype.hasOwnProperty,Vn=Object.prototype.propertyIsEnumerable,qe=(r,e,t)=>e in r?Fn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ie=(r,e)=>{for(var t in e||(e={}))Bn.call(e,t)&&qe(r,t,e[t]);if(Ei)for(var t of Ei(e))Vn.call(e,t)&&qe(r,t,e[t]);return r},Ge=(r,e)=>Mn(r,Kn(e)),V=(r,e,t)=>qe(r,typeof e!=\"symbol\"?e+\"\":e,t);class qn extends Zi{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,V(this,\"events\",new ee),V(this,\"name\",At),V(this,\"queue\",new Map),V(this,\"publishTimeout\",R(tt)),V(this,\"initialPublishTimeout\",R(Z*15)),V(this,\"needsTransportRestart\",!1),V(this,\"publish\",async(i,s,n)=>{var o;this.logger.debug(\"Publishing Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{topic:i,message:s,opts:n}});const a=n?.ttl||je,c=we(n),h=n?.prompt||!1,l=n?.tag||0,d=n?.id||mt().toString(),g={topic:i,message:s,opts:{ttl:a,relay:c,prompt:h,tag:l,id:d,attestation:n?.attestation,tvf:n?.tvf}},_=`Failed to publish payload, please try again. id:${d} tag:${l}`;try{const u=new Promise(async b=>{const x=({id:D})=>{g.opts.id===D&&(this.removeRequestFromQueue(D),this.relayer.events.removeListener(C.publish,x),b(g))};this.relayer.events.on(C.publish,x);const I=X(new Promise((D,j)=>{this.rpcPublish({topic:i,message:s,ttl:a,prompt:h,tag:l,id:d,attestation:n?.attestation,tvf:n?.tvf}).then(D).catch(T=>{this.logger.warn(T,T?.message),j(T)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${d} tag:${l}`);try{await I,this.events.removeListener(C.publish,x)}catch(D){this.queue.set(d,Ge(Ie({},g),{attempt:1})),this.logger.warn(D,D?.message)}});this.logger.trace({type:\"method\",method:\"publish\",params:{id:d,topic:i,message:s,opts:n}}),await X(u,this.publishTimeout,_)}catch(u){if(this.logger.debug(\"Failed to Publish Payload\"),this.logger.error(u),(o=n?.internal)!=null&&o.throwOnFailedPublish)throw u}finally{this.queue.delete(d)}}),V(this,\"on\",(i,s)=>{this.events.on(i,s)}),V(this,\"once\",(i,s)=>{this.events.once(i,s)}),V(this,\"off\",(i,s)=>{this.events.off(i,s)}),V(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),this.relayer=e,this.logger=N(t,this.name),this.registerEventListeners()}get context(){return U(this.logger)}async rpcPublish(e){var t,i,s,n;const{topic:o,message:a,ttl:c=je,prompt:h,tag:l,id:d,attestation:g,tvf:_}=e,u={method:oe(we().protocol).publish,params:Ie({topic:o,message:a,ttl:c,prompt:h,tag:l,attestation:g},_),id:d};xe((t=u.params)==null?void 0:t.prompt)&&((i=u.params)==null||delete i.prompt),xe((s=u.params)==null?void 0:s.tag)&&((n=u.params)==null||delete n.tag),this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"message\",direction:\"outgoing\",request:u});const b=await this.relayer.request(u);return this.relayer.events.emit(C.publish,e),this.logger.debug(\"Successfully Published Payload\"),b}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{const i=e.attempt+1;this.queue.set(t,Ge(Ie({},e),{attempt:i}));const{topic:s,message:n,opts:o,attestation:a}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${i}`),await this.rpcPublish(Ge(Ie({},e),{topic:s,message:n,ttl:o.ttl,prompt:o.prompt,tag:o.tag,id:o.id,attestation:a,tvf:o.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(te.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(C.connection_stalled);return}this.checkQueue()}),this.relayer.on(C.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var Gn=Object.defineProperty,Wn=(r,e,t)=>e in r?Gn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ne=(r,e,t)=>Wn(r,typeof e!=\"symbol\"?e+\"\":e,t);class Hn{constructor(){ne(this,\"map\",new Map),ne(this,\"set\",(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])}),ne(this,\"get\",e=>this.map.get(e)||[]),ne(this,\"exists\",(e,t)=>this.get(e).includes(t)),ne(this,\"delete\",(e,t)=>{if(typeof t>\"u\"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const s=i.filter(n=>n!==t);if(!s.length){this.map.delete(e);return}this.map.set(e,s)}),ne(this,\"clear\",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var Yn=Object.defineProperty,Jn=Object.defineProperties,Xn=Object.getOwnPropertyDescriptors,Ii=Object.getOwnPropertySymbols,Zn=Object.prototype.hasOwnProperty,Qn=Object.prototype.propertyIsEnumerable,We=(r,e,t)=>e in r?Yn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ge=(r,e)=>{for(var t in e||(e={}))Zn.call(e,t)&&We(r,t,e[t]);if(Ii)for(var t of Ii(e))Qn.call(e,t)&&We(r,t,e[t]);return r},He=(r,e)=>Jn(r,Xn(e)),f=(r,e,t)=>We(r,typeof e!=\"symbol\"?e+\"\":e,t);class Ti extends Qi{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,f(this,\"subscriptions\",new Map),f(this,\"topicMap\",new Hn),f(this,\"events\",new ee),f(this,\"name\",Ut),f(this,\"version\",Ft),f(this,\"pending\",new Map),f(this,\"cached\",[]),f(this,\"initialized\",!1),f(this,\"storagePrefix\",B),f(this,\"subscribeTimeout\",R(tt)),f(this,\"initialSubscribeTimeout\",R(Z*15)),f(this,\"clientId\"),f(this,\"batchSubscribeTopicsLimit\",500),f(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),f(this,\"subscribe\",async(i,s)=>{this.isInitialized(),this.logger.debug(\"Subscribing Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}});try{const n=we(s),o={topic:i,relay:n,transportType:s?.transportType};this.pending.set(i,o);const a=await this.rpcSubscribe(i,n,s);return typeof a==\"string\"&&(this.onSubscribe(a,o),this.logger.debug(\"Successfully Subscribed Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}})),a}catch(n){throw this.logger.debug(\"Failed to Subscribe Topic\"),this.logger.error(n),n}}),f(this,\"unsubscribe\",async(i,s)=>{this.isInitialized(),typeof s?.id<\"u\"?await this.unsubscribeById(i,s.id,s):await this.unsubscribeByTopic(i,s)}),f(this,\"isSubscribed\",i=>new Promise(s=>{s(this.topicMap.topics.includes(i))})),f(this,\"isKnownTopic\",i=>new Promise(s=>{s(this.topicMap.topics.includes(i)||this.pending.has(i)||this.cached.some(n=>n.topic===i))})),f(this,\"on\",(i,s)=>{this.events.on(i,s)}),f(this,\"once\",(i,s)=>{this.events.once(i,s)}),f(this,\"off\",(i,s)=>{this.events.off(i,s)}),f(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),f(this,\"start\",async()=>{await this.onConnect()}),f(this,\"stop\",async()=>{await this.onDisconnect()}),f(this,\"restart\",async()=>{await this.restore(),await this.onRestart()}),f(this,\"checkPending\",async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const i=[];this.pending.forEach(s=>{i.push(s)}),await this.batchSubscribe(i)}),f(this,\"registerEventListeners\",()=>{this.relayer.core.heartbeat.on(te.pulse,async()=>{await this.checkPending()}),this.events.on($.created,async i=>{const s=$.created;this.logger.info(`Emitting ${s}`),this.logger.debug({type:\"event\",event:s,data:i}),await this.persist()}),this.events.on($.deleted,async i=>{const s=$.deleted;this.logger.info(`Emitting ${s}`),this.logger.debug({type:\"event\",event:s,data:i}),await this.persist()})}),this.relayer=e,this.logger=N(t,this.name),this.clientId=\"\"}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+\"//\"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}get hasAnyTopics(){return this.topicMap.topics.length>0||this.pending.size>0||this.cached.length>0||this.subscriptions.size>0}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}reset(){this.cached=[],this.initialized=!0}onDisable(){this.values.length>0&&(this.cached=this.values),this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async s=>await this.unsubscribeById(e,s,t)))}async unsubscribeById(e,t,i){this.logger.debug(\"Unsubscribing Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:i}});try{const s=we(i);await this.restartToComplete({topic:e,id:t,relay:s}),await this.rpcUnsubscribe(e,t,s);const n=ae(\"USER_DISCONNECTED\",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,n),this.logger.debug(\"Successfully Unsubscribed Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:i}})}catch(s){throw this.logger.debug(\"Failed to Unsubscribe Topic\"),this.logger.error(s),s}}async rpcSubscribe(e,t,i){var s;(!i||i?.transportType===Q.relay)&&await this.restartToComplete({topic:e,id:e,relay:t});const n={method:oe(t.protocol).subscribe,params:{topic:e}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:n});const o=(s=i?.internal)==null?void 0:s.throwOnFailedPublish;try{const a=await this.getSubscriptionId(e);if(i?.transportType===Q.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(n).catch(l=>this.logger.warn(l))},R(Z)),a;const c=new Promise(async l=>{const d=g=>{g.topic===e&&(this.events.removeListener($.created,d),l(g.id))};this.events.on($.created,d);try{const g=await X(new Promise((_,u)=>{this.relayer.request(n).catch(b=>{this.logger.warn(b,b?.message),u(b)}).then(_)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener($.created,d),l(g)}catch{}}),h=await X(c,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!h&&o)throw new Error(`Subscribing to ${e} failed, please try again`);return h?a:null}catch(a){if(this.logger.debug(\"Outgoing Relay Subscribe Payload stalled\"),this.relayer.events.emit(C.connection_stalled),o)throw a}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:oe(t.protocol).batchSubscribe,params:{topics:e.map(s=>s.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});try{await await X(new Promise(s=>{this.relayer.request(i).catch(n=>this.logger.warn(n)).then(s)}),this.subscribeTimeout,\"rpcBatchSubscribe failed, please try again\")}catch{this.relayer.events.emit(C.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const t=e[0].relay,i={method:oe(t.protocol).batchFetchMessages,params:{topics:e.map(n=>n.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});let s;try{s=await await X(new Promise((n,o)=>{this.relayer.request(i).catch(a=>{this.logger.warn(a),o(a)}).then(n)}),this.subscribeTimeout,\"rpcBatchFetchMessages failed, please try again\")}catch{this.relayer.events.emit(C.connection_stalled)}return s}rpcUnsubscribe(e,t,i){const s={method:oe(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:s}),this.relayer.request(s)}onSubscribe(e,t){this.setSubscription(e,He(ge({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,ge({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.logger.debug(\"Setting subscription\"),this.logger.trace({type:\"method\",method:\"setSubscription\",id:e,subscription:t}),this.addSubscription(e,t)}addSubscription(e,t){this.subscriptions.set(e,ge({},t)),this.topicMap.set(t.topic,e),this.events.emit($.created,t)}getSubscription(e){this.logger.debug(\"Getting subscription\"),this.logger.trace({type:\"method\",method:\"getSubscription\",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug(\"Deleting subscription\"),this.logger.trace({type:\"method\",method:\"deleteSubscription\",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit($.deleted,He(ge({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit($.sync)}async onRestart(){if(this.cached.length){const e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let i=0;i<t;i++){const s=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(s)}}this.events.emit($.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>\"u\"||!e.length)return;if(this.subscriptions.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async t=>He(ge({},t),{id:await this.getSubscriptionId(t.topic)})))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);const t=await this.rpcBatchFetchMessages(e);t&&t.messages&&(await ws(R(Z)),await this.relayer.handleBatchMessageEvents(t.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async restartToComplete(e){!this.relayer.connected&&!this.relayer.connecting&&(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||(this.clientId=await this.relayer.core.crypto.getClientId()),this.clientId}async getSubscriptionId(e){return ve(e+await this.getClientId())}}var eo=Object.defineProperty,Ci=Object.getOwnPropertySymbols,to=Object.prototype.hasOwnProperty,io=Object.prototype.propertyIsEnumerable,Ye=(r,e,t)=>e in r?eo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Pi=(r,e)=>{for(var t in e||(e={}))to.call(e,t)&&Ye(r,t,e[t]);if(Ci)for(var t of Ci(e))io.call(e,t)&&Ye(r,t,e[t]);return r},y=(r,e,t)=>Ye(r,typeof e!=\"symbol\"?e+\"\":e,t);class Si extends es{constructor(e){super(e),y(this,\"protocol\",\"wc\"),y(this,\"version\",2),y(this,\"core\"),y(this,\"logger\"),y(this,\"events\",new ee),y(this,\"provider\"),y(this,\"messages\"),y(this,\"subscriber\"),y(this,\"publisher\"),y(this,\"name\",$t),y(this,\"transportExplicitlyClosed\",!1),y(this,\"initialized\",!1),y(this,\"connectionAttemptInProgress\",!1),y(this,\"relayUrl\"),y(this,\"projectId\"),y(this,\"packageName\"),y(this,\"bundleId\"),y(this,\"hasExperiencedNetworkDisruption\",!1),y(this,\"pingTimeout\"),y(this,\"heartBeatTimeout\",R(Se+Pe)),y(this,\"reconnectTimeout\"),y(this,\"connectPromise\"),y(this,\"reconnectInProgress\",!1),y(this,\"requestsInFlight\",[]),y(this,\"connectTimeout\",R(Z*15)),y(this,\"request\",async t=>{var i,s;this.logger.debug(\"Publishing Request Payload\");const n=t.id||mt().toString();await this.toEstablishConnection();try{this.logger.trace({id:n,method:t.method,topic:(i=t.params)==null?void 0:i.topic},\"relayer.request - publishing...\");const o=`${n}:${((s=t.params)==null?void 0:s.tag)||\"\"}`;this.requestsInFlight.push(o);const a=await this.provider.request(t);return this.requestsInFlight=this.requestsInFlight.filter(c=>c!==o),a}catch(o){throw this.logger.debug(`Failed to Publish Request: ${n}`),o}}),y(this,\"resetPingTimeout\",()=>{ut()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var t,i,s,n;try{this.logger.debug({},\"pingTimeout: Connection stalled, terminating...\"),(n=(s=(i=(t=this.provider)==null?void 0:t.connection)==null?void 0:i.socket)==null?void 0:s.terminate)==null||n.call(s)}catch(o){this.logger.warn(o,o?.message)}},this.heartBeatTimeout))}),y(this,\"onPayloadHandler\",t=>{this.onProviderPayload(t),this.resetPingTimeout()}),y(this,\"onConnectHandler\",()=>{this.logger.warn({},\"Relayer connected \\u{1F6DC}\"),this.startPingTimeout(),this.events.emit(C.connect)}),y(this,\"onDisconnectHandler\",()=>{this.logger.warn({},\"Relayer disconnected \\u{1F6D1}\"),this.requestsInFlight=[],this.onProviderDisconnect()}),y(this,\"onProviderErrorHandler\",t=>{this.logger.fatal(`Fatal socket error: ${t.message}`),this.events.emit(C.error,t),this.logger.fatal(\"Fatal socket error received, closing transport\"),this.transportClose()}),y(this,\"registerProviderListeners\",()=>{this.provider.on(L.payload,this.onPayloadHandler),this.provider.on(L.connect,this.onConnectHandler),this.provider.on(L.disconnect,this.onDisconnectHandler),this.provider.on(L.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=typeof e.logger<\"u\"&&typeof e.logger!=\"string\"?N(e.logger,this.name):Yi(et({level:e.logger||Nt})),this.messages=new _i(this.logger,e.core),this.subscriber=new Ti(this,this.logger),this.publisher=new qn(this,this.logger),this.relayUrl=e?.relayUrl||Ue,this.projectId=e.projectId,_s()?this.packageName=ht():Es()&&(this.bundleId=ht()),this.provider={}}async init(){if(this.logger.trace(\"Initialized\"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.hasAnyTopics)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return U(this.logger)}get connected(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===1||!1}get connecting(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===0||this.connectPromise!==void 0||!1}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:Q.relay},le.outbound)}async subscribe(e,t){var i,s,n;this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType===\"relay\")&&await this.toEstablishConnection();const o=typeof((i=t?.internal)==null?void 0:i.throwOnFailedPublish)>\"u\"?!0:(s=t?.internal)==null?void 0:s.throwOnFailedPublish;let a=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||\"\",c;const h=l=>{l.topic===e&&(this.subscriber.off($.created,h),c())};return await Promise.all([new Promise(l=>{c=l,this.subscriber.on($.created,h)}),new Promise(async(l,d)=>{a=await this.subscriber.subscribe(e,Pi({internal:{throwOnFailedPublish:o}},t)).catch(g=>{o&&d(g)})||a,l()})]),a}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await X(this.provider.disconnect(),2e3,\"provider.disconnect()\").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.warn(\"Starting WS connection skipped because the client has no topics to work with.\");return}if(this.connectPromise?(this.logger.debug({},\"Waiting for existing connection attempt to resolve...\"),await this.connectPromise,this.logger.debug({},\"Existing connection attempt resolved\")):(this.connectPromise=new Promise(async(t,i)=>{await this.connect(e).then(t).catch(i).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw new Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},\"Restarting transport...\"),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await lt())throw new Error(\"No internet connection detected. Please restart your network and try again.\")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace(\"Batch message events is empty. Ignoring...\");return}const t=e.sort((i,s)=>i.publishedAt-s.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(const i of t)try{await this.onMessageEvent(i)}catch(s){this.logger.warn(s,\"Error while processing batch message event: \"+s?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){const{topic:i}=e;if(!t.sessionExists){const s=ce(fe),n={topic:i,expiry:s,relay:{protocol:\"irn\"},active:!1};await this.core.pairing.pairings.set(i,n)}this.events.emit(C.message,e),await this.recordMessageEvent(e,le.inbound)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let t=1;for(;t<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${t}...`),await this.createProvider(),await new Promise(async(i,s)=>{const n=()=>{s(new Error(\"Connection interrupted while trying to subscribe\"))};this.provider.once(L.disconnect,n),await X(new Promise((o,a)=>{this.provider.connect().then(o).catch(a)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(o=>{s(o)}).finally(()=>{this.provider.off(L.disconnect,n),clearTimeout(this.reconnectTimeout)}),await new Promise(async(o,a)=>{const c=()=>{a(new Error(\"Connection interrupted while trying to subscribe\"))};this.provider.once(L.disconnect,c),await this.subscriber.start().then(o).catch(a).finally(()=>{this.provider.off(L.disconnect,c)})}),this.hasExperiencedNetworkDisruption=!1,i()})}catch(i){await this.subscriber.stop();const s=i;this.logger.warn({},s.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise(i=>setTimeout(i,R(t*1))),t++}}startPingTimeout(){var e,t,i,s,n;if(ut())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((n=(s=(i=this.provider)==null?void 0:i.connection)==null?void 0:s.socket)==null||n.on(\"ping\",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o,o?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new Ms(new Vs(Is({sdkVersion:_e,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e,t){const{topic:i,message:s}=e;await this.messages.set(i,s,t)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;const s=this.messages.has(t,i);return s&&this.logger.warn(`Ignoring duplicate message: ${i}`),s}async onProviderPayload(e){if(this.logger.debug(\"Incoming Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"incoming\",payload:e}),ft(e)){if(!e.method.endsWith(zt))return;const t=e.params,{topic:i,message:s,publishedAt:n,attestation:o}=t.data,a={topic:i,message:s,publishedAt:n,transportType:Q.relay,attestation:o};this.logger.debug(\"Emitting Relayer Payload\"),this.logger.trace(Pi({type:\"event\",event:t.id},a)),this.events.emit(t.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else Dt(e)&&this.events.emit(C.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,le.inbound),this.events.emit(C.message,e))}async acknowledgePayload(e){const t=vt(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(L.payload,this.onPayloadHandler),this.provider.off(L.connect,this.onConnectHandler),this.provider.off(L.disconnect,this.onDisconnectHandler),this.provider.off(L.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await lt();Ts(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(i=>this.logger.error(i,i?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))}),this.core.heartbeat.on(te.pulse,async()=>{if(!this.transportExplicitlyClosed&&!this.connected&&Cs())try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(t){this.logger.warn(t,t?.message)}})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(C.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},R(Lt)))))}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectPromise){await this.connectPromise;return}await this.connect()}}}function so(){}function Oi(r){if(!r||typeof r!=\"object\")return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype||Object.getPrototypeOf(e)===null?Object.prototype.toString.call(r)===\"[object Object]\":!1}function Ri(r){return Object.getOwnPropertySymbols(r).filter(e=>Object.prototype.propertyIsEnumerable.call(r,e))}function Ai(r){return r==null?r===void 0?\"[object Undefined]\":\"[object Null]\":Object.prototype.toString.call(r)}const ro=\"[object RegExp]\",no=\"[object String]\",oo=\"[object Number]\",ao=\"[object Boolean]\",xi=\"[object Arguments]\",co=\"[object Symbol]\",ho=\"[object Date]\",lo=\"[object Map]\",uo=\"[object Set]\",go=\"[object Array]\",po=\"[object Function]\",yo=\"[object ArrayBuffer]\",Je=\"[object Object]\",bo=\"[object Error]\",mo=\"[object DataView]\",fo=\"[object Uint8Array]\",Do=\"[object Uint8ClampedArray]\",vo=\"[object Uint16Array]\",wo=\"[object Uint32Array]\",_o=\"[object BigUint64Array]\",Eo=\"[object Int8Array]\",Io=\"[object Int16Array]\",To=\"[object Int32Array]\",Co=\"[object BigInt64Array]\",Po=\"[object Float32Array]\",So=\"[object Float64Array]\";function Oo(r,e){return r===e||Number.isNaN(r)&&Number.isNaN(e)}function Ro(r,e,t){return pe(r,e,void 0,void 0,void 0,void 0,t)}function pe(r,e,t,i,s,n,o){const a=o(r,e,t,i,s,n);if(a!==void 0)return a;if(typeof r==typeof e)switch(typeof r){case\"bigint\":case\"string\":case\"boolean\":case\"symbol\":case\"undefined\":return r===e;case\"number\":return r===e||Object.is(r,e);case\"function\":return r===e;case\"object\":return ye(r,e,n,o)}return ye(r,e,n,o)}function ye(r,e,t,i){if(Object.is(r,e))return!0;let s=Ai(r),n=Ai(e);if(s===xi&&(s=Je),n===xi&&(n=Je),s!==n)return!1;switch(s){case no:return r.toString()===e.toString();case oo:{const c=r.valueOf(),h=e.valueOf();return Oo(c,h)}case ao:case ho:case co:return Object.is(r.valueOf(),e.valueOf());case ro:return r.source===e.source&&r.flags===e.flags;case po:return r===e}t=t??new Map;const o=t.get(r),a=t.get(e);if(o!=null&&a!=null)return o===e;t.set(r,e),t.set(e,r);try{switch(s){case lo:{if(r.size!==e.size)return!1;for(const[c,h]of r.entries())if(!e.has(c)||!pe(h,e.get(c),c,r,e,t,i))return!1;return!0}case uo:{if(r.size!==e.size)return!1;const c=Array.from(r.values()),h=Array.from(e.values());for(let l=0;l<c.length;l++){const d=c[l],g=h.findIndex(_=>pe(d,_,void 0,r,e,t,i));if(g===-1)return!1;h.splice(g,1)}return!0}case go:case fo:case Do:case vo:case wo:case _o:case Eo:case Io:case To:case Co:case Po:case So:{if(typeof Buffer<\"u\"&&Buffer.isBuffer(r)!==Buffer.isBuffer(e)||r.length!==e.length)return!1;for(let c=0;c<r.length;c++)if(!pe(r[c],e[c],c,r,e,t,i))return!1;return!0}case yo:return r.byteLength!==e.byteLength?!1:ye(new Uint8Array(r),new Uint8Array(e),t,i);case mo:return r.byteLength!==e.byteLength||r.byteOffset!==e.byteOffset?!1:ye(new Uint8Array(r),new Uint8Array(e),t,i);case bo:return r.name===e.name&&r.message===e.message;case Je:{if(!(ye(r.constructor,e.constructor,t,i)||Oi(r)&&Oi(e)))return!1;const h=[...Object.keys(r),...Ri(r)],l=[...Object.keys(e),...Ri(e)];if(h.length!==l.length)return!1;for(let d=0;d<h.length;d++){const g=h[d],_=r[g];if(!Object.hasOwn(e,g))return!1;const u=e[g];if(!pe(_,u,g,r,e,t,i))return!1}return!0}default:return!1}}finally{t.delete(r),t.delete(e)}}function Ao(r,e){return Ro(r,e,so)}var xo=Object.defineProperty,Ni=Object.getOwnPropertySymbols,No=Object.prototype.hasOwnProperty,$o=Object.prototype.propertyIsEnumerable,Xe=(r,e,t)=>e in r?xo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,$i=(r,e)=>{for(var t in e||(e={}))No.call(e,t)&&Xe(r,t,e[t]);if(Ni)for(var t of Ni(e))$o.call(e,t)&&Xe(r,t,e[t]);return r},z=(r,e,t)=>Xe(r,typeof e!=\"symbol\"?e+\"\":e,t);class zi extends ts{constructor(e,t,i,s=B,n=void 0){super(e,t,i,s),this.core=e,this.logger=t,this.name=i,z(this,\"map\",new Map),z(this,\"version\",kt),z(this,\"cached\",[]),z(this,\"initialized\",!1),z(this,\"getKey\"),z(this,\"storagePrefix\",B),z(this,\"recentlyDeleted\",[]),z(this,\"recentlyDeletedLimit\",200),z(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!xe(o)?this.map.set(this.getKey(o),o):Ps(o)?this.map.set(o.id,o):Ss(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)}),z(this,\"set\",async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug(\"Setting value\"),this.logger.trace({type:\"method\",method:\"set\",key:o,value:a}),this.map.set(o,a),await this.persist())}),z(this,\"get\",o=>(this.isInitialized(),this.logger.debug(\"Getting value\"),this.logger.trace({type:\"method\",method:\"get\",key:o}),this.getData(o))),z(this,\"getAll\",o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(c=>Ao(a[c],o[c]))):this.values)),z(this,\"update\",async(o,a)=>{this.isInitialized(),this.logger.debug(\"Updating value\"),this.logger.trace({type:\"method\",method:\"update\",key:o,update:a});const c=$i($i({},this.getData(o)),a);this.map.set(o,c),await this.persist()}),z(this,\"delete\",async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug(\"Deleting value\"),this.logger.trace({type:\"method\",method:\"delete\",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())}),this.logger=N(t,this.name),this.storagePrefix=s,this.getKey=n}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){const{message:s}=m(\"MISSING_OR_INVALID\",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(s),new Error(s)}const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>\"u\"||!e.length)return;if(this.map.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var zo=Object.defineProperty,Lo=(r,e,t)=>e in r?zo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,p=(r,e,t)=>Lo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Li{constructor(e,t){this.core=e,this.logger=t,p(this,\"name\",Mt),p(this,\"version\",Kt),p(this,\"events\",new Gi),p(this,\"pairings\"),p(this,\"initialized\",!1),p(this,\"storagePrefix\",B),p(this,\"ignoredPayloadTypes\",[Rs]),p(this,\"registeredMethods\",[]),p(this,\"init\",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace(\"Initialized\"))}),p(this,\"register\",({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]}),p(this,\"create\",async i=>{this.isInitialized();const s=Ae(),n=await this.core.crypto.setSymKey(s),o=ce(fe),a={protocol:xt},c={topic:n,expiry:o,relay:a,active:!1,methods:i?.methods},h=dt({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:s,relay:a,expiryTimestamp:o,methods:i?.methods});return this.events.emit(re.create,c),this.core.expirer.set(n,o),await this.pairings.set(n,c),await this.core.relayer.subscribe(n,{transportType:i?.transportType}),{topic:n,uri:h}}),p(this,\"pair\",async i=>{this.isInitialized();const s=this.core.eventClient.createEvent({properties:{topic:i?.uri,trace:[G.pairing_started]}});this.isValidPair(i,s);const{topic:n,symKey:o,relay:a,expiryTimestamp:c,methods:h}=gt(i.uri);s.props.properties.topic=n,s.addTrace(G.pairing_uri_validation_success),s.addTrace(G.pairing_uri_not_expired);let l;if(this.pairings.keys.includes(n)){if(l=this.pairings.get(n),s.addTrace(G.existing_pairing),l.active)throw s.setError(Y.active_pairing_already_exists),new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);s.addTrace(G.pairing_not_expired)}const d=c||ce(fe),g={topic:n,relay:a,expiry:d,active:!1,methods:h};this.core.expirer.set(n,d),await this.pairings.set(n,g),s.addTrace(G.store_new_pairing),i.activatePairing&&await this.activate({topic:n}),this.events.emit(re.create,g),s.addTrace(G.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(o,n),s.addTrace(G.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{s.setError(Y.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:a})}catch(_){throw s.setError(Y.subscribe_pairing_topic_failure),_}return s.addTrace(G.subscribe_pairing_topic_success),g}),p(this,\"activate\",async({topic:i})=>{this.isInitialized();const s=ce(fe);this.core.expirer.set(i,s),await this.pairings.update(i,{active:!0,expiry:s})}),p(this,\"ping\",async i=>{this.isInitialized(),await this.isValidPing(i),this.logger.warn(\"ping() is deprecated and will be removed in the next major release.\");const{topic:s}=i;if(this.pairings.keys.includes(s)){const n=await this.sendRequest(s,\"wc_pairingPing\",{}),{done:o,resolve:a,reject:c}=As();this.events.once(Ne(\"pairing_ping\",n),({error:h})=>{h?c(h):a()}),await o()}}),p(this,\"updateExpiry\",async({topic:i,expiry:s})=>{this.isInitialized(),await this.pairings.update(i,{expiry:s})}),p(this,\"updateMetadata\",async({topic:i,metadata:s})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:s})}),p(this,\"getPairings\",()=>(this.isInitialized(),this.pairings.values)),p(this,\"disconnect\",async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:s}=i;this.pairings.keys.includes(s)&&(await this.sendRequest(s,\"wc_pairingDelete\",ae(\"USER_DISCONNECTED\")),await this.deletePairing(s))}),p(this,\"formatUriFromPairing\",i=>{this.isInitialized();const{topic:s,relay:n,expiry:o,methods:a}=i,c=this.core.crypto.keychain.get(s);return dt({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:c,relay:n,expiryTimestamp:o,methods:a})}),p(this,\"sendRequest\",async(i,s,n)=>{const o=wt(s,n),a=await this.core.crypto.encode(i,o),c=se[s].req;return this.core.history.set(i,o),this.core.relayer.publish(i,a,c),o.id}),p(this,\"sendResult\",async(i,s,n)=>{const o=vt(i,n),a=await this.core.crypto.encode(s,o),c=(await this.core.history.get(s,i)).request.method,h=se[c].res;await this.core.relayer.publish(s,a,h),await this.core.history.resolve(o)}),p(this,\"sendError\",async(i,s,n)=>{const o=Ks(i,n),a=await this.core.crypto.encode(s,o),c=(await this.core.history.get(s,i)).request.method,h=se[c]?se[c].res:se.unregistered_method.res;await this.core.relayer.publish(s,a,h),await this.core.history.resolve(o)}),p(this,\"deletePairing\",async(i,s)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,ae(\"USER_DISCONNECTED\")),this.core.crypto.deleteSymKey(i),s?Promise.resolve():this.core.expirer.del(i)])}),p(this,\"cleanup\",async()=>{const i=this.pairings.getAll().filter(s=>pt(s.expiry));await Promise.all(i.map(s=>this.deletePairing(s.topic)))}),p(this,\"onRelayEventRequest\",async i=>{const{topic:s,payload:n}=i;switch(n.method){case\"wc_pairingPing\":return await this.onPairingPingRequest(s,n);case\"wc_pairingDelete\":return await this.onPairingDeleteRequest(s,n);default:return await this.onUnknownRpcMethodRequest(s,n)}}),p(this,\"onRelayEventResponse\",async i=>{const{topic:s,payload:n}=i,o=(await this.core.history.get(s,n.id)).request.method;switch(o){case\"wc_pairingPing\":return this.onPairingPingResponse(s,n);default:return this.onUnknownRpcMethodResponse(o)}}),p(this,\"onPairingPingRequest\",async(i,s)=>{const{id:n}=s;try{this.isValidPing({topic:i}),await this.sendResult(n,i,!0),this.events.emit(re.ping,{id:n,topic:i})}catch(o){await this.sendError(n,i,o),this.logger.error(o)}}),p(this,\"onPairingPingResponse\",(i,s)=>{const{id:n}=s;setTimeout(()=>{Bs(s)?this.events.emit(Ne(\"pairing_ping\",n),{}):_t(s)&&this.events.emit(Ne(\"pairing_ping\",n),{error:s.error})},500)}),p(this,\"onPairingDeleteRequest\",async(i,s)=>{const{id:n}=s;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(re.delete,{id:n,topic:i})}catch(o){await this.sendError(n,i,o),this.logger.error(o)}}),p(this,\"onUnknownRpcMethodRequest\",async(i,s)=>{const{id:n,method:o}=s;try{if(this.registeredMethods.includes(o))return;const a=ae(\"WC_METHOD_UNSUPPORTED\",o);await this.sendError(n,i,a),this.logger.error(a)}catch(a){await this.sendError(n,i,a),this.logger.error(a)}}),p(this,\"onUnknownRpcMethodResponse\",i=>{this.registeredMethods.includes(i)||this.logger.error(ae(\"WC_METHOD_UNSUPPORTED\",i))}),p(this,\"isValidPair\",(i,s)=>{var n;if(!$e(i)){const{message:a}=m(\"MISSING_OR_INVALID\",`pair() params: ${i}`);throw s.setError(Y.malformed_pairing_uri),new Error(a)}if(!xs(i.uri)){const{message:a}=m(\"MISSING_OR_INVALID\",`pair() uri: ${i.uri}`);throw s.setError(Y.malformed_pairing_uri),new Error(a)}const o=gt(i?.uri);if(!((n=o?.relay)!=null&&n.protocol)){const{message:a}=m(\"MISSING_OR_INVALID\",\"pair() uri#relay-protocol\");throw s.setError(Y.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=m(\"MISSING_OR_INVALID\",\"pair() uri#symKey\");throw s.setError(Y.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&R(o?.expiryTimestamp)<Date.now()){s.setError(Y.pairing_expired);const{message:a}=m(\"EXPIRED\",\"pair() URI has expired. Please try again with a new connection URI.\");throw new Error(a)}}),p(this,\"isValidPing\",async i=>{if(!$e(i)){const{message:n}=m(\"MISSING_OR_INVALID\",`ping() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)}),p(this,\"isValidDisconnect\",async i=>{if(!$e(i)){const{message:n}=m(\"MISSING_OR_INVALID\",`disconnect() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)}),p(this,\"isValidPairingTopic\",async i=>{if(!Ns(i,!1)){const{message:s}=m(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${i}`);throw new Error(s)}if(!this.pairings.keys.includes(i)){const{message:s}=m(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${i}`);throw new Error(s)}if(pt(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:s}=m(\"EXPIRED\",`pairing topic: ${i}`);throw new Error(s)}}),this.core=e,this.logger=N(t,this.name),this.pairings=new zi(this.core,this.logger,this.name,this.storagePrefix)}get context(){return U(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(C.message,async e=>{const{topic:t,message:i,transportType:s}=e;if(this.pairings.keys.includes(t)&&s!==Q.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))try{const n=await this.core.crypto.decode(t,i);ft(n)?(this.core.history.set(t,n),await this.onRelayEventRequest({topic:t,payload:n})):Dt(n)&&(await this.core.history.resolve(n),await this.onRelayEventResponse({topic:t,payload:n}),this.core.history.delete(t,n.id)),await this.core.relayer.messages.ack(t,i)}catch(n){this.logger.error(n)}})}registerExpirerEvents(){this.core.expirer.on(M.expired,async e=>{const{topic:t}=Os(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(re.expire,{topic:t}))})}}var ko=Object.defineProperty,jo=(r,e,t)=>e in r?ko(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,O=(r,e,t)=>jo(r,typeof e!=\"symbol\"?e+\"\":e,t);class ki extends is{constructor(e,t){super(e,t),this.core=e,this.logger=t,O(this,\"records\",new Map),O(this,\"events\",new ee),O(this,\"name\",Bt),O(this,\"version\",Vt),O(this,\"cached\",[]),O(this,\"initialized\",!1),O(this,\"storagePrefix\",B),O(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),O(this,\"set\",(i,s,n)=>{if(this.isInitialized(),this.logger.debug(\"Setting JSON-RPC request history record\"),this.logger.trace({type:\"method\",method:\"set\",topic:i,request:s,chainId:n}),this.records.has(s.id))return;const o={id:s.id,topic:i,request:{method:s.method,params:s.params||null},chainId:n,expiry:ce(Ce)};this.records.set(o.id,o),this.persist(),this.events.emit(F.created,o)}),O(this,\"resolve\",async i=>{if(this.isInitialized(),this.logger.debug(\"Updating JSON-RPC response history record\"),this.logger.trace({type:\"method\",method:\"update\",response:i}),!this.records.has(i.id))return;const s=await this.getRecord(i.id);typeof s.response>\"u\"&&(s.response=_t(i)?{error:i.error}:{result:i.result},this.records.set(s.id,s),this.persist(),this.events.emit(F.updated,s))}),O(this,\"get\",async(i,s)=>(this.isInitialized(),this.logger.debug(\"Getting record\"),this.logger.trace({type:\"method\",method:\"get\",topic:i,id:s}),await this.getRecord(s))),O(this,\"delete\",(i,s)=>{this.isInitialized(),this.logger.debug(\"Deleting record\"),this.logger.trace({type:\"method\",method:\"delete\",id:s}),this.values.forEach(n=>{if(n.topic===i){if(typeof s<\"u\"&&n.id!==s)return;this.records.delete(n.id),this.events.emit(F.deleted,n)}}),this.persist()}),O(this,\"exists\",async(i,s)=>(this.isInitialized(),this.records.has(s)?(await this.getRecord(s)).topic===i:!1)),O(this,\"on\",(i,s)=>{this.events.on(i,s)}),O(this,\"once\",(i,s)=>{this.events.once(i,s)}),O(this,\"off\",(i,s)=>{this.events.off(i,s)}),O(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),this.logger=N(t,this.name)}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<\"u\")return;const i={topic:t.topic,request:wt(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const t=this.records.get(e);if(!t){const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(F.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>\"u\"||!e.length)return;if(this.records.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(F.created,e=>{const t=F.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(F.updated,e=>{const t=F.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(F.deleted,e=>{const t=F.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.core.heartbeat.on(te.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{R(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(F.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Uo=Object.defineProperty,Fo=(r,e,t)=>e in r?Uo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,A=(r,e,t)=>Fo(r,typeof e!=\"symbol\"?e+\"\":e,t);class ji extends ss{constructor(e,t){super(e,t),this.core=e,this.logger=t,A(this,\"expirations\",new Map),A(this,\"events\",new ee),A(this,\"name\",qt),A(this,\"version\",Gt),A(this,\"cached\",[]),A(this,\"initialized\",!1),A(this,\"storagePrefix\",B),A(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),A(this,\"has\",i=>{try{const s=this.formatTarget(i);return typeof this.getExpiration(s)<\"u\"}catch{return!1}}),A(this,\"set\",(i,s)=>{this.isInitialized();const n=this.formatTarget(i),o={target:n,expiry:s};this.expirations.set(n,o),this.checkExpiry(n,o),this.events.emit(M.created,{target:n,expiration:o})}),A(this,\"get\",i=>{this.isInitialized();const s=this.formatTarget(i);return this.getExpiration(s)}),A(this,\"del\",i=>{if(this.isInitialized(),this.has(i)){const s=this.formatTarget(i),n=this.getExpiration(s);this.expirations.delete(s),this.events.emit(M.deleted,{target:s,expiration:n})}}),A(this,\"on\",(i,s)=>{this.events.on(i,s)}),A(this,\"once\",(i,s)=>{this.events.once(i,s)}),A(this,\"off\",(i,s)=>{this.events.off(i,s)}),A(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),this.logger=N(t,this.name)}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e==\"string\")return $s(e);if(typeof e==\"number\")return zs(e);const{message:t}=m(\"UNKNOWN_TYPE\",`Target type: ${typeof e}`);throw new Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(M.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>\"u\"||!e.length)return;if(this.expirations.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const t=this.expirations.get(e);if(!t){const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.warn(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;R(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(M.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(te.pulse,()=>this.checkExpirations()),this.events.on(M.created,e=>{const t=M.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(M.expired,e=>{const t=M.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(M.deleted,e=>{const t=M.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Mo=Object.defineProperty,Ko=(r,e,t)=>e in r?Mo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,w=(r,e,t)=>Ko(r,typeof e!=\"symbol\"?e+\"\":e,t);class Ui extends rs{constructor(e,t,i){super(e,t,i),this.core=e,this.logger=t,this.store=i,w(this,\"name\",Wt),w(this,\"abortController\"),w(this,\"isDevEnv\"),w(this,\"verifyUrlV3\",Yt),w(this,\"storagePrefix\",B),w(this,\"version\",Le),w(this,\"publicKey\"),w(this,\"fetchPromise\"),w(this,\"init\",async()=>{var s;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&R((s=this.publicKey)==null?void 0:s.expiresAt)<Date.now()&&(this.logger.debug(\"verify v2 public key expired\"),await this.removePublicKey()))}),w(this,\"register\",async s=>{if(!Ls()||this.isDevEnv)return;const n=window.location.origin,{id:o,decryptedId:a}=s,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${n}&id=${o}&decryptedId=${a}`;try{const h=qs(),l=this.startAbortTimer(Z*5),d=await new Promise((g,_)=>{const u=()=>{window.removeEventListener(\"message\",x),h.body.removeChild(b),_(\"attestation aborted\")};this.abortController.signal.addEventListener(\"abort\",u);const b=h.createElement(\"iframe\");b.src=c,b.style.display=\"none\",b.addEventListener(\"error\",u,{signal:this.abortController.signal});const x=I=>{if(I.data&&typeof I.data==\"string\")try{const D=JSON.parse(I.data);if(D.type===\"verify_attestation\"){if(rt(D.attestation).payload.id!==o)return;clearInterval(l),h.body.removeChild(b),this.abortController.signal.removeEventListener(\"abort\",u),window.removeEventListener(\"message\",x),g(D.attestation===null?\"\":D.attestation)}}catch(D){this.logger.warn(D)}};h.body.appendChild(b),window.addEventListener(\"message\",x,{signal:this.abortController.signal})});return this.logger.debug(\"jwt attestation\",d),d}catch(h){this.logger.warn(h)}return\"\"}),w(this,\"resolve\",async s=>{if(this.isDevEnv)return\"\";const{attestationId:n,hash:o,encryptedId:a}=s;if(n===\"\"){this.logger.debug(\"resolve: attestationId is empty, skipping\");return}if(n){if(rt(n).payload.id!==a)return;const h=await this.isValidJwtAttestation(n);if(h){if(!h.isVerified){this.logger.warn(\"resolve: jwt attestation: origin url not verified\");return}return h}}if(!o)return;const c=this.getVerifyUrl(s?.verifyUrl);return this.fetchAttestation(o,c)}),w(this,\"fetchAttestation\",async(s,n)=>{this.logger.debug(`resolving attestation: ${s} from url: ${n}`);const o=this.startAbortTimer(Z*5),a=await fetch(`${n}/attestation/${s}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0}),w(this,\"getVerifyUrl\",s=>{let n=s||ue;return Jt.includes(n)||(this.logger.info(`verify url: ${n}, not included in trusted list, assigning default: ${ue}`),n=ue),n}),w(this,\"fetchPublicKey\",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const s=this.startAbortTimer(Pe),n=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(s),await n.json()}catch(s){this.logger.warn(s)}}),w(this,\"persistPublicKey\",async s=>{this.logger.debug(\"persisting public key to local storage\",s),await this.store.setItem(this.storeKey,s),this.publicKey=s}),w(this,\"removePublicKey\",async()=>{this.logger.debug(\"removing verify v2 public key from storage\"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),w(this,\"isValidJwtAttestation\",async s=>{const n=await this.getPublicKey();try{if(n)return this.validateAttestation(s,n)}catch(a){this.logger.error(a),this.logger.warn(\"error validating attestation\")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(s,o)}catch(a){this.logger.error(a),this.logger.warn(\"error validating attestation\")}}),w(this,\"getPublicKey\",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),w(this,\"fetchAndPersistPublicKey\",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async n=>{const o=await this.fetchPublicKey();o&&(await this.persistPublicKey(o),n(o))});const s=await this.fetchPromise;return this.fetchPromise=void 0,s}),w(this,\"validateAttestation\",(s,n)=>{const o=ks(s,n.publicKey),a={hasExpired:R(o.exp)<Date.now(),payload:o};if(a.hasExpired)throw this.logger.warn(\"resolve: jwt attestation expired\"),new Error(\"JWT attestation expired\");return{origin:a.payload.origin,isScam:a.payload.isScam,isVerified:a.payload.isVerified}}),this.logger=N(t,this.name),this.abortController=new AbortController,this.isDevEnv=yt(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//verify:public:key\"}get context(){return U(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),R(e))}}var Bo=Object.defineProperty,Vo=(r,e,t)=>e in r?Bo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Fi=(r,e,t)=>Vo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Mi extends ns{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,Fi(this,\"context\",Xt),Fi(this,\"registerDeviceToken\",async i=>{const{clientId:s,token:n,notificationType:o,enableEncrypted:a=!1}=i,c=`${Zt}/${this.projectId}/clients`;await fetch(c,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({client_id:s,type:o,token:n,always_raw:a})})}),this.logger=N(t,this.context)}}var qo=Object.defineProperty,Ki=Object.getOwnPropertySymbols,Go=Object.prototype.hasOwnProperty,Wo=Object.prototype.propertyIsEnumerable,Ze=(r,e,t)=>e in r?qo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,be=(r,e)=>{for(var t in e||(e={}))Go.call(e,t)&&Ze(r,t,e[t]);if(Ki)for(var t of Ki(e))Wo.call(e,t)&&Ze(r,t,e[t]);return r},E=(r,e,t)=>Ze(r,typeof e!=\"symbol\"?e+\"\":e,t);class Bi extends os{constructor(e,t,i=!0){super(e,t,i),this.core=e,this.logger=t,E(this,\"context\",ei),E(this,\"storagePrefix\",B),E(this,\"storageVersion\",Qt),E(this,\"events\",new Map),E(this,\"shouldPersist\",!1),E(this,\"init\",async()=>{if(!yt())try{const s={eventId:bt(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:\"INIT\",type:\"\",properties:{client_id:await this.core.crypto.getClientId(),user_agent:js(this.core.relayer.protocol,this.core.relayer.version,_e)}}};await this.sendEvent([s])}catch(s){this.logger.warn(s)}}),E(this,\"createEvent\",s=>{const{event:n=\"ERROR\",type:o=\"\",properties:{topic:a,trace:c}}=s,h=bt(),l=this.core.projectId||\"\",d=Date.now(),g=be({eventId:h,timestamp:d,props:{event:n,type:o,properties:{topic:a,trace:c}},bundleId:l,domain:this.getAppDomain()},this.setMethods(h));return this.telemetryEnabled&&(this.events.set(h,g),this.shouldPersist=!0),g}),E(this,\"getEvent\",s=>{const{eventId:n,topic:o}=s;if(n)return this.events.get(n);const a=Array.from(this.events.values()).find(c=>c.props.properties.topic===o);if(a)return be(be({},a),this.setMethods(a.eventId))}),E(this,\"deleteEvent\",s=>{const{eventId:n}=s;this.events.delete(n),this.shouldPersist=!0}),E(this,\"setEventListeners\",()=>{this.core.heartbeat.on(te.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(s=>{it(Date.now())-it(s.timestamp)>ti&&(this.events.delete(s.eventId),this.shouldPersist=!0)})})}),E(this,\"setMethods\",s=>({addTrace:n=>this.addTrace(s,n),setError:n=>this.setError(s,n)})),E(this,\"addTrace\",(s,n)=>{const o=this.events.get(s);o&&(o.props.properties.trace.push(n),this.events.set(s,o),this.shouldPersist=!0)}),E(this,\"setError\",(s,n)=>{const o=this.events.get(s);o&&(o.props.type=n,o.timestamp=Date.now(),this.events.set(s,o),this.shouldPersist=!0)}),E(this,\"persist\",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),E(this,\"restore\",async()=>{try{const s=await this.core.storage.getItem(this.storageKey)||[];if(!s.length)return;s.forEach(n=>{this.events.set(n.eventId,be(be({},n),this.setMethods(n.eventId)))})}catch(s){this.logger.warn(s)}}),E(this,\"submit\",async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const s=[];for(const[n,o]of this.events)o.props.type&&s.push(o);if(s.length!==0)try{if((await this.sendEvent(s)).ok)for(const n of s)this.events.delete(n.eventId),this.shouldPersist=!0}catch(n){this.logger.warn(n)}}),E(this,\"sendEvent\",async s=>{const n=this.getAppDomain()?\"\":\"&sp=desktop\";return await fetch(`${ii}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${_e}${n}`,{method:\"POST\",body:JSON.stringify(s)})}),E(this,\"getAppDomain\",()=>Us().url),this.logger=N(t,this.context),this.telemetryEnabled=i,i?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+\"//\"+this.context}}var Ho=Object.defineProperty,Vi=Object.getOwnPropertySymbols,Yo=Object.prototype.hasOwnProperty,Jo=Object.prototype.propertyIsEnumerable,Qe=(r,e,t)=>e in r?Ho(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,qi=(r,e)=>{for(var t in e||(e={}))Yo.call(e,t)&&Qe(r,t,e[t]);if(Vi)for(var t of Vi(e))Jo.call(e,t)&&Qe(r,t,e[t]);return r},v=(r,e,t)=>Qe(r,typeof e!=\"symbol\"?e+\"\":e,t);class Te extends as{constructor(e){var t;super(e),v(this,\"protocol\",ze),v(this,\"version\",Le),v(this,\"name\",he),v(this,\"relayUrl\"),v(this,\"projectId\"),v(this,\"customStoragePrefix\"),v(this,\"events\",new ee),v(this,\"logger\"),v(this,\"heartbeat\"),v(this,\"relayer\"),v(this,\"crypto\"),v(this,\"storage\"),v(this,\"history\"),v(this,\"expirer\"),v(this,\"pairing\"),v(this,\"verify\"),v(this,\"echoClient\"),v(this,\"linkModeSupportedApps\"),v(this,\"eventClient\"),v(this,\"initialized\",!1),v(this,\"logChunkController\"),v(this,\"on\",(a,c)=>this.events.on(a,c)),v(this,\"once\",(a,c)=>this.events.once(a,c)),v(this,\"off\",(a,c)=>this.events.off(a,c)),v(this,\"removeListener\",(a,c)=>this.events.removeListener(a,c)),v(this,\"dispatchEnvelope\",({topic:a,message:c,sessionExists:h})=>{if(!a||!c)return;const l={topic:a,message:c,publishedAt:Date.now(),transportType:Q.link_mode};this.relayer.onLinkMessageEvent(l,{sessionExists:h})});const i=this.getGlobalCore(e?.customStoragePrefix);if(i)try{return this.customStoragePrefix=i.customStoragePrefix,this.logger=i.logger,this.heartbeat=i.heartbeat,this.crypto=i.crypto,this.history=i.history,this.expirer=i.expirer,this.storage=i.storage,this.relayer=i.relayer,this.pairing=i.pairing,this.verify=i.verify,this.echoClient=i.echoClient,this.linkModeSupportedApps=i.linkModeSupportedApps,this.eventClient=i.eventClient,this.initialized=i.initialized,this.logChunkController=i.logChunkController,i}catch(a){console.warn(\"Failed to copy global core\",a)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||Ue,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:\"\";const s=et({level:typeof e?.logger==\"string\"&&e.logger?e.logger:Et.logger,name:he}),{logger:n,chunkLoggerController:o}=Ji({opts:s,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=o,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var a,c;(a=this.logChunkController)!=null&&a.downloadLogsBlobInBrowser&&((c=this.logChunkController)==null||c.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=N(n,this.name),this.heartbeat=new Wi,this.crypto=new vi(this,this.logger,e?.keychain),this.history=new ki(this,this.logger),this.expirer=new ji(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Hi(qi(qi({},It),e?.storageOptions)),this.relayer=new Si({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new Li(this,this.logger),this.verify=new Ui(this,this.logger,this.storage),this.echoClient=new Mi(this.projectId||\"\",this.logger),this.linkModeSupportedApps=[],this.eventClient=new Bi(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(e){const t=new Te(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(jt,i),t}get context(){return U(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(Fe,this.linkModeSupportedApps))}async initialize(){this.logger.trace(\"Initialized\");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(Fe)||[],this.initialized=!0,this.logger.info(\"Core Initialization Success\")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}getGlobalCore(e=\"\"){try{if(this.isGlobalCoreDisabled())return;const t=`_walletConnectCore_${e}`,i=`${t}_count`;return globalThis[i]=(globalThis[i]||0)+1,globalThis[i]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[i]} times.`),globalThis[t]}catch(t){console.warn(\"Failed to get global WalletConnect core\",t);return}}setGlobalCore(e){var t;try{if(this.isGlobalCoreDisabled())return;const i=`_walletConnectCore_${((t=e.opts)==null?void 0:t.customStoragePrefix)||\"\"}`;globalThis[i]=e}catch(i){console.warn(\"Failed to set global WalletConnect core\",i)}}isGlobalCoreDisabled(){try{return typeof process<\"u\"&&process.env.DISABLE_GLOBAL_CORE===\"true\"}catch{return!0}}}const Xo=Te;export{he as CORE_CONTEXT,Et as CORE_DEFAULT,ze as CORE_PROTOCOL,It as CORE_STORAGE_OPTIONS,B as CORE_STORAGE_PREFIX,Le as CORE_VERSION,ke as CRYPTO_CLIENT_SEED,Tt as CRYPTO_CONTEXT,Ct as CRYPTO_JWT_TTL,Xo as Core,vi as Crypto,Xt as ECHO_CONTEXT,Zt as ECHO_URL,ii as EVENTS_CLIENT_API_URL,ti as EVENTS_STORAGE_CLEANUP_INTERVAL,ei as EVENTS_STORAGE_CONTEXT,Qt as EVENTS_STORAGE_VERSION,sr as EVENT_CLIENT_AUTHENTICATE_ERRORS,ir as EVENT_CLIENT_AUTHENTICATE_TRACES,Qs as EVENT_CLIENT_CONTEXT,Y as EVENT_CLIENT_PAIRING_ERRORS,G as EVENT_CLIENT_PAIRING_TRACES,tr as EVENT_CLIENT_SESSION_ERRORS,er as EVENT_CLIENT_SESSION_TRACES,qt as EXPIRER_CONTEXT,Xs as EXPIRER_DEFAULT_TTL,M as EXPIRER_EVENTS,Gt as EXPIRER_STORAGE_VERSION,Mi as EchoClient,Bi as EventClient,ji as Expirer,Bt as HISTORY_CONTEXT,F as HISTORY_EVENTS,Vt as HISTORY_STORAGE_VERSION,ki as JsonRpcHistory,Pt as KEYCHAIN_CONTEXT,St as KEYCHAIN_STORAGE_VERSION,Di as KeyChain,Ot as MESSAGES_CONTEXT,Rt as MESSAGES_STORAGE_VERSION,le as MESSAGE_DIRECTION,_i as MessageTracker,Mt as PAIRING_CONTEXT,Js as PAIRING_DEFAULT_TTL,re as PAIRING_EVENTS,se as PAIRING_RPC_OPTS,Kt as PAIRING_STORAGE_VERSION,Ys as PENDING_SUB_RESOLUTION_TIMEOUT,At as PUBLISHER_CONTEXT,je as PUBLISHER_DEFAULT_TTL,Li as Pairing,$t as RELAYER_CONTEXT,Nt as RELAYER_DEFAULT_LOGGER,xt as RELAYER_DEFAULT_PROTOCOL,Ue as RELAYER_DEFAULT_RELAY_URL,C as RELAYER_EVENTS,L as RELAYER_PROVIDER_EVENTS,Lt as RELAYER_RECONNECT_TIMEOUT,_e as RELAYER_SDK_VERSION,Gs as RELAYER_STORAGE_OPTIONS,zt as RELAYER_SUBSCRIBER_SUFFIX,Ws as RELAYER_TRANSPORT_CUTOFF,Si as Relayer,kt as STORE_STORAGE_VERSION,Ut as SUBSCRIBER_CONTEXT,Hs as SUBSCRIBER_DEFAULT_TTL,$ as SUBSCRIBER_EVENTS,Ft as SUBSCRIBER_STORAGE_VERSION,zi as Store,Ti as Subscriber,Q as TRANSPORT_TYPES,Jt as TRUSTED_VERIFY_URLS,Wt as VERIFY_CONTEXT,ue as VERIFY_SERVER,Yt as VERIFY_SERVER_V3,Ui as Verify,jt as WALLETCONNECT_CLIENT_ID,Fe as WALLETCONNECT_LINK_MODE_APPS,Te as default};\n//# sourceMappingURL=index.es.js.map\n","import{RELAYER_EVENTS as Xe,TRANSPORT_TYPES as P,EXPIRER_EVENTS as Tt,PAIRING_EVENTS as Je,RELAYER_DEFAULT_PROTOCOL as qt,EVENT_CLIENT_SESSION_TRACES as k,EVENT_CLIENT_SESSION_ERRORS as H,EVENT_CLIENT_AUTHENTICATE_TRACES as z,EVENT_CLIENT_AUTHENTICATE_ERRORS as re,EVENT_CLIENT_PAIRING_ERRORS as Pt,EVENT_CLIENT_PAIRING_TRACES as Nt,VERIFY_SERVER as Ot,Store as B,Core as bt}from\"@walletconnect/core\";import{pino as At,getDefaultLoggerOptions as xt,generateChildLogger as Ct,getLoggerContext as Vt}from\"@walletconnect/logger\";import{IEngine as Dt,ISignClient as Lt}from\"@walletconnect/types\";import{THIRTY_DAYS as kt,SEVEN_DAYS as Be,FIVE_MINUTES as C,ONE_DAY as U,ONE_HOUR as We,ONE_SECOND as Ze,toMiliseconds as Oe}from\"@walletconnect/time\";import{getInternalError as y,BASE64URL as ne,BASE64 as de,hashMessage as W,parseExpirerTarget as Mt,isValidString as Y,isExpired as Z,isValidId as $t,mergeRequiredAndOptionalNamespaces as Kt,calcExpiry as V,engineEvent as R,createDelayedPromise as ee,getSdkError as O,getDeepLink as Ut,handleDeeplinkRedirect as Gt,isSessionCompatible as jt,hashKey as be,parseChainId as Ae,createEncodedRecap as Ft,getRecapFromResources as xe,mergeEncodedRecaps as Qt,TYPE_2 as Ht,getLinkModeURL as ue,validateSignedCacao as et,getNamespacedDidChainId as tt,getDidAddress as st,getMethodsFromRecap as it,getChainsFromRecap as rt,buildNamespacesFromAuth as nt,formatMessage as zt,MemoryStore as oe,isValidParams as M,isUndefined as X,isValidRelays as Yt,isValidObject as ot,isValidRequiredNamespaces as Xt,isValidNamespaces as Ce,isConformingNamespaces as at,isValidErrorReason as Jt,isValidRelay as Bt,isValidController as Wt,isValidNamespacesChainId as ct,isValidRequest as Zt,isValidNamespacesRequest as es,isValidRequestExpiry as ts,isValidResponse as ss,isValidEvent as is,isValidNamespacesEvent as rs,getSearchParamFromURL as lt,isTestRun as ns,isReactNative as os,isValidArray as as,extractSolanaTransactionId as cs,TYPE_1 as Ve,populateAppMetadata as ls}from\"@walletconnect/utils\";import ps,{EventEmitter as hs}from\"events\";import{isJsonRpcRequest as ds,isJsonRpcResponse as us,payloadId as G,getBigIntRpcId as ge,isJsonRpcResult as j,isJsonRpcError as F,formatJsonRpcRequest as ye,formatJsonRpcResult as gs,formatJsonRpcError as ys}from\"@walletconnect/jsonrpc-utils\";const De=\"wc\",Le=2,ke=\"client\",we=`${De}@${Le}:${ke}:`,me={name:ke,logger:\"error\",controller:!1,relayUrl:\"wss://relay.walletconnect.org\"},ws={session_proposal:\"session_proposal\",session_update:\"session_update\",session_extend:\"session_extend\",session_ping:\"session_ping\",session_delete:\"session_delete\",session_expire:\"session_expire\",session_request:\"session_request\",session_request_sent:\"session_request_sent\",session_event:\"session_event\",proposal_expire:\"proposal_expire\",session_authenticate:\"session_authenticate\",session_request_expire:\"session_request_expire\",session_connect:\"session_connect\"},ms={database:\":memory:\"},Me=\"WALLETCONNECT_DEEPLINK_CHOICE\",_s={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},Es=\"history\",fs=\"0.3\",pt=\"proposal\",Ss=kt,$e=\"Proposal expired\",ht=\"session\",J=Be,dt=\"engine\",N={wc_sessionPropose:{req:{ttl:C,prompt:!0,tag:1100},res:{ttl:C,prompt:!1,tag:1101},reject:{ttl:C,prompt:!1,tag:1120},autoReject:{ttl:C,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:C,prompt:!1,tag:1102},res:{ttl:C,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:U,prompt:!1,tag:1104},res:{ttl:U,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:U,prompt:!1,tag:1106},res:{ttl:U,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:C,prompt:!0,tag:1108},res:{ttl:C,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:C,prompt:!0,tag:1110},res:{ttl:C,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:U,prompt:!1,tag:1112},res:{ttl:U,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:U,prompt:!1,tag:1114},res:{ttl:U,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:We,prompt:!0,tag:1116},res:{ttl:We,prompt:!1,tag:1117},reject:{ttl:C,prompt:!1,tag:1118},autoReject:{ttl:C,prompt:!1,tag:1119}}},_e={min:C,max:Be},$={idle:\"IDLE\",active:\"ACTIVE\"},Ke={eth_sendTransaction:{key:\"\"},eth_sendRawTransaction:{key:\"\"},wallet_sendCalls:{key:\"\"},solana_signTransaction:{key:\"signature\"},solana_signAllTransactions:{key:\"transactions\"},solana_signAndSendTransaction:{key:\"signature\"}},ut=\"request\",gt=[\"wc_sessionPropose\",\"wc_sessionRequest\",\"wc_authRequest\",\"wc_sessionAuthenticate\"],yt=\"wc\",Rs=1.5,wt=\"auth\",mt=\"authKeys\",_t=\"pairingTopics\",Et=\"requests\",ae=`${yt}@${1.5}:${wt}:`,ce=`${ae}:PUB_KEY`;var vs=Object.defineProperty,Is=Object.defineProperties,Ts=Object.getOwnPropertyDescriptors,ft=Object.getOwnPropertySymbols,qs=Object.prototype.hasOwnProperty,Ps=Object.prototype.propertyIsEnumerable,Ue=(S,n,e)=>n in S?vs(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,v=(S,n)=>{for(var e in n||(n={}))qs.call(n,e)&&Ue(S,e,n[e]);if(ft)for(var e of ft(n))Ps.call(n,e)&&Ue(S,e,n[e]);return S},b=(S,n)=>Is(S,Ts(n)),c=(S,n,e)=>Ue(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ns extends Dt{constructor(n){super(n),c(this,\"name\",dt),c(this,\"events\",new ps),c(this,\"initialized\",!1),c(this,\"requestQueue\",{state:$.idle,queue:[]}),c(this,\"sessionRequestQueue\",{state:$.idle,queue:[]}),c(this,\"requestQueueDelay\",Ze),c(this,\"expectedPairingMethodMap\",new Map),c(this,\"recentlyDeletedMap\",new Map),c(this,\"recentlyDeletedLimit\",200),c(this,\"relayMessageCache\",[]),c(this,\"pendingSessions\",new Map),c(this,\"init\",async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(N)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Oe(this.requestQueueDelay)))}),c(this,\"connect\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();const t=b(v({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t),t.optionalNamespaces=Kt(t.requiredNamespaces,t.optionalNamespaces),t.requiredNamespaces={};const{pairingTopic:s,requiredNamespaces:i,optionalNamespaces:r,sessionProperties:o,scopedProperties:a,relays:l}=t;let p=s,h,u=!1;try{if(p){const T=this.client.core.pairing.pairings.get(p);this.client.logger.warn(\"connect() with existing pairing topic is deprecated and will be removed in the next major release.\"),u=T.active}}catch(T){throw this.client.logger.error(`connect() -> pairing.get(${p}) failed`),T}if(!p||!u){const{topic:T,uri:K}=await this.client.core.pairing.create();p=T,h=K}if(!p){const{message:T}=y(\"NO_MATCHING_KEY\",`connect() pairing topic: ${p}`);throw new Error(T)}const d=await this.client.core.crypto.generateKeyPair(),w=N.wc_sessionPropose.req.ttl||C,m=V(w),f=b(v(v({requiredNamespaces:i,optionalNamespaces:r,relays:l??[{protocol:qt}],proposer:{publicKey:d,metadata:this.client.metadata},expiryTimestamp:m,pairingTopic:p},o&&{sessionProperties:o}),a&&{scopedProperties:a}),{id:G()}),_=R(\"session_connect\",f.id),{reject:g,resolve:A,done:D}=ee(w,$e),I=({id:T})=>{T===f.id&&(this.client.events.off(\"proposal_expire\",I),this.pendingSessions.delete(f.id),this.events.emit(_,{error:{message:$e,code:0}}))};return this.client.events.on(\"proposal_expire\",I),this.events.once(_,({error:T,session:K})=>{this.client.events.off(\"proposal_expire\",I),T?g(T):K&&A(K)}),await this.sendRequest({topic:p,method:\"wc_sessionPropose\",params:f,throwOnFailedPublish:!0,clientRpcId:f.id}),await this.setProposal(f.id,f),{uri:h,approval:D}}),c(this,\"pair\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(t){throw this.client.logger.error(\"pair() failed\"),t}}),c(this,\"approve\",async e=>{var t,s,i;const r=this.client.core.eventClient.createEvent({properties:{topic:(t=e?.id)==null?void 0:t.toString(),trace:[k.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(q){throw r.setError(H.no_internet_connection),q}try{await this.isValidProposalId(e?.id)}catch(q){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),r.setError(H.proposal_not_found),q}try{await this.isValidApprove(e)}catch(q){throw this.client.logger.error(\"approve() -> isValidApprove() failed\"),r.setError(H.session_approve_namespace_validation_failure),q}const{id:o,relayProtocol:a,namespaces:l,sessionProperties:p,scopedProperties:h,sessionConfig:u}=e,d=this.client.proposal.get(o);this.client.core.eventClient.deleteEvent({eventId:r.eventId});const{pairingTopic:w,proposer:m,requiredNamespaces:f,optionalNamespaces:_}=d;let g=(s=this.client.core.eventClient)==null?void 0:s.getEvent({topic:w});g||(g=(i=this.client.core.eventClient)==null?void 0:i.createEvent({type:k.session_approve_started,properties:{topic:w,trace:[k.session_approve_started,k.session_namespaces_validation_success]}}));const A=await this.client.core.crypto.generateKeyPair(),D=m.publicKey,I=await this.client.core.crypto.generateSharedKey(A,D),T=v(v(v({relay:{protocol:a??\"irn\"},namespaces:l,controller:{publicKey:A,metadata:this.client.metadata},expiry:V(J)},p&&{sessionProperties:p}),h&&{scopedProperties:h}),u&&{sessionConfig:u}),K=P.relay;g.addTrace(k.subscribing_session_topic);try{await this.client.core.relayer.subscribe(I,{transportType:K})}catch(q){throw g.setError(H.subscribe_session_topic_failure),q}g.addTrace(k.subscribe_session_topic_success);const fe=b(v({},T),{topic:I,requiredNamespaces:f,optionalNamespaces:_,pairingTopic:w,acknowledged:!1,self:T.controller,peer:{publicKey:m.publicKey,metadata:m.metadata},controller:A,transportType:P.relay});await this.client.session.set(I,fe),g.addTrace(k.store_session);try{g.addTrace(k.publishing_session_settle),await this.sendRequest({topic:I,method:\"wc_sessionSettle\",params:T,throwOnFailedPublish:!0}).catch(q=>{throw g?.setError(H.session_settle_publish_failure),q}),g.addTrace(k.session_settle_publish_success),g.addTrace(k.publishing_session_approve),await this.sendResult({id:o,topic:w,result:{relay:{protocol:a??\"irn\"},responderPublicKey:A},throwOnFailedPublish:!0}).catch(q=>{throw g?.setError(H.session_approve_publish_failure),q}),g.addTrace(k.session_approve_publish_success)}catch(q){throw this.client.logger.error(q),this.client.session.delete(I,O(\"USER_DISCONNECTED\")),await this.client.core.relayer.unsubscribe(I),q}return this.client.core.eventClient.deleteEvent({eventId:g.eventId}),await this.client.core.pairing.updateMetadata({topic:w,metadata:m.metadata}),await this.client.proposal.delete(o,O(\"USER_DISCONNECTED\")),await this.client.core.pairing.activate({topic:w}),await this.setExpiry(I,V(J)),{topic:I,acknowledged:()=>Promise.resolve(this.client.session.get(I))}}),c(this,\"reject\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(r){throw this.client.logger.error(\"reject() -> isValidReject() failed\"),r}const{id:t,reason:s}=e;let i;try{i=this.client.proposal.get(t).pairingTopic}catch(r){throw this.client.logger.error(`reject() -> proposal.get(${t}) failed`),r}i&&(await this.sendError({id:t,topic:i,error:s,rpcOpts:N.wc_sessionPropose.reject}),await this.client.proposal.delete(t,O(\"USER_DISCONNECTED\")))}),c(this,\"update\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(h){throw this.client.logger.error(\"update() -> isValidUpdate() failed\"),h}const{topic:t,namespaces:s}=e,{done:i,resolve:r,reject:o}=ee(),a=G(),l=ge().toString(),p=this.client.session.get(t).namespaces;return this.events.once(R(\"session_update\",a),({error:h})=>{h?o(h):r()}),await this.client.session.update(t,{namespaces:s}),await this.sendRequest({topic:t,method:\"wc_sessionUpdate\",params:{namespaces:s},throwOnFailedPublish:!0,clientRpcId:a,relayRpcId:l}).catch(h=>{this.client.logger.error(h),this.client.session.update(t,{namespaces:p}),o(h)}),{acknowledged:i}}),c(this,\"extend\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(a){throw this.client.logger.error(\"extend() -> isValidExtend() failed\"),a}const{topic:t}=e,s=G(),{done:i,resolve:r,reject:o}=ee();return this.events.once(R(\"session_extend\",s),({error:a})=>{a?o(a):r()}),await this.setExpiry(t,V(J)),this.sendRequest({topic:t,method:\"wc_sessionExtend\",params:{},clientRpcId:s,throwOnFailedPublish:!0}).catch(a=>{o(a)}),{acknowledged:i}}),c(this,\"request\",async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(_){throw this.client.logger.error(\"request() -> isValidRequest() failed\"),_}const{chainId:t,request:s,topic:i,expiry:r=N.wc_sessionRequest.req.ttl}=e,o=this.client.session.get(i);o?.transportType===P.relay&&await this.confirmOnlineStateOrThrow();const a=G(),l=ge().toString(),{done:p,resolve:h,reject:u}=ee(r,\"Request expired. Please try again.\");this.events.once(R(\"session_request\",a),({error:_,result:g})=>{_?u(_):h(g)});const d=\"wc_sessionRequest\",w=this.getAppLinkIfEnabled(o.peer.metadata,o.transportType);if(w)return await this.sendRequest({clientRpcId:a,relayRpcId:l,topic:i,method:d,params:{request:b(v({},s),{expiryTimestamp:V(r)}),chainId:t},expiry:r,throwOnFailedPublish:!0,appLink:w}).catch(_=>u(_)),this.client.events.emit(\"session_request_sent\",{topic:i,request:s,chainId:t,id:a}),await p();const m={request:b(v({},s),{expiryTimestamp:V(r)}),chainId:t},f=this.shouldSetTVF(d,m);return await Promise.all([new Promise(async _=>{await this.sendRequest(v({clientRpcId:a,relayRpcId:l,topic:i,method:d,params:m,expiry:r,throwOnFailedPublish:!0},f&&{tvf:this.getTVFParams(a,m)})).catch(g=>u(g)),this.client.events.emit(\"session_request_sent\",{topic:i,request:s,chainId:t,id:a}),_()}),new Promise(async _=>{var g;if(!((g=o.sessionConfig)!=null&&g.disableDeepLink)){const A=await Ut(this.client.core.storage,Me);await Gt({id:a,topic:i,wcDeepLink:A})}_()}),p()]).then(_=>_[2])}),c(this,\"respond\",async e=>{this.isInitialized(),await this.isValidRespond(e);const{topic:t,response:s}=e,{id:i}=s,r=this.client.session.get(t);r.transportType===P.relay&&await this.confirmOnlineStateOrThrow();const o=this.getAppLinkIfEnabled(r.peer.metadata,r.transportType);j(s)?await this.sendResult({id:i,topic:t,result:s.result,throwOnFailedPublish:!0,appLink:o}):F(s)&&await this.sendError({id:i,topic:t,error:s.error,appLink:o}),this.cleanupAfterResponse(e)}),c(this,\"ping\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(s){throw this.client.logger.error(\"ping() -> isValidPing() failed\"),s}const{topic:t}=e;if(this.client.session.keys.includes(t)){const s=G(),i=ge().toString(),{done:r,resolve:o,reject:a}=ee();this.events.once(R(\"session_ping\",s),({error:l})=>{l?a(l):o()}),await Promise.all([this.sendRequest({topic:t,method:\"wc_sessionPing\",params:{},throwOnFailedPublish:!0,clientRpcId:s,relayRpcId:i}),r()])}else this.client.core.pairing.pairings.keys.includes(t)&&(this.client.logger.warn(\"ping() on pairing topic is deprecated and will be removed in the next major release.\"),await this.client.core.pairing.ping({topic:t}))}),c(this,\"emit\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);const{topic:t,event:s,chainId:i}=e,r=ge().toString(),o=G();await this.sendRequest({topic:t,method:\"wc_sessionEvent\",params:{event:s,chainId:i},throwOnFailedPublish:!0,relayRpcId:r,clientRpcId:o})}),c(this,\"disconnect\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(e);const{topic:t}=e;if(this.client.session.keys.includes(t))await this.sendRequest({topic:t,method:\"wc_sessionDelete\",params:O(\"USER_DISCONNECTED\"),throwOnFailedPublish:!0}),await this.deleteSession({topic:t,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(t))await this.client.core.pairing.disconnect({topic:t});else{const{message:s}=y(\"MISMATCHED_TOPIC\",`Session or pairing topic not found: ${t}`);throw new Error(s)}}),c(this,\"find\",e=>(this.isInitialized(),this.client.session.getAll().filter(t=>jt(t,e)))),c(this,\"getPendingSessionRequests\",()=>this.client.pendingRequest.getAll()),c(this,\"authenticate\",async(e,t)=>{var s;this.isInitialized(),this.isValidAuthenticate(e);const i=t&&this.client.core.linkModeSupportedApps.includes(t)&&((s=this.client.metadata.redirect)==null?void 0:s.linkMode),r=i?P.link_mode:P.relay;r===P.relay&&await this.confirmOnlineStateOrThrow();const{chains:o,statement:a=\"\",uri:l,domain:p,nonce:h,type:u,exp:d,nbf:w,methods:m=[],expiry:f}=e,_=[...e.resources||[]],{topic:g,uri:A}=await this.client.core.pairing.create({methods:[\"wc_sessionAuthenticate\"],transportType:r});this.client.logger.info({message:\"Generated new pairing\",pairing:{topic:g,uri:A}});const D=await this.client.core.crypto.generateKeyPair(),I=be(D);if(await Promise.all([this.client.auth.authKeys.set(ce,{responseTopic:I,publicKey:D}),this.client.auth.pairingTopics.set(I,{topic:I,pairingTopic:g})]),await this.client.core.relayer.subscribe(I,{transportType:r}),this.client.logger.info(`sending request to new pairing topic: ${g}`),m.length>0){const{namespace:x}=Ae(o[0]);let L=Ft(x,\"request\",m);xe(_)&&(L=Qt(L,_.pop())),_.push(L)}const T=f&&f>N.wc_sessionAuthenticate.req.ttl?f:N.wc_sessionAuthenticate.req.ttl,K={authPayload:{type:u??\"caip122\",chains:o,statement:a,aud:l,domain:p,version:\"1\",nonce:h,iat:new Date().toISOString(),exp:d,nbf:w,resources:_},requester:{publicKey:D,metadata:this.client.metadata},expiryTimestamp:V(T)},fe={eip155:{chains:o,methods:[...new Set([\"personal_sign\",...m])],events:[\"chainChanged\",\"accountsChanged\"]}},q={requiredNamespaces:{},optionalNamespaces:fe,relays:[{protocol:\"irn\"}],pairingTopic:g,proposer:{publicKey:D,metadata:this.client.metadata},expiryTimestamp:V(N.wc_sessionPropose.req.ttl),id:G()},{done:Rt,resolve:je,reject:Se}=ee(T,\"Request expired\"),te=G(),le=R(\"session_connect\",q.id),Re=R(\"session_request\",te),pe=async({error:x,session:L})=>{this.events.off(Re,ve),x?Se(x):L&&je({session:L})},ve=async x=>{var L,Fe,Qe;if(await this.deletePendingAuthRequest(te,{message:\"fulfilled\",code:0}),x.error){const ie=O(\"WC_METHOD_UNSUPPORTED\",\"wc_sessionAuthenticate\");return x.error.code===ie.code?void 0:(this.events.off(le,pe),Se(x.error.message))}await this.deleteProposal(q.id),this.events.off(le,pe);const{cacaos:He,responder:Q}=x.result,Te=[],ze=[];for(const ie of He){await et({cacao:ie,projectId:this.client.core.projectId})||(this.client.logger.error(ie,\"Signature verification failed\"),Se(O(\"SESSION_SETTLEMENT_FAILED\",\"Signature verification failed\")));const{p:qe}=ie,Pe=xe(qe.resources),Ye=[tt(qe.iss)],vt=st(qe.iss);if(Pe){const Ne=it(Pe),It=rt(Pe);Te.push(...Ne),Ye.push(...It)}for(const Ne of Ye)ze.push(`${Ne}:${vt}`)}const se=await this.client.core.crypto.generateSharedKey(D,Q.publicKey);let he;Te.length>0&&(he={topic:se,acknowledged:!0,self:{publicKey:D,metadata:this.client.metadata},peer:Q,controller:Q.publicKey,expiry:V(J),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:\"irn\"},pairingTopic:g,namespaces:nt([...new Set(Te)],[...new Set(ze)]),transportType:r},await this.client.core.relayer.subscribe(se,{transportType:r}),await this.client.session.set(se,he),g&&await this.client.core.pairing.updateMetadata({topic:g,metadata:Q.metadata}),he=this.client.session.get(se)),(L=this.client.metadata.redirect)!=null&&L.linkMode&&(Fe=Q.metadata.redirect)!=null&&Fe.linkMode&&(Qe=Q.metadata.redirect)!=null&&Qe.universal&&t&&(this.client.core.addLinkModeSupportedApp(Q.metadata.redirect.universal),this.client.session.update(se,{transportType:P.link_mode})),je({auths:He,session:he})};this.events.once(le,pe),this.events.once(Re,ve);let Ie;try{if(i){const x=ye(\"wc_sessionAuthenticate\",K,te);this.client.core.history.set(g,x);const L=await this.client.core.crypto.encode(\"\",x,{type:Ht,encoding:ne});Ie=ue(t,g,L)}else await Promise.all([this.sendRequest({topic:g,method:\"wc_sessionAuthenticate\",params:K,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:te}),this.sendRequest({topic:g,method:\"wc_sessionPropose\",params:q,expiry:N.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:q.id})])}catch(x){throw this.events.off(le,pe),this.events.off(Re,ve),x}return await this.setProposal(q.id,q),await this.setAuthRequest(te,{request:b(v({},K),{verifyContext:{}}),pairingTopic:g,transportType:r}),{uri:Ie??A,response:Rt}}),c(this,\"approveSessionAuthenticate\",async e=>{const{id:t,auths:s}=e,i=this.client.core.eventClient.createEvent({properties:{topic:t.toString(),trace:[z.authenticated_session_approve_started]}});try{this.isInitialized()}catch(f){throw i.setError(re.no_internet_connection),f}const r=this.getPendingAuthRequest(t);if(!r)throw i.setError(re.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${t}`);const o=r.transportType||P.relay;o===P.relay&&await this.confirmOnlineStateOrThrow();const a=r.requester.publicKey,l=await this.client.core.crypto.generateKeyPair(),p=be(a),h={type:Ve,receiverPublicKey:a,senderPublicKey:l},u=[],d=[];for(const f of s){if(!await et({cacao:f,projectId:this.client.core.projectId})){i.setError(re.invalid_cacao);const I=O(\"SESSION_SETTLEMENT_FAILED\",\"Signature verification failed\");throw await this.sendError({id:t,topic:p,error:I,encodeOpts:h}),new Error(I.message)}i.addTrace(z.cacaos_verified);const{p:_}=f,g=xe(_.resources),A=[tt(_.iss)],D=st(_.iss);if(g){const I=it(g),T=rt(g);u.push(...I),A.push(...T)}for(const I of A)d.push(`${I}:${D}`)}const w=await this.client.core.crypto.generateSharedKey(l,a);i.addTrace(z.create_authenticated_session_topic);let m;if(u?.length>0){m={topic:w,acknowledged:!0,self:{publicKey:l,metadata:this.client.metadata},peer:{publicKey:a,metadata:r.requester.metadata},controller:a,expiry:V(J),authentication:s,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:\"irn\"},pairingTopic:r.pairingTopic,namespaces:nt([...new Set(u)],[...new Set(d)]),transportType:o},i.addTrace(z.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(w,{transportType:o})}catch(f){throw i.setError(re.subscribe_authenticated_session_topic_failure),f}i.addTrace(z.subscribe_authenticated_session_topic_success),await this.client.session.set(w,m),i.addTrace(z.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:r.pairingTopic,metadata:r.requester.metadata})}i.addTrace(z.publishing_authenticated_session_approve);try{await this.sendResult({topic:p,id:t,result:{cacaos:s,responder:{publicKey:l,metadata:this.client.metadata}},encodeOpts:h,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(r.requester.metadata,o)})}catch(f){throw i.setError(re.authenticated_session_approve_publish_failure),f}return await this.client.auth.requests.delete(t,{message:\"fulfilled\",code:0}),await this.client.core.pairing.activate({topic:r.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:i.eventId}),{session:m}}),c(this,\"rejectSessionAuthenticate\",async e=>{this.isInitialized();const{id:t,reason:s}=e,i=this.getPendingAuthRequest(t);if(!i)throw new Error(`Could not find pending auth request with id ${t}`);i.transportType===P.relay&&await this.confirmOnlineStateOrThrow();const r=i.requester.publicKey,o=await this.client.core.crypto.generateKeyPair(),a=be(r),l={type:Ve,receiverPublicKey:r,senderPublicKey:o};await this.sendError({id:t,topic:a,error:s,encodeOpts:l,rpcOpts:N.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(i.requester.metadata,i.transportType)}),await this.client.auth.requests.delete(t,{message:\"rejected\",code:0}),await this.client.proposal.delete(t,O(\"USER_DISCONNECTED\"))}),c(this,\"formatAuthMessage\",e=>{this.isInitialized();const{request:t,iss:s}=e;return zt(t,s)}),c(this,\"processRelayMessageCache\",()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}},50)}),c(this,\"cleanupDuplicatePairings\",async e=>{if(e.pairingTopic)try{const t=this.client.core.pairing.pairings.get(e.pairingTopic),s=this.client.core.pairing.pairings.getAll().filter(i=>{var r,o;return((r=i.peerMetadata)==null?void 0:r.url)&&((o=i.peerMetadata)==null?void 0:o.url)===e.peer.metadata.url&&i.topic&&i.topic!==t.topic});if(s.length===0)return;this.client.logger.info(`Cleaning up ${s.length} duplicate pairing(s)`),await Promise.all(s.map(i=>this.client.core.pairing.disconnect({topic:i.topic}))),this.client.logger.info(\"Duplicate pairings clean up finished\")}catch(t){this.client.logger.error(t)}}),c(this,\"deleteSession\",async e=>{var t;const{topic:s,expirerHasDeleted:i=!1,emitEvent:r=!0,id:o=0}=e,{self:a}=this.client.session.get(s);await this.client.core.relayer.unsubscribe(s),await this.client.session.delete(s,O(\"USER_DISCONNECTED\")),this.addToRecentlyDeleted(s,\"session\"),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(s)&&await this.client.core.crypto.deleteSymKey(s),i||this.client.core.expirer.del(s),this.client.core.storage.removeItem(Me).catch(l=>this.client.logger.warn(l)),this.getPendingSessionRequests().forEach(l=>{l.topic===s&&this.deletePendingSessionRequest(l.id,O(\"USER_DISCONNECTED\"))}),s===((t=this.sessionRequestQueue.queue[0])==null?void 0:t.topic)&&(this.sessionRequestQueue.state=$.idle),r&&this.client.events.emit(\"session_delete\",{id:o,topic:s})}),c(this,\"deleteProposal\",async(e,t)=>{if(t)try{const s=this.client.proposal.get(e),i=this.client.core.eventClient.getEvent({topic:s.pairingTopic});i?.setError(H.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,O(\"USER_DISCONNECTED\")),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,\"proposal\")}),c(this,\"deletePendingSessionRequest\",async(e,t,s=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),s?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,\"request\"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(i=>i.id!==e),s&&(this.sessionRequestQueue.state=$.idle,this.client.events.emit(\"session_request_expire\",{id:e}))}),c(this,\"deletePendingAuthRequest\",async(e,t,s=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),s?Promise.resolve():this.client.core.expirer.del(e)])}),c(this,\"setExpiry\",async(e,t)=>{this.client.session.keys.includes(e)&&(this.client.core.expirer.set(e,t),await this.client.session.update(e,{expiry:t}))}),c(this,\"setProposal\",async(e,t)=>{this.client.core.expirer.set(e,V(N.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),c(this,\"setAuthRequest\",async(e,t)=>{const{request:s,pairingTopic:i,transportType:r=P.relay}=t;this.client.core.expirer.set(e,s.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:s.authPayload,requester:s.requester,expiryTimestamp:s.expiryTimestamp,id:e,pairingTopic:i,verifyContext:s.verifyContext,transportType:r})}),c(this,\"setPendingSessionRequest\",async e=>{const{id:t,topic:s,params:i,verifyContext:r}=e,o=i.request.expiryTimestamp||V(N.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,o),await this.client.pendingRequest.set(t,{id:t,topic:s,params:i,verifyContext:r})}),c(this,\"sendRequest\",async e=>{const{topic:t,method:s,params:i,expiry:r,relayRpcId:o,clientRpcId:a,throwOnFailedPublish:l,appLink:p,tvf:h}=e,u=ye(s,i,a);let d;const w=!!p;try{const _=w?ne:de;d=await this.client.core.crypto.encode(t,u,{encoding:_})}catch(_){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${t} failed`),_}let m;if(gt.includes(s)){const _=W(JSON.stringify(u)),g=W(d);m=await this.client.core.verify.register({id:g,decryptedId:_})}const f=N[s].req;if(f.attestation=m,r&&(f.ttl=r),o&&(f.id=o),this.client.core.history.set(t,u),w){const _=ue(p,t,d);await global.Linking.openURL(_,this.client.name)}else{const _=N[s].req;r&&(_.ttl=r),o&&(_.id=o),_.tvf=b(v({},h),{correlationId:u.id}),l?(_.internal=b(v({},_.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(t,d,_)):this.client.core.relayer.publish(t,d,_).catch(g=>this.client.logger.error(g))}return u.id}),c(this,\"sendResult\",async e=>{const{id:t,topic:s,result:i,throwOnFailedPublish:r,encodeOpts:o,appLink:a}=e,l=gs(t,i);let p;const h=a&&typeof(global==null?void 0:global.Linking)<\"u\";try{const w=h?ne:de;p=await this.client.core.crypto.encode(s,l,b(v({},o||{}),{encoding:w}))}catch(w){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${s} failed`),w}let u,d;try{u=await this.client.core.history.get(s,t);const w=u.request;try{this.shouldSetTVF(w.method,w.params)&&(d=this.getTVFParams(t,w.params,i))}catch(m){this.client.logger.warn(\"sendResult() -> getTVFParams() failed\",m)}}catch(w){throw this.client.logger.error(`sendResult() -> history.get(${s}, ${t}) failed`),w}if(h){const w=ue(a,s,p);await global.Linking.openURL(w,this.client.name)}else{const w=u.request.method,m=N[w].res;m.tvf=b(v({},d),{correlationId:t}),r?(m.internal=b(v({},m.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,p,m)):this.client.core.relayer.publish(s,p,m).catch(f=>this.client.logger.error(f))}await this.client.core.history.resolve(l)}),c(this,\"sendError\",async e=>{const{id:t,topic:s,error:i,encodeOpts:r,rpcOpts:o,appLink:a}=e,l=ys(t,i);let p;const h=a&&typeof(global==null?void 0:global.Linking)<\"u\";try{const d=h?ne:de;p=await this.client.core.crypto.encode(s,l,b(v({},r||{}),{encoding:d}))}catch(d){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${s} failed`),d}let u;try{u=await this.client.core.history.get(s,t)}catch(d){throw this.client.logger.error(`sendError() -> history.get(${s}, ${t}) failed`),d}if(h){const d=ue(a,s,p);await global.Linking.openURL(d,this.client.name)}else{const d=u.request.method,w=o||N[d].res;this.client.core.relayer.publish(s,p,w)}await this.client.core.history.resolve(l)}),c(this,\"cleanup\",async()=>{const e=[],t=[];this.client.session.getAll().forEach(s=>{let i=!1;Z(s.expiry)&&(i=!0),this.client.core.crypto.keychain.has(s.topic)||(i=!0),i&&e.push(s.topic)}),this.client.proposal.getAll().forEach(s=>{Z(s.expiryTimestamp)&&t.push(s.id)}),await Promise.all([...e.map(s=>this.deleteSession({topic:s})),...t.map(s=>this.deleteProposal(s))])}),c(this,\"onProviderMessageEvent\",async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),c(this,\"onRelayEventRequest\",async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),c(this,\"processRequestsQueue\",async()=>{if(this.requestQueue.state===$.active){this.client.logger.info(\"Request queue already active, skipping...\");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=$.active;const e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(t){this.client.logger.warn(t)}}this.requestQueue.state=$.idle}),c(this,\"processRequest\",async e=>{const{topic:t,payload:s,attestation:i,transportType:r,encryptedId:o}=e,a=s.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:a}))switch(a){case\"wc_sessionPropose\":return await this.onSessionProposeRequest({topic:t,payload:s,attestation:i,encryptedId:o});case\"wc_sessionSettle\":return await this.onSessionSettleRequest(t,s);case\"wc_sessionUpdate\":return await this.onSessionUpdateRequest(t,s);case\"wc_sessionExtend\":return await this.onSessionExtendRequest(t,s);case\"wc_sessionPing\":return await this.onSessionPingRequest(t,s);case\"wc_sessionDelete\":return await this.onSessionDeleteRequest(t,s);case\"wc_sessionRequest\":return await this.onSessionRequest({topic:t,payload:s,attestation:i,encryptedId:o,transportType:r});case\"wc_sessionEvent\":return await this.onSessionEventRequest(t,s);case\"wc_sessionAuthenticate\":return await this.onSessionAuthenticateRequest({topic:t,payload:s,attestation:i,encryptedId:o,transportType:r});default:return this.client.logger.info(`Unsupported request method ${a}`)}}),c(this,\"onRelayEventResponse\",async e=>{const{topic:t,payload:s,transportType:i}=e,r=(await this.client.core.history.get(t,s.id)).request.method;switch(r){case\"wc_sessionPropose\":return this.onSessionProposeResponse(t,s,i);case\"wc_sessionSettle\":return this.onSessionSettleResponse(t,s);case\"wc_sessionUpdate\":return this.onSessionUpdateResponse(t,s);case\"wc_sessionExtend\":return this.onSessionExtendResponse(t,s);case\"wc_sessionPing\":return this.onSessionPingResponse(t,s);case\"wc_sessionRequest\":return this.onSessionRequestResponse(t,s);case\"wc_sessionAuthenticate\":return this.onSessionAuthenticateResponse(t,s);default:return this.client.logger.info(`Unsupported response method ${r}`)}}),c(this,\"onRelayEventUnknownPayload\",e=>{const{topic:t}=e,{message:s}=y(\"MISSING_OR_INVALID\",`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw new Error(s)}),c(this,\"shouldIgnorePairingRequest\",e=>{const{topic:t,requestMethod:s}=e,i=this.expectedPairingMethodMap.get(t);return!i||i.includes(s)?!1:!!(i.includes(\"wc_sessionAuthenticate\")&&this.client.events.listenerCount(\"session_authenticate\")>0)}),c(this,\"onSessionProposeRequest\",async e=>{const{topic:t,payload:s,attestation:i,encryptedId:r}=e,{params:o,id:a}=s;try{const l=this.client.core.eventClient.getEvent({topic:t});this.client.events.listenerCount(\"session_proposal\")===0&&(console.warn(\"No listener for session_proposal event\"),l?.setError(Pt.proposal_listener_not_found)),this.isValidConnect(v({},s.params));const p=o.expiryTimestamp||V(N.wc_sessionPropose.req.ttl),h=v({id:a,pairingTopic:t,expiryTimestamp:p},o);await this.setProposal(a,h);const u=await this.getVerifyContext({attestationId:i,hash:W(JSON.stringify(s)),encryptedId:r,metadata:h.proposer.metadata});l?.addTrace(Nt.emit_session_proposal),this.client.events.emit(\"session_proposal\",{id:a,params:h,verifyContext:u})}catch(l){await this.sendError({id:a,topic:t,error:l,rpcOpts:N.wc_sessionPropose.autoReject}),this.client.logger.error(l)}}),c(this,\"onSessionProposeResponse\",async(e,t,s)=>{const{id:i}=t;if(j(t)){const{result:r}=t;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",result:r});const o=this.client.proposal.get(i);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",proposal:o});const a=o.proposer.publicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",selfPublicKey:a});const l=r.responderPublicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",peerPublicKey:l});const p=await this.client.core.crypto.generateSharedKey(a,l);this.pendingSessions.set(i,{sessionTopic:p,pairingTopic:e,proposalId:i,publicKey:a});const h=await this.client.core.relayer.subscribe(p,{transportType:s});this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",subscriptionId:h}),await this.client.core.pairing.activate({topic:e})}else if(F(t)){await this.client.proposal.delete(i,O(\"USER_DISCONNECTED\"));const r=R(\"session_connect\",i);if(this.events.listenerCount(r)===0)throw new Error(`emitting ${r} without any listeners, 954`);this.events.emit(r,{error:t.error})}}),c(this,\"onSessionSettleRequest\",async(e,t)=>{const{id:s,params:i}=t;try{this.isValidSessionSettleRequest(i);const{relay:r,controller:o,expiry:a,namespaces:l,sessionProperties:p,scopedProperties:h,sessionConfig:u}=t.params,d=[...this.pendingSessions.values()].find(f=>f.sessionTopic===e);if(!d)return this.client.logger.error(`Pending session not found for topic ${e}`);const w=this.client.proposal.get(d.proposalId),m=b(v(v(v({topic:e,relay:r,expiry:a,namespaces:l,acknowledged:!0,pairingTopic:d.pairingTopic,requiredNamespaces:w.requiredNamespaces,optionalNamespaces:w.optionalNamespaces,controller:o.publicKey,self:{publicKey:d.publicKey,metadata:this.client.metadata},peer:{publicKey:o.publicKey,metadata:o.metadata}},p&&{sessionProperties:p}),h&&{scopedProperties:h}),u&&{sessionConfig:u}),{transportType:P.relay});await this.client.session.set(m.topic,m),await this.setExpiry(m.topic,m.expiry),await this.client.core.pairing.updateMetadata({topic:d.pairingTopic,metadata:m.peer.metadata}),this.client.events.emit(\"session_connect\",{session:m}),this.events.emit(R(\"session_connect\",d.proposalId),{session:m}),this.pendingSessions.delete(d.proposalId),this.deleteProposal(d.proposalId,!1),this.cleanupDuplicatePairings(m),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(r){await this.sendError({id:s,topic:e,error:r}),this.client.logger.error(r)}}),c(this,\"onSessionSettleResponse\",async(e,t)=>{const{id:s}=t;j(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(R(\"session_approve\",s),{})):F(t)&&(await this.client.session.delete(e,O(\"USER_DISCONNECTED\")),this.events.emit(R(\"session_approve\",s),{error:t.error}))}),c(this,\"onSessionUpdateRequest\",async(e,t)=>{const{params:s,id:i}=t;try{const r=`${e}_session_update`,o=oe.get(r);if(o&&this.isRequestOutOfSync(o,i)){this.client.logger.warn(`Discarding out of sync request - ${i}`),this.sendError({id:i,topic:e,error:O(\"INVALID_UPDATE_REQUEST\")});return}this.isValidUpdate(v({topic:e},s));try{oe.set(r,i),await this.client.session.update(e,{namespaces:s.namespaces}),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0})}catch(a){throw oe.delete(r),a}this.client.events.emit(\"session_update\",{id:i,topic:e,params:s})}catch(r){await this.sendError({id:i,topic:e,error:r}),this.client.logger.error(r)}}),c(this,\"isRequestOutOfSync\",(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),c(this,\"onSessionUpdateResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_update\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);j(t)?this.events.emit(R(\"session_update\",s),{}):F(t)&&this.events.emit(R(\"session_update\",s),{error:t.error})}),c(this,\"onSessionExtendRequest\",async(e,t)=>{const{id:s}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,V(J)),await this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(\"session_extend\",{id:s,topic:e})}catch(i){await this.sendError({id:s,topic:e,error:i}),this.client.logger.error(i)}}),c(this,\"onSessionExtendResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_extend\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);j(t)?this.events.emit(R(\"session_extend\",s),{}):F(t)&&this.events.emit(R(\"session_extend\",s),{error:t.error})}),c(this,\"onSessionPingRequest\",async(e,t)=>{const{id:s}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(\"session_ping\",{id:s,topic:e})}catch(i){await this.sendError({id:s,topic:e,error:i}),this.client.logger.error(i)}}),c(this,\"onSessionPingResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_ping\",s);setTimeout(()=>{if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners 2176`);j(t)?this.events.emit(R(\"session_ping\",s),{}):F(t)&&this.events.emit(R(\"session_ping\",s),{error:t.error})},500)}),c(this,\"onSessionDeleteRequest\",async(e,t)=>{const{id:s}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(i=>{this.client.core.relayer.once(Xe.publish,async()=>{i(await this.deleteSession({topic:e,id:s}))})}),this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:O(\"USER_DISCONNECTED\")})]).catch(i=>this.client.logger.error(i))}catch(i){this.client.logger.error(i)}}),c(this,\"onSessionRequest\",async e=>{var t,s,i;const{topic:r,payload:o,attestation:a,encryptedId:l,transportType:p}=e,{id:h,params:u}=o;try{await this.isValidRequest(v({topic:r},u));const d=this.client.session.get(r),w=await this.getVerifyContext({attestationId:a,hash:W(JSON.stringify(ye(\"wc_sessionRequest\",u,h))),encryptedId:l,metadata:d.peer.metadata,transportType:p}),m={id:h,topic:r,params:u,verifyContext:w};await this.setPendingSessionRequest(m),p===P.link_mode&&(t=d.peer.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp((s=d.peer.metadata.redirect)==null?void 0:s.universal),(i=this.client.signConfig)!=null&&i.disableRequestQueue?this.emitSessionRequest(m):(this.addSessionRequestToSessionRequestQueue(m),this.processSessionRequestQueue())}catch(d){await this.sendError({id:h,topic:r,error:d}),this.client.logger.error(d)}}),c(this,\"onSessionRequestResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_request\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);j(t)?this.events.emit(R(\"session_request\",s),{result:t.result}):F(t)&&this.events.emit(R(\"session_request\",s),{error:t.error})}),c(this,\"onSessionEventRequest\",async(e,t)=>{const{id:s,params:i}=t;try{const r=`${e}_session_event_${i.event.name}`,o=oe.get(r);if(o&&this.isRequestOutOfSync(o,s)){this.client.logger.info(`Discarding out of sync request - ${s}`);return}this.isValidEmit(v({topic:e},i)),this.client.events.emit(\"session_event\",{id:s,topic:e,params:i}),oe.set(r,s)}catch(r){await this.sendError({id:s,topic:e,error:r}),this.client.logger.error(r)}}),c(this,\"onSessionAuthenticateResponse\",(e,t)=>{const{id:s}=t;this.client.logger.trace({type:\"method\",method:\"onSessionAuthenticateResponse\",topic:e,payload:t}),j(t)?this.events.emit(R(\"session_request\",s),{result:t.result}):F(t)&&this.events.emit(R(\"session_request\",s),{error:t.error})}),c(this,\"onSessionAuthenticateRequest\",async e=>{var t;const{topic:s,payload:i,attestation:r,encryptedId:o,transportType:a}=e;try{const{requester:l,authPayload:p,expiryTimestamp:h}=i.params,u=await this.getVerifyContext({attestationId:r,hash:W(JSON.stringify(i)),encryptedId:o,metadata:l.metadata,transportType:a}),d={requester:l,pairingTopic:s,id:i.id,authPayload:p,verifyContext:u,expiryTimestamp:h};await this.setAuthRequest(i.id,{request:d,pairingTopic:s,transportType:a}),a===P.link_mode&&(t=l.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp(l.metadata.redirect.universal),this.client.events.emit(\"session_authenticate\",{topic:s,params:i.params,id:i.id,verifyContext:u})}catch(l){this.client.logger.error(l);const p=i.params.requester.publicKey,h=await this.client.core.crypto.generateKeyPair(),u=this.getAppLinkIfEnabled(i.params.requester.metadata,a),d={type:Ve,receiverPublicKey:p,senderPublicKey:h};await this.sendError({id:i.id,topic:s,error:l,encodeOpts:d,rpcOpts:N.wc_sessionAuthenticate.autoReject,appLink:u})}}),c(this,\"addSessionRequestToSessionRequestQueue\",e=>{this.sessionRequestQueue.queue.push(e)}),c(this,\"cleanupAfterResponse\",e=>{this.deletePendingSessionRequest(e.response.id,{message:\"fulfilled\",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=$.idle,this.processSessionRequestQueue()},Oe(this.requestQueueDelay))}),c(this,\"cleanupPendingSentRequestsForTopic\",({topic:e,error:t})=>{const s=this.client.core.history.pending;s.length>0&&s.filter(i=>i.topic===e&&i.request.method===\"wc_sessionRequest\").forEach(i=>{const r=i.request.id,o=R(\"session_request\",r);if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners`);this.events.emit(R(\"session_request\",i.request.id),{error:t})})}),c(this,\"processSessionRequestQueue\",()=>{if(this.sessionRequestQueue.state===$.active){this.client.logger.info(\"session request queue is already active.\");return}const e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info(\"session request queue is empty.\");return}try{this.sessionRequestQueue.state=$.active,this.emitSessionRequest(e)}catch(t){this.client.logger.error(t)}}),c(this,\"emitSessionRequest\",e=>{this.client.events.emit(\"session_request\",e)}),c(this,\"onPairingCreated\",e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;const t=this.client.proposal.getAll().find(s=>s.pairingTopic===e.topic);t&&this.onSessionProposeRequest({topic:e.topic,payload:ye(\"wc_sessionPropose\",b(v({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id)})}),c(this,\"isValidConnect\",async e=>{if(!M(e)){const{message:l}=y(\"MISSING_OR_INVALID\",`connect() params: ${JSON.stringify(e)}`);throw new Error(l)}const{pairingTopic:t,requiredNamespaces:s,optionalNamespaces:i,sessionProperties:r,scopedProperties:o,relays:a}=e;if(X(t)||await this.isValidPairingTopic(t),!Yt(a,!0)){const{message:l}=y(\"MISSING_OR_INVALID\",`connect() relays: ${a}`);throw new Error(l)}if(!X(s)&&ot(s)!==0){const l=\"requiredNamespaces are deprecated and are automatically assigned to optionalNamespaces\";[\"fatal\",\"error\",\"silent\"].includes(this.client.logger.level)?console.warn(l):this.client.logger.warn(l),this.validateNamespaces(s,\"requiredNamespaces\")}if(!X(i)&&ot(i)!==0&&this.validateNamespaces(i,\"optionalNamespaces\"),X(r)||this.validateSessionProps(r,\"sessionProperties\"),!X(o)){this.validateSessionProps(o,\"scopedProperties\");const l=Object.keys(s||{}).concat(Object.keys(i||{}));if(!Object.keys(o).every(p=>l.includes(p)))throw new Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(o)}, required/optional namespaces: ${JSON.stringify(l)}`)}}),c(this,\"validateNamespaces\",(e,t)=>{const s=Xt(e,\"connect()\",t);if(s)throw new Error(s.message)}),c(this,\"isValidApprove\",async e=>{if(!M(e))throw new Error(y(\"MISSING_OR_INVALID\",`approve() params: ${e}`).message);const{id:t,namespaces:s,relayProtocol:i,sessionProperties:r,scopedProperties:o}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);const a=this.client.proposal.get(t),l=Ce(s,\"approve()\");if(l)throw new Error(l.message);const p=at(a.requiredNamespaces,s,\"approve()\");if(p)throw new Error(p.message);if(!Y(i,!0)){const{message:h}=y(\"MISSING_OR_INVALID\",`approve() relayProtocol: ${i}`);throw new Error(h)}if(X(r)||this.validateSessionProps(r,\"sessionProperties\"),!X(o)){this.validateSessionProps(o,\"scopedProperties\");const h=new Set(Object.keys(s));if(!Object.keys(o).every(u=>h.has(u)))throw new Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(o)}, approved namespaces: ${Array.from(h).join(\", \")}`)}}),c(this,\"isValidReject\",async e=>{if(!M(e)){const{message:i}=y(\"MISSING_OR_INVALID\",`reject() params: ${e}`);throw new Error(i)}const{id:t,reason:s}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!Jt(s)){const{message:i}=y(\"MISSING_OR_INVALID\",`reject() reason: ${JSON.stringify(s)}`);throw new Error(i)}}),c(this,\"isValidSessionSettleRequest\",e=>{if(!M(e)){const{message:l}=y(\"MISSING_OR_INVALID\",`onSessionSettleRequest() params: ${e}`);throw new Error(l)}const{relay:t,controller:s,namespaces:i,expiry:r}=e;if(!Bt(t)){const{message:l}=y(\"MISSING_OR_INVALID\",\"onSessionSettleRequest() relay protocol should be a string\");throw new Error(l)}const o=Wt(s,\"onSessionSettleRequest()\");if(o)throw new Error(o.message);const a=Ce(i,\"onSessionSettleRequest()\");if(a)throw new Error(a.message);if(Z(r)){const{message:l}=y(\"EXPIRED\",\"onSessionSettleRequest()\");throw new Error(l)}}),c(this,\"isValidUpdate\",async e=>{if(!M(e)){const{message:a}=y(\"MISSING_OR_INVALID\",`update() params: ${e}`);throw new Error(a)}const{topic:t,namespaces:s}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);const i=this.client.session.get(t),r=Ce(s,\"update()\");if(r)throw new Error(r.message);const o=at(i.requiredNamespaces,s,\"update()\");if(o)throw new Error(o.message)}),c(this,\"isValidExtend\",async e=>{if(!M(e)){const{message:s}=y(\"MISSING_OR_INVALID\",`extend() params: ${e}`);throw new Error(s)}const{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),c(this,\"isValidRequest\",async e=>{if(!M(e)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() params: ${e}`);throw new Error(a)}const{topic:t,request:s,chainId:i,expiry:r}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);const{namespaces:o}=this.client.session.get(t);if(!ct(o,i)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() chainId: ${i}`);throw new Error(a)}if(!Zt(s)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() ${JSON.stringify(s)}`);throw new Error(a)}if(!es(o,i,s.method)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() method: ${s.method}`);throw new Error(a)}if(r&&!ts(r,_e)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() expiry: ${r}. Expiry must be a number (in seconds) between ${_e.min} and ${_e.max}`);throw new Error(a)}}),c(this,\"isValidRespond\",async e=>{var t;if(!M(e)){const{message:r}=y(\"MISSING_OR_INVALID\",`respond() params: ${e}`);throw new Error(r)}const{topic:s,response:i}=e;try{await this.isValidSessionTopic(s)}catch(r){throw(t=e?.response)!=null&&t.id&&this.cleanupAfterResponse(e),r}if(!ss(i)){const{message:r}=y(\"MISSING_OR_INVALID\",`respond() response: ${JSON.stringify(i)}`);throw new Error(r)}}),c(this,\"isValidPing\",async e=>{if(!M(e)){const{message:s}=y(\"MISSING_OR_INVALID\",`ping() params: ${e}`);throw new Error(s)}const{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),c(this,\"isValidEmit\",async e=>{if(!M(e)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() params: ${e}`);throw new Error(o)}const{topic:t,event:s,chainId:i}=e;await this.isValidSessionTopic(t);const{namespaces:r}=this.client.session.get(t);if(!ct(r,i)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() chainId: ${i}`);throw new Error(o)}if(!is(s)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}if(!rs(r,i,s.name)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}}),c(this,\"isValidDisconnect\",async e=>{if(!M(e)){const{message:s}=y(\"MISSING_OR_INVALID\",`disconnect() params: ${e}`);throw new Error(s)}const{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),c(this,\"isValidAuthenticate\",e=>{const{chains:t,uri:s,domain:i,nonce:r}=e;if(!Array.isArray(t)||t.length===0)throw new Error(\"chains is required and must be a non-empty array\");if(!Y(s,!1))throw new Error(\"uri is required parameter\");if(!Y(i,!1))throw new Error(\"domain is required parameter\");if(!Y(r,!1))throw new Error(\"nonce is required parameter\");if([...new Set(t.map(a=>Ae(a).namespace))].length>1)throw new Error(\"Multi-namespace requests are not supported. Please request single namespace only.\");const{namespace:o}=Ae(t[0]);if(o!==\"eip155\")throw new Error(\"Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.\")}),c(this,\"getVerifyContext\",async e=>{const{attestationId:t,hash:s,encryptedId:i,metadata:r,transportType:o}=e,a={verified:{verifyUrl:r.verifyUrl||Ot,validation:\"UNKNOWN\",origin:r.url||\"\"}};try{if(o===P.link_mode){const p=this.getAppLinkIfEnabled(r,o);return a.verified.validation=p&&new URL(p).origin===new URL(r.url).origin?\"VALID\":\"INVALID\",a}const l=await this.client.core.verify.resolve({attestationId:t,hash:s,encryptedId:i,verifyUrl:r.verifyUrl});l&&(a.verified.origin=l.origin,a.verified.isScam=l.isScam,a.verified.validation=l.origin===new URL(r.url).origin?\"VALID\":\"INVALID\")}catch(l){this.client.logger.warn(l)}return this.client.logger.debug(`Verify context: ${JSON.stringify(a)}`),a}),c(this,\"validateSessionProps\",(e,t)=>{Object.values(e).forEach((s,i)=>{if(s==null){const{message:r}=y(\"MISSING_OR_INVALID\",`${t} must contain an existing value for each key. Received: ${s} for key ${Object.keys(e)[i]}`);throw new Error(r)}})}),c(this,\"getPendingAuthRequest\",e=>{const t=this.client.auth.requests.get(e);return typeof t==\"object\"?t:void 0}),c(this,\"addToRecentlyDeleted\",(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let s=0;const i=this.recentlyDeletedLimit/2;for(const r of this.recentlyDeletedMap.keys()){if(s++>=i)break;this.recentlyDeletedMap.delete(r)}}}),c(this,\"checkRecentlyDeleted\",e=>{const t=this.recentlyDeletedMap.get(e);if(t){const{message:s}=y(\"MISSING_OR_INVALID\",`Record was recently deleted - ${t}: ${e}`);throw new Error(s)}}),c(this,\"isLinkModeEnabled\",(e,t)=>{var s,i,r,o,a,l,p,h,u;return!e||t!==P.link_mode?!1:((i=(s=this.client.metadata)==null?void 0:s.redirect)==null?void 0:i.linkMode)===!0&&((o=(r=this.client.metadata)==null?void 0:r.redirect)==null?void 0:o.universal)!==void 0&&((l=(a=this.client.metadata)==null?void 0:a.redirect)==null?void 0:l.universal)!==\"\"&&((p=e?.redirect)==null?void 0:p.universal)!==void 0&&((h=e?.redirect)==null?void 0:h.universal)!==\"\"&&((u=e?.redirect)==null?void 0:u.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&typeof(global==null?void 0:global.Linking)<\"u\"}),c(this,\"getAppLinkIfEnabled\",(e,t)=>{var s;return this.isLinkModeEnabled(e,t)?(s=e?.redirect)==null?void 0:s.universal:void 0}),c(this,\"handleLinkModeMessage\",({url:e})=>{if(!e||!e.includes(\"wc_ev\")||!e.includes(\"topic\"))return;const t=lt(e,\"topic\")||\"\",s=decodeURIComponent(lt(e,\"wc_ev\")||\"\"),i=this.client.session.keys.includes(t);i&&this.client.session.update(t,{transportType:P.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:s,sessionExists:i})}),c(this,\"registerLinkModeListeners\",async()=>{var e;if(ns()||os()&&(e=this.client.metadata.redirect)!=null&&e.linkMode){const t=global==null?void 0:global.Linking;if(typeof t<\"u\"){t.addEventListener(\"url\",this.handleLinkModeMessage,this.client.name);const s=await t.getInitialURL();s&&setTimeout(()=>{this.handleLinkModeMessage({url:s})},50)}}}),c(this,\"shouldSetTVF\",(e,t)=>{if(!t||e!==\"wc_sessionRequest\")return!1;const{request:s}=t;return Object.keys(Ke).includes(s.method)}),c(this,\"getTVFParams\",(e,t,s)=>{var i,r;try{const o=t.request.method,a=this.extractTxHashesFromResult(o,s);return b(v({correlationId:e,rpcMethods:[o],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[(r=(i=t.request.params)==null?void 0:i[0])==null?void 0:r.to]}),{txHashes:a})}catch(o){this.client.logger.warn(\"Error getting TVF params\",o)}return{}}),c(this,\"isValidContractData\",e=>{var t;if(!e)return!1;try{const s=e?.data||((t=e?.[0])==null?void 0:t.data);if(!s.startsWith(\"0x\"))return!1;const i=s.slice(2);return/^[0-9a-fA-F]*$/.test(i)?i.length%2===0:!1}catch{}return!1}),c(this,\"extractTxHashesFromResult\",(e,t)=>{try{const s=Ke[e];if(typeof t==\"string\")return[t];const i=t[s.key];if(as(i))return e===\"solana_signAllTransactions\"?i.map(r=>cs(r)):i;if(typeof i==\"string\")return[i]}catch(s){this.client.logger.warn(\"Error extracting tx hashes from result\",s)}return[]})}async processPendingMessageEvents(){try{const n=this.client.session.keys,e=this.client.core.relayer.messages.getWithoutAck(n);for(const[t,s]of Object.entries(e))for(const i of s)try{await this.onProviderMessageEvent({topic:t,message:i,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${t}, message: ${i}`)}}catch(n){this.client.logger.warn(\"processPendingMessageEvents failed\",n)}}isInitialized(){if(!this.initialized){const{message:n}=y(\"NOT_INITIALIZED\",this.name);throw new Error(n)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(Xe.message,n=>{this.onProviderMessageEvent(n)})}async onRelayMessage(n){const{topic:e,message:t,attestation:s,transportType:i}=n,{publicKey:r}=this.client.auth.authKeys.keys.includes(ce)?this.client.auth.authKeys.get(ce):{responseTopic:void 0,publicKey:void 0};try{const o=await this.client.core.crypto.decode(e,t,{receiverPublicKey:r,encoding:i===P.link_mode?ne:de});ds(o)?(this.client.core.history.set(e,o),await this.onRelayEventRequest({topic:e,payload:o,attestation:s,transportType:i,encryptedId:W(t)})):us(o)?(await this.client.core.history.resolve(o),await this.onRelayEventResponse({topic:e,payload:o,transportType:i}),this.client.core.history.delete(e,o.id)):await this.onRelayEventUnknownPayload({topic:e,payload:o,transportType:i}),await this.client.core.relayer.messages.ack(e,t)}catch(o){this.client.logger.error(o)}}registerExpirerEvents(){this.client.core.expirer.on(Tt.expired,async n=>{const{topic:e,id:t}=Mt(n.target);if(t&&this.client.pendingRequest.keys.includes(t))return await this.deletePendingSessionRequest(t,y(\"EXPIRED\"),!0);if(t&&this.client.auth.requests.keys.includes(t))return await this.deletePendingAuthRequest(t,y(\"EXPIRED\"),!0);e?this.client.session.keys.includes(e)&&(await this.deleteSession({topic:e,expirerHasDeleted:!0}),this.client.events.emit(\"session_expire\",{topic:e})):t&&(await this.deleteProposal(t,!0),this.client.events.emit(\"proposal_expire\",{id:t}))})}registerPairingEvents(){this.client.core.pairing.events.on(Je.create,n=>this.onPairingCreated(n)),this.client.core.pairing.events.on(Je.delete,n=>{this.addToRecentlyDeleted(n.topic,\"pairing\")})}isValidPairingTopic(n){if(!Y(n,!1)){const{message:e}=y(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${n}`);throw new Error(e)}if(!this.client.core.pairing.pairings.keys.includes(n)){const{message:e}=y(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${n}`);throw new Error(e)}if(Z(this.client.core.pairing.pairings.get(n).expiry)){const{message:e}=y(\"EXPIRED\",`pairing topic: ${n}`);throw new Error(e)}}async isValidSessionTopic(n){if(!Y(n,!1)){const{message:e}=y(\"MISSING_OR_INVALID\",`session topic should be a string: ${n}`);throw new Error(e)}if(this.checkRecentlyDeleted(n),!this.client.session.keys.includes(n)){const{message:e}=y(\"NO_MATCHING_KEY\",`session topic doesn't exist: ${n}`);throw new Error(e)}if(Z(this.client.session.get(n).expiry)){await this.deleteSession({topic:n});const{message:e}=y(\"EXPIRED\",`session topic: ${n}`);throw new Error(e)}if(!this.client.core.crypto.keychain.has(n)){const{message:e}=y(\"MISSING_OR_INVALID\",`session topic does not exist in keychain: ${n}`);throw await this.deleteSession({topic:n}),new Error(e)}}async isValidSessionOrPairingTopic(n){if(this.checkRecentlyDeleted(n),this.client.session.keys.includes(n))await this.isValidSessionTopic(n);else if(this.client.core.pairing.pairings.keys.includes(n))this.isValidPairingTopic(n);else if(Y(n,!1)){const{message:e}=y(\"NO_MATCHING_KEY\",`session or pairing topic doesn't exist: ${n}`);throw new Error(e)}else{const{message:e}=y(\"MISSING_OR_INVALID\",`session or pairing topic should be a string: ${n}`);throw new Error(e)}}async isValidProposalId(n){if(!$t(n)){const{message:e}=y(\"MISSING_OR_INVALID\",`proposal id should be a number: ${n}`);throw new Error(e)}if(!this.client.proposal.keys.includes(n)){const{message:e}=y(\"NO_MATCHING_KEY\",`proposal id doesn't exist: ${n}`);throw new Error(e)}if(Z(this.client.proposal.get(n).expiryTimestamp)){await this.deleteProposal(n);const{message:e}=y(\"EXPIRED\",`proposal id: ${n}`);throw new Error(e)}}}class Os extends B{constructor(n,e){super(n,e,pt,we),this.core=n,this.logger=e}}class St extends B{constructor(n,e){super(n,e,ht,we),this.core=n,this.logger=e}}class bs extends B{constructor(n,e){super(n,e,ut,we,t=>t.id),this.core=n,this.logger=e}}class As extends B{constructor(n,e){super(n,e,mt,ae,()=>ce),this.core=n,this.logger=e}}class xs extends B{constructor(n,e){super(n,e,_t,ae),this.core=n,this.logger=e}}class Cs extends B{constructor(n,e){super(n,e,Et,ae,t=>t.id),this.core=n,this.logger=e}}var Vs=Object.defineProperty,Ds=(S,n,e)=>n in S?Vs(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,Ge=(S,n,e)=>Ds(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ls{constructor(n,e){this.core=n,this.logger=e,Ge(this,\"authKeys\"),Ge(this,\"pairingTopics\"),Ge(this,\"requests\"),this.authKeys=new As(this.core,this.logger),this.pairingTopics=new xs(this.core,this.logger),this.requests=new Cs(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var ks=Object.defineProperty,Ms=(S,n,e)=>n in S?ks(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,E=(S,n,e)=>Ms(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ee extends Lt{constructor(n){super(n),E(this,\"protocol\",De),E(this,\"version\",Le),E(this,\"name\",me.name),E(this,\"metadata\"),E(this,\"core\"),E(this,\"logger\"),E(this,\"events\",new hs),E(this,\"engine\"),E(this,\"session\"),E(this,\"proposal\"),E(this,\"pendingRequest\"),E(this,\"auth\"),E(this,\"signConfig\"),E(this,\"on\",(t,s)=>this.events.on(t,s)),E(this,\"once\",(t,s)=>this.events.once(t,s)),E(this,\"off\",(t,s)=>this.events.off(t,s)),E(this,\"removeListener\",(t,s)=>this.events.removeListener(t,s)),E(this,\"removeAllListeners\",t=>this.events.removeAllListeners(t)),E(this,\"connect\",async t=>{try{return await this.engine.connect(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"pair\",async t=>{try{return await this.engine.pair(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"approve\",async t=>{try{return await this.engine.approve(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"reject\",async t=>{try{return await this.engine.reject(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"update\",async t=>{try{return await this.engine.update(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"extend\",async t=>{try{return await this.engine.extend(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"request\",async t=>{try{return await this.engine.request(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"respond\",async t=>{try{return await this.engine.respond(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"ping\",async t=>{try{return await this.engine.ping(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"emit\",async t=>{try{return await this.engine.emit(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"disconnect\",async t=>{try{return await this.engine.disconnect(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"find\",t=>{try{return this.engine.find(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"getPendingSessionRequests\",()=>{try{return this.engine.getPendingSessionRequests()}catch(t){throw this.logger.error(t.message),t}}),E(this,\"authenticate\",async(t,s)=>{try{return await this.engine.authenticate(t,s)}catch(i){throw this.logger.error(i.message),i}}),E(this,\"formatAuthMessage\",t=>{try{return this.engine.formatAuthMessage(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"approveSessionAuthenticate\",async t=>{try{return await this.engine.approveSessionAuthenticate(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"rejectSessionAuthenticate\",async t=>{try{return await this.engine.rejectSessionAuthenticate(t)}catch(s){throw this.logger.error(s.message),s}}),this.name=n?.name||me.name,this.metadata=ls(n?.metadata),this.signConfig=n?.signConfig;const e=typeof n?.logger<\"u\"&&typeof n?.logger!=\"string\"?n.logger:At(xt({level:n?.logger||me.logger}));this.core=n?.core||new bt(n),this.logger=Ct(e,this.name),this.session=new St(this.core,this.logger),this.proposal=new Os(this.core,this.logger),this.pendingRequest=new bs(this.core,this.logger),this.engine=new Ns(this),this.auth=new Ls(this.core,this.logger)}static async init(n){const e=new Ee(n);return await e.initialize(),e}get context(){return Vt(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace(\"Initialized\");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info(\"SignClient Initialization Success\"),setTimeout(()=>{this.engine.processRelayMessageCache()},Oe(Ze))}catch(n){throw this.logger.info(\"SignClient Initialization Failure\"),this.logger.error(n.message),n}}}const $s=St,Ks=Ee;export{wt as AUTH_CONTEXT,mt as AUTH_KEYS_CONTEXT,_t as AUTH_PAIRING_TOPIC_CONTEXT,yt as AUTH_PROTOCOL,ce as AUTH_PUBLIC_KEY_NAME,Et as AUTH_REQUEST_CONTEXT,ae as AUTH_STORAGE_PREFIX,Rs as AUTH_VERSION,dt as ENGINE_CONTEXT,$ as ENGINE_QUEUE_STATES,N as ENGINE_RPC_OPTS,Es as HISTORY_CONTEXT,_s as HISTORY_EVENTS,fs as HISTORY_STORAGE_VERSION,gt as METHODS_TO_VERIFY,pt as PROPOSAL_CONTEXT,Ss as PROPOSAL_EXPIRY,$e as PROPOSAL_EXPIRY_MESSAGE,ut as REQUEST_CONTEXT,ht as SESSION_CONTEXT,J as SESSION_EXPIRY,_e as SESSION_REQUEST_EXPIRY_BOUNDARIES,ke as SIGN_CLIENT_CONTEXT,me as SIGN_CLIENT_DEFAULT,ws as SIGN_CLIENT_EVENTS,De as SIGN_CLIENT_PROTOCOL,ms as SIGN_CLIENT_STORAGE_OPTIONS,we as SIGN_CLIENT_STORAGE_PREFIX,Le as SIGN_CLIENT_VERSION,$s as SessionStore,Ks as SignClient,Ke as TVF_METHODS,Me as WALLETCONNECT_DEEPLINK_CHOICE,Ee as default};\n//# sourceMappingURL=index.es.js.map\n","// Save global object in a variable\nvar __global__ =\n(typeof globalThis !== 'undefined' && globalThis) ||\n(typeof self !== 'undefined' && self) ||\n(typeof global !== 'undefined' && global);\n// Create an object that extends from __global__ without the fetch function\nvar __globalThis__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = __global__.DOMException\n}\nF.prototype = __global__; // Needed for feature detection on whatwg-fetch's code\nreturn new F();\n})();\n// Wraps whatwg-fetch with a function scope to hijack the global object\n// \"globalThis\" that's going to be patched\n(function(globalThis) {\n\nvar irrelevant = (function (exports) {\n\n /* eslint-disable no-prototype-builtins */\n var g =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n // eslint-disable-next-line no-undef\n (typeof global !== 'undefined' && global) ||\n {};\n\n var support = {\n searchParams: 'URLSearchParams' in g,\n iterable: 'Symbol' in g && 'iterator' in Symbol,\n blob:\n 'FileReader' in g &&\n 'Blob' in g &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in g,\n arrayBuffer: 'ArrayBuffer' in g\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n if (header.length != 2) {\n throw new TypeError('Headers constructor: expected name/value pair to be length 2, found' + header.length)\n }\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body._noBody) return\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n var match = /charset=([A-Za-z0-9_-]+)/.exec(blob.type);\n var encoding = match ? match[1] : 'utf-8';\n reader.readAsText(blob, encoding);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n // eslint-disable-next-line no-self-assign\n this.bodyUsed = this.bodyUsed;\n this._bodyInit = body;\n if (!body) {\n this._noBody = true;\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this);\n if (isConsumed) {\n return isConsumed\n } else if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else if (support.blob) {\n return this.blob().then(readBlobAsArrayBuffer)\n } else {\n throw new Error('could not read as ArrayBuffer')\n }\n };\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'TRACE'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal || (function () {\n if ('AbortController' in g) {\n var ctrl = new AbortController();\n return ctrl.signal;\n }\n }());\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/;\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime());\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/;\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime();\n }\n }\n }\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\n .forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n try {\n headers.append(key, value);\n } catch (error) {\n console.warn('Response ' + error.message);\n }\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n if (this.status < 200 || this.status > 599) {\n throw new RangeError(\"Failed to construct 'Response': The status provided (0) is outside the range [200, 599].\")\n }\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = options.statusText === undefined ? '' : '' + options.statusText;\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 200, statusText: ''});\n response.ok = false;\n response.status = 0;\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = g.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n // This check if specifically for when a user fetches a file locally from the file system\n // Only if the status is out of a normal range\n if (request.url.indexOf('file://') === 0 && (xhr.status < 200 || xhr.status > 599)) {\n options.status = 200;\n } else {\n options.status = xhr.status;\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n setTimeout(function() {\n resolve(new Response(body, options));\n }, 0);\n };\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'));\n }, 0);\n };\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request timed out'));\n }, 0);\n };\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n }, 0);\n };\n\n function fixUrl(url) {\n try {\n return url === '' && g.location.href ? g.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob';\n } else if (\n support.arrayBuffer\n ) {\n xhr.responseType = 'arraybuffer';\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers || (g.Headers && init.headers instanceof g.Headers))) {\n var names = [];\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n names.push(normalizeName(name));\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]));\n });\n request.headers.forEach(function(value, name) {\n if (names.indexOf(name) === -1) {\n xhr.setRequestHeader(name, value);\n }\n });\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!g.fetch) {\n g.fetch = fetch;\n g.Headers = Headers;\n g.Request = Request;\n g.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__globalThis__);\n// This is a ponyfill, so...\n__globalThis__.fetch.ponyfill = true;\ndelete __globalThis__.fetch.polyfill;\n// Choose between native implementation (__global__) or custom implementation (__globalThis__)\nvar ctx = __global__.fetch ? __global__ : __globalThis__;\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","import{EventEmitter as m}from\"events\";import o from\"cross-fetch\";import{safeJsonStringify as a,safeJsonParse as y}from\"@walletconnect/safe-json\";import{isHttpUrl as h,formatJsonRpcError as b,parseConnectionError as u}from\"@walletconnect/jsonrpc-utils\";var P=Object.defineProperty,w=Object.defineProperties,E=Object.getOwnPropertyDescriptors,c=Object.getOwnPropertySymbols,L=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,l=(r,t,e)=>t in r?P(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e,p=(r,t)=>{for(var e in t||(t={}))L.call(t,e)&&l(r,e,t[e]);if(c)for(var e of c(t))O.call(t,e)&&l(r,e,t[e]);return r},v=(r,t)=>w(r,E(t));const j={Accept:\"application/json\",\"Content-Type\":\"application/json\"},T=\"POST\",d={headers:j,method:T},g=10;class f{constructor(t,e=!1){if(this.url=t,this.disableProviderPing=e,this.events=new m,this.isAvailable=!1,this.registering=!1,!h(t))throw new Error(`Provided URL is not compatible with HTTP connection: ${t}`);this.url=t,this.disableProviderPing=e}get connected(){return this.isAvailable}get connecting(){return this.registering}on(t,e){this.events.on(t,e)}once(t,e){this.events.once(t,e)}off(t,e){this.events.off(t,e)}removeListener(t,e){this.events.removeListener(t,e)}async open(t=this.url){await this.register(t)}async close(){if(!this.isAvailable)throw new Error(\"Connection already closed\");this.onClose()}async send(t){this.isAvailable||await this.register();try{const e=a(t),s=await(await o(this.url,v(p({},d),{body:e}))).json();this.onPayload({data:s})}catch(e){this.onError(t.id,e)}}async register(t=this.url){if(!h(t))throw new Error(`Provided URL is not compatible with HTTP connection: ${t}`);if(this.registering){const e=this.events.getMaxListeners();return(this.events.listenerCount(\"register_error\")>=e||this.events.listenerCount(\"open\")>=e)&&this.events.setMaxListeners(e+1),new Promise((s,i)=>{this.events.once(\"register_error\",n=>{this.resetMaxListeners(),i(n)}),this.events.once(\"open\",()=>{if(this.resetMaxListeners(),typeof this.isAvailable>\"u\")return i(new Error(\"HTTP connection is missing or invalid\"));s()})})}this.url=t,this.registering=!0;try{if(!this.disableProviderPing){const e=a({id:1,jsonrpc:\"2.0\",method:\"test\",params:[]});await o(t,v(p({},d),{body:e}))}this.onOpen()}catch(e){const s=this.parseError(e);throw this.events.emit(\"register_error\",s),this.onClose(),s}}onOpen(){this.isAvailable=!0,this.registering=!1,this.events.emit(\"open\")}onClose(){this.isAvailable=!1,this.registering=!1,this.events.emit(\"close\")}onPayload(t){if(typeof t.data>\"u\")return;const e=typeof t.data==\"string\"?y(t.data):t.data;this.events.emit(\"payload\",e)}onError(t,e){const s=this.parseError(e),i=s.message||s.toString(),n=b(t,i);this.events.emit(\"payload\",n)}parseError(t,e=this.url){return u(t,e,\"HTTP\")}resetMaxListeners(){this.events.getMaxListeners()>g&&this.events.setMaxListeners(g)}}export{f as HttpConnection,f as default};\n//# sourceMappingURL=index.es.js.map\n","import $t from\"@walletconnect/sign-client\";import{isValidObject as G,isCaipNamespace as Z,parseNamespaceKey as _,mergeArrays as J,parseChainId as T,getSdkError as tt,isValidArray as z}from\"@walletconnect/utils\";import{pino as Ot,getDefaultLoggerOptions as At}from\"@walletconnect/logger\";import g,{HttpConnection as Ct}from\"@walletconnect/jsonrpc-http-connection\";import{JsonRpcProvider as f}from\"@walletconnect/jsonrpc-provider\";import{formatJsonRpcRequest as Ht,formatJsonRpcResult as Et}from\"@walletconnect/jsonrpc-utils\";import Nt from\"events\";const et=\"error\",St=\"wss://relay.walletconnect.org\",Dt=\"wc\",qt=\"universal_provider\",U=`${Dt}@2:${qt}:`,st=\"https://rpc.walletconnect.org/v1/\",I=\"generic\",jt=`${st}bundler`,u={DEFAULT_CHAIN_CHANGED:\"default_chain_changed\"};function Rt(){}function k(s){return s==null||typeof s!=\"object\"&&typeof s!=\"function\"}function W(s){return ArrayBuffer.isView(s)&&!(s instanceof DataView)}function _t(s){if(k(s))return s;if(Array.isArray(s)||W(s)||s instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&s instanceof SharedArrayBuffer)return s.slice(0);const t=Object.getPrototypeOf(s),e=t.constructor;if(s instanceof Date||s instanceof Map||s instanceof Set)return new e(s);if(s instanceof RegExp){const i=new e(s);return i.lastIndex=s.lastIndex,i}if(s instanceof DataView)return new e(s.buffer.slice(0));if(s instanceof Error){const i=new e(s.message);return i.stack=s.stack,i.name=s.name,i.cause=s.cause,i}if(typeof File<\"u\"&&s instanceof File)return new e([s],s.name,{type:s.type,lastModified:s.lastModified});if(typeof s==\"object\"){const i=Object.create(t);return Object.assign(i,s)}return s}function it(s){return typeof s==\"object\"&&s!==null}function rt(s){return Object.getOwnPropertySymbols(s).filter(t=>Object.prototype.propertyIsEnumerable.call(s,t))}function nt(s){return s==null?s===void 0?\"[object Undefined]\":\"[object Null]\":Object.prototype.toString.call(s)}const Ut=\"[object RegExp]\",at=\"[object String]\",ct=\"[object Number]\",ot=\"[object Boolean]\",ht=\"[object Arguments]\",Ft=\"[object Symbol]\",Lt=\"[object Date]\",Mt=\"[object Map]\",xt=\"[object Set]\",Bt=\"[object Array]\",Gt=\"[object ArrayBuffer]\",Jt=\"[object Object]\",zt=\"[object DataView]\",kt=\"[object Uint8Array]\",Wt=\"[object Uint8ClampedArray]\",Kt=\"[object Uint16Array]\",Vt=\"[object Uint32Array]\",Xt=\"[object Int8Array]\",Yt=\"[object Int16Array]\",Qt=\"[object Int32Array]\",Zt=\"[object Float32Array]\",Tt=\"[object Float64Array]\";function te(s,t){return $(s,void 0,s,new Map,t)}function $(s,t,e,i=new Map,n=void 0){const a=n?.(s,t,e,i);if(a!=null)return a;if(k(s))return s;if(i.has(s))return i.get(s);if(Array.isArray(s)){const r=new Array(s.length);i.set(s,r);for(let c=0;c<s.length;c++)r[c]=$(s[c],c,e,i,n);return Object.hasOwn(s,\"index\")&&(r.index=s.index),Object.hasOwn(s,\"input\")&&(r.input=s.input),r}if(s instanceof Date)return new Date(s.getTime());if(s instanceof RegExp){const r=new RegExp(s.source,s.flags);return r.lastIndex=s.lastIndex,r}if(s instanceof Map){const r=new Map;i.set(s,r);for(const[c,o]of s)r.set(c,$(o,c,e,i,n));return r}if(s instanceof Set){const r=new Set;i.set(s,r);for(const c of s)r.add($(c,void 0,e,i,n));return r}if(typeof Buffer<\"u\"&&Buffer.isBuffer(s))return s.subarray();if(W(s)){const r=new(Object.getPrototypeOf(s)).constructor(s.length);i.set(s,r);for(let c=0;c<s.length;c++)r[c]=$(s[c],c,e,i,n);return r}if(s instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&s instanceof SharedArrayBuffer)return s.slice(0);if(s instanceof DataView){const r=new DataView(s.buffer.slice(0),s.byteOffset,s.byteLength);return i.set(s,r),y(r,s,e,i,n),r}if(typeof File<\"u\"&&s instanceof File){const r=new File([s],s.name,{type:s.type});return i.set(s,r),y(r,s,e,i,n),r}if(s instanceof Blob){const r=new Blob([s],{type:s.type});return i.set(s,r),y(r,s,e,i,n),r}if(s instanceof Error){const r=new s.constructor;return i.set(s,r),r.message=s.message,r.name=s.name,r.stack=s.stack,r.cause=s.cause,y(r,s,e,i,n),r}if(typeof s==\"object\"&&ee(s)){const r=Object.create(Object.getPrototypeOf(s));return i.set(s,r),y(r,s,e,i,n),r}return s}function y(s,t,e=s,i,n){const a=[...Object.keys(t),...rt(t)];for(let r=0;r<a.length;r++){const c=a[r],o=Object.getOwnPropertyDescriptor(s,c);(o==null||o.writable)&&(s[c]=$(t[c],c,e,i,n))}}function ee(s){switch(nt(s)){case ht:case Bt:case Gt:case zt:case ot:case Lt:case Zt:case Tt:case Xt:case Yt:case Qt:case Mt:case ct:case Jt:case Ut:case xt:case at:case Ft:case kt:case Wt:case Kt:case Vt:return!0;default:return!1}}function se(s,t){return te(s,(e,i,n,a)=>{const r=t?.(e,i,n,a);if(r!=null)return r;if(typeof s==\"object\")switch(Object.prototype.toString.call(s)){case ct:case at:case ot:{const c=new s.constructor(s?.valueOf());return y(c,s),c}case ht:{const c={};return y(c,s),c.length=s.length,c[Symbol.iterator]=s[Symbol.iterator],c}default:return}})}function pt(s){return se(s)}function dt(s){return s!==null&&typeof s==\"object\"&&nt(s)===\"[object Arguments]\"}function ie(s){return W(s)}function re(s){if(typeof s!=\"object\"||s==null)return!1;if(Object.getPrototypeOf(s)===null)return!0;if(Object.prototype.toString.call(s)!==\"[object Object]\"){const e=s[Symbol.toStringTag];return e==null||!Object.getOwnPropertyDescriptor(s,Symbol.toStringTag)?.writable?!1:s.toString()===`[object ${e}]`}let t=s;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(s)===t}function ne(s,...t){const e=t.slice(0,-1),i=t[t.length-1];let n=s;for(let a=0;a<e.length;a++){const r=e[a];n=F(n,r,i,new Map)}return n}function F(s,t,e,i){if(k(s)&&(s=Object(s)),t==null||typeof t!=\"object\")return s;if(i.has(t))return _t(i.get(t));if(i.set(t,s),Array.isArray(t)){t=t.slice();for(let a=0;a<t.length;a++)t[a]=t[a]??void 0}const n=[...Object.keys(t),...rt(t)];for(let a=0;a<n.length;a++){const r=n[a];let c=t[r],o=s[r];if(dt(c)&&(c={...c}),dt(o)&&(o={...o}),typeof Buffer<\"u\"&&Buffer.isBuffer(c)&&(c=pt(c)),Array.isArray(c))if(typeof o==\"object\"&&o!=null){const w=[],v=Reflect.ownKeys(o);for(let P=0;P<v.length;P++){const p=v[P];w[p]=o[p]}o=w}else o=[];const m=e(o,c,r,s,t,i);m!=null?s[r]=m:Array.isArray(c)||it(o)&&it(c)?s[r]=F(o,c,e,i):o==null&&re(c)?s[r]=F({},c,e,i):o==null&&ie(c)?s[r]=pt(c):(o===void 0||c!==void 0)&&(s[r]=c)}return s}function ae(s,...t){return ne(s,...t,Rt)}var ce=Object.defineProperty,oe=Object.defineProperties,he=Object.getOwnPropertyDescriptors,ut=Object.getOwnPropertySymbols,pe=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable,lt=(s,t,e)=>t in s?ce(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,L=(s,t)=>{for(var e in t||(t={}))pe.call(t,e)&&lt(s,e,t[e]);if(ut)for(var e of ut(t))de.call(t,e)&&lt(s,e,t[e]);return s},ue=(s,t)=>oe(s,he(t));function d(s,t,e){var i;const n=T(s);return((i=t.rpcMap)==null?void 0:i[n.reference])||`${st}?chainId=${n.namespace}:${n.reference}&projectId=${e}`}function b(s){return s.includes(\":\")?s.split(\":\")[1]:s}function ft(s){return s.map(t=>`${t.split(\":\")[0]}:${t.split(\":\")[1]}`)}function le(s,t){const e=Object.keys(t.namespaces).filter(n=>n.includes(s));if(!e.length)return[];const i=[];return e.forEach(n=>{const a=t.namespaces[n].accounts;i.push(...a)}),i}function M(s={},t={}){const e=mt(s),i=mt(t);return ae(e,i)}function mt(s){var t,e,i,n,a;const r={};if(!G(s))return r;for(const[c,o]of Object.entries(s)){const m=Z(c)?[c]:o.chains,w=o.methods||[],v=o.events||[],P=o.rpcMap||{},p=_(c);r[p]=ue(L(L({},r[p]),o),{chains:J(m,(t=r[p])==null?void 0:t.chains),methods:J(w,(e=r[p])==null?void 0:e.methods),events:J(v,(i=r[p])==null?void 0:i.events)}),(G(P)||G(((n=r[p])==null?void 0:n.rpcMap)||{}))&&(r[p].rpcMap=L(L({},P),(a=r[p])==null?void 0:a.rpcMap))}return r}function vt(s){return s.includes(\":\")?s.split(\":\")[2]:s}function gt(s){const t={};for(const[e,i]of Object.entries(s)){const n=i.methods||[],a=i.events||[],r=i.accounts||[],c=Z(e)?[e]:i.chains?i.chains:ft(i.accounts);t[e]={chains:c,methods:n,events:a,accounts:r}}return t}function K(s){return typeof s==\"number\"?s:s.includes(\"0x\")?parseInt(s,16):(s=s.includes(\":\")?s.split(\":\")[1]:s,isNaN(Number(s))?s:Number(s))}const Pt={},h=s=>Pt[s],V=(s,t)=>{Pt[s]=t};var fe=Object.defineProperty,me=(s,t,e)=>t in s?fe(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,O=(s,t,e)=>me(s,typeof t!=\"symbol\"?t+\"\":t,e);class ve{constructor(t){O(this,\"name\",\"polkadot\"),O(this,\"client\"),O(this,\"httpProviders\"),O(this,\"events\"),O(this,\"namespace\"),O(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var ge=Object.defineProperty,Pe=Object.defineProperties,we=Object.getOwnPropertyDescriptors,wt=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,X=(s,t,e)=>t in s?ge(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,yt=(s,t)=>{for(var e in t||(t={}))ye.call(t,e)&&X(s,e,t[e]);if(wt)for(var e of wt(t))be.call(t,e)&&X(s,e,t[e]);return s},bt=(s,t)=>Pe(s,we(t)),A=(s,t,e)=>X(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ie{constructor(t){A(this,\"name\",\"eip155\"),A(this,\"client\"),A(this,\"chainId\"),A(this,\"namespace\"),A(this,\"httpProviders\"),A(this,\"events\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(t){switch(t.request.method){case\"eth_requestAccounts\":return this.getAccounts();case\"eth_accounts\":return this.getAccounts();case\"wallet_switchEthereumChain\":return await this.handleSwitchChain(t);case\"eth_chainId\":return parseInt(this.getDefaultChain());case\"wallet_getCapabilities\":return await this.getCapabilities(t);case\"wallet_getCallsStatus\":return await this.getCallStatus(t)}return this.namespace.methods.includes(t.request.method)?await this.client.request(t):this.getHttpProvider().request(t.request)}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(parseInt(t),e),this.chainId=parseInt(t),this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}createHttpProvider(t,e){const i=e||d(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new Ct(i,h(\"disableProviderPing\")))}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=parseInt(b(e));t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}getHttpProvider(){const t=this.chainId,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}async handleSwitchChain(t){var e,i;let n=t.request.params?(e=t.request.params[0])==null?void 0:e.chainId:\"0x0\";n=n.startsWith(\"0x\")?n:`0x${n}`;const a=parseInt(n,16);if(this.isChainApproved(a))this.setDefaultChain(`${a}`);else if(this.namespace.methods.includes(\"wallet_switchEthereumChain\"))await this.client.request({topic:t.topic,request:{method:t.request.method,params:[{chainId:n}]},chainId:(i=this.namespace.chains)==null?void 0:i[0]}),this.setDefaultChain(`${a}`);else throw new Error(`Failed to switch to chain 'eip155:${a}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(t){return this.namespace.chains.includes(`${this.name}:${t}`)}async getCapabilities(t){var e,i,n,a,r;const c=(i=(e=t.request)==null?void 0:e.params)==null?void 0:i[0],o=((a=(n=t.request)==null?void 0:n.params)==null?void 0:a[1])||[],m=`${c}${o.join(\",\")}`;if(!c)throw new Error(\"Missing address parameter in `wallet_getCapabilities` request\");const w=this.client.session.get(t.topic),v=((r=w?.sessionProperties)==null?void 0:r.capabilities)||{};if(v!=null&&v[m])return v?.[m];const P=await this.client.request(t);try{await this.client.session.update(t.topic,{sessionProperties:bt(yt({},w.sessionProperties||{}),{capabilities:bt(yt({},v||{}),{[m]:P})})})}catch(p){console.warn(\"Failed to update session with capabilities\",p)}return P}async getCallStatus(t){var e,i;const n=this.client.session.get(t.topic),a=(e=n.sessionProperties)==null?void 0:e.bundler_name;if(a){const c=this.getBundlerUrl(t.chainId,a);try{return await this.getUserOperationReceipt(c,t)}catch(o){console.warn(\"Failed to fetch call status from bundler\",o,c)}}const r=(i=n.sessionProperties)==null?void 0:i.bundler_url;if(r)try{return await this.getUserOperationReceipt(r,t)}catch(c){console.warn(\"Failed to fetch call status from custom bundler\",c,r)}if(this.namespace.methods.includes(t.request.method))return await this.client.request(t);throw new Error(\"Fetching call status not approved by the wallet.\")}async getUserOperationReceipt(t,e){var i;const n=new URL(t),a=await fetch(n,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(Ht(\"eth_getUserOperationReceipt\",[(i=e.request.params)==null?void 0:i[0]]))});if(!a.ok)throw new Error(`Failed to fetch user operation receipt - ${a.status}`);return await a.json()}getBundlerUrl(t,e){return`${jt}?projectId=${this.client.core.projectId}&chainId=${t}&bundler=${e}`}}var $e=Object.defineProperty,Oe=(s,t,e)=>t in s?$e(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,C=(s,t,e)=>Oe(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ae{constructor(t){C(this,\"name\",\"solana\"),C(this,\"client\"),C(this,\"httpProviders\"),C(this,\"events\"),C(this,\"namespace\"),C(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Ce=Object.defineProperty,He=(s,t,e)=>t in s?Ce(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,H=(s,t,e)=>He(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ee{constructor(t){H(this,\"name\",\"cosmos\"),H(this,\"client\"),H(this,\"httpProviders\"),H(this,\"events\"),H(this,\"namespace\"),H(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Ne=Object.defineProperty,Se=(s,t,e)=>t in s?Ne(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,E=(s,t,e)=>Se(s,typeof t!=\"symbol\"?t+\"\":t,e);class De{constructor(t){E(this,\"name\",\"algorand\"),E(this,\"client\"),E(this,\"httpProviders\"),E(this,\"events\"),E(this,\"namespace\"),E(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){if(!this.httpProviders[t]){const i=e||d(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;t[e]=this.createHttpProvider(e,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);return typeof i>\"u\"?void 0:new f(new g(i,h(\"disableProviderPing\")))}}var qe=Object.defineProperty,je=(s,t,e)=>t in s?qe(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,N=(s,t,e)=>je(s,typeof t!=\"symbol\"?t+\"\":t,e);class Re{constructor(t){N(this,\"name\",\"cip34\"),N(this,\"client\"),N(this,\"httpProviders\"),N(this,\"events\"),N(this,\"namespace\"),N(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{const i=this.getCardanoRPCUrl(e),n=b(e);t[n]=this.createHttpProvider(n,i)}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}getCardanoRPCUrl(t){const e=this.namespace.rpcMap;if(e)return e[t]}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||this.getCardanoRPCUrl(t);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var _e=Object.defineProperty,Ue=(s,t,e)=>t in s?_e(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,S=(s,t,e)=>Ue(s,typeof t!=\"symbol\"?t+\"\":t,e);class Fe{constructor(t){S(this,\"name\",\"elrond\"),S(this,\"client\"),S(this,\"httpProviders\"),S(this,\"events\"),S(this,\"namespace\"),S(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Le=Object.defineProperty,Me=(s,t,e)=>t in s?Le(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,D=(s,t,e)=>Me(s,typeof t!=\"symbol\"?t+\"\":t,e);class xe{constructor(t){D(this,\"name\",\"multiversx\"),D(this,\"client\"),D(this,\"httpProviders\"),D(this,\"events\"),D(this,\"namespace\"),D(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Be=Object.defineProperty,Ge=(s,t,e)=>t in s?Be(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,q=(s,t,e)=>Ge(s,typeof t!=\"symbol\"?t+\"\":t,e);class Je{constructor(t){q(this,\"name\",\"near\"),q(this,\"client\"),q(this,\"httpProviders\"),q(this,\"events\"),q(this,\"namespace\"),q(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){if(this.chainId=t,!this.httpProviders[t]){const i=e||d(`${this.name}:${t}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;t[e]=this.createHttpProvider(e,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace);return typeof i>\"u\"?void 0:new f(new g(i,h(\"disableProviderPing\")))}}var ze=Object.defineProperty,ke=(s,t,e)=>t in s?ze(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,j=(s,t,e)=>ke(s,typeof t!=\"symbol\"?t+\"\":t,e);class We{constructor(t){j(this,\"name\",\"tezos\"),j(this,\"client\"),j(this,\"httpProviders\"),j(this,\"events\"),j(this,\"namespace\"),j(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){if(this.chainId=t,!this.httpProviders[t]){const i=e||d(`${this.name}:${t}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{t[e]=this.createHttpProvider(e)}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace);return typeof i>\"u\"?void 0:new f(new g(i))}}var Ke=Object.defineProperty,Ve=(s,t,e)=>t in s?Ke(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,R=(s,t,e)=>Ve(s,typeof t!=\"symbol\"?t+\"\":t,e);class Xe{constructor(t){R(this,\"name\",I),R(this,\"client\"),R(this,\"httpProviders\"),R(this,\"events\"),R(this,\"namespace\"),R(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(t.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(t.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(t.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(t.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider(t.chainId).request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){var t,e;const i={};return(e=(t=this.namespace)==null?void 0:t.accounts)==null||e.forEach(n=>{const a=T(n);i[`${a.namespace}:${a.reference}`]=this.createHttpProvider(n)}),i}getHttpProvider(t){const e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Ye=Object.defineProperty,Qe=Object.defineProperties,Ze=Object.getOwnPropertyDescriptors,It=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,ts=Object.prototype.propertyIsEnumerable,Y=(s,t,e)=>t in s?Ye(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,x=(s,t)=>{for(var e in t||(t={}))Te.call(t,e)&&Y(s,e,t[e]);if(It)for(var e of It(t))ts.call(t,e)&&Y(s,e,t[e]);return s},Q=(s,t)=>Qe(s,Ze(t)),l=(s,t,e)=>Y(s,typeof t!=\"symbol\"?t+\"\":t,e);class B{constructor(t){l(this,\"client\"),l(this,\"namespaces\"),l(this,\"optionalNamespaces\"),l(this,\"sessionProperties\"),l(this,\"scopedProperties\"),l(this,\"events\",new Nt),l(this,\"rpcProviders\",{}),l(this,\"session\"),l(this,\"providerOpts\"),l(this,\"logger\"),l(this,\"uri\"),l(this,\"disableProviderPing\",!1),this.providerOpts=t,this.logger=typeof t?.logger<\"u\"&&typeof t?.logger!=\"string\"?t.logger:Ot(At({level:t?.logger||et})),this.disableProviderPing=t?.disableProviderPing||!1}static async init(t){const e=new B(t);return await e.initialize(),e}async request(t,e,i){const[n,a]=this.validateChain(e);if(!this.session)throw new Error(\"Please call connect() before request()\");return await this.getProvider(n).request({request:x({},t),chainId:`${n}:${a}`,topic:this.session.topic,expiry:i})}sendAsync(t,e,i,n){const a=new Date().getTime();this.request(t,i,n).then(r=>e(null,Et(a,r))).catch(r=>e(r,void 0))}async enable(){if(!this.client)throw new Error(\"Sign Client not initialized\");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){var t;if(!this.session)throw new Error(\"Please call connect() before enable()\");await this.client.disconnect({topic:(t=this.session)==null?void 0:t.topic,reason:tt(\"USER_DISCONNECTED\")}),await this.cleanup()}async connect(t){if(!this.client)throw new Error(\"Sign Client not initialized\");if(this.setNamespaces(t),await this.cleanupPendingPairings(),!t.skipPairing)return await this.pair(t.pairingTopic)}async authenticate(t,e){if(!this.client)throw new Error(\"Sign Client not initialized\");this.setNamespaces(t),await this.cleanupPendingPairings();const{uri:i,response:n}=await this.client.authenticate(t,e);i&&(this.uri=i,this.events.emit(\"display_uri\",i));const a=await n();if(this.session=a.session,this.session){const r=gt(this.session.namespaces);this.namespaces=M(this.namespaces,r),await this.persist(\"namespaces\",this.namespaces),this.onConnect()}return a}on(t,e){this.events.on(t,e)}once(t,e){this.events.once(t,e)}removeListener(t,e){this.events.removeListener(t,e)}off(t,e){this.events.off(t,e)}get isWalletConnect(){return!0}async pair(t){const{uri:e,approval:i}=await this.client.connect({pairingTopic:t,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties});e&&(this.uri=e,this.events.emit(\"display_uri\",e));const n=await i();this.session=n;const a=gt(n.namespaces);return this.namespaces=M(this.namespaces,a),await this.persist(\"namespaces\",this.namespaces),await this.persist(\"optionalNamespaces\",this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(t,e){try{if(!this.session)return;const[i,n]=this.validateChain(t),a=this.getProvider(i);a.name===I?a.setDefaultChain(`${i}:${n}`,e):a.setDefaultChain(n,e)}catch(i){if(!/Please call connect/.test(i.message))throw i}}async cleanupPendingPairings(t={}){this.logger.info(\"Cleaning up inactive pairings...\");const e=this.client.pairing.getAll();if(z(e)){for(const i of e)t.deletePairings?this.client.core.expirer.set(i.topic,0):await this.client.core.relayer.subscriber.unsubscribe(i.topic);this.logger.info(`Inactive pairings cleared: ${e.length}`)}}abortPairingAttempt(){this.logger.warn(\"abortPairingAttempt is deprecated. This is now a no-op.\")}async checkStorage(){this.namespaces=await this.getFromStore(\"namespaces\")||{},this.optionalNamespaces=await this.getFromStore(\"optionalNamespaces\")||{},this.session&&this.createProviders()}async initialize(){this.logger.trace(\"Initialized\"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){var t,e;if(this.client=this.providerOpts.client||await $t.init({core:this.providerOpts.core,logger:this.providerOpts.logger||et,relayUrl:this.providerOpts.relayUrl||St,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.providerOpts.session)try{this.session=this.client.session.get(this.providerOpts.session.topic)}catch(i){throw this.logger.error(\"Failed to get session\",i),new Error(`The provided session: ${(e=(t=this.providerOpts)==null?void 0:t.session)==null?void 0:e.topic} doesn't exist in the Sign client`)}else{const i=this.client.session.getAll();this.session=i[0]}this.logger.trace(\"SignClient Initialized\")}createProviders(){if(!this.client)throw new Error(\"Sign Client not initialized\");if(!this.session)throw new Error(\"Session not initialized. Please call connect() before enable()\");const t=[...new Set(Object.keys(this.session.namespaces).map(e=>_(e)))];V(\"client\",this.client),V(\"events\",this.events),V(\"disableProviderPing\",this.disableProviderPing),t.forEach(e=>{if(!this.session)return;const i=le(e,this.session),n=ft(i),a=M(this.namespaces,this.optionalNamespaces),r=Q(x({},a[e]),{accounts:i,chains:n});switch(e){case\"eip155\":this.rpcProviders[e]=new Ie({namespace:r});break;case\"algorand\":this.rpcProviders[e]=new De({namespace:r});break;case\"solana\":this.rpcProviders[e]=new Ae({namespace:r});break;case\"cosmos\":this.rpcProviders[e]=new Ee({namespace:r});break;case\"polkadot\":this.rpcProviders[e]=new ve({namespace:r});break;case\"cip34\":this.rpcProviders[e]=new Re({namespace:r});break;case\"elrond\":this.rpcProviders[e]=new Fe({namespace:r});break;case\"multiversx\":this.rpcProviders[e]=new xe({namespace:r});break;case\"near\":this.rpcProviders[e]=new Je({namespace:r});break;case\"tezos\":this.rpcProviders[e]=new We({namespace:r});break;default:this.rpcProviders[I]?this.rpcProviders[I].updateNamespace(r):this.rpcProviders[I]=new Xe({namespace:r})}})}registerEventListeners(){if(typeof this.client>\"u\")throw new Error(\"Sign Client is not initialized\");this.client.on(\"session_ping\",t=>{var e;const{topic:i}=t;i===((e=this.session)==null?void 0:e.topic)&&this.events.emit(\"session_ping\",t)}),this.client.on(\"session_event\",t=>{var e;const{params:i,topic:n}=t;if(n!==((e=this.session)==null?void 0:e.topic))return;const{event:a}=i;if(a.name===\"accountsChanged\"){const r=a.data;r&&z(r)&&this.events.emit(\"accountsChanged\",r.map(vt))}else if(a.name===\"chainChanged\"){const r=i.chainId,c=i.event.data,o=_(r),m=K(r)!==K(c)?`${o}:${K(c)}`:r;this.onChainChanged(m)}else this.events.emit(a.name,a.data);this.events.emit(\"session_event\",t)}),this.client.on(\"session_update\",({topic:t,params:e})=>{var i,n;if(t!==((i=this.session)==null?void 0:i.topic))return;const{namespaces:a}=e,r=(n=this.client)==null?void 0:n.session.get(t);this.session=Q(x({},r),{namespaces:a}),this.onSessionUpdate(),this.events.emit(\"session_update\",{topic:t,params:e})}),this.client.on(\"session_delete\",async t=>{var e;t.topic===((e=this.session)==null?void 0:e.topic)&&(await this.cleanup(),this.events.emit(\"session_delete\",t),this.events.emit(\"disconnect\",Q(x({},tt(\"USER_DISCONNECTED\")),{data:t.topic})))}),this.on(u.DEFAULT_CHAIN_CHANGED,t=>{this.onChainChanged(t,!0)})}getProvider(t){return this.rpcProviders[t]||this.rpcProviders[I]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(t=>{var e;this.getProvider(t).updateNamespace((e=this.session)==null?void 0:e.namespaces[t])})}setNamespaces(t){const{namespaces:e={},optionalNamespaces:i={},sessionProperties:n,scopedProperties:a}=t;this.optionalNamespaces=M(e,i),this.sessionProperties=n,this.scopedProperties=a}validateChain(t){const[e,i]=t?.split(\":\")||[\"\",\"\"];if(!this.namespaces||!Object.keys(this.namespaces).length)return[e,i];if(e&&!Object.keys(this.namespaces||{}).map(r=>_(r)).includes(e))throw new Error(`Namespace '${e}' is not configured. Please call connect() first with namespace config.`);if(e&&i)return[e,i];const n=_(Object.keys(this.namespaces)[0]),a=this.rpcProviders[n].getDefaultChain();return[n,a]}async requestAccounts(){const[t]=this.validateChain();return await this.getProvider(t).requestAccounts()}async onChainChanged(t,e=!1){if(!this.namespaces)return;const[i,n]=this.validateChain(t);if(!n)return;this.updateNamespaceChain(i,n),this.events.emit(\"chainChanged\",n);const a=this.getProvider(i).getDefaultChain();e||this.getProvider(i).setDefaultChain(n),this.emitAccountsChangedOnChainChange({namespace:i,previousChainId:a,newChainId:t}),await this.persist(\"namespaces\",this.namespaces)}emitAccountsChangedOnChainChange({namespace:t,previousChainId:e,newChainId:i}){var n,a;try{if(e===i)return;const r=(a=(n=this.session)==null?void 0:n.namespaces[t])==null?void 0:a.accounts;if(!r)return;const c=r.filter(o=>o.includes(`${i}:`)).map(vt);if(!z(c))return;this.events.emit(\"accountsChanged\",c)}catch(r){this.logger.warn(\"Failed to emit accountsChanged on chain change\",r)}}updateNamespaceChain(t,e){if(!this.namespaces)return;const i=this.namespaces[t]?t:`${t}:${e}`,n={chains:[],methods:[],events:[],defaultChain:e};this.namespaces[i]?this.namespaces[i]&&(this.namespaces[i].defaultChain=e):this.namespaces[i]=n}onConnect(){this.createProviders(),this.events.emit(\"connect\",{session:this.session})}async cleanup(){this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,await this.deleteFromStore(\"namespaces\"),await this.deleteFromStore(\"optionalNamespaces\"),await this.deleteFromStore(\"sessionProperties\"),this.session=void 0,await this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(t,e){var i;const n=((i=this.session)==null?void 0:i.topic)||\"\";await this.client.core.storage.setItem(`${U}/${t}${n}`,e)}async getFromStore(t){var e;const i=((e=this.session)==null?void 0:e.topic)||\"\";return await this.client.core.storage.getItem(`${U}/${t}${i}`)}async deleteFromStore(t){var e;const i=((e=this.session)==null?void 0:e.topic)||\"\";await this.client.core.storage.removeItem(`${U}/${t}${i}`)}async cleanupStorage(){var t;try{if(((t=this.client)==null?void 0:t.session.length)>0)return;const e=await this.client.core.storage.getKeys();for(const i of e)i.startsWith(U)&&await this.client.core.storage.removeItem(i)}catch(e){this.logger.warn(\"Failed to cleanup storage\",e)}}}const es=B;export{es as UniversalProvider,B as default};\n//# sourceMappingURL=index.es.js.map\n","import{EventEmitter as j}from\"events\";import{getAccountsFromNamespaces as O,getSdkError as x,isValidArray as y}from\"@walletconnect/utils\";import{UniversalProvider as N}from\"@walletconnect/universal-provider\";const $=\"wc\",k=\"ethereum_provider\",q=`${$}@2:${k}:`,U=\"https://rpc.walletconnect.org/v1/\",f=[\"eth_sendTransaction\",\"personal_sign\"],A=[\"eth_accounts\",\"eth_requestAccounts\",\"eth_sendRawTransaction\",\"eth_sign\",\"eth_signTransaction\",\"eth_signTypedData\",\"eth_signTypedData_v3\",\"eth_signTypedData_v4\",\"eth_sendTransaction\",\"personal_sign\",\"wallet_switchEthereumChain\",\"wallet_addEthereumChain\",\"wallet_getPermissions\",\"wallet_requestPermissions\",\"wallet_registerOnboarding\",\"wallet_watchAsset\",\"wallet_scanQRCode\",\"wallet_sendCalls\",\"wallet_getCapabilities\",\"wallet_getCallsStatus\",\"wallet_showCallsStatus\"],C=[\"chainChanged\",\"accountsChanged\"],P=[\"chainChanged\",\"accountsChanged\",\"message\",\"disconnect\",\"connect\"],D=async()=>{const{createAppKit:s}=await import(\"@reown/appkit/core\");return s};var z=Object.defineProperty,L=Object.defineProperties,K=Object.getOwnPropertyDescriptors,M=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,_=(s,t,e)=>t in s?z(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,v=(s,t)=>{for(var e in t||(t={}))Q.call(t,e)&&_(s,e,t[e]);if(M)for(var e of M(t))V.call(t,e)&&_(s,e,t[e]);return s},w=(s,t)=>L(s,K(t)),p=(s,t,e)=>_(s,typeof t!=\"symbol\"?t+\"\":t,e);function I(s){return Number(s[0].split(\":\")[1])}function E(s){return`0x${s.toString(16)}`}function G(s){const{chains:t,optionalChains:e,methods:n,optionalMethods:i,events:a,optionalEvents:o,rpcMap:u}=s;if(!y(t))throw new Error(\"Invalid chains\");const c={chains:t,methods:n||f,events:a||C,rpcMap:v({},t.length?{[I(t)]:u[I(t)]}:{})},l=a?.filter(d=>!C.includes(d)),r=n?.filter(d=>!f.includes(d));if(!e&&!o&&!i&&!(l!=null&&l.length)&&!(r!=null&&r.length))return{required:t.length?c:void 0};const m=l?.length&&r?.length||!e,h={chains:[...new Set(m?c.chains.concat(e||[]):e)],methods:[...new Set(c.methods.concat(i!=null&&i.length?i:A))],events:[...new Set(c.events.concat(o!=null&&o.length?o:P))],rpcMap:u};return{required:t.length?c:void 0,optional:e.length?h:void 0}}class b{constructor(){p(this,\"events\",new j),p(this,\"namespace\",\"eip155\"),p(this,\"accounts\",[]),p(this,\"signer\"),p(this,\"chainId\",1),p(this,\"modal\"),p(this,\"rpc\"),p(this,\"STORAGE_KEY\",q),p(this,\"on\",(t,e)=>(this.events.on(t,e),this)),p(this,\"once\",(t,e)=>(this.events.once(t,e),this)),p(this,\"removeListener\",(t,e)=>(this.events.removeListener(t,e),this)),p(this,\"off\",(t,e)=>(this.events.off(t,e),this)),p(this,\"parseAccount\",t=>this.isCompatibleChainId(t)?this.parseAccountId(t).address:t),this.signer={},this.rpc={}}static async init(t){const e=new b;return await e.initialize(t),e}async request(t,e){return await this.signer.request(t,this.formatChainId(this.chainId),e)}sendAsync(t,e,n){this.signer.sendAsync(t,e,this.formatChainId(this.chainId),n)}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:\"eth_requestAccounts\"})}async connect(t){var e;if(!this.signer.client)throw new Error(\"Provider not initialized. Call init() first\");this.loadConnectOpts(t);const{required:n,optional:i}=G(this.rpc);try{const a=await new Promise(async(u,c)=>{var l,r;this.rpc.showQrModal&&((l=this.modal)==null||l.open(),(r=this.modal)==null||r.subscribeState(h=>{!h.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),c(new Error(\"Connection request reset. Please try again.\")))}));const m=t!=null&&t.scopedProperties?{[this.namespace]:t.scopedProperties}:void 0;await this.signer.connect(w(v({namespaces:v({},n&&{[this.namespace]:n})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:t?.pairingTopic,scopedProperties:m})).then(h=>{u(h)}).catch(h=>{var d;(d=this.modal)==null||d.showErrorMessage(\"Unable to connect\"),c(new Error(h.message))})});if(!a)return;const o=O(a.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:o),this.setAccounts(o),this.events.emit(\"connect\",{chainId:E(this.chainId)})}catch(a){throw this.signer.logger.error(a),a}finally{(e=this.modal)==null||e.close()}}async authenticate(t,e){var n;if(!this.signer.client)throw new Error(\"Provider not initialized. Call init() first\");this.loadConnectOpts({chains:t?.chains});try{const i=await new Promise(async(o,u)=>{var c,l;this.rpc.showQrModal&&((c=this.modal)==null||c.open(),(l=this.modal)==null||l.subscribeState(r=>{!r.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),u(new Error(\"Connection request reset. Please try again.\")))})),await this.signer.authenticate(w(v({},t),{chains:this.rpc.chains}),e).then(r=>{o(r)}).catch(r=>{var m;(m=this.modal)==null||m.showErrorMessage(\"Unable to connect\"),u(new Error(r.message))})}),a=i.session;if(a){const o=O(a.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:o),this.setAccounts(o),this.events.emit(\"connect\",{chainId:E(this.chainId)})}return i}catch(i){throw this.signer.logger.error(i),i}finally{(n=this.modal)==null||n.close()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on(\"session_event\",t=>{const{params:e}=t,{event:n}=e;n.name===\"accountsChanged\"?(this.accounts=this.parseAccounts(n.data),this.events.emit(\"accountsChanged\",this.accounts)):n.name===\"chainChanged\"?this.setChainId(this.formatChainId(n.data)):this.events.emit(n.name,n.data),this.events.emit(\"session_event\",t)}),this.signer.on(\"accountsChanged\",t=>{this.accounts=this.parseAccounts(t),this.events.emit(\"accountsChanged\",this.accounts)}),this.signer.on(\"chainChanged\",t=>{const e=parseInt(t);this.chainId=e,this.events.emit(\"chainChanged\",E(this.chainId)),this.persist()}),this.signer.on(\"session_update\",t=>{this.events.emit(\"session_update\",t)}),this.signer.on(\"session_delete\",t=>{this.reset(),this.events.emit(\"session_delete\",t),this.events.emit(\"disconnect\",w(v({},x(\"USER_DISCONNECTED\")),{data:t.topic,name:\"USER_DISCONNECTED\"}))}),this.signer.on(\"display_uri\",t=>{this.events.emit(\"display_uri\",t)})}switchEthereumChain(t){this.request({method:\"wallet_switchEthereumChain\",params:[{chainId:t.toString(16)}]})}isCompatibleChainId(t){return typeof t==\"string\"?t.startsWith(`${this.namespace}:`):!1}formatChainId(t){return`${this.namespace}:${t}`}parseChainId(t){return Number(t.split(\":\")[1])}setChainIds(t){const e=t.filter(n=>this.isCompatibleChainId(n)).map(n=>this.parseChainId(n));e.length&&(this.chainId=e[0],this.events.emit(\"chainChanged\",E(this.chainId)),this.persist())}setChainId(t){if(this.isCompatibleChainId(t)){const e=this.parseChainId(t);this.chainId=e,this.switchEthereumChain(e)}}parseAccountId(t){const[e,n,i]=t.split(\":\");return{chainId:`${e}:${n}`,address:i}}setAccounts(t){this.accounts=t.filter(e=>this.parseChainId(this.parseAccountId(e).chainId)===this.chainId).map(e=>this.parseAccountId(e).address),this.events.emit(\"accountsChanged\",this.accounts)}getRpcConfig(t){var e,n;const i=(e=t?.chains)!=null?e:[],a=(n=t?.optionalChains)!=null?n:[],o=i.concat(a);if(!o.length)throw new Error(\"No chains specified in either `chains` or `optionalChains`\");const u=i.length?t?.methods||f:[],c=i.length?t?.events||C:[],l=t?.optionalMethods||[],r=t?.optionalEvents||[],m=t?.rpcMap||this.buildRpcMap(o,t.projectId),h=t?.qrModalOptions||void 0;return{chains:i?.map(d=>this.formatChainId(d)),optionalChains:a.map(d=>this.formatChainId(d)),methods:u,events:c,optionalMethods:l,optionalEvents:r,rpcMap:m,showQrModal:!!(t!=null&&t.showQrModal),qrModalOptions:h,projectId:t.projectId,metadata:t.metadata}}buildRpcMap(t,e){const n={};return t.forEach(i=>{n[i]=this.getRpcUrl(i,e)}),n}async initialize(t){if(this.rpc=this.getRpcConfig(t),this.chainId=this.rpc.chains.length?I(this.rpc.chains):I(this.rpc.optionalChains),this.signer=await N.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:t.disableProviderPing,relayUrl:t.relayUrl,storage:t.storage,storageOptions:t.storageOptions,customStoragePrefix:t.customStoragePrefix,telemetryEnabled:t.telemetryEnabled,logger:t.logger}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let e;try{const n=await D(),{convertWCMToAppKitOptions:i}=await Promise.resolve().then(function(){return nt}),a=i(w(v({},this.rpc.qrModalOptions),{chains:[...new Set([...this.rpc.chains,...this.rpc.optionalChains])],metadata:this.rpc.metadata,projectId:this.rpc.projectId}));if(!a.networks.length)throw new Error(\"No networks found for WalletConnect\\xB7\");e=n(w(v({},a),{universalProvider:this.signer,manualWCControl:!0}))}catch(n){throw console.warn(n),new Error(\"To use QR modal, please install @reown/appkit package\")}if(e)try{this.modal=e}catch(n){throw this.signer.logger.error(n),new Error(\"Could not generate WalletConnectModal Instance\")}}}loadConnectOpts(t){if(!t)return;const{chains:e,optionalChains:n,rpcMap:i}=t;e&&y(e)&&(this.rpc.chains=e.map(a=>this.formatChainId(a)),e.forEach(a=>{this.rpc.rpcMap[a]=i?.[a]||this.getRpcUrl(a)})),n&&y(n)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=n?.map(a=>this.formatChainId(a)),n.forEach(a=>{this.rpc.rpcMap[a]=i?.[a]||this.getRpcUrl(a)}))}getRpcUrl(t,e){var n;return((n=this.rpc.rpcMap)==null?void 0:n[t])||`${U}?chainId=eip155:${t}&projectId=${e||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{const t=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),e=this.session.namespaces[`${this.namespace}:${t}`]?this.session.namespaces[`${this.namespace}:${t}`]:this.session.namespaces[this.namespace];this.setChainIds(t?[this.formatChainId(t)]:e?.accounts),this.setAccounts(e?.accounts)}catch(t){this.signer.logger.error(\"Failed to load persisted session, clearing state...\"),this.signer.logger.error(t),await this.disconnect().catch(e=>this.signer.logger.warn(e))}}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(t){return typeof t==\"string\"||t instanceof String?[this.parseAccount(t)]:t.map(e=>this.parseAccount(e))}}const Y=b;var H=Object.defineProperty,B=Object.defineProperties,F=Object.getOwnPropertyDescriptors,S=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,T=(s,t,e)=>t in s?H(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,R=(s,t)=>{for(var e in t||(t={}))X.call(t,e)&&T(s,e,t[e]);if(S)for(var e of S(t))J.call(t,e)&&T(s,e,t[e]);return s},Z=(s,t)=>B(s,F(t));function tt(s){if(s)return{\"--w3m-font-family\":s[\"--wcm-font-family\"],\"--w3m-accent\":s[\"--wcm-accent-color\"],\"--w3m-color-mix\":s[\"--wcm-background-color\"],\"--w3m-z-index\":s[\"--wcm-z-index\"]?Number(s[\"--wcm-z-index\"]):void 0,\"--w3m-qr-color\":s[\"--wcm-accent-color\"],\"--w3m-font-size-master\":s[\"--wcm-text-medium-regular-size\"],\"--w3m-border-radius-master\":s[\"--wcm-container-border-radius\"],\"--w3m-color-mix-strength\":0}}const et=s=>{const[t,e]=s.split(\":\");return W({id:e,caipNetworkId:s,chainNamespace:t,name:\"\",nativeCurrency:{name:\"\",symbol:\"\",decimals:8},rpcUrls:{default:{http:[\"https://rpc.walletconnect.org/v1\"]}}})};function st(s){var t,e,n,i,a,o,u;const c=(t=s.chains)==null?void 0:t.map(et).filter(Boolean);if(c.length===0)throw new Error(\"At least one chain must be specified\");const l=c.find(m=>{var h;return m.id===((h=s.defaultChain)==null?void 0:h.id)}),r={projectId:s.projectId,networks:c,themeMode:s.themeMode,themeVariables:tt(s.themeVariables),chainImages:s.chainImages,connectorImages:s.walletImages,defaultNetwork:l,metadata:Z(R({},s.metadata),{name:((e=s.metadata)==null?void 0:e.name)||\"WalletConnect\",description:((n=s.metadata)==null?void 0:n.description)||\"Connect to WalletConnect-compatible wallets\",url:((i=s.metadata)==null?void 0:i.url)||\"https://walletconnect.org\",icons:((a=s.metadata)==null?void 0:a.icons)||[\"https://walletconnect.org/walletconnect-logo.png\"]}),showWallets:!0,featuredWalletIds:s.explorerRecommendedWalletIds===\"NONE\"?[]:Array.isArray(s.explorerRecommendedWalletIds)?s.explorerRecommendedWalletIds:[],excludeWalletIds:s.explorerExcludedWalletIds===\"ALL\"?[]:Array.isArray(s.explorerExcludedWalletIds)?s.explorerExcludedWalletIds:[],enableEIP6963:!1,enableInjected:!1,enableCoinbase:!0,enableWalletConnect:!0,features:{email:!1,socials:!1}};if((o=s.mobileWallets)!=null&&o.length||(u=s.desktopWallets)!=null&&u.length){const m=[...(s.mobileWallets||[]).map(g=>({id:g.id,name:g.name,links:g.links})),...(s.desktopWallets||[]).map(g=>({id:g.id,name:g.name,links:{native:g.links.native,universal:g.links.universal}}))],h=[...r.featuredWalletIds||[],...r.excludeWalletIds||[]],d=m.filter(g=>!h.includes(g.id));d.length&&(r.customWallets=d)}return r}function W(s){return R({formatters:void 0,fees:void 0,serializers:void 0},s)}var nt=Object.freeze({__proto__:null,convertWCMToAppKitOptions:st,defineChain:W});export{Y as EthereumProvider,P as OPTIONAL_EVENTS,A as OPTIONAL_METHODS,C as REQUIRED_EVENTS,f as REQUIRED_METHODS,b as default};\n//# sourceMappingURL=index.es.js.map\n"],"names":["R","ReflectApply","ReflectOwnKeys","NumberIsNaN","eventsModule","n","i","events","er","m","w","once","keys","to","from","l","ar","BrowserInfo","os","NodeInfo","process","SearchBotDeviceInfo","BotInfo","ReactNativeInfo","ua","browser","ii","extendStatics","d","b","p","__extends","__assign","s","__rest","e","__decorate","c","r","__param","__metadata","__awaiter","P","__generator","_","f","y","g","v","__createBinding","o","k","k2","__exportStar","__values","__read","__spread","__spreadArrays","a","j","__await","__asyncGenerator","q","__asyncDelegator","__asyncValues","__makeTemplateObject","__importStar","__importDefault","__classPrivateFieldGet","__classPrivateFieldSet","delay_1","delay","require$$0","require$$1","require$$2","watch","require$$3","require$$4","cjs","icons","name","description","base","ALPHABET","x","xc","encode","decode","string","basex","En","fe","De","gn","it","_t","yn","de","Bn","he","Cn","u","D","xn","wt","St","le","mn","_n","Sn","vn","In","Un","Tn","Fn","Nn","Ln","On","Hn","zn","Mn","qn","$n","kn","Rn","jn","Zn","Gn","Vn","Yn","Q","An","h","S","F","z","I","O","ot","tt","st","at","L","Ct","At","Kn","Jn","vt","be","Wn","It","Ut","Tt","Xn","Ft","pe","K","we","Ee","Pn","Et","ge","Nt","W","ye","Lt","Qn","ft","tr","nr","Ot","xe","M","N","nt","rr","Ht","Be","Ce","H","or","J","Ae","sr","ir","ur","cr","fr","Dr","me","_e","Se","gt","zt","ve","Mt","dr","hr","qt","Ie","$t","lr","br","pr","G","yt","wr","Er","gr","yr","E","B","C","A","U","T","$","V","Y","Z","X","et","pt","re","oe","mt","se","ie","ue","ce","ae","Dn","dn","hn","ln","ee","ne","un","cn","an","fn","kt","Ue","xr","Te","Br","Cr","Ar","mr","_r","Sr","vr","Rt","jt","Zt","ut","Dt","Gt","xt","Vt","Yt","Jt","dt","Kt","Wt","Ne","Xt","Le","Oe","Ir","Ur","Tr","He","Fr","Nr","ze","Hr","Lr","Or","Bt","zr","ht","Mr","qr","$r","kr","Rr","jr","Zr","Gr","Vr","Yr","Jr","Kr","Wr","Xr","Pr","Qr","eo","no","ro","oo","so","io","uo","co","ao","fo","Do","ho","lo","bo","po","wo","Eo","Me","go","yo","xo","Bo","Co","Ao","mo","$e","qe","So","vo","Io","Pt","Uo","ke","To","Fo","No","Lo","Oo","Ho","zo","Mo","qo","$o","ko","Re","je","Ze","Qt","Ro","Ge","jo","Ve","Zo","Go","Vo","Ye","Yo","Je","Jo","Ko","Wo","Ke","We","Xe","te","Pe","ct","rt","lt","pn","bt","wn","Qe","en","nn","rn","on","sn","Po","bn","fromString","toString","alphabet","base2","base8","base10","base16","base32","base36","base64","base256emoji","bases","Xo","ei","ni","ri","oi","si","fi","li","gi","yi","mi","wi","bi","Ei","vi","xi","Si","Oi","Ai","Bi","Ii","Ni","Ui","Ti","Ri","_i","$i","Li","ji","Ci","Pi","ki","Vi","Mi","Di","qi","Ki","Fi","zi","ts","es","Fe","bs","vs","xs","Os","As","Is","Ns","Ts","Ls","Cs","Ps","ks","Vs","Ms","Ds","qs","Zs","tn","_o","transmit","level","set","crypto","global","cs","De.generateKeyPair","De.encodeIss","ls","De.signJWT","us","ds","gs","hs","ps","ys","ms","fs","Fs","Xi","Zi","Qi","ws","Yi","_s","Es","Ss","Gi","Rs","Ks","Bs","is","ss","$s","zs","rs","ns","js","Us","as","Ji","Wi","Hi","globalThis","exports","fetch"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70]}