@latticexyz/explorer 2.2.24-38fee1657dd544e31a8ea005836205dc3f8dfdd0 → 2.2.24-3c39d69e3d503a5007e9821ce442bccc43ac310f

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 (446) hide show
  1. package/.next/standalone/packages/explorer/.next/BUILD_ID +1 -1
  2. package/.next/standalone/packages/explorer/.next/app-build-manifest.json +58 -58
  3. package/.next/standalone/packages/explorer/.next/app-path-routes-manifest.json +1 -1
  4. package/.next/standalone/packages/explorer/.next/build-manifest.json +5 -5
  5. package/.next/standalone/packages/explorer/.next/prerender-manifest.json +1 -1
  6. package/.next/standalone/packages/explorer/.next/react-loadable-manifest.json +538 -538
  7. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/page.js +1 -1
  8. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/page.js.nft.json +1 -1
  9. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/decode/page.js +1 -1
  11. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/decode/page.js.nft.json +1 -1
  12. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/decode/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/explore/page.js +2 -2
  14. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/explore/page.js.nft.json +1 -1
  15. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/explore/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/interact/page.js +3 -3
  17. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/interact/page.js.nft.json +1 -1
  18. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/interact/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/observe/page.js +2 -2
  20. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/observe/page.js.nft.json +1 -1
  21. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/observe/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/page.js +1 -1
  23. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/page.js.nft.json +1 -1
  24. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/page.js +1 -1
  26. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/page.js.nft.json +1 -1
  27. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/api/system-abis/route.js +2 -2
  29. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/api/system-abis/route.js.nft.json +1 -1
  30. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/api/world-abi/route.js +1 -1
  31. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/api/world-abi/route.js.nft.json +1 -1
  32. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/packages/explorer/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/packages/explorer/.next/server/app/_not-found.html +1 -1
  35. package/.next/standalone/packages/explorer/.next/server/app/_not-found.rsc +1 -1
  36. package/.next/standalone/packages/explorer/.next/server/app/internal/observer-relay/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/packages/explorer/.next/server/app/internal/observer-relay.html +1 -1
  38. package/.next/standalone/packages/explorer/.next/server/app/internal/observer-relay.rsc +1 -1
  39. package/.next/standalone/packages/explorer/.next/server/app-paths-manifest.json +3 -3
  40. package/.next/standalone/packages/explorer/.next/server/chunks/1009.js +1 -0
  41. package/.next/standalone/packages/explorer/.next/server/chunks/{9713.js → 1021.js} +1 -1
  42. package/.next/standalone/packages/explorer/.next/server/chunks/{4052.js → 1024.js} +1 -1
  43. package/.next/standalone/packages/explorer/.next/server/chunks/1120.js +1 -0
  44. package/.next/standalone/packages/explorer/.next/server/chunks/{6556.js → 1172.js} +1 -1
  45. package/.next/standalone/packages/explorer/.next/server/chunks/{4470.js → 1190.js} +1 -1
  46. package/.next/standalone/packages/explorer/.next/server/chunks/{327.js → 1209.js} +7 -7
  47. package/.next/standalone/packages/explorer/.next/server/chunks/{8108.js → 1215.js} +1 -1
  48. package/.next/standalone/packages/explorer/.next/server/chunks/{8817.js → 1217.js} +1 -1
  49. package/.next/standalone/packages/explorer/.next/server/chunks/{6652.js → 1262.js} +1 -1
  50. package/.next/standalone/packages/explorer/.next/server/chunks/{1529.js → 1523.js} +1 -1
  51. package/.next/standalone/packages/explorer/.next/server/chunks/{6669.js → 1633.js} +1 -1
  52. package/.next/standalone/packages/explorer/.next/server/chunks/{4342.js → 1664.js} +1 -1
  53. package/.next/standalone/packages/explorer/.next/server/chunks/{8683.js → 1737.js} +1 -1
  54. package/.next/standalone/packages/explorer/.next/server/chunks/{1744.js → 1929.js} +1 -1
  55. package/.next/standalone/packages/explorer/.next/server/chunks/{1049.js → 2107.js} +1 -1
  56. package/.next/standalone/packages/explorer/.next/server/chunks/{2485.js → 2219.js} +1 -1
  57. package/.next/standalone/packages/explorer/.next/server/chunks/{2212.js → 2298.js} +1 -1
  58. package/.next/standalone/packages/explorer/.next/server/chunks/{6802.js → 2329.js} +1 -1
  59. package/.next/standalone/packages/explorer/.next/server/chunks/{2516.js → 2371.js} +1 -1
  60. package/.next/standalone/packages/explorer/.next/server/chunks/2455.js +5 -11
  61. package/.next/standalone/packages/explorer/.next/server/chunks/{340.js → 2521.js} +1 -1
  62. package/.next/standalone/packages/explorer/.next/server/chunks/2544.js +1 -0
  63. package/.next/standalone/packages/explorer/.next/server/chunks/{7144.js → 2545.js} +1 -1
  64. package/.next/standalone/packages/explorer/.next/server/chunks/{9107.js → 2723.js} +1 -1
  65. package/.next/standalone/packages/explorer/.next/server/chunks/{9605.js → 2763.js} +1 -1
  66. package/.next/standalone/packages/explorer/.next/server/chunks/{8184.js → 2778.js} +1 -1
  67. package/.next/standalone/packages/explorer/.next/server/chunks/{117.js → 2795.js} +1 -1
  68. package/.next/standalone/packages/explorer/.next/server/chunks/{2498.js → 290.js} +1 -1
  69. package/.next/standalone/packages/explorer/.next/server/chunks/{3201.js → 2918.js} +1 -1
  70. package/.next/standalone/packages/explorer/.next/server/chunks/{6214.js → 3051.js} +1 -1
  71. package/.next/standalone/packages/explorer/.next/server/chunks/{2726.js → 3148.js} +1 -1
  72. package/.next/standalone/packages/explorer/.next/server/chunks/3182.js +1 -0
  73. package/.next/standalone/packages/explorer/.next/server/chunks/{3878.js → 3233.js} +1 -1
  74. package/.next/standalone/packages/explorer/.next/server/chunks/{6895.js → 3258.js} +1 -1
  75. package/.next/standalone/packages/explorer/.next/server/chunks/{9089.js → 3306.js} +1 -1
  76. package/.next/standalone/packages/explorer/.next/server/chunks/{7094.js → 3313.js} +1 -1
  77. package/.next/standalone/packages/explorer/.next/server/chunks/{3933.js → 3354.js} +1 -1
  78. package/.next/standalone/packages/explorer/.next/server/chunks/{5079.js → 3434.js} +1 -1
  79. package/.next/standalone/packages/explorer/.next/server/chunks/{6334.js → 3437.js} +1 -1
  80. package/.next/standalone/packages/explorer/.next/server/chunks/{7300.js → 3482.js} +1 -1
  81. package/.next/standalone/packages/explorer/.next/server/chunks/3556.js +1 -1
  82. package/.next/standalone/packages/explorer/.next/server/chunks/{8248.js → 3583.js} +1 -1
  83. package/.next/standalone/packages/explorer/.next/server/chunks/3677.js +1 -0
  84. package/.next/standalone/packages/explorer/.next/server/chunks/{5262.js → 3710.js} +1 -1
  85. package/.next/standalone/packages/explorer/.next/server/chunks/{9374.js → 3789.js} +1 -1
  86. package/.next/standalone/packages/explorer/.next/server/chunks/{2182.js → 3803.js} +1 -1
  87. package/.next/standalone/packages/explorer/.next/server/chunks/3852.js +1 -0
  88. package/.next/standalone/packages/explorer/.next/server/chunks/{6499.js → 4027.js} +1 -1
  89. package/.next/standalone/packages/explorer/.next/server/chunks/{2305.js → 4088.js} +1 -1
  90. package/.next/standalone/packages/explorer/.next/server/chunks/{1845.js → 4096.js} +1 -1
  91. package/.next/standalone/packages/explorer/.next/server/chunks/{3010.js → 4131.js} +2 -2
  92. package/.next/standalone/packages/explorer/.next/server/chunks/{7794.js → 418.js} +1 -1
  93. package/.next/standalone/packages/explorer/.next/server/chunks/{7904.js → 4216.js} +1 -1
  94. package/.next/standalone/packages/explorer/.next/server/chunks/{6902.js → 4253.js} +1 -1
  95. package/.next/standalone/packages/explorer/.next/server/chunks/{9287.js → 4298.js} +1 -1
  96. package/.next/standalone/packages/explorer/.next/server/chunks/{7443.js → 4420.js} +1 -1
  97. package/.next/standalone/packages/explorer/.next/server/chunks/{4447.js → 4423.js} +1 -1
  98. package/.next/standalone/packages/explorer/.next/server/chunks/{2605.js → 4431.js} +1 -1
  99. package/.next/standalone/packages/explorer/.next/server/chunks/{4384.js → 4526.js} +1 -1
  100. package/.next/standalone/packages/explorer/.next/server/chunks/4613.js +1 -0
  101. package/.next/standalone/packages/explorer/.next/server/chunks/{9428.js → 4716.js} +1 -1
  102. package/.next/standalone/packages/explorer/.next/server/chunks/{8342.js → 4759.js} +1 -1
  103. package/.next/standalone/packages/explorer/.next/server/chunks/{9542.js → 4793.js} +1 -1
  104. package/.next/standalone/packages/explorer/.next/server/chunks/482.js +1 -1
  105. package/.next/standalone/packages/explorer/.next/server/chunks/4863.js +1 -0
  106. package/.next/standalone/packages/explorer/.next/server/chunks/{3896.js → 4886.js} +12 -12
  107. package/.next/standalone/packages/explorer/.next/server/chunks/{4487.js → 5011.js} +1 -1
  108. package/.next/standalone/packages/explorer/.next/server/chunks/{2078.js → 5154.js} +1 -1
  109. package/.next/standalone/packages/explorer/.next/server/chunks/{2501.js → 5168.js} +1 -1
  110. package/.next/standalone/packages/explorer/.next/server/chunks/{2441.js → 519.js} +1 -1
  111. package/.next/standalone/packages/explorer/.next/server/chunks/{2482.js → 5209.js} +5 -5
  112. package/.next/standalone/packages/explorer/.next/server/chunks/{5921.js → 5245.js} +1 -1
  113. package/.next/standalone/packages/explorer/.next/server/chunks/{9175.js → 5391.js} +1 -1
  114. package/.next/standalone/packages/explorer/.next/server/chunks/{8423.js → 5447.js} +1 -1
  115. package/.next/standalone/packages/explorer/.next/server/chunks/{483.js → 5454.js} +1 -1
  116. package/.next/standalone/packages/explorer/.next/server/chunks/{8016.js → 5574.js} +7 -7
  117. package/.next/standalone/packages/explorer/.next/server/chunks/{7262.js → 5576.js} +1 -1
  118. package/.next/standalone/packages/explorer/.next/server/chunks/{3041.js → 5586.js} +1 -1
  119. package/.next/standalone/packages/explorer/.next/server/chunks/{3555.js → 5594.js} +1 -1
  120. package/.next/standalone/packages/explorer/.next/server/chunks/{72.js → 5698.js} +1 -1
  121. package/.next/standalone/packages/explorer/.next/server/chunks/{85.js → 5754.js} +1 -1
  122. package/.next/standalone/packages/explorer/.next/server/chunks/{2897.js → 5778.js} +1 -1
  123. package/.next/standalone/packages/explorer/.next/server/chunks/{6036.js → 5789.js} +1 -1
  124. package/.next/standalone/packages/explorer/.next/server/chunks/{6827.js → 5794.js} +1 -1
  125. package/.next/standalone/packages/explorer/.next/server/chunks/{804.js → 5799.js} +1 -1
  126. package/.next/standalone/packages/explorer/.next/server/chunks/{7622.js → 5833.js} +1 -1
  127. package/.next/standalone/packages/explorer/.next/server/chunks/5852.js +1 -0
  128. package/.next/standalone/packages/explorer/.next/server/chunks/5875.js +1 -0
  129. package/.next/standalone/packages/explorer/.next/server/chunks/{2944.js → 5931.js} +1 -1
  130. package/.next/standalone/packages/explorer/.next/server/chunks/{9744.js → 6090.js} +1 -1
  131. package/.next/standalone/packages/explorer/.next/server/chunks/{7445.js → 6124.js} +1 -1
  132. package/.next/standalone/packages/explorer/.next/server/chunks/{1535.js → 6269.js} +1 -1
  133. package/.next/standalone/packages/explorer/.next/server/chunks/{3209.js → 6318.js} +1 -1
  134. package/.next/standalone/packages/explorer/.next/server/chunks/{5651.js → 6353.js} +1 -1
  135. package/.next/standalone/packages/explorer/.next/server/chunks/644.js +1 -0
  136. package/.next/standalone/packages/explorer/.next/server/chunks/6483.js +2 -2
  137. package/.next/standalone/packages/explorer/.next/server/chunks/6674.js +1 -8
  138. package/.next/standalone/packages/explorer/.next/server/chunks/6685.js +1 -0
  139. package/.next/standalone/packages/explorer/.next/server/chunks/6944.js +1 -0
  140. package/.next/standalone/packages/explorer/.next/server/chunks/701.js +1 -0
  141. package/.next/standalone/packages/explorer/.next/server/chunks/{1353.js → 7010.js} +1 -1
  142. package/.next/standalone/packages/explorer/.next/server/chunks/{5899.js → 7029.js} +1 -1
  143. package/.next/standalone/packages/explorer/.next/server/chunks/{4376.js → 7063.js} +1 -1
  144. package/.next/standalone/packages/explorer/.next/server/chunks/{1978.js → 7067.js} +1 -1
  145. package/.next/standalone/packages/explorer/.next/server/chunks/{9055.js → 7304.js} +1 -1
  146. package/.next/standalone/packages/explorer/.next/server/chunks/{1435.js → 7366.js} +1 -1
  147. package/.next/standalone/packages/explorer/.next/server/chunks/{7882.js → 7388.js} +1 -1
  148. package/.next/standalone/packages/explorer/.next/server/chunks/{3687.js → 7422.js} +1 -1
  149. package/.next/standalone/packages/explorer/.next/server/chunks/{8516.js → 7528.js} +1 -1
  150. package/.next/standalone/packages/explorer/.next/server/chunks/{5660.js → 7601.js} +1 -1
  151. package/.next/standalone/packages/explorer/.next/server/chunks/{1389.js → 7645.js} +1 -1
  152. package/.next/standalone/packages/explorer/.next/server/chunks/{1713.js → 7765.js} +1 -1
  153. package/.next/standalone/packages/explorer/.next/server/chunks/{8716.js → 7807.js} +1 -1
  154. package/.next/standalone/packages/explorer/.next/server/chunks/{1742.js → 7837.js} +1 -1
  155. package/.next/standalone/packages/explorer/.next/server/chunks/{2965.js → 7839.js} +1 -1
  156. package/.next/standalone/packages/explorer/.next/server/chunks/7876.js +12 -0
  157. package/.next/standalone/packages/explorer/.next/server/chunks/{2669.js → 7885.js} +1 -1
  158. package/.next/standalone/packages/explorer/.next/server/chunks/{44.js → 7891.js} +1 -1
  159. package/.next/standalone/packages/explorer/.next/server/chunks/{246.js → 8125.js} +9 -9
  160. package/.next/standalone/packages/explorer/.next/server/chunks/{9457.js → 8173.js} +1 -1
  161. package/.next/standalone/packages/explorer/.next/server/chunks/{9346.js → 8190.js} +1 -1
  162. package/.next/standalone/packages/explorer/.next/server/chunks/{1850.js → 8222.js} +1 -1
  163. package/.next/standalone/packages/explorer/.next/server/chunks/{4192.js → 824.js} +1 -1
  164. package/.next/standalone/packages/explorer/.next/server/chunks/{5555.js → 8304.js} +1 -1
  165. package/.next/standalone/packages/explorer/.next/server/chunks/{3384.js → 8310.js} +1 -1
  166. package/.next/standalone/packages/explorer/.next/server/chunks/{6125.js → 8429.js} +1 -1
  167. package/.next/standalone/packages/explorer/.next/server/chunks/{1005.js → 8478.js} +1 -1
  168. package/.next/standalone/packages/explorer/.next/server/chunks/{3244.js → 8560.js} +1 -1
  169. package/.next/standalone/packages/explorer/.next/server/chunks/{8252.js → 8562.js} +1 -1
  170. package/.next/standalone/packages/explorer/.next/server/chunks/{7333.js → 8571.js} +1 -1
  171. package/.next/standalone/packages/explorer/.next/server/chunks/{1677.js → 8593.js} +1 -1
  172. package/.next/standalone/packages/explorer/.next/server/chunks/{1751.js → 8610.js} +1 -1
  173. package/.next/standalone/packages/explorer/.next/server/chunks/{8479.js → 8674.js} +1 -1
  174. package/.next/standalone/packages/explorer/.next/server/chunks/{2527.js → 8724.js} +1 -1
  175. package/.next/standalone/packages/explorer/.next/server/chunks/{5382.js → 8758.js} +1 -1
  176. package/.next/standalone/packages/explorer/.next/server/chunks/{3113.js → 8785.js} +1 -1
  177. package/.next/standalone/packages/explorer/.next/server/chunks/{2532.js → 8814.js} +1 -1
  178. package/.next/standalone/packages/explorer/.next/server/chunks/{8359.js → 8820.js} +1 -1
  179. package/.next/standalone/packages/explorer/.next/server/chunks/{5129.js → 8842.js} +1 -1
  180. package/.next/standalone/packages/explorer/.next/server/chunks/89.js +1 -0
  181. package/.next/standalone/packages/explorer/.next/server/chunks/{7023.js → 8921.js} +1 -1
  182. package/.next/standalone/packages/explorer/.next/server/chunks/{4502.js → 8962.js} +1 -1
  183. package/.next/standalone/packages/explorer/.next/server/chunks/{4438.js → 9047.js} +1 -1
  184. package/.next/standalone/packages/explorer/.next/server/chunks/9138.js +1 -0
  185. package/.next/standalone/packages/explorer/.next/server/chunks/924.js +1 -0
  186. package/.next/standalone/packages/explorer/.next/server/chunks/9256.js +8 -0
  187. package/.next/standalone/packages/explorer/.next/server/chunks/928.js +1 -0
  188. package/.next/standalone/packages/explorer/.next/server/chunks/933.js +3 -0
  189. package/.next/standalone/packages/explorer/.next/server/chunks/944.js +1 -0
  190. package/.next/standalone/packages/explorer/.next/server/chunks/{3901.js → 9469.js} +1 -1
  191. package/.next/standalone/packages/explorer/.next/server/chunks/{3984.js → 9496.js} +1 -1
  192. package/.next/standalone/packages/explorer/.next/server/chunks/95.js +1 -0
  193. package/.next/standalone/packages/explorer/.next/server/chunks/{2915.js → 9571.js} +1 -1
  194. package/.next/standalone/packages/explorer/.next/server/chunks/{2336.js → 9597.js} +1 -1
  195. package/.next/standalone/packages/explorer/.next/server/chunks/{1134.js → 9669.js} +1 -1
  196. package/.next/standalone/packages/explorer/.next/server/chunks/9705.js +2 -0
  197. package/.next/standalone/packages/explorer/.next/server/chunks/{1543.js → 9767.js} +1 -1
  198. package/.next/standalone/packages/explorer/.next/server/chunks/{9193.js → 9780.js} +1 -1
  199. package/.next/standalone/packages/explorer/.next/server/chunks/984.js +2 -2
  200. package/.next/standalone/packages/explorer/.next/server/chunks/{4725.js → 9851.js} +1 -1
  201. package/.next/standalone/packages/explorer/.next/server/chunks/{9082.js → 9884.js} +1 -1
  202. package/.next/standalone/packages/explorer/.next/server/chunks/{9860.js → 9897.js} +1 -1
  203. package/.next/standalone/packages/explorer/.next/server/chunks/{1717.js → 991.js} +1 -1
  204. package/.next/standalone/packages/explorer/.next/server/middleware-build-manifest.js +1 -1
  205. package/.next/standalone/packages/explorer/.next/server/middleware-react-loadable-manifest.js +1 -1
  206. package/.next/standalone/packages/explorer/.next/server/pages/404.html +1 -1
  207. package/.next/standalone/packages/explorer/.next/server/pages/500.html +1 -1
  208. package/.next/standalone/packages/explorer/.next/server/server-reference-manifest.js +1 -1
  209. package/.next/standalone/packages/explorer/.next/server/server-reference-manifest.json +1 -1
  210. package/.next/standalone/packages/explorer/.next/static/chunks/{5707.2168cec3679a75d4.js → 1014.4ba21604a8ff0a7c.js} +1 -1
  211. package/.next/standalone/packages/explorer/.next/static/chunks/{6216.814b09f1d33755a0.js → 1030.df0b932c6048eed0.js} +1 -1
  212. package/.next/standalone/packages/explorer/.next/static/chunks/{4612.b8d26f2c64576aa7.js → 1057.db828565fc70ed13.js} +1 -1
  213. package/.next/standalone/packages/explorer/.next/static/chunks/1093.3c3a72caa160a338.js +1 -0
  214. package/.next/standalone/packages/explorer/.next/static/chunks/{4387.151ef1617cbd9211.js → 1132.0a8cbedb66ae9c25.js} +1 -1
  215. package/.next/standalone/packages/explorer/.next/static/chunks/{2078.bfe2e04051d8dd57.js → 1140.8ebd07f73b28878b.js} +1 -1
  216. package/.next/standalone/packages/explorer/.next/static/chunks/{7492.ac97f5e0c08fd9ba.js → 1145.c4b49340913ddb46.js} +1 -1
  217. package/.next/standalone/packages/explorer/.next/static/chunks/119.5bff2cabf11cf984.js +1 -0
  218. package/.next/standalone/packages/explorer/.next/static/chunks/{8470.8e1af6f3ca19da9a.js → 1204.50a3939fd98b54ef.js} +1 -1
  219. package/.next/standalone/packages/explorer/.next/static/chunks/1252.8e440b628e7df29e.js +1 -0
  220. package/.next/standalone/packages/explorer/.next/static/chunks/{8680.784fef5adbda3eec.js → 1308.1c8a13184e0b5b3a.js} +1 -1
  221. package/.next/standalone/packages/explorer/.next/static/chunks/{4287.38bdf02b55569458.js → 1315.812052b945416ecc.js} +1 -1
  222. package/.next/standalone/packages/explorer/.next/static/chunks/{5725.d8d87609a2398573.js → 135.fab26391b6434414.js} +1 -1
  223. package/.next/standalone/packages/explorer/.next/static/chunks/{2760.4c4407fe18139698.js → 1573.b4c31769b33614d3.js} +1 -1
  224. package/.next/standalone/packages/explorer/.next/static/chunks/{1843.630c9230e455c38c.js → 1627.f71433214183c21d.js} +1 -1
  225. package/.next/standalone/packages/explorer/.next/static/chunks/{9564.c52829e26a119e21.js → 1746.2e6fce3dc06207bd.js} +1 -1
  226. package/.next/standalone/packages/explorer/.next/static/chunks/{1571.ad94e2a4839b8e7c.js → 1816.6d789a586ea3025d.js} +1 -1
  227. package/.next/standalone/packages/explorer/.next/static/chunks/{5767.ebedf0e3d7ff2dc8.js → 1880.2ae855fe7d1a75c3.js} +1 -1
  228. package/.next/standalone/packages/explorer/.next/static/chunks/{7235.dd7c1fa78a15fe62.js → 1913.cdf5546f2757a6f3.js} +1 -1
  229. package/.next/standalone/packages/explorer/.next/static/chunks/2052.1c75cf4fd1648ebf.js +1 -0
  230. package/.next/standalone/packages/explorer/.next/static/chunks/{2285.7f0e8e6f1159657b.js → 2087.40c75258b070bf0d.js} +1 -1
  231. package/.next/standalone/packages/explorer/.next/static/chunks/{7934.6563ab21f1803901.js → 2091.866c36091b7f2f8b.js} +1 -1
  232. package/.next/standalone/packages/explorer/.next/static/chunks/{5289.87d8ab9af63b6034.js → 2104.616040a442c00518.js} +1 -1
  233. package/.next/standalone/packages/explorer/.next/static/chunks/{3475.55d5a2f63dbd5bb6.js → 2192.f06ddfc5e6365b5c.js} +1 -1
  234. package/.next/standalone/packages/explorer/.next/static/chunks/{8112.472af03f40775188.js → 2209.4f4e046eb76fc941.js} +1 -1
  235. package/.next/standalone/packages/explorer/.next/static/chunks/228.f28c82949db5928c.js +1 -0
  236. package/.next/standalone/packages/explorer/.next/static/chunks/{666.8ff8b0dce9eecefc.js → 2393.72d722f5a770a25a.js} +1 -1
  237. package/.next/standalone/packages/explorer/.next/static/chunks/{6060.afbda74c8f3de115.js → 2408.904be335c0b2272c.js} +1 -1
  238. package/.next/standalone/packages/explorer/.next/static/chunks/{538.f4358fcee95be1f8.js → 2506.dfcdfd44df303655.js} +1 -1
  239. package/.next/standalone/packages/explorer/.next/static/chunks/251.7af0b951f11055f6.js +1 -0
  240. package/.next/standalone/packages/explorer/.next/static/chunks/{4702.09b6032efb8d32a3.js → 2547.8ac851b737e09e4c.js} +1 -1
  241. package/.next/standalone/packages/explorer/.next/static/chunks/{2302.668f2962f77e1b7e.js → 2562.712b52191f480337.js} +1 -1
  242. package/.next/standalone/packages/explorer/.next/static/chunks/264.fb94ac5817d74e93.js +1 -0
  243. package/.next/standalone/packages/explorer/.next/static/chunks/275.caa3ff9605db045c.js +1 -0
  244. package/.next/standalone/packages/explorer/.next/static/chunks/{1640.4df689b4087618b5.js → 2778.9aaeadb6683874ee.js} +1 -1
  245. package/.next/standalone/packages/explorer/.next/static/chunks/28.a08888768e6a68b3.js +1 -0
  246. package/.next/standalone/packages/explorer/.next/static/chunks/{6222.e099f0b8e5b94508.js → 2848.2cc03d00a8014d4d.js} +1 -1
  247. package/.next/standalone/packages/explorer/.next/static/chunks/{8247.58e5a46ad2c8dbe0.js → 2901.3f0903f047e32c0d.js} +1 -1
  248. package/.next/standalone/packages/explorer/.next/static/chunks/{2897.a0e4bf57cdb17b91.js → 2924.d54c95ce83e87e8f.js} +1 -1
  249. package/.next/standalone/packages/explorer/.next/static/chunks/{5040.7edd13faf5f6ff94.js → 3004.ca09a2ebe714a265.js} +1 -1
  250. package/.next/standalone/packages/explorer/.next/static/chunks/{5970.16c50bf63c7e69ed.js → 3022.6ba88a43e36c2da8.js} +1 -1
  251. package/.next/standalone/packages/explorer/.next/static/chunks/{6639.3c98f2f6071ab830.js → 3244.3413d44b5a4f7e01.js} +1 -1
  252. package/.next/standalone/packages/explorer/.next/static/chunks/{6673.2d3fab2c13afed25.js → 3257.15f2f356aea35fb5.js} +1 -1
  253. package/.next/standalone/packages/explorer/.next/static/chunks/{9021.7325988af065a249.js → 3266.523fbefd05b04975.js} +1 -1
  254. package/.next/standalone/packages/explorer/.next/static/chunks/{5483.17f69edc85dacf4b.js → 3348.5c91b49667b7cb6f.js} +1 -1
  255. package/.next/standalone/packages/explorer/.next/static/chunks/{5490.20a476b20d7ddc9b.js → 3351.44d7b8df35992945.js} +1 -1
  256. package/.next/standalone/packages/explorer/.next/static/chunks/{3361-f2ba237b63580aa1.js → 3361-3b8e51c24a0bb5d9.js} +1 -1
  257. package/.next/standalone/packages/explorer/.next/static/chunks/3365.ff209ae9c74a2b4a.js +1 -0
  258. package/.next/standalone/packages/explorer/.next/static/chunks/{3072-5fcfcd18c0c33abd.js → 3470-b5ab24e56e70a4b4.js} +2 -2
  259. package/.next/standalone/packages/explorer/.next/static/chunks/{4915.35427023817dcdba.js → 3491.b861bdeb7414430c.js} +1 -1
  260. package/.next/standalone/packages/explorer/.next/static/chunks/{8159.9f01dec60be6fbed.js → 3503.17d5e3bb8631095a.js} +1 -1
  261. package/.next/standalone/packages/explorer/.next/static/chunks/{5921-9031ae3e65ad35e5.js → 3519-2972cd6e49b49aaf.js} +3 -3
  262. package/.next/standalone/packages/explorer/.next/static/chunks/{9375.487de5fa3c6b9aef.js → 3602.c0f428b4c971321c.js} +1 -1
  263. package/.next/standalone/packages/explorer/.next/static/chunks/{5468.17e7d04f4693f9f5.js → 3958.46759b92c7861e2a.js} +1 -1
  264. package/.next/standalone/packages/explorer/.next/static/chunks/{7706.199d0ba0953f99d8.js → 3961.e266d9f1b81727e2.js} +1 -1
  265. package/.next/standalone/packages/explorer/.next/static/chunks/{1178.36ad98ce0049e76f.js → 3980.5044cdac5d857375.js} +1 -1
  266. package/.next/standalone/packages/explorer/.next/static/chunks/404.1b80736f6a3d17a7.js +1 -0
  267. package/.next/standalone/packages/explorer/.next/static/chunks/4081.42af509ded9fbe14.js +1 -0
  268. package/.next/standalone/packages/explorer/.next/static/chunks/4096.bfed9a0d6147b192.js +1 -0
  269. package/.next/standalone/packages/explorer/.next/static/chunks/{8804.81f7e17de0f31a54.js → 4156.414b9655a2988dcb.js} +1 -1
  270. package/.next/standalone/packages/explorer/.next/static/chunks/{6714.6df2bf6cb51616e2.js → 4172.af752e7d96997799.js} +1 -1
  271. package/.next/standalone/packages/explorer/.next/static/chunks/{4852.94bf6d693e6aaf76.js → 4261.d50efc7668cd8824.js} +1 -1
  272. package/.next/standalone/packages/explorer/.next/static/chunks/{3445.016df412c6f8fe0a.js → 4285.08ebd9ccc23f3722.js} +9 -9
  273. package/.next/standalone/packages/explorer/.next/static/chunks/{4838.00da67ccf034db42.js → 4293.c9de099b06039a89.js} +1 -1
  274. package/.next/standalone/packages/explorer/.next/static/chunks/4351.99eaebdc0d884813.js +1 -0
  275. package/.next/standalone/packages/explorer/.next/static/chunks/{5230.d9bbe57e560c2a64.js → 4386.93ba530e6dee15ad.js} +1 -1
  276. package/.next/standalone/packages/explorer/.next/static/chunks/{7352.24bc96bebeec26e6.js → 4393.ed6283721bf42975.js} +1 -1
  277. package/.next/standalone/packages/explorer/.next/static/chunks/{5776.fd4e1ce39a87d68b.js → 4397.365ab09892ade36a.js} +1 -1
  278. package/.next/standalone/packages/explorer/.next/static/chunks/{6013.db94cc6bdca9a6e4.js → 4489.e90863c78ed47bdc.js} +1 -1
  279. package/.next/standalone/packages/explorer/.next/static/chunks/4519.187c99c744cf44fc.js +1 -0
  280. package/.next/standalone/packages/explorer/.next/static/chunks/{2136.88fb846c3a9d7943.js → 4528.f7db8c5701f81d9a.js} +1 -1
  281. package/.next/standalone/packages/explorer/.next/static/chunks/4532.63ff161992465357.js +1 -0
  282. package/.next/standalone/packages/explorer/.next/static/chunks/{8405.8752befbea58413e.js → 4617.06dd697b6fb6c73e.js} +1 -1
  283. package/.next/standalone/packages/explorer/.next/static/chunks/4798.de72d7781604c5bf.js +1 -0
  284. package/.next/standalone/packages/explorer/.next/static/chunks/4830-b09590659af64cb4.js +1 -0
  285. package/.next/standalone/packages/explorer/.next/static/chunks/{2455.16ecffbb9051088a.js → 4858.fc7d55104765af48.js} +1 -1
  286. package/.next/standalone/packages/explorer/.next/static/chunks/{7287.456d3eeaf52131f4.js → 4953.a3ff5f1962af3f9b.js} +1 -1
  287. package/.next/standalone/packages/explorer/.next/static/chunks/{5723.8a623c0736e1d139.js → 4963.7d3210364ab60f32.js} +1 -1
  288. package/.next/standalone/packages/explorer/.next/static/chunks/{3239.b7a4f3d43595f403.js → 5055.b8852732a3a46ff2.js} +1 -1
  289. package/.next/standalone/packages/explorer/.next/static/chunks/{2676.2bb2fb88e4ae5664.js → 5107.0b3e34b2b3d35eea.js} +1 -1
  290. package/.next/standalone/packages/explorer/.next/static/chunks/5167.762d8444089f9b36.js +1 -0
  291. package/.next/standalone/packages/explorer/.next/static/chunks/523.2a40ceab310e2814.js +1 -0
  292. package/.next/standalone/packages/explorer/.next/static/chunks/{1795.5493c8fe1bb68ca9.js → 5236.63c343c538a6d4cf.js} +1 -1
  293. package/.next/standalone/packages/explorer/.next/static/chunks/{8762.d78507c94fe83cf0.js → 5282.fea886db6e6202f1.js} +1 -1
  294. package/.next/standalone/packages/explorer/.next/static/chunks/5341.af6642be2c9cec46.js +1 -0
  295. package/.next/standalone/packages/explorer/.next/static/chunks/{6695.dd891082edac252c.js → 540.54d135a28baf12d3.js} +1 -1
  296. package/.next/standalone/packages/explorer/.next/static/chunks/{1459.bfbbc146439f89b8.js → 5482.a35b5bf1e253ec0a.js} +1 -1
  297. package/.next/standalone/packages/explorer/.next/static/chunks/{1664.d88320fd52dd6f43.js → 5484.61824f17cc2e18d2.js} +1 -1
  298. package/.next/standalone/packages/explorer/.next/static/chunks/{6869.4cde172718483dd5.js → 5562.954dc5c689c8d471.js} +1 -1
  299. package/.next/standalone/packages/explorer/.next/static/chunks/5697.08f04cbdbc7dd177.js +1 -0
  300. package/.next/standalone/packages/explorer/.next/static/chunks/{5572.207850b90bbb1f73.js → 5731.1855fcd4153cb928.js} +7 -7
  301. package/.next/standalone/packages/explorer/.next/static/chunks/5961.e2bd5a01b1dcf2c8.js +1 -0
  302. package/.next/standalone/packages/explorer/.next/static/chunks/{1745.e1ad963ec7bc48f5.js → 5980.f97948cbaff2522d.js} +1 -1
  303. package/.next/standalone/packages/explorer/.next/static/chunks/{4530.e2762289e0a29652.js → 6017.74775b72e371b82b.js} +1 -1
  304. package/.next/standalone/packages/explorer/.next/static/chunks/{4030.9719f7dede794921.js → 6038.da4d72a1c26e7282.js} +1 -1
  305. package/.next/standalone/packages/explorer/.next/static/chunks/{8231.f91e8d44e296349a.js → 6063.c545ac213b0e78b5.js} +1 -1
  306. package/.next/standalone/packages/explorer/.next/static/chunks/{7992.58f33ef1bd27b77d.js → 613.6d6c2d03b00d5941.js} +1 -1
  307. package/.next/standalone/packages/explorer/.next/static/chunks/{6632.278ff1e8ec2978f0.js → 6176.f11bc2f581ec807a.js} +1 -1
  308. package/.next/standalone/packages/explorer/.next/static/chunks/{5298.7218e365ef1b7347.js → 6206.0f6a6891b36a4b99.js} +1 -1
  309. package/.next/standalone/packages/explorer/.next/static/chunks/{6469.3bf359b6bf253c9e.js → 6213.d500b229cf1922f7.js} +1 -1
  310. package/.next/standalone/packages/explorer/.next/static/chunks/{6265.cdcf99705a5d601e.js → 6288.d0f58f4bd919cfd0.js} +1 -1
  311. package/.next/standalone/packages/explorer/.next/static/chunks/{5697.6550248d9ffb60cf.js → 6384.d67ee3fa657f752b.js} +1 -1
  312. package/.next/standalone/packages/explorer/.next/static/chunks/{406.5d5b8801e2ff2ac9.js → 6440.ed316bfb21b6393b.js} +1 -1
  313. package/.next/standalone/packages/explorer/.next/static/chunks/{7972.d554b45119808f74.js → 6505.9b78f6ae1f2af8dd.js} +1 -1
  314. package/.next/standalone/packages/explorer/.next/static/chunks/6506.a6918a1341a32cca.js +1 -0
  315. package/.next/standalone/packages/explorer/.next/static/chunks/{7942.0d6e91d16bd3f2ce.js → 6586.6d5c0eea113bb4b0.js} +1 -1
  316. package/.next/standalone/packages/explorer/.next/static/chunks/661.6e5ac0b4200972f9.js +1 -0
  317. package/.next/standalone/packages/explorer/.next/static/chunks/{1750.7cc12738384f9bce.js → 6618.79c0c6b01a0f27fd.js} +1 -1
  318. package/.next/standalone/packages/explorer/.next/static/chunks/6662-0b0fdb05ea0ae6b6.js +32 -0
  319. package/.next/standalone/packages/explorer/.next/static/chunks/{8730.933c8bce84ca95c7.js → 6769.06e9307b5d4faa5e.js} +1 -1
  320. package/.next/standalone/packages/explorer/.next/static/chunks/{8846.771534b4f07239fd.js → 6792.aabfc6bebf9140dc.js} +1 -1
  321. package/.next/standalone/packages/explorer/.next/static/chunks/{7870.606c3b3cfc9c85c6.js → 6886.8c1749ccc2d215a3.js} +1 -1
  322. package/.next/standalone/packages/explorer/.next/static/chunks/{6412.2e3b70ab08515358.js → 6923.5083417dd9b67755.js} +1 -1
  323. package/.next/standalone/packages/explorer/.next/static/chunks/{324.942fb8dc1137e300.js → 7029.a7e7c2fdcd670806.js} +1 -1
  324. package/.next/standalone/packages/explorer/.next/static/chunks/{8381.55d3f3a29e3f422a.js → 7102.aad33978670aa099.js} +1 -1
  325. package/.next/standalone/packages/explorer/.next/static/chunks/{6140.822d85602565bf13.js → 7141.732883ca4239b926.js} +1 -1
  326. package/.next/standalone/packages/explorer/.next/static/chunks/7329.42ac082b28f96d1b.js +1 -0
  327. package/.next/standalone/packages/explorer/.next/static/chunks/7334.6d42e67414f7f887.js +1 -0
  328. package/.next/standalone/packages/explorer/.next/static/chunks/7394.04071196f06aa4b7.js +1 -0
  329. package/.next/standalone/packages/explorer/.next/static/chunks/{9359.3a02ae6be6860155.js → 7418.e9e25b41a3fde82f.js} +1 -1
  330. package/.next/standalone/packages/explorer/.next/static/chunks/{645.7219230242e7f55c.js → 7462.e1c746ace33ce6ef.js} +5 -5
  331. package/.next/standalone/packages/explorer/.next/static/chunks/{1352.ccc39ef233bc37ad.js → 7496.b56218dedcb5afb8.js} +1 -1
  332. package/.next/standalone/packages/explorer/.next/static/chunks/{8789.adccc5ac02be239f.js → 7533.682cce06e9f73e15.js} +1 -1
  333. package/.next/standalone/packages/explorer/.next/static/chunks/{8013.c709ed36f25dd7f9.js → 7731.29557460680ccd39.js} +1 -1
  334. package/.next/standalone/packages/explorer/.next/static/chunks/787.0eaf7fa24944d562.js +1 -0
  335. package/.next/standalone/packages/explorer/.next/static/chunks/{1436.4e3945ac125013be.js → 7884.1d3ac8a71414fdcd.js} +1 -1
  336. package/.next/standalone/packages/explorer/.next/static/chunks/{3374.e88a010b4ba7f314.js → 8018.81dfbd1ce2cb7ed8.js} +1 -1
  337. package/.next/standalone/packages/explorer/.next/static/chunks/{8979.ab872ddc62b5a5ac.js → 810.a3bdcff1c629e638.js} +1 -1
  338. package/.next/standalone/packages/explorer/.next/static/chunks/{4452.1f845388aec52571.js → 8363.66ce1bc3767b5f07.js} +1 -1
  339. package/.next/standalone/packages/explorer/.next/static/chunks/{9678.676083e6b5d28f48.js → 8423.1c3662b6941971d4.js} +1 -1
  340. package/.next/standalone/packages/explorer/.next/static/chunks/{8486.607f9ba8b522b4ca.js → 8505.3bbe441d99a7de81.js} +1 -1
  341. package/.next/standalone/packages/explorer/.next/static/chunks/853.261f2d14d650053b.js +1 -0
  342. package/.next/standalone/packages/explorer/.next/static/chunks/{8184.5c1698d05f1789a3.js → 8743.dc364169ad9be549.js} +12 -12
  343. package/.next/standalone/packages/explorer/.next/static/chunks/882.760be3adb47e0c05.js +1 -0
  344. package/.next/standalone/packages/explorer/.next/static/chunks/8859.3e34df7f3935f137.js +1 -0
  345. package/.next/standalone/packages/explorer/.next/static/chunks/{150.109cca675f4b87e3.js → 8880.0463de6a27a67bb7.js} +1 -1
  346. package/.next/standalone/packages/explorer/.next/static/chunks/{8216.f306755db33fefaf.js → 89.e36536c1c5ebebfb.js} +1 -1
  347. package/.next/standalone/packages/explorer/.next/static/chunks/{6592.2417196f00fd62e4.js → 8932.677cb100581af19c.js} +1 -1
  348. package/.next/standalone/packages/explorer/.next/static/chunks/{3842.fd64f956fa0865a8.js → 9000.e1ac9e183884ee97.js} +1 -1
  349. package/.next/standalone/packages/explorer/.next/static/chunks/{7237.351c2f67f9ff0431.js → 9023.2458f38b4a6f50e1.js} +1 -1
  350. package/.next/standalone/packages/explorer/.next/static/chunks/{4275.01277908f0b58493.js → 9058.ef785ae1b6ee0ad5.js} +1 -1
  351. package/.next/standalone/packages/explorer/.next/static/chunks/{5353.db808f348c43be36.js → 9108.bea67958490a0cb7.js} +1 -1
  352. package/.next/standalone/packages/explorer/.next/static/chunks/{9168.6f8f42624ab8239a.js → 9134.247efac267798d1f.js} +1 -1
  353. package/.next/standalone/packages/explorer/.next/static/chunks/{5166.f47a5dfc84922b5e.js → 9175.ab8f44a6980dd4f7.js} +1 -1
  354. package/.next/standalone/packages/explorer/.next/static/chunks/{9057.8fde161b19fe0cb0.js → 9183.5240dfcc6922fb0e.js} +1 -1
  355. package/.next/standalone/packages/explorer/.next/static/chunks/{8059.eb54fc050fa9d2f2.js → 9334.c5b313f0e4e21250.js} +1 -1
  356. package/.next/standalone/packages/explorer/.next/static/chunks/{7087.cd839889cac38c16.js → 9408.f813a686cc5081d5.js} +1 -1
  357. package/.next/standalone/packages/explorer/.next/static/chunks/{1913.7b3600b8db77945f.js → 9419.f91791299e53018f.js} +1 -1
  358. package/.next/standalone/packages/explorer/.next/static/chunks/{7883.98cdad645438ba70.js → 9456.0aad3b925fab8567.js} +1 -1
  359. package/.next/standalone/packages/explorer/.next/static/chunks/{4853.2d17c593a99cb640.js → 9484.b0122999cedee102.js} +1 -1
  360. package/.next/standalone/packages/explorer/.next/static/chunks/{4139.60156888ead6b8dd.js → 9491.a8de15ae367fc536.js} +1 -1
  361. package/.next/standalone/packages/explorer/.next/static/chunks/{2921.d92e5811d4ad9c8d.js → 9496.4554ae9833bdf559.js} +1 -1
  362. package/.next/standalone/packages/explorer/.next/static/chunks/{2746.b2abcee91c5de99b.js → 9547.1573d5f43a1538bf.js} +1 -1
  363. package/.next/standalone/packages/explorer/.next/static/chunks/9555.7b6f93d90e3772c9.js +1 -0
  364. package/.next/standalone/packages/explorer/.next/static/chunks/{5389.cd81f2b29c2e1091.js → 9562.fad55bc1dec02348.js} +2 -2
  365. package/.next/standalone/packages/explorer/.next/static/chunks/{1131.8346b7edfbc6bcd8.js → 9752.fc5c99183d447f16.js} +1 -1
  366. package/.next/standalone/packages/explorer/.next/static/chunks/{7344.c1b85d1df4afe8cd.js → 9763.d40f0d0663c6e15d.js} +1 -1
  367. package/.next/standalone/packages/explorer/.next/static/chunks/{2461.1d156c9bd38a2804.js → 9770.6499a4fcf3dc0d02.js} +1 -1
  368. package/.next/standalone/packages/explorer/.next/static/chunks/{9802-eb3b3481e7818004.js → 9869-d883c531dade949d.js} +2 -2
  369. package/.next/standalone/packages/explorer/.next/static/chunks/987.7af0052a09bc861d.js +1 -0
  370. package/.next/standalone/packages/explorer/.next/static/chunks/9916.91d225b26c0992ae.js +1 -0
  371. package/.next/standalone/packages/explorer/.next/static/chunks/{1069.7199c46d89a9b0b1.js → 9988.d2bf8fc3ae539808.js} +1 -1
  372. package/.next/standalone/packages/explorer/.next/static/chunks/{1461.ba5dabcd2b84f9c9.js → 9998.4edf2b9f4f42ba05.js} +1 -1
  373. package/.next/standalone/packages/explorer/.next/static/chunks/app/(explorer)/[chainName]/{layout-ce650f447d8cff20.js → layout-699e3208ee69265c.js} +1 -1
  374. package/.next/standalone/packages/explorer/.next/static/chunks/app/(explorer)/[chainName]/worlds/[worldAddress]/explore/{page-3aa583846ba9ff0c.js → page-7f96cd2577ac326f.js} +2 -2
  375. package/.next/standalone/packages/explorer/.next/static/chunks/app/(explorer)/[chainName]/worlds/[worldAddress]/interact/page-ac3c96291d05d2dc.js +1 -0
  376. package/.next/standalone/packages/explorer/.next/static/chunks/app/(explorer)/[chainName]/worlds/[worldAddress]/layout-9c8fe0a33de7ce82.js +1 -0
  377. package/.next/standalone/packages/explorer/.next/static/chunks/app/(explorer)/[chainName]/worlds/[worldAddress]/observe/{page-4aa643449dd1bbbd.js → page-092d30374483ae80.js} +1 -1
  378. package/.next/standalone/packages/explorer/.next/static/chunks/c56315a7-0f08af84ca4053d0.js +1 -0
  379. package/.next/standalone/packages/explorer/.next/static/chunks/webpack-6b22c91fb83f9652.js +1 -0
  380. package/package.json +10 -10
  381. package/.next/standalone/packages/explorer/.next/server/chunks/1177.js +0 -1
  382. package/.next/standalone/packages/explorer/.next/server/chunks/1250.js +0 -1
  383. package/.next/standalone/packages/explorer/.next/server/chunks/229.js +0 -1
  384. package/.next/standalone/packages/explorer/.next/server/chunks/3149.js +0 -1
  385. package/.next/standalone/packages/explorer/.next/server/chunks/3453.js +0 -1
  386. package/.next/standalone/packages/explorer/.next/server/chunks/369.js +0 -1
  387. package/.next/standalone/packages/explorer/.next/server/chunks/3955.js +0 -1
  388. package/.next/standalone/packages/explorer/.next/server/chunks/3977.js +0 -1
  389. package/.next/standalone/packages/explorer/.next/server/chunks/4173.js +0 -1
  390. package/.next/standalone/packages/explorer/.next/server/chunks/4243.js +0 -2
  391. package/.next/standalone/packages/explorer/.next/server/chunks/4929.js +0 -1
  392. package/.next/standalone/packages/explorer/.next/server/chunks/567.js +0 -3
  393. package/.next/standalone/packages/explorer/.next/server/chunks/5834.js +0 -1
  394. package/.next/standalone/packages/explorer/.next/server/chunks/6208.js +0 -1
  395. package/.next/standalone/packages/explorer/.next/server/chunks/635.js +0 -1
  396. package/.next/standalone/packages/explorer/.next/server/chunks/6730.js +0 -1
  397. package/.next/standalone/packages/explorer/.next/server/chunks/6932.js +0 -1
  398. package/.next/standalone/packages/explorer/.next/server/chunks/6976.js +0 -1
  399. package/.next/standalone/packages/explorer/.next/server/chunks/7115.js +0 -6
  400. package/.next/standalone/packages/explorer/.next/server/chunks/7534.js +0 -1
  401. package/.next/standalone/packages/explorer/.next/server/chunks/803.js +0 -1
  402. package/.next/standalone/packages/explorer/.next/server/chunks/8042.js +0 -1
  403. package/.next/standalone/packages/explorer/.next/server/chunks/9562.js +0 -1
  404. package/.next/standalone/packages/explorer/.next/server/chunks/9992.js +0 -1
  405. package/.next/standalone/packages/explorer/.next/static/chunks/1685.1ecbc40f2eb8d609.js +0 -1
  406. package/.next/standalone/packages/explorer/.next/static/chunks/2086.fb96f89eabe35fd8.js +0 -1
  407. package/.next/standalone/packages/explorer/.next/static/chunks/2183.e16e93357fae4297.js +0 -1
  408. package/.next/standalone/packages/explorer/.next/static/chunks/243.119694114da3b6c4.js +0 -1
  409. package/.next/standalone/packages/explorer/.next/static/chunks/306.eb870a2723132ed9.js +0 -1
  410. package/.next/standalone/packages/explorer/.next/static/chunks/3202.4b45589defcb7f3a.js +0 -1
  411. package/.next/standalone/packages/explorer/.next/static/chunks/3363.07dee13e704f2fcf.js +0 -1
  412. package/.next/standalone/packages/explorer/.next/static/chunks/376.42a841187481f559.js +0 -1
  413. package/.next/standalone/packages/explorer/.next/static/chunks/414.26a6b0020f280494.js +0 -1
  414. package/.next/standalone/packages/explorer/.next/static/chunks/4444.757b905ce68f8be3.js +0 -1
  415. package/.next/standalone/packages/explorer/.next/static/chunks/4619.0aedd2ffb8afca7b.js +0 -1
  416. package/.next/standalone/packages/explorer/.next/static/chunks/4766.04aee6e0a78b1243.js +0 -1
  417. package/.next/standalone/packages/explorer/.next/static/chunks/5079.658668eb58c3c044.js +0 -1
  418. package/.next/standalone/packages/explorer/.next/static/chunks/5102.6dfa06b0bb83bd63.js +0 -1
  419. package/.next/standalone/packages/explorer/.next/static/chunks/5252.c1a080b133c70898.js +0 -1
  420. package/.next/standalone/packages/explorer/.next/static/chunks/5331df31-4f64f325f8f52a23.js +0 -1
  421. package/.next/standalone/packages/explorer/.next/static/chunks/5359.81469991b1536197.js +0 -1
  422. package/.next/standalone/packages/explorer/.next/static/chunks/5543.56c9c3f1bb929fbb.js +0 -1
  423. package/.next/standalone/packages/explorer/.next/static/chunks/5727.6aa4fc93d3091a6b.js +0 -1
  424. package/.next/standalone/packages/explorer/.next/static/chunks/5766.64973290309fba89.js +0 -1
  425. package/.next/standalone/packages/explorer/.next/static/chunks/578.594ae424a461a87e.js +0 -1
  426. package/.next/standalone/packages/explorer/.next/static/chunks/6092.9dd9e53ea38177de.js +0 -1
  427. package/.next/standalone/packages/explorer/.next/static/chunks/6475.a124aea718607be6.js +0 -1
  428. package/.next/standalone/packages/explorer/.next/static/chunks/6634.cd960e0a9e70346a.js +0 -1
  429. package/.next/standalone/packages/explorer/.next/static/chunks/6663.eec50c91854cb7c6.js +0 -1
  430. package/.next/standalone/packages/explorer/.next/static/chunks/6739.31a964015298983d.js +0 -1
  431. package/.next/standalone/packages/explorer/.next/static/chunks/7000.17938ee73690f931.js +0 -1
  432. package/.next/standalone/packages/explorer/.next/static/chunks/758.677d52c3cb5c5058.js +0 -1
  433. package/.next/standalone/packages/explorer/.next/static/chunks/7794.8949721bc0d95dbd.js +0 -1
  434. package/.next/standalone/packages/explorer/.next/static/chunks/8259.9b671bf6066db1cf.js +0 -1
  435. package/.next/standalone/packages/explorer/.next/static/chunks/8414.ba8b7284e28b4dc1.js +0 -1
  436. package/.next/standalone/packages/explorer/.next/static/chunks/8523.51b7a35240f2d457.js +0 -1
  437. package/.next/standalone/packages/explorer/.next/static/chunks/8714.f57f519ef0898d1f.js +0 -1
  438. package/.next/standalone/packages/explorer/.next/static/chunks/887.c380d2cea46374d9.js +0 -1
  439. package/.next/standalone/packages/explorer/.next/static/chunks/906.bc43921730a003e8.js +0 -1
  440. package/.next/standalone/packages/explorer/.next/static/chunks/9258-4e8adbfd1e18bda9.js +0 -32
  441. package/.next/standalone/packages/explorer/.next/static/chunks/995-1b52a5c157d10137.js +0 -1
  442. package/.next/standalone/packages/explorer/.next/static/chunks/app/(explorer)/[chainName]/worlds/[worldAddress]/interact/page-d921d3e409207a76.js +0 -1
  443. package/.next/standalone/packages/explorer/.next/static/chunks/app/(explorer)/[chainName]/worlds/[worldAddress]/layout-012917f72f09d2c5.js +0 -1
  444. package/.next/standalone/packages/explorer/.next/static/chunks/webpack-bb847e7f171dfc4d.js +0 -1
  445. /package/.next/standalone/packages/explorer/.next/static/{hqRSXHtK-RogH3rI3ZaE- → 3nWDfqoSPUgB3QCaiOmWH}/_buildManifest.js +0 -0
  446. /package/.next/standalone/packages/explorer/.next/static/{hqRSXHtK-RogH3rI3ZaE- → 3nWDfqoSPUgB3QCaiOmWH}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5389],{78154:function(e,t,r){"use strict";function i(){return(null===r.g||void 0===r.g?void 0:r.g.crypto)||(null===r.g||void 0===r.g?void 0:r.g.msCrypto)||{}}function s(){let e=i();return e.subtle||e.webkitSubtle}Object.defineProperty(t,"__esModule",{value:!0}),t.isBrowserCryptoAvailable=t.getSubtleCrypto=t.getBrowerCrypto=void 0,t.getBrowerCrypto=i,t.getSubtleCrypto=s,t.isBrowserCryptoAvailable=function(){return!!i()&&!!s()}},43693:function(e,t,r){"use strict";var i=r(32608);function s(){return"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product}function n(){return void 0!==i&&void 0!==i.versions&&void 0!==i.versions.node}Object.defineProperty(t,"__esModule",{value:!0}),t.isBrowser=t.isNode=t.isReactNative=void 0,t.isReactNative=s,t.isNode=n,t.isBrowser=function(){return!s()&&!n()}},79359:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(28813);i.__exportStar(r(78154),t),i.__exportStar(r(43693),t)},25389:function(e,t,r){"use strict";r.d(t,{EthereumProvider:function(){return lA}});var i=r(52484),s=r.n(i),n=r(43989),o=r(2697),a=r(48381),c=r(25063),l=r(33050),h=r(75734),u=r(56569),d=r(51124),p=r(32479),f=r(32608),g=r(63157).Buffer;function y(e){let[t,r]=e.split(":");return{namespace:t,reference:r}}function m(e,t=[]){let r=[];return Object.keys(e).forEach(i=>{if(t.length&&!t.includes(i))return;let s=e[i];r.push(...s.accounts)}),r}function b(e,t){return e.includes(":")?[e]:t.chains||[]}var w=Object.defineProperty,v=Object.defineProperties,E=Object.getOwnPropertyDescriptors,I=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable,S=(e,t,r)=>t in e?w(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,P=(e,t)=>{for(var r in t||(t={}))_.call(t,r)&&S(e,r,t[r]);if(I)for(var r of I(t))D.call(t,r)&&S(e,r,t[r]);return e},O=(e,t)=>v(e,E(t));let x={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"};function C(){return"u">typeof f&&"u">typeof f.versions&&"u">typeof f.versions.node}function A(){return!(0,a.getDocument)()&&!!(0,a.getNavigator)()&&"ReactNative"===navigator.product}function R(){return!C()&&!!(0,a.getNavigator)()&&!!(0,a.getDocument)()}function N(){return A()?x.reactNative:C()?x.node:R()?x.browser:x.unknown}function T(){var e;try{return A()&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Application)?null==(e=r.g.Application)?void 0:e.applicationId:void 0}catch{return}}function j(){return(0,c.D)()||{name:"",description:"",url:"",icons:[""]}}function L(e,t,i){let s=function(){if(N()===x.reactNative&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Platform)){let{OS:e,Version:t}=r.g.Platform;return[e,t].join("-")}let e=(0,n.qY)();if(null===e)return"unknown";let t=e.os?e.os.replace(" ","").toLowerCase():"unknown";return"browser"===e.type?[t,e.name,e.version].join("-"):[t,e.version].join("-")}(),o=function(){var e;let t=N();return t===x.browser?[t,(null==(e=(0,a.getLocation)())?void 0:e.host)||"unknown"].join(":"):t}();return[[e,t].join("-"),["js",i].join("-"),s,o].join("/")}function k(e,t){return e.filter(e=>t.includes(e)).length===e.length}function U(e){return Object.fromEntries(e.entries())}function B(e){return new Map(Object.entries(e))}function q(e=o.FIVE_MINUTES,t){let r,i,s,n;let a=(0,o.toMiliseconds)(e||o.FIVE_MINUTES);return{resolve:e=>{s&&r&&(clearTimeout(s),r(e),n=Promise.resolve(e))},reject:e=>{s&&i&&(clearTimeout(s),i(e))},done:()=>new Promise((e,o)=>{if(n)return e(n);s=setTimeout(()=>{let e=Error(t);n=Promise.reject(e),o(e)},a),r=e,i=o})}}function $(e,t,r){return new Promise(async(i,s)=>{let n=setTimeout(()=>s(Error(r)),t);try{let t=await e;i(t)}catch(e){s(e)}clearTimeout(n)})}function M(e,t){if("string"==typeof t&&t.startsWith(`${e}:`))return t;if("topic"===e.toLowerCase()){if("string"!=typeof t)throw Error('Value must be "string" for expirer target type: topic');return`topic:${t}`}if("id"===e.toLowerCase()){if("number"!=typeof t)throw Error('Value must be "number" for expirer target type: id');return`id:${t}`}throw Error(`Unknown expirer target type: ${e}`)}function z(e){let[t,r]=e.split(":"),i={id:void 0,topic:void 0};if("topic"===t&&"string"==typeof r)i.topic=r;else if("id"===t&&Number.isInteger(Number(r)))i.id=Number(r);else throw Error(`Invalid target, expected id:number or topic:string, got ${t}:${r}`);return i}function F(e,t){return(0,o.fromMiliseconds)((t||Date.now())+(0,o.toMiliseconds)(e))}function H(e){return Date.now()>=(0,o.toMiliseconds)(e)}function V(e,t){return`${e}${t?`:${t}`:""}`}function K(e=[],t=[]){return[...new Set([...e,...t])]}async function W({id:e,topic:t,wcDeepLink:i}){var s;try{if(!i)return;let n="string"==typeof i?JSON.parse(i):i,o=n?.href;if("string"!=typeof o)return;let c=function(e,t,r){let i=`requestId=${t}&sessionTopic=${r}`;e.endsWith("/")&&(e=e.slice(0,-1));let s=`${e}`;if(e.startsWith("https://t.me")){let t=e.includes("?")?"&startapp=":"?startapp=";s=`${s}${t}${function(e,t=!1){let r=g.from(e).toString("base64");return t?r.replace(/[=]/g,""):r}(i,!0)}`}else s=`${s}/wc?${i}`;return s}(o,e,t),l=N();if(l===x.browser){let e;if(!(null!=(s=(0,a.getDocument)())&&s.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}e="_self",function(){try{return window.self!==window.top}catch{return!1}}()?e="_top":("u">typeof window&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)||c.startsWith("https://")||c.startsWith("http://"))&&(e="_blank"),window.open(c,e,"noreferrer noopener")}else l===x.reactNative&&"u">typeof(null==r.g?void 0:r.g.Linking)&&await r.g.Linking.openURL(c)}catch(e){console.error(e)}}async function J(e,t){let r="";try{if(R()&&(r=localStorage.getItem(t)))return r;r=await e.getItem(t)}catch(e){console.error(e)}return r}function G(e,t){if(!e.includes(t))return null;let r=e.split(/([&,?,=])/),i=r.indexOf(t);return r[i+2]}function Y(){return"u">typeof crypto&&null!=crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}function Z(){return"u">typeof f&&"true"===f.env.IS_VITEST}function Q(e){return g.from(e,"base64").toString("utf-8")}function X(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function ee(e,...t){if(!(e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function et(e){if("function"!=typeof e||"function"!=typeof e.create)throw Error("Hash should be wrapped by utils.wrapConstructor");X(e.outputLen),X(e.blockLen)}function er(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function ei(e,t){ee(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}let es=BigInt(4294967296-1),en=BigInt(32),eo=(e,t,r)=>e<<r|t>>>32-r,ea=(e,t,r)=>t<<r|e>>>32-r,ec=(e,t,r)=>t<<r-32|e>>>64-r,el=(e,t,r)=>e<<r-32|t>>>64-r,eh="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;function eu(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ed(e,t){return e<<32-t|e>>>t}let ep=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];function ef(e){for(let r=0;r<e.length;r++){var t;e[r]=(t=e[r])<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}}function eg(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}(e)),ee(e),e}class ey{clone(){return this._cloneInto()}}function em(e){let t=t=>e().update(eg(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function eb(e=32){if(eh&&"function"==typeof eh.getRandomValues)return eh.getRandomValues(new Uint8Array(e));if(eh&&"function"==typeof eh.randomBytes)return eh.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}let ew=[],ev=[],eE=[],eI=BigInt(0),e_=BigInt(1),eD=BigInt(2),eS=BigInt(7),eP=BigInt(256),eO=BigInt(113);for(let e=0,t=e_,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],ew.push(2*(5*i+r)),ev.push((e+1)*(e+2)/2%64);let s=eI;for(let e=0;e<7;e++)(t=(t<<e_^(t>>eS)*eO)%eP)&eD&&(s^=e_<<(e_<<BigInt(e))-e_);eE.push(s)}let[ex,eC]=function(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let s=0;s<e.length;s++){let{h:n,l:o}=function(e,t=!1){return t?{h:Number(e&es),l:Number(e>>en&es)}:{h:0|Number(e>>en&es),l:0|Number(e&es)}}(e[s],t);[r[s],i[s]]=[n,o]}return[r,i]}(eE,!0),eA=(e,t,r)=>r>32?ec(e,t,r):eo(e,t,r),eR=(e,t,r)=>r>32?el(e,t,r):ea(e,t,r);class eN extends ey{constructor(e,t,r,i=!1,s=24){var n;if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,X(r),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=new Uint32Array((n=this.state).buffer,n.byteOffset,Math.floor(n.byteLength/4))}keccak(){ep||ef(this.state32),function(e,t=24){let r=new Uint32Array(10);for(let i=24-t;i<24;i++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let i=(t+8)%10,s=(t+2)%10,n=r[s],o=r[s+1],a=eA(n,o,1)^r[i],c=eR(n,o,1)^r[i+1];for(let r=0;r<50;r+=10)e[t+r]^=a,e[t+r+1]^=c}let t=e[2],s=e[3];for(let r=0;r<24;r++){let i=ev[r],n=eA(t,s,i),o=eR(t,s,i),a=ew[r];t=e[a],s=e[a+1],e[a]=n,e[a+1]=o}for(let t=0;t<50;t+=10){for(let i=0;i<10;i++)r[i]=e[t+i];for(let i=0;i<10;i++)e[t+i]^=~r[(i+2)%10]&r[(i+4)%10]}e[0]^=ex[i],e[1]^=eC[i]}r.fill(0)}(this.state32,this.rounds),ep||ef(this.state32),this.posOut=0,this.pos=0}update(e){er(this);let{blockLen:t,state:r}=this,i=(e=eg(e)).length;for(let s=0;s<i;){let n=Math.min(t-this.pos,i-s);for(let t=0;t<n;t++)r[this.pos++]^=e[s++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:r,blockLen:i}=this;e[r]^=t,(128&t)!=0&&r===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){er(this,!1),ee(e),this.finish();let t=this.state,{blockLen:r}=this;for(let i=0,s=e.length;i<s;){this.posOut>=r&&this.keccak();let n=Math.min(r-this.posOut,s-i);e.set(t.subarray(this.posOut,this.posOut+n),i),this.posOut+=n,i+=n}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return X(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(ei(e,this),this.finished)throw 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){let{blockLen:t,suffix:r,outputLen:i,rounds:s,enableXOF:n}=this;return e||(e=new eN(t,r,i,n,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=r,e.outputLen=i,e.enableXOF=n,e.destroyed=this.destroyed,e}}let eT=em(()=>new eN(136,1,32));function ej(e){let t=`Ethereum Signed Message:
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9562],{78154:function(e,t,r){"use strict";function i(){return(null===r.g||void 0===r.g?void 0:r.g.crypto)||(null===r.g||void 0===r.g?void 0:r.g.msCrypto)||{}}function s(){let e=i();return e.subtle||e.webkitSubtle}Object.defineProperty(t,"__esModule",{value:!0}),t.isBrowserCryptoAvailable=t.getSubtleCrypto=t.getBrowerCrypto=void 0,t.getBrowerCrypto=i,t.getSubtleCrypto=s,t.isBrowserCryptoAvailable=function(){return!!i()&&!!s()}},43693:function(e,t,r){"use strict";var i=r(32608);function s(){return"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product}function n(){return void 0!==i&&void 0!==i.versions&&void 0!==i.versions.node}Object.defineProperty(t,"__esModule",{value:!0}),t.isBrowser=t.isNode=t.isReactNative=void 0,t.isReactNative=s,t.isNode=n,t.isBrowser=function(){return!s()&&!n()}},79359:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(28813);i.__exportStar(r(78154),t),i.__exportStar(r(43693),t)},89562:function(e,t,r){"use strict";r.d(t,{EthereumProvider:function(){return lA}});var i=r(52484),s=r.n(i),n=r(43989),o=r(2697),a=r(48381),c=r(25063),l=r(33050),h=r(75734),u=r(56569),d=r(51124),p=r(32479),f=r(32608),g=r(63157).Buffer;function y(e){let[t,r]=e.split(":");return{namespace:t,reference:r}}function m(e,t=[]){let r=[];return Object.keys(e).forEach(i=>{if(t.length&&!t.includes(i))return;let s=e[i];r.push(...s.accounts)}),r}function b(e,t){return e.includes(":")?[e]:t.chains||[]}var w=Object.defineProperty,v=Object.defineProperties,E=Object.getOwnPropertyDescriptors,I=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable,S=(e,t,r)=>t in e?w(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,P=(e,t)=>{for(var r in t||(t={}))_.call(t,r)&&S(e,r,t[r]);if(I)for(var r of I(t))D.call(t,r)&&S(e,r,t[r]);return e},O=(e,t)=>v(e,E(t));let x={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"};function C(){return"u">typeof f&&"u">typeof f.versions&&"u">typeof f.versions.node}function A(){return!(0,a.getDocument)()&&!!(0,a.getNavigator)()&&"ReactNative"===navigator.product}function R(){return!C()&&!!(0,a.getNavigator)()&&!!(0,a.getDocument)()}function N(){return A()?x.reactNative:C()?x.node:R()?x.browser:x.unknown}function T(){var e;try{return A()&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Application)?null==(e=r.g.Application)?void 0:e.applicationId:void 0}catch{return}}function j(){return(0,c.D)()||{name:"",description:"",url:"",icons:[""]}}function L(e,t,i){let s=function(){if(N()===x.reactNative&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Platform)){let{OS:e,Version:t}=r.g.Platform;return[e,t].join("-")}let e=(0,n.qY)();if(null===e)return"unknown";let t=e.os?e.os.replace(" ","").toLowerCase():"unknown";return"browser"===e.type?[t,e.name,e.version].join("-"):[t,e.version].join("-")}(),o=function(){var e;let t=N();return t===x.browser?[t,(null==(e=(0,a.getLocation)())?void 0:e.host)||"unknown"].join(":"):t}();return[[e,t].join("-"),["js",i].join("-"),s,o].join("/")}function k(e,t){return e.filter(e=>t.includes(e)).length===e.length}function U(e){return Object.fromEntries(e.entries())}function B(e){return new Map(Object.entries(e))}function q(e=o.FIVE_MINUTES,t){let r,i,s,n;let a=(0,o.toMiliseconds)(e||o.FIVE_MINUTES);return{resolve:e=>{s&&r&&(clearTimeout(s),r(e),n=Promise.resolve(e))},reject:e=>{s&&i&&(clearTimeout(s),i(e))},done:()=>new Promise((e,o)=>{if(n)return e(n);s=setTimeout(()=>{let e=Error(t);n=Promise.reject(e),o(e)},a),r=e,i=o})}}function $(e,t,r){return new Promise(async(i,s)=>{let n=setTimeout(()=>s(Error(r)),t);try{let t=await e;i(t)}catch(e){s(e)}clearTimeout(n)})}function M(e,t){if("string"==typeof t&&t.startsWith(`${e}:`))return t;if("topic"===e.toLowerCase()){if("string"!=typeof t)throw Error('Value must be "string" for expirer target type: topic');return`topic:${t}`}if("id"===e.toLowerCase()){if("number"!=typeof t)throw Error('Value must be "number" for expirer target type: id');return`id:${t}`}throw Error(`Unknown expirer target type: ${e}`)}function z(e){let[t,r]=e.split(":"),i={id:void 0,topic:void 0};if("topic"===t&&"string"==typeof r)i.topic=r;else if("id"===t&&Number.isInteger(Number(r)))i.id=Number(r);else throw Error(`Invalid target, expected id:number or topic:string, got ${t}:${r}`);return i}function F(e,t){return(0,o.fromMiliseconds)((t||Date.now())+(0,o.toMiliseconds)(e))}function H(e){return Date.now()>=(0,o.toMiliseconds)(e)}function V(e,t){return`${e}${t?`:${t}`:""}`}function K(e=[],t=[]){return[...new Set([...e,...t])]}async function W({id:e,topic:t,wcDeepLink:i}){var s;try{if(!i)return;let n="string"==typeof i?JSON.parse(i):i,o=n?.href;if("string"!=typeof o)return;let c=function(e,t,r){let i=`requestId=${t}&sessionTopic=${r}`;e.endsWith("/")&&(e=e.slice(0,-1));let s=`${e}`;if(e.startsWith("https://t.me")){let t=e.includes("?")?"&startapp=":"?startapp=";s=`${s}${t}${function(e,t=!1){let r=g.from(e).toString("base64");return t?r.replace(/[=]/g,""):r}(i,!0)}`}else s=`${s}/wc?${i}`;return s}(o,e,t),l=N();if(l===x.browser){let e;if(!(null!=(s=(0,a.getDocument)())&&s.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}e="_self",function(){try{return window.self!==window.top}catch{return!1}}()?e="_top":("u">typeof window&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)||c.startsWith("https://")||c.startsWith("http://"))&&(e="_blank"),window.open(c,e,"noreferrer noopener")}else l===x.reactNative&&"u">typeof(null==r.g?void 0:r.g.Linking)&&await r.g.Linking.openURL(c)}catch(e){console.error(e)}}async function J(e,t){let r="";try{if(R()&&(r=localStorage.getItem(t)))return r;r=await e.getItem(t)}catch(e){console.error(e)}return r}function G(e,t){if(!e.includes(t))return null;let r=e.split(/([&,?,=])/),i=r.indexOf(t);return r[i+2]}function Y(){return"u">typeof crypto&&null!=crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}function Z(){return"u">typeof f&&"true"===f.env.IS_VITEST}function Q(e){return g.from(e,"base64").toString("utf-8")}function X(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function ee(e,...t){if(!(e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function et(e){if("function"!=typeof e||"function"!=typeof e.create)throw Error("Hash should be wrapped by utils.wrapConstructor");X(e.outputLen),X(e.blockLen)}function er(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function ei(e,t){ee(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}let es=BigInt(4294967296-1),en=BigInt(32),eo=(e,t,r)=>e<<r|t>>>32-r,ea=(e,t,r)=>t<<r|e>>>32-r,ec=(e,t,r)=>t<<r-32|e>>>64-r,el=(e,t,r)=>e<<r-32|t>>>64-r,eh="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;function eu(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ed(e,t){return e<<32-t|e>>>t}let ep=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];function ef(e){for(let r=0;r<e.length;r++){var t;e[r]=(t=e[r])<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}}function eg(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}(e)),ee(e),e}class ey{clone(){return this._cloneInto()}}function em(e){let t=t=>e().update(eg(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function eb(e=32){if(eh&&"function"==typeof eh.getRandomValues)return eh.getRandomValues(new Uint8Array(e));if(eh&&"function"==typeof eh.randomBytes)return eh.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}let ew=[],ev=[],eE=[],eI=BigInt(0),e_=BigInt(1),eD=BigInt(2),eS=BigInt(7),eP=BigInt(256),eO=BigInt(113);for(let e=0,t=e_,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],ew.push(2*(5*i+r)),ev.push((e+1)*(e+2)/2%64);let s=eI;for(let e=0;e<7;e++)(t=(t<<e_^(t>>eS)*eO)%eP)&eD&&(s^=e_<<(e_<<BigInt(e))-e_);eE.push(s)}let[ex,eC]=function(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let s=0;s<e.length;s++){let{h:n,l:o}=function(e,t=!1){return t?{h:Number(e&es),l:Number(e>>en&es)}:{h:0|Number(e>>en&es),l:0|Number(e&es)}}(e[s],t);[r[s],i[s]]=[n,o]}return[r,i]}(eE,!0),eA=(e,t,r)=>r>32?ec(e,t,r):eo(e,t,r),eR=(e,t,r)=>r>32?el(e,t,r):ea(e,t,r);class eN extends ey{constructor(e,t,r,i=!1,s=24){var n;if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,X(r),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=new Uint32Array((n=this.state).buffer,n.byteOffset,Math.floor(n.byteLength/4))}keccak(){ep||ef(this.state32),function(e,t=24){let r=new Uint32Array(10);for(let i=24-t;i<24;i++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let i=(t+8)%10,s=(t+2)%10,n=r[s],o=r[s+1],a=eA(n,o,1)^r[i],c=eR(n,o,1)^r[i+1];for(let r=0;r<50;r+=10)e[t+r]^=a,e[t+r+1]^=c}let t=e[2],s=e[3];for(let r=0;r<24;r++){let i=ev[r],n=eA(t,s,i),o=eR(t,s,i),a=ew[r];t=e[a],s=e[a+1],e[a]=n,e[a+1]=o}for(let t=0;t<50;t+=10){for(let i=0;i<10;i++)r[i]=e[t+i];for(let i=0;i<10;i++)e[t+i]^=~r[(i+2)%10]&r[(i+4)%10]}e[0]^=ex[i],e[1]^=eC[i]}r.fill(0)}(this.state32,this.rounds),ep||ef(this.state32),this.posOut=0,this.pos=0}update(e){er(this);let{blockLen:t,state:r}=this,i=(e=eg(e)).length;for(let s=0;s<i;){let n=Math.min(t-this.pos,i-s);for(let t=0;t<n;t++)r[this.pos++]^=e[s++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:r,blockLen:i}=this;e[r]^=t,(128&t)!=0&&r===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){er(this,!1),ee(e),this.finish();let t=this.state,{blockLen:r}=this;for(let i=0,s=e.length;i<s;){this.posOut>=r&&this.keccak();let n=Math.min(r-this.posOut,s-i);e.set(t.subarray(this.posOut,this.posOut+n),i),this.posOut+=n,i+=n}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return X(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(ei(e,this),this.finished)throw 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){let{blockLen:t,suffix:r,outputLen:i,rounds:s,enableXOF:n}=this;return e||(e=new eN(t,r,i,n,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=r,e.outputLen=i,e.enableXOF=n,e.destroyed=this.destroyed,e}}let eT=em(()=>new eN(136,1,32));function ej(e){let t=`Ethereum Signed Message:
2
2
  ${e.length}`,r=new TextEncoder().encode(t+e);return"0x"+g.from(eT(r)).toString("hex")}async function eL(e,t,r,i,s,n){switch(r.t){case"eip191":return await ek(e,t,r.s);case"eip1271":return await eU(e,t,r.s,i,s,n);default:throw Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${r.t}`)}}async function ek(e,t,r){return(await (0,l.R)({hash:ej(t),signature:r})).toLowerCase()===e.toLowerCase()}async function eU(e,t,r,i,s,n){let o=y(i);if(!o.namespace||!o.reference)throw Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${i}`);try{let o="0x1626ba7e",a=r.substring(2),c=ej(t).substring(2),l=await fetch(`${n||"https://rpc.walletconnect.org/v1"}/?chainId=${i}&projectId=${s}`,{method:"POST",body:JSON.stringify({id:Date.now()+Math.floor(1e3*Math.random()),jsonrpc:"2.0",method:"eth_call",params:[{to:e,data:o+c+"00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000041"+a},"latest"]})}),{result:h}=await l.json();return!!h&&h.slice(0,o.length).toLowerCase()===o.toLowerCase()}catch(e){return console.error("isValidEip1271Signature: ",e),!1}}var eB=Object.defineProperty,eq=Object.defineProperties,e$=Object.getOwnPropertyDescriptors,eM=Object.getOwnPropertySymbols,ez=Object.prototype.hasOwnProperty,eF=Object.prototype.propertyIsEnumerable,eH=(e,t,r)=>t in e?eB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,eV=(e,t)=>{for(var r in t||(t={}))ez.call(t,r)&&eH(e,r,t[r]);if(eM)for(var r of eM(t))eF.call(t,r)&&eH(e,r,t[r]);return e},eK=(e,t)=>eq(e,e$(t));let eW=e=>e?.split(":"),eJ=e=>{let t=e&&eW(e);if(t)return e.includes("did:pkh:")?t[3]:t[1]},eG=e=>{let t=e&&eW(e);if(t)return t[2]+":"+t[3]},eY=e=>{let t=e&&eW(e);if(t)return t.pop()};async function eZ(e){let{cacao:t,projectId:r}=e,{s:i,p:s}=t,n=eQ(s,s.iss),o=eY(s.iss);return await eL(o,n,i,eG(s.iss),r)}let eQ=(e,t)=>{let r=`${e.domain} wants you to sign in with your Ethereum account:`,i=eY(t);if(!e.aud&&!e.uri)throw Error("Either `aud` or `uri` is required to construct the message");let s=e.statement||void 0,n=`URI: ${e.aud||e.uri}`,o=`Version: ${e.version}`,a=`Chain ID: ${eJ(t)}`,c=`Nonce: ${e.nonce}`,l=`Issued At: ${e.iat}`,h=e.exp?`Expiration Time: ${e.exp}`:void 0,u=e.nbf?`Not Before: ${e.nbf}`:void 0,d=e.requestId?`Request ID: ${e.requestId}`:void 0,p=e.resources?`Resources:${e.resources.map(e=>`
3
3
  - ${e}`).join("")}`:void 0,f=e3(e.resources);return f&&(s=function(e="",t){eX(t);let r="I further authorize the stated URI to perform the following actions on my behalf: ";if(e.includes(r))return e;let i=[],s=0;Object.keys(t.att).forEach(e=>{let r=Object.keys(t.att[e]).map(e=>({ability:e.split("/")[0],action:e.split("/")[1]}));r.sort((e,t)=>e.action.localeCompare(t.action));let n={};r.forEach(e=>{n[e.ability]||(n[e.ability]=[]),n[e.ability].push(e.action)});let o=Object.keys(n).map(t=>(s++,`(${s}) '${t}': '${n[t].join("', '")}' for '${e}'.`));i.push(o.join(", ").replace(".,","."))});let n=i.join(" "),o=`${r}${n}`;return`${e?e+" ":""}${o}`}(s,e1(f))),[r,i,"",s,"",n,o,a,c,l,h,u,d,p].filter(e=>null!=e).join(`
4
4
  `)};function eX(e){if(!e)throw Error("No recap provided, value is undefined");if(!e.att)throw Error("No `att` property found");let t=Object.keys(e.att);if(!(null!=t&&t.length))throw Error("No resources found in `att` property");t.forEach(t=>{let r=e.att[t];if(Array.isArray(r)||"object"!=typeof r)throw Error(`Resource must be an object: ${t}`);if(!Object.keys(r).length)throw Error(`Resource object is empty: ${t}`);Object.keys(r).forEach(e=>{let t=r[e];if(!Array.isArray(t))throw Error(`Ability limits ${e} must be an array of objects, found: ${t}`);if(!t.length)throw Error(`Value of ${e} is empty array, must be an array with objects`);t.forEach(t=>{if("object"!=typeof t)throw Error(`Ability limits (${e}) must be an array of objects, found: ${t}`)})})})}function e0(e){return eX(e),`urn:recap:${g.from(JSON.stringify(e)).toString("base64").replace(/=/g,"")}`}function e1(e){var t;let r=(t=e.replace("urn:recap:",""),JSON.parse(g.from(t,"base64").toString("utf-8")));return eX(r),r}function e2(e){var t;let r=e1(e);eX(r);let i=null==(t=r.att)?void 0:t.eip155;return i?Object.keys(i).map(e=>e.split("/")[1]):[]}function e8(e){let t=e1(e);eX(t);let r=[];return Object.values(t.att).forEach(e=>{Object.values(e).forEach(e=>{var t;null!=(t=e?.[0])&&t.chains&&r.push(e[0].chains)})}),[...new Set(r.flat())]}function e3(e){if(!e)return;let t=e?.[e.length-1];return t&&t.includes("urn:recap:")?t:void 0}function e5(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function e4(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function e6(e,...t){if(!e4(e))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function e9(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function e7(e){if("boolean"!=typeof e)throw Error(`boolean expected, not ${e}`)}let te=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),tt=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw Error("Non little-endian hardware is not supported");function tr(e){if("string"==typeof e)e=function(e){if("string"!=typeof e)throw Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}(e);else if(e4(e))e=tn(e);else throw Error("Uint8Array expected, got "+typeof e);return e}function ti(e,t,r=!0){if(void 0===t)return new Uint8Array(e);if(t.length!==e)throw Error("invalid output length, expected "+e+", got: "+t.length);if(r&&t.byteOffset%4!=0)throw Error("invalid output, must be aligned");return t}function ts(e,t,r,i){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,i);let s=BigInt(32),n=BigInt(4294967295),o=Number(r>>s&n),a=Number(r&n),c=i?4:0,l=i?0:4;e.setUint32(t+c,o,i),e.setUint32(t+l,a,i)}function tn(e){return Uint8Array.from(e)}function to(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}let ta=e=>Uint8Array.from(e.split("").map(e=>e.charCodeAt(0))),tc=ta("expand 16-byte k"),tl=ta("expand 32-byte k"),th=te(tc),tu=te(tl);function td(e,t){return e<<t|e>>>32-t}function tp(e){return e.byteOffset%4==0}let tf=4294967296-1,tg=new Uint32Array,ty=(e,t)=>255&e[t++]|(255&e[t++])<<8;class tm{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,e6(e=tr(e),32);let t=ty(e,0),r=ty(e,2),i=ty(e,4),s=ty(e,6),n=ty(e,8),o=ty(e,10),a=ty(e,12),c=ty(e,14);this.r[0]=8191&t,this.r[1]=(t>>>13|r<<3)&8191,this.r[2]=(r>>>10|i<<6)&7939,this.r[3]=(i>>>7|s<<9)&8191,this.r[4]=(s>>>4|n<<12)&255,this.r[5]=n>>>1&8190,this.r[6]=(n>>>14|o<<2)&8191,this.r[7]=(o>>>11|a<<5)&8065,this.r[8]=(a>>>8|c<<8)&8191,this.r[9]=c>>>5&127;for(let t=0;t<8;t++)this.pad[t]=ty(e,16+2*t)}process(e,t,r=!1){let{h:i,r:s}=this,n=s[0],o=s[1],a=s[2],c=s[3],l=s[4],h=s[5],u=s[6],d=s[7],p=s[8],f=s[9],g=ty(e,t+0),y=ty(e,t+2),m=ty(e,t+4),b=ty(e,t+6),w=ty(e,t+8),v=ty(e,t+10),E=ty(e,t+12),I=ty(e,t+14),_=i[0]+(8191&g),D=i[1]+((g>>>13|y<<3)&8191),S=i[2]+((y>>>10|m<<6)&8191),P=i[3]+((m>>>7|b<<9)&8191),O=i[4]+((b>>>4|w<<12)&8191),x=i[5]+(w>>>1&8191),C=i[6]+((w>>>14|v<<2)&8191),A=i[7]+((v>>>11|E<<5)&8191),R=i[8]+((E>>>8|I<<8)&8191),N=i[9]+(I>>>5|(r?0:2048)),T=0,j=0+_*n+5*f*D+5*p*S+5*d*P+5*u*O;T=j>>>13,j&=8191,j+=5*h*x+5*l*C+5*c*A+5*a*R+5*o*N,T+=j>>>13,j&=8191;let L=T+_*o+D*n+5*f*S+5*p*P+5*d*O;T=L>>>13,L&=8191,L+=5*u*x+5*h*C+5*l*A+5*c*R+5*a*N,T+=L>>>13,L&=8191;let k=T+_*a+D*o+S*n+5*f*P+5*p*O;T=k>>>13,k&=8191,k+=5*d*x+5*u*C+5*h*A+5*l*R+5*c*N,T+=k>>>13,k&=8191;let U=T+_*c+D*a+S*o+P*n+5*f*O;T=U>>>13,U&=8191,U+=5*p*x+5*d*C+5*u*A+5*h*R+5*l*N,T+=U>>>13,U&=8191;let B=T+_*l+D*c+S*a+P*o+O*n;T=B>>>13,B&=8191,B+=5*f*x+5*p*C+5*d*A+5*u*R+5*h*N,T+=B>>>13,B&=8191;let q=T+_*h+D*l+S*c+P*a+O*o;T=q>>>13,q&=8191,q+=x*n+5*f*C+5*p*A+5*d*R+5*u*N,T+=q>>>13,q&=8191;let $=T+_*u+D*h+S*l+P*c+O*a;T=$>>>13,$&=8191,$+=x*o+C*n+5*f*A+5*p*R+5*d*N,T+=$>>>13,$&=8191;let M=T+_*d+D*u+S*h+P*l+O*c;T=M>>>13,M&=8191,M+=x*a+C*o+A*n+5*f*R+5*p*N,T+=M>>>13,M&=8191;let z=T+_*p+D*d+S*u+P*h+O*l;T=z>>>13,z&=8191,z+=x*c+C*a+A*o+R*n+5*f*N,T+=z>>>13,z&=8191;let F=T+_*f+D*p+S*d+P*u+O*h;T=F>>>13,F&=8191,F+=x*l+C*c+A*a+R*o+N*n,T+=F>>>13,F&=8191,j=8191&(T=(T=(T<<2)+T|0)+j|0),T>>>=13,L+=T,i[0]=j,i[1]=L,i[2]=k,i[3]=U,i[4]=B,i[5]=q,i[6]=$,i[7]=M,i[8]=z,i[9]=F}finalize(){let{h:e,pad:t}=this,r=new Uint16Array(10),i=e[1]>>>13;e[1]&=8191;for(let t=2;t<10;t++)e[t]+=i,i=e[t]>>>13,e[t]&=8191;e[0]+=5*i,i=e[0]>>>13,e[0]&=8191,e[1]+=i,i=e[1]>>>13,e[1]&=8191,e[2]+=i,r[0]=e[0]+5,i=r[0]>>>13,r[0]&=8191;for(let t=1;t<10;t++)r[t]=e[t]+i,i=r[t]>>>13,r[t]&=8191;r[9]-=8192;let s=(1^i)-1;for(let e=0;e<10;e++)r[e]&=s;s=~s;for(let t=0;t<10;t++)e[t]=e[t]&s|r[t];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 n=e[0]+t[0];e[0]=65535&n;for(let r=1;r<8;r++)n=(e[r]+t[r]|0)+(n>>>16)|0,e[r]=65535&n;to(r)}update(e){e9(this);let{buffer:t,blockLen:r}=this,i=(e=tr(e)).length;for(let s=0;s<i;){let n=Math.min(r-this.pos,i-s);if(n===r){for(;r<=i-s;s+=r)this.process(e,s);continue}t.set(e.subarray(s,s+n),this.pos),this.pos+=n,s+=n,this.pos===r&&(this.process(t,0,!1),this.pos=0)}return this}destroy(){to(this.h,this.r,this.buffer,this.pad)}digestInto(e){e9(this),function(e,t){e6(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}(e,this),this.finished=!0;let{buffer:t,h:r}=this,{pos:i}=this;if(i){for(t[i++]=1;i<16;i++)t[i]=0;this.process(t,0,!0)}this.finalize();let s=0;for(let t=0;t<8;t++)e[s++]=r[t]>>>0,e[s++]=r[t]>>>8;return e}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}}let tb=function(e){let t=(t,r)=>e(r).update(tr(t)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=t=>e(t),t}(e=>new tm(e)),tw=function(e,t){let{allowShortKeys:r,extendNonceFn:i,counterLength:s,counterRight:n,rounds:o}=function(e,t){if(null==t||"object"!=typeof t)throw Error("options must be defined");return Object.assign(e,t)}({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if("function"!=typeof e)throw Error("core must be a function");return e5(s),e5(o),e7(n),e7(r),(t,a,c,l,h=0)=>{e6(t),e6(a),e6(c);let u=c.length;if(void 0===l&&(l=new Uint8Array(u)),e6(l),e5(h),h<0||h>=tf)throw Error("arx: counter overflow");if(l.length<u)throw Error(`arx: output (${l.length}) is shorter than data (${u})`);let d=[],p=t.length,f,g;if(32===p)d.push(f=tn(t)),g=tu;else if(16===p&&r)(f=new Uint8Array(32)).set(t),f.set(t,16),g=th,d.push(f);else throw Error(`arx: invalid 32-byte key, got length=${p}`);tp(a)||d.push(a=tn(a));let y=te(f);if(i){if(24!==a.length)throw Error("arx: extended nonce must be 24 bytes");i(g,y,te(a.subarray(0,16)),y),a=a.subarray(16)}let m=16-s;if(m!==a.length)throw Error(`arx: nonce must be ${m} or 16 bytes`);if(12!==m){let e=new Uint8Array(12);e.set(a,n?0:12-a.length),a=e,d.push(a)}return function(e,t,r,i,s,n,o,a){let c=s.length,l=new Uint8Array(64),h=te(l),u=tp(s)&&tp(n),d=u?te(s):tg,p=u?te(n):tg;for(let f=0;f<c;o++){if(e(t,r,i,h,o,a),o>=tf)throw Error("arx: counter overflow");let g=Math.min(64,c-f);if(u&&64===g){let e=f/4;if(f%4!=0)throw Error("arx: invalid block position");for(let t=0,r;t<16;t++)p[r=e+t]=d[r]^h[t];f+=64;continue}for(let e=0,t;e<g;e++)n[t=f+e]=s[t]^l[e];f+=g}}(e,g,y,te(a),c,l,h,o),to(...d),l}}(function(e,t,r,i,s,n=20){let o=e[0],a=e[1],c=e[2],l=e[3],h=t[0],u=t[1],d=t[2],p=t[3],f=t[4],g=t[5],y=t[6],m=t[7],b=r[0],w=r[1],v=r[2],E=o,I=a,_=c,D=l,S=h,P=u,O=d,x=p,C=f,A=g,R=y,N=m,T=s,j=b,L=w,k=v;for(let e=0;e<n;e+=2)C=C+(T=td(T^(E=E+S|0),16))|0,E=E+(S=td(S^C,12))|0,C=C+(T=td(T^E,8))|0,S=td(S^C,7),A=A+(j=td(j^(I=I+P|0),16))|0,I=I+(P=td(P^A,12))|0,A=A+(j=td(j^I,8))|0,P=td(P^A,7),R=R+(L=td(L^(_=_+O|0),16))|0,_=_+(O=td(O^R,12))|0,R=R+(L=td(L^_,8))|0,O=td(O^R,7),N=N+(k=td(k^(D=D+x|0),16))|0,D=D+(x=td(x^N,12))|0,N=N+(k=td(k^D,8))|0,x=td(x^N,7),R=R+(k=td(k^(E=E+P|0),16))|0,E=E+(P=td(P^R,12))|0,R=R+(k=td(k^E,8))|0,P=td(P^R,7),N=N+(T=td(T^(I=I+O|0),16))|0,I=I+(O=td(O^N,12))|0,N=N+(T=td(T^I,8))|0,O=td(O^N,7),C=C+(j=td(j^(_=_+x|0),16))|0,_=_+(x=td(x^C,12))|0,C=C+(j=td(j^_,8))|0,x=td(x^C,7),A=A+(L=td(L^(D=D+S|0),16))|0,D=D+(S=td(S^A,12))|0,A=A+(L=td(L^D,8))|0,S=td(S^A,7);let U=0;i[U++]=o+E|0,i[U++]=a+I|0,i[U++]=c+_|0,i[U++]=l+D|0,i[U++]=h+S|0,i[U++]=u+P|0,i[U++]=d+O|0,i[U++]=p+x|0,i[U++]=f+C|0,i[U++]=g+A|0,i[U++]=y+R|0,i[U++]=m+N|0,i[U++]=s+T|0,i[U++]=b+j|0,i[U++]=w+L|0,i[U++]=v+k|0},{counterRight:!1,counterLength:4,allowShortKeys:!1}),tv=new Uint8Array(16),tE=(e,t)=>{e.update(t);let r=t.length%16;r&&e.update(tv.subarray(r))},tI=new Uint8Array(32);function t_(e,t,r,i,s){let n=e(t,r,tI),o=tb.create(n);s&&tE(o,s),tE(o,i);let a=new Uint8Array(16),c=tt(a);ts(c,0,BigInt(s?s.length:0),!0),ts(c,8,BigInt(i.length),!0),o.update(a);let l=o.digest();return to(n,a),l}let tD=((e,t)=>{function r(i,...s){if(e6(i),void 0!==e.nonceLength){let t=s[0];if(!t)throw Error("nonce / iv required");e.varSizeNonce?e6(t):e6(t,e.nonceLength)}let n=e.tagLength;n&&void 0!==s[1]&&e6(s[1]);let o=t(i,...s),a=(e,t)=>{if(void 0!==t){if(2!==e)throw Error("cipher output not supported");e6(t)}},c=!1;return{encrypt(e,t){if(c)throw Error("cannot encrypt() twice with same key + nonce");return c=!0,e6(e),a(o.encrypt.length,t),o.encrypt(e,t)},decrypt(e,t){if(e6(e),n&&e.length<n)throw Error("invalid ciphertext length: smaller than tagLength="+n);return a(o.decrypt.length,t),o.decrypt(e,t)}}}return Object.assign(r,e),r})({blockSize:64,nonceLength:12,tagLength:16},(e,t,r)=>({encrypt(i,s){let n=i.length;(s=ti(n+16,s,!1)).set(i);let o=s.subarray(0,-16);tw(e,t,o,o,1);let a=t_(tw,e,t,o,r);return s.set(a,n),to(a),s},decrypt(i,s){s=ti(i.length-16,s,!1);let n=i.subarray(0,-16),o=i.subarray(-16),a=t_(tw,e,t,n,r);if(!function(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return 0===r}(o,a))throw Error("invalid tag");return s.set(i.subarray(0,-16)),tw(e,t,s,s,1),to(a),s}}));class tS extends ey{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,et(e);let r=eg(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,s=new Uint8Array(i);s.set(r.length>i?e.create().update(r).digest():r);for(let e=0;e<s.length;e++)s[e]^=54;this.iHash.update(s),this.oHash=e.create();for(let e=0;e<s.length;e++)s[e]^=106;this.oHash.update(s),s.fill(0)}update(e){return er(this),this.iHash.update(e),this}digestInto(e){er(this),ee(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:r,finished:i,destroyed:s,blockLen:n,outputLen:o}=this;return e.finished=i,e.destroyed=s,e.blockLen=n,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}let tP=(e,t,r)=>new tS(e,t).update(r).digest();tP.create=(e,t)=>new tS(e,t);let tO=new Uint8Array([0]),tx=new Uint8Array,tC=(e,t,r,i,s)=>{var n;return function(e,t,r,i=32){if(et(e),X(i),i>255*e.outputLen)throw Error("Length should be <= 255*HashLen");let s=Math.ceil(i/e.outputLen);void 0===r&&(r=tx);let n=new Uint8Array(s*e.outputLen),o=tP.create(e,t),a=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let t=0;t<s;t++)tO[0]=t+1,a.update(0===t?tx:c).update(r).update(tO).digestInto(c),n.set(c,e.outputLen*t),o._cloneInto(a);return o.destroy(),a.destroy(),c.fill(0),tO.fill(0),n.slice(0,i)}(e,(n=r,et(e),void 0===n&&(n=new Uint8Array(e.outputLen)),tP(e,eg(n),eg(t))),i,s)};class tA extends ey{constructor(e,t,r,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=eu(this.buffer)}update(e){er(this);let{view:t,buffer:r,blockLen:i}=this,s=(e=eg(e)).length;for(let n=0;n<s;){let o=Math.min(i-this.pos,s-n);if(o===i){let t=eu(e);for(;i<=s-n;n+=i)this.process(t,n);continue}r.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===i&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){er(this),ei(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:s}=this,{pos:n}=this;t[n++]=128,this.buffer.subarray(n).fill(0),this.padOffset>i-n&&(this.process(r,0),n=0);for(let e=n;e<i;e++)t[e]=0;(function(e,t,r,i){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,i);let s=BigInt(32),n=BigInt(4294967295),o=Number(r>>s&n),a=Number(r&n),c=i?4:0,l=i?0:4;e.setUint32(t+c,o,i),e.setUint32(t+l,a,i)})(r,i-8,BigInt(8*this.length),s),this.process(r,0);let o=eu(e),a=this.outputLen;if(a%4)throw Error("_sha2: outputLen should be aligned to 32bit");let c=a/4,l=this.get();if(c>l.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<c;e++)o.setUint32(4*e,l[e],s)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:i,finished:s,destroyed:n,pos:o}=this;return e.length=i,e.pos=o,e.finished=s,e.destroyed=n,i%t&&e.buffer.set(r),e}}let tR=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]),tN=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),tT=new Uint32Array(64);class tj extends tA{constructor(){super(64,32,8,!1),this.A=0|tN[0],this.B=0|tN[1],this.C=0|tN[2],this.D=0|tN[3],this.E=0|tN[4],this.F=0|tN[5],this.G=0|tN[6],this.H=0|tN[7]}get(){let{A:e,B:t,C:r,D:i,E:s,F:n,G:o,H:a}=this;return[e,t,r,i,s,n,o,a]}set(e,t,r,i,s,n,o,a){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|i,this.E=0|s,this.F=0|n,this.G=0|o,this.H=0|a}process(e,t){for(let r=0;r<16;r++,t+=4)tT[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=tT[e-15],r=tT[e-2],i=ed(t,7)^ed(t,18)^t>>>3,s=ed(r,17)^ed(r,19)^r>>>10;tT[e]=s+tT[e-7]+i+tT[e-16]|0}let{A:r,B:i,C:s,D:n,E:o,F:a,G:c,H:l}=this;for(let e=0;e<64;e++){var h,u,d,p;let t=l+(ed(o,6)^ed(o,11)^ed(o,25))+((h=o)&a^~h&c)+tR[e]+tT[e]|0,f=(ed(r,2)^ed(r,13)^ed(r,22))+((u=r)&(d=i)^u&(p=s)^d&p)|0;l=c,c=a,a=o,o=n+t|0,n=s,s=i,i=r,r=t+f|0}r=r+this.A|0,i=i+this.B|0,s=s+this.C|0,n=n+this.D|0,o=o+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,i,s,n,o,a,c,l)}roundClean(){tT.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}let tL=em(()=>new tj),tk=BigInt(0),tU=BigInt(1),tB=BigInt(2);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function tq(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function t$(e){if(!tq(e))throw Error("Uint8Array expected")}function tM(e,t){if("boolean"!=typeof t)throw Error(e+" boolean expected, got "+t)}let tz=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function tF(e){t$(e);let t="";for(let r=0;r<e.length;r++)t+=tz[e[r]];return t}function tH(e){let t=e.toString(16);return 1&t.length?"0"+t:t}function tV(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return""===e?tk:BigInt("0x"+e)}let tK={_0:48,_9:57,A:65,F:70,a:97,f:102};function tW(e){return e>=tK._0&&e<=tK._9?e-tK._0:e>=tK.A&&e<=tK.F?e-(tK.A-10):e>=tK.a&&e<=tK.f?e-(tK.a-10):void 0}function tJ(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let i=new Uint8Array(r);for(let t=0,s=0;t<r;t++,s+=2){let r=tW(e.charCodeAt(s)),n=tW(e.charCodeAt(s+1));if(void 0===r||void 0===n)throw Error('hex string expected, got non-hex character "'+(e[s]+e[s+1])+'" at index '+s);i[t]=16*r+n}return i}function tG(e){return tV(tF(e))}function tY(e){return t$(e),tV(tF(Uint8Array.from(e).reverse()))}function tZ(e,t){return tJ(e.toString(16).padStart(2*t,"0"))}function tQ(e,t){return tZ(e,t).reverse()}function tX(e,t,r){let i;if("string"==typeof t)try{i=tJ(t)}catch(t){throw Error(e+" must be hex string or Uint8Array, cause: "+t)}else if(tq(t))i=Uint8Array.from(t);else throw Error(e+" must be hex string or Uint8Array");let s=i.length;if("number"==typeof r&&s!==r)throw Error(e+" of length "+r+" expected, got "+s);return i}function t0(...e){let t=0;for(let r=0;r<e.length;r++){let i=e[r];t$(i),t+=i.length}let r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){let s=e[t];r.set(s,i),i+=s.length}return r}let t1=e=>"bigint"==typeof e&&tk<=e;function t2(e,t,r){return t1(e)&&t1(t)&&t1(r)&&t<=e&&e<r}function t8(e,t,r,i){if(!t2(t,r,i))throw Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}function t3(e){let t;for(t=0;e>tk;e>>=tU,t+=1);return t}let t5=e=>(tB<<BigInt(e-1))-tU,t4=e=>new Uint8Array(e),t6=e=>Uint8Array.from(e);function t9(e,t,r){if("number"!=typeof e||e<2)throw Error("hashLen must be a number");if("number"!=typeof t||t<2)throw Error("qByteLen must be a number");if("function"!=typeof r)throw Error("hmacFn must be a function");let i=t4(e),s=t4(e),n=0,o=()=>{i.fill(1),s.fill(0),n=0},a=(...e)=>r(s,i,...e),c=(e=t4())=>{s=a(t6([0]),e),i=a(),0!==e.length&&(s=a(t6([1]),e),i=a())},l=()=>{if(n++>=1e3)throw Error("drbg: tried 1000 values");let e=0,r=[];for(;e<t;){let t=(i=a()).slice();r.push(t),e+=i.length}return t0(...r)};return(e,t)=>{let r;for(o(),c(e);!(r=t(l()));)c();return o(),r}}let t7={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||tq(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function re(e,t,r={}){let i=(t,r,i)=>{let s=t7[r];if("function"!=typeof s)throw Error("invalid validator function");let n=e[t];if(!(i&&void 0===n)&&!s(n,e))throw Error("param "+String(t)+" is invalid. Expected "+r+", got "+n)};for(let[e,r]of Object.entries(t))i(e,r,!1);for(let[e,t]of Object.entries(r))i(e,t,!0);return e}function rt(e){let t=new WeakMap;return(r,...i)=>{let s=t.get(r);if(void 0!==s)return s;let n=e(r,...i);return t.set(r,n),n}}var rr=Object.freeze({__proto__:null,isBytes:tq,abytes:t$,abool:tM,bytesToHex:tF,numberToHexUnpadded:tH,hexToNumber:tV,hexToBytes:tJ,bytesToNumberBE:tG,bytesToNumberLE:tY,numberToBytesBE:tZ,numberToBytesLE:tQ,numberToVarBytesBE:function(e){return tJ(tH(e))},ensureBytes:tX,concatBytes:t0,equalBytes:function(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return 0===r},utf8ToBytes:function(e){if("string"!=typeof e)throw Error("string expected");return new Uint8Array(new TextEncoder().encode(e))},inRange:t2,aInRange:t8,bitLen:t3,bitGet:function(e,t){return e>>BigInt(t)&tU},bitSet:function(e,t,r){return e|(r?tU:tk)<<BigInt(t)},bitMask:t5,createHmacDrbg:t9,validateObject:re,notImplemented:()=>{throw Error("not implemented")},memoized:rt});let ri=BigInt(0),rs=BigInt(1),rn=BigInt(2),ro=BigInt(3),ra=BigInt(4),rc=BigInt(5),rl=BigInt(8);function rh(e,t){let r=e%t;return r>=ri?r:t+r}function ru(e,t,r){if(t<ri)throw Error("invalid exponent, negatives unsupported");if(r<=ri)throw Error("invalid modulus");if(r===rs)return ri;let i=rs;for(;t>ri;)t&rs&&(i=i*e%r),e=e*e%r,t>>=rs;return i}function rd(e,t,r){let i=e;for(;t-- >ri;)i*=i,i%=r;return i}function rp(e,t){if(e===ri)throw Error("invert: expected non-zero number");if(t<=ri)throw Error("invert: expected positive modulus, got "+t);let r=rh(e,t),i=t,s=ri,n=rs;for(;r!==ri;){let e=i/r,t=i%r,o=s-n*e;i=r,r=t,s=n,n=o}if(i!==rs)throw Error("invert: does not exist");return rh(s,t)}let rf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function rg(e,t){let r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function ry(e,t,r=!1,i={}){let s;if(e<=ri)throw Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:n,nByteLength:o}=rg(e,t);if(o>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let a=Object.freeze({ORDER:e,isLE:r,BITS:n,BYTES:o,MASK:t5(n),ZERO:ri,ONE:rs,create:t=>rh(t,e),isValid:t=>{if("bigint"!=typeof t)throw Error("invalid field element: expected bigint, got "+typeof t);return ri<=t&&t<e},is0:e=>e===ri,isOdd:e=>(e&rs)===rs,neg:t=>rh(-t,e),eql:(e,t)=>e===t,sqr:t=>rh(t*t,e),add:(t,r)=>rh(t+r,e),sub:(t,r)=>rh(t-r,e),mul:(t,r)=>rh(t*r,e),pow:(e,t)=>(function(e,t,r){if(r<ri)throw Error("invalid exponent, negatives unsupported");if(r===ri)return e.ONE;if(r===rs)return t;let i=e.ONE,s=t;for(;r>ri;)r&rs&&(i=e.mul(i,s)),s=e.sqr(s),r>>=rs;return i})(a,e,t),div:(t,r)=>rh(t*rp(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>rp(t,e),sqrt:i.sqrt||(t=>(s||(s=function(e){if(e%ra===ro){let t=(e+rs)/ra;return function(e,r){let i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw Error("Cannot find square root");return i}}if(e%rl===rc){let t=(e-rc)/rl;return function(e,r){let i=e.mul(r,rn),s=e.pow(i,t),n=e.mul(r,s),o=e.mul(e.mul(n,rn),s),a=e.mul(n,e.sub(o,e.ONE));if(!e.eql(e.sqr(a),r))throw Error("Cannot find square root");return a}}return function(e){let t,r,i;let s=(e-rs)/rn;for(t=e-rs,r=0;t%rn===ri;t/=rn,r++);for(i=rn;i<e&&ru(i,s,e)!==e-rs;i++)if(i>1e3)throw Error("Cannot find square root: likely non-prime P");if(1===r){let t=(e+rs)/ra;return function(e,r){let i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw Error("Cannot find square root");return i}}let n=(t+rs)/rn;return function(e,o){if(e.pow(o,s)===e.neg(e.ONE))throw Error("Cannot find square root");let a=r,c=e.pow(e.mul(e.ONE,i),t),l=e.pow(o,n),h=e.pow(o,t);for(;!e.eql(h,e.ONE);){if(e.eql(h,e.ZERO))return e.ZERO;let t=1;for(let r=e.sqr(h);t<a&&!e.eql(r,e.ONE);t++)r=e.sqr(r);let r=e.pow(c,rs<<BigInt(a-t-1));c=e.sqr(r),l=e.mul(l,r),h=e.mul(h,c),a=t}return l}}(e)}(e)),s(a,t))),invertBatch:e=>(function(e,t){let r=Array(t.length),i=t.reduce((t,i,s)=>e.is0(i)?t:(r[s]=t,e.mul(t,i)),e.ONE),s=e.inv(i);return t.reduceRight((t,i,s)=>e.is0(i)?t:(r[s]=e.mul(t,r[s]),e.mul(t,i)),s),r})(a,e),cmov:(e,t,r)=>r?t:e,toBytes:e=>r?tQ(e,o):tZ(e,o),fromBytes:e=>{if(e.length!==o)throw Error("Field.fromBytes: expected "+o+" bytes, got "+e.length);return r?tY(e):tG(e)}});return Object.freeze(a)}function rm(e){if("bigint"!=typeof e)throw Error("field order must be bigint");return Math.ceil(e.toString(2).length/8)}function rb(e){let t=rm(e);return t+Math.ceil(t/2)}let rw=BigInt(0),rv=BigInt(1);function rE(e,t){let r=t.negate();return e?r:t}function rI(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function r_(e,t){return rI(e,t),{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}}let rD=new WeakMap,rS=new WeakMap;function rP(e){return rS.get(e)||1}function rO(e){return re(e.Fp,rf.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),re(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...rg(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}BigInt(0),BigInt(1),BigInt(2),BigInt(8);let rx=BigInt(0),rC=BigInt(1),rA=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);let rR=BigInt(1),rN=BigInt(2),rT=BigInt(3),rj=BigInt(5);BigInt(8);let rL=function(e){let t=(re(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})),{P:r}=t,i=e=>rh(e,r),s=t.montgomeryBits,n=Math.ceil(s/8),o=t.nByteLength,a=t.adjustScalarBytes||(e=>e),c=t.powPminus2||(e=>ru(e,r-BigInt(2),r));function l(e,t,r){let s=i(e*(t-r));return[t=i(t-s),r=i(r+s)]}let h=(t.a-BigInt(2))/BigInt(4);function u(e,t){let u=function(e,t){t8("u",e,rx,r),t8("scalar",t,rx,r);let n=rC,o=rx,a=e,u=rC,d=rx,p;for(let r=BigInt(s-1);r>=rx;r--){let s=t>>r&rC;d^=s,n=(p=l(d,n,a))[0],a=p[1],o=(p=l(d,o,u))[0],u=p[1],d=s;let c=n+o,f=i(c*c),g=n-o,y=i(g*g),m=f-y,b=a+u,w=i((a-u)*c),v=i(b*g),E=w+v,I=w-v;a=i(E*E),u=i(e*i(I*I)),n=i(f*y),o=i(m*(f+i(h*m)))}return n=(p=l(d,n,a))[0],a=p[1],o=(p=l(d,o,u))[0],u=p[1],i(n*c(o))}(function(e){let t=tX("u coordinate",e,n);return 32===o&&(t[31]&=127),tY(t)}(t),function(e){let t=tX("scalar",e),r=t.length;if(r!==n&&r!==o)throw Error("invalid scalar, expected "+n+" or "+o+" bytes, got "+r);return tY(a(t))}(e));if(u===rx)throw Error("invalid private or public key received");return tQ(i(u),n)}let d=tQ(i(t.Gu),n);function p(e){return u(e,d)}return{scalarMult:u,scalarMultBase:p,getSharedSecret:(e,t)=>u(e,t),getPublicKey:e=>p(e),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:d}}({P:rA,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let{pow_p_5_8:t,b2:r}=function(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),s=BigInt(80),n=e*e%rA*e%rA,o=rd(n,rN,rA)*n%rA,a=rd(o,rR,rA)*e%rA,c=rd(a,rj,rA)*a%rA,l=rd(c,t,rA)*c%rA,h=rd(l,r,rA)*l%rA,u=rd(h,i,rA)*h%rA,d=rd(u,s,rA)*u%rA,p=rd(d,s,rA)*u%rA,f=rd(p,t,rA)*c%rA;return{pow_p_5_8:rd(f,rN,rA)*e%rA,b2:n}}(e);return rh(rd(t,rT,rA)*r,rA)},adjustScalarBytes:function(e){return e[0]&=248,e[31]&=127,e[31]|=64,e},randomBytes:eb});function rk(e){void 0!==e.lowS&&tM("lowS",e.lowS),void 0!==e.prehash&&tM("prehash",e.prehash)}let{bytesToNumberBE:rU,hexToBytes:rB}=rr;class rq extends Error{constructor(e=""){super(e)}}let r$={Err:rq,_tlv:{encode:(e,t)=>{let{Err:r}=r$;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(1&t.length)throw new r("tlv.encode: unpadded data");let i=t.length/2,s=tH(i);if(s.length/2&128)throw new r("tlv.encode: long form length too big");let n=i>127?tH(s.length/2|128):"";return tH(e)+n+s+t},decode(e,t){let{Err:r}=r$,i=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[i++]!==e)throw new r("tlv.decode: wrong tlv");let s=t[i++],n=0;if(128&s){let e=127&s;if(!e)throw new r("tlv.decode(long): indefinite length not supported");if(e>4)throw new r("tlv.decode(long): byte length is too big");let o=t.subarray(i,i+e);if(o.length!==e)throw new r("tlv.decode: length bytes not complete");if(0===o[0])throw new r("tlv.decode(long): zero leftmost byte");for(let e of o)n=n<<8|e;if(i+=e,n<128)throw new r("tlv.decode(long): not minimal encoding")}else n=s;let o=t.subarray(i,i+n);if(o.length!==n)throw new r("tlv.decode: wrong value length");return{v:o,l:t.subarray(i+n)}}},_int:{encode(e){let{Err:t}=r$;if(e<rM)throw new t("integer: negative integers are not allowed");let r=tH(e);if(8&Number.parseInt(r[0],16)&&(r="00"+r),1&r.length)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=r$;if(128&e[0])throw new t("invalid signature integer: negative");if(0===e[0]&&!(128&e[1]))throw new t("invalid signature integer: unnecessary leading zero");return rU(e)}},toSig(e){let{Err:t,_int:r,_tlv:i}=r$,s="string"==typeof e?rB(e):e;t$(s);let{v:n,l:o}=i.decode(48,s);if(o.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=i.decode(2,n),{v:l,l:h}=i.decode(2,c);if(h.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(l)}},hexFromSig(e){let{_tlv:t,_int:r}=r$,i=t.encode(2,r.encode(e.r)),s=t.encode(2,r.encode(e.s));return t.encode(48,i+s)}},rM=BigInt(0),rz=BigInt(1);BigInt(2);let rF=BigInt(3);BigInt(4);let rH=ry(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),rV=function(e,t){let r=t=>(function(e){let t=function(e){let t=rO(e);return re(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}(e),{Fp:r,n:i}=t,s=r.BYTES+1,n=2*r.BYTES+1;function o(e){return rh(e,i)}let{ProjectivePoint:a,normPrivateKeyToScalar:c,weierstrassEquation:l,isWithinCurveOrder:h}=function(e){var t;let r=function(e){let t=rO(e);re(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:i,a:s}=t;if(r){if(!i.eql(s,i.ZERO))throw Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if("object"!=typeof r||"bigint"!=typeof r.beta||"function"!=typeof r.splitScalar)throw Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}(e),{Fp:i}=r,s=ry(r.n,r.nBitLength),n=r.toBytes||((e,t,r)=>{let s=t.toAffine();return t0(Uint8Array.from([4]),i.toBytes(s.x),i.toBytes(s.y))}),o=r.fromBytes||(e=>{let t=e.subarray(1);return{x:i.fromBytes(t.subarray(0,i.BYTES)),y:i.fromBytes(t.subarray(i.BYTES,2*i.BYTES))}});function a(e){let{a:t,b:s}=r,n=i.sqr(e),o=i.mul(n,e);return i.add(i.add(o,i.mul(e,t)),s)}if(!i.eql(i.sqr(r.Gy),a(r.Gx)))throw Error("bad generator point: equation left != right");function c(e){let t;let{allowedPrivateKeyLengths:i,nByteLength:s,wrapPrivateKey:n,n:o}=r;if(i&&"bigint"!=typeof e){if(tq(e)&&(e=tF(e)),"string"!=typeof e||!i.includes(e.length))throw Error("invalid private key");e=e.padStart(2*s,"0")}try{t="bigint"==typeof e?e:tG(tX("private key",e,s))}catch{throw Error("invalid private key, expected hex or "+s+" bytes, got "+typeof e)}return n&&(t=rh(t,o)),t8("private key",t,rz,o),t}function l(e){if(!(e instanceof d))throw Error("ProjectivePoint expected")}let h=rt((e,t)=>{let{px:r,py:s,pz:n}=e;if(i.eql(n,i.ONE))return{x:r,y:s};let o=e.is0();null==t&&(t=o?i.ONE:i.inv(n));let a=i.mul(r,t),c=i.mul(s,t),l=i.mul(n,t);if(o)return{x:i.ZERO,y:i.ZERO};if(!i.eql(l,i.ONE))throw Error("invZ was invalid");return{x:a,y:c}}),u=rt(e=>{if(e.is0()){if(r.allowInfinityPoint&&!i.is0(e.py))return;throw Error("bad point: ZERO")}let{x:t,y:s}=e.toAffine();if(!i.isValid(t)||!i.isValid(s))throw Error("bad point: x or y not FE");let n=i.sqr(s),o=a(t);if(!i.eql(n,o))throw Error("bad point: equation left != right");if(!e.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});class d{constructor(e,t,r){if(this.px=e,this.py=t,this.pz=r,null==e||!i.isValid(e))throw Error("x required");if(null==t||!i.isValid(t))throw Error("y required");if(null==r||!i.isValid(r))throw Error("z required");Object.freeze(this)}static fromAffine(e){let{x:t,y:r}=e||{};if(!e||!i.isValid(t)||!i.isValid(r))throw Error("invalid affine point");if(e instanceof d)throw Error("projective point not allowed");let s=e=>i.eql(e,i.ZERO);return s(t)&&s(r)?d.ZERO:new d(t,r,i.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){let t=i.invertBatch(e.map(e=>e.pz));return e.map((e,r)=>e.toAffine(t[r])).map(d.fromAffine)}static fromHex(e){let t=d.fromAffine(o(tX("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){return d.BASE.multiply(c(e))}static msm(e,t){return function(e,t,r,i){if(function(e,t){if(!Array.isArray(e))throw Error("array expected");e.forEach((e,r)=>{if(!(e instanceof t))throw Error("invalid point at index "+r)})}(r,e),function(e,t){if(!Array.isArray(e))throw Error("array of scalars expected");e.forEach((e,r)=>{if(!t.isValid(e))throw Error("invalid scalar at index "+r)})}(i,t),r.length!==i.length)throw Error("arrays of points and scalars must have equal length");let s=e.ZERO,n=t3(BigInt(r.length)),o=n>12?n-3:n>4?n-2:n?2:1,a=(1<<o)-1,c=Array(a+1).fill(s),l=Math.floor((t.BITS-1)/o)*o,h=s;for(let e=l;e>=0;e-=o){c.fill(s);for(let t=0;t<i.length;t++){let s=Number(i[t]>>BigInt(e)&BigInt(a));c[s]=c[s].add(r[t])}let t=s;for(let e=c.length-1,r=s;e>0;e--)r=r.add(c[e]),t=t.add(r);if(h=h.add(t),0!==e)for(let e=0;e<o;e++)h=h.double()}return h}(d,s,e,t)}_setWindowSize(e){f.setWindowSize(this,e)}assertValidity(){u(this)}hasEvenY(){let{y:e}=this.toAffine();if(i.isOdd)return!i.isOdd(e);throw Error("Field doesn't support isOdd")}equals(e){l(e);let{px:t,py:r,pz:s}=this,{px:n,py:o,pz:a}=e,c=i.eql(i.mul(t,a),i.mul(n,s)),h=i.eql(i.mul(r,a),i.mul(o,s));return c&&h}negate(){return new d(this.px,i.neg(this.py),this.pz)}double(){let{a:e,b:t}=r,s=i.mul(t,rF),{px:n,py:o,pz:a}=this,c=i.ZERO,l=i.ZERO,h=i.ZERO,u=i.mul(n,n),p=i.mul(o,o),f=i.mul(a,a),g=i.mul(n,o);return g=i.add(g,g),h=i.mul(n,a),h=i.add(h,h),c=i.mul(e,h),l=i.mul(s,f),l=i.add(c,l),c=i.sub(p,l),l=i.add(p,l),l=i.mul(c,l),c=i.mul(g,c),h=i.mul(s,h),f=i.mul(e,f),g=i.sub(u,f),g=i.mul(e,g),g=i.add(g,h),h=i.add(u,u),u=i.add(h,u),u=i.add(u,f),u=i.mul(u,g),l=i.add(l,u),f=i.mul(o,a),f=i.add(f,f),u=i.mul(f,g),c=i.sub(c,u),h=i.mul(f,p),h=i.add(h,h),new d(c,l,h=i.add(h,h))}add(e){l(e);let{px:t,py:s,pz:n}=this,{px:o,py:a,pz:c}=e,h=i.ZERO,u=i.ZERO,p=i.ZERO,f=r.a,g=i.mul(r.b,rF),y=i.mul(t,o),m=i.mul(s,a),b=i.mul(n,c),w=i.add(t,s),v=i.add(o,a);w=i.mul(w,v),v=i.add(y,m),w=i.sub(w,v),v=i.add(t,n);let E=i.add(o,c);return v=i.mul(v,E),E=i.add(y,b),v=i.sub(v,E),E=i.add(s,n),h=i.add(a,c),E=i.mul(E,h),h=i.add(m,b),E=i.sub(E,h),p=i.mul(f,v),h=i.mul(g,b),p=i.add(h,p),h=i.sub(m,p),p=i.add(m,p),u=i.mul(h,p),m=i.add(y,y),m=i.add(m,y),b=i.mul(f,b),v=i.mul(g,v),m=i.add(m,b),b=i.sub(y,b),b=i.mul(f,b),v=i.add(v,b),y=i.mul(m,v),u=i.add(u,y),y=i.mul(E,v),h=i.mul(w,h),h=i.sub(h,y),y=i.mul(w,m),p=i.mul(E,p),new d(h,u,p=i.add(p,y))}subtract(e){return this.add(e.negate())}is0(){return this.equals(d.ZERO)}wNAF(e){return f.wNAFCached(this,e,d.normalizeZ)}multiplyUnsafe(e){let{endo:t,n:s}=r;t8("scalar",e,rM,s);let n=d.ZERO;if(e===rM)return n;if(this.is0()||e===rz)return this;if(!t||f.hasPrecomputes(this))return f.wNAFCachedUnsafe(this,e,d.normalizeZ);let{k1neg:o,k1:a,k2neg:c,k2:l}=t.splitScalar(e),h=n,u=n,p=this;for(;a>rM||l>rM;)a&rz&&(h=h.add(p)),l&rz&&(u=u.add(p)),p=p.double(),a>>=rz,l>>=rz;return o&&(h=h.negate()),c&&(u=u.negate()),u=new d(i.mul(u.px,t.beta),u.py,u.pz),h.add(u)}multiply(e){let t,s;let{endo:n,n:o}=r;if(t8("scalar",e,rz,o),n){let{k1neg:r,k1:o,k2neg:a,k2:c}=n.splitScalar(e),{p:l,f:h}=this.wNAF(o),{p:u,f:p}=this.wNAF(c);l=f.constTimeNegate(r,l),u=f.constTimeNegate(a,u),u=new d(i.mul(u.px,n.beta),u.py,u.pz),t=l.add(u),s=h.add(p)}else{let{p:r,f:i}=this.wNAF(e);t=r,s=i}return d.normalizeZ([t,s])[0]}multiplyAndAddUnsafe(e,t,r){let i=d.BASE,s=(e,t)=>t!==rM&&t!==rz&&e.equals(i)?e.multiply(t):e.multiplyUnsafe(t),n=s(this,t).add(s(e,r));return n.is0()?void 0:n}toAffine(e){return h(this,e)}isTorsionFree(){let{h:e,isTorsionFree:t}=r;if(e===rz)return!0;if(t)return t(d,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:e,clearCofactor:t}=r;return e===rz?this:t?t(d,this):this.multiplyUnsafe(r.h)}toRawBytes(e=!0){return tM("isCompressed",e),this.assertValidity(),n(d,this,e)}toHex(e=!0){return tM("isCompressed",e),tF(this.toRawBytes(e))}}d.BASE=new d(r.Gx,r.Gy,i.ONE),d.ZERO=new d(i.ZERO,i.ONE,i.ZERO);let p=r.nBitLength,f=(t=r.endo?Math.ceil(p/2):p,{constTimeNegate:rE,hasPrecomputes:e=>1!==rP(e),unsafeLadder(e,t,r=d.ZERO){let i=e;for(;t>rw;)t&rv&&(r=r.add(i)),i=i.double(),t>>=rv;return r},precomputeWindow(e,r){let{windows:i,windowSize:s}=r_(r,t),n=[],o=e,a=o;for(let e=0;e<i;e++){a=o,n.push(a);for(let e=1;e<s;e++)a=a.add(o),n.push(a);o=a.double()}return n},wNAF(e,r,i){let{windows:s,windowSize:n}=r_(e,t),o=d.ZERO,a=d.BASE,c=BigInt(2**e-1),l=2**e,h=BigInt(e);for(let e=0;e<s;e++){let t=e*n,s=Number(i&c);i>>=h,s>n&&(s-=l,i+=rv);let u=t+Math.abs(s)-1,d=e%2!=0,p=s<0;0===s?a=a.add(rE(d,r[t])):o=o.add(rE(p,r[u]))}return{p:o,f:a}},wNAFUnsafe(e,r,i,s=d.ZERO){let{windows:n,windowSize:o}=r_(e,t),a=BigInt(2**e-1),c=2**e,l=BigInt(e);for(let e=0;e<n;e++){let t=e*o;if(i===rw)break;let n=Number(i&a);if(i>>=l,n>o&&(n-=c,i+=rv),0===n)continue;let h=r[t+Math.abs(n)-1];n<0&&(h=h.negate()),s=s.add(h)}return s},getPrecomputes(e,t,r){let i=rD.get(t);return i||(i=this.precomputeWindow(t,e),1!==e&&rD.set(t,r(i))),i},wNAFCached(e,t,r){let i=rP(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)},wNAFCachedUnsafe(e,t,r,i){let s=rP(e);return 1===s?this.unsafeLadder(e,t,i):this.wNAFUnsafe(s,this.getPrecomputes(s,e,r),t,i)},setWindowSize(e,r){rI(r,t),rS.set(e,r),rD.delete(e)}});return{CURVE:r,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:a,isWithinCurveOrder:function(e){return t2(e,rz,r.n)}}}({...t,toBytes(e,t,i){let s=t.toAffine(),n=r.toBytes(s.x);return tM("isCompressed",i),i?t0(Uint8Array.from([t.hasEvenY()?2:3]),n):t0(Uint8Array.from([4]),n,r.toBytes(s.y))},fromBytes(e){let t=e.length,i=e[0],o=e.subarray(1);if(t===s&&(2===i||3===i)){let e;let t=tG(o);if(!t2(t,rz,r.ORDER))throw Error("Point is not on curve");let s=l(t);try{e=r.sqrt(s)}catch(e){throw Error("Point is not on curve"+(e instanceof Error?": "+e.message:""))}return(1&i)==1!=((e&rz)===rz)&&(e=r.neg(e)),{x:t,y:e}}if(t===n&&4===i)return{x:r.fromBytes(o.subarray(0,r.BYTES)),y:r.fromBytes(o.subarray(r.BYTES,2*r.BYTES))};throw Error("invalid Point, expected length of "+s+", or uncompressed "+n+", got "+t)}}),u=e=>tF(tZ(e,t.nByteLength)),d=(e,t,r)=>tG(e.slice(t,r));class p{constructor(e,t,r){this.r=e,this.s=t,this.recovery=r,this.assertValidity()}static fromCompact(e){let r=t.nByteLength;return new p(d(e=tX("compactSignature",e,2*r),0,r),d(e,r,2*r))}static fromDER(e){let{r:t,s:r}=r$.toSig(tX("DER",e));return new p(t,r)}assertValidity(){t8("r",this.r,rz,i),t8("s",this.s,rz,i)}addRecoveryBit(e){return new p(this.r,this.s,e)}recoverPublicKey(e){let{r:s,s:n,recovery:c}=this,l=y(tX("msgHash",e));if(null==c||![0,1,2,3].includes(c))throw Error("recovery id invalid");let h=2===c||3===c?s+t.n:s;if(h>=r.ORDER)throw Error("recovery id 2 or 3 invalid");let d=(1&c)==0?"02":"03",p=a.fromHex(d+u(h)),f=rp(h,i),g=o(-l*f),m=o(n*f),b=a.BASE.multiplyAndAddUnsafe(p,g,m);if(!b)throw Error("point at infinify");return b.assertValidity(),b}hasHighS(){return this.s>i>>rz}normalizeS(){return this.hasHighS()?new p(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return tJ(this.toDERHex())}toDERHex(){return r$.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return tJ(this.toCompactHex())}toCompactHex(){return u(this.r)+u(this.s)}}function f(e){let t=tq(e),r="string"==typeof e,i=(t||r)&&e.length;return t?i===s||i===n:r?i===2*s||i===2*n:e instanceof a}let g=t.bits2int||function(e){if(e.length>8192)throw Error("input is too large");let r=tG(e),i=8*e.length-t.nBitLength;return i>0?r>>BigInt(i):r},y=t.bits2int_modN||function(e){return o(g(e))},m=t5(t.nBitLength);function b(e){return t8("num < 2^"+t.nBitLength,e,rM,m),tZ(e,t.nByteLength)}let w={lowS:t.lowS,prehash:!1},v={lowS:t.lowS,prehash:!1};return a.BASE._setWindowSize(8),{CURVE:t,getPublicKey:function(e,t=!0){return a.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,r=!0){if(f(e))throw Error("first arg must be private key");if(!f(t))throw Error("second arg must be public key");return a.fromHex(t).multiply(c(e)).toRawBytes(r)},sign:function(e,s,n=w){let{seed:l,k2sig:u}=function(e,s,n=w){if(["recovered","canonical"].some(e=>e in n))throw Error("sign() legacy options not supported");let{hash:l,randomBytes:u}=t,{lowS:d,prehash:f,extraEntropy:m}=n;null==d&&(d=!0),e=tX("msgHash",e),rk(n),f&&(e=tX("prehashed msgHash",l(e)));let v=y(e),E=c(s),I=[b(E),b(v)];if(null!=m&&!1!==m){let e=!0===m?u(r.BYTES):m;I.push(tX("extraEntropy",e))}return{seed:t0(...I),k2sig:function(e){let t=g(e);if(!h(t))return;let r=rp(t,i),s=a.BASE.multiply(t).toAffine(),n=o(s.x);if(n===rM)return;let c=o(r*o(v+n*E));if(c===rM)return;let l=(s.x===n?0:2)|Number(s.y&rz),u=c;return d&&c>i>>rz&&(u=c>i>>rz?o(-c):c,l^=1),new p(n,u,l)}}}(e,s,n);return t9(t.hash.outputLen,t.nByteLength,t.hmac)(l,u)},verify:function(e,r,s,n=v){let c,l;r=tX("msgHash",r),s=tX("publicKey",s);let{lowS:h,prehash:u,format:d}=n;if(rk(n),"strict"in n)throw Error("options.strict was renamed to lowS");if(void 0!==d&&"compact"!==d&&"der"!==d)throw Error("format must be compact or der");let f="string"==typeof e||tq(e),g=!f&&!d&&"object"==typeof e&&null!==e&&"bigint"==typeof e.r&&"bigint"==typeof e.s;if(!f&&!g)throw Error("invalid signature, expected Uint8Array, hex string or Signature instance");try{if(g&&(c=new p(e.r,e.s)),f){try{"compact"!==d&&(c=p.fromDER(e))}catch(e){if(!(e instanceof r$.Err))throw e}c||"der"===d||(c=p.fromCompact(e))}l=a.fromHex(s)}catch{return!1}if(!c||h&&c.hasHighS())return!1;u&&(r=t.hash(r));let{r:m,s:b}=c,w=y(r),E=rp(b,i),I=o(w*E),_=o(m*E),D=a.BASE.multiplyAndAddUnsafe(l,I,_)?.toAffine();return!!D&&o(D.x)===m},ProjectivePoint:a,Signature:p,utils:{isValidPrivateKey(e){try{return c(e),!0}catch{return!1}},normPrivateKeyToScalar:c,randomPrivateKey:()=>{let e=rb(t.n);return function(e,t,r=!1){let i=e.length,s=rm(t),n=rb(t);if(i<16||i<n||i>1024)throw Error("expected "+n+"-1024 bytes of input, got "+i);let o=rh(r?tY(e):tG(e),t-rs)+rs;return r?tQ(o,s):tZ(o,s)}(t.randomBytes(e),t.n)},precompute:(e=8,t=a.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)}}})({...e,hash:t,hmac:(e,...r)=>tP(t,e,function(...e){let t=0;for(let r=0;r<e.length;r++){let i=e[r];ee(i),t+=i.length}let r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){let s=e[t];r.set(s,i),i+=s.length}return r}(...r)),randomBytes:eb});return{...r(t),create:r}}({a:rH.create(BigInt("-3")),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Fp:rH,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},tL),rK="base10",rW="base16",rJ="base64pad",rG="base64url",rY="utf8";function rZ(){let e=eb(32);return(0,d.BB)(e,rW)}function rQ(e){let t=tL((0,d.mL)(e,rW));return(0,d.BB)(t,rW)}function rX(e){let t=tL((0,d.mL)(e,rY));return(0,d.BB)(t,rW)}function r0(e){return(0,d.mL)(`${e}`,rK)}function r1(e){return Number((0,d.BB)(e,rK))}function r2(e){return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function r8(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=(4-t.length%4)%4;return t+"=".repeat(r)}function r3(e){if(2===r1(e.type))return(0,d.BB)((0,d.zo)([e.type,e.sealed]),rJ);if(1===r1(e.type)){if(typeof e.senderPublicKey>"u")throw Error("Missing sender public key for type 1 envelope");return(0,d.BB)((0,d.zo)([e.type,e.senderPublicKey,e.iv,e.sealed]),rJ)}return(0,d.BB)((0,d.zo)([e.type,e.iv,e.sealed]),rJ)}function r5(e){let t=(e.encoding||rJ)===rG?r8(e.encoded):e.encoded,r=(0,d.mL)(t,rJ),i=r.slice(0,1);if(1===r1(i)){let e=r.slice(1,33),t=r.slice(33,45);return{type:i,sealed:r.slice(45),iv:t,senderPublicKey:e}}if(2===r1(i))return{type:i,sealed:r.slice(1),iv:eb(12)};let s=r.slice(1,13);return{type:i,sealed:r.slice(13),iv:s}}function r4(e){let t=e?.type||0;if(1===t){if(typeof e?.senderPublicKey>"u")throw Error("missing sender public key");if(typeof e?.receiverPublicKey>"u")throw Error("missing receiver public key")}return{type:t,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function r6(e){return 1===e.type&&"string"==typeof e.senderPublicKey&&"string"==typeof e.receiverPublicKey}function r9(e){return e?.relay||{protocol:"irn"}}function r7(e){let t=p.iO[e];if(typeof t>"u")throw Error(`Relay Protocol not supported: ${e}`);return t}function ie(e){var t;if(!e.includes("wc:")){let t=Q(e);null!=t&&t.includes("wc:")&&(e=t)}let r=(e=(e=e.includes("wc://")?e.replace("wc://",""):e).includes("wc:")?e.replace("wc:",""):e).indexOf(":"),i=-1!==e.indexOf("?")?e.indexOf("?"):void 0,s=e.substring(0,r),n=e.substring(r+1,i).split("@"),o=new URLSearchParams("u">typeof i?e.substring(i):""),a={};o.forEach((e,t)=>{a[t]=e});let c="string"==typeof a.methods?a.methods.split(","):void 0;return{protocol:s,topic:(t=n[0]).startsWith("//")?t.substring(2):t,version:parseInt(n[1],10),symKey:a.symKey,relay:function(e,t="-"){let r={},i="relay"+t;return Object.keys(e).forEach(t=>{if(t.startsWith(i)){let s=t.replace(i,""),n=e[t];r[s]=n}}),r}(a),methods:c,expiryTimestamp:a.expiryTimestamp?parseInt(a.expiryTimestamp,10):void 0}}function it(e){let t=new URLSearchParams,r=function(e,t="-"){let r={};return Object.keys(e).forEach(i=>{e[i]&&(r["relay"+t+i]=e[i])}),r}(e.relay);Object.keys(r).sort().forEach(e=>{t.set(e,r[e])}),t.set("symKey",e.symKey),e.expiryTimestamp&&t.set("expiryTimestamp",e.expiryTimestamp.toString()),e.methods&&t.set("methods",e.methods.join(","));let i=t.toString();return`${e.protocol}:${e.topic}@${e.version}?${i}`}function ir(e,t,r){return`${e}?wc_ev=${r}&topic=${t}`}var ii=Object.defineProperty,is=Object.defineProperties,io=Object.getOwnPropertyDescriptors,ia=Object.getOwnPropertySymbols,ic=Object.prototype.hasOwnProperty,il=Object.prototype.propertyIsEnumerable,ih=(e,t,r)=>t in e?ii(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,iu=(e,t)=>{for(var r in t||(t={}))ic.call(t,r)&&ih(e,r,t[r]);if(ia)for(var r of ia(t))il.call(t,r)&&ih(e,r,t[r]);return e},id=(e,t)=>is(e,io(t));function ip(e){let t=[];return e.forEach(e=>{let[r,i]=e.split(":");t.push(`${r}:${i}`)}),t}function ig(e){return e.includes(":")}function iy(e){return ig(e)?e.split(":")[0]:e}function im(e){var t,r,i;let s={};if(!iD(e))return s;for(let[n,o]of Object.entries(e)){let e=ig(n)?[n]:o.chains,a=o.methods||[],c=o.events||[],l=iy(n);s[l]=id(iu({},s[l]),{chains:K(e,null==(t=s[l])?void 0:t.chains),methods:K(a,null==(r=s[l])?void 0:r.methods),events:K(c,null==(i=s[l])?void 0:i.events)})}return s}function ib(e,t){let r=function(e){let t={};return e?.forEach(e=>{var r;let[i,s]=e.split(":");t[i]||(t[i]={accounts:[],chains:[],events:[],methods:[]}),t[i].accounts.push(e),null==(r=t[i].chains)||r.push(`${i}:${s}`)}),t}(t=t.map(e=>e.replace("did:pkh:","")));for(let[t,i]of Object.entries(r))i.methods?i.methods=K(i.methods,e):i.methods=e,i.events=["chainChanged","accountsChanged"];return r}let iw={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}},iv={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 iE(e,t){let{message:r,code:i}=iv[e];return{message:t?`${r} ${t}`:r,code:i}}function iI(e,t){let{message:r,code:i}=iw[e];return{message:t?`${r} ${t}`:r,code:i}}function i_(e,t){return!!Array.isArray(e)&&(!("u">typeof t)||!e.length||e.every(t))}function iD(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function iS(e){return typeof e>"u"}function iP(e,t){return!!(t&&iS(e))||"string"==typeof e&&!!e.trim().length}function iO(e,t){return!!(t&&iS(e))||"number"==typeof e&&!isNaN(e)}function ix(e){return!!(iP(e,!1)&&e.includes(":"))&&2===e.split(":").length}function iC(e){let t=!0;return i_(e)?e.length&&(t=e.every(e=>iP(e,!1))):t=!1,t}function iA(e,t){let r=null;return Object.values(e).forEach(e=>{var i;let s;if(r)return;let n=(i=`${t}, namespace`,s=null,iC(e?.methods)?iC(e?.events)||(s=iI("UNSUPPORTED_EVENTS",`${i}, events should be an array of strings or empty array for no events`)):s=iI("UNSUPPORTED_METHODS",`${i}, methods should be an array of strings or empty array for no methods`),s);n&&(r=n)}),r}function iR(e,t){let r=null;if(e&&iD(e)){let i;let s=iA(e,t);s&&(r=s);let n=(i=null,Object.values(e).forEach(e=>{var r,s;let n;if(i)return;let o=(r=e?.accounts,s=`${t} namespace`,n=null,i_(r)?r.forEach(e=>{n||function(e){if(iP(e,!1)&&e.includes(":")){let t=e.split(":");if(3===t.length){let e=t[0]+":"+t[1];return!!t[2]&&ix(e)}}return!1}(e)||(n=iI("UNSUPPORTED_ACCOUNTS",`${s}, account ${e} should be a string and conform to "namespace:chainId:address" format`))}):n=iI("UNSUPPORTED_ACCOUNTS",`${s}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),n);o&&(i=o)}),i);n&&(r=n)}else r=iE("MISSING_OR_INVALID",`${t}, namespaces should be an object with data`);return r}function iN(e){return iP(e.protocol,!0)}function iT(e){return"u">typeof e}function ij(e,t){return!(!ix(t)||!(function(e){let t=[];return Object.values(e).forEach(e=>{t.push(...ip(e.accounts))}),t})(e).includes(t))}function iL(e,t,r){let i=null,s=function(e){let t={};return Object.keys(e).forEach(r=>{var i;r.includes(":")?t[r]=e[r]:null==(i=e[r].chains)||i.forEach(i=>{t[i]={methods:e[r].methods,events:e[r].events}})}),t}(e),n=function(e){let t={};return Object.keys(e).forEach(r=>{if(r.includes(":"))t[r]=e[r];else{let i=ip(e[r].accounts);i?.forEach(i=>{t[i]={accounts:e[r].accounts.filter(e=>e.includes(`${i}:`)),methods:e[r].methods,events:e[r].events}})}}),t}(t),o=Object.keys(s),a=Object.keys(n),c=ik(Object.keys(e)),l=ik(Object.keys(t)),h=c.filter(e=>!l.includes(e));return h.length&&(i=iE("NON_CONFORMING_NAMESPACES",`${r} namespaces keys don't satisfy requiredNamespaces.
@@ -7,7 +7,7 @@ ${e.length}`,r=new TextEncoder().encode(t+e);return"0x"+g.from(eT(r)).toString("
7
7
  Required: ${o.toString()}
8
8
  Approved: ${a.toString()}`)),Object.keys(t).forEach(e=>{if(!e.includes(":")||i)return;let s=ip(t[e].accounts);s.includes(e)||(i=iE("NON_CONFORMING_NAMESPACES",`${r} namespaces accounts don't satisfy namespace accounts for ${e}
9
9
  Required: ${e}
10
- Approved: ${s.toString()}`))}),o.forEach(e=>{i||(k(s[e].methods,n[e].methods)?k(s[e].events,n[e].events)||(i=iE("NON_CONFORMING_NAMESPACES",`${r} namespaces events don't satisfy namespace events for ${e}`)):i=iE("NON_CONFORMING_NAMESPACES",`${r} namespaces methods don't satisfy namespace methods for ${e}`))}),i}function ik(e){return[...new Set(e.map(e=>e.includes(":")?e.split(":")[0]:e))]}function iU(){let e=N();return new Promise(t=>{switch(e){case x.browser:t(R()&&navigator?.onLine);break;case x.reactNative:t(iB());break;case x.node:default:t(!0)}})}async function iB(){if(A()&&"u">typeof r.g&&null!=r.g&&r.g.NetInfo){let e=await (null==r.g?void 0:r.g.NetInfo.fetch());return e?.isConnected}return!0}let iq={};class i${static get(e){return iq[e]}static set(e,t){iq[e]=t}static delete(e){delete iq[e]}}var iM=r(48957),iz=r(53171),iF=r(19425),iH=r(19870),iV=Object.defineProperty,iK=(e,t,r)=>t in e?iV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,iW=(e,t,r)=>iK(e,"symbol"!=typeof t?t+"":t,r);class iJ extends iH.q{constructor(e){super(),this.opts=e,iW(this,"protocol","wc"),iW(this,"version",2)}}var iG=Object.defineProperty,iY=(e,t,r)=>t in e?iG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,iZ=(e,t,r)=>iY(e,"symbol"!=typeof t?t+"":t,r);class iQ extends iH.q{constructor(e,t){super(),this.core=e,this.logger=t,iZ(this,"records",new Map)}}class iX{constructor(e,t){this.logger=e,this.core=t}}class i0 extends iH.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class i1 extends iH.q{constructor(e){super()}}class i2{constructor(e,t,r,i){this.core=e,this.logger=t,this.name=r}}class i8 extends iH.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class i3 extends iH.q{constructor(e,t){super(),this.core=e,this.logger=t}}class i5{constructor(e,t,r){this.core=e,this.logger=t,this.store=r}}class i4{constructor(e,t){this.projectId=e,this.logger=t}}class i6{constructor(e,t,r){this.core=e,this.logger=t,this.telemetryEnabled=r}}var i9=Object.defineProperty,i7=(e,t,r)=>t in e?i9(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,se=(e,t,r)=>i7(e,"symbol"!=typeof t?t+"":t,r);class st{constructor(e){this.opts=e,se(this,"protocol","wc"),se(this,"version",2)}}class sr{constructor(e){this.client=e}}var si=r(90834),ss=r(20624),sn=r(83196),so=r(85593),sa=r(63157).Buffer,sc=r(32608);let sl="core",sh=`wc@2:${sl}:`,su={logger:"error"},sd={database:":memory:"},sp="client_ed25519_seed",sf=o.ONE_DAY,sg=o.SIX_HOURS,sy="wss://relay.walletconnect.org",sm={message:"relayer_message",message_ack:"relayer_message_ack",connect:"relayer_connect",disconnect:"relayer_disconnect",error:"relayer_error",connection_stalled:"relayer_connection_stalled",publish:"relayer_publish"},sb={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},sw="2.21.1",sv={link_mode:"link_mode",relay:"relay"},sE={inbound:"inbound",outbound:"outbound"},sI="WALLETCONNECT_LINK_MODE_APPS",s_={created:"subscription_created",deleted:"subscription_deleted",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},sD=(o.FIVE_SECONDS,{wc_pairingDelete:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:o.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:o.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:o.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:o.ONE_DAY,prompt:!1,tag:0},res:{ttl:o.ONE_DAY,prompt:!1,tag:0}}}),sS={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},sP={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},sO={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},sx="https://verify.walletconnect.org",sC=`${sx}/v3`,sA=["https://verify.walletconnect.com",sx],sR={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"},sN={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_listener_not_found:"proposal_listener_not_found"},sT={session_approve_started:"session_approve_started",session_namespaces_validation_success:"session_namespaces_validation_success",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"},sj={no_internet_connection:"no_internet_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"},sL={authenticated_session_approve_started:"authenticated_session_approve_started",create_authenticated_session_topic:"create_authenticated_session_topic",cacaos_verified:"cacaos_verified",store_authenticated_session:"store_authenticated_session",subscribing_authenticated_session_topic:"subscribing_authenticated_session_topic",subscribe_authenticated_session_topic_success:"subscribe_authenticated_session_topic_success",publishing_authenticated_session_approve:"publishing_authenticated_session_approve"},sk={no_internet_connection:"no_internet_connection",invalid_cacao:"invalid_cacao",subscribe_authenticated_session_topic_failure:"subscribe_authenticated_session_topic_failure",authenticated_session_approve_publish_failure:"authenticated_session_approve_publish_failure",authenticated_session_pending_request_not_found:"authenticated_session_pending_request_not_found"};var sU=function(e,t){if(e.length>=255)throw TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var s=0;s<e.length;s++){var n=e.charAt(s),o=n.charCodeAt(0);if(255!==r[o])throw TypeError(n+" is ambiguous");r[o]=s}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),h=Math.log(256)/Math.log(a);function u(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[0]){for(var i=0,s=0;e[t]===c;)i++,t++;for(var n=(e.length-t)*l+1>>>0,o=new Uint8Array(n);e[t];){var h=r[e.charCodeAt(t)];if(255===h)return;for(var u=0,d=n-1;(0!==h||u<s)&&-1!==d;d--,u++)h+=a*o[d]>>>0,o[d]=h%256>>>0,h=h/256>>>0;if(0!==h)throw Error("Non-zero carry");s=u,t++}if(" "!==e[t]){for(var p=n-s;p!==n&&0===o[p];)p++;for(var f=new Uint8Array(i+(n-p)),g=i;p!==n;)f[g++]=o[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,i=0,s=0,n=t.length;s!==n&&0===t[s];)s++,r++;for(var o=(n-s)*h+1>>>0,l=new Uint8Array(o);s!==n;){for(var u=t[s],d=0,p=o-1;(0!==u||d<i)&&-1!==p;p--,d++)u+=256*l[p]>>>0,l[p]=u%a>>>0,u=u/a>>>0;if(0!==u)throw Error("Non-zero carry");i=d,s++}for(var f=o-i;f!==o&&0===l[f];)f++;for(var g=c.repeat(r);f<o;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:u,decode:function(e){var r=u(e);if(r)return r;throw Error(`Non-${t} character`)}}};let sB=e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error("Unknown type, must be binary type")},sq=e=>new TextEncoder().encode(e),s$=e=>new TextDecoder().decode(e);class sM{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class sz{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"==typeof e){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))}throw Error("Can only multibase decode strings")}or(e){return sH(this,e)}}class sF{constructor(e){this.decoders=e}or(e){return sH(this,e)}decode(e){let t=e[0],r=this.decoders[t];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`)}}let sH=(e,t)=>new sF({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class sV{constructor(e,t,r,i){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=i,this.encoder=new sM(e,t,r),this.decoder=new sz(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}let sK=({name:e,prefix:t,encode:r,decode:i})=>new sV(e,t,r,i),sW=({prefix:e,name:t,alphabet:r})=>{let{encode:i,decode:s}=sU(r,t);return sK({prefix:e,name:t,encode:i,decode:e=>sB(s(e))})},sJ=(e,t,r,i)=>{let s={};for(let e=0;e<t.length;++e)s[t[e]]=e;let n=e.length;for(;"="===e[n-1];)--n;let o=new Uint8Array(n*r/8|0),a=0,c=0,l=0;for(let t=0;t<n;++t){let n=s[e[t]];if(void 0===n)throw SyntaxError(`Non-${i} character`);c=c<<r|n,(a+=r)>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw SyntaxError("Unexpected end of data");return o},sG=(e,t,r)=>{let i="="===t[t.length-1],s=(1<<r)-1,n="",o=0,a=0;for(let i=0;i<e.length;++i)for(a=a<<8|e[i],o+=8;o>r;)o-=r,n+=t[s&a>>o];if(o&&(n+=t[s&a<<r-o]),i)for(;n.length*r&7;)n+="=";return n},sY=({name:e,prefix:t,bitsPerChar:r,alphabet:i})=>sK({prefix:t,name:e,encode:e=>sG(e,i,r),decode:t=>sJ(t,i,r,e)});var sZ=Object.freeze({__proto__:null,identity:sK({prefix:"\0",name:"identity",encode:e=>s$(e),decode:e=>sq(e)})}),sQ=Object.freeze({__proto__:null,base2:sY({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})}),sX=Object.freeze({__proto__:null,base8:sY({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})}),s0=Object.freeze({__proto__:null,base10:sW({prefix:"9",name:"base10",alphabet:"0123456789"})}),s1=Object.freeze({__proto__:null,base16:sY({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),base16upper:sY({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});let s2=sY({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),s8=sY({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),s3=sY({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),s5=sY({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),s4=sY({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),s6=sY({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5});var s9=Object.freeze({__proto__:null,base32:s2,base32upper:s8,base32pad:s3,base32padupper:s5,base32hex:s4,base32hexupper:s6,base32hexpad:sY({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),base32hexpadupper:sY({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),base32z:sY({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})}),s7=Object.freeze({__proto__:null,base36:sW({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),base36upper:sW({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})}),ne=Object.freeze({__proto__:null,base58btc:sW({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),base58flickr:sW({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});let nt=sY({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6});var nr=Object.freeze({__proto__:null,base64:nt,base64pad:sY({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),base64url:sY({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),base64urlpad:sY({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});let ni=Array.from("\uD83D\uDE80\uD83E\uDE90☄\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☀\uD83D\uDCBB\uD83D\uDDA5\uD83D\uDCBE\uD83D\uDCBF\uD83D\uDE02❤\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☺\uD83D\uDC4C\uD83E\uDD17\uD83D\uDC9C\uD83D\uDE14\uD83D\uDE0E\uD83D\uDE07\uD83C\uDF39\uD83E\uDD26\uD83C\uDF89\uD83D\uDC9E✌✨\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❣\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✋\uD83D\uDE1A\uD83D\uDE1D\uD83D\uDE34\uD83C\uDF1F\uD83D\uDE2C\uD83D\uDE43\uD83C\uDF40\uD83C\uDF37\uD83D\uDE3B\uD83D\uDE13⭐✅\uD83E\uDD7A\uD83C\uDF08\uD83D\uDE08\uD83E\uDD18\uD83D\uDCA6✔\uD83D\uDE23\uD83C\uDFC3\uD83D\uDC90☹\uD83C\uDF8A\uD83D\uDC98\uD83D\uDE20☝\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⚽\uD83E\uDD19☕\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⚡\uD83C\uDF1E\uD83C\uDF88❌✊\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✈\uD83C\uDF80\uD83C\uDF7A\uD83E\uDD13\uD83D\uDE19\uD83D\uDC9F\uD83C\uDF31\uD83D\uDE16\uD83D\uDC76\uD83E\uDD74▶➡❓\uD83D\uDC8E\uD83D\uDCB8⬇\uD83D\uDE28\uD83C\uDF1A\uD83E\uDD8B\uD83D\uDE37\uD83D\uDD7A⚠\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☎\uD83D\uDCA7\uD83D\uDE2F\uD83D\uDC86\uD83D\uDC46\uD83C\uDFA4\uD83D\uDE47\uD83C\uDF51❄\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"),ns=ni.reduce((e,t,r)=>(e[r]=t,e),[]),nn=ni.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);var no=Object.freeze({__proto__:null,base256emoji:sK({prefix:"\uD83D\uDE80",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>e+=ns[t],"")},decode:function(e){let t=[];for(let r of e){let e=nn[r.codePointAt(0)];if(void 0===e)throw Error(`Non-base256emoji character: ${r}`);t.push(e)}return new Uint8Array(t)}})});function na(e,t){var r,i=0,t=t||0,s=0,n=t,o=e.length;do{if(n>=o)throw na.bytes=0,RangeError("Could not decode varint");r=e[n++],i+=s<28?(127&r)<<s:(127&r)*Math.pow(2,s),s+=7}while(r>=128);return na.bytes=n-t,i}var nc=function e(t,r,i){r=r||[],i=i||0;for(var s=i;t>=2147483648;)r[i++]=255&t|128,t/=128;for(;-128&t;)r[i++]=255&t|128,t>>>=7;return r[i]=0|t,e.bytes=i-s+1,r};let nl=(e,t,r=0)=>(nc(e,t,r),t),nh=e=>e<128?1:e<16384?2:e<2097152?3:e<268435456?4:e<34359738368?5:e<4398046511104?6:e<562949953421312?7:e<72057594037927940?8:e<0x7fffffffffffffff?9:10,nu=(e,t)=>{let r=t.byteLength,i=nh(e),s=i+nh(r),n=new Uint8Array(s+r);return nl(e,n,0),nl(r,n,i),n.set(t,s),new nd(e,r,t,n)};class nd{constructor(e,t,r,i){this.code=e,this.size=t,this.digest=r,this.bytes=i}}let np=({name:e,code:t,encode:r})=>new nf(e,t,r);class nf{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?nu(this.code,t):t.then(e=>nu(this.code,e))}throw Error("Unknown type, must be binary type")}}let ng=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t));var ny=Object.freeze({__proto__:null,sha256:np({name:"sha2-256",code:18,encode:ng("SHA-256")}),sha512:np({name:"sha2-512",code:19,encode:ng("SHA-512")})}),nm=Object.freeze({__proto__:null,identity:{code:0,name:"identity",encode:sB,digest:e=>nu(0,sB(e))}});new TextEncoder,new TextDecoder;let nb={...sZ,...sQ,...sX,...s0,...s1,...s9,...s7,...ne,...nr,...no};function nw(e,t,r,i){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:i}}}({...ny,...nm});let nv=nw("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),nE=nw("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{let t=function(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}((e=e.substring(1)).length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),nI={utf8:nv,"utf-8":nv,hex:nb.base16,latin1:nE,ascii:nE,binary:nE,...nb};var n_=Object.defineProperty,nD=(e,t,r)=>t in e?n_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,nS=(e,t,r)=>nD(e,"symbol"!=typeof t?t+"":t,r);class nP{constructor(e,t){this.core=e,this.logger=t,nS(this,"keychain",new Map),nS(this,"name","keychain"),nS(this,"version","0.3"),nS(this,"initialized",!1),nS(this,"storagePrefix",sh),nS(this,"init",async()=>{if(!this.initialized){let e=await this.getKeyChain();"u">typeof e&&(this.keychain=e),this.initialized=!0}}),nS(this,"has",e=>(this.isInitialized(),this.keychain.has(e))),nS(this,"set",async(e,t)=>{this.isInitialized(),this.keychain.set(e,t),await this.persist()}),nS(this,"get",e=>{this.isInitialized();let t=this.keychain.get(e);if(typeof t>"u"){let{message:t}=iE("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}),nS(this,"del",async e=>{this.isInitialized(),this.keychain.delete(e),await this.persist()}),this.core=e,this.logger=(0,iF.Ep)(t,this.name)}get context(){return(0,iF.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,U(e))}async getKeyChain(){let e=await this.core.storage.getItem(this.storageKey);return"u">typeof e?B(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}}var nO=Object.defineProperty,nx=(e,t,r)=>t in e?nO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,nC=(e,t,r)=>nx(e,"symbol"!=typeof t?t+"":t,r);class nA{constructor(e,t,r){this.core=e,this.logger=t,nC(this,"name","crypto"),nC(this,"keychain"),nC(this,"randomSessionIdentifier",rZ()),nC(this,"initialized",!1),nC(this,"init",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),nC(this,"hasKeys",e=>(this.isInitialized(),this.keychain.has(e))),nC(this,"getClientId",async()=>{this.isInitialized();let e=await this.getClientSeed(),t=u.Au(e);return u.bG(t.publicKey)}),nC(this,"generateKeyPair",()=>{this.isInitialized();let e=function(){let e=rL.utils.randomPrivateKey(),t=rL.getPublicKey(e);return{privateKey:(0,d.BB)(e,rW),publicKey:(0,d.BB)(t,rW)}}();return this.setPrivateKey(e.publicKey,e.privateKey)}),nC(this,"signJWT",async e=>{this.isInitialized();let t=await this.getClientSeed(),r=u.Au(t),i=this.randomSessionIdentifier;return await u.vf(i,e,sf,r)}),nC(this,"generateSharedKey",(e,t,r)=>{this.isInitialized();let i=function(e,t){let r=tC(tL,rL.getSharedSecret((0,d.mL)(e,rW),(0,d.mL)(t,rW)),void 0,void 0,32);return(0,d.BB)(r,rW)}(this.getPrivateKey(e),t);return this.setSymKey(i,r)}),nC(this,"setSymKey",async(e,t)=>{this.isInitialized();let r=t||rQ(e);return await this.keychain.set(r,e),r}),nC(this,"deleteKeyPair",async e=>{this.isInitialized(),await this.keychain.del(e)}),nC(this,"deleteSymKey",async e=>{this.isInitialized(),await this.keychain.del(e)}),nC(this,"encode",async(e,t,r)=>{this.isInitialized();let i=r4(r),s=(0,si.u)(t);if(2===i.type)return function(e,t){let r=r0(2),i=eb(12),s=r3({type:r,sealed:(0,d.mL)(e,rY),iv:i});return t===rG?r2(s):s}(s,r?.encoding);if(r6(i)){let t=i.senderPublicKey,r=i.receiverPublicKey;e=await this.generateSharedKey(t,r)}let n=this.getSymKey(e),{type:o,senderPublicKey:a}=i;return function(e){let t=r0("u">typeof e.type?e.type:0);if(1===r1(t)&&typeof e.senderPublicKey>"u")throw Error("Missing sender public key for type 1 envelope");let r="u">typeof e.senderPublicKey?(0,d.mL)(e.senderPublicKey,rW):void 0,i="u">typeof e.iv?(0,d.mL)(e.iv,rW):eb(12),s=r3({type:t,sealed:tD((0,d.mL)(e.symKey,rW),i).encrypt((0,d.mL)(e.message,rY)),iv:i,senderPublicKey:r});return e.encoding===rG?r2(s):s}({type:o,symKey:n,message:s,senderPublicKey:a,encoding:r?.encoding})}),nC(this,"decode",async(e,t,r)=>{this.isInitialized();let i=function(e,t){let r=r5({encoded:e,encoding:t?.encoding});return r4({type:r1(r.type),senderPublicKey:"u">typeof r.senderPublicKey?(0,d.BB)(r.senderPublicKey,rW):void 0,receiverPublicKey:t?.receiverPublicKey})}(t,r);if(2===i.type){let e=function(e,t){let{sealed:r}=r5({encoded:e,encoding:t});return(0,d.BB)(r,rY)}(t,r?.encoding);return(0,si.D)(e)}if(r6(i)){let t=i.receiverPublicKey,r=i.senderPublicKey;e=await this.generateSharedKey(t,r)}try{let i=this.getSymKey(e),s=function(e){let t=(0,d.mL)(e.symKey,rW),{sealed:r,iv:i}=r5({encoded:e.encoded,encoding:e.encoding}),s=tD(t,i).decrypt(r);if(null===s)throw Error("Failed to decrypt");return(0,d.BB)(s,rY)}({symKey:i,encoded:t,encoding:r?.encoding});return(0,si.D)(s)}catch(t){this.logger.error(`Failed to decode message from topic: '${e}', clientId: '${await this.getClientId()}'`),this.logger.error(t)}}),nC(this,"getPayloadType",(e,t=rJ)=>r1(r5({encoded:e,encoding:t}).type)),nC(this,"getPayloadSenderPublicKey",(e,t=rJ)=>{let r=r5({encoded:e,encoding:t});return r.senderPublicKey?(0,d.BB)(r.senderPublicKey,rW):void 0}),this.core=e,this.logger=(0,iF.Ep)(t,this.name),this.keychain=r||new nP(this.core,this.logger)}get context(){return(0,iF.Fd)(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(sp)}catch{e=rZ(),await this.keychain.set(sp,e)}return function(e,t="utf8"){let r=nI[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e,"utf8"):r.decoder.decode(`${r.prefix}${e}`)}(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}}var nR=Object.defineProperty,nN=Object.defineProperties,nT=Object.getOwnPropertyDescriptors,nj=Object.getOwnPropertySymbols,nL=Object.prototype.hasOwnProperty,nk=Object.prototype.propertyIsEnumerable,nU=(e,t,r)=>t in e?nR(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,nB=(e,t)=>{for(var r in t||(t={}))nL.call(t,r)&&nU(e,r,t[r]);if(nj)for(var r of nj(t))nk.call(t,r)&&nU(e,r,t[r]);return e},nq=(e,t)=>nN(e,nT(t)),n$=(e,t,r)=>nU(e,"symbol"!=typeof t?t+"":t,r);class nM extends iX{constructor(e,t){super(e,t),this.logger=e,this.core=t,n$(this,"messages",new Map),n$(this,"messagesWithoutClientAck",new Map),n$(this,"name","messages"),n$(this,"version","0.3"),n$(this,"initialized",!1),n$(this,"storagePrefix",sh),n$(this,"init",async()=>{if(!this.initialized){this.logger.trace("Initialized");try{let e=await this.getRelayerMessages();"u">typeof e&&(this.messages=e);let t=await this.getRelayerMessagesWithoutClientAck();"u">typeof t&&(this.messagesWithoutClientAck=t),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}finally{this.initialized=!0}}}),n$(this,"set",async(e,t,r)=>{this.isInitialized();let i=rX(t),s=this.messages.get(e);if(typeof s>"u"&&(s={}),"u">typeof s[i])return i;if(s[i]=t,this.messages.set(e,s),r===sE.inbound){let r=this.messagesWithoutClientAck.get(e)||{};this.messagesWithoutClientAck.set(e,nq(nB({},r),{[i]:t}))}return await this.persist(),i}),n$(this,"get",e=>{this.isInitialized();let t=this.messages.get(e);return typeof t>"u"&&(t={}),t}),n$(this,"getWithoutAck",e=>{this.isInitialized();let t={};for(let r of e){let e=this.messagesWithoutClientAck.get(r)||{};t[r]=Object.values(e)}return t}),n$(this,"has",(e,t)=>(this.isInitialized(),"u">typeof this.get(e)[rX(t)])),n$(this,"ack",async(e,t)=>{this.isInitialized();let r=this.messagesWithoutClientAck.get(e);if(typeof r>"u")return;let i=rX(t);delete r[i],0===Object.keys(r).length?this.messagesWithoutClientAck.delete(e):this.messagesWithoutClientAck.set(e,r),await this.persist()}),n$(this,"del",async e=>{this.isInitialized(),this.messages.delete(e),this.messagesWithoutClientAck.delete(e),await this.persist()}),this.logger=(0,iF.Ep)(e,this.name),this.core=t}get context(){return(0,iF.Fd)(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,U(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,U(e))}async getRelayerMessages(){let e=await this.core.storage.getItem(this.storageKey);return"u">typeof e?B(e):void 0}async getRelayerMessagesWithoutClientAck(){let e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return"u">typeof e?B(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}}var nz=Object.defineProperty,nF=Object.defineProperties,nH=Object.getOwnPropertyDescriptors,nV=Object.getOwnPropertySymbols,nK=Object.prototype.hasOwnProperty,nW=Object.prototype.propertyIsEnumerable,nJ=(e,t,r)=>t in e?nz(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,nG=(e,t)=>{for(var r in t||(t={}))nK.call(t,r)&&nJ(e,r,t[r]);if(nV)for(var r of nV(t))nW.call(t,r)&&nJ(e,r,t[r]);return e},nY=(e,t)=>nF(e,nH(t)),nZ=(e,t,r)=>nJ(e,"symbol"!=typeof t?t+"":t,r);class nQ extends i0{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,nZ(this,"events",new i.EventEmitter),nZ(this,"name","publisher"),nZ(this,"queue",new Map),nZ(this,"publishTimeout",(0,o.toMiliseconds)(o.ONE_MINUTE)),nZ(this,"initialPublishTimeout",(0,o.toMiliseconds)(15*o.ONE_SECOND)),nZ(this,"needsTransportRestart",!1),nZ(this,"publish",async(e,t,r)=>{var i;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:e,message:t,opts:r}});let s=r?.ttl||sg,n=r9(r),o=r?.prompt||!1,a=r?.tag||0,c=r?.id||(0,sn.getBigIntRpcId)().toString(),l={topic:e,message:t,opts:{ttl:s,relay:n,prompt:o,tag:a,id:c,attestation:r?.attestation,tvf:r?.tvf}},h=`Failed to publish payload, please try again. id:${c} tag:${a}`;try{let i=new Promise(async i=>{let n=({id:e})=>{l.opts.id===e&&(this.removeRequestFromQueue(e),this.relayer.events.removeListener(sm.publish,n),i(l))};this.relayer.events.on(sm.publish,n);let h=$(new Promise((i,n)=>{this.rpcPublish({topic:e,message:t,ttl:s,prompt:o,tag:a,id:c,attestation:r?.attestation,tvf:r?.tvf}).then(i).catch(e=>{this.logger.warn(e,e?.message),n(e)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${c} tag:${a}`);try{await h,this.events.removeListener(sm.publish,n)}catch(e){this.queue.set(c,nY(nG({},l),{attempt:1})),this.logger.warn(e,e?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:c,topic:e,message:t,opts:r}}),await $(i,this.publishTimeout,h)}catch(e){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(e),null!=(i=r?.internal)&&i.throwOnFailedPublish)throw e}finally{this.queue.delete(c)}}),nZ(this,"on",(e,t)=>{this.events.on(e,t)}),nZ(this,"once",(e,t)=>{this.events.once(e,t)}),nZ(this,"off",(e,t)=>{this.events.off(e,t)}),nZ(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.relayer=e,this.logger=(0,iF.Ep)(t,this.name),this.registerEventListeners()}get context(){return(0,iF.Fd)(this.logger)}async rpcPublish(e){var t,r,i,s;let{topic:n,message:o,ttl:a=sg,prompt:c,tag:l,id:h,attestation:u,tvf:d}=e,p={method:r7(r9().protocol).publish,params:nG({topic:n,message:o,ttl:a,prompt:c,tag:l,attestation:u},d),id:h};iS(null==(t=p.params)?void 0:t.prompt)&&(null==(r=p.params)||delete r.prompt),iS(null==(i=p.params)?void 0:i.tag)&&(null==(s=p.params)||delete s.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:p});let f=await this.relayer.request(p);return this.relayer.events.emit(sm.publish,e),this.logger.debug("Successfully Published Payload"),f}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{let r=e.attempt+1;this.queue.set(t,nY(nG({},e),{attempt:r}));let{topic:i,message:s,opts:n,attestation:o}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${r}`),await this.rpcPublish(nY(nG({},e),{topic:i,message:s,ttl:n.ttl,prompt:n.prompt,tag:n.tag,id:n.id,attestation:o,tvf:n.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(iM.Lx.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(sm.connection_stalled);return}this.checkQueue()}),this.relayer.on(sm.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var nX=Object.defineProperty,n0=(e,t,r)=>t in e?nX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,n1=(e,t,r)=>n0(e,"symbol"!=typeof t?t+"":t,r);class n2{constructor(){n1(this,"map",new Map),n1(this,"set",(e,t)=>{let r=this.get(e);this.exists(e,t)||this.map.set(e,[...r,t])}),n1(this,"get",e=>this.map.get(e)||[]),n1(this,"exists",(e,t)=>this.get(e).includes(t)),n1(this,"delete",(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;let r=this.get(e);if(!this.exists(e,t))return;let i=r.filter(e=>e!==t);if(!i.length){this.map.delete(e);return}this.map.set(e,i)}),n1(this,"clear",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var n8=Object.defineProperty,n3=Object.defineProperties,n5=Object.getOwnPropertyDescriptors,n4=Object.getOwnPropertySymbols,n6=Object.prototype.hasOwnProperty,n9=Object.prototype.propertyIsEnumerable,n7=(e,t,r)=>t in e?n8(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oe=(e,t)=>{for(var r in t||(t={}))n6.call(t,r)&&n7(e,r,t[r]);if(n4)for(var r of n4(t))n9.call(t,r)&&n7(e,r,t[r]);return e},ot=(e,t)=>n3(e,n5(t)),or=(e,t,r)=>n7(e,"symbol"!=typeof t?t+"":t,r);class oi extends i8{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,or(this,"subscriptions",new Map),or(this,"topicMap",new n2),or(this,"events",new i.EventEmitter),or(this,"name","subscription"),or(this,"version","0.3"),or(this,"pending",new Map),or(this,"cached",[]),or(this,"initialized",!1),or(this,"storagePrefix",sh),or(this,"subscribeTimeout",(0,o.toMiliseconds)(o.ONE_MINUTE)),or(this,"initialSubscribeTimeout",(0,o.toMiliseconds)(15*o.ONE_SECOND)),or(this,"clientId"),or(this,"batchSubscribeTopicsLimit",500),or(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),or(this,"subscribe",async(e,t)=>{this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:e,opts:t}});try{let r=r9(t),i={topic:e,relay:r,transportType:t?.transportType};this.pending.set(e,i);let s=await this.rpcSubscribe(e,r,t);return"string"==typeof s&&(this.onSubscribe(s,i),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:e,opts:t}})),s}catch(e){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(e),e}}),or(this,"unsubscribe",async(e,t)=>{this.isInitialized(),"u">typeof t?.id?await this.unsubscribeById(e,t.id,t):await this.unsubscribeByTopic(e,t)}),or(this,"isSubscribed",e=>new Promise(t=>{t(this.topicMap.topics.includes(e))})),or(this,"isKnownTopic",e=>new Promise(t=>{t(this.topicMap.topics.includes(e)||this.pending.has(e)||this.cached.some(t=>t.topic===e))})),or(this,"on",(e,t)=>{this.events.on(e,t)}),or(this,"once",(e,t)=>{this.events.once(e,t)}),or(this,"off",(e,t)=>{this.events.off(e,t)}),or(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),or(this,"start",async()=>{await this.onConnect()}),or(this,"stop",async()=>{await this.onDisconnect()}),or(this,"restart",async()=>{await this.restore(),await this.onRestart()}),or(this,"checkPending",async()=>{if(0===this.pending.size&&(!this.initialized||!this.relayer.connected))return;let e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}),or(this,"registerEventListeners",()=>{this.relayer.core.heartbeat.on(iM.Lx.pulse,async()=>{await this.checkPending()}),this.events.on(s_.created,async e=>{let t=s_.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(s_.deleted,async e=>{let t=s_.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}),this.relayer=e,this.logger=(0,iF.Ep)(t,this.name),this.clientId=""}get context(){return(0,iF.Fd)(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 r=!1;try{r=this.getSubscription(e).topic===t}catch{}return r}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){let r=this.topicMap.get(e);await Promise.all(r.map(async r=>await this.unsubscribeById(e,r,t)))}async unsubscribeById(e,t,r){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:r}});try{let i=r9(r);await this.restartToComplete({topic:e,id:t,relay:i}),await this.rpcUnsubscribe(e,t,i);let s=iI("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,s),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:r}})}catch(e){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(e),e}}async rpcSubscribe(e,t,r){var i;r&&r?.transportType!==sv.relay||await this.restartToComplete({topic:e,id:e,relay:t});let s={method:r7(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:s});let n=null==(i=r?.internal)?void 0:i.throwOnFailedPublish;try{let t=await this.getSubscriptionId(e);if(r?.transportType===sv.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(s).catch(e=>this.logger.warn(e))},(0,o.toMiliseconds)(o.ONE_SECOND)),t;let i=new Promise(async t=>{let r=i=>{i.topic===e&&(this.events.removeListener(s_.created,r),t(i.id))};this.events.on(s_.created,r);try{let i=await $(new Promise((e,t)=>{this.relayer.request(s).catch(e=>{this.logger.warn(e,e?.message),t(e)}).then(e)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(s_.created,r),t(i)}catch{}}),a=await $(i,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!a&&n)throw Error(`Subscribing to ${e} failed, please try again`);return a?t:null}catch(e){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(sm.connection_stalled),n)throw e}return null}async rpcBatchSubscribe(e){if(!e.length)return;let t={method:r7(e[0].relay.protocol).batchSubscribe,params:{topics:e.map(e=>e.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:t});try{await await $(new Promise(e=>{this.relayer.request(t).catch(e=>this.logger.warn(e)).then(e)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(sm.connection_stalled)}}async rpcBatchFetchMessages(e){let t;if(!e.length)return;let r={method:r7(e[0].relay.protocol).batchFetchMessages,params:{topics:e.map(e=>e.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:r});try{t=await await $(new Promise((e,t)=>{this.relayer.request(r).catch(e=>{this.logger.warn(e),t(e)}).then(e)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(sm.connection_stalled)}return t}rpcUnsubscribe(e,t,r){let i={method:r7(r.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i}),this.relayer.request(i)}onSubscribe(e,t){this.setSubscription(e,ot(oe({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(e=>{this.setSubscription(e.id,oe({},e)),this.pending.delete(e.topic)})}async onUnsubscribe(e,t,r){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,r),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,oe({},t)),this.topicMap.set(t.topic,e),this.events.emit(s_.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});let t=this.subscriptions.get(e);if(!t){let{message:t}=iE("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});let r=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(r.topic,e),this.events.emit(s_.deleted,ot(oe({},r),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(s_.sync)}async onRestart(){if(this.cached.length){let e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let r=0;r<t;r++){let t=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(t)}}this.events.emit(s_.resubscribed)}async restore(){try{let e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){let{message:e}=iE("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),Error(e)}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 e=>ot(oe({},e),{id:await this.getSubscriptionId(e.topic)})))))}async batchFetchMessages(e){var t;if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);let r=await this.rpcBatchFetchMessages(e);r&&r.messages&&(await (t=(0,o.toMiliseconds)(o.ONE_SECOND),new Promise(e=>setTimeout(e,t))),await this.relayer.handleBatchMessageEvents(r.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw 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 rX(e+await this.getClientId())}}var os=Object.defineProperty,on=Object.getOwnPropertySymbols,oo=Object.prototype.hasOwnProperty,oa=Object.prototype.propertyIsEnumerable,oc=(e,t,r)=>t in e?os(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ol=(e,t)=>{for(var r in t||(t={}))oo.call(t,r)&&oc(e,r,t[r]);if(on)for(var r of on(t))oa.call(t,r)&&oc(e,r,t[r]);return e},oh=(e,t,r)=>oc(e,"symbol"!=typeof t?t+"":t,r);class ou extends i1{constructor(e){super(e),oh(this,"protocol","wc"),oh(this,"version",2),oh(this,"core"),oh(this,"logger"),oh(this,"events",new i.EventEmitter),oh(this,"provider"),oh(this,"messages"),oh(this,"subscriber"),oh(this,"publisher"),oh(this,"name","relayer"),oh(this,"transportExplicitlyClosed",!1),oh(this,"initialized",!1),oh(this,"connectionAttemptInProgress",!1),oh(this,"relayUrl"),oh(this,"projectId"),oh(this,"packageName"),oh(this,"bundleId"),oh(this,"hasExperiencedNetworkDisruption",!1),oh(this,"pingTimeout"),oh(this,"heartBeatTimeout",(0,o.toMiliseconds)(o.THIRTY_SECONDS+o.FIVE_SECONDS)),oh(this,"reconnectTimeout"),oh(this,"connectPromise"),oh(this,"reconnectInProgress",!1),oh(this,"requestsInFlight",[]),oh(this,"connectTimeout",(0,o.toMiliseconds)(15*o.ONE_SECOND)),oh(this,"request",async e=>{var t,r;this.logger.debug("Publishing Request Payload");let i=e.id||(0,sn.getBigIntRpcId)().toString();await this.toEstablishConnection();try{this.logger.trace({id:i,method:e.method,topic:null==(t=e.params)?void 0:t.topic},"relayer.request - publishing...");let s=`${i}:${(null==(r=e.params)?void 0:r.tag)||""}`;this.requestsInFlight.push(s);let n=await this.provider.request(e);return this.requestsInFlight=this.requestsInFlight.filter(e=>e!==s),n}catch(e){throw this.logger.debug(`Failed to Publish Request: ${i}`),e}}),oh(this,"resetPingTimeout",()=>{C()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var e,t,r,i;try{this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),null==(i=null==(r=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:r.terminate)||i.call(r)}catch(e){this.logger.warn(e,e?.message)}},this.heartBeatTimeout))}),oh(this,"onPayloadHandler",e=>{this.onProviderPayload(e),this.resetPingTimeout()}),oh(this,"onConnectHandler",()=>{this.logger.warn({},"Relayer connected \uD83D\uDEDC"),this.startPingTimeout(),this.events.emit(sm.connect)}),oh(this,"onDisconnectHandler",()=>{this.logger.warn({},"Relayer disconnected \uD83D\uDED1"),this.requestsInFlight=[],this.onProviderDisconnect()}),oh(this,"onProviderErrorHandler",e=>{this.logger.fatal(`Fatal socket error: ${e.message}`),this.events.emit(sm.error,e),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()}),oh(this,"registerProviderListeners",()=>{this.provider.on(sb.payload,this.onPayloadHandler),this.provider.on(sb.connect,this.onConnectHandler),this.provider.on(sb.disconnect,this.onDisconnectHandler),this.provider.on(sb.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger="u">typeof e.logger&&"string"!=typeof e.logger?(0,iF.Ep)(e.logger,this.name):(0,iF.gw)((0,iF.jI)({level:e.logger||"error"})),this.messages=new nM(this.logger,e.core),this.subscriber=new oi(this,this.logger),this.publisher=new nQ(this,this.logger),this.relayUrl=e?.relayUrl||sy,this.projectId=e.projectId,A()&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Platform)&&(null==r.g?void 0:r.g.Platform.OS)==="android"?this.packageName=T():A()&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Platform)&&(null==r.g?void 0:r.g.Platform.OS)==="ios"&&(this.bundleId=T()),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(0,iF.Fd)(this.logger)}get connected(){var e,t,r;return(null==(r=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:r.readyState)===1}get connecting(){var e,t,r;return(null==(r=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:r.readyState)===0||void 0!==this.connectPromise}async publish(e,t,r){this.isInitialized(),await this.publisher.publish(e,t,r),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:sv.relay},sE.outbound)}async subscribe(e,t){var r,i,s;this.isInitialized(),null!=t&&t.transportType&&t?.transportType!=="relay"||await this.toEstablishConnection();let n=typeof(null==(r=t?.internal)?void 0:r.throwOnFailedPublish)>"u"||(null==(i=t?.internal)?void 0:i.throwOnFailedPublish),o=(null==(s=this.subscriber.topicMap.get(e))?void 0:s[0])||"",a,c=t=>{t.topic===e&&(this.subscriber.off(s_.created,c),a())};return await Promise.all([new Promise(e=>{a=e,this.subscriber.on(s_.created,c)}),new Promise(async(r,i)=>{o=await this.subscriber.subscribe(e,ol({internal:{throwOnFailedPublish:n}},t)).catch(e=>{n&&i(e)})||o,r()})]),o}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 $(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,r)=>{await this.connect(e).then(t).catch(r).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw 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 iU())throw 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}let t=e.sort((e,t)=>e.publishedAt-t.publishedAt);for(let e of(this.logger.debug(`Batch of ${t.length} message events sorted`),t))try{await this.onMessageEvent(e)}catch(e){this.logger.warn(e,"Error while processing batch message event: "+e?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){let{topic:r}=e;if(!t.sessionExists){let e=F(o.FIVE_MINUTES);await this.core.pairing.pairings.set(r,{topic:r,expiry:e,relay:{protocol:"irn"},active:!1})}this.events.emit(sm.message,e),await this.recordMessageEvent(e,sE.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(e,t)=>{let r=()=>{t(Error("Connection interrupted while trying to subscribe"))};this.provider.once(sb.disconnect,r),await $(new Promise((e,t)=>{this.provider.connect().then(e).catch(t)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(e=>{t(e)}).finally(()=>{this.provider.off(sb.disconnect,r),clearTimeout(this.reconnectTimeout)}),await new Promise(async(e,t)=>{let r=()=>{t(Error("Connection interrupted while trying to subscribe"))};this.provider.once(sb.disconnect,r),await this.subscriber.start().then(e).catch(t).finally(()=>{this.provider.off(sb.disconnect,r)})}),this.hasExperiencedNetworkDisruption=!1,e()})}catch(e){await this.subscriber.stop(),this.logger.warn({},e.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(e=>setTimeout(e,(0,o.toMiliseconds)(1*t))),t++}}startPingTimeout(){var e,t,r,i,s;if(C())try{null!=(t=null==(e=this.provider)?void 0:e.connection)&&t.socket&&(null==(s=null==(i=null==(r=this.provider)?void 0:r.connection)?void 0:i.socket)||s.on("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(e){this.logger.warn(e,e?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();let e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new ss.r(new so.Z(function({protocol:e,version:t,relayUrl:r,sdkVersion:i,auth:s,projectId:n,useOnCloseEvent:o,bundleId:a,packageName:c}){let l=r.split("?"),h=L(e,t,i),u=function(e,t){let r=new URLSearchParams(e);for(let e of Object.keys(t).sort())if(t.hasOwnProperty(e)){let i=t[e];void 0!==i&&r.set(e,i)}return r.toString()}(l[1]||"",{auth:s,ua:h,projectId:n,useOnCloseEvent:o||void 0,packageName:c||void 0,bundleId:a||void 0});return l[0]+"?"+u}({sdkVersion:sw,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){let{topic:r,message:i}=e;await this.messages.set(r,i,t)}async shouldIgnoreMessageEvent(e){let{topic:t,message:r}=e;if(!r||0===r.length)return this.logger.warn(`Ignoring invalid/empty message: ${r}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;let i=this.messages.has(t,r);return i&&this.logger.warn(`Ignoring duplicate message: ${r}`),i}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),(0,sn.isJsonRpcRequest)(e)){if(!e.method.endsWith("_subscription"))return;let t=e.params,{topic:r,message:i,publishedAt:s,attestation:n}=t.data,o={topic:r,message:i,publishedAt:s,transportType:sv.relay,attestation:n};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(ol({type:"event",event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else(0,sn.isJsonRpcResponse)(e)&&this.events.emit(sm.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,sE.inbound),this.events.emit(sm.message,e))}async acknowledgePayload(e){let t=(0,sn.formatJsonRpcResult)(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(sb.payload,this.onPayloadHandler),this.provider.off(sb.connect,this.onConnectHandler),this.provider.off(sb.disconnect,this.onDisconnectHandler),this.provider.off(sb.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await iU();(function(e){switch(N()){case x.browser:!A()&&R()&&(window.addEventListener("online",()=>e(!0)),window.addEventListener("offline",()=>e(!1)));break;case x.reactNative:A()&&"u">typeof r.g&&null!=r.g&&r.g.NetInfo&&r.g?.NetInfo.addEventListener(t=>e(t?.isConnected));case x.node:}})(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(e=>this.logger.error(e,e?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))}),this.core.heartbeat.on(iM.Lx.pulse,async()=>{var e;if(!this.transportExplicitlyClosed&&!this.connected&&(!(R()&&(0,a.getDocument)())||(null==(e=(0,a.getDocument)())?void 0:e.visibilityState)==="visible"))try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(sm.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},(0,o.toMiliseconds)(.1)))))}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectPromise){await this.connectPromise;return}await this.connect()}}}function od(){}function op(e){if(!e||"object"!=typeof e)return!1;let t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&"[object Object]"===Object.prototype.toString.call(e)}function of(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function og(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let oy="[object Arguments]",om="[object Object]";var ob=Object.defineProperty,ow=Object.getOwnPropertySymbols,ov=Object.prototype.hasOwnProperty,oE=Object.prototype.propertyIsEnumerable,oI=(e,t,r)=>t in e?ob(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,o_=(e,t)=>{for(var r in t||(t={}))ov.call(t,r)&&oI(e,r,t[r]);if(ow)for(var r of ow(t))oE.call(t,r)&&oI(e,r,t[r]);return e},oD=(e,t,r)=>oI(e,"symbol"!=typeof t?t+"":t,r);class oS extends i2{constructor(e,t,r,i=sh,s){super(e,t,r,i),this.core=e,this.logger=t,this.name=r,oD(this,"map",new Map),oD(this,"version","0.3"),oD(this,"cached",[]),oD(this,"initialized",!1),oD(this,"getKey"),oD(this,"storagePrefix",sh),oD(this,"recentlyDeleted",[]),oD(this,"recentlyDeletedLimit",200),oD(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>{var t;this.getKey&&null!==e&&!iS(e)?this.map.set(this.getKey(e),e):(null==(t=e?.proposer)?void 0:t.publicKey)?this.map.set(e.id,e):e?.topic&&this.map.set(e.topic,e)}),this.cached=[],this.initialized=!0)}),oD(this,"set",async(e,t)=>{this.isInitialized(),this.map.has(e)?await this.update(e,t):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:e,value:t}),this.map.set(e,t),await this.persist())}),oD(this,"get",e=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:e}),this.getData(e))),oD(this,"getAll",e=>(this.isInitialized(),e?this.values.filter(t=>Object.keys(e).every(r=>(function e(t,r,i,s,n,o,a){let c=a(t,r,i,s,n,o);if(void 0!==c)return c;if(typeof t==typeof r)switch(typeof t){case"bigint":case"string":case"boolean":case"symbol":case"undefined":case"function":return t===r;case"number":return t===r||Object.is(t,r)}return function t(r,i,s,n){if(Object.is(r,i))return!0;let o=og(r),a=og(i);if(o===oy&&(o=om),a===oy&&(a=om),o!==a)return!1;switch(o){case"[object String]":return r.toString()===i.toString();case"[object Number]":{let e=r.valueOf(),t=i.valueOf();return e===t||Number.isNaN(e)&&Number.isNaN(t)}case"[object Boolean]":case"[object Date]":case"[object Symbol]":return Object.is(r.valueOf(),i.valueOf());case"[object RegExp]":return r.source===i.source&&r.flags===i.flags;case"[object Function]":return r===i}let c=(s=s??new Map).get(r),l=s.get(i);if(null!=c&&null!=l)return c===i;s.set(r,i),s.set(i,r);try{switch(o){case"[object Map]":if(r.size!==i.size)return!1;for(let[t,o]of r.entries())if(!i.has(t)||!e(o,i.get(t),t,r,i,s,n))return!1;return!0;case"[object Set]":{if(r.size!==i.size)return!1;let t=Array.from(r.values()),o=Array.from(i.values());for(let a=0;a<t.length;a++){let c=t[a],l=o.findIndex(t=>e(c,t,void 0,r,i,s,n));if(-1===l)return!1;o.splice(l,1)}return!0}case"[object Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":case"[object BigUint64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object BigInt64Array]":case"[object Float32Array]":case"[object Float64Array]":if("u">typeof sa&&sa.isBuffer(r)!==sa.isBuffer(i)||r.length!==i.length)return!1;for(let t=0;t<r.length;t++)if(!e(r[t],i[t],t,r,i,s,n))return!1;return!0;case"[object ArrayBuffer]":return r.byteLength===i.byteLength&&t(new Uint8Array(r),new Uint8Array(i),s,n);case"[object DataView]":return r.byteLength===i.byteLength&&r.byteOffset===i.byteOffset&&t(new Uint8Array(r),new Uint8Array(i),s,n);case"[object Error]":return r.name===i.name&&r.message===i.message;case om:{if(!(t(r.constructor,i.constructor,s,n)||op(r)&&op(i)))return!1;let o=[...Object.keys(r),...of(r)],a=[...Object.keys(i),...of(i)];if(o.length!==a.length)return!1;for(let t=0;t<o.length;t++){let a=o[t],c=r[a];if(!Object.hasOwn(i,a))return!1;let l=i[a];if(!e(c,l,a,r,i,s,n))return!1}return!0}default:return!1}}finally{s.delete(r),s.delete(i)}}(t,r,o,a)})(t[r],e[r],void 0,void 0,void 0,void 0,od))):this.values)),oD(this,"update",async(e,t)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:e,update:t});let r=o_(o_({},this.getData(e)),t);this.map.set(e,r),await this.persist()}),oD(this,"delete",async(e,t)=>{this.isInitialized(),this.map.has(e)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:e,reason:t}),this.map.delete(e),this.addToRecentlyDeleted(e),await this.persist())}),this.logger=(0,iF.Ep)(t,this.name),this.storagePrefix=i,this.getKey=s}get context(){return(0,iF.Fd)(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){let t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){let{message:t}=iE("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(t),Error(t)}let{message:t}=iE("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(t),Error(t)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{let e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){let{message:e}=iE("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),Error(e)}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){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}}var oP=Object.defineProperty,oO=(e,t,r)=>t in e?oP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ox=(e,t,r)=>oO(e,"symbol"!=typeof t?t+"":t,r);class oC{constructor(e,t){this.core=e,this.logger=t,ox(this,"name","pairing"),ox(this,"version","0.3"),ox(this,"events",new(s())),ox(this,"pairings"),ox(this,"initialized",!1),ox(this,"storagePrefix",sh),ox(this,"ignoredPayloadTypes",[1]),ox(this,"registeredMethods",[]),ox(this,"init",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))}),ox(this,"register",({methods:e})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...e])]}),ox(this,"create",async e=>{this.isInitialized();let t=rZ(),r=await this.core.crypto.setSymKey(t),i=F(o.FIVE_MINUTES),s={protocol:"irn"},n={topic:r,expiry:i,relay:s,active:!1,methods:e?.methods},a=it({protocol:this.core.protocol,version:this.core.version,topic:r,symKey:t,relay:s,expiryTimestamp:i,methods:e?.methods});return this.events.emit(sS.create,n),this.core.expirer.set(r,i),await this.pairings.set(r,n),await this.core.relayer.subscribe(r,{transportType:e?.transportType}),{topic:r,uri:a}}),ox(this,"pair",async e=>{let t;this.isInitialized();let r=this.core.eventClient.createEvent({properties:{topic:e?.uri,trace:[sR.pairing_started]}});this.isValidPair(e,r);let{topic:i,symKey:s,relay:n,expiryTimestamp:a,methods:c}=ie(e.uri);if(r.props.properties.topic=i,r.addTrace(sR.pairing_uri_validation_success),r.addTrace(sR.pairing_uri_not_expired),this.pairings.keys.includes(i)){if(t=this.pairings.get(i),r.addTrace(sR.existing_pairing),t.active)throw r.setError(sN.active_pairing_already_exists),Error(`Pairing already exists: ${i}. Please try again with a new connection URI.`);r.addTrace(sR.pairing_not_expired)}let l=a||F(o.FIVE_MINUTES),h={topic:i,relay:n,expiry:l,active:!1,methods:c};this.core.expirer.set(i,l),await this.pairings.set(i,h),r.addTrace(sR.store_new_pairing),e.activatePairing&&await this.activate({topic:i}),this.events.emit(sS.create,h),r.addTrace(sR.emit_inactive_pairing),this.core.crypto.keychain.has(i)||await this.core.crypto.setSymKey(s,i),r.addTrace(sR.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{r.setError(sN.no_internet_connection)}try{await this.core.relayer.subscribe(i,{relay:n})}catch(e){throw r.setError(sN.subscribe_pairing_topic_failure),e}return r.addTrace(sR.subscribe_pairing_topic_success),h}),ox(this,"activate",async({topic:e})=>{this.isInitialized();let t=F(o.FIVE_MINUTES);this.core.expirer.set(e,t),await this.pairings.update(e,{active:!0,expiry:t})}),ox(this,"ping",async e=>{this.isInitialized(),await this.isValidPing(e),this.logger.warn("ping() is deprecated and will be removed in the next major release.");let{topic:t}=e;if(this.pairings.keys.includes(t)){let e=await this.sendRequest(t,"wc_pairingPing",{}),{done:r,resolve:i,reject:s}=q();this.events.once(V("pairing_ping",e),({error:e})=>{e?s(e):i()}),await r()}}),ox(this,"updateExpiry",async({topic:e,expiry:t})=>{this.isInitialized(),await this.pairings.update(e,{expiry:t})}),ox(this,"updateMetadata",async({topic:e,metadata:t})=>{this.isInitialized(),await this.pairings.update(e,{peerMetadata:t})}),ox(this,"getPairings",()=>(this.isInitialized(),this.pairings.values)),ox(this,"disconnect",async e=>{this.isInitialized(),await this.isValidDisconnect(e);let{topic:t}=e;this.pairings.keys.includes(t)&&(await this.sendRequest(t,"wc_pairingDelete",iI("USER_DISCONNECTED")),await this.deletePairing(t))}),ox(this,"formatUriFromPairing",e=>{this.isInitialized();let{topic:t,relay:r,expiry:i,methods:s}=e,n=this.core.crypto.keychain.get(t);return it({protocol:this.core.protocol,version:this.core.version,topic:t,symKey:n,relay:r,expiryTimestamp:i,methods:s})}),ox(this,"sendRequest",async(e,t,r)=>{let i=(0,sn.formatJsonRpcRequest)(t,r),s=await this.core.crypto.encode(e,i),n=sD[t].req;return this.core.history.set(e,i),this.core.relayer.publish(e,s,n),i.id}),ox(this,"sendResult",async(e,t,r)=>{let i=(0,sn.formatJsonRpcResult)(e,r),s=await this.core.crypto.encode(t,i),n=sD[(await this.core.history.get(t,e)).request.method].res;await this.core.relayer.publish(t,s,n),await this.core.history.resolve(i)}),ox(this,"sendError",async(e,t,r)=>{let i=(0,sn.formatJsonRpcError)(e,r),s=await this.core.crypto.encode(t,i),n=(await this.core.history.get(t,e)).request.method,o=sD[n]?sD[n].res:sD.unregistered_method.res;await this.core.relayer.publish(t,s,o),await this.core.history.resolve(i)}),ox(this,"deletePairing",async(e,t)=>{await this.core.relayer.unsubscribe(e),await Promise.all([this.pairings.delete(e,iI("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(e),t?Promise.resolve():this.core.expirer.del(e)])}),ox(this,"cleanup",async()=>{let e=this.pairings.getAll().filter(e=>H(e.expiry));await Promise.all(e.map(e=>this.deletePairing(e.topic)))}),ox(this,"onRelayEventRequest",async e=>{let{topic:t,payload:r}=e;switch(r.method){case"wc_pairingPing":return await this.onPairingPingRequest(t,r);case"wc_pairingDelete":return await this.onPairingDeleteRequest(t,r);default:return await this.onUnknownRpcMethodRequest(t,r)}}),ox(this,"onRelayEventResponse",async e=>{let{topic:t,payload:r}=e,i=(await this.core.history.get(t,r.id)).request.method;return"wc_pairingPing"===i?this.onPairingPingResponse(t,r):this.onUnknownRpcMethodResponse(i)}),ox(this,"onPairingPingRequest",async(e,t)=>{let{id:r}=t;try{this.isValidPing({topic:e}),await this.sendResult(r,e,!0),this.events.emit(sS.ping,{id:r,topic:e})}catch(t){await this.sendError(r,e,t),this.logger.error(t)}}),ox(this,"onPairingPingResponse",(e,t)=>{let{id:r}=t;setTimeout(()=>{(0,sn.isJsonRpcResult)(t)?this.events.emit(V("pairing_ping",r),{}):(0,sn.isJsonRpcError)(t)&&this.events.emit(V("pairing_ping",r),{error:t.error})},500)}),ox(this,"onPairingDeleteRequest",async(e,t)=>{let{id:r}=t;try{this.isValidDisconnect({topic:e}),await this.deletePairing(e),this.events.emit(sS.delete,{id:r,topic:e})}catch(t){await this.sendError(r,e,t),this.logger.error(t)}}),ox(this,"onUnknownRpcMethodRequest",async(e,t)=>{let{id:r,method:i}=t;try{if(this.registeredMethods.includes(i))return;let t=iI("WC_METHOD_UNSUPPORTED",i);await this.sendError(r,e,t),this.logger.error(t)}catch(t){await this.sendError(r,e,t),this.logger.error(t)}}),ox(this,"onUnknownRpcMethodResponse",e=>{this.registeredMethods.includes(e)||this.logger.error(iI("WC_METHOD_UNSUPPORTED",e))}),ox(this,"isValidPair",(e,t)=>{var r;if(!iT(e)){let{message:r}=iE("MISSING_OR_INVALID",`pair() params: ${e}`);throw t.setError(sN.malformed_pairing_uri),Error(r)}if(!function(e){function t(e){try{return"u">typeof new URL(e)}catch{return!1}}try{if(iP(e,!1)){if(t(e))return!0;let r=Q(e);return t(r)}}catch{}return!1}(e.uri)){let{message:r}=iE("MISSING_OR_INVALID",`pair() uri: ${e.uri}`);throw t.setError(sN.malformed_pairing_uri),Error(r)}let i=ie(e?.uri);if(!(null!=(r=i?.relay)&&r.protocol)){let{message:e}=iE("MISSING_OR_INVALID","pair() uri#relay-protocol");throw t.setError(sN.malformed_pairing_uri),Error(e)}if(!(null!=i&&i.symKey)){let{message:e}=iE("MISSING_OR_INVALID","pair() uri#symKey");throw t.setError(sN.malformed_pairing_uri),Error(e)}if(null!=i&&i.expiryTimestamp&&(0,o.toMiliseconds)(i?.expiryTimestamp)<Date.now()){t.setError(sN.pairing_expired);let{message:e}=iE("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw Error(e)}}),ox(this,"isValidPing",async e=>{if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),ox(this,"isValidDisconnect",async e=>{if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),ox(this,"isValidPairingTopic",async e=>{if(!iP(e,!1)){let{message:t}=iE("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.pairings.keys.includes(e)){let{message:t}=iE("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw Error(t)}if(H(this.pairings.get(e).expiry)){await this.deletePairing(e);let{message:t}=iE("EXPIRED",`pairing topic: ${e}`);throw Error(t)}}),this.core=e,this.logger=(0,iF.Ep)(t,this.name),this.pairings=new oS(this.core,this.logger,this.name,this.storagePrefix)}get context(){return(0,iF.Fd)(this.logger)}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}registerRelayerEvents(){this.core.relayer.on(sm.message,async e=>{let{topic:t,message:r,transportType:i}=e;if(this.pairings.keys.includes(t)&&i!==sv.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(r)))try{let e=await this.core.crypto.decode(t,r);(0,sn.isJsonRpcRequest)(e)?(this.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e})):(0,sn.isJsonRpcResponse)(e)&&(await this.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e}),this.core.history.delete(t,e.id)),await this.core.relayer.messages.ack(t,r)}catch(e){this.logger.error(e)}})}registerExpirerEvents(){this.core.expirer.on(sO.expired,async e=>{let{topic:t}=z(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(sS.expire,{topic:t}))})}}var oA=Object.defineProperty,oR=(e,t,r)=>t in e?oA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oN=(e,t,r)=>oR(e,"symbol"!=typeof t?t+"":t,r);class oT extends iQ{constructor(e,t){super(e,t),this.core=e,this.logger=t,oN(this,"records",new Map),oN(this,"events",new i.EventEmitter),oN(this,"name","history"),oN(this,"version","0.3"),oN(this,"cached",[]),oN(this,"initialized",!1),oN(this,"storagePrefix",sh),oN(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>this.records.set(e.id,e)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),oN(this,"set",(e,t,r)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:e,request:t,chainId:r}),this.records.has(t.id))return;let i={id:t.id,topic:e,request:{method:t.method,params:t.params||null},chainId:r,expiry:F(o.THIRTY_DAYS)};this.records.set(i.id,i),this.persist(),this.events.emit(sP.created,i)}),oN(this,"resolve",async e=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:e}),!this.records.has(e.id))return;let t=await this.getRecord(e.id);typeof t.response>"u"&&(t.response=(0,sn.isJsonRpcError)(e)?{error:e.error}:{result:e.result},this.records.set(t.id,t),this.persist(),this.events.emit(sP.updated,t))}),oN(this,"get",async(e,t)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:e,id:t}),await this.getRecord(t))),oN(this,"delete",(e,t)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:t}),this.values.forEach(r=>{r.topic!==e||"u">typeof t&&r.id!==t||(this.records.delete(r.id),this.events.emit(sP.deleted,r))}),this.persist()}),oN(this,"exists",async(e,t)=>(this.isInitialized(),!!this.records.has(t)&&(await this.getRecord(t)).topic===e)),oN(this,"on",(e,t)=>{this.events.on(e,t)}),oN(this,"once",(e,t)=>{this.events.once(e,t)}),oN(this,"off",(e,t)=>{this.events.off(e,t)}),oN(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.logger=(0,iF.Ep)(t,this.name)}get context(){return(0,iF.Fd)(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(){let e=[];return this.values.forEach(t=>{if("u">typeof t.response)return;let r={topic:t.topic,request:(0,sn.formatJsonRpcRequest)(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(r)}),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();let t=this.records.get(e);if(!t){let{message:t}=iE("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(sP.sync)}async restore(){try{let e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){let{message:e}=iE("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),Error(e)}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(sP.created,e=>{let t=sP.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(sP.updated,e=>{let t=sP.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(sP.deleted,e=>{let t=sP.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(iM.Lx.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{(0,o.toMiliseconds)(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(sP.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}}var oj=Object.defineProperty,oL=(e,t,r)=>t in e?oj(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ok=(e,t,r)=>oL(e,"symbol"!=typeof t?t+"":t,r);class oU extends i3{constructor(e,t){super(e,t),this.core=e,this.logger=t,ok(this,"expirations",new Map),ok(this,"events",new i.EventEmitter),ok(this,"name","expirer"),ok(this,"version","0.3"),ok(this,"cached",[]),ok(this,"initialized",!1),ok(this,"storagePrefix",sh),ok(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>this.expirations.set(e.target,e)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),ok(this,"has",e=>{try{let t=this.formatTarget(e);return"u">typeof this.getExpiration(t)}catch{return!1}}),ok(this,"set",(e,t)=>{this.isInitialized();let r=this.formatTarget(e),i={target:r,expiry:t};this.expirations.set(r,i),this.checkExpiry(r,i),this.events.emit(sO.created,{target:r,expiration:i})}),ok(this,"get",e=>{this.isInitialized();let t=this.formatTarget(e);return this.getExpiration(t)}),ok(this,"del",e=>{if(this.isInitialized(),this.has(e)){let t=this.formatTarget(e),r=this.getExpiration(t);this.expirations.delete(t),this.events.emit(sO.deleted,{target:t,expiration:r})}}),ok(this,"on",(e,t)=>{this.events.on(e,t)}),ok(this,"once",(e,t)=>{this.events.once(e,t)}),ok(this,"off",(e,t)=>{this.events.off(e,t)}),ok(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.logger=(0,iF.Ep)(t,this.name)}get context(){return(0,iF.Fd)(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("string"==typeof e)return M("topic",e);if("number"==typeof e)return M("id",e);let{message:t}=iE("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw 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(sO.sync)}async restore(){try{let e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){let{message:e}=iE("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),Error(e)}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){let t=this.expirations.get(e);if(!t){let{message:t}=iE("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(t),Error(t)}return t}checkExpiry(e,t){let{expiry:r}=t;(0,o.toMiliseconds)(r)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(sO.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(iM.Lx.pulse,()=>this.checkExpirations()),this.events.on(sO.created,e=>{let t=sO.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(sO.expired,e=>{let t=sO.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(sO.deleted,e=>{let t=sO.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}}var oB=Object.defineProperty,oq=(e,t,r)=>t in e?oB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,o$=(e,t,r)=>oq(e,"symbol"!=typeof t?t+"":t,r);class oM extends i5{constructor(e,t,r){super(e,t,r),this.core=e,this.logger=t,this.store=r,o$(this,"name","verify-api"),o$(this,"abortController"),o$(this,"isDevEnv"),o$(this,"verifyUrlV3",sC),o$(this,"storagePrefix",sh),o$(this,"version",2),o$(this,"publicKey"),o$(this,"fetchPromise"),o$(this,"init",async()=>{var e;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&(0,o.toMiliseconds)(null==(e=this.publicKey)?void 0:e.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))}),o$(this,"register",async e=>{if(!R()||this.isDevEnv)return;let t=window.location.origin,{id:r,decryptedId:i}=e,s=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${t}&id=${r}&decryptedId=${i}`;try{let e=(0,a.getDocument)(),t=this.startAbortTimer(5*o.ONE_SECOND),i=await new Promise((i,n)=>{let o=()=>{window.removeEventListener("message",c),e.body.removeChild(a),n("attestation aborted")};this.abortController.signal.addEventListener("abort",o);let a=e.createElement("iframe");a.src=s,a.style.display="none",a.addEventListener("error",o,{signal:this.abortController.signal});let c=s=>{if(s.data&&"string"==typeof s.data)try{let n=JSON.parse(s.data);if("verify_attestation"===n.type){if((0,u.xp)(n.attestation).payload.id!==r)return;clearInterval(t),e.body.removeChild(a),this.abortController.signal.removeEventListener("abort",o),window.removeEventListener("message",c),i(null===n.attestation?"":n.attestation)}}catch(e){this.logger.warn(e)}};e.body.appendChild(a),window.addEventListener("message",c,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",i),i}catch(e){this.logger.warn(e)}return""}),o$(this,"resolve",async e=>{if(this.isDevEnv)return"";let{attestationId:t,hash:r,encryptedId:i}=e;if(""===t){this.logger.debug("resolve: attestationId is empty, skipping");return}if(t){if((0,u.xp)(t).payload.id!==i)return;let e=await this.isValidJwtAttestation(t);if(e){if(!e.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return e}}if(!r)return;let s=this.getVerifyUrl(e?.verifyUrl);return this.fetchAttestation(r,s)}),o$(this,"fetchAttestation",async(e,t)=>{this.logger.debug(`resolving attestation: ${e} from url: ${t}`);let r=this.startAbortTimer(5*o.ONE_SECOND),i=await fetch(`${t}/attestation/${e}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(r),200===i.status?await i.json():void 0}),o$(this,"getVerifyUrl",e=>{let t=e||sx;return sA.includes(t)||(this.logger.info(`verify url: ${t}, not included in trusted list, assigning default: ${sx}`),t=sx),t}),o$(this,"fetchPublicKey",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);let e=this.startAbortTimer(o.FIVE_SECONDS),t=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(e),await t.json()}catch(e){this.logger.warn(e)}}),o$(this,"persistPublicKey",async e=>{this.logger.debug("persisting public key to local storage",e),await this.store.setItem(this.storeKey,e),this.publicKey=e}),o$(this,"removePublicKey",async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),o$(this,"isValidJwtAttestation",async e=>{let t=await this.getPublicKey();try{if(t)return this.validateAttestation(e,t)}catch(e){this.logger.error(e),this.logger.warn("error validating attestation")}let r=await this.fetchAndPersistPublicKey();try{if(r)return this.validateAttestation(e,r)}catch(e){this.logger.error(e),this.logger.warn("error validating attestation")}}),o$(this,"getPublicKey",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),o$(this,"fetchAndPersistPublicKey",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async e=>{let t=await this.fetchPublicKey();t&&(await this.persistPublicKey(t),e(t))});let e=await this.fetchPromise;return this.fetchPromise=void 0,e}),o$(this,"validateAttestation",(e,t)=>{let r=function(e,t){let[r,i,s]=e.split("."),n=g.from(r8(s),"base64");if(64!==n.length)throw Error("Invalid signature length");let o=n.slice(0,32),a=n.slice(32,64),c=tL(`${r}.${i}`),l=function(e){let t=g.from(e.x,"base64"),r=g.from(e.y,"base64");return(0,d.zo)([new Uint8Array([4]),t,r])}(t);if(!rV.verify((0,d.zo)([o,a]),c,l))throw Error("Invalid signature");return(0,u.xp)(e).payload}(e,t.publicKey),i={hasExpired:(0,o.toMiliseconds)(r.exp)<Date.now(),payload:r};if(i.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),Error("JWT attestation expired");return{origin:i.payload.origin,isScam:i.payload.isScam,isVerified:i.payload.isVerified}}),this.logger=(0,iF.Ep)(t,this.name),this.abortController=new AbortController,this.isDevEnv=Z(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return(0,iF.Fd)(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),(0,o.toMiliseconds)(e))}}var oz=Object.defineProperty,oF=(e,t,r)=>t in e?oz(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oH=(e,t,r)=>oF(e,"symbol"!=typeof t?t+"":t,r);class oV extends i4{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,oH(this,"context","echo"),oH(this,"registerDeviceToken",async e=>{let{clientId:t,token:r,notificationType:i,enableEncrypted:s=!1}=e,n=`https://echo.walletconnect.com/${this.projectId}/clients`;await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:t,type:i,token:r,always_raw:s})})}),this.logger=(0,iF.Ep)(t,this.context)}}var oK=Object.defineProperty,oW=Object.getOwnPropertySymbols,oJ=Object.prototype.hasOwnProperty,oG=Object.prototype.propertyIsEnumerable,oY=(e,t,r)=>t in e?oK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oZ=(e,t)=>{for(var r in t||(t={}))oJ.call(t,r)&&oY(e,r,t[r]);if(oW)for(var r of oW(t))oG.call(t,r)&&oY(e,r,t[r]);return e},oQ=(e,t,r)=>oY(e,"symbol"!=typeof t?t+"":t,r);class oX extends i6{constructor(e,t,r=!0){super(e,t,r),this.core=e,this.logger=t,oQ(this,"context","event-client"),oQ(this,"storagePrefix",sh),oQ(this,"storageVersion",.1),oQ(this,"events",new Map),oQ(this,"shouldPersist",!1),oQ(this,"init",async()=>{if(!Z())try{let e={eventId:Y(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:L(this.core.relayer.protocol,this.core.relayer.version,sw)}}};await this.sendEvent([e])}catch(e){this.logger.warn(e)}}),oQ(this,"createEvent",e=>{let{event:t="ERROR",type:r="",properties:{topic:i,trace:s}}=e,n=Y(),o=this.core.projectId||"",a=oZ({eventId:n,timestamp:Date.now(),props:{event:t,type:r,properties:{topic:i,trace:s}},bundleId:o,domain:this.getAppDomain()},this.setMethods(n));return this.telemetryEnabled&&(this.events.set(n,a),this.shouldPersist=!0),a}),oQ(this,"getEvent",e=>{let{eventId:t,topic:r}=e;if(t)return this.events.get(t);let i=Array.from(this.events.values()).find(e=>e.props.properties.topic===r);if(i)return oZ(oZ({},i),this.setMethods(i.eventId))}),oQ(this,"deleteEvent",e=>{let{eventId:t}=e;this.events.delete(t),this.shouldPersist=!0}),oQ(this,"setEventListeners",()=>{this.core.heartbeat.on(iM.Lx.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(e=>{(0,o.fromMiliseconds)(Date.now())-(0,o.fromMiliseconds)(e.timestamp)>86400&&(this.events.delete(e.eventId),this.shouldPersist=!0)})})}),oQ(this,"setMethods",e=>({addTrace:t=>this.addTrace(e,t),setError:t=>this.setError(e,t)})),oQ(this,"addTrace",(e,t)=>{let r=this.events.get(e);r&&(r.props.properties.trace.push(t),this.events.set(e,r),this.shouldPersist=!0)}),oQ(this,"setError",(e,t)=>{let r=this.events.get(e);r&&(r.props.type=t,r.timestamp=Date.now(),this.events.set(e,r),this.shouldPersist=!0)}),oQ(this,"persist",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),oQ(this,"restore",async()=>{try{let e=await this.core.storage.getItem(this.storageKey)||[];if(!e.length)return;e.forEach(e=>{this.events.set(e.eventId,oZ(oZ({},e),this.setMethods(e.eventId)))})}catch(e){this.logger.warn(e)}}),oQ(this,"submit",async()=>{if(!this.telemetryEnabled||0===this.events.size)return;let e=[];for(let[t,r]of this.events)r.props.type&&e.push(r);if(0!==e.length)try{if((await this.sendEvent(e)).ok)for(let t of e)this.events.delete(t.eventId),this.shouldPersist=!0}catch(e){this.logger.warn(e)}}),oQ(this,"sendEvent",async e=>{let t=this.getAppDomain()?"":"&sp=desktop";return await fetch(`https://pulse.walletconnect.org/batch?projectId=${this.core.projectId}&st=events_sdk&sv=js-${sw}${t}`,{method:"POST",body:JSON.stringify(e)})}),oQ(this,"getAppDomain",()=>j().url),this.logger=(0,iF.Ep)(t,this.context),this.telemetryEnabled=r,r?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var o0=Object.defineProperty,o1=Object.getOwnPropertySymbols,o2=Object.prototype.hasOwnProperty,o8=Object.prototype.propertyIsEnumerable,o3=(e,t,r)=>t in e?o0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,o5=(e,t)=>{for(var r in t||(t={}))o2.call(t,r)&&o3(e,r,t[r]);if(o1)for(var r of o1(t))o8.call(t,r)&&o3(e,r,t[r]);return e},o4=(e,t,r)=>o3(e,"symbol"!=typeof t?t+"":t,r);class o6 extends iJ{constructor(e){var t;super(e),o4(this,"protocol","wc"),o4(this,"version",2),o4(this,"name",sl),o4(this,"relayUrl"),o4(this,"projectId"),o4(this,"customStoragePrefix"),o4(this,"events",new i.EventEmitter),o4(this,"logger"),o4(this,"heartbeat"),o4(this,"relayer"),o4(this,"crypto"),o4(this,"storage"),o4(this,"history"),o4(this,"expirer"),o4(this,"pairing"),o4(this,"verify"),o4(this,"echoClient"),o4(this,"linkModeSupportedApps"),o4(this,"eventClient"),o4(this,"initialized",!1),o4(this,"logChunkController"),o4(this,"on",(e,t)=>this.events.on(e,t)),o4(this,"once",(e,t)=>this.events.once(e,t)),o4(this,"off",(e,t)=>this.events.off(e,t)),o4(this,"removeListener",(e,t)=>this.events.removeListener(e,t)),o4(this,"dispatchEnvelope",({topic:e,message:t,sessionExists:r})=>{if(!e||!t)return;let i={topic:e,message:t,publishedAt:Date.now(),transportType:sv.link_mode};this.relayer.onLinkMessageEvent(i,{sessionExists:r})});let r=this.getGlobalCore(e?.customStoragePrefix);if(r)try{return this.customStoragePrefix=r.customStoragePrefix,this.logger=r.logger,this.heartbeat=r.heartbeat,this.crypto=r.crypto,this.history=r.history,this.expirer=r.expirer,this.storage=r.storage,this.relayer=r.relayer,this.pairing=r.pairing,this.verify=r.verify,this.echoClient=r.echoClient,this.linkModeSupportedApps=r.linkModeSupportedApps,this.eventClient=r.eventClient,this.initialized=r.initialized,this.logChunkController=r.logChunkController,r}catch(e){console.warn("Failed to copy global core",e)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||sy,this.customStoragePrefix=null!=e&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";let s=(0,iF.jI)({level:"string"==typeof e?.logger&&e.logger?e.logger:su.logger,name:sl}),{logger:n,chunkLoggerController:o}=(0,iF.Rt)({opts:s,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=o,null!=(t=this.logChunkController)&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var e,t;null!=(e=this.logChunkController)&&e.downloadLogsBlobInBrowser&&(null==(t=this.logChunkController)||t.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=(0,iF.Ep)(n,this.name),this.heartbeat=new iM.C$,this.crypto=new nA(this,this.logger,e?.keychain),this.history=new oT(this,this.logger),this.expirer=new oU(this,this.logger),this.storage=null!=e&&e.storage?e.storage:new iz.Z(o5(o5({},sd),e?.storageOptions)),this.relayer=new ou({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new oC(this,this.logger),this.verify=new oM(this,this.logger,this.storage),this.echoClient=new oV(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new oX(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(e){let t=new o6(e);await t.initialize();let r=await t.crypto.getClientId();return await t.storage.setItem("WALLETCONNECT_CLIENT_ID",r),t}get context(){return(0,iF.Fd)(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return null==(e=this.logChunkController)?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(sI,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(sI)||[],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;let t=`_walletConnectCore_${e}`,r=`${t}_count`;return globalThis[r]=(globalThis[r]||0)+1,globalThis[r]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[r]} times.`),globalThis[t]}catch(e){console.warn("Failed to get global WalletConnect core",e);return}}setGlobalCore(e){var t;try{if(this.isGlobalCoreDisabled())return;let r=`_walletConnectCore_${(null==(t=e.opts)?void 0:t.customStoragePrefix)||""}`;globalThis[r]=e}catch(e){console.warn("Failed to set global WalletConnect core",e)}}isGlobalCoreDisabled(){try{return"u">typeof sc&&"true"===sc.env.DISABLE_GLOBAL_CORE}catch{return!0}}}let o9="client",o7=`wc@2:${o9}:`,ae={name:o9,logger:"error"},at="WALLETCONNECT_DEEPLINK_CHOICE",ar="Proposal expired",ai=o.SEVEN_DAYS,as={wc_sessionPropose:{req:{ttl:o.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1104},res:{ttl:o.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1106},res:{ttl:o.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:o.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:o.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1112},res:{ttl:o.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1114},res:{ttl:o.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:o.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:o.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1119}}},an={min:o.FIVE_MINUTES,max:o.SEVEN_DAYS},ao={idle:"IDLE",active:"ACTIVE"},aa={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"}},ac=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],al="wc@1.5:auth:",ah=`${al}:PUB_KEY`;var au=Object.defineProperty,ad=Object.defineProperties,ap=Object.getOwnPropertyDescriptors,af=Object.getOwnPropertySymbols,ag=Object.prototype.hasOwnProperty,ay=Object.prototype.propertyIsEnumerable,am=(e,t,r)=>t in e?au(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ab=(e,t)=>{for(var r in t||(t={}))ag.call(t,r)&&am(e,r,t[r]);if(af)for(var r of af(t))ay.call(t,r)&&am(e,r,t[r]);return e},aw=(e,t)=>ad(e,ap(t)),av=(e,t,r)=>am(e,"symbol"!=typeof t?t+"":t,r);class aE extends sr{constructor(e){super(e),av(this,"name","engine"),av(this,"events",new(s())),av(this,"initialized",!1),av(this,"requestQueue",{state:ao.idle,queue:[]}),av(this,"sessionRequestQueue",{state:ao.idle,queue:[]}),av(this,"requestQueueDelay",o.ONE_SECOND),av(this,"expectedPairingMethodMap",new Map),av(this,"recentlyDeletedMap",new Map),av(this,"recentlyDeletedLimit",200),av(this,"relayMessageCache",[]),av(this,"pendingSessions",new Map),av(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(as)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},(0,o.toMiliseconds)(this.requestQueueDelay)))}),av(this,"connect",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();let t=aw(ab({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t),t.optionalNamespaces=function(e,t){var r,i,s,n,o,a;let c=im(e),l=im(t),h={};for(let e of Object.keys(c).concat(Object.keys(l)))h[e]={chains:K(null==(r=c[e])?void 0:r.chains,null==(i=l[e])?void 0:i.chains),methods:K(null==(s=c[e])?void 0:s.methods,null==(n=l[e])?void 0:n.methods),events:K(null==(o=c[e])?void 0:o.events,null==(a=l[e])?void 0:a.events)};return h}(t.requiredNamespaces,t.optionalNamespaces),t.requiredNamespaces={};let{pairingTopic:r,requiredNamespaces:i,optionalNamespaces:s,sessionProperties:n,scopedProperties:a,relays:c}=t,l=r,h,u=!1;try{if(l){let e=this.client.core.pairing.pairings.get(l);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),u=e.active}}catch(e){throw this.client.logger.error(`connect() -> pairing.get(${l}) failed`),e}if(!l||!u){let{topic:e,uri:t}=await this.client.core.pairing.create();l=e,h=t}if(!l){let{message:e}=iE("NO_MATCHING_KEY",`connect() pairing topic: ${l}`);throw Error(e)}let d=await this.client.core.crypto.generateKeyPair(),p=as.wc_sessionPropose.req.ttl||o.FIVE_MINUTES,f=F(p),g=aw(ab(ab({requiredNamespaces:i,optionalNamespaces:s,relays:c??[{protocol:"irn"}],proposer:{publicKey:d,metadata:this.client.metadata},expiryTimestamp:f,pairingTopic:l},n&&{sessionProperties:n}),a&&{scopedProperties:a}),{id:(0,sn.payloadId)()}),y=V("session_connect",g.id),{reject:m,resolve:b,done:w}=q(p,ar),v=({id:e})=>{e===g.id&&(this.client.events.off("proposal_expire",v),this.pendingSessions.delete(g.id),this.events.emit(y,{error:{message:ar,code:0}}))};return this.client.events.on("proposal_expire",v),this.events.once(y,({error:e,session:t})=>{this.client.events.off("proposal_expire",v),e?m(e):t&&b(t)}),await this.sendRequest({topic:l,method:"wc_sessionPropose",params:g,throwOnFailedPublish:!0,clientRpcId:g.id}),await this.setProposal(g.id,g),{uri:h,approval:w}}),av(this,"pair",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(e){throw this.client.logger.error("pair() failed"),e}}),av(this,"approve",async e=>{var t,r,i;let s=this.client.core.eventClient.createEvent({properties:{topic:null==(t=e?.id)?void 0:t.toString(),trace:[sT.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(e){throw s.setError(sj.no_internet_connection),e}try{await this.isValidProposalId(e?.id)}catch(t){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),s.setError(sj.proposal_not_found),t}try{await this.isValidApprove(e)}catch(e){throw this.client.logger.error("approve() -> isValidApprove() failed"),s.setError(sj.session_approve_namespace_validation_failure),e}let{id:n,relayProtocol:o,namespaces:a,sessionProperties:c,scopedProperties:l,sessionConfig:h}=e,u=this.client.proposal.get(n);this.client.core.eventClient.deleteEvent({eventId:s.eventId});let{pairingTopic:d,proposer:p,requiredNamespaces:f,optionalNamespaces:g}=u,y=null==(r=this.client.core.eventClient)?void 0:r.getEvent({topic:d});y||(y=null==(i=this.client.core.eventClient)?void 0:i.createEvent({type:sT.session_approve_started,properties:{topic:d,trace:[sT.session_approve_started,sT.session_namespaces_validation_success]}}));let m=await this.client.core.crypto.generateKeyPair(),b=p.publicKey,w=await this.client.core.crypto.generateSharedKey(m,b),v=ab(ab(ab({relay:{protocol:o??"irn"},namespaces:a,controller:{publicKey:m,metadata:this.client.metadata},expiry:F(ai)},c&&{sessionProperties:c}),l&&{scopedProperties:l}),h&&{sessionConfig:h}),E=sv.relay;y.addTrace(sT.subscribing_session_topic);try{await this.client.core.relayer.subscribe(w,{transportType:E})}catch(e){throw y.setError(sj.subscribe_session_topic_failure),e}y.addTrace(sT.subscribe_session_topic_success);let I=aw(ab({},v),{topic:w,requiredNamespaces:f,optionalNamespaces:g,pairingTopic:d,acknowledged:!1,self:v.controller,peer:{publicKey:p.publicKey,metadata:p.metadata},controller:m,transportType:sv.relay});await this.client.session.set(w,I),y.addTrace(sT.store_session);try{y.addTrace(sT.publishing_session_settle),await this.sendRequest({topic:w,method:"wc_sessionSettle",params:v,throwOnFailedPublish:!0}).catch(e=>{throw y?.setError(sj.session_settle_publish_failure),e}),y.addTrace(sT.session_settle_publish_success),y.addTrace(sT.publishing_session_approve),await this.sendResult({id:n,topic:d,result:{relay:{protocol:o??"irn"},responderPublicKey:m},throwOnFailedPublish:!0}).catch(e=>{throw y?.setError(sj.session_approve_publish_failure),e}),y.addTrace(sT.session_approve_publish_success)}catch(e){throw this.client.logger.error(e),this.client.session.delete(w,iI("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(w),e}return this.client.core.eventClient.deleteEvent({eventId:y.eventId}),await this.client.core.pairing.updateMetadata({topic:d,metadata:p.metadata}),await this.client.proposal.delete(n,iI("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:d}),await this.setExpiry(w,F(ai)),{topic:w,acknowledged:()=>Promise.resolve(this.client.session.get(w))}}),av(this,"reject",async e=>{let t;this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(e){throw this.client.logger.error("reject() -> isValidReject() failed"),e}let{id:r,reason:i}=e;try{t=this.client.proposal.get(r).pairingTopic}catch(e){throw this.client.logger.error(`reject() -> proposal.get(${r}) failed`),e}t&&(await this.sendError({id:r,topic:t,error:i,rpcOpts:as.wc_sessionPropose.reject}),await this.client.proposal.delete(r,iI("USER_DISCONNECTED")))}),av(this,"update",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(e){throw this.client.logger.error("update() -> isValidUpdate() failed"),e}let{topic:t,namespaces:r}=e,{done:i,resolve:s,reject:n}=q(),o=(0,sn.payloadId)(),a=(0,sn.getBigIntRpcId)().toString(),c=this.client.session.get(t).namespaces;return this.events.once(V("session_update",o),({error:e})=>{e?n(e):s()}),await this.client.session.update(t,{namespaces:r}),await this.sendRequest({topic:t,method:"wc_sessionUpdate",params:{namespaces:r},throwOnFailedPublish:!0,clientRpcId:o,relayRpcId:a}).catch(e=>{this.client.logger.error(e),this.client.session.update(t,{namespaces:c}),n(e)}),{acknowledged:i}}),av(this,"extend",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(e){throw this.client.logger.error("extend() -> isValidExtend() failed"),e}let{topic:t}=e,r=(0,sn.payloadId)(),{done:i,resolve:s,reject:n}=q();return this.events.once(V("session_extend",r),({error:e})=>{e?n(e):s()}),await this.setExpiry(t,F(ai)),this.sendRequest({topic:t,method:"wc_sessionExtend",params:{},clientRpcId:r,throwOnFailedPublish:!0}).catch(e=>{n(e)}),{acknowledged:i}}),av(this,"request",async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(e){throw this.client.logger.error("request() -> isValidRequest() failed"),e}let{chainId:t,request:r,topic:i,expiry:s=as.wc_sessionRequest.req.ttl}=e,n=this.client.session.get(i);n?.transportType===sv.relay&&await this.confirmOnlineStateOrThrow();let o=(0,sn.payloadId)(),a=(0,sn.getBigIntRpcId)().toString(),{done:c,resolve:l,reject:h}=q(s,"Request expired. Please try again.");this.events.once(V("session_request",o),({error:e,result:t})=>{e?h(e):l(t)});let u="wc_sessionRequest",d=this.getAppLinkIfEnabled(n.peer.metadata,n.transportType);if(d)return await this.sendRequest({clientRpcId:o,relayRpcId:a,topic:i,method:u,params:{request:aw(ab({},r),{expiryTimestamp:F(s)}),chainId:t},expiry:s,throwOnFailedPublish:!0,appLink:d}).catch(e=>h(e)),this.client.events.emit("session_request_sent",{topic:i,request:r,chainId:t,id:o}),await c();let p={request:aw(ab({},r),{expiryTimestamp:F(s)}),chainId:t},f=this.shouldSetTVF(u,p);return await Promise.all([new Promise(async e=>{await this.sendRequest(ab({clientRpcId:o,relayRpcId:a,topic:i,method:u,params:p,expiry:s,throwOnFailedPublish:!0},f&&{tvf:this.getTVFParams(o,p)})).catch(e=>h(e)),this.client.events.emit("session_request_sent",{topic:i,request:r,chainId:t,id:o}),e()}),new Promise(async e=>{var t;if(!(null!=(t=n.sessionConfig)&&t.disableDeepLink)){let e=await J(this.client.core.storage,at);await W({id:o,topic:i,wcDeepLink:e})}e()}),c()]).then(e=>e[2])}),av(this,"respond",async e=>{this.isInitialized(),await this.isValidRespond(e);let{topic:t,response:r}=e,{id:i}=r,s=this.client.session.get(t);s.transportType===sv.relay&&await this.confirmOnlineStateOrThrow();let n=this.getAppLinkIfEnabled(s.peer.metadata,s.transportType);(0,sn.isJsonRpcResult)(r)?await this.sendResult({id:i,topic:t,result:r.result,throwOnFailedPublish:!0,appLink:n}):(0,sn.isJsonRpcError)(r)&&await this.sendError({id:i,topic:t,error:r.error,appLink:n}),this.cleanupAfterResponse(e)}),av(this,"ping",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(e){throw this.client.logger.error("ping() -> isValidPing() failed"),e}let{topic:t}=e;if(this.client.session.keys.includes(t)){let e=(0,sn.payloadId)(),r=(0,sn.getBigIntRpcId)().toString(),{done:i,resolve:s,reject:n}=q();this.events.once(V("session_ping",e),({error:e})=>{e?n(e):s()}),await Promise.all([this.sendRequest({topic:t,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:e,relayRpcId:r}),i()])}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}))}),av(this,"emit",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);let{topic:t,event:r,chainId:i}=e,s=(0,sn.getBigIntRpcId)().toString(),n=(0,sn.payloadId)();await this.sendRequest({topic:t,method:"wc_sessionEvent",params:{event:r,chainId:i},throwOnFailedPublish:!0,relayRpcId:s,clientRpcId:n})}),av(this,"disconnect",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(e);let{topic:t}=e;if(this.client.session.keys.includes(t))await this.sendRequest({topic:t,method:"wc_sessionDelete",params:iI("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{let{message:e}=iE("MISMATCHED_TOPIC",`Session or pairing topic not found: ${t}`);throw Error(e)}}),av(this,"find",e=>(this.isInitialized(),this.client.session.getAll().filter(t=>(function(e,t){let{requiredNamespaces:r}=t,i=Object.keys(e.namespaces),s=Object.keys(r),n=!0;return!!k(s,i)&&(i.forEach(t=>{let{accounts:i,methods:s,events:o}=e.namespaces[t],a=ip(i),c=r[t];k(b(t,c),a)&&k(c.methods,s)&&k(c.events,o)||(n=!1)}),n)})(t,e)))),av(this,"getPendingSessionRequests",()=>this.client.pendingRequest.getAll()),av(this,"authenticate",async(e,t)=>{var r,i,s;let n;this.isInitialized(),this.isValidAuthenticate(e);let o=t&&this.client.core.linkModeSupportedApps.includes(t)&&(null==(r=this.client.metadata.redirect)?void 0:r.linkMode),a=o?sv.link_mode:sv.relay;a===sv.relay&&await this.confirmOnlineStateOrThrow();let{chains:c,statement:l="",uri:h,domain:u,nonce:d,type:p,exp:f,nbf:g,methods:m=[],expiry:b}=e,w=[...e.resources||[]],{topic:v,uri:E}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:a});this.client.logger.info({message:"Generated new pairing",pairing:{topic:v,uri:E}});let I=await this.client.core.crypto.generateKeyPair(),_=rQ(I);if(await Promise.all([this.client.auth.authKeys.set(ah,{responseTopic:_,publicKey:I}),this.client.auth.pairingTopics.set(_,{topic:_,pairingTopic:v})]),await this.client.core.relayer.subscribe(_,{transportType:a}),this.client.logger.info(`sending request to new pairing topic: ${v}`),m.length>0){let{namespace:e}=y(c[0]),t=e0(function(e,t,r,i={}){return r?.sort((e,t)=>e.localeCompare(t)),{att:{[e]:function(e,t,r={}){return Object.assign({},...(t=t?.sort((e,t)=>e.localeCompare(t))).map(t=>({[`${e}/${t}`]:[r]})))}(t,r,i)}}}(e,"request",m));e3(w)&&(i=t,s=w.pop(),t=e0(function(e,t){eX(e),eX(t);let r=Object.keys(e.att).concat(Object.keys(t.att)).sort((e,t)=>e.localeCompare(t)),i={att:{}};return r.forEach(r=>{var s,n;Object.keys((null==(s=e.att)?void 0:s[r])||{}).concat(Object.keys((null==(n=t.att)?void 0:n[r])||{})).sort((e,t)=>e.localeCompare(t)).forEach(s=>{var n,o;i.att[r]=eK(eV({},i.att[r]),{[s]:(null==(n=e.att[r])?void 0:n[s])||(null==(o=t.att[r])?void 0:o[s])})})}),i}(e1(i),e1(s)))),w.push(t)}let D=b&&b>as.wc_sessionAuthenticate.req.ttl?b:as.wc_sessionAuthenticate.req.ttl,S={authPayload:{type:p??"caip122",chains:c,statement:l,aud:h,domain:u,version:"1",nonce:d,iat:new Date().toISOString(),exp:f,nbf:g,resources:w},requester:{publicKey:I,metadata:this.client.metadata},expiryTimestamp:F(D)},P={requiredNamespaces:{},optionalNamespaces:{eip155:{chains:c,methods:[...new Set(["personal_sign",...m])],events:["chainChanged","accountsChanged"]}},relays:[{protocol:"irn"}],pairingTopic:v,proposer:{publicKey:I,metadata:this.client.metadata},expiryTimestamp:F(as.wc_sessionPropose.req.ttl),id:(0,sn.payloadId)()},{done:O,resolve:x,reject:C}=q(D,"Request expired"),A=(0,sn.payloadId)(),R=V("session_connect",P.id),N=V("session_request",A),T=async({error:e,session:t})=>{this.events.off(N,j),e?C(e):t&&x({session:t})},j=async e=>{var r,i,s;let n;if(await this.deletePendingAuthRequest(A,{message:"fulfilled",code:0}),e.error){let t=iI("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return e.error.code===t.code?void 0:(this.events.off(R,T),C(e.error.message))}await this.deleteProposal(P.id),this.events.off(R,T);let{cacaos:o,responder:c}=e.result,l=[],h=[];for(let e of o){await eZ({cacao:e,projectId:this.client.core.projectId})||(this.client.logger.error(e,"Signature verification failed"),C(iI("SESSION_SETTLEMENT_FAILED","Signature verification failed")));let{p:t}=e,r=e3(t.resources),i=[eG(t.iss)],s=eY(t.iss);if(r){let e=e2(r),t=e8(r);l.push(...e),i.push(...t)}for(let e of i)h.push(`${e}:${s}`)}let u=await this.client.core.crypto.generateSharedKey(I,c.publicKey);l.length>0&&(n={topic:u,acknowledged:!0,self:{publicKey:I,metadata:this.client.metadata},peer:c,controller:c.publicKey,expiry:F(ai),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:v,namespaces:ib([...new Set(l)],[...new Set(h)]),transportType:a},await this.client.core.relayer.subscribe(u,{transportType:a}),await this.client.session.set(u,n),v&&await this.client.core.pairing.updateMetadata({topic:v,metadata:c.metadata}),n=this.client.session.get(u)),null!=(r=this.client.metadata.redirect)&&r.linkMode&&null!=(i=c.metadata.redirect)&&i.linkMode&&null!=(s=c.metadata.redirect)&&s.universal&&t&&(this.client.core.addLinkModeSupportedApp(c.metadata.redirect.universal),this.client.session.update(u,{transportType:sv.link_mode})),x({auths:o,session:n})};this.events.once(R,T),this.events.once(N,j);try{if(o){let e=(0,sn.formatJsonRpcRequest)("wc_sessionAuthenticate",S,A);this.client.core.history.set(v,e);let r=await this.client.core.crypto.encode("",e,{type:2,encoding:rG});n=ir(t,v,r)}else await Promise.all([this.sendRequest({topic:v,method:"wc_sessionAuthenticate",params:S,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:A}),this.sendRequest({topic:v,method:"wc_sessionPropose",params:P,expiry:as.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:P.id})])}catch(e){throw this.events.off(R,T),this.events.off(N,j),e}return await this.setProposal(P.id,P),await this.setAuthRequest(A,{request:aw(ab({},S),{verifyContext:{}}),pairingTopic:v,transportType:a}),{uri:n??E,response:O}}),av(this,"approveSessionAuthenticate",async e=>{let t;let{id:r,auths:i}=e,s=this.client.core.eventClient.createEvent({properties:{topic:r.toString(),trace:[sL.authenticated_session_approve_started]}});try{this.isInitialized()}catch(e){throw s.setError(sk.no_internet_connection),e}let n=this.getPendingAuthRequest(r);if(!n)throw s.setError(sk.authenticated_session_pending_request_not_found),Error(`Could not find pending auth request with id ${r}`);let o=n.transportType||sv.relay;o===sv.relay&&await this.confirmOnlineStateOrThrow();let a=n.requester.publicKey,c=await this.client.core.crypto.generateKeyPair(),l=rQ(a),h={type:1,receiverPublicKey:a,senderPublicKey:c},u=[],d=[];for(let e of i){if(!await eZ({cacao:e,projectId:this.client.core.projectId})){s.setError(sk.invalid_cacao);let e=iI("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:r,topic:l,error:e,encodeOpts:h}),Error(e.message)}s.addTrace(sL.cacaos_verified);let{p:t}=e,i=e3(t.resources),n=[eG(t.iss)],o=eY(t.iss);if(i){let e=e2(i),t=e8(i);u.push(...e),n.push(...t)}for(let e of n)d.push(`${e}:${o}`)}let p=await this.client.core.crypto.generateSharedKey(c,a);if(s.addTrace(sL.create_authenticated_session_topic),u?.length>0){t={topic:p,acknowledged:!0,self:{publicKey:c,metadata:this.client.metadata},peer:{publicKey:a,metadata:n.requester.metadata},controller:a,expiry:F(ai),authentication:i,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:n.pairingTopic,namespaces:ib([...new Set(u)],[...new Set(d)]),transportType:o},s.addTrace(sL.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(p,{transportType:o})}catch(e){throw s.setError(sk.subscribe_authenticated_session_topic_failure),e}s.addTrace(sL.subscribe_authenticated_session_topic_success),await this.client.session.set(p,t),s.addTrace(sL.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:n.pairingTopic,metadata:n.requester.metadata})}s.addTrace(sL.publishing_authenticated_session_approve);try{await this.sendResult({topic:l,id:r,result:{cacaos:i,responder:{publicKey:c,metadata:this.client.metadata}},encodeOpts:h,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(n.requester.metadata,o)})}catch(e){throw s.setError(sk.authenticated_session_approve_publish_failure),e}return await this.client.auth.requests.delete(r,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:n.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:s.eventId}),{session:t}}),av(this,"rejectSessionAuthenticate",async e=>{this.isInitialized();let{id:t,reason:r}=e,i=this.getPendingAuthRequest(t);if(!i)throw Error(`Could not find pending auth request with id ${t}`);i.transportType===sv.relay&&await this.confirmOnlineStateOrThrow();let s=i.requester.publicKey,n=await this.client.core.crypto.generateKeyPair(),o=rQ(s);await this.sendError({id:t,topic:o,error:r,encodeOpts:{type:1,receiverPublicKey:s,senderPublicKey:n},rpcOpts:as.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,iI("USER_DISCONNECTED"))}),av(this,"formatAuthMessage",e=>{this.isInitialized();let{request:t,iss:r}=e;return eQ(t,r)}),av(this,"processRelayMessageCache",()=>{setTimeout(async()=>{if(0!==this.relayMessageCache.length)for(;this.relayMessageCache.length>0;)try{let e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}},50)}),av(this,"cleanupDuplicatePairings",async e=>{if(e.pairingTopic)try{let t=this.client.core.pairing.pairings.get(e.pairingTopic),r=this.client.core.pairing.pairings.getAll().filter(r=>{var i,s;return(null==(i=r.peerMetadata)?void 0:i.url)&&(null==(s=r.peerMetadata)?void 0:s.url)===e.peer.metadata.url&&r.topic&&r.topic!==t.topic});if(0===r.length)return;this.client.logger.info(`Cleaning up ${r.length} duplicate pairing(s)`),await Promise.all(r.map(e=>this.client.core.pairing.disconnect({topic:e.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(e){this.client.logger.error(e)}}),av(this,"deleteSession",async e=>{var t;let{topic:r,expirerHasDeleted:i=!1,emitEvent:s=!0,id:n=0}=e,{self:o}=this.client.session.get(r);await this.client.core.relayer.unsubscribe(r),await this.client.session.delete(r,iI("USER_DISCONNECTED")),this.addToRecentlyDeleted(r,"session"),this.client.core.crypto.keychain.has(o.publicKey)&&await this.client.core.crypto.deleteKeyPair(o.publicKey),this.client.core.crypto.keychain.has(r)&&await this.client.core.crypto.deleteSymKey(r),i||this.client.core.expirer.del(r),this.client.core.storage.removeItem(at).catch(e=>this.client.logger.warn(e)),this.getPendingSessionRequests().forEach(e=>{e.topic===r&&this.deletePendingSessionRequest(e.id,iI("USER_DISCONNECTED"))}),r===(null==(t=this.sessionRequestQueue.queue[0])?void 0:t.topic)&&(this.sessionRequestQueue.state=ao.idle),s&&this.client.events.emit("session_delete",{id:n,topic:r})}),av(this,"deleteProposal",async(e,t)=>{if(t)try{let t=this.client.proposal.get(e),r=this.client.core.eventClient.getEvent({topic:t.pairingTopic});r?.setError(sj.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,iI("USER_DISCONNECTED")),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"proposal")}),av(this,"deletePendingSessionRequest",async(e,t,r=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),r?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(t=>t.id!==e),r&&(this.sessionRequestQueue.state=ao.idle,this.client.events.emit("session_request_expire",{id:e}))}),av(this,"deletePendingAuthRequest",async(e,t,r=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),r?Promise.resolve():this.client.core.expirer.del(e)])}),av(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}))}),av(this,"setProposal",async(e,t)=>{this.client.core.expirer.set(e,F(as.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),av(this,"setAuthRequest",async(e,t)=>{let{request:r,pairingTopic:i,transportType:s=sv.relay}=t;this.client.core.expirer.set(e,r.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:r.authPayload,requester:r.requester,expiryTimestamp:r.expiryTimestamp,id:e,pairingTopic:i,verifyContext:r.verifyContext,transportType:s})}),av(this,"setPendingSessionRequest",async e=>{let{id:t,topic:r,params:i,verifyContext:s}=e,n=i.request.expiryTimestamp||F(as.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,n),await this.client.pendingRequest.set(t,{id:t,topic:r,params:i,verifyContext:s})}),av(this,"sendRequest",async e=>{let t,i;let{topic:s,method:n,params:o,expiry:a,relayRpcId:c,clientRpcId:l,throwOnFailedPublish:h,appLink:u,tvf:d}=e,p=(0,sn.formatJsonRpcRequest)(n,o,l),f=!!u;try{let e=f?rG:rJ;t=await this.client.core.crypto.encode(s,p,{encoding:e})}catch(e){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${s} failed`),e}if(ac.includes(n)){let e=rX(JSON.stringify(p)),r=rX(t);i=await this.client.core.verify.register({id:r,decryptedId:e})}let g=as[n].req;if(g.attestation=i,a&&(g.ttl=a),c&&(g.id=c),this.client.core.history.set(s,p),f){let e=ir(u,s,t);await r.g.Linking.openURL(e,this.client.name)}else{let e=as[n].req;a&&(e.ttl=a),c&&(e.id=c),e.tvf=aw(ab({},d),{correlationId:p.id}),h?(e.internal=aw(ab({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,t,e)):this.client.core.relayer.publish(s,t,e).catch(e=>this.client.logger.error(e))}return p.id}),av(this,"sendResult",async e=>{let t,i,s;let{id:n,topic:o,result:a,throwOnFailedPublish:c,encodeOpts:l,appLink:h}=e,u=(0,sn.formatJsonRpcResult)(n,a),d=h&&"u">typeof(null==r.g?void 0:r.g.Linking);try{let e=d?rG:rJ;t=await this.client.core.crypto.encode(o,u,aw(ab({},l||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${o} failed`),e}try{let e=(i=await this.client.core.history.get(o,n)).request;try{this.shouldSetTVF(e.method,e.params)&&(s=this.getTVFParams(n,e.params,a))}catch(e){this.client.logger.warn("sendResult() -> getTVFParams() failed",e)}}catch(e){throw this.client.logger.error(`sendResult() -> history.get(${o}, ${n}) failed`),e}if(d){let e=ir(h,o,t);await r.g.Linking.openURL(e,this.client.name)}else{let e=as[i.request.method].res;e.tvf=aw(ab({},s),{correlationId:n}),c?(e.internal=aw(ab({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(o,t,e)):this.client.core.relayer.publish(o,t,e).catch(e=>this.client.logger.error(e))}await this.client.core.history.resolve(u)}),av(this,"sendError",async e=>{let t,i;let{id:s,topic:n,error:o,encodeOpts:a,rpcOpts:c,appLink:l}=e,h=(0,sn.formatJsonRpcError)(s,o),u=l&&"u">typeof(null==r.g?void 0:r.g.Linking);try{let e=u?rG:rJ;t=await this.client.core.crypto.encode(n,h,aw(ab({},a||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${n} failed`),e}try{i=await this.client.core.history.get(n,s)}catch(e){throw this.client.logger.error(`sendError() -> history.get(${n}, ${s}) failed`),e}if(u){let e=ir(l,n,t);await r.g.Linking.openURL(e,this.client.name)}else{let e=i.request.method,r=c||as[e].res;this.client.core.relayer.publish(n,t,r)}await this.client.core.history.resolve(h)}),av(this,"cleanup",async()=>{let e=[],t=[];this.client.session.getAll().forEach(t=>{let r=!1;H(t.expiry)&&(r=!0),this.client.core.crypto.keychain.has(t.topic)||(r=!0),r&&e.push(t.topic)}),this.client.proposal.getAll().forEach(e=>{H(e.expiryTimestamp)&&t.push(e.id)}),await Promise.all([...e.map(e=>this.deleteSession({topic:e})),...t.map(e=>this.deleteProposal(e))])}),av(this,"onProviderMessageEvent",async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),av(this,"onRelayEventRequest",async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),av(this,"processRequestsQueue",async()=>{if(this.requestQueue.state===ao.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=ao.active;let e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=ao.idle}),av(this,"processRequest",async e=>{let{topic:t,payload:r,attestation:i,transportType:s,encryptedId:n}=e,o=r.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:o}))switch(o){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:t,payload:r,attestation:i,encryptedId:n});case"wc_sessionSettle":return await this.onSessionSettleRequest(t,r);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(t,r);case"wc_sessionExtend":return await this.onSessionExtendRequest(t,r);case"wc_sessionPing":return await this.onSessionPingRequest(t,r);case"wc_sessionDelete":return await this.onSessionDeleteRequest(t,r);case"wc_sessionRequest":return await this.onSessionRequest({topic:t,payload:r,attestation:i,encryptedId:n,transportType:s});case"wc_sessionEvent":return await this.onSessionEventRequest(t,r);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:t,payload:r,attestation:i,encryptedId:n,transportType:s});default:return this.client.logger.info(`Unsupported request method ${o}`)}}),av(this,"onRelayEventResponse",async e=>{let{topic:t,payload:r,transportType:i}=e,s=(await this.client.core.history.get(t,r.id)).request.method;switch(s){case"wc_sessionPropose":return this.onSessionProposeResponse(t,r,i);case"wc_sessionSettle":return this.onSessionSettleResponse(t,r);case"wc_sessionUpdate":return this.onSessionUpdateResponse(t,r);case"wc_sessionExtend":return this.onSessionExtendResponse(t,r);case"wc_sessionPing":return this.onSessionPingResponse(t,r);case"wc_sessionRequest":return this.onSessionRequestResponse(t,r);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(t,r);default:return this.client.logger.info(`Unsupported response method ${s}`)}}),av(this,"onRelayEventUnknownPayload",e=>{let{topic:t}=e,{message:r}=iE("MISSING_OR_INVALID",`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw Error(r)}),av(this,"shouldIgnorePairingRequest",e=>{let{topic:t,requestMethod:r}=e,i=this.expectedPairingMethodMap.get(t);return!(!i||i.includes(r))&&!!(i.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)}),av(this,"onSessionProposeRequest",async e=>{let{topic:t,payload:r,attestation:i,encryptedId:s}=e,{params:n,id:o}=r;try{let e=this.client.core.eventClient.getEvent({topic:t});0===this.client.events.listenerCount("session_proposal")&&(console.warn("No listener for session_proposal event"),e?.setError(sN.proposal_listener_not_found)),this.isValidConnect(ab({},r.params));let a=n.expiryTimestamp||F(as.wc_sessionPropose.req.ttl),c=ab({id:o,pairingTopic:t,expiryTimestamp:a},n);await this.setProposal(o,c);let l=await this.getVerifyContext({attestationId:i,hash:rX(JSON.stringify(r)),encryptedId:s,metadata:c.proposer.metadata});e?.addTrace(sR.emit_session_proposal),this.client.events.emit("session_proposal",{id:o,params:c,verifyContext:l})}catch(e){await this.sendError({id:o,topic:t,error:e,rpcOpts:as.wc_sessionPropose.autoReject}),this.client.logger.error(e)}}),av(this,"onSessionProposeResponse",async(e,t,r)=>{let{id:i}=t;if((0,sn.isJsonRpcResult)(t)){let{result:s}=t;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:s});let n=this.client.proposal.get(i);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:n});let o=n.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:o});let a=s.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:a});let c=await this.client.core.crypto.generateSharedKey(o,a);this.pendingSessions.set(i,{sessionTopic:c,pairingTopic:e,proposalId:i,publicKey:o});let l=await this.client.core.relayer.subscribe(c,{transportType:r});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:l}),await this.client.core.pairing.activate({topic:e})}else if((0,sn.isJsonRpcError)(t)){await this.client.proposal.delete(i,iI("USER_DISCONNECTED"));let e=V("session_connect",i);if(0===this.events.listenerCount(e))throw Error(`emitting ${e} without any listeners, 954`);this.events.emit(e,{error:t.error})}}),av(this,"onSessionSettleRequest",async(e,t)=>{let{id:r,params:i}=t;try{this.isValidSessionSettleRequest(i);let{relay:r,controller:s,expiry:n,namespaces:o,sessionProperties:a,scopedProperties:c,sessionConfig:l}=t.params,h=[...this.pendingSessions.values()].find(t=>t.sessionTopic===e);if(!h)return this.client.logger.error(`Pending session not found for topic ${e}`);let u=this.client.proposal.get(h.proposalId),d=aw(ab(ab(ab({topic:e,relay:r,expiry:n,namespaces:o,acknowledged:!0,pairingTopic:h.pairingTopic,requiredNamespaces:u.requiredNamespaces,optionalNamespaces:u.optionalNamespaces,controller:s.publicKey,self:{publicKey:h.publicKey,metadata:this.client.metadata},peer:{publicKey:s.publicKey,metadata:s.metadata}},a&&{sessionProperties:a}),c&&{scopedProperties:c}),l&&{sessionConfig:l}),{transportType:sv.relay});await this.client.session.set(d.topic,d),await this.setExpiry(d.topic,d.expiry),await this.client.core.pairing.updateMetadata({topic:h.pairingTopic,metadata:d.peer.metadata}),this.client.events.emit("session_connect",{session:d}),this.events.emit(V("session_connect",h.proposalId),{session:d}),this.pendingSessions.delete(h.proposalId),this.deleteProposal(h.proposalId,!1),this.cleanupDuplicatePairings(d),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),av(this,"onSessionSettleResponse",async(e,t)=>{let{id:r}=t;(0,sn.isJsonRpcResult)(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(V("session_approve",r),{})):(0,sn.isJsonRpcError)(t)&&(await this.client.session.delete(e,iI("USER_DISCONNECTED")),this.events.emit(V("session_approve",r),{error:t.error}))}),av(this,"onSessionUpdateRequest",async(e,t)=>{let{params:r,id:i}=t;try{let t=`${e}_session_update`,s=i$.get(t);if(s&&this.isRequestOutOfSync(s,i)){this.client.logger.warn(`Discarding out of sync request - ${i}`),this.sendError({id:i,topic:e,error:iI("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(ab({topic:e},r));try{i$.set(t,i),await this.client.session.update(e,{namespaces:r.namespaces}),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0})}catch(e){throw i$.delete(t),e}this.client.events.emit("session_update",{id:i,topic:e,params:r})}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),av(this,"isRequestOutOfSync",(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),av(this,"onSessionUpdateResponse",(e,t)=>{let{id:r}=t,i=V("session_update",r);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);(0,sn.isJsonRpcResult)(t)?this.events.emit(V("session_update",r),{}):(0,sn.isJsonRpcError)(t)&&this.events.emit(V("session_update",r),{error:t.error})}),av(this,"onSessionExtendRequest",async(e,t)=>{let{id:r}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,F(ai)),await this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:r,topic:e})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),av(this,"onSessionExtendResponse",(e,t)=>{let{id:r}=t,i=V("session_extend",r);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);(0,sn.isJsonRpcResult)(t)?this.events.emit(V("session_extend",r),{}):(0,sn.isJsonRpcError)(t)&&this.events.emit(V("session_extend",r),{error:t.error})}),av(this,"onSessionPingRequest",async(e,t)=>{let{id:r}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:r,topic:e})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),av(this,"onSessionPingResponse",(e,t)=>{let{id:r}=t,i=V("session_ping",r);setTimeout(()=>{if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners 2176`);(0,sn.isJsonRpcResult)(t)?this.events.emit(V("session_ping",r),{}):(0,sn.isJsonRpcError)(t)&&this.events.emit(V("session_ping",r),{error:t.error})},500)}),av(this,"onSessionDeleteRequest",async(e,t)=>{let{id:r}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(t=>{this.client.core.relayer.once(sm.publish,async()=>{t(await this.deleteSession({topic:e,id:r}))})}),this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:iI("USER_DISCONNECTED")})]).catch(e=>this.client.logger.error(e))}catch(e){this.client.logger.error(e)}}),av(this,"onSessionRequest",async e=>{var t,r,i;let{topic:s,payload:n,attestation:o,encryptedId:a,transportType:c}=e,{id:l,params:h}=n;try{await this.isValidRequest(ab({topic:s},h));let e=this.client.session.get(s),n=await this.getVerifyContext({attestationId:o,hash:rX(JSON.stringify((0,sn.formatJsonRpcRequest)("wc_sessionRequest",h,l))),encryptedId:a,metadata:e.peer.metadata,transportType:c}),u={id:l,topic:s,params:h,verifyContext:n};await this.setPendingSessionRequest(u),c===sv.link_mode&&null!=(t=e.peer.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(null==(r=e.peer.metadata.redirect)?void 0:r.universal),null!=(i=this.client.signConfig)&&i.disableRequestQueue?this.emitSessionRequest(u):(this.addSessionRequestToSessionRequestQueue(u),this.processSessionRequestQueue())}catch(e){await this.sendError({id:l,topic:s,error:e}),this.client.logger.error(e)}}),av(this,"onSessionRequestResponse",(e,t)=>{let{id:r}=t,i=V("session_request",r);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);(0,sn.isJsonRpcResult)(t)?this.events.emit(V("session_request",r),{result:t.result}):(0,sn.isJsonRpcError)(t)&&this.events.emit(V("session_request",r),{error:t.error})}),av(this,"onSessionEventRequest",async(e,t)=>{let{id:r,params:i}=t;try{let t=`${e}_session_event_${i.event.name}`,s=i$.get(t);if(s&&this.isRequestOutOfSync(s,r)){this.client.logger.info(`Discarding out of sync request - ${r}`);return}this.isValidEmit(ab({topic:e},i)),this.client.events.emit("session_event",{id:r,topic:e,params:i}),i$.set(t,r)}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),av(this,"onSessionAuthenticateResponse",(e,t)=>{let{id:r}=t;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:e,payload:t}),(0,sn.isJsonRpcResult)(t)?this.events.emit(V("session_request",r),{result:t.result}):(0,sn.isJsonRpcError)(t)&&this.events.emit(V("session_request",r),{error:t.error})}),av(this,"onSessionAuthenticateRequest",async e=>{var t;let{topic:r,payload:i,attestation:s,encryptedId:n,transportType:o}=e;try{let{requester:e,authPayload:a,expiryTimestamp:c}=i.params,l=await this.getVerifyContext({attestationId:s,hash:rX(JSON.stringify(i)),encryptedId:n,metadata:e.metadata,transportType:o}),h={requester:e,pairingTopic:r,id:i.id,authPayload:a,verifyContext:l,expiryTimestamp:c};await this.setAuthRequest(i.id,{request:h,pairingTopic:r,transportType:o}),o===sv.link_mode&&null!=(t=e.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(e.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:r,params:i.params,id:i.id,verifyContext:l})}catch(n){this.client.logger.error(n);let e=i.params.requester.publicKey,t=await this.client.core.crypto.generateKeyPair(),s=this.getAppLinkIfEnabled(i.params.requester.metadata,o);await this.sendError({id:i.id,topic:r,error:n,encodeOpts:{type:1,receiverPublicKey:e,senderPublicKey:t},rpcOpts:as.wc_sessionAuthenticate.autoReject,appLink:s})}}),av(this,"addSessionRequestToSessionRequestQueue",e=>{this.sessionRequestQueue.queue.push(e)}),av(this,"cleanupAfterResponse",e=>{this.deletePendingSessionRequest(e.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=ao.idle,this.processSessionRequestQueue()},(0,o.toMiliseconds)(this.requestQueueDelay))}),av(this,"cleanupPendingSentRequestsForTopic",({topic:e,error:t})=>{let r=this.client.core.history.pending;r.length>0&&r.filter(t=>t.topic===e&&"wc_sessionRequest"===t.request.method).forEach(e=>{let r=V("session_request",e.request.id);if(0===this.events.listenerCount(r))throw Error(`emitting ${r} without any listeners`);this.events.emit(V("session_request",e.request.id),{error:t})})}),av(this,"processSessionRequestQueue",()=>{if(this.sessionRequestQueue.state===ao.active){this.client.logger.info("session request queue is already active.");return}let e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=ao.active,this.emitSessionRequest(e)}catch(e){this.client.logger.error(e)}}),av(this,"emitSessionRequest",e=>{this.client.events.emit("session_request",e)}),av(this,"onPairingCreated",e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;let t=this.client.proposal.getAll().find(t=>t.pairingTopic===e.topic);t&&this.onSessionProposeRequest({topic:e.topic,payload:(0,sn.formatJsonRpcRequest)("wc_sessionPropose",aw(ab({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id)})}),av(this,"isValidConnect",async e=>{let t;if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(e)}`);throw Error(t)}let{pairingTopic:r,requiredNamespaces:i,optionalNamespaces:s,sessionProperties:n,scopedProperties:o,relays:a}=e;if(iS(r)||await this.isValidPairingTopic(r),t=!1,a?a&&i_(a)&&a.length&&a.forEach(e=>{t=iN(e)}):t=!0,!t){let{message:e}=iE("MISSING_OR_INVALID",`connect() relays: ${a}`);throw Error(e)}if(!iS(i)&&0!==iD(i)){let e="requiredNamespaces are deprecated and are automatically assigned to optionalNamespaces";["fatal","error","silent"].includes(this.client.logger.level)?console.warn(e):this.client.logger.warn(e),this.validateNamespaces(i,"requiredNamespaces")}if(iS(s)||0===iD(s)||this.validateNamespaces(s,"optionalNamespaces"),iS(n)||this.validateSessionProps(n,"sessionProperties"),!iS(o)){this.validateSessionProps(o,"scopedProperties");let e=Object.keys(i||{}).concat(Object.keys(s||{}));if(!Object.keys(o).every(t=>e.includes(t)))throw Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(o)}, required/optional namespaces: ${JSON.stringify(e)}`)}}),av(this,"validateNamespaces",(e,t)=>{let r=function(e,t,r){let i=null;if(e&&iD(e)){let s;let n=iA(e,t);n&&(i=n);let o=(s=null,Object.entries(e).forEach(([e,i])=>{var n,o;let a;if(s)return;let c=(n=b(e,i),o=`${t} ${r}`,a=null,i_(n)&&n.length?n.forEach(e=>{a||ix(e)||(a=iI("UNSUPPORTED_CHAINS",`${o}, chain ${e} should be a string and conform to "namespace:chainId" format`))}):ix(e)||(a=iI("UNSUPPORTED_CHAINS",`${o}, 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"] }`)),a);c&&(s=c)}),s);o&&(i=o)}else i=iE("MISSING_OR_INVALID",`${t}, ${r} should be an object with data`);return i}(e,"connect()",t);if(r)throw Error(r.message)}),av(this,"isValidApprove",async e=>{if(!iT(e))throw Error(iE("MISSING_OR_INVALID",`approve() params: ${e}`).message);let{id:t,namespaces:r,relayProtocol:i,sessionProperties:s,scopedProperties:n}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);let o=this.client.proposal.get(t),a=iR(r,"approve()");if(a)throw Error(a.message);let c=iL(o.requiredNamespaces,r,"approve()");if(c)throw Error(c.message);if(!iP(i,!0)){let{message:e}=iE("MISSING_OR_INVALID",`approve() relayProtocol: ${i}`);throw Error(e)}if(iS(s)||this.validateSessionProps(s,"sessionProperties"),!iS(n)){this.validateSessionProps(n,"scopedProperties");let e=new Set(Object.keys(r));if(!Object.keys(n).every(t=>e.has(t)))throw Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(n)}, approved namespaces: ${Array.from(e).join(", ")}`)}}),av(this,"isValidReject",async e=>{if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`reject() params: ${e}`);throw Error(t)}let{id:t,reason:r}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!r||"object"!=typeof r||!r.code||!iO(r.code,!1)||!r.message||!iP(r.message,!1)){let{message:e}=iE("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(r)}`);throw Error(e)}}),av(this,"isValidSessionSettleRequest",e=>{let t;if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${e}`);throw Error(t)}let{relay:r,controller:i,namespaces:s,expiry:n}=e;if(!iN(r)){let{message:e}=iE("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw Error(e)}let o=(t=null,iP(i?.publicKey,!1)||(t=iE("MISSING_OR_INVALID","onSessionSettleRequest() controller public key should be a string")),t);if(o)throw Error(o.message);let a=iR(s,"onSessionSettleRequest()");if(a)throw Error(a.message);if(H(n)){let{message:e}=iE("EXPIRED","onSessionSettleRequest()");throw Error(e)}}),av(this,"isValidUpdate",async e=>{if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`update() params: ${e}`);throw Error(t)}let{topic:t,namespaces:r}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let i=this.client.session.get(t),s=iR(r,"update()");if(s)throw Error(s.message);let n=iL(i.requiredNamespaces,r,"update()");if(n)throw Error(n.message)}),av(this,"isValidExtend",async e=>{if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`extend() params: ${e}`);throw Error(t)}let{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),av(this,"isValidRequest",async e=>{var t;if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`request() params: ${e}`);throw Error(t)}let{topic:r,request:i,chainId:s,expiry:n}=e;this.checkRecentlyDeleted(r),await this.isValidSessionTopic(r);let{namespaces:o}=this.client.session.get(r);if(!ij(o,s)){let{message:e}=iE("MISSING_OR_INVALID",`request() chainId: ${s}`);throw Error(e)}if(iS(i)||!iP(i.method,!1)){let{message:e}=iE("MISSING_OR_INVALID",`request() ${JSON.stringify(i)}`);throw Error(e)}if(!(iP(t=i.method,!1)&&(function(e,t){let r=[];return Object.values(e).forEach(e=>{ip(e.accounts).includes(t)&&r.push(...e.methods)}),r})(o,s).includes(t))){let{message:e}=iE("MISSING_OR_INVALID",`request() method: ${i.method}`);throw Error(e)}if(n&&(!iO(n,!1)||!(n<=an.max)||!(n>=an.min))){let{message:e}=iE("MISSING_OR_INVALID",`request() expiry: ${n}. Expiry must be a number (in seconds) between ${an.min} and ${an.max}`);throw Error(e)}}),av(this,"isValidRespond",async e=>{var t;if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`respond() params: ${e}`);throw Error(t)}let{topic:r,response:i}=e;try{await this.isValidSessionTopic(r)}catch(r){throw null!=(t=e?.response)&&t.id&&this.cleanupAfterResponse(e),r}if(iS(i)||iS(i.result)&&iS(i.error)||!iO(i.id,!1)||!iP(i.jsonrpc,!1)){let{message:e}=iE("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(i)}`);throw Error(e)}}),av(this,"isValidPing",async e=>{if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),av(this,"isValidEmit",async e=>{var t;if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`emit() params: ${e}`);throw Error(t)}let{topic:r,event:i,chainId:s}=e;await this.isValidSessionTopic(r);let{namespaces:n}=this.client.session.get(r);if(!ij(n,s)){let{message:e}=iE("MISSING_OR_INVALID",`emit() chainId: ${s}`);throw Error(e)}if(iS(i)||!iP(i.name,!1)){let{message:e}=iE("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw Error(e)}if(!(iP(t=i.name,!1)&&(function(e,t){let r=[];return Object.values(e).forEach(e=>{ip(e.accounts).includes(t)&&r.push(...e.events)}),r})(n,s).includes(t))){let{message:e}=iE("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw Error(e)}}),av(this,"isValidDisconnect",async e=>{if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),av(this,"isValidAuthenticate",e=>{let{chains:t,uri:r,domain:i,nonce:s}=e;if(!Array.isArray(t)||0===t.length)throw Error("chains is required and must be a non-empty array");if(!iP(r,!1))throw Error("uri is required parameter");if(!iP(i,!1))throw Error("domain is required parameter");if(!iP(s,!1))throw Error("nonce is required parameter");if([...new Set(t.map(e=>y(e).namespace))].length>1)throw Error("Multi-namespace requests are not supported. Please request single namespace only.");let{namespace:n}=y(t[0]);if("eip155"!==n)throw Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}),av(this,"getVerifyContext",async e=>{let{attestationId:t,hash:r,encryptedId:i,metadata:s,transportType:n}=e,o={verified:{verifyUrl:s.verifyUrl||sx,validation:"UNKNOWN",origin:s.url||""}};try{if(n===sv.link_mode){let e=this.getAppLinkIfEnabled(s,n);return o.verified.validation=e&&new URL(e).origin===new URL(s.url).origin?"VALID":"INVALID",o}let e=await this.client.core.verify.resolve({attestationId:t,hash:r,encryptedId:i,verifyUrl:s.verifyUrl});e&&(o.verified.origin=e.origin,o.verified.isScam=e.isScam,o.verified.validation=e.origin===new URL(s.url).origin?"VALID":"INVALID")}catch(e){this.client.logger.warn(e)}return this.client.logger.debug(`Verify context: ${JSON.stringify(o)}`),o}),av(this,"validateSessionProps",(e,t)=>{Object.values(e).forEach((r,i)=>{if(null==r){let{message:s}=iE("MISSING_OR_INVALID",`${t} must contain an existing value for each key. Received: ${r} for key ${Object.keys(e)[i]}`);throw Error(s)}})}),av(this,"getPendingAuthRequest",e=>{let t=this.client.auth.requests.get(e);return"object"==typeof t?t:void 0}),av(this,"addToRecentlyDeleted",(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let e=0,t=this.recentlyDeletedLimit/2;for(let r of this.recentlyDeletedMap.keys()){if(e++>=t)break;this.recentlyDeletedMap.delete(r)}}}),av(this,"checkRecentlyDeleted",e=>{let t=this.recentlyDeletedMap.get(e);if(t){let{message:r}=iE("MISSING_OR_INVALID",`Record was recently deleted - ${t}: ${e}`);throw Error(r)}}),av(this,"isLinkModeEnabled",(e,t)=>{var i,s,n,o,a,c,l,h,u;return!!e&&t===sv.link_mode&&(null==(s=null==(i=this.client.metadata)?void 0:i.redirect)?void 0:s.linkMode)===!0&&(null==(o=null==(n=this.client.metadata)?void 0:n.redirect)?void 0:o.universal)!==void 0&&(null==(c=null==(a=this.client.metadata)?void 0:a.redirect)?void 0:c.universal)!==""&&(null==(l=e?.redirect)?void 0:l.universal)!==void 0&&(null==(h=e?.redirect)?void 0:h.universal)!==""&&(null==(u=e?.redirect)?void 0:u.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&"u">typeof(null==r.g?void 0:r.g.Linking)}),av(this,"getAppLinkIfEnabled",(e,t)=>{var r;return this.isLinkModeEnabled(e,t)?null==(r=e?.redirect)?void 0:r.universal:void 0}),av(this,"handleLinkModeMessage",({url:e})=>{if(!e||!e.includes("wc_ev")||!e.includes("topic"))return;let t=G(e,"topic")||"",r=decodeURIComponent(G(e,"wc_ev")||""),i=this.client.session.keys.includes(t);i&&this.client.session.update(t,{transportType:sv.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:r,sessionExists:i})}),av(this,"registerLinkModeListeners",async()=>{var e;if(Z()||A()&&null!=(e=this.client.metadata.redirect)&&e.linkMode){let e=null==r.g?void 0:r.g.Linking;if("u">typeof e){e.addEventListener("url",this.handleLinkModeMessage,this.client.name);let t=await e.getInitialURL();t&&setTimeout(()=>{this.handleLinkModeMessage({url:t})},50)}}}),av(this,"shouldSetTVF",(e,t)=>{if(!t||"wc_sessionRequest"!==e)return!1;let{request:r}=t;return Object.keys(aa).includes(r.method)}),av(this,"getTVFParams",(e,t,r)=>{var i,s;try{let n=t.request.method,o=this.extractTxHashesFromResult(n,r);return aw(ab({correlationId:e,rpcMethods:[n],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[null==(s=null==(i=t.request.params)?void 0:i[0])?void 0:s.to]}),{txHashes:o})}catch(e){this.client.logger.warn("Error getting TVF params",e)}return{}}),av(this,"isValidContractData",e=>{var t;if(!e)return!1;try{let r=e?.data||(null==(t=e?.[0])?void 0:t.data);if(!r.startsWith("0x"))return!1;let i=r.slice(2);return!!/^[0-9a-fA-F]*$/.test(i)&&i.length%2==0}catch{}return!1}),av(this,"extractTxHashesFromResult",(e,t)=>{try{let r=aa[e];if("string"==typeof t)return[t];let i=t[r.key];if(i_(i))return"solana_signAllTransactions"===e?i.map(e=>(function(e){let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);let i=r[0];if(0===i)throw Error("No signatures found");if(r.length<1+64*i)throw Error("Transaction data too short for claimed signature count");if(r.length<100)throw Error("Transaction too short");let s=g.from(e,"base64").slice(1,65);return h.Z.encode(s)})(e)):i;if("string"==typeof i)return[i]}catch(e){this.client.logger.warn("Error extracting tx hashes from result",e)}return[]})}async processPendingMessageEvents(){try{let e=this.client.session.keys,t=this.client.core.relayer.messages.getWithoutAck(e);for(let[e,r]of Object.entries(t))for(let t of r)try{await this.onProviderMessageEvent({topic:e,message:t,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${e}, message: ${t}`)}}catch(e){this.client.logger.warn("processPendingMessageEvents failed",e)}}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(sm.message,e=>{this.onProviderMessageEvent(e)})}async onRelayMessage(e){let{topic:t,message:r,attestation:i,transportType:s}=e,{publicKey:n}=this.client.auth.authKeys.keys.includes(ah)?this.client.auth.authKeys.get(ah):{responseTopic:void 0,publicKey:void 0};try{let e=await this.client.core.crypto.decode(t,r,{receiverPublicKey:n,encoding:s===sv.link_mode?rG:rJ});(0,sn.isJsonRpcRequest)(e)?(this.client.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e,attestation:i,transportType:s,encryptedId:rX(r)})):(0,sn.isJsonRpcResponse)(e)?(await this.client.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e,transportType:s}),this.client.core.history.delete(t,e.id)):await this.onRelayEventUnknownPayload({topic:t,payload:e,transportType:s}),await this.client.core.relayer.messages.ack(t,r)}catch(e){this.client.logger.error(e)}}registerExpirerEvents(){this.client.core.expirer.on(sO.expired,async e=>{let{topic:t,id:r}=z(e.target);return r&&this.client.pendingRequest.keys.includes(r)?await this.deletePendingSessionRequest(r,iE("EXPIRED"),!0):r&&this.client.auth.requests.keys.includes(r)?await this.deletePendingAuthRequest(r,iE("EXPIRED"),!0):void(t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:t})):r&&(await this.deleteProposal(r,!0),this.client.events.emit("proposal_expire",{id:r})))})}registerPairingEvents(){this.client.core.pairing.events.on(sS.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(sS.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!iP(e,!1)){let{message:t}=iE("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){let{message:t}=iE("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw Error(t)}if(H(this.client.core.pairing.pairings.get(e).expiry)){let{message:t}=iE("EXPIRED",`pairing topic: ${e}`);throw Error(t)}}async isValidSessionTopic(e){if(!iP(e,!1)){let{message:t}=iE("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw Error(t)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){let{message:t}=iE("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw Error(t)}if(H(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});let{message:t}=iE("EXPIRED",`session topic: ${e}`);throw Error(t)}if(!this.client.core.crypto.keychain.has(e)){let{message:t}=iE("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),Error(t)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if(iP(e,!1)){let{message:t}=iE("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw Error(t)}else{let{message:t}=iE("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw Error(t)}}async isValidProposalId(e){if("number"!=typeof e){let{message:t}=iE("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw Error(t)}if(!this.client.proposal.keys.includes(e)){let{message:t}=iE("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw Error(t)}if(H(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);let{message:t}=iE("EXPIRED",`proposal id: ${e}`);throw Error(t)}}}class aI extends oS{constructor(e,t){super(e,t,"proposal",o7),this.core=e,this.logger=t}}class a_ extends oS{constructor(e,t){super(e,t,"session",o7),this.core=e,this.logger=t}}class aD extends oS{constructor(e,t){super(e,t,"request",o7,e=>e.id),this.core=e,this.logger=t}}class aS extends oS{constructor(e,t){super(e,t,"authKeys",al,()=>ah),this.core=e,this.logger=t}}class aP extends oS{constructor(e,t){super(e,t,"pairingTopics",al),this.core=e,this.logger=t}}class aO extends oS{constructor(e,t){super(e,t,"requests",al,e=>e.id),this.core=e,this.logger=t}}var ax=Object.defineProperty,aC=(e,t,r)=>t in e?ax(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aA=(e,t,r)=>aC(e,"symbol"!=typeof t?t+"":t,r);class aR{constructor(e,t){this.core=e,this.logger=t,aA(this,"authKeys"),aA(this,"pairingTopics"),aA(this,"requests"),this.authKeys=new aS(this.core,this.logger),this.pairingTopics=new aP(this.core,this.logger),this.requests=new aO(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var aN=Object.defineProperty,aT=(e,t,r)=>t in e?aN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aj=(e,t,r)=>aT(e,"symbol"!=typeof t?t+"":t,r);class aL extends st{constructor(e){super(e),aj(this,"protocol","wc"),aj(this,"version",2),aj(this,"name",ae.name),aj(this,"metadata"),aj(this,"core"),aj(this,"logger"),aj(this,"events",new i.EventEmitter),aj(this,"engine"),aj(this,"session"),aj(this,"proposal"),aj(this,"pendingRequest"),aj(this,"auth"),aj(this,"signConfig"),aj(this,"on",(e,t)=>this.events.on(e,t)),aj(this,"once",(e,t)=>this.events.once(e,t)),aj(this,"off",(e,t)=>this.events.off(e,t)),aj(this,"removeListener",(e,t)=>this.events.removeListener(e,t)),aj(this,"removeAllListeners",e=>this.events.removeAllListeners(e)),aj(this,"connect",async e=>{try{return await this.engine.connect(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"pair",async e=>{try{return await this.engine.pair(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"approve",async e=>{try{return await this.engine.approve(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"reject",async e=>{try{return await this.engine.reject(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"update",async e=>{try{return await this.engine.update(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"extend",async e=>{try{return await this.engine.extend(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"request",async e=>{try{return await this.engine.request(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"respond",async e=>{try{return await this.engine.respond(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"ping",async e=>{try{return await this.engine.ping(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"emit",async e=>{try{return await this.engine.emit(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"disconnect",async e=>{try{return await this.engine.disconnect(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"find",e=>{try{return this.engine.find(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"getPendingSessionRequests",()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}}),aj(this,"authenticate",async(e,t)=>{try{return await this.engine.authenticate(e,t)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"formatAuthMessage",e=>{try{return this.engine.formatAuthMessage(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"approveSessionAuthenticate",async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"rejectSessionAuthenticate",async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),this.name=e?.name||ae.name,this.metadata=function(e){var t,r;let i=j();try{return null!=e&&e.url&&i.url&&new URL(e.url).host!==new URL(i.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${e.url} differs from the actual page url:${i.url}. This is probably unintended and can lead to issues.`),e.url=i.url),null!=(t=e?.icons)&&t.length&&e.icons.length>0&&(e.icons=e.icons.filter(e=>""!==e)),O(P(P({},i),e),{url:e?.url||i.url,name:e?.name||i.name,description:e?.description||i.description,icons:null!=(r=e?.icons)&&r.length&&e.icons.length>0?e.icons:i.icons})}catch(t){return console.warn("Error populating app metadata",t),e||i}}(e?.metadata),this.signConfig=e?.signConfig;let t="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,iF.gw)((0,iF.jI)({level:e?.logger||ae.logger}));this.core=e?.core||new o6(e),this.logger=(0,iF.Ep)(t,this.name),this.session=new a_(this.core,this.logger),this.proposal=new aI(this.core,this.logger),this.pendingRequest=new aD(this.core,this.logger),this.engine=new aE(this),this.auth=new aR(this.core,this.logger)}static async init(e){let t=new aL(e);return await t.initialize(),t}get context(){return(0,iF.Fd)(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()},(0,o.toMiliseconds)(o.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}var ak=r(14441),aU=r(63157).Buffer;let aB="error",aq="wc@2:universal_provider:",a$="https://rpc.walletconnect.org/v1/",aM="generic",az=`${a$}bundler`,aF="default_chain_changed";function aH(){}function aV(e){return null==e||"object"!=typeof e&&"function"!=typeof e}function aK(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function aW(e){return"object"==typeof e&&null!==e}function aJ(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function aG(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let aY="[object String]",aZ="[object Number]",aQ="[object Boolean]",aX="[object Arguments]";function a0(e,t,r,i=new Map,s){let n=s?.(e,t,r,i);if(null!=n)return n;if(aV(e))return e;if(i.has(e))return i.get(e);if(Array.isArray(e)){let t=Array(e.length);i.set(e,t);for(let n=0;n<e.length;n++)t[n]=a0(e[n],n,r,i,s);return Object.hasOwn(e,"index")&&(t.index=e.index),Object.hasOwn(e,"input")&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;for(let[n,o]of(i.set(e,t),e))t.set(n,a0(o,n,r,i,s));return t}if(e instanceof Set){let t=new Set;for(let n of(i.set(e,t),e))t.add(a0(n,void 0,r,i,s));return t}if("u">typeof aU&&aU.isBuffer(e))return e.subarray();if(aK(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);i.set(e,t);for(let n=0;n<e.length;n++)t[n]=a0(e[n],n,r,i,s);return t}if(e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return i.set(e,t),a1(t,e,r,i,s),t}if("u">typeof File&&e instanceof File){let t=new File([e],e.name,{type:e.type});return i.set(e,t),a1(t,e,r,i,s),t}if(e instanceof Blob){let t=new Blob([e],{type:e.type});return i.set(e,t),a1(t,e,r,i,s),t}if(e instanceof Error){let t=new e.constructor;return i.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,a1(t,e,r,i,s),t}if("object"==typeof e&&function(e){switch(aG(e)){case aX:case"[object Array]":case"[object ArrayBuffer]":case"[object DataView]":case aQ:case"[object Date]":case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Map]":case aZ:case"[object Object]":case"[object RegExp]":case"[object Set]":case aY:case"[object Symbol]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return!0;default:return!1}}(e)){let t=Object.create(Object.getPrototypeOf(e));return i.set(e,t),a1(t,e,r,i,s),t}return e}function a1(e,t,r=e,i,s){let n=[...Object.keys(t),...aJ(t)];for(let o=0;o<n.length;o++){let a=n[o],c=Object.getOwnPropertyDescriptor(e,a);(null==c||c.writable)&&(e[a]=a0(t[a],a,r,i,s))}}function a2(e){var t;return t=(t,r,i,s)=>{let n=void 0;if(null!=n)return n;if("object"==typeof e)switch(Object.prototype.toString.call(e)){case aZ:case aY:case aQ:{let t=new e.constructor(e?.valueOf());return a1(t,e),t}case aX:{let t={};return a1(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}},a0(e,void 0,e,new Map,t)}function a8(e){return null!==e&&"object"==typeof e&&"[object Arguments]"===aG(e)}var a3=Object.defineProperty,a5=Object.defineProperties,a4=Object.getOwnPropertyDescriptors,a6=Object.getOwnPropertySymbols,a9=Object.prototype.hasOwnProperty,a7=Object.prototype.propertyIsEnumerable,ce=(e,t,r)=>t in e?a3(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ct=(e,t)=>{for(var r in t||(t={}))a9.call(t,r)&&ce(e,r,t[r]);if(a6)for(var r of a6(t))a7.call(t,r)&&ce(e,r,t[r]);return e},cr=(e,t)=>a5(e,a4(t));function ci(e,t,r){var i;let s=y(e);return(null==(i=t.rpcMap)?void 0:i[s.reference])||`${a$}?chainId=${s.namespace}:${s.reference}&projectId=${r}`}function cs(e){return e.includes(":")?e.split(":")[1]:e}function cn(e){return e.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function co(e={},t={}){return function(e,...t){return function(e,...t){let r=t.slice(0,-1),i=t[t.length-1],s=e;for(let e=0;e<r.length;e++)s=function e(t,r,i,s){if(aV(t)&&(t=Object(t)),null==r||"object"!=typeof r)return t;if(s.has(r))return function(e){if(aV(e))return e;if(Array.isArray(e)||aK(e)||e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);let t=Object.getPrototypeOf(e),r=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new r(e);if(e instanceof RegExp){let t=new r(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new r(e.buffer.slice(0));if(e instanceof Error){let t=new r(e.message);return t.stack=e.stack,t.name=e.name,t.cause=e.cause,t}return"u">typeof File&&e instanceof File?new r([e],e.name,{type:e.type,lastModified:e.lastModified}):"object"==typeof e?Object.assign(Object.create(t),e):e}(s.get(r));if(s.set(r,t),Array.isArray(r)){r=r.slice();for(let e=0;e<r.length;e++)r[e]=r[e]??void 0}let n=[...Object.keys(r),...aJ(r)];for(let o=0;o<n.length;o++){let a=n[o],c=r[a],l=t[a];if(a8(c)&&(c={...c}),a8(l)&&(l={...l}),"u">typeof aU&&aU.isBuffer(c)&&(c=a2(c)),Array.isArray(c)){if("object"==typeof l&&null!=l){let e=[],t=Reflect.ownKeys(l);for(let r=0;r<t.length;r++){let i=t[r];e[i]=l[i]}l=e}else l=[]}let h=i(l,c,a,t,r,s);null!=h?t[a]=h:Array.isArray(c)||aW(l)&&aW(c)?t[a]=e(l,c,i,s):null==l&&function(e){if("object"!=typeof e||null==e)return!1;if(null===Object.getPrototypeOf(e))return!0;if("[object Object]"!==Object.prototype.toString.call(e)){let t=e[Symbol.toStringTag];return!!(null!=t&&Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable)&&e.toString()===`[object ${t}]`}let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}(c)?t[a]=e({},c,i,s):null==l&&aK(c)?t[a]=a2(c):(void 0===l||void 0!==c)&&(t[a]=c)}return t}(s,r[e],i,new Map);return s}(e,...t,aH)}(ca(e),ca(t))}function ca(e){var t,r,i,s,n;let o={};if(!iD(e))return o;for(let[a,c]of Object.entries(e)){let e=ig(a)?[a]:c.chains,l=c.methods||[],h=c.events||[],u=c.rpcMap||{},d=iy(a);o[d]=cr(ct(ct({},o[d]),c),{chains:K(e,null==(t=o[d])?void 0:t.chains),methods:K(l,null==(r=o[d])?void 0:r.methods),events:K(h,null==(i=o[d])?void 0:i.events)}),(iD(u)||iD((null==(s=o[d])?void 0:s.rpcMap)||{}))&&(o[d].rpcMap=ct(ct({},u),null==(n=o[d])?void 0:n.rpcMap))}return o}function cc(e){return e.includes(":")?e.split(":")[2]:e}function cl(e){let t={};for(let[r,i]of Object.entries(e)){let e=i.methods||[],s=i.events||[],n=i.accounts||[],o=ig(r)?[r]:i.chains?i.chains:cn(i.accounts);t[r]={chains:o,methods:e,events:s,accounts:n}}return t}function ch(e){return"number"==typeof e?e:e.includes("0x")?parseInt(e,16):isNaN(Number(e=e.includes(":")?e.split(":")[1]:e))?e:Number(e)}let cu={},cd=e=>cu[e],cp=(e,t)=>{cu[e]=t};var cf=Object.defineProperty,cg=(e,t,r)=>t in e?cf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cy=(e,t,r)=>cg(e,"symbol"!=typeof t?t+"":t,r);class cm{constructor(e){cy(this,"name","polkadot"),cy(this,"client"),cy(this,"httpProviders"),cy(this,"events"),cy(this,"namespace"),cy(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(aF,`${this.name}:${e}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=cs(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var cb=Object.defineProperty,cw=Object.defineProperties,cv=Object.getOwnPropertyDescriptors,cE=Object.getOwnPropertySymbols,cI=Object.prototype.hasOwnProperty,c_=Object.prototype.propertyIsEnumerable,cD=(e,t,r)=>t in e?cb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cS=(e,t)=>{for(var r in t||(t={}))cI.call(t,r)&&cD(e,r,t[r]);if(cE)for(var r of cE(t))c_.call(t,r)&&cD(e,r,t[r]);return e},cP=(e,t)=>cw(e,cv(t)),cO=(e,t,r)=>cD(e,"symbol"!=typeof t?t+"":t,r);class cx{constructor(e){cO(this,"name","eip155"),cO(this,"client"),cO(this,"chainId"),cO(this,"namespace"),cO(this,"httpProviders"),cO(this,"events"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case"eth_requestAccounts":case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain());case"wallet_getCapabilities":return await this.getCapabilities(e);case"wallet_getCallsStatus":return await this.getCallStatus(e)}return this.namespace.methods.includes(e.request.method)?await this.client.request(e):this.getHttpProvider().request(e.request)}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(parseInt(e),t),this.chainId=parseInt(e),this.events.emit(aF,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,t){let r=t||ci(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.k(r,cd("disableProviderPing")))}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=parseInt(cs(t));e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}getHttpProvider(){let e=this.chainId,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){var t,r;let i=e.request.params?null==(t=e.request.params[0])?void 0:t.chainId:"0x0",s=parseInt(i=i.startsWith("0x")?i:`0x${i}`,16);if(this.isChainApproved(s))this.setDefaultChain(`${s}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:i}]},chainId:null==(r=this.namespace.chains)?void 0:r[0]}),this.setDefaultChain(`${s}`);else throw Error(`Failed to switch to chain 'eip155:${s}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(e){return this.namespace.chains.includes(`${this.name}:${e}`)}async getCapabilities(e){var t,r,i,s,n;let o=null==(r=null==(t=e.request)?void 0:t.params)?void 0:r[0],a=(null==(s=null==(i=e.request)?void 0:i.params)?void 0:s[1])||[],c=`${o}${a.join(",")}`;if(!o)throw Error("Missing address parameter in `wallet_getCapabilities` request");let l=this.client.session.get(e.topic),h=(null==(n=l?.sessionProperties)?void 0:n.capabilities)||{};if(null!=h&&h[c])return h?.[c];let u=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:cP(cS({},l.sessionProperties||{}),{capabilities:cP(cS({},h||{}),{[c]:u})})})}catch(e){console.warn("Failed to update session with capabilities",e)}return u}async getCallStatus(e){var t,r;let i=this.client.session.get(e.topic),s=null==(t=i.sessionProperties)?void 0:t.bundler_name;if(s){let t=this.getBundlerUrl(e.chainId,s);try{return await this.getUserOperationReceipt(t,e)}catch(e){console.warn("Failed to fetch call status from bundler",e,t)}}let n=null==(r=i.sessionProperties)?void 0:r.bundler_url;if(n)try{return await this.getUserOperationReceipt(n,e)}catch(e){console.warn("Failed to fetch call status from custom bundler",e,n)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw Error("Fetching call status not approved by the wallet.")}async getUserOperationReceipt(e,t){var r;let i=new URL(e),s=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,sn.formatJsonRpcRequest)("eth_getUserOperationReceipt",[null==(r=t.request.params)?void 0:r[0]]))});if(!s.ok)throw Error(`Failed to fetch user operation receipt - ${s.status}`);return await s.json()}getBundlerUrl(e,t){return`${az}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}}var cC=Object.defineProperty,cA=(e,t,r)=>t in e?cC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cR=(e,t,r)=>cA(e,"symbol"!=typeof t?t+"":t,r);class cN{constructor(e){cR(this,"name","solana"),cR(this,"client"),cR(this,"httpProviders"),cR(this,"events"),cR(this,"namespace"),cR(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(aF,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=cs(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var cT=Object.defineProperty,cj=(e,t,r)=>t in e?cT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cL=(e,t,r)=>cj(e,"symbol"!=typeof t?t+"":t,r);class ck{constructor(e){cL(this,"name","cosmos"),cL(this,"client"),cL(this,"httpProviders"),cL(this,"events"),cL(this,"namespace"),cL(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(aF,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=cs(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var cU=Object.defineProperty,cB=(e,t,r)=>t in e?cU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cq=(e,t,r)=>cB(e,"symbol"!=typeof t?t+"":t,r);class c${constructor(e){cq(this,"name","algorand"),cq(this,"client"),cq(this,"httpProviders"),cq(this,"events"),cq(this,"namespace"),cq(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(!this.httpProviders[e]){let r=t||ci(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.chainId=e,this.events.emit(aF,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;e[t]=this.createHttpProvider(t,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace,this.client.core.projectId);return typeof r>"u"?void 0:new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var cM=Object.defineProperty,cz=(e,t,r)=>t in e?cM(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cF=(e,t,r)=>cz(e,"symbol"!=typeof t?t+"":t,r);class cH{constructor(e){cF(this,"name","cip34"),cF(this,"client"),cF(this,"httpProviders"),cF(this,"events"),cF(this,"namespace"),cF(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(aF,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let r=this.getCardanoRPCUrl(t),i=cs(t);e[i]=this.createHttpProvider(i,r)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){let t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||this.getCardanoRPCUrl(e);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var cV=Object.defineProperty,cK=(e,t,r)=>t in e?cV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cW=(e,t,r)=>cK(e,"symbol"!=typeof t?t+"":t,r);class cJ{constructor(e){cW(this,"name","elrond"),cW(this,"client"),cW(this,"httpProviders"),cW(this,"events"),cW(this,"namespace"),cW(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(aF,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=cs(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var cG=Object.defineProperty,cY=(e,t,r)=>t in e?cG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cZ=(e,t,r)=>cY(e,"symbol"!=typeof t?t+"":t,r);class cQ{constructor(e){cZ(this,"name","multiversx"),cZ(this,"client"),cZ(this,"httpProviders"),cZ(this,"events"),cZ(this,"namespace"),cZ(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(aF,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=cs(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var cX=Object.defineProperty,c0=(e,t,r)=>t in e?cX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,c1=(e,t,r)=>c0(e,"symbol"!=typeof t?t+"":t,r);class c2{constructor(e){c1(this,"name","near"),c1(this,"client"),c1(this,"httpProviders"),c1(this,"events"),c1(this,"namespace"),c1(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let r=t||ci(`${this.name}:${e}`,this.namespace);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.events.emit(aF,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;e[t]=this.createHttpProvider(t,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace);return typeof r>"u"?void 0:new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var c8=Object.defineProperty,c3=(e,t,r)=>t in e?c8(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,c5=(e,t,r)=>c3(e,"symbol"!=typeof t?t+"":t,r);class c4{constructor(e){c5(this,"name","tezos"),c5(this,"client"),c5(this,"httpProviders"),c5(this,"events"),c5(this,"namespace"),c5(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let r=t||ci(`${this.name}:${e}`,this.namespace);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.events.emit(aF,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace);return typeof r>"u"?void 0:new ss.r(new ak.Z(r))}}var c6=Object.defineProperty,c9=(e,t,r)=>t in e?c6(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,c7=(e,t,r)=>c9(e,"symbol"!=typeof t?t+"":t,r);class le{constructor(e){c7(this,"name",aM),c7(this,"client"),c7(this,"httpProviders"),c7(this,"events"),c7(this,"namespace"),c7(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(e.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(e.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(e.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(e.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider(e.chainId).request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(aF,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){var e,t;let r={};return null==(t=null==(e=this.namespace)?void 0:e.accounts)||t.forEach(e=>{let t=y(e);r[`${t.namespace}:${t.reference}`]=this.createHttpProvider(e)}),r}getHttpProvider(e){let t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var lt=Object.defineProperty,lr=Object.defineProperties,li=Object.getOwnPropertyDescriptors,ls=Object.getOwnPropertySymbols,ln=Object.prototype.hasOwnProperty,lo=Object.prototype.propertyIsEnumerable,la=(e,t,r)=>t in e?lt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lc=(e,t)=>{for(var r in t||(t={}))ln.call(t,r)&&la(e,r,t[r]);if(ls)for(var r of ls(t))lo.call(t,r)&&la(e,r,t[r]);return e},ll=(e,t)=>lr(e,li(t)),lh=(e,t,r)=>la(e,"symbol"!=typeof t?t+"":t,r);class lu{constructor(e){lh(this,"client"),lh(this,"namespaces"),lh(this,"optionalNamespaces"),lh(this,"sessionProperties"),lh(this,"scopedProperties"),lh(this,"events",new(s())),lh(this,"rpcProviders",{}),lh(this,"session"),lh(this,"providerOpts"),lh(this,"logger"),lh(this,"uri"),lh(this,"disableProviderPing",!1),this.providerOpts=e,this.logger="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,iF.gw)((0,iF.jI)({level:e?.logger||aB})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(e){let t=new lu(e);return await t.initialize(),t}async request(e,t,r){let[i,s]=this.validateChain(t);if(!this.session)throw Error("Please call connect() before request()");return await this.getProvider(i).request({request:lc({},e),chainId:`${i}:${s}`,topic:this.session.topic,expiry:r})}sendAsync(e,t,r,i){let s=new Date().getTime();this.request(e,r,i).then(e=>t(null,(0,sn.formatJsonRpcResult)(s,e))).catch(e=>t(e,void 0))}async enable(){if(!this.client)throw Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw Error("Please call connect() before enable()");await this.client.disconnect({topic:null==(e=this.session)?void 0:e.topic,reason:iI("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw Error("Sign Client not initialized");if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,t){if(!this.client)throw Error("Sign Client not initialized");this.setNamespaces(e),await this.cleanupPendingPairings();let{uri:r,response:i}=await this.client.authenticate(e,t);r&&(this.uri=r,this.events.emit("display_uri",r));let s=await i();if(this.session=s.session,this.session){let e=cl(this.session.namespaces);this.namespaces=co(this.namespaces,e),await this.persist("namespaces",this.namespaces),this.onConnect()}return s}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}removeListener(e,t){this.events.removeListener(e,t)}off(e,t){this.events.off(e,t)}get isWalletConnect(){return!0}async pair(e){let{uri:t,approval:r}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties});t&&(this.uri=t,this.events.emit("display_uri",t));let i=await r();this.session=i;let s=cl(i.namespaces);return this.namespaces=co(this.namespaces,s),await this.persist("namespaces",this.namespaces),await this.persist("optionalNamespaces",this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;let[r,i]=this.validateChain(e),s=this.getProvider(r);s.name===aM?s.setDefaultChain(`${r}:${i}`,t):s.setDefaultChain(i,t)}catch(e){if(!/Please call connect/.test(e.message))throw e}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");let t=this.client.pairing.getAll();if(i_(t)){for(let r of t)e.deletePairings?this.client.core.expirer.set(r.topic,0):await this.client.core.relayer.subscriber.unsubscribe(r.topic);this.logger.info(`Inactive pairings cleared: ${t.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 e,t;if(this.client=this.providerOpts.client||await aL.init({core:this.providerOpts.core,logger:this.providerOpts.logger||aB,relayUrl:this.providerOpts.relayUrl||"wss://relay.walletconnect.org",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(r){throw this.logger.error("Failed to get session",r),Error(`The provided session: ${null==(t=null==(e=this.providerOpts)?void 0:e.session)?void 0:t.topic} doesn't exist in the Sign client`)}else{let e=this.client.session.getAll();this.session=e[0]}this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw Error("Sign Client not initialized");if(!this.session)throw Error("Session not initialized. Please call connect() before enable()");let e=[...new Set(Object.keys(this.session.namespaces).map(e=>iy(e)))];cp("client",this.client),cp("events",this.events),cp("disableProviderPing",this.disableProviderPing),e.forEach(e=>{if(!this.session)return;let t=function(e,t){let r=Object.keys(t.namespaces).filter(t=>t.includes(e));if(!r.length)return[];let i=[];return r.forEach(e=>{let r=t.namespaces[e].accounts;i.push(...r)}),i}(e,this.session),r=cn(t),i=ll(lc({},co(this.namespaces,this.optionalNamespaces)[e]),{accounts:t,chains:r});switch(e){case"eip155":this.rpcProviders[e]=new cx({namespace:i});break;case"algorand":this.rpcProviders[e]=new c$({namespace:i});break;case"solana":this.rpcProviders[e]=new cN({namespace:i});break;case"cosmos":this.rpcProviders[e]=new ck({namespace:i});break;case"polkadot":this.rpcProviders[e]=new cm({namespace:i});break;case"cip34":this.rpcProviders[e]=new cH({namespace:i});break;case"elrond":this.rpcProviders[e]=new cJ({namespace:i});break;case"multiversx":this.rpcProviders[e]=new cQ({namespace:i});break;case"near":this.rpcProviders[e]=new c2({namespace:i});break;case"tezos":this.rpcProviders[e]=new c4({namespace:i});break;default:this.rpcProviders[aM]?this.rpcProviders[aM].updateNamespace(i):this.rpcProviders[aM]=new le({namespace:i})}})}registerEventListeners(){if(typeof this.client>"u")throw Error("Sign Client is not initialized");this.client.on("session_ping",e=>{var t;let{topic:r}=e;r===(null==(t=this.session)?void 0:t.topic)&&this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{var t;let{params:r,topic:i}=e;if(i!==(null==(t=this.session)?void 0:t.topic))return;let{event:s}=r;if("accountsChanged"===s.name){let e=s.data;e&&i_(e)&&this.events.emit("accountsChanged",e.map(cc))}else if("chainChanged"===s.name){let e=r.chainId,t=r.event.data,i=iy(e),s=ch(e)!==ch(t)?`${i}:${ch(t)}`:e;this.onChainChanged(s)}else this.events.emit(s.name,s.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var r,i;if(e!==(null==(r=this.session)?void 0:r.topic))return;let{namespaces:s}=t,n=null==(i=this.client)?void 0:i.session.get(e);this.session=ll(lc({},n),{namespaces:s}),this.onSessionUpdate(),this.events.emit("session_update",{topic:e,params:t})}),this.client.on("session_delete",async e=>{var t;e.topic===(null==(t=this.session)?void 0:t.topic)&&(await this.cleanup(),this.events.emit("session_delete",e),this.events.emit("disconnect",ll(lc({},iI("USER_DISCONNECTED")),{data:e.topic})))}),this.on(aF,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[aM]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var t;this.getProvider(e).updateNamespace(null==(t=this.session)?void 0:t.namespaces[e])})}setNamespaces(e){let{namespaces:t={},optionalNamespaces:r={},sessionProperties:i,scopedProperties:s}=e;this.optionalNamespaces=co(t,r),this.sessionProperties=i,this.scopedProperties=s}validateChain(e){let[t,r]=e?.split(":")||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,r];if(t&&!Object.keys(this.namespaces||{}).map(e=>iy(e)).includes(t))throw Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&r)return[t,r];let i=iy(Object.keys(this.namespaces)[0]),s=this.rpcProviders[i].getDefaultChain();return[i,s]}async requestAccounts(){let[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged(e,t=!1){if(!this.namespaces)return;let[r,i]=this.validateChain(e);if(!i)return;this.updateNamespaceChain(r,i),this.events.emit("chainChanged",i);let s=this.getProvider(r).getDefaultChain();t||this.getProvider(r).setDefaultChain(i),this.emitAccountsChangedOnChainChange({namespace:r,previousChainId:s,newChainId:e}),await this.persist("namespaces",this.namespaces)}emitAccountsChangedOnChainChange({namespace:e,previousChainId:t,newChainId:r}){var i,s;try{if(t===r)return;let n=null==(s=null==(i=this.session)?void 0:i.namespaces[e])?void 0:s.accounts;if(!n)return;let o=n.filter(e=>e.includes(`${r}:`)).map(cc);if(!i_(o))return;this.events.emit("accountsChanged",o)}catch(e){this.logger.warn("Failed to emit accountsChanged on chain change",e)}}updateNamespaceChain(e,t){if(!this.namespaces)return;let r=this.namespaces[e]?e:`${e}:${t}`;this.namespaces[r]?this.namespaces[r]&&(this.namespaces[r].defaultChain=t):this.namespaces[r]={chains:[],methods:[],events:[],defaultChain:t}}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(e,t){var r;let i=(null==(r=this.session)?void 0:r.topic)||"";await this.client.core.storage.setItem(`${aq}/${e}${i}`,t)}async getFromStore(e){var t;let r=(null==(t=this.session)?void 0:t.topic)||"";return await this.client.core.storage.getItem(`${aq}/${e}${r}`)}async deleteFromStore(e){var t;let r=(null==(t=this.session)?void 0:t.topic)||"";await this.client.core.storage.removeItem(`${aq}/${e}${r}`)}async cleanupStorage(){var e;try{if((null==(e=this.client)?void 0:e.session.length)>0)return;for(let e of(await this.client.core.storage.getKeys()))e.startsWith(aq)&&await this.client.core.storage.removeItem(e)}catch(e){this.logger.warn("Failed to cleanup storage",e)}}}let ld=["eth_sendTransaction","personal_sign"],lp=["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"],lf=["chainChanged","accountsChanged"],lg=["chainChanged","accountsChanged","message","disconnect","connect"],ly=async()=>{let{createAppKit:e}=await r.e(645).then(r.bind(r,60645));return e};var lm=Object.defineProperty,lb=Object.defineProperties,lw=Object.getOwnPropertyDescriptors,lv=Object.getOwnPropertySymbols,lE=Object.prototype.hasOwnProperty,lI=Object.prototype.propertyIsEnumerable,l_=(e,t,r)=>t in e?lm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lD=(e,t)=>{for(var r in t||(t={}))lE.call(t,r)&&l_(e,r,t[r]);if(lv)for(var r of lv(t))lI.call(t,r)&&l_(e,r,t[r]);return e},lS=(e,t)=>lb(e,lw(t)),lP=(e,t,r)=>l_(e,"symbol"!=typeof t?t+"":t,r);function lO(e){return Number(e[0].split(":")[1])}function lx(e){return`0x${e.toString(16)}`}class lC{constructor(){lP(this,"events",new i.EventEmitter),lP(this,"namespace","eip155"),lP(this,"accounts",[]),lP(this,"signer"),lP(this,"chainId",1),lP(this,"modal"),lP(this,"rpc"),lP(this,"STORAGE_KEY","wc@2:ethereum_provider:"),lP(this,"on",(e,t)=>(this.events.on(e,t),this)),lP(this,"once",(e,t)=>(this.events.once(e,t),this)),lP(this,"removeListener",(e,t)=>(this.events.removeListener(e,t),this)),lP(this,"off",(e,t)=>(this.events.off(e,t),this)),lP(this,"parseAccount",e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e),this.signer={},this.rpc={}}static async init(e){let t=new lC;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,r){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),r)}get connected(){return!!this.signer.client&&this.signer.client.core.relayer.connected}get connecting(){return!!this.signer.client&&this.signer.client.core.relayer.connecting}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(e){var t;if(!this.signer.client)throw Error("Provider not initialized. Call init() first");this.loadConnectOpts(e);let{required:r,optional:i}=function(e){let{chains:t,optionalChains:r,methods:i,optionalMethods:s,events:n,optionalEvents:o,rpcMap:a}=e;if(!i_(t))throw Error("Invalid chains");let c={chains:t,methods:i||ld,events:n||lf,rpcMap:lD({},t.length?{[lO(t)]:a[lO(t)]}:{})},l=n?.filter(e=>!lf.includes(e)),h=i?.filter(e=>!ld.includes(e));if(!r&&!o&&!s&&!(null!=l&&l.length)&&!(null!=h&&h.length))return{required:t.length?c:void 0};let u={chains:[...new Set(l?.length&&h?.length||!r?c.chains.concat(r||[]):r)],methods:[...new Set(c.methods.concat(null!=s&&s.length?s:lp))],events:[...new Set(c.events.concat(null!=o&&o.length?o:lg))],rpcMap:a};return{required:t.length?c:void 0,optional:r.length?u:void 0}}(this.rpc);try{let t=await new Promise(async(t,s)=>{var n,o;this.rpc.showQrModal&&(null==(n=this.modal)||n.open(),null==(o=this.modal)||o.subscribeState(e=>{e.open||this.signer.session||(this.signer.abortPairingAttempt(),s(Error("Connection request reset. Please try again.")))}));let a=null!=e&&e.scopedProperties?{[this.namespace]:e.scopedProperties}:void 0;await this.signer.connect(lS(lD({namespaces:lD({},r&&{[this.namespace]:r})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:e?.pairingTopic,scopedProperties:a})).then(e=>{t(e)}).catch(e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),s(Error(e.message))})});if(!t)return;let s=m(t.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:s),this.setAccounts(s),this.events.emit("connect",{chainId:lx(this.chainId)})}catch(e){throw this.signer.logger.error(e),e}finally{null==(t=this.modal)||t.close()}}async authenticate(e,t){var r;if(!this.signer.client)throw Error("Provider not initialized. Call init() first");this.loadConnectOpts({chains:e?.chains});try{let r=await new Promise(async(r,i)=>{var s,n;this.rpc.showQrModal&&(null==(s=this.modal)||s.open(),null==(n=this.modal)||n.subscribeState(e=>{e.open||this.signer.session||(this.signer.abortPairingAttempt(),i(Error("Connection request reset. Please try again.")))})),await this.signer.authenticate(lS(lD({},e),{chains:this.rpc.chains}),t).then(e=>{r(e)}).catch(e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),i(Error(e.message))})}),i=r.session;if(i){let e=m(i.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:e),this.setAccounts(e),this.events.emit("connect",{chainId:lx(this.chainId)})}return r}catch(e){throw this.signer.logger.error(e),e}finally{null==(r=this.modal)||r.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",e=>{let{params:t}=e,{event:r}=t;"accountsChanged"===r.name?(this.accounts=this.parseAccounts(r.data),this.events.emit("accountsChanged",this.accounts)):"chainChanged"===r.name?this.setChainId(this.formatChainId(r.data)):this.events.emit(r.name,r.data),this.events.emit("session_event",e)}),this.signer.on("accountsChanged",e=>{this.accounts=this.parseAccounts(e),this.events.emit("accountsChanged",this.accounts)}),this.signer.on("chainChanged",e=>{let t=parseInt(e);this.chainId=t,this.events.emit("chainChanged",lx(this.chainId)),this.persist()}),this.signer.on("session_update",e=>{this.events.emit("session_update",e)}),this.signer.on("session_delete",e=>{this.reset(),this.events.emit("session_delete",e),this.events.emit("disconnect",lS(lD({},iI("USER_DISCONNECTED")),{data:e.topic,name:"USER_DISCONNECTED"}))}),this.signer.on("display_uri",e=>{this.events.emit("display_uri",e)})}switchEthereumChain(e){this.request({method:"wallet_switchEthereumChain",params:[{chainId:e.toString(16)}]})}isCompatibleChainId(e){return"string"==typeof e&&e.startsWith(`${this.namespace}:`)}formatChainId(e){return`${this.namespace}:${e}`}parseChainId(e){return Number(e.split(":")[1])}setChainIds(e){let t=e.filter(e=>this.isCompatibleChainId(e)).map(e=>this.parseChainId(e));t.length&&(this.chainId=t[0],this.events.emit("chainChanged",lx(this.chainId)),this.persist())}setChainId(e){if(this.isCompatibleChainId(e)){let t=this.parseChainId(e);this.chainId=t,this.switchEthereumChain(t)}}parseAccountId(e){let[t,r,i]=e.split(":");return{chainId:`${t}:${r}`,address:i}}setAccounts(e){this.accounts=e.filter(e=>this.parseChainId(this.parseAccountId(e).chainId)===this.chainId).map(e=>this.parseAccountId(e).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(e){var t,r;let i=null!=(t=e?.chains)?t:[],s=null!=(r=e?.optionalChains)?r:[],n=i.concat(s);if(!n.length)throw Error("No chains specified in either `chains` or `optionalChains`");let o=i.length?e?.methods||ld:[],a=i.length?e?.events||lf:[],c=e?.optionalMethods||[],l=e?.optionalEvents||[],h=e?.rpcMap||this.buildRpcMap(n,e.projectId),u=e?.qrModalOptions||void 0;return{chains:i?.map(e=>this.formatChainId(e)),optionalChains:s.map(e=>this.formatChainId(e)),methods:o,events:a,optionalMethods:c,optionalEvents:l,rpcMap:h,showQrModal:!!(null!=e&&e.showQrModal),qrModalOptions:u,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){let r={};return e.forEach(e=>{r[e]=this.getRpcUrl(e,t)}),r}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?lO(this.rpc.chains):lO(this.rpc.optionalChains),this.signer=await lu.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:e.disableProviderPing,relayUrl:e.relayUrl,storage:e.storage,storageOptions:e.storageOptions,customStoragePrefix:e.customStoragePrefix,telemetryEnabled:e.telemetryEnabled,logger:e.logger}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let e;try{let t=await ly(),{convertWCMToAppKitOptions:r}=await Promise.resolve().then(function(){return lz}),i=r(lS(lD({},this.rpc.qrModalOptions),{chains:[...new Set([...this.rpc.chains,...this.rpc.optionalChains])],metadata:this.rpc.metadata,projectId:this.rpc.projectId}));if(!i.networks.length)throw Error("No networks found for WalletConnect\xb7");e=t(lS(lD({},i),{universalProvider:this.signer,manualWCControl:!0}))}catch(e){throw console.warn(e),Error("To use QR modal, please install @reown/appkit package")}if(e)try{this.modal=e}catch(e){throw this.signer.logger.error(e),Error("Could not generate WalletConnectModal Instance")}}}loadConnectOpts(e){if(!e)return;let{chains:t,optionalChains:r,rpcMap:i}=e;t&&i_(t)&&(this.rpc.chains=t.map(e=>this.formatChainId(e)),t.forEach(e=>{this.rpc.rpcMap[e]=i?.[e]||this.getRpcUrl(e)})),r&&i_(r)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=r?.map(e=>this.formatChainId(e)),r.forEach(e=>{this.rpc.rpcMap[e]=i?.[e]||this.getRpcUrl(e)}))}getRpcUrl(e,t){var r;return(null==(r=this.rpc.rpcMap)?void 0:r[e])||`https://rpc.walletconnect.org/v1/?chainId=eip155:${e}&projectId=${t||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{let e=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),t=this.session.namespaces[`${this.namespace}:${e}`]?this.session.namespaces[`${this.namespace}:${e}`]:this.session.namespaces[this.namespace];this.setChainIds(e?[this.formatChainId(e)]:t?.accounts),this.setAccounts(t?.accounts)}catch(e){this.signer.logger.error("Failed to load persisted session, clearing state..."),this.signer.logger.error(e),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(e){return"string"==typeof e||e instanceof String?[this.parseAccount(e)]:e.map(e=>this.parseAccount(e))}}let lA=lC;var lR=Object.defineProperty,lN=Object.defineProperties,lT=Object.getOwnPropertyDescriptors,lj=Object.getOwnPropertySymbols,lL=Object.prototype.hasOwnProperty,lk=Object.prototype.propertyIsEnumerable,lU=(e,t,r)=>t in e?lR(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lB=(e,t)=>{for(var r in t||(t={}))lL.call(t,r)&&lU(e,r,t[r]);if(lj)for(var r of lj(t))lk.call(t,r)&&lU(e,r,t[r]);return e},lq=(e,t)=>lN(e,lT(t));let l$=e=>{let[t,r]=e.split(":");return lM({id:r,caipNetworkId:e,chainNamespace:t,name:"",nativeCurrency:{name:"",symbol:"",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}})};function lM(e){return lB({formatters:void 0,fees:void 0,serializers:void 0},e)}var lz=Object.freeze({__proto__:null,convertWCMToAppKitOptions:function(e){var t,r,i,s,n,o,a;let c=null==(t=e.chains)?void 0:t.map(l$).filter(Boolean);if(0===c.length)throw Error("At least one chain must be specified");let l=c.find(t=>{var r;return t.id===(null==(r=e.defaultChain)?void 0:r.id)}),h={projectId:e.projectId,networks:c,themeMode:e.themeMode,themeVariables:function(e){if(e)return{"--w3m-font-family":e["--wcm-font-family"],"--w3m-accent":e["--wcm-accent-color"],"--w3m-color-mix":e["--wcm-background-color"],"--w3m-z-index":e["--wcm-z-index"]?Number(e["--wcm-z-index"]):void 0,"--w3m-qr-color":e["--wcm-accent-color"],"--w3m-font-size-master":e["--wcm-text-medium-regular-size"],"--w3m-border-radius-master":e["--wcm-container-border-radius"],"--w3m-color-mix-strength":0}}(e.themeVariables),chainImages:e.chainImages,connectorImages:e.walletImages,defaultNetwork:l,metadata:lq(lB({},e.metadata),{name:(null==(r=e.metadata)?void 0:r.name)||"WalletConnect",description:(null==(i=e.metadata)?void 0:i.description)||"Connect to WalletConnect-compatible wallets",url:(null==(s=e.metadata)?void 0:s.url)||"https://walletconnect.org",icons:(null==(n=e.metadata)?void 0:n.icons)||["https://walletconnect.org/walletconnect-logo.png"]}),showWallets:!0,featuredWalletIds:"NONE"===e.explorerRecommendedWalletIds?[]:Array.isArray(e.explorerRecommendedWalletIds)?e.explorerRecommendedWalletIds:[],excludeWalletIds:"ALL"===e.explorerExcludedWalletIds?[]:Array.isArray(e.explorerExcludedWalletIds)?e.explorerExcludedWalletIds:[],enableEIP6963:!1,enableInjected:!1,enableCoinbase:!0,enableWalletConnect:!0,features:{email:!1,socials:!1}};if(null!=(o=e.mobileWallets)&&o.length||null!=(a=e.desktopWallets)&&a.length){let t=[...(e.mobileWallets||[]).map(e=>({id:e.id,name:e.name,links:e.links})),...(e.desktopWallets||[]).map(e=>({id:e.id,name:e.name,links:{native:e.links.native,universal:e.links.universal}}))],r=[...h.featuredWalletIds||[],...h.excludeWalletIds||[]],i=t.filter(e=>!r.includes(e.id));i.length&&(h.customWallets=i)}return h},defineChain:lM})},19870:function(e,t,r){"use strict";r.d(t,{q:function(){return i}});class i{}},48957:function(e,t,r){"use strict";r.d(t,{C$:function(){return l},Lx:function(){return c}});var i=r(52484),s=r(2697),n=r(19870);class o extends n.q{constructor(e){super()}}let a=s.FIVE_SECONDS,c={pulse:"heartbeat_pulse"};class l extends o{constructor(e){super(e),this.events=new i.EventEmitter,this.interval=a,this.interval=e?.interval||a}static async init(e){let t=new l(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(),(0,s.toMiliseconds)(this.interval))}pulse(){this.events.emit(c.pulse)}}},14441:function(e,t,r){"use strict";r.d(t,{Z:function(){return b},k:function(){return b}});var i=r(52484),s=r(97448),n=r.n(s),o=r(90834),a=r(83196),c=Object.defineProperty,l=Object.defineProperties,h=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,f=(e,t,r)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,g=(e,t)=>{for(var r in t||(t={}))d.call(t,r)&&f(e,r,t[r]);if(u)for(var r of u(t))p.call(t,r)&&f(e,r,t[r]);return e},y=(e,t)=>l(e,h(t));let m={headers:{Accept:"application/json","Content-Type":"application/json"},method:"POST"};class b{constructor(e,t=!1){if(this.url=e,this.disableProviderPing=t,this.events=new i.EventEmitter,this.isAvailable=!1,this.registering=!1,!(0,a.isHttpUrl)(e))throw Error(`Provided URL is not compatible with HTTP connection: ${e}`);this.url=e,this.disableProviderPing=t}get connected(){return this.isAvailable}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(){if(!this.isAvailable)throw Error("Connection already closed");this.onClose()}async send(e){this.isAvailable||await this.register();try{let t=(0,o.u)(e),r=await (await n()(this.url,y(g({},m),{body:t}))).json();this.onPayload({data:r})}catch(t){this.onError(e.id,t)}}async register(e=this.url){if(!(0,a.isHttpUrl)(e))throw Error(`Provided URL is not compatible with HTTP connection: ${e}`);if(this.registering){let e=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=e||this.events.listenerCount("open")>=e)&&this.events.setMaxListeners(e+1),new Promise((e,t)=>{this.events.once("register_error",e=>{this.resetMaxListeners(),t(e)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.isAvailable>"u")return t(Error("HTTP connection is missing or invalid"));e()})})}this.url=e,this.registering=!0;try{if(!this.disableProviderPing){let t=(0,o.u)({id:1,jsonrpc:"2.0",method:"test",params:[]});await n()(e,y(g({},m),{body:t}))}this.onOpen()}catch(t){let e=this.parseError(t);throw this.events.emit("register_error",e),this.onClose(),e}}onOpen(){this.isAvailable=!0,this.registering=!1,this.events.emit("open")}onClose(){this.isAvailable=!1,this.registering=!1,this.events.emit("close")}onPayload(e){if(typeof e.data>"u")return;let t="string"==typeof e.data?(0,o.D)(e.data):e.data;this.events.emit("payload",t)}onError(e,t){let r=this.parseError(t),i=r.message||r.toString(),s=(0,a.formatJsonRpcError)(e,i);this.events.emit("payload",s)}parseError(e,t=this.url){return(0,a.parseConnectionError)(e,t,"HTTP")}resetMaxListeners(){this.events.getMaxListeners()>10&&this.events.setMaxListeners(10)}}},20624:function(e,t,r){"use strict";r.d(t,{r:function(){return n}});var i=r(52484),s=r(83196);class n extends s.IJsonRpcProvider{constructor(e){super(e),this.events=new i.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}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 request(e,t){return this.requestStrict((0,s.formatJsonRpcRequest)(e.method,e.params||[],e.id||(0,s.getBigIntRpcId)().toString()),t)}async requestStrict(e,t){return new Promise(async(r,i)=>{if(!this.connection.connected)try{await this.open()}catch(e){i(e)}this.events.on(`${e.id}`,e=>{(0,s.isJsonRpcError)(e)?i(e.error):r(e.result)});try{await this.connection.send(e,t)}catch(e){i(e)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),(0,s.isJsonRpcResponse)(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&3e3===e.code&&this.events.emit("error",Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),"string"==typeof e&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",e=>this.onPayload(e)),this.connection.on("close",e=>this.onClose(e)),this.connection.on("error",e=>this.events.emit("error",e)),this.connection.on("register_error",e=>this.onClose()),this.hasRegisteredEventListeners=!0)}}},91752:function(e,t,r){"use strict";r.d(t,{CA:function(){return s},JV:function(){return a},O4:function(){return i},dQ:function(){return n},xK:function(){return o}});let i="INTERNAL_ERROR",s="SERVER_ERROR",n=[-32700,-32600,-32601,-32602,-32603],o={PARSE_ERROR:{code:-32700,message:"Parse error"},INVALID_REQUEST:{code:-32600,message:"Invalid Request"},METHOD_NOT_FOUND:{code:-32601,message:"Method not found"},INVALID_PARAMS:{code:-32602,message:"Invalid params"},[i]:{code:-32603,message:"Internal error"},[s]:{code:-32e3,message:"Server error"}},a=s},60130:function(e,t,r){"use strict";var i=r(79359);r.o(i,"IJsonRpcProvider")&&r.d(t,{IJsonRpcProvider:function(){return i.IJsonRpcProvider}}),r.o(i,"formatJsonRpcError")&&r.d(t,{formatJsonRpcError:function(){return i.formatJsonRpcError}}),r.o(i,"formatJsonRpcRequest")&&r.d(t,{formatJsonRpcRequest:function(){return i.formatJsonRpcRequest}}),r.o(i,"formatJsonRpcResult")&&r.d(t,{formatJsonRpcResult:function(){return i.formatJsonRpcResult}}),r.o(i,"getBigIntRpcId")&&r.d(t,{getBigIntRpcId:function(){return i.getBigIntRpcId}}),r.o(i,"isHttpUrl")&&r.d(t,{isHttpUrl:function(){return i.isHttpUrl}}),r.o(i,"isJsonRpcError")&&r.d(t,{isJsonRpcError:function(){return i.isJsonRpcError}}),r.o(i,"isJsonRpcRequest")&&r.d(t,{isJsonRpcRequest:function(){return i.isJsonRpcRequest}}),r.o(i,"isJsonRpcResponse")&&r.d(t,{isJsonRpcResponse:function(){return i.isJsonRpcResponse}}),r.o(i,"isJsonRpcResult")&&r.d(t,{isJsonRpcResult:function(){return i.isJsonRpcResult}}),r.o(i,"isLocalhostUrl")&&r.d(t,{isLocalhostUrl:function(){return i.isLocalhostUrl}}),r.o(i,"isReactNative")&&r.d(t,{isReactNative:function(){return i.isReactNative}}),r.o(i,"isWsUrl")&&r.d(t,{isWsUrl:function(){return i.isWsUrl}}),r.o(i,"payloadId")&&r.d(t,{payloadId:function(){return i.payloadId}})},44631:function(e,t,r){"use strict";r.d(t,{CX:function(){return a},L2:function(){return o},by:function(){return n},i5:function(){return s}});var i=r(91752);function s(e){return i.dQ.includes(e)}function n(e){return Object.keys(i.xK).includes(e)?i.xK[e]:i.xK[i.JV]}function o(e){return Object.values(i.xK).find(t=>t.code===e)||i.xK[i.JV]}function a(e,t,r){return e.message.includes("getaddrinfo ENOTFOUND")||e.message.includes("connect ECONNREFUSED")?Error(`Unavailable ${r} RPC url at ${t}`):e}},56401:function(e,t,r){"use strict";r.d(t,{CS:function(){return o},RI:function(){return l},o0:function(){return n},sT:function(){return a},tm:function(){return c}});var i=r(44631),s=r(91752);function n(e=3){return Date.now()*Math.pow(10,e)+Math.floor(Math.random()*Math.pow(10,e))}function o(e=6){return BigInt(n(e))}function a(e,t,r){return{id:r||n(),jsonrpc:"2.0",method:e,params:t}}function c(e,t){return{id:e,jsonrpc:"2.0",result:t}}function l(e,t,r){var n;return{id:e,jsonrpc:"2.0",error:void 0===(n=t)?(0,i.by)(s.O4):("string"==typeof n&&(n=Object.assign(Object.assign({},(0,i.by)(s.CA)),{message:n})),void 0!==r&&(n.data=r),(0,i.i5)(n.code)&&(n=(0,i.L2)(n.code)),n)}}},83196:function(e,t,r){"use strict";r.d(t,{IJsonRpcProvider:function(){return o.x0},formatJsonRpcError:function(){return n.RI},formatJsonRpcRequest:function(){return n.sT},formatJsonRpcResult:function(){return n.tm},getBigIntRpcId:function(){return n.CS},isHttpUrl:function(){return a.jK},isJsonRpcError:function(){return c.jg},isJsonRpcRequest:function(){return c.DW},isJsonRpcResponse:function(){return c.u},isJsonRpcResult:function(){return c.k4},isLocalhostUrl:function(){return a.JF},isWsUrl:function(){return a.UZ},parseConnectionError:function(){return i.CX},payloadId:function(){return n.o0}}),r(91752);var i=r(44631),s=r(60130);r.o(s,"IJsonRpcProvider")&&r.d(t,{IJsonRpcProvider:function(){return s.IJsonRpcProvider}}),r.o(s,"formatJsonRpcError")&&r.d(t,{formatJsonRpcError:function(){return s.formatJsonRpcError}}),r.o(s,"formatJsonRpcRequest")&&r.d(t,{formatJsonRpcRequest:function(){return s.formatJsonRpcRequest}}),r.o(s,"formatJsonRpcResult")&&r.d(t,{formatJsonRpcResult:function(){return s.formatJsonRpcResult}}),r.o(s,"getBigIntRpcId")&&r.d(t,{getBigIntRpcId:function(){return s.getBigIntRpcId}}),r.o(s,"isHttpUrl")&&r.d(t,{isHttpUrl:function(){return s.isHttpUrl}}),r.o(s,"isJsonRpcError")&&r.d(t,{isJsonRpcError:function(){return s.isJsonRpcError}}),r.o(s,"isJsonRpcRequest")&&r.d(t,{isJsonRpcRequest:function(){return s.isJsonRpcRequest}}),r.o(s,"isJsonRpcResponse")&&r.d(t,{isJsonRpcResponse:function(){return s.isJsonRpcResponse}}),r.o(s,"isJsonRpcResult")&&r.d(t,{isJsonRpcResult:function(){return s.isJsonRpcResult}}),r.o(s,"isLocalhostUrl")&&r.d(t,{isLocalhostUrl:function(){return s.isLocalhostUrl}}),r.o(s,"isReactNative")&&r.d(t,{isReactNative:function(){return s.isReactNative}}),r.o(s,"isWsUrl")&&r.d(t,{isWsUrl:function(){return s.isWsUrl}}),r.o(s,"payloadId")&&r.d(t,{payloadId:function(){return s.payloadId}});var n=r(56401),o=r(13886),a=r(86902),c=r(88903)},13886:function(e,t,r){"use strict";r.d(t,{x0:function(){return n}});class i{}class s extends i{constructor(){super()}}class n extends s{constructor(e){super()}}},86902:function(e,t,r){"use strict";function i(e,t){let r=function(e){let t=e.match(RegExp(/^\w+:/,"gi"));if(t&&t.length)return t[0]}(e);return void 0!==r&&new RegExp(t).test(r)}function s(e){return i(e,"^https?:")}function n(e){return i(e,"^wss?:")}function o(e){return RegExp("wss?://localhost(:d{2,5})?").test(e)}r.d(t,{JF:function(){return o},UZ:function(){return n},jK:function(){return s}})},88903:function(e,t,r){"use strict";function i(e){return"object"==typeof e&&"id"in e&&"jsonrpc"in e&&"2.0"===e.jsonrpc}function s(e){return i(e)&&"method"in e}function n(e){return i(e)&&(o(e)||a(e))}function o(e){return"result"in e}function a(e){return"error"in e}r.d(t,{DW:function(){return s},jg:function(){return a},k4:function(){return o},u:function(){return n}})},85593:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var i=r(52484),s=r(90834),n=r(83196);let o=()=>"u">typeof WebSocket||"u">typeof r.g&&"u">typeof r.g.WebSocket||"u">typeof window&&"u">typeof window.WebSocket||"u">typeof self&&"u">typeof self.WebSocket,a=e=>e.split("?")[0],c="u">typeof WebSocket?WebSocket:"u">typeof r.g&&"u">typeof r.g.WebSocket?r.g.WebSocket:"u">typeof window&&"u">typeof window.WebSocket?window.WebSocket:"u">typeof self&&"u">typeof self.WebSocket?self.WebSocket:r(69521);class l{constructor(e){if(this.url=e,this.events=new i.EventEmitter,this.registering=!1,!(0,n.isWsUrl)(e))throw Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return"u">typeof this.socket}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(Error("Connection already closed"));return}this.socket.onclose=t=>{this.onClose(t),e()},this.socket.close()})}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send((0,s.u)(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!(0,n.isWsUrl)(e))throw Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){let e=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=e||this.events.listenerCount("open")>=e)&&this.events.setMaxListeners(e+1),new Promise((e,t)=>{this.events.once("register_error",e=>{this.resetMaxListeners(),t(e)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return t(Error("WebSocket connection is missing or invalid"));e(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,r)=>{let i=(0,n.isReactNative)()?void 0:{rejectUnauthorized:!(0,n.isLocalhostUrl)(e)},s=new c(e,[],i);o()?s.onerror=e=>{r(this.emitError(e.error))}:s.on("error",e=>{r(this.emitError(e))}),s.onopen=()=>{this.onOpen(s),t(s)}})}onOpen(e){e.onmessage=e=>this.onPayload(e),e.onclose=e=>this.onClose(e),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;let t="string"==typeof e.data?(0,s.D)(e.data):e.data;this.events.emit("payload",t)}onError(e,t){let r=this.parseError(t),i=r.message||r.toString(),s=(0,n.formatJsonRpcError)(e,i);this.events.emit("payload",s)}parseError(e,t=this.url){return(0,n.parseConnectionError)(e,a(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>10&&this.events.setMaxListeners(10)}emitError(e){let t=this.parseError(Error(e?.message||`WebSocket connection failed for host: ${a(this.url)}`));return this.events.emit("register_error",t),t}}},53171:function(e,t,r){"use strict";r.d(t,{Z:function(){return O}});let i=/"(?:_|\\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*:/,s=/"(?: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*:/,n=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function o(e,t){if("__proto__"===e||"constructor"===e&&t&&"object"==typeof t&&"prototype"in t){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`);return}return t}function a(e,t={}){if("string"!=typeof e)return e;let r=e.trim();if('"'===e[0]&&e.endsWith('"')&&!e.includes("\\"))return r.slice(1,-1);if(r.length<=9){let e=r.toLowerCase();if("true"===e)return!0;if("false"===e)return!1;if("undefined"===e)return;if("null"===e)return null;if("nan"===e)return Number.NaN;if("infinity"===e)return Number.POSITIVE_INFINITY;if("-infinity"===e)return Number.NEGATIVE_INFINITY}if(!n.test(e)){if(t.strict)throw SyntaxError("[destr] Invalid JSON");return e}try{if(i.test(e)||s.test(e)){if(t.strict)throw Error("[destr] Possible prototype pollution");return JSON.parse(e,o)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}var c=r(63157).Buffer;function l(e,...t){try{var r;return(r=e(...t))&&"function"==typeof r.then?r:Promise.resolve(r)}catch(e){return Promise.reject(e)}}function h(e){if(function(e){let t=typeof e;return null===e||"object"!==t&&"function"!==t}(e))return String(e);if(function(e){let t=Object.getPrototypeOf(e);return!t||t.isPrototypeOf(Object)}(e)||Array.isArray(e))return JSON.stringify(e);if("function"==typeof e.toJSON)return h(e.toJSON());throw Error("[unstorage] Cannot stringify value!")}let u="base64:";function d(e){return e?e.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function p(e){return(e=d(e))?e+":":""}let f=()=>{let e=new Map;return{name:"memory",options:{},hasItem:t=>e.has(t),getItem:t=>e.get(t)??null,getItemRaw:t=>e.get(t)??null,setItem(t,r){e.set(t,r)},setItemRaw(t,r){e.set(t,r)},removeItem(t){e.delete(t)},getKeys:()=>Array.from(e.keys()),clear(){e.clear()},dispose(){e.clear()}}};function g(e,t,r){return e.watch?e.watch((e,i)=>t(e,r+i)):()=>{}}async function y(e){"function"==typeof e.dispose&&await l(e.dispose)}var m=r(41659),b=r(90834),w=(e={})=>{let t;let r=e.base&&e.base.length>0?`${e.base}:`:"",i=e=>r+e;return e.dbName&&e.storeName&&(t=(0,m.MT)(e.dbName,e.storeName)),{name:"idb-keyval",options:e,hasItem:async e=>!(typeof await (0,m.U2)(i(e),t)>"u"),getItem:async e=>await (0,m.U2)(i(e),t)??null,setItem:(e,r)=>(0,m.t8)(i(e),r,t),removeItem:e=>(0,m.IV)(i(e),t),getKeys:()=>(0,m.XP)(t),clear:()=>(0,m.ZH)(t)}};class v{constructor(){this.indexedDb=function(e={}){let t={mounts:{"":e.driver||f()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},r=e=>{for(let r of t.mountpoints)if(e.startsWith(r))return{base:r,relativeKey:e.slice(r.length),driver:t.mounts[r]};return{base:"",relativeKey:e,driver:t.mounts[""]}},i=(e,r)=>t.mountpoints.filter(t=>t.startsWith(e)||r&&e.startsWith(t)).map(r=>({relativeBase:e.length>r.length?e.slice(r.length):void 0,mountpoint:r,driver:t.mounts[r]})),s=(e,r)=>{if(t.watching)for(let i of(r=d(r),t.watchListeners))i(e,r)},n=async()=>{if(!t.watching)for(let e in t.watching=!0,t.mounts)t.unwatch[e]=await g(t.mounts[e],s,e)},o=async()=>{if(t.watching){for(let e in t.unwatch)await t.unwatch[e]();t.unwatch={},t.watching=!1}},m=(e,t,i)=>{let s=new Map,n=e=>{let t=s.get(e.base);return t||(t={driver:e.driver,base:e.base,items:[]},s.set(e.base,t)),t};for(let i of e){let e="string"==typeof i,s=d(e?i:i.key),o=e?void 0:i.value,a=e||!i.options?t:{...t,...i.options},c=r(s);n(c).items.push({key:s,value:o,relativeKey:c.relativeKey,options:a})}return Promise.all([...s.values()].map(e=>i(e))).then(e=>e.flat())},b={hasItem(e,t={}){let{relativeKey:i,driver:s}=r(e=d(e));return l(s.hasItem,i,t)},getItem(e,t={}){let{relativeKey:i,driver:s}=r(e=d(e));return l(s.getItem,i,t).then(e=>a(e))},getItems:(e,t)=>m(e,t,e=>e.driver.getItems?l(e.driver.getItems,e.items.map(e=>({key:e.relativeKey,options:e.options})),t).then(t=>t.map(t=>({key:function(...e){return d(e.join(":"))}(e.base,t.key),value:a(t.value)}))):Promise.all(e.items.map(t=>l(e.driver.getItem,t.relativeKey,t.options).then(e=>({key:t.key,value:a(e)}))))),getItemRaw(e,t={}){let{relativeKey:i,driver:s}=r(e=d(e));return s.getItemRaw?l(s.getItemRaw,i,t):l(s.getItem,i,t).then(e=>"string"==typeof e&&e.startsWith(u)?c.from(e.slice(u.length),"base64"):e)},async setItem(e,t,i={}){if(void 0===t)return b.removeItem(e);let{relativeKey:n,driver:o}=r(e=d(e));o.setItem&&(await l(o.setItem,n,h(t),i),o.watch||s("update",e))},async setItems(e,t){await m(e,t,async e=>{if(e.driver.setItems)return l(e.driver.setItems,e.items.map(e=>({key:e.relativeKey,value:h(e.value),options:e.options})),t);e.driver.setItem&&await Promise.all(e.items.map(t=>l(e.driver.setItem,t.relativeKey,h(t.value),t.options)))})},async setItemRaw(e,t,i={}){if(void 0===t)return b.removeItem(e,i);let{relativeKey:n,driver:o}=r(e=d(e));if(o.setItemRaw)await l(o.setItemRaw,n,t,i);else{if(!o.setItem)return;await l(o.setItem,n,"string"==typeof t?t:u+c.from(t).toString("base64"),i)}o.watch||s("update",e)},async removeItem(e,t={}){"boolean"==typeof t&&(t={removeMeta:t});let{relativeKey:i,driver:n}=r(e=d(e));n.removeItem&&(await l(n.removeItem,i,t),(t.removeMeta||t.removeMata)&&await l(n.removeItem,i+"$",t),n.watch||s("remove",e))},async getMeta(e,t={}){"boolean"==typeof t&&(t={nativeOnly:t});let{relativeKey:i,driver:s}=r(e=d(e)),n=Object.create(null);if(s.getMeta&&Object.assign(n,await l(s.getMeta,i,t)),!t.nativeOnly){let e=await l(s.getItem,i+"$",t).then(e=>a(e));e&&"object"==typeof e&&("string"==typeof e.atime&&(e.atime=new Date(e.atime)),"string"==typeof e.mtime&&(e.mtime=new Date(e.mtime)),Object.assign(n,e))}return n},setMeta(e,t,r={}){return this.setItem(e+"$",t,r)},removeMeta(e,t={}){return this.removeItem(e+"$",t)},async getKeys(e,t={}){let r=i(e=p(e),!0),s=[],n=[];for(let e of r){let r=(await l(e.driver.getKeys,e.relativeBase,t)).map(t=>e.mountpoint+d(t)).filter(e=>!s.some(t=>e.startsWith(t)));n.push(...r),s=[e.mountpoint,...s.filter(t=>!t.startsWith(e.mountpoint))]}return e?n.filter(t=>t.startsWith(e)&&!t.endsWith("$")):n.filter(e=>!e.endsWith("$"))},async clear(e,t={}){e=p(e),await Promise.all(i(e,!1).map(async e=>e.driver.clear?l(e.driver.clear,e.relativeBase,t):e.driver.removeItem?Promise.all((await e.driver.getKeys(e.relativeBase||"",t)).map(r=>e.driver.removeItem(r,t))):void 0))},async dispose(){await Promise.all(Object.values(t.mounts).map(e=>y(e)))},watch:async e=>(await n(),t.watchListeners.push(e),async()=>{t.watchListeners=t.watchListeners.filter(t=>t!==e),0===t.watchListeners.length&&await o()}),async unwatch(){t.watchListeners=[],await o()},mount(e,r){if((e=p(e))&&t.mounts[e])throw Error(`already mounted at ${e}`);return e&&(t.mountpoints.push(e),t.mountpoints.sort((e,t)=>t.length-e.length)),t.mounts[e]=r,t.watching&&Promise.resolve(g(r,s,e)).then(r=>{t.unwatch[e]=r}).catch(console.error),b},async unmount(e,r=!0){(e=p(e))&&t.mounts[e]&&(t.watching&&e in t.unwatch&&(t.unwatch[e](),delete t.unwatch[e]),r&&await y(t.mounts[e]),t.mountpoints=t.mountpoints.filter(t=>t!==e),delete t.mounts[e])},getMount(e=""){let t=r(e=d(e)+":");return{driver:t.driver,base:t.base}},getMounts:(e="",t={})=>i(e=d(e),t.parents).map(e=>({driver:e.driver,base:e.mountpoint}))};return b}({driver:w({dbName:"WALLET_CONNECT_V2_INDEXED_DB",storeName:"keyvaluestorage"})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){let t=await this.indexedDb.getItem(e);if(null!==t)return t}async setItem(e,t){await this.indexedDb.setItem(e,(0,b.u)(t))}async removeItem(e){await this.indexedDb.removeItem(e)}}var E="u">typeof globalThis?globalThis:"u">typeof window?window:"u">typeof r.g?r.g:"u">typeof self?self:{},I={exports:{}};function _(e){var t;return[e[0],(0,b.D)(null!=(t=e[1])?t:"")]}!function(){function e(){}e.prototype.getItem=function(e){return this.hasOwnProperty(e)?String(this[e]):null},e.prototype.setItem=function(e,t){this[e]=String(t)},e.prototype.removeItem=function(e){delete this[e]},e.prototype.clear=function(){let e=this;Object.keys(e).forEach(function(t){e[t]=void 0,delete e[t]})},e.prototype.key=function(e){return e=e||0,Object.keys(this)[e]},e.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),"u">typeof E&&E.localStorage?I.exports=E.localStorage:"u">typeof window&&window.localStorage?I.exports=window.localStorage:I.exports=new e}();class D{constructor(){this.localStorage=I.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(_)}async getItem(e){let t=this.localStorage.getItem(e);if(null!==t)return(0,b.D)(t)}async setItem(e,t){this.localStorage.setItem(e,(0,b.u)(t))}async removeItem(e){this.localStorage.removeItem(e)}}let S=async(e,t,r)=>{let i="wc_storage_version",s=await t.getItem(i);if(s&&s>=1){r(t);return}let n=await e.getKeys();if(!n.length){r(t);return}let o=[];for(;n.length;){let r=n.shift();if(!r)continue;let i=r.toLowerCase();if(i.includes("wc@")||i.includes("walletconnect")||i.includes("wc_")||i.includes("wallet_connect")){let i=await e.getItem(r);await t.setItem(r,i),o.push(r)}}await t.setItem(i,1),r(t),P(e,o)},P=async(e,t)=>{t.length&&t.forEach(async t=>{await e.removeItem(t)})};class O{constructor(){this.initialized=!1,this.setInitialized=e=>{this.storage=e,this.initialized=!0};let e=new D;this.storage=e;try{let t=new v;S(e,t,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(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,t){return await this.initialize(),this.storage.setItem(e,t)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{let t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}}},19425:function(e,t,r){"use strict";r.d(t,{Ep:function(){return D},Fd:function(){return _},Rt:function(){return S},gw:function(){return s.a},jI:function(){return I}});var i=r(74080),s=r.n(i),n=r(90834);let o={level:"info"},a="custom_context";class c{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 l{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){let t=new c(e);if(t.size>this.maxSizeInBytes)throw 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.head=t,this.tail=t,this.lengthInNodes++,this.sizeInBytes+=t.size}shift(){if(!this.head)return;let e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){let e=[],t=this.head;for(;null!==t;)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};let t=e.value;return e=e.next,{done:!1,value:t}}}}}class h{constructor(e,t=1024e3){this.level=e??"error",this.levelValue=i.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new l(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===i.levels.values.error?console.error(e):t===i.levels.values.warn?console.warn(e):t===i.levels.values.debug?console.debug(e):t===i.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append((0,n.u)({timestamp:new Date().toISOString(),log:e}));let t="string"==typeof e?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new l(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){let t=this.getLogArray();return t.push((0,n.u)({extraMetadata:e})),new Blob(t,{type:"application/json"})}}class u{constructor(e,t=1024e3){this.baseChunkLogger=new h(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){let t=URL.createObjectURL(this.logsToBlob(e)),r=document.createElement("a");r.href=t,r.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(t)}}class d{constructor(e,t=1024e3){this.baseChunkLogger=new h(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 p=Object.defineProperty,f=Object.defineProperties,g=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,w=(e,t,r)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,v=(e,t)=>{for(var r in t||(t={}))m.call(t,r)&&w(e,r,t[r]);if(y)for(var r of y(t))b.call(t,r)&&w(e,r,t[r]);return e},E=(e,t)=>f(e,g(t));function I(e){return E(v({},e),{level:e?.level||o.level})}function _(e,t=a){return typeof e.bindings>"u"?function(e,t=a){return e[t]||""}(e,t):e.bindings().context||""}function D(e,t,r=a){let i=function(e,t,r=a){let i=_(e,r);return i.trim()?`${i}/${t}`:t}(e,t,r);return function(e,t,r=a){return e[r]=t,e}(e.child({context:i}),i,r)}function S(e){return"u">typeof e.loggerOverride&&"string"!=typeof e.loggerOverride?{logger:e.loggerOverride,chunkLoggerController:null}:"u">typeof window?function(e){var t,r;let i=new u(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:s()(E(v({},e.opts),{level:"trace",browser:E(v({},null==(r=e.opts)?void 0:r.browser),{write:e=>i.write(e)})})),chunkLoggerController:i}}(e):function(e){var t;let r=new d(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:s()(E(v({},e.opts),{level:"trace"}),r),chunkLoggerController:r}}(e)}},32479:function(e,t,r){"use strict";r.d(t,{iO:function(){return i}});let i={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"}}},56569:function(e,t,r){"use strict";r.d(t,{Au:function(){return tS},bG:function(){return t_},vf:function(){return tP},xp:function(){return tD}});var i=r(2697),s=r(90834);function n(e,...t){if(!(e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function o(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}let a="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,c=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function l(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}(e)),n(e),e}class h{clone(){return this._cloneInto()}}function u(e=32){if(a&&"function"==typeof a.getRandomValues)return a.getRandomValues(new Uint8Array(e));if(a&&"function"==typeof a.randomBytes)return a.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}class d extends h{constructor(e,t,r,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=c(this.buffer)}update(e){o(this);let{view:t,buffer:r,blockLen:i}=this,s=(e=l(e)).length;for(let n=0;n<s;){let o=Math.min(i-this.pos,s-n);if(o===i){let t=c(e);for(;i<=s-n;n+=i)this.process(t,n);continue}r.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===i&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){o(this),function(e,t){n(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:s}=this,{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>i-a&&(this.process(r,0),a=0);for(let e=a;e<i;e++)t[e]=0;(function(e,t,r,i){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,i);let s=BigInt(32),n=BigInt(4294967295),o=Number(r>>s&n),a=Number(r&n),c=i?4:0,l=i?0:4;e.setUint32(t+c,o,i),e.setUint32(t+l,a,i)})(r,i-8,BigInt(8*this.length),s),this.process(r,0);let l=c(e),h=this.outputLen;if(h%4)throw Error("_sha2: outputLen should be aligned to 32bit");let u=h/4,d=this.get();if(u>d.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<u;e++)l.setUint32(4*e,d[e],s)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:i,finished:s,destroyed:n,pos:o}=this;return e.length=i,e.pos=o,e.finished=s,e.destroyed=n,i%t&&e.buffer.set(r),e}}let p=BigInt(4294967296-1),f=BigInt(32),g={split:function(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let s=0;s<e.length;s++){let{h:n,l:o}=function(e,t=!1){return t?{h:Number(e&p),l:Number(e>>f&p)}:{h:0|Number(e>>f&p),l:0|Number(e&p)}}(e[s],t);[r[s],i[s]]=[n,o]}return[r,i]},shrSH:(e,t,r)=>e>>>r,shrSL:(e,t,r)=>e<<32-r|t>>>r,rotrSH:(e,t,r)=>e>>>r|t<<32-r,rotrSL:(e,t,r)=>e<<32-r|t>>>r,rotrBH:(e,t,r)=>e<<64-r|t>>>r-32,rotrBL:(e,t,r)=>e>>>r-32|t<<64-r,add:function(e,t,r,i){let s=(t>>>0)+(i>>>0);return{h:e+r+(s/4294967296|0)|0,l:0|s}},add3L:(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),add3H:(e,t,r,i)=>t+r+i+(e/4294967296|0)|0,add4L:(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),add4H:(e,t,r,i,s)=>t+r+i+s+(e/4294967296|0)|0,add5H:(e,t,r,i,s,n)=>t+r+i+s+n+(e/4294967296|0)|0,add5L:(e,t,r,i,s)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(s>>>0)},[y,m]=g.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(e=>BigInt(e))),b=new Uint32Array(80),w=new Uint32Array(80);class v extends d{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(){let{Ah:e,Al:t,Bh:r,Bl:i,Ch:s,Cl:n,Dh:o,Dl:a,Eh:c,El:l,Fh:h,Fl:u,Gh:d,Gl:p,Hh:f,Hl:g}=this;return[e,t,r,i,s,n,o,a,c,l,h,u,d,p,f,g]}set(e,t,r,i,s,n,o,a,c,l,h,u,d,p,f,g){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|i,this.Ch=0|s,this.Cl=0|n,this.Dh=0|o,this.Dl=0|a,this.Eh=0|c,this.El=0|l,this.Fh=0|h,this.Fl=0|u,this.Gh=0|d,this.Gl=0|p,this.Hh=0|f,this.Hl=0|g}process(e,t){for(let r=0;r<16;r++,t+=4)b[r]=e.getUint32(t),w[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=0|b[e-15],r=0|w[e-15],i=g.rotrSH(t,r,1)^g.rotrSH(t,r,8)^g.shrSH(t,r,7),s=g.rotrSL(t,r,1)^g.rotrSL(t,r,8)^g.shrSL(t,r,7),n=0|b[e-2],o=0|w[e-2],a=g.rotrSH(n,o,19)^g.rotrBH(n,o,61)^g.shrSH(n,o,6),c=g.rotrSL(n,o,19)^g.rotrBL(n,o,61)^g.shrSL(n,o,6),l=g.add4L(s,c,w[e-7],w[e-16]),h=g.add4H(l,i,a,b[e-7],b[e-16]);b[e]=0|h,w[e]=0|l}let{Ah:r,Al:i,Bh:s,Bl:n,Ch:o,Cl:a,Dh:c,Dl:l,Eh:h,El:u,Fh:d,Fl:p,Gh:f,Gl:v,Hh:E,Hl:I}=this;for(let e=0;e<80;e++){let t=g.rotrSH(h,u,14)^g.rotrSH(h,u,18)^g.rotrBH(h,u,41),_=g.rotrSL(h,u,14)^g.rotrSL(h,u,18)^g.rotrBL(h,u,41),D=h&d^~h&f,S=u&p^~u&v,P=g.add5L(I,_,S,m[e],w[e]),O=g.add5H(P,E,t,D,y[e],b[e]),x=0|P,C=g.rotrSH(r,i,28)^g.rotrBH(r,i,34)^g.rotrBH(r,i,39),A=g.rotrSL(r,i,28)^g.rotrBL(r,i,34)^g.rotrBL(r,i,39),R=r&s^r&o^s&o,N=i&n^i&a^n&a;E=0|f,I=0|v,f=0|d,v=0|p,d=0|h,p=0|u,({h:h,l:u}=g.add(0|c,0|l,0|O,0|x)),c=0|o,l=0|a,o=0|s,a=0|n,s=0|r,n=0|i;let T=g.add3L(x,A,N);r=g.add3H(T,O,C,R),i=0|T}({h:r,l:i}=g.add(0|this.Ah,0|this.Al,0|r,0|i)),({h:s,l:n}=g.add(0|this.Bh,0|this.Bl,0|s,0|n)),({h:o,l:a}=g.add(0|this.Ch,0|this.Cl,0|o,0|a)),({h:c,l:l}=g.add(0|this.Dh,0|this.Dl,0|c,0|l)),({h:h,l:u}=g.add(0|this.Eh,0|this.El,0|h,0|u)),({h:d,l:p}=g.add(0|this.Fh,0|this.Fl,0|d,0|p)),({h:f,l:v}=g.add(0|this.Gh,0|this.Gl,0|f,0|v)),({h:E,l:I}=g.add(0|this.Hh,0|this.Hl,0|E,0|I)),this.set(r,i,s,n,o,a,c,l,h,u,d,p,f,v,E,I)}roundClean(){b.fill(0),w.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)}}let E=function(e){let t=t=>e().update(l(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}(()=>new v),I=BigInt(0),_=BigInt(1),D=BigInt(2);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function S(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function P(e){if(!S(e))throw Error("Uint8Array expected")}function O(e,t){if("boolean"!=typeof t)throw Error(e+" boolean expected, got "+t)}let x=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function C(e){P(e);let t="";for(let r=0;r<e.length;r++)t+=x[e[r]];return t}function A(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return""===e?I:BigInt("0x"+e)}let R={_0:48,_9:57,A:65,F:70,a:97,f:102};function N(e){return e>=R._0&&e<=R._9?e-R._0:e>=R.A&&e<=R.F?e-(R.A-10):e>=R.a&&e<=R.f?e-(R.a-10):void 0}function T(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let i=new Uint8Array(r);for(let t=0,s=0;t<r;t++,s+=2){let r=N(e.charCodeAt(s)),n=N(e.charCodeAt(s+1));if(void 0===r||void 0===n)throw Error('hex string expected, got non-hex character "'+(e[s]+e[s+1])+'" at index '+s);i[t]=16*r+n}return i}function j(e){return P(e),A(C(Uint8Array.from(e).reverse()))}function L(e,t){return T(e.toString(16).padStart(2*t,"0"))}function k(e,t){return L(e,t).reverse()}function U(e,t,r){let i;if("string"==typeof t)try{i=T(t)}catch(t){throw Error(e+" must be hex string or Uint8Array, cause: "+t)}else if(S(t))i=Uint8Array.from(t);else throw Error(e+" must be hex string or Uint8Array");let s=i.length;if("number"==typeof r&&s!==r)throw Error(e+" of length "+r+" expected, got "+s);return i}function B(...e){let t=0;for(let r=0;r<e.length;r++){let i=e[r];P(i),t+=i.length}let r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){let s=e[t];r.set(s,i),i+=s.length}return r}let q=e=>"bigint"==typeof e&&I<=e;function $(e,t,r,i){if(!(q(t)&&q(r)&&q(i))||!(r<=t)||!(t<i))throw Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}let M=e=>(D<<BigInt(e-1))-_,z={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||S(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function F(e,t,r={}){let i=(t,r,i)=>{let s=z[r];if("function"!=typeof s)throw Error("invalid validator function");let n=e[t];if(!(i&&void 0===n)&&!s(n,e))throw Error("param "+String(t)+" is invalid. Expected "+r+", got "+n)};for(let[e,r]of Object.entries(t))i(e,r,!1);for(let[e,t]of Object.entries(r))i(e,t,!0);return e}function H(e){let t=new WeakMap;return(r,...i)=>{let s=t.get(r);if(void 0!==s)return s;let n=e(r,...i);return t.set(r,n),n}}let V=BigInt(0),K=BigInt(1),W=BigInt(2),J=BigInt(3),G=BigInt(4),Y=BigInt(5),Z=BigInt(8);function Q(e,t){let r=e%t;return r>=V?r:t+r}function X(e,t,r){let i=e;for(;t-- >V;)i*=i,i%=r;return i}function ee(e,t){if(e===V)throw Error("invert: expected non-zero number");if(t<=V)throw Error("invert: expected positive modulus, got "+t);let r=Q(e,t),i=t,s=V,n=K;for(;r!==V;){let e=i/r,t=i%r,o=s-n*e;i=r,r=t,s=n,n=o}if(i!==K)throw Error("invert: does not exist");return Q(s,t)}let et=(e,t)=>(Q(e,t)&K)===K,er=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ei(e,t){let r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function es(e,t,r=!1,i={}){let s;if(e<=V)throw Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:n,nByteLength:o}=ei(e,t);if(o>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let a=Object.freeze({ORDER:e,isLE:r,BITS:n,BYTES:o,MASK:M(n),ZERO:V,ONE:K,create:t=>Q(t,e),isValid:t=>{if("bigint"!=typeof t)throw Error("invalid field element: expected bigint, got "+typeof t);return V<=t&&t<e},is0:e=>e===V,isOdd:e=>(e&K)===K,neg:t=>Q(-t,e),eql:(e,t)=>e===t,sqr:t=>Q(t*t,e),add:(t,r)=>Q(t+r,e),sub:(t,r)=>Q(t-r,e),mul:(t,r)=>Q(t*r,e),pow:(e,t)=>(function(e,t,r){if(r<V)throw Error("invalid exponent, negatives unsupported");if(r===V)return e.ONE;if(r===K)return t;let i=e.ONE,s=t;for(;r>V;)r&K&&(i=e.mul(i,s)),s=e.sqr(s),r>>=K;return i})(a,e,t),div:(t,r)=>Q(t*ee(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>ee(t,e),sqrt:i.sqrt||(t=>(s||(s=function(e){if(e%G===J){let t=(e+K)/G;return function(e,r){let i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw Error("Cannot find square root");return i}}if(e%Z===Y){let t=(e-Y)/Z;return function(e,r){let i=e.mul(r,W),s=e.pow(i,t),n=e.mul(r,s),o=e.mul(e.mul(n,W),s),a=e.mul(n,e.sub(o,e.ONE));if(!e.eql(e.sqr(a),r))throw Error("Cannot find square root");return a}}return function(e){let t,r,i;let s=(e-K)/W;for(t=e-K,r=0;t%W===V;t/=W,r++);for(i=W;i<e&&function(e,t,r){if(t<V)throw Error("invalid exponent, negatives unsupported");if(r<=V)throw Error("invalid modulus");if(r===K)return V;let i=K;for(;t>V;)t&K&&(i=i*e%r),e=e*e%r,t>>=K;return i}(i,s,e)!==e-K;i++)if(i>1e3)throw Error("Cannot find square root: likely non-prime P");if(1===r){let t=(e+K)/G;return function(e,r){let i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw Error("Cannot find square root");return i}}let n=(t+K)/W;return function(e,o){if(e.pow(o,s)===e.neg(e.ONE))throw Error("Cannot find square root");let a=r,c=e.pow(e.mul(e.ONE,i),t),l=e.pow(o,n),h=e.pow(o,t);for(;!e.eql(h,e.ONE);){if(e.eql(h,e.ZERO))return e.ZERO;let t=1;for(let r=e.sqr(h);t<a&&!e.eql(r,e.ONE);t++)r=e.sqr(r);let r=e.pow(c,K<<BigInt(a-t-1));c=e.sqr(r),l=e.mul(l,r),h=e.mul(h,c),a=t}return l}}(e)}(e)),s(a,t))),invertBatch:e=>(function(e,t){let r=Array(t.length),i=t.reduce((t,i,s)=>e.is0(i)?t:(r[s]=t,e.mul(t,i)),e.ONE),s=e.inv(i);return t.reduceRight((t,i,s)=>e.is0(i)?t:(r[s]=e.mul(t,r[s]),e.mul(t,i)),s),r})(a,e),cmov:(e,t,r)=>r?t:e,toBytes:e=>r?k(e,o):L(e,o),fromBytes:e=>{if(e.length!==o)throw Error("Field.fromBytes: expected "+o+" bytes, got "+e.length);return r?j(e):A(C(e))}});return Object.freeze(a)}let en=BigInt(0),eo=BigInt(1);function ea(e,t){let r=t.negate();return e?r:t}function ec(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function el(e,t){return ec(e,t),{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}}let eh=new WeakMap,eu=new WeakMap;function ed(e){return eu.get(e)||1}let ep=BigInt(0),ef=BigInt(1),eg=BigInt(2),ey=BigInt(8),em={zip215:!0};BigInt(0),BigInt(1);let eb=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),ew=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt(0);let ev=BigInt(1),eE=BigInt(2);BigInt(3);let eI=BigInt(5),e_=BigInt(8),eD=es(eb,void 0,!0),eS=function(e){var t;let r=function(e){let t=(F(e.Fp,er.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),F(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ei(e.n,e.nBitLength),...e,p:e.Fp.ORDER}));return F(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}(e),{Fp:i,n:s,prehash:n,hash:o,randomBytes:a,nByteLength:c,h:l}=r,h=eg<<BigInt(8*c)-ef,u=i.create,d=es(r.n,r.nBitLength),p=r.uvRatio||((e,t)=>{try{return{isValid:!0,value:i.sqrt(e*i.inv(t))}}catch{return{isValid:!1,value:ep}}}),f=r.adjustScalarBytes||(e=>e),g=r.domain||((e,t,r)=>{if(O("phflag",r),t.length||r)throw Error("Contexts/pre-hash are not supported");return e});function y(e,t){$("coordinate "+e,t,ep,h)}function m(e){if(!(e instanceof v))throw Error("ExtendedPoint expected")}let b=H((e,t)=>{let{ex:r,ey:s,ez:n}=e,o=e.is0();null==t&&(t=o?ey:i.inv(n));let a=u(r*t),c=u(s*t),l=u(n*t);if(o)return{x:ep,y:ef};if(l!==ef)throw Error("invZ was invalid");return{x:a,y:c}}),w=H(e=>{let{a:t,d:i}=r;if(e.is0())throw Error("bad point: ZERO");let{ex:s,ey:n,ez:o,et:a}=e,c=u(s*s),l=u(n*n),h=u(o*o),d=u(h*h),p=u(c*t);if(u(h*u(p+l))!==u(d+u(i*u(c*l))))throw Error("bad point: equation left != right (1)");if(u(s*n)!==u(o*a))throw Error("bad point: equation left != right (2)");return!0});class v{constructor(e,t,r,i){this.ex=e,this.ey=t,this.ez=r,this.et=i,y("x",e),y("y",t),y("z",r),y("t",i),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof v)throw Error("extended point not allowed");let{x:t,y:r}=e||{};return y("x",t),y("y",r),new v(t,r,ef,u(t*r))}static normalizeZ(e){let t=i.invertBatch(e.map(e=>e.ez));return e.map((e,r)=>e.toAffine(t[r])).map(v.fromAffine)}static msm(e,t){return function(e,t,r,i){if(function(e,t){if(!Array.isArray(e))throw Error("array expected");e.forEach((e,r)=>{if(!(e instanceof t))throw Error("invalid point at index "+r)})}(r,e),function(e,t){if(!Array.isArray(e))throw Error("array of scalars expected");e.forEach((e,r)=>{if(!t.isValid(e))throw Error("invalid scalar at index "+r)})}(i,t),r.length!==i.length)throw Error("arrays of points and scalars must have equal length");let s=e.ZERO,n=function(e){let t;for(t=0;e>I;e>>=_,t+=1);return t}(BigInt(r.length)),o=n>12?n-3:n>4?n-2:n?2:1,a=(1<<o)-1,c=Array(a+1).fill(s),l=Math.floor((t.BITS-1)/o)*o,h=s;for(let e=l;e>=0;e-=o){c.fill(s);for(let t=0;t<i.length;t++){let s=Number(i[t]>>BigInt(e)&BigInt(a));c[s]=c[s].add(r[t])}let t=s;for(let e=c.length-1,r=s;e>0;e--)r=r.add(c[e]),t=t.add(r);if(h=h.add(t),0!==e)for(let e=0;e<o;e++)h=h.double()}return h}(v,d,e,t)}_setWindowSize(e){S.setWindowSize(this,e)}assertValidity(){w(this)}equals(e){m(e);let{ex:t,ey:r,ez:i}=this,{ex:s,ey:n,ez:o}=e,a=u(t*o),c=u(s*i),l=u(r*o),h=u(n*i);return a===c&&l===h}is0(){return this.equals(v.ZERO)}negate(){return new v(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:e}=r,{ex:t,ey:i,ez:s}=this,n=u(t*t),o=u(i*i),a=u(eg*u(s*s)),c=u(e*n),l=t+i,h=u(u(l*l)-n-o),d=c+o,p=d-a,f=c-o,g=u(h*p),y=u(d*f),m=u(h*f);return new v(g,y,u(p*d),m)}add(e){m(e);let{a:t,d:i}=r,{ex:s,ey:n,ez:o,et:a}=this,{ex:c,ey:l,ez:h,et:d}=e;if(t===BigInt(-1)){let e=u((n-s)*(l+c)),t=u((n+s)*(l-c)),r=u(t-e);if(r===ep)return this.double();let i=u(o*eg*d),p=u(a*eg*h),f=p+i,g=t+e,y=p-i,m=u(f*r),b=u(g*y),w=u(f*y);return new v(m,b,u(r*g),w)}let p=u(s*c),f=u(n*l),g=u(a*i*d),y=u(o*h),b=u((s+n)*(c+l)-p-f),w=y-g,E=y+g,I=u(f-t*p),_=u(b*w),D=u(E*I),S=u(b*I);return new v(_,D,u(w*E),S)}subtract(e){return this.add(e.negate())}wNAF(e){return S.wNAFCached(this,e,v.normalizeZ)}multiply(e){$("scalar",e,ef,s);let{p:t,f:r}=this.wNAF(e);return v.normalizeZ([t,r])[0]}multiplyUnsafe(e,t=v.ZERO){return $("scalar",e,ep,s),e===ep?D:this.is0()||e===ef?this:S.wNAFCachedUnsafe(this,e,v.normalizeZ,t)}isSmallOrder(){return this.multiplyUnsafe(l).is0()}isTorsionFree(){return S.unsafeLadder(this,s).is0()}toAffine(e){return b(this,e)}clearCofactor(){let{h:e}=r;return e===ef?this:this.multiplyUnsafe(e)}static fromHex(e,t=!1){let{d:s,a:n}=r,o=i.BYTES;e=U("pointHex",e,o),O("zip215",t);let a=e.slice(),c=e[o-1];a[o-1]=-129&c;let l=j(a);$("pointHex.y",l,ep,t?h:i.ORDER);let d=u(l*l),{isValid:f,value:g}=p(u(d-ef),u(s*d-n));if(!f)throw Error("Point.fromHex: invalid y coordinate");let y=(g&ef)===ef,m=(128&c)!=0;if(!t&&g===ep&&m)throw Error("Point.fromHex: x=0 and x_0=1");return m!==y&&(g=u(-g)),v.fromAffine({x:g,y:l})}static fromPrivateKey(e){return P(e).point}toRawBytes(){let{x:e,y:t}=this.toAffine(),r=k(t,i.BYTES);return r[r.length-1]|=e&ef?128:0,r}toHex(){return C(this.toRawBytes())}}v.BASE=new v(r.Gx,r.Gy,ef,u(r.Gx*r.Gy)),v.ZERO=new v(ep,ef,ef,ep);let{BASE:E,ZERO:D}=v,S=(t=8*c,{constTimeNegate:ea,hasPrecomputes:e=>1!==ed(e),unsafeLadder(e,t,r=v.ZERO){let i=e;for(;t>en;)t&eo&&(r=r.add(i)),i=i.double(),t>>=eo;return r},precomputeWindow(e,r){let{windows:i,windowSize:s}=el(r,t),n=[],o=e,a=o;for(let e=0;e<i;e++){a=o,n.push(a);for(let e=1;e<s;e++)a=a.add(o),n.push(a);o=a.double()}return n},wNAF(e,r,i){let{windows:s,windowSize:n}=el(e,t),o=v.ZERO,a=v.BASE,c=BigInt(2**e-1),l=2**e,h=BigInt(e);for(let e=0;e<s;e++){let t=e*n,s=Number(i&c);i>>=h,s>n&&(s-=l,i+=eo);let u=t+Math.abs(s)-1,d=e%2!=0,p=s<0;0===s?a=a.add(ea(d,r[t])):o=o.add(ea(p,r[u]))}return{p:o,f:a}},wNAFUnsafe(e,r,i,s=v.ZERO){let{windows:n,windowSize:o}=el(e,t),a=BigInt(2**e-1),c=2**e,l=BigInt(e);for(let e=0;e<n;e++){let t=e*o;if(i===en)break;let n=Number(i&a);if(i>>=l,n>o&&(n-=c,i+=eo),0===n)continue;let h=r[t+Math.abs(n)-1];n<0&&(h=h.negate()),s=s.add(h)}return s},getPrecomputes(e,t,r){let i=eh.get(t);return i||(i=this.precomputeWindow(t,e),1!==e&&eh.set(t,r(i))),i},wNAFCached(e,t,r){let i=ed(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)},wNAFCachedUnsafe(e,t,r,i){let s=ed(e);return 1===s?this.unsafeLadder(e,t,i):this.wNAFUnsafe(s,this.getPrecomputes(s,e,r),t,i)},setWindowSize(e,r){ec(r,t),eu.set(e,r),eh.delete(e)}});function P(e){let t=i.BYTES;e=U("private key",e,t);let r=U("hashed private key",o(e),2*t),n=f(r.slice(0,t)),a=r.slice(t,2*t),c=Q(j(n),s),l=E.multiply(c),h=l.toRawBytes();return{head:n,prefix:a,scalar:c,point:l,pointBytes:h}}function x(e=new Uint8Array,...t){return Q(j(o(g(B(...t),U("context",e),!!n))),s)}return E._setWindowSize(8),{CURVE:r,getPublicKey:function(e){return P(e).pointBytes},sign:function(e,t,r={}){e=U("message",e),n&&(e=n(e));let{prefix:o,scalar:a,pointBytes:c}=P(t),l=x(r.context,o,e),h=E.multiply(l).toRawBytes(),u=Q(l+x(r.context,h,c,e)*a,s);return $("signature.s",u,ep,s),U("result",B(h,k(u,i.BYTES)),2*i.BYTES)},verify:function(e,t,r,s=em){let o,a,c;let{context:l,zip215:h}=s,u=i.BYTES;e=U("signature",e,2*u),t=U("message",t),r=U("publicKey",r,u),void 0!==h&&O("zip215",h),n&&(t=n(t));let d=j(e.slice(u,2*u));try{o=v.fromHex(r,h),a=v.fromHex(e.slice(0,u),h),c=E.multiplyUnsafe(d)}catch{return!1}if(!h&&o.isSmallOrder())return!1;let p=x(l,a.toRawBytes(),o.toRawBytes(),t);return a.add(o.multiplyUnsafe(p)).subtract(c).clearCofactor().equals(v.ZERO)},ExtendedPoint:v,utils:{getExtendedPublicKey:P,randomPrivateKey:()=>a(i.BYTES),precompute:(e=8,t=v.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)}}}({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:eD,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:e_,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:E,randomBytes:u,adjustScalarBytes:function(e){return e[0]&=248,e[31]&=127,e[31]|=64,e},uvRatio:function(e,t){let r=Q(t*t*t,eb),i=function(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),s=BigInt(80),n=e*e%eb*e%eb,o=X(n,eE,eb)*n%eb,a=X(o,ev,eb)*e%eb,c=X(a,eI,eb)*a%eb,l=X(c,t,eb)*c%eb,h=X(l,r,eb)*l%eb,u=X(h,i,eb)*h%eb,d=X(u,s,eb)*u%eb,p=X(d,s,eb)*u%eb,f=X(p,t,eb)*c%eb;return{pow_p_5_8:X(f,eE,eb)*e%eb,b2:n}}(e*Q(r*r*t,eb)).pow_p_5_8,s=Q(e*r*i,eb),n=Q(t*s*s,eb),o=s,a=Q(s*ew,eb),c=n===e,l=n===Q(-e,eb),h=n===Q(-e*ew,eb);return c&&(s=o),(l||h)&&(s=a),et(s,eb)&&(s=Q(-s,eb)),{isValid:c||l,value:s}}}),eP="base64url",eO="utf8",ex="utf8",eC="base58btc";function eA(e){return null!=globalThis.Buffer?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function eR(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?eA(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function eN(e,t){t||(t=e.reduce((e,t)=>e+t.length,0));let r=eR(t),i=0;for(let t of e)r.set(t,i),i+=t.length;return eA(r)}var eT=function(e,t){if(e.length>=255)throw TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var s=0;s<e.length;s++){var n=e.charAt(s),o=n.charCodeAt(0);if(255!==r[o])throw TypeError(n+" is ambiguous");r[o]=s}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),h=Math.log(256)/Math.log(a);function u(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[0]){for(var i=0,s=0;e[t]===c;)i++,t++;for(var n=(e.length-t)*l+1>>>0,o=new Uint8Array(n);e[t];){var h=r[e.charCodeAt(t)];if(255===h)return;for(var u=0,d=n-1;(0!==h||u<s)&&-1!==d;d--,u++)h+=a*o[d]>>>0,o[d]=h%256>>>0,h=h/256>>>0;if(0!==h)throw Error("Non-zero carry");s=u,t++}if(" "!==e[t]){for(var p=n-s;p!==n&&0===o[p];)p++;for(var f=new Uint8Array(i+(n-p)),g=i;p!==n;)f[g++]=o[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,i=0,s=0,n=t.length;s!==n&&0===t[s];)s++,r++;for(var o=(n-s)*h+1>>>0,l=new Uint8Array(o);s!==n;){for(var u=t[s],d=0,p=o-1;(0!==u||d<i)&&-1!==p;p--,d++)u+=256*l[p]>>>0,l[p]=u%a>>>0,u=u/a>>>0;if(0!==u)throw Error("Non-zero carry");i=d,s++}for(var f=o-i;f!==o&&0===l[f];)f++;for(var g=c.repeat(r);f<o;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:u,decode:function(e){var r=u(e);if(r)return r;throw Error(`Non-${t} character`)}}};let ej=e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error("Unknown type, must be binary type")},eL=e=>new TextEncoder().encode(e),ek=e=>new TextDecoder().decode(e);class eU{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class eB{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"==typeof e){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))}throw Error("Can only multibase decode strings")}or(e){return e$(this,e)}}class eq{constructor(e){this.decoders=e}or(e){return e$(this,e)}decode(e){let t=e[0],r=this.decoders[t];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`)}}let e$=(e,t)=>new eq({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class eM{constructor(e,t,r,i){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=i,this.encoder=new eU(e,t,r),this.decoder=new eB(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}let ez=({name:e,prefix:t,encode:r,decode:i})=>new eM(e,t,r,i),eF=({prefix:e,name:t,alphabet:r})=>{let{encode:i,decode:s}=eT(r,t);return ez({prefix:e,name:t,encode:i,decode:e=>ej(s(e))})},eH=(e,t,r,i)=>{let s={};for(let e=0;e<t.length;++e)s[t[e]]=e;let n=e.length;for(;"="===e[n-1];)--n;let o=new Uint8Array(n*r/8|0),a=0,c=0,l=0;for(let t=0;t<n;++t){let n=s[e[t]];if(void 0===n)throw SyntaxError(`Non-${i} character`);c=c<<r|n,(a+=r)>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw SyntaxError("Unexpected end of data");return o},eV=(e,t,r)=>{let i="="===t[t.length-1],s=(1<<r)-1,n="",o=0,a=0;for(let i=0;i<e.length;++i)for(a=a<<8|e[i],o+=8;o>r;)o-=r,n+=t[s&a>>o];if(o&&(n+=t[s&a<<r-o]),i)for(;n.length*r&7;)n+="=";return n},eK=({name:e,prefix:t,bitsPerChar:r,alphabet:i})=>ez({prefix:t,name:e,encode:e=>eV(e,i,r),decode:t=>eH(t,i,r,e)});var eW=Object.freeze({__proto__:null,identity:ez({prefix:"\0",name:"identity",encode:e=>ek(e),decode:e=>eL(e)})}),eJ=Object.freeze({__proto__:null,base2:eK({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})}),eG=Object.freeze({__proto__:null,base8:eK({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})}),eY=Object.freeze({__proto__:null,base10:eF({prefix:"9",name:"base10",alphabet:"0123456789"})}),eZ=Object.freeze({__proto__:null,base16:eK({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),base16upper:eK({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});let eQ=eK({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),eX=eK({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),e0=eK({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),e1=eK({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),e2=eK({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),e8=eK({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5});var e3=Object.freeze({__proto__:null,base32:eQ,base32upper:eX,base32pad:e0,base32padupper:e1,base32hex:e2,base32hexupper:e8,base32hexpad:eK({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),base32hexpadupper:eK({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),base32z:eK({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})}),e5=Object.freeze({__proto__:null,base36:eF({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),base36upper:eF({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})}),e4=Object.freeze({__proto__:null,base58btc:eF({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),base58flickr:eF({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});let e6=eK({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6});var e9=Object.freeze({__proto__:null,base64:e6,base64pad:eK({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),base64url:eK({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),base64urlpad:eK({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});let e7=Array.from("\uD83D\uDE80\uD83E\uDE90☄\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☀\uD83D\uDCBB\uD83D\uDDA5\uD83D\uDCBE\uD83D\uDCBF\uD83D\uDE02❤\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☺\uD83D\uDC4C\uD83E\uDD17\uD83D\uDC9C\uD83D\uDE14\uD83D\uDE0E\uD83D\uDE07\uD83C\uDF39\uD83E\uDD26\uD83C\uDF89\uD83D\uDC9E✌✨\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❣\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✋\uD83D\uDE1A\uD83D\uDE1D\uD83D\uDE34\uD83C\uDF1F\uD83D\uDE2C\uD83D\uDE43\uD83C\uDF40\uD83C\uDF37\uD83D\uDE3B\uD83D\uDE13⭐✅\uD83E\uDD7A\uD83C\uDF08\uD83D\uDE08\uD83E\uDD18\uD83D\uDCA6✔\uD83D\uDE23\uD83C\uDFC3\uD83D\uDC90☹\uD83C\uDF8A\uD83D\uDC98\uD83D\uDE20☝\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⚽\uD83E\uDD19☕\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⚡\uD83C\uDF1E\uD83C\uDF88❌✊\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✈\uD83C\uDF80\uD83C\uDF7A\uD83E\uDD13\uD83D\uDE19\uD83D\uDC9F\uD83C\uDF31\uD83D\uDE16\uD83D\uDC76\uD83E\uDD74▶➡❓\uD83D\uDC8E\uD83D\uDCB8⬇\uD83D\uDE28\uD83C\uDF1A\uD83E\uDD8B\uD83D\uDE37\uD83D\uDD7A⚠\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☎\uD83D\uDCA7\uD83D\uDE2F\uD83D\uDC86\uD83D\uDC46\uD83C\uDFA4\uD83D\uDE47\uD83C\uDF51❄\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"),te=e7.reduce((e,t,r)=>(e[r]=t,e),[]),tt=e7.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);var tr=Object.freeze({__proto__:null,base256emoji:ez({prefix:"\uD83D\uDE80",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>e+=te[t],"")},decode:function(e){let t=[];for(let r of e){let e=tt[r.codePointAt(0)];if(void 0===e)throw Error(`Non-base256emoji character: ${r}`);t.push(e)}return new Uint8Array(t)}})});function ti(e,t){var r,i=0,t=t||0,s=0,n=t,o=e.length;do{if(n>=o)throw ti.bytes=0,RangeError("Could not decode varint");r=e[n++],i+=s<28?(127&r)<<s:(127&r)*Math.pow(2,s),s+=7}while(r>=128);return ti.bytes=n-t,i}var ts=function e(t,r,i){r=r||[],i=i||0;for(var s=i;t>=2147483648;)r[i++]=255&t|128,t/=128;for(;-128&t;)r[i++]=255&t|128,t>>>=7;return r[i]=0|t,e.bytes=i-s+1,r};let tn=(e,t,r=0)=>(ts(e,t,r),t),to=e=>e<128?1:e<16384?2:e<2097152?3:e<268435456?4:e<34359738368?5:e<4398046511104?6:e<562949953421312?7:e<72057594037927940?8:e<0x7fffffffffffffff?9:10,ta=(e,t)=>{let r=t.byteLength,i=to(e),s=i+to(r),n=new Uint8Array(s+r);return tn(e,n,0),tn(r,n,i),n.set(t,s),new tc(e,r,t,n)};class tc{constructor(e,t,r,i){this.code=e,this.size=t,this.digest=r,this.bytes=i}}let tl=({name:e,code:t,encode:r})=>new th(e,t,r);class th{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?ta(this.code,t):t.then(e=>ta(this.code,e))}throw Error("Unknown type, must be binary type")}}let tu=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t));var td=Object.freeze({__proto__:null,sha256:tl({name:"sha2-256",code:18,encode:tu("SHA-256")}),sha512:tl({name:"sha2-512",code:19,encode:tu("SHA-512")})}),tp=Object.freeze({__proto__:null,identity:{code:0,name:"identity",encode:ej,digest:e=>ta(0,ej(e))}});new TextEncoder,new TextDecoder;let tf={...eW,...eJ,...eG,...eY,...eZ,...e3,...e5,...e4,...e9,...tr};function tg(e,t,r,i){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:i}}}({...td,...tp});let ty=tg("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),tm=tg("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{let t=eR((e=e.substring(1)).length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),tb={utf8:ty,"utf-8":ty,hex:tf.base16,latin1:tm,ascii:tm,binary:tm,...tf};function tw(e,t="utf8"){let r=tb[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function tv(e,t="utf8"){let r=tb[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?eA(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function tE(e){return(0,s.D)(tw(tv(e,eP),eO))}function tI(e){return tw(tv((0,s.u)(e),eO),eP)}function t_(e){return["did","key","z"+tw(eN([tv("K36",eC),e]),eC)].join(":")}function tD(e){let t=e.split("."),r=tE(t[0]);return{header:r,payload:tE(t[1]),signature:tv(t[2],eP),data:tv(t.slice(0,2).join("."),ex)}}function tS(e=u(32)){let t=eS.getPublicKey(e);return{secretKey:eN([e,t]),publicKey:t}}async function tP(e,t,r,s,n=(0,i.fromMiliseconds)(Date.now())){var o,a;let c={alg:"EdDSA",typ:"JWT"},l={iss:t_(s.publicKey),sub:e,aud:t,iat:n,exp:n+r},h=tv([tI((o={header:c,payload:l}).header),tI(o.payload)].join("."),ex);return[tI((a={header:c,payload:l,signature:eS.sign(h,s.secretKey.slice(0,32))}).header),tI(a.payload),tw(a.signature,eP)].join(".")}},90834:function(e,t,r){"use strict";r.d(t,{D:function(){return n},u:function(){return o}});let i=e=>JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString()+"n":t),s=e=>JSON.parse(e.replace(/([\[:])?(\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,'$1"$2n"$3'),(e,t)=>"string"==typeof t&&t.match(/^\d+n$/)?BigInt(t.substring(0,t.length-1)):t);function n(e){if("string"!=typeof e)throw Error(`Cannot safe json parse value of type ${typeof e}`);try{return s(e)}catch(t){return e}}function o(e){return"string"==typeof e?e:i(e)||""}},21458:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(28813);i.__exportStar(r(25526),t),i.__exportStar(r(48828),t)},25526:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ONE_THOUSAND=t.ONE_HUNDRED=void 0,t.ONE_HUNDRED=100,t.ONE_THOUSAND=1e3},48828:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ONE_YEAR=t.FOUR_WEEKS=t.THREE_WEEKS=t.TWO_WEEKS=t.ONE_WEEK=t.THIRTY_DAYS=t.SEVEN_DAYS=t.FIVE_DAYS=t.THREE_DAYS=t.ONE_DAY=t.TWENTY_FOUR_HOURS=t.TWELVE_HOURS=t.SIX_HOURS=t.THREE_HOURS=t.ONE_HOUR=t.SIXTY_MINUTES=t.THIRTY_MINUTES=t.TEN_MINUTES=t.FIVE_MINUTES=t.ONE_MINUTE=t.SIXTY_SECONDS=t.THIRTY_SECONDS=t.TEN_SECONDS=t.FIVE_SECONDS=t.ONE_SECOND=void 0,t.ONE_SECOND=1,t.FIVE_SECONDS=5,t.TEN_SECONDS=10,t.THIRTY_SECONDS=30,t.SIXTY_SECONDS=60,t.ONE_MINUTE=t.SIXTY_SECONDS,t.FIVE_MINUTES=5*t.ONE_MINUTE,t.TEN_MINUTES=10*t.ONE_MINUTE,t.THIRTY_MINUTES=30*t.ONE_MINUTE,t.SIXTY_MINUTES=60*t.ONE_MINUTE,t.ONE_HOUR=t.SIXTY_MINUTES,t.THREE_HOURS=3*t.ONE_HOUR,t.SIX_HOURS=6*t.ONE_HOUR,t.TWELVE_HOURS=12*t.ONE_HOUR,t.TWENTY_FOUR_HOURS=24*t.ONE_HOUR,t.ONE_DAY=t.TWENTY_FOUR_HOURS,t.THREE_DAYS=3*t.ONE_DAY,t.FIVE_DAYS=5*t.ONE_DAY,t.SEVEN_DAYS=7*t.ONE_DAY,t.THIRTY_DAYS=30*t.ONE_DAY,t.ONE_WEEK=t.SEVEN_DAYS,t.TWO_WEEKS=2*t.ONE_WEEK,t.THREE_WEEKS=3*t.ONE_WEEK,t.FOUR_WEEKS=4*t.ONE_WEEK,t.ONE_YEAR=365*t.ONE_DAY},2697:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(28813);i.__exportStar(r(11984),t),i.__exportStar(r(17444),t),i.__exportStar(r(23268),t),i.__exportStar(r(21458),t)},23268:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(28813).__exportStar(r(39361),t)},39361:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IWatch=void 0;class r{}t.IWatch=r},2657:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fromMiliseconds=t.toMiliseconds=void 0;let i=r(21458);t.toMiliseconds=function(e){return e*i.ONE_THOUSAND},t.fromMiliseconds=function(e){return Math.floor(e/i.ONE_THOUSAND)}},2091:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.delay=void 0,t.delay=function(e){return new Promise(t=>{setTimeout(()=>{t(!0)},e)})}},11984:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(28813);i.__exportStar(r(2091),t),i.__exportStar(r(2657),t)},17444:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Watch=void 0;class r{constructor(){this.timestamps=new Map}start(e){if(this.timestamps.has(e))throw Error(`Watch already started for label: ${e}`);this.timestamps.set(e,{started:Date.now()})}stop(e){let t=this.get(e);if(void 0!==t.elapsed)throw Error(`Watch already stopped for label: ${e}`);let r=Date.now()-t.started;this.timestamps.set(e,{started:t.started,elapsed:r})}get(e){let t=this.timestamps.get(e);if(void 0===t)throw Error(`No timestamp found for label: ${e}`);return t}elapsed(e){let t=this.get(e);return t.elapsed||Date.now()-t.started}}t.Watch=r,t.default=r},48381:function(e,t){"use strict";function r(e){let t;return"undefined"!=typeof window&&void 0!==window[e]&&(t=window[e]),t}function i(e){let t=r(e);if(!t)throw Error(`${e} is not defined in Window`);return t}Object.defineProperty(t,"__esModule",{value:!0}),t.getLocalStorage=t.getLocalStorageOrThrow=t.getCrypto=t.getCryptoOrThrow=t.getLocation=t.getLocationOrThrow=t.getNavigator=t.getNavigatorOrThrow=t.getDocument=t.getDocumentOrThrow=t.getFromWindowOrThrow=t.getFromWindow=void 0,t.getFromWindow=r,t.getFromWindowOrThrow=i,t.getDocumentOrThrow=function(){return i("document")},t.getDocument=function(){return r("document")},t.getNavigatorOrThrow=function(){return i("navigator")},t.getNavigator=function(){return r("navigator")},t.getLocationOrThrow=function(){return i("location")},t.getLocation=function(){return r("location")},t.getCryptoOrThrow=function(){return i("crypto")},t.getCrypto=function(){return r("crypto")},t.getLocalStorageOrThrow=function(){return i("localStorage")},t.getLocalStorage=function(){return r("localStorage")}},25063:function(e,t,r){"use strict";t.D=void 0;let i=r(48381);t.D=function(){let e,t,r;try{e=i.getDocumentOrThrow(),t=i.getLocationOrThrow()}catch(e){return null}function s(...t){let r=e.getElementsByTagName("meta");for(let e=0;e<r.length;e++){let i=r[e],s=["itemprop","property","name"].map(e=>i.getAttribute(e)).filter(e=>!!e&&t.includes(e));if(s.length&&s){let e=i.getAttribute("content");if(e)return e}}return""}let n=((r=s("name","og:site_name","og:title","twitter:title"))||(r=e.title),r),o=s("description","og:description","twitter:description","keywords");return{description:o,url:t.origin,icons:function(){let r=e.getElementsByTagName("link"),i=[];for(let e=0;e<r.length;e++){let s=r[e],n=s.getAttribute("rel");if(n&&n.toLowerCase().indexOf("icon")>-1){let e=s.getAttribute("href");if(e){if(-1===e.toLowerCase().indexOf("https:")&&-1===e.toLowerCase().indexOf("http:")&&0!==e.indexOf("//")){let r=t.protocol+"//"+t.host;if(0===e.indexOf("/"))r+=e;else{let i=t.pathname.split("/");i.pop(),r+=i.join("/")+"/"+e}i.push(r)}else if(0===e.indexOf("//")){let r=t.protocol+e;i.push(r)}else i.push(e)}}}return i}(),name:n}}},97448:function(e,t){var r="undefined"!=typeof self?self:this,i=function(){function e(){this.fetch=!1,this.DOMException=r.DOMException}return e.prototype=r,new e}();(function(e){var t={searchParams:"URLSearchParams"in i,iterable:"Symbol"in i&&"iterator"in Symbol,blob:"FileReader"in i&&"Blob"in i&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in i,arrayBuffer:"ArrayBuffer"in i};if(t.arrayBuffer)var r=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],s=ArrayBuffer.isView||function(e){return e&&r.indexOf(Object.prototype.toString.call(e))>-1};function n(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw TypeError("Invalid character in header field name");return e.toLowerCase()}function o(e){return"string"!=typeof e&&(e=String(e)),e}function a(e){var r={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return t.iterable&&(r[Symbol.iterator]=function(){return r}),r}function c(e){this.map={},e instanceof c?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function l(e){if(e.bodyUsed)return Promise.reject(TypeError("Already read"));e.bodyUsed=!0}function h(e){return new Promise(function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}})}function u(e){var t=new FileReader,r=h(t);return t.readAsArrayBuffer(e),r}function d(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function p(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e,e){if("string"==typeof e)this._bodyText=e;else if(t.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(t.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else{var r;t.arrayBuffer&&t.blob&&(r=e)&&DataView.prototype.isPrototypeOf(r)?(this._bodyArrayBuffer=d(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):t.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||s(e))?this._bodyArrayBuffer=d(e):this._bodyText=e=Object.prototype.toString.call(e)}}else this._bodyText="";!this.headers.get("content-type")&&("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},t.blob&&(this.blob=function(){var e=l(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(!this._bodyFormData)return Promise.resolve(new Blob([this._bodyText]));throw Error("could not read FormData body as blob")},this.arrayBuffer=function(){return this._bodyArrayBuffer?l(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(u)}),this.text=function(){var e,t,r,i=l(this);if(i)return i;if(this._bodyBlob)return e=this._bodyBlob,r=h(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=Array(t.length),i=0;i<t.length;i++)r[i]=String.fromCharCode(t[i]);return r.join("")}(this._bodyArrayBuffer));if(!this._bodyFormData)return Promise.resolve(this._bodyText);throw Error("could not read FormData body as text")},t.formData&&(this.formData=function(){return this.text().then(y)}),this.json=function(){return this.text().then(JSON.parse)},this}c.prototype.append=function(e,t){e=n(e),t=o(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},c.prototype.delete=function(e){delete this.map[n(e)]},c.prototype.get=function(e){return e=n(e),this.has(e)?this.map[e]:null},c.prototype.has=function(e){return this.map.hasOwnProperty(n(e))},c.prototype.set=function(e,t){this.map[n(e)]=o(t)},c.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},c.prototype.keys=function(){var e=[];return this.forEach(function(t,r){e.push(r)}),a(e)},c.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),a(e)},c.prototype.entries=function(){var e=[];return this.forEach(function(t,r){e.push([r,t])}),a(e)},t.iterable&&(c.prototype[Symbol.iterator]=c.prototype.entries);var f=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function g(e,t){var r,i,s=(t=t||{}).body;if(e instanceof g){if(e.bodyUsed)throw TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new c(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,s||null==e._bodyInit||(s=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",(t.headers||!this.headers)&&(this.headers=new c(t.headers)),this.method=(i=(r=t.method||this.method||"GET").toUpperCase(),f.indexOf(i)>-1?i:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&s)throw TypeError("Body not allowed for GET or HEAD requests");this._initBody(s)}function y(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var r=e.split("="),i=r.shift().replace(/\+/g," "),s=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(i),decodeURIComponent(s))}}),t}function m(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new c(t.headers),this.url=t.url||"",this._initBody(e)}g.prototype.clone=function(){return new g(this,{body:this._bodyInit})},p.call(g.prototype),p.call(m.prototype),m.prototype.clone=function(){return new m(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new c(this.headers),url:this.url})},m.error=function(){var e=new m(null,{status:0,statusText:""});return e.type="error",e};var b=[301,302,303,307,308];m.redirect=function(e,t){if(-1===b.indexOf(t))throw RangeError("Invalid status code");return new m(null,{status:t,headers:{location:e}})},e.DOMException=i.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function w(r,i){return new Promise(function(s,n){var o=new g(r,i);if(o.signal&&o.signal.aborted)return n(new e.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function l(){a.abort()}a.onload=function(){var e,t,r={status:a.status,statusText:a.statusText,headers:(e=a.getAllResponseHeaders()||"",t=new c,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(e){var r=e.split(":"),i=r.shift().trim();if(i){var s=r.join(":").trim();t.append(i,s)}}),t)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL"),s(new m("response"in a?a.response:a.responseText,r))},a.onerror=function(){n(TypeError("Network request failed"))},a.ontimeout=function(){n(TypeError("Network request failed"))},a.onabort=function(){n(new e.DOMException("Aborted","AbortError"))},a.open(o.method,o.url,!0),"include"===o.credentials?a.withCredentials=!0:"omit"===o.credentials&&(a.withCredentials=!1),"responseType"in a&&t.blob&&(a.responseType="blob"),o.headers.forEach(function(e,t){a.setRequestHeader(t,e)}),o.signal&&(o.signal.addEventListener("abort",l),a.onreadystatechange=function(){4===a.readyState&&o.signal.removeEventListener("abort",l)}),a.send(void 0===o._bodyInit?null:o._bodyInit)})}w.polyfill=!0,i.fetch||(i.fetch=w,i.Headers=c,i.Request=g,i.Response=m),e.Headers=c,e.Request=g,e.Response=m,e.fetch=w,Object.defineProperty(e,"__esModule",{value:!0})})({}),i.fetch.ponyfill=!0,delete i.fetch.polyfill,(t=i.fetch).default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t},43989:function(e,t,r){"use strict";r.d(t,{qY:function(){return p}});var i=r(32608),s=function(e,t,r){if(r||2==arguments.length)for(var i,s=0,n=t.length;s<n;s++)!i&&s in t||(i||(i=Array.prototype.slice.call(t,0,s)),i[s]=t[s]);return e.concat(i||Array.prototype.slice.call(t))},n=function(e,t,r){this.name=e,this.version=t,this.os=r,this.type="browser"},o=function(e){this.version=e,this.type="node",this.name="node",this.os=i.platform},a=function(e,t,r,i){this.name=e,this.version=t,this.os=r,this.bot=i,this.type="bot-device"},c=function(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null},l=function(){this.type="react-native",this.name="react-native",this.version=null,this.os=null},h=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,u=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/]],d=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function p(e){return e?f(e):"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product?new l:"undefined"!=typeof navigator?f(navigator.userAgent):void 0!==i&&i.version?new o(i.version.slice(1)):null}function f(e){var t=""!==e&&u.reduce(function(t,r){var i=r[0],s=r[1];if(t)return t;var n=s.exec(e);return!!n&&[i,n]},!1);if(!t)return null;var r=t[0],i=t[1];if("searchbot"===r)return new c;var o=i[1]&&i[1].split(".").join("_").split("_").slice(0,3);o?o.length<3&&(o=s(s([],o,!0),function(e){for(var t=[],r=0;r<e;r++)t.push("0");return t}(3-o.length),!0)):o=[];var l=o.join("."),p=function(e){for(var t=0,r=d.length;t<r;t++){var i=d[t],s=i[0];if(i[1].exec(e))return s}return null}(e),f=h.exec(e);return f&&f[1]?new a(r,l,p,f[1]):new n(r,l,p)}},52484:function(e){"use strict";var t,r="object"==typeof Reflect?Reflect:null,i=r&&"function"==typeof r.apply?r.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};t=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function n(){n.init.call(this)}e.exports=n,e.exports.once=function(e,t){return new Promise(function(r,i){var s;function n(r){e.removeListener(t,o),i(r)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",n),r([].slice.call(arguments))}g(e,t,o,{once:!0}),"error"!==t&&(s={once:!0},"function"==typeof e.on&&g(e,"error",n,s))})},n.EventEmitter=n,n.prototype._events=void 0,n.prototype._eventsCount=0,n.prototype._maxListeners=void 0;var o=10;function a(e){if("function"!=typeof e)throw TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?n.defaultMaxListeners:e._maxListeners}function l(e,t,r,i){if(a(r),void 0===(n=e._events)?(n=e._events=Object.create(null),e._eventsCount=0):(void 0!==n.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),n=e._events),o=n[t]),void 0===o)o=n[t]=r,++e._eventsCount;else if("function"==typeof o?o=n[t]=i?[r,o]:[o,r]:i?o.unshift(r):o.push(r),(s=c(e))>0&&o.length>s&&!o.warned){o.warned=!0;var s,n,o,l=Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=o.length,console&&console.warn&&console.warn(l)}return e}function h(){if(!this.fired)return(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0==arguments.length)?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function u(e,t,r){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},s=h.bind(i);return s.listener=r,i.wrapFn=s,s}function d(e,t,r){var i=e._events;if(void 0===i)return[];var s=i[t];return void 0===s?[]:"function"==typeof s?r?[s.listener||s]:[s]:r?function(e){for(var t=Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(s):f(s,s.length)}function p(e){var t=this._events;if(void 0!==t){var r=t[e];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function f(e,t){for(var r=Array(t),i=0;i<t;++i)r[i]=e[i];return r}function g(e,t,r,i){if("function"==typeof e.on)i.once?e.once(t,r):e.on(t,r);else if("function"==typeof e.addEventListener)e.addEventListener(t,function s(n){i.once&&e.removeEventListener(t,s),r(n)});else throw TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}Object.defineProperty(n,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(e){if("number"!=typeof e||e<0||s(e))throw RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");o=e}}),n.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},n.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||s(e))throw RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},n.prototype.getMaxListeners=function(){return c(this)},n.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var s="error"===e,n=this._events;if(void 0!==n)s=s&&void 0===n.error;else if(!s)return!1;if(s){if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var o,a=Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=n[e];if(void 0===c)return!1;if("function"==typeof c)i(c,this,t);else for(var l=c.length,h=f(c,l),r=0;r<l;++r)i(h[r],this,t);return!0},n.prototype.addListener=function(e,t){return l(this,e,t,!1)},n.prototype.on=n.prototype.addListener,n.prototype.prependListener=function(e,t){return l(this,e,t,!0)},n.prototype.once=function(e,t){return a(t),this.on(e,u(this,e,t)),this},n.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,u(this,e,t)),this},n.prototype.removeListener=function(e,t){var r,i,s,n,o;if(a(t),void 0===(i=this._events)||void 0===(r=i[e]))return this;if(r===t||r.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(s=-1,n=r.length-1;n>=0;n--)if(r[n]===t||r[n].listener===t){o=r[n].listener,s=n;break}if(s<0)return this;0===s?r.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(r,s),1===r.length&&(i[e]=r[0]),void 0!==i.removeListener&&this.emit("removeListener",e,o||t)}return this},n.prototype.off=n.prototype.removeListener,n.prototype.removeAllListeners=function(e){var t,r,i;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0==arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[e]),this;if(0==arguments.length){var s,n=Object.keys(r);for(i=0;i<n.length;++i)"removeListener"!==(s=n[i])&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(void 0!==t)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},n.prototype.listeners=function(e){return d(this,e,!0)},n.prototype.rawListeners=function(e){return d(this,e,!1)},n.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},n.prototype.listenerCount=p,n.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},68664:function(e){"use strict";function t(e){try{return JSON.stringify(e)}catch(e){return'"[Circular]"'}}e.exports=function(e,r,i){var s=i&&i.stringify||t;if("object"==typeof e&&null!==e){var n=r.length+1;if(1===n)return e;var o=Array(n);o[0]=s(e);for(var a=1;a<n;a++)o[a]=s(r[a]);return o.join(" ")}if("string"!=typeof e)return e;var c=r.length;if(0===c)return e;for(var l="",h=0,u=-1,d=e&&e.length||0,p=0;p<d;){if(37===e.charCodeAt(p)&&p+1<d){switch(u=u>-1?u:0,e.charCodeAt(p+1)){case 100:case 102:if(h>=c||null==r[h])break;u<p&&(l+=e.slice(u,p)),l+=Number(r[h]),u=p+2,p++;break;case 105:if(h>=c||null==r[h])break;u<p&&(l+=e.slice(u,p)),l+=Math.floor(Number(r[h])),u=p+2,p++;break;case 79:case 111:case 106:if(h>=c||void 0===r[h])break;u<p&&(l+=e.slice(u,p));var f=typeof r[h];if("string"===f){l+="'"+r[h]+"'",u=p+2,p++;break}if("function"===f){l+=r[h].name||"<anonymous>",u=p+2,p++;break}l+=s(r[h]),u=p+2,p++;break;case 115:if(h>=c)break;u<p&&(l+=e.slice(u,p)),l+=String(r[h]),u=p+2,p++;break;case 37:u<p&&(l+=e.slice(u,p)),l+="%",u=p+2,p++,h--}++h}++p}return -1===u?e:(u<d&&(l+=e.slice(u)),l)}},28813:function(e,t,r){"use strict";r.r(t),r.d(t,{__assign:function(){return n},__asyncDelegator:function(){return v},__asyncGenerator:function(){return w},__asyncValues:function(){return E},__await:function(){return b},__awaiter:function(){return h},__classPrivateFieldGet:function(){return S},__classPrivateFieldSet:function(){return P},__createBinding:function(){return d},__decorate:function(){return a},__exportStar:function(){return p},__extends:function(){return s},__generator:function(){return u},__importDefault:function(){return D},__importStar:function(){return _},__makeTemplateObject:function(){return I},__metadata:function(){return l},__param:function(){return c},__read:function(){return g},__rest:function(){return o},__spread:function(){return y},__spreadArrays:function(){return m},__values:function(){return f}});/*! *****************************************************************************
10
+ Approved: ${s.toString()}`))}),o.forEach(e=>{i||(k(s[e].methods,n[e].methods)?k(s[e].events,n[e].events)||(i=iE("NON_CONFORMING_NAMESPACES",`${r} namespaces events don't satisfy namespace events for ${e}`)):i=iE("NON_CONFORMING_NAMESPACES",`${r} namespaces methods don't satisfy namespace methods for ${e}`))}),i}function ik(e){return[...new Set(e.map(e=>e.includes(":")?e.split(":")[0]:e))]}function iU(){let e=N();return new Promise(t=>{switch(e){case x.browser:t(R()&&navigator?.onLine);break;case x.reactNative:t(iB());break;case x.node:default:t(!0)}})}async function iB(){if(A()&&"u">typeof r.g&&null!=r.g&&r.g.NetInfo){let e=await (null==r.g?void 0:r.g.NetInfo.fetch());return e?.isConnected}return!0}let iq={};class i${static get(e){return iq[e]}static set(e,t){iq[e]=t}static delete(e){delete iq[e]}}var iM=r(48957),iz=r(53171),iF=r(19425),iH=r(19870),iV=Object.defineProperty,iK=(e,t,r)=>t in e?iV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,iW=(e,t,r)=>iK(e,"symbol"!=typeof t?t+"":t,r);class iJ extends iH.q{constructor(e){super(),this.opts=e,iW(this,"protocol","wc"),iW(this,"version",2)}}var iG=Object.defineProperty,iY=(e,t,r)=>t in e?iG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,iZ=(e,t,r)=>iY(e,"symbol"!=typeof t?t+"":t,r);class iQ extends iH.q{constructor(e,t){super(),this.core=e,this.logger=t,iZ(this,"records",new Map)}}class iX{constructor(e,t){this.logger=e,this.core=t}}class i0 extends iH.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class i1 extends iH.q{constructor(e){super()}}class i2{constructor(e,t,r,i){this.core=e,this.logger=t,this.name=r}}class i8 extends iH.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class i3 extends iH.q{constructor(e,t){super(),this.core=e,this.logger=t}}class i5{constructor(e,t,r){this.core=e,this.logger=t,this.store=r}}class i4{constructor(e,t){this.projectId=e,this.logger=t}}class i6{constructor(e,t,r){this.core=e,this.logger=t,this.telemetryEnabled=r}}var i9=Object.defineProperty,i7=(e,t,r)=>t in e?i9(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,se=(e,t,r)=>i7(e,"symbol"!=typeof t?t+"":t,r);class st{constructor(e){this.opts=e,se(this,"protocol","wc"),se(this,"version",2)}}class sr{constructor(e){this.client=e}}var si=r(90834),ss=r(20624),sn=r(83196),so=r(85593),sa=r(63157).Buffer,sc=r(32608);let sl="core",sh=`wc@2:${sl}:`,su={logger:"error"},sd={database:":memory:"},sp="client_ed25519_seed",sf=o.ONE_DAY,sg=o.SIX_HOURS,sy="wss://relay.walletconnect.org",sm={message:"relayer_message",message_ack:"relayer_message_ack",connect:"relayer_connect",disconnect:"relayer_disconnect",error:"relayer_error",connection_stalled:"relayer_connection_stalled",publish:"relayer_publish"},sb={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},sw="2.21.1",sv={link_mode:"link_mode",relay:"relay"},sE={inbound:"inbound",outbound:"outbound"},sI="WALLETCONNECT_LINK_MODE_APPS",s_={created:"subscription_created",deleted:"subscription_deleted",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},sD=(o.FIVE_SECONDS,{wc_pairingDelete:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:o.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:o.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:o.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:o.ONE_DAY,prompt:!1,tag:0},res:{ttl:o.ONE_DAY,prompt:!1,tag:0}}}),sS={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},sP={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},sO={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},sx="https://verify.walletconnect.org",sC=`${sx}/v3`,sA=["https://verify.walletconnect.com",sx],sR={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"},sN={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_listener_not_found:"proposal_listener_not_found"},sT={session_approve_started:"session_approve_started",session_namespaces_validation_success:"session_namespaces_validation_success",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"},sj={no_internet_connection:"no_internet_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"},sL={authenticated_session_approve_started:"authenticated_session_approve_started",create_authenticated_session_topic:"create_authenticated_session_topic",cacaos_verified:"cacaos_verified",store_authenticated_session:"store_authenticated_session",subscribing_authenticated_session_topic:"subscribing_authenticated_session_topic",subscribe_authenticated_session_topic_success:"subscribe_authenticated_session_topic_success",publishing_authenticated_session_approve:"publishing_authenticated_session_approve"},sk={no_internet_connection:"no_internet_connection",invalid_cacao:"invalid_cacao",subscribe_authenticated_session_topic_failure:"subscribe_authenticated_session_topic_failure",authenticated_session_approve_publish_failure:"authenticated_session_approve_publish_failure",authenticated_session_pending_request_not_found:"authenticated_session_pending_request_not_found"};var sU=function(e,t){if(e.length>=255)throw TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var s=0;s<e.length;s++){var n=e.charAt(s),o=n.charCodeAt(0);if(255!==r[o])throw TypeError(n+" is ambiguous");r[o]=s}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),h=Math.log(256)/Math.log(a);function u(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[0]){for(var i=0,s=0;e[t]===c;)i++,t++;for(var n=(e.length-t)*l+1>>>0,o=new Uint8Array(n);e[t];){var h=r[e.charCodeAt(t)];if(255===h)return;for(var u=0,d=n-1;(0!==h||u<s)&&-1!==d;d--,u++)h+=a*o[d]>>>0,o[d]=h%256>>>0,h=h/256>>>0;if(0!==h)throw Error("Non-zero carry");s=u,t++}if(" "!==e[t]){for(var p=n-s;p!==n&&0===o[p];)p++;for(var f=new Uint8Array(i+(n-p)),g=i;p!==n;)f[g++]=o[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,i=0,s=0,n=t.length;s!==n&&0===t[s];)s++,r++;for(var o=(n-s)*h+1>>>0,l=new Uint8Array(o);s!==n;){for(var u=t[s],d=0,p=o-1;(0!==u||d<i)&&-1!==p;p--,d++)u+=256*l[p]>>>0,l[p]=u%a>>>0,u=u/a>>>0;if(0!==u)throw Error("Non-zero carry");i=d,s++}for(var f=o-i;f!==o&&0===l[f];)f++;for(var g=c.repeat(r);f<o;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:u,decode:function(e){var r=u(e);if(r)return r;throw Error(`Non-${t} character`)}}};let sB=e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error("Unknown type, must be binary type")},sq=e=>new TextEncoder().encode(e),s$=e=>new TextDecoder().decode(e);class sM{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class sz{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"==typeof e){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))}throw Error("Can only multibase decode strings")}or(e){return sH(this,e)}}class sF{constructor(e){this.decoders=e}or(e){return sH(this,e)}decode(e){let t=e[0],r=this.decoders[t];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`)}}let sH=(e,t)=>new sF({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class sV{constructor(e,t,r,i){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=i,this.encoder=new sM(e,t,r),this.decoder=new sz(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}let sK=({name:e,prefix:t,encode:r,decode:i})=>new sV(e,t,r,i),sW=({prefix:e,name:t,alphabet:r})=>{let{encode:i,decode:s}=sU(r,t);return sK({prefix:e,name:t,encode:i,decode:e=>sB(s(e))})},sJ=(e,t,r,i)=>{let s={};for(let e=0;e<t.length;++e)s[t[e]]=e;let n=e.length;for(;"="===e[n-1];)--n;let o=new Uint8Array(n*r/8|0),a=0,c=0,l=0;for(let t=0;t<n;++t){let n=s[e[t]];if(void 0===n)throw SyntaxError(`Non-${i} character`);c=c<<r|n,(a+=r)>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw SyntaxError("Unexpected end of data");return o},sG=(e,t,r)=>{let i="="===t[t.length-1],s=(1<<r)-1,n="",o=0,a=0;for(let i=0;i<e.length;++i)for(a=a<<8|e[i],o+=8;o>r;)o-=r,n+=t[s&a>>o];if(o&&(n+=t[s&a<<r-o]),i)for(;n.length*r&7;)n+="=";return n},sY=({name:e,prefix:t,bitsPerChar:r,alphabet:i})=>sK({prefix:t,name:e,encode:e=>sG(e,i,r),decode:t=>sJ(t,i,r,e)});var sZ=Object.freeze({__proto__:null,identity:sK({prefix:"\0",name:"identity",encode:e=>s$(e),decode:e=>sq(e)})}),sQ=Object.freeze({__proto__:null,base2:sY({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})}),sX=Object.freeze({__proto__:null,base8:sY({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})}),s0=Object.freeze({__proto__:null,base10:sW({prefix:"9",name:"base10",alphabet:"0123456789"})}),s1=Object.freeze({__proto__:null,base16:sY({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),base16upper:sY({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});let s2=sY({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),s8=sY({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),s3=sY({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),s5=sY({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),s4=sY({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),s6=sY({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5});var s9=Object.freeze({__proto__:null,base32:s2,base32upper:s8,base32pad:s3,base32padupper:s5,base32hex:s4,base32hexupper:s6,base32hexpad:sY({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),base32hexpadupper:sY({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),base32z:sY({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})}),s7=Object.freeze({__proto__:null,base36:sW({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),base36upper:sW({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})}),ne=Object.freeze({__proto__:null,base58btc:sW({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),base58flickr:sW({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});let nt=sY({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6});var nr=Object.freeze({__proto__:null,base64:nt,base64pad:sY({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),base64url:sY({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),base64urlpad:sY({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});let ni=Array.from("\uD83D\uDE80\uD83E\uDE90☄\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☀\uD83D\uDCBB\uD83D\uDDA5\uD83D\uDCBE\uD83D\uDCBF\uD83D\uDE02❤\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☺\uD83D\uDC4C\uD83E\uDD17\uD83D\uDC9C\uD83D\uDE14\uD83D\uDE0E\uD83D\uDE07\uD83C\uDF39\uD83E\uDD26\uD83C\uDF89\uD83D\uDC9E✌✨\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❣\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✋\uD83D\uDE1A\uD83D\uDE1D\uD83D\uDE34\uD83C\uDF1F\uD83D\uDE2C\uD83D\uDE43\uD83C\uDF40\uD83C\uDF37\uD83D\uDE3B\uD83D\uDE13⭐✅\uD83E\uDD7A\uD83C\uDF08\uD83D\uDE08\uD83E\uDD18\uD83D\uDCA6✔\uD83D\uDE23\uD83C\uDFC3\uD83D\uDC90☹\uD83C\uDF8A\uD83D\uDC98\uD83D\uDE20☝\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⚽\uD83E\uDD19☕\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⚡\uD83C\uDF1E\uD83C\uDF88❌✊\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✈\uD83C\uDF80\uD83C\uDF7A\uD83E\uDD13\uD83D\uDE19\uD83D\uDC9F\uD83C\uDF31\uD83D\uDE16\uD83D\uDC76\uD83E\uDD74▶➡❓\uD83D\uDC8E\uD83D\uDCB8⬇\uD83D\uDE28\uD83C\uDF1A\uD83E\uDD8B\uD83D\uDE37\uD83D\uDD7A⚠\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☎\uD83D\uDCA7\uD83D\uDE2F\uD83D\uDC86\uD83D\uDC46\uD83C\uDFA4\uD83D\uDE47\uD83C\uDF51❄\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"),ns=ni.reduce((e,t,r)=>(e[r]=t,e),[]),nn=ni.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);var no=Object.freeze({__proto__:null,base256emoji:sK({prefix:"\uD83D\uDE80",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>e+=ns[t],"")},decode:function(e){let t=[];for(let r of e){let e=nn[r.codePointAt(0)];if(void 0===e)throw Error(`Non-base256emoji character: ${r}`);t.push(e)}return new Uint8Array(t)}})});function na(e,t){var r,i=0,t=t||0,s=0,n=t,o=e.length;do{if(n>=o)throw na.bytes=0,RangeError("Could not decode varint");r=e[n++],i+=s<28?(127&r)<<s:(127&r)*Math.pow(2,s),s+=7}while(r>=128);return na.bytes=n-t,i}var nc=function e(t,r,i){r=r||[],i=i||0;for(var s=i;t>=2147483648;)r[i++]=255&t|128,t/=128;for(;-128&t;)r[i++]=255&t|128,t>>>=7;return r[i]=0|t,e.bytes=i-s+1,r};let nl=(e,t,r=0)=>(nc(e,t,r),t),nh=e=>e<128?1:e<16384?2:e<2097152?3:e<268435456?4:e<34359738368?5:e<4398046511104?6:e<562949953421312?7:e<72057594037927940?8:e<0x7fffffffffffffff?9:10,nu=(e,t)=>{let r=t.byteLength,i=nh(e),s=i+nh(r),n=new Uint8Array(s+r);return nl(e,n,0),nl(r,n,i),n.set(t,s),new nd(e,r,t,n)};class nd{constructor(e,t,r,i){this.code=e,this.size=t,this.digest=r,this.bytes=i}}let np=({name:e,code:t,encode:r})=>new nf(e,t,r);class nf{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?nu(this.code,t):t.then(e=>nu(this.code,e))}throw Error("Unknown type, must be binary type")}}let ng=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t));var ny=Object.freeze({__proto__:null,sha256:np({name:"sha2-256",code:18,encode:ng("SHA-256")}),sha512:np({name:"sha2-512",code:19,encode:ng("SHA-512")})}),nm=Object.freeze({__proto__:null,identity:{code:0,name:"identity",encode:sB,digest:e=>nu(0,sB(e))}});new TextEncoder,new TextDecoder;let nb={...sZ,...sQ,...sX,...s0,...s1,...s9,...s7,...ne,...nr,...no};function nw(e,t,r,i){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:i}}}({...ny,...nm});let nv=nw("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),nE=nw("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{let t=function(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}((e=e.substring(1)).length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),nI={utf8:nv,"utf-8":nv,hex:nb.base16,latin1:nE,ascii:nE,binary:nE,...nb};var n_=Object.defineProperty,nD=(e,t,r)=>t in e?n_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,nS=(e,t,r)=>nD(e,"symbol"!=typeof t?t+"":t,r);class nP{constructor(e,t){this.core=e,this.logger=t,nS(this,"keychain",new Map),nS(this,"name","keychain"),nS(this,"version","0.3"),nS(this,"initialized",!1),nS(this,"storagePrefix",sh),nS(this,"init",async()=>{if(!this.initialized){let e=await this.getKeyChain();"u">typeof e&&(this.keychain=e),this.initialized=!0}}),nS(this,"has",e=>(this.isInitialized(),this.keychain.has(e))),nS(this,"set",async(e,t)=>{this.isInitialized(),this.keychain.set(e,t),await this.persist()}),nS(this,"get",e=>{this.isInitialized();let t=this.keychain.get(e);if(typeof t>"u"){let{message:t}=iE("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}),nS(this,"del",async e=>{this.isInitialized(),this.keychain.delete(e),await this.persist()}),this.core=e,this.logger=(0,iF.Ep)(t,this.name)}get context(){return(0,iF.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,U(e))}async getKeyChain(){let e=await this.core.storage.getItem(this.storageKey);return"u">typeof e?B(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}}var nO=Object.defineProperty,nx=(e,t,r)=>t in e?nO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,nC=(e,t,r)=>nx(e,"symbol"!=typeof t?t+"":t,r);class nA{constructor(e,t,r){this.core=e,this.logger=t,nC(this,"name","crypto"),nC(this,"keychain"),nC(this,"randomSessionIdentifier",rZ()),nC(this,"initialized",!1),nC(this,"init",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),nC(this,"hasKeys",e=>(this.isInitialized(),this.keychain.has(e))),nC(this,"getClientId",async()=>{this.isInitialized();let e=await this.getClientSeed(),t=u.Au(e);return u.bG(t.publicKey)}),nC(this,"generateKeyPair",()=>{this.isInitialized();let e=function(){let e=rL.utils.randomPrivateKey(),t=rL.getPublicKey(e);return{privateKey:(0,d.BB)(e,rW),publicKey:(0,d.BB)(t,rW)}}();return this.setPrivateKey(e.publicKey,e.privateKey)}),nC(this,"signJWT",async e=>{this.isInitialized();let t=await this.getClientSeed(),r=u.Au(t),i=this.randomSessionIdentifier;return await u.vf(i,e,sf,r)}),nC(this,"generateSharedKey",(e,t,r)=>{this.isInitialized();let i=function(e,t){let r=tC(tL,rL.getSharedSecret((0,d.mL)(e,rW),(0,d.mL)(t,rW)),void 0,void 0,32);return(0,d.BB)(r,rW)}(this.getPrivateKey(e),t);return this.setSymKey(i,r)}),nC(this,"setSymKey",async(e,t)=>{this.isInitialized();let r=t||rQ(e);return await this.keychain.set(r,e),r}),nC(this,"deleteKeyPair",async e=>{this.isInitialized(),await this.keychain.del(e)}),nC(this,"deleteSymKey",async e=>{this.isInitialized(),await this.keychain.del(e)}),nC(this,"encode",async(e,t,r)=>{this.isInitialized();let i=r4(r),s=(0,si.u)(t);if(2===i.type)return function(e,t){let r=r0(2),i=eb(12),s=r3({type:r,sealed:(0,d.mL)(e,rY),iv:i});return t===rG?r2(s):s}(s,r?.encoding);if(r6(i)){let t=i.senderPublicKey,r=i.receiverPublicKey;e=await this.generateSharedKey(t,r)}let n=this.getSymKey(e),{type:o,senderPublicKey:a}=i;return function(e){let t=r0("u">typeof e.type?e.type:0);if(1===r1(t)&&typeof e.senderPublicKey>"u")throw Error("Missing sender public key for type 1 envelope");let r="u">typeof e.senderPublicKey?(0,d.mL)(e.senderPublicKey,rW):void 0,i="u">typeof e.iv?(0,d.mL)(e.iv,rW):eb(12),s=r3({type:t,sealed:tD((0,d.mL)(e.symKey,rW),i).encrypt((0,d.mL)(e.message,rY)),iv:i,senderPublicKey:r});return e.encoding===rG?r2(s):s}({type:o,symKey:n,message:s,senderPublicKey:a,encoding:r?.encoding})}),nC(this,"decode",async(e,t,r)=>{this.isInitialized();let i=function(e,t){let r=r5({encoded:e,encoding:t?.encoding});return r4({type:r1(r.type),senderPublicKey:"u">typeof r.senderPublicKey?(0,d.BB)(r.senderPublicKey,rW):void 0,receiverPublicKey:t?.receiverPublicKey})}(t,r);if(2===i.type){let e=function(e,t){let{sealed:r}=r5({encoded:e,encoding:t});return(0,d.BB)(r,rY)}(t,r?.encoding);return(0,si.D)(e)}if(r6(i)){let t=i.receiverPublicKey,r=i.senderPublicKey;e=await this.generateSharedKey(t,r)}try{let i=this.getSymKey(e),s=function(e){let t=(0,d.mL)(e.symKey,rW),{sealed:r,iv:i}=r5({encoded:e.encoded,encoding:e.encoding}),s=tD(t,i).decrypt(r);if(null===s)throw Error("Failed to decrypt");return(0,d.BB)(s,rY)}({symKey:i,encoded:t,encoding:r?.encoding});return(0,si.D)(s)}catch(t){this.logger.error(`Failed to decode message from topic: '${e}', clientId: '${await this.getClientId()}'`),this.logger.error(t)}}),nC(this,"getPayloadType",(e,t=rJ)=>r1(r5({encoded:e,encoding:t}).type)),nC(this,"getPayloadSenderPublicKey",(e,t=rJ)=>{let r=r5({encoded:e,encoding:t});return r.senderPublicKey?(0,d.BB)(r.senderPublicKey,rW):void 0}),this.core=e,this.logger=(0,iF.Ep)(t,this.name),this.keychain=r||new nP(this.core,this.logger)}get context(){return(0,iF.Fd)(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(sp)}catch{e=rZ(),await this.keychain.set(sp,e)}return function(e,t="utf8"){let r=nI[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e,"utf8"):r.decoder.decode(`${r.prefix}${e}`)}(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}}var nR=Object.defineProperty,nN=Object.defineProperties,nT=Object.getOwnPropertyDescriptors,nj=Object.getOwnPropertySymbols,nL=Object.prototype.hasOwnProperty,nk=Object.prototype.propertyIsEnumerable,nU=(e,t,r)=>t in e?nR(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,nB=(e,t)=>{for(var r in t||(t={}))nL.call(t,r)&&nU(e,r,t[r]);if(nj)for(var r of nj(t))nk.call(t,r)&&nU(e,r,t[r]);return e},nq=(e,t)=>nN(e,nT(t)),n$=(e,t,r)=>nU(e,"symbol"!=typeof t?t+"":t,r);class nM extends iX{constructor(e,t){super(e,t),this.logger=e,this.core=t,n$(this,"messages",new Map),n$(this,"messagesWithoutClientAck",new Map),n$(this,"name","messages"),n$(this,"version","0.3"),n$(this,"initialized",!1),n$(this,"storagePrefix",sh),n$(this,"init",async()=>{if(!this.initialized){this.logger.trace("Initialized");try{let e=await this.getRelayerMessages();"u">typeof e&&(this.messages=e);let t=await this.getRelayerMessagesWithoutClientAck();"u">typeof t&&(this.messagesWithoutClientAck=t),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}finally{this.initialized=!0}}}),n$(this,"set",async(e,t,r)=>{this.isInitialized();let i=rX(t),s=this.messages.get(e);if(typeof s>"u"&&(s={}),"u">typeof s[i])return i;if(s[i]=t,this.messages.set(e,s),r===sE.inbound){let r=this.messagesWithoutClientAck.get(e)||{};this.messagesWithoutClientAck.set(e,nq(nB({},r),{[i]:t}))}return await this.persist(),i}),n$(this,"get",e=>{this.isInitialized();let t=this.messages.get(e);return typeof t>"u"&&(t={}),t}),n$(this,"getWithoutAck",e=>{this.isInitialized();let t={};for(let r of e){let e=this.messagesWithoutClientAck.get(r)||{};t[r]=Object.values(e)}return t}),n$(this,"has",(e,t)=>(this.isInitialized(),"u">typeof this.get(e)[rX(t)])),n$(this,"ack",async(e,t)=>{this.isInitialized();let r=this.messagesWithoutClientAck.get(e);if(typeof r>"u")return;let i=rX(t);delete r[i],0===Object.keys(r).length?this.messagesWithoutClientAck.delete(e):this.messagesWithoutClientAck.set(e,r),await this.persist()}),n$(this,"del",async e=>{this.isInitialized(),this.messages.delete(e),this.messagesWithoutClientAck.delete(e),await this.persist()}),this.logger=(0,iF.Ep)(e,this.name),this.core=t}get context(){return(0,iF.Fd)(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,U(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,U(e))}async getRelayerMessages(){let e=await this.core.storage.getItem(this.storageKey);return"u">typeof e?B(e):void 0}async getRelayerMessagesWithoutClientAck(){let e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return"u">typeof e?B(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}}var nz=Object.defineProperty,nF=Object.defineProperties,nH=Object.getOwnPropertyDescriptors,nV=Object.getOwnPropertySymbols,nK=Object.prototype.hasOwnProperty,nW=Object.prototype.propertyIsEnumerable,nJ=(e,t,r)=>t in e?nz(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,nG=(e,t)=>{for(var r in t||(t={}))nK.call(t,r)&&nJ(e,r,t[r]);if(nV)for(var r of nV(t))nW.call(t,r)&&nJ(e,r,t[r]);return e},nY=(e,t)=>nF(e,nH(t)),nZ=(e,t,r)=>nJ(e,"symbol"!=typeof t?t+"":t,r);class nQ extends i0{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,nZ(this,"events",new i.EventEmitter),nZ(this,"name","publisher"),nZ(this,"queue",new Map),nZ(this,"publishTimeout",(0,o.toMiliseconds)(o.ONE_MINUTE)),nZ(this,"initialPublishTimeout",(0,o.toMiliseconds)(15*o.ONE_SECOND)),nZ(this,"needsTransportRestart",!1),nZ(this,"publish",async(e,t,r)=>{var i;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:e,message:t,opts:r}});let s=r?.ttl||sg,n=r9(r),o=r?.prompt||!1,a=r?.tag||0,c=r?.id||(0,sn.getBigIntRpcId)().toString(),l={topic:e,message:t,opts:{ttl:s,relay:n,prompt:o,tag:a,id:c,attestation:r?.attestation,tvf:r?.tvf}},h=`Failed to publish payload, please try again. id:${c} tag:${a}`;try{let i=new Promise(async i=>{let n=({id:e})=>{l.opts.id===e&&(this.removeRequestFromQueue(e),this.relayer.events.removeListener(sm.publish,n),i(l))};this.relayer.events.on(sm.publish,n);let h=$(new Promise((i,n)=>{this.rpcPublish({topic:e,message:t,ttl:s,prompt:o,tag:a,id:c,attestation:r?.attestation,tvf:r?.tvf}).then(i).catch(e=>{this.logger.warn(e,e?.message),n(e)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${c} tag:${a}`);try{await h,this.events.removeListener(sm.publish,n)}catch(e){this.queue.set(c,nY(nG({},l),{attempt:1})),this.logger.warn(e,e?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:c,topic:e,message:t,opts:r}}),await $(i,this.publishTimeout,h)}catch(e){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(e),null!=(i=r?.internal)&&i.throwOnFailedPublish)throw e}finally{this.queue.delete(c)}}),nZ(this,"on",(e,t)=>{this.events.on(e,t)}),nZ(this,"once",(e,t)=>{this.events.once(e,t)}),nZ(this,"off",(e,t)=>{this.events.off(e,t)}),nZ(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.relayer=e,this.logger=(0,iF.Ep)(t,this.name),this.registerEventListeners()}get context(){return(0,iF.Fd)(this.logger)}async rpcPublish(e){var t,r,i,s;let{topic:n,message:o,ttl:a=sg,prompt:c,tag:l,id:h,attestation:u,tvf:d}=e,p={method:r7(r9().protocol).publish,params:nG({topic:n,message:o,ttl:a,prompt:c,tag:l,attestation:u},d),id:h};iS(null==(t=p.params)?void 0:t.prompt)&&(null==(r=p.params)||delete r.prompt),iS(null==(i=p.params)?void 0:i.tag)&&(null==(s=p.params)||delete s.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:p});let f=await this.relayer.request(p);return this.relayer.events.emit(sm.publish,e),this.logger.debug("Successfully Published Payload"),f}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{let r=e.attempt+1;this.queue.set(t,nY(nG({},e),{attempt:r}));let{topic:i,message:s,opts:n,attestation:o}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${r}`),await this.rpcPublish(nY(nG({},e),{topic:i,message:s,ttl:n.ttl,prompt:n.prompt,tag:n.tag,id:n.id,attestation:o,tvf:n.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(iM.Lx.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(sm.connection_stalled);return}this.checkQueue()}),this.relayer.on(sm.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var nX=Object.defineProperty,n0=(e,t,r)=>t in e?nX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,n1=(e,t,r)=>n0(e,"symbol"!=typeof t?t+"":t,r);class n2{constructor(){n1(this,"map",new Map),n1(this,"set",(e,t)=>{let r=this.get(e);this.exists(e,t)||this.map.set(e,[...r,t])}),n1(this,"get",e=>this.map.get(e)||[]),n1(this,"exists",(e,t)=>this.get(e).includes(t)),n1(this,"delete",(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;let r=this.get(e);if(!this.exists(e,t))return;let i=r.filter(e=>e!==t);if(!i.length){this.map.delete(e);return}this.map.set(e,i)}),n1(this,"clear",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var n8=Object.defineProperty,n3=Object.defineProperties,n5=Object.getOwnPropertyDescriptors,n4=Object.getOwnPropertySymbols,n6=Object.prototype.hasOwnProperty,n9=Object.prototype.propertyIsEnumerable,n7=(e,t,r)=>t in e?n8(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oe=(e,t)=>{for(var r in t||(t={}))n6.call(t,r)&&n7(e,r,t[r]);if(n4)for(var r of n4(t))n9.call(t,r)&&n7(e,r,t[r]);return e},ot=(e,t)=>n3(e,n5(t)),or=(e,t,r)=>n7(e,"symbol"!=typeof t?t+"":t,r);class oi extends i8{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,or(this,"subscriptions",new Map),or(this,"topicMap",new n2),or(this,"events",new i.EventEmitter),or(this,"name","subscription"),or(this,"version","0.3"),or(this,"pending",new Map),or(this,"cached",[]),or(this,"initialized",!1),or(this,"storagePrefix",sh),or(this,"subscribeTimeout",(0,o.toMiliseconds)(o.ONE_MINUTE)),or(this,"initialSubscribeTimeout",(0,o.toMiliseconds)(15*o.ONE_SECOND)),or(this,"clientId"),or(this,"batchSubscribeTopicsLimit",500),or(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),or(this,"subscribe",async(e,t)=>{this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:e,opts:t}});try{let r=r9(t),i={topic:e,relay:r,transportType:t?.transportType};this.pending.set(e,i);let s=await this.rpcSubscribe(e,r,t);return"string"==typeof s&&(this.onSubscribe(s,i),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:e,opts:t}})),s}catch(e){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(e),e}}),or(this,"unsubscribe",async(e,t)=>{this.isInitialized(),"u">typeof t?.id?await this.unsubscribeById(e,t.id,t):await this.unsubscribeByTopic(e,t)}),or(this,"isSubscribed",e=>new Promise(t=>{t(this.topicMap.topics.includes(e))})),or(this,"isKnownTopic",e=>new Promise(t=>{t(this.topicMap.topics.includes(e)||this.pending.has(e)||this.cached.some(t=>t.topic===e))})),or(this,"on",(e,t)=>{this.events.on(e,t)}),or(this,"once",(e,t)=>{this.events.once(e,t)}),or(this,"off",(e,t)=>{this.events.off(e,t)}),or(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),or(this,"start",async()=>{await this.onConnect()}),or(this,"stop",async()=>{await this.onDisconnect()}),or(this,"restart",async()=>{await this.restore(),await this.onRestart()}),or(this,"checkPending",async()=>{if(0===this.pending.size&&(!this.initialized||!this.relayer.connected))return;let e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}),or(this,"registerEventListeners",()=>{this.relayer.core.heartbeat.on(iM.Lx.pulse,async()=>{await this.checkPending()}),this.events.on(s_.created,async e=>{let t=s_.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(s_.deleted,async e=>{let t=s_.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}),this.relayer=e,this.logger=(0,iF.Ep)(t,this.name),this.clientId=""}get context(){return(0,iF.Fd)(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 r=!1;try{r=this.getSubscription(e).topic===t}catch{}return r}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){let r=this.topicMap.get(e);await Promise.all(r.map(async r=>await this.unsubscribeById(e,r,t)))}async unsubscribeById(e,t,r){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:r}});try{let i=r9(r);await this.restartToComplete({topic:e,id:t,relay:i}),await this.rpcUnsubscribe(e,t,i);let s=iI("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,s),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:r}})}catch(e){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(e),e}}async rpcSubscribe(e,t,r){var i;r&&r?.transportType!==sv.relay||await this.restartToComplete({topic:e,id:e,relay:t});let s={method:r7(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:s});let n=null==(i=r?.internal)?void 0:i.throwOnFailedPublish;try{let t=await this.getSubscriptionId(e);if(r?.transportType===sv.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(s).catch(e=>this.logger.warn(e))},(0,o.toMiliseconds)(o.ONE_SECOND)),t;let i=new Promise(async t=>{let r=i=>{i.topic===e&&(this.events.removeListener(s_.created,r),t(i.id))};this.events.on(s_.created,r);try{let i=await $(new Promise((e,t)=>{this.relayer.request(s).catch(e=>{this.logger.warn(e,e?.message),t(e)}).then(e)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(s_.created,r),t(i)}catch{}}),a=await $(i,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!a&&n)throw Error(`Subscribing to ${e} failed, please try again`);return a?t:null}catch(e){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(sm.connection_stalled),n)throw e}return null}async rpcBatchSubscribe(e){if(!e.length)return;let t={method:r7(e[0].relay.protocol).batchSubscribe,params:{topics:e.map(e=>e.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:t});try{await await $(new Promise(e=>{this.relayer.request(t).catch(e=>this.logger.warn(e)).then(e)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(sm.connection_stalled)}}async rpcBatchFetchMessages(e){let t;if(!e.length)return;let r={method:r7(e[0].relay.protocol).batchFetchMessages,params:{topics:e.map(e=>e.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:r});try{t=await await $(new Promise((e,t)=>{this.relayer.request(r).catch(e=>{this.logger.warn(e),t(e)}).then(e)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(sm.connection_stalled)}return t}rpcUnsubscribe(e,t,r){let i={method:r7(r.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i}),this.relayer.request(i)}onSubscribe(e,t){this.setSubscription(e,ot(oe({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(e=>{this.setSubscription(e.id,oe({},e)),this.pending.delete(e.topic)})}async onUnsubscribe(e,t,r){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,r),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,oe({},t)),this.topicMap.set(t.topic,e),this.events.emit(s_.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});let t=this.subscriptions.get(e);if(!t){let{message:t}=iE("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});let r=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(r.topic,e),this.events.emit(s_.deleted,ot(oe({},r),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(s_.sync)}async onRestart(){if(this.cached.length){let e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let r=0;r<t;r++){let t=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(t)}}this.events.emit(s_.resubscribed)}async restore(){try{let e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){let{message:e}=iE("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),Error(e)}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 e=>ot(oe({},e),{id:await this.getSubscriptionId(e.topic)})))))}async batchFetchMessages(e){var t;if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);let r=await this.rpcBatchFetchMessages(e);r&&r.messages&&(await (t=(0,o.toMiliseconds)(o.ONE_SECOND),new Promise(e=>setTimeout(e,t))),await this.relayer.handleBatchMessageEvents(r.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw 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 rX(e+await this.getClientId())}}var os=Object.defineProperty,on=Object.getOwnPropertySymbols,oo=Object.prototype.hasOwnProperty,oa=Object.prototype.propertyIsEnumerable,oc=(e,t,r)=>t in e?os(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ol=(e,t)=>{for(var r in t||(t={}))oo.call(t,r)&&oc(e,r,t[r]);if(on)for(var r of on(t))oa.call(t,r)&&oc(e,r,t[r]);return e},oh=(e,t,r)=>oc(e,"symbol"!=typeof t?t+"":t,r);class ou extends i1{constructor(e){super(e),oh(this,"protocol","wc"),oh(this,"version",2),oh(this,"core"),oh(this,"logger"),oh(this,"events",new i.EventEmitter),oh(this,"provider"),oh(this,"messages"),oh(this,"subscriber"),oh(this,"publisher"),oh(this,"name","relayer"),oh(this,"transportExplicitlyClosed",!1),oh(this,"initialized",!1),oh(this,"connectionAttemptInProgress",!1),oh(this,"relayUrl"),oh(this,"projectId"),oh(this,"packageName"),oh(this,"bundleId"),oh(this,"hasExperiencedNetworkDisruption",!1),oh(this,"pingTimeout"),oh(this,"heartBeatTimeout",(0,o.toMiliseconds)(o.THIRTY_SECONDS+o.FIVE_SECONDS)),oh(this,"reconnectTimeout"),oh(this,"connectPromise"),oh(this,"reconnectInProgress",!1),oh(this,"requestsInFlight",[]),oh(this,"connectTimeout",(0,o.toMiliseconds)(15*o.ONE_SECOND)),oh(this,"request",async e=>{var t,r;this.logger.debug("Publishing Request Payload");let i=e.id||(0,sn.getBigIntRpcId)().toString();await this.toEstablishConnection();try{this.logger.trace({id:i,method:e.method,topic:null==(t=e.params)?void 0:t.topic},"relayer.request - publishing...");let s=`${i}:${(null==(r=e.params)?void 0:r.tag)||""}`;this.requestsInFlight.push(s);let n=await this.provider.request(e);return this.requestsInFlight=this.requestsInFlight.filter(e=>e!==s),n}catch(e){throw this.logger.debug(`Failed to Publish Request: ${i}`),e}}),oh(this,"resetPingTimeout",()=>{C()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var e,t,r,i;try{this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),null==(i=null==(r=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:r.terminate)||i.call(r)}catch(e){this.logger.warn(e,e?.message)}},this.heartBeatTimeout))}),oh(this,"onPayloadHandler",e=>{this.onProviderPayload(e),this.resetPingTimeout()}),oh(this,"onConnectHandler",()=>{this.logger.warn({},"Relayer connected \uD83D\uDEDC"),this.startPingTimeout(),this.events.emit(sm.connect)}),oh(this,"onDisconnectHandler",()=>{this.logger.warn({},"Relayer disconnected \uD83D\uDED1"),this.requestsInFlight=[],this.onProviderDisconnect()}),oh(this,"onProviderErrorHandler",e=>{this.logger.fatal(`Fatal socket error: ${e.message}`),this.events.emit(sm.error,e),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()}),oh(this,"registerProviderListeners",()=>{this.provider.on(sb.payload,this.onPayloadHandler),this.provider.on(sb.connect,this.onConnectHandler),this.provider.on(sb.disconnect,this.onDisconnectHandler),this.provider.on(sb.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger="u">typeof e.logger&&"string"!=typeof e.logger?(0,iF.Ep)(e.logger,this.name):(0,iF.gw)((0,iF.jI)({level:e.logger||"error"})),this.messages=new nM(this.logger,e.core),this.subscriber=new oi(this,this.logger),this.publisher=new nQ(this,this.logger),this.relayUrl=e?.relayUrl||sy,this.projectId=e.projectId,A()&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Platform)&&(null==r.g?void 0:r.g.Platform.OS)==="android"?this.packageName=T():A()&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Platform)&&(null==r.g?void 0:r.g.Platform.OS)==="ios"&&(this.bundleId=T()),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(0,iF.Fd)(this.logger)}get connected(){var e,t,r;return(null==(r=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:r.readyState)===1}get connecting(){var e,t,r;return(null==(r=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:r.readyState)===0||void 0!==this.connectPromise}async publish(e,t,r){this.isInitialized(),await this.publisher.publish(e,t,r),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:sv.relay},sE.outbound)}async subscribe(e,t){var r,i,s;this.isInitialized(),null!=t&&t.transportType&&t?.transportType!=="relay"||await this.toEstablishConnection();let n=typeof(null==(r=t?.internal)?void 0:r.throwOnFailedPublish)>"u"||(null==(i=t?.internal)?void 0:i.throwOnFailedPublish),o=(null==(s=this.subscriber.topicMap.get(e))?void 0:s[0])||"",a,c=t=>{t.topic===e&&(this.subscriber.off(s_.created,c),a())};return await Promise.all([new Promise(e=>{a=e,this.subscriber.on(s_.created,c)}),new Promise(async(r,i)=>{o=await this.subscriber.subscribe(e,ol({internal:{throwOnFailedPublish:n}},t)).catch(e=>{n&&i(e)})||o,r()})]),o}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 $(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,r)=>{await this.connect(e).then(t).catch(r).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw 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 iU())throw 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}let t=e.sort((e,t)=>e.publishedAt-t.publishedAt);for(let e of(this.logger.debug(`Batch of ${t.length} message events sorted`),t))try{await this.onMessageEvent(e)}catch(e){this.logger.warn(e,"Error while processing batch message event: "+e?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){let{topic:r}=e;if(!t.sessionExists){let e=F(o.FIVE_MINUTES);await this.core.pairing.pairings.set(r,{topic:r,expiry:e,relay:{protocol:"irn"},active:!1})}this.events.emit(sm.message,e),await this.recordMessageEvent(e,sE.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(e,t)=>{let r=()=>{t(Error("Connection interrupted while trying to subscribe"))};this.provider.once(sb.disconnect,r),await $(new Promise((e,t)=>{this.provider.connect().then(e).catch(t)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(e=>{t(e)}).finally(()=>{this.provider.off(sb.disconnect,r),clearTimeout(this.reconnectTimeout)}),await new Promise(async(e,t)=>{let r=()=>{t(Error("Connection interrupted while trying to subscribe"))};this.provider.once(sb.disconnect,r),await this.subscriber.start().then(e).catch(t).finally(()=>{this.provider.off(sb.disconnect,r)})}),this.hasExperiencedNetworkDisruption=!1,e()})}catch(e){await this.subscriber.stop(),this.logger.warn({},e.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(e=>setTimeout(e,(0,o.toMiliseconds)(1*t))),t++}}startPingTimeout(){var e,t,r,i,s;if(C())try{null!=(t=null==(e=this.provider)?void 0:e.connection)&&t.socket&&(null==(s=null==(i=null==(r=this.provider)?void 0:r.connection)?void 0:i.socket)||s.on("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(e){this.logger.warn(e,e?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();let e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new ss.r(new so.Z(function({protocol:e,version:t,relayUrl:r,sdkVersion:i,auth:s,projectId:n,useOnCloseEvent:o,bundleId:a,packageName:c}){let l=r.split("?"),h=L(e,t,i),u=function(e,t){let r=new URLSearchParams(e);for(let e of Object.keys(t).sort())if(t.hasOwnProperty(e)){let i=t[e];void 0!==i&&r.set(e,i)}return r.toString()}(l[1]||"",{auth:s,ua:h,projectId:n,useOnCloseEvent:o||void 0,packageName:c||void 0,bundleId:a||void 0});return l[0]+"?"+u}({sdkVersion:sw,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){let{topic:r,message:i}=e;await this.messages.set(r,i,t)}async shouldIgnoreMessageEvent(e){let{topic:t,message:r}=e;if(!r||0===r.length)return this.logger.warn(`Ignoring invalid/empty message: ${r}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;let i=this.messages.has(t,r);return i&&this.logger.warn(`Ignoring duplicate message: ${r}`),i}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),(0,sn.isJsonRpcRequest)(e)){if(!e.method.endsWith("_subscription"))return;let t=e.params,{topic:r,message:i,publishedAt:s,attestation:n}=t.data,o={topic:r,message:i,publishedAt:s,transportType:sv.relay,attestation:n};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(ol({type:"event",event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else(0,sn.isJsonRpcResponse)(e)&&this.events.emit(sm.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,sE.inbound),this.events.emit(sm.message,e))}async acknowledgePayload(e){let t=(0,sn.formatJsonRpcResult)(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(sb.payload,this.onPayloadHandler),this.provider.off(sb.connect,this.onConnectHandler),this.provider.off(sb.disconnect,this.onDisconnectHandler),this.provider.off(sb.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await iU();(function(e){switch(N()){case x.browser:!A()&&R()&&(window.addEventListener("online",()=>e(!0)),window.addEventListener("offline",()=>e(!1)));break;case x.reactNative:A()&&"u">typeof r.g&&null!=r.g&&r.g.NetInfo&&r.g?.NetInfo.addEventListener(t=>e(t?.isConnected));case x.node:}})(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(e=>this.logger.error(e,e?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))}),this.core.heartbeat.on(iM.Lx.pulse,async()=>{var e;if(!this.transportExplicitlyClosed&&!this.connected&&(!(R()&&(0,a.getDocument)())||(null==(e=(0,a.getDocument)())?void 0:e.visibilityState)==="visible"))try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(sm.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},(0,o.toMiliseconds)(.1)))))}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectPromise){await this.connectPromise;return}await this.connect()}}}function od(){}function op(e){if(!e||"object"!=typeof e)return!1;let t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&"[object Object]"===Object.prototype.toString.call(e)}function of(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function og(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let oy="[object Arguments]",om="[object Object]";var ob=Object.defineProperty,ow=Object.getOwnPropertySymbols,ov=Object.prototype.hasOwnProperty,oE=Object.prototype.propertyIsEnumerable,oI=(e,t,r)=>t in e?ob(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,o_=(e,t)=>{for(var r in t||(t={}))ov.call(t,r)&&oI(e,r,t[r]);if(ow)for(var r of ow(t))oE.call(t,r)&&oI(e,r,t[r]);return e},oD=(e,t,r)=>oI(e,"symbol"!=typeof t?t+"":t,r);class oS extends i2{constructor(e,t,r,i=sh,s){super(e,t,r,i),this.core=e,this.logger=t,this.name=r,oD(this,"map",new Map),oD(this,"version","0.3"),oD(this,"cached",[]),oD(this,"initialized",!1),oD(this,"getKey"),oD(this,"storagePrefix",sh),oD(this,"recentlyDeleted",[]),oD(this,"recentlyDeletedLimit",200),oD(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>{var t;this.getKey&&null!==e&&!iS(e)?this.map.set(this.getKey(e),e):(null==(t=e?.proposer)?void 0:t.publicKey)?this.map.set(e.id,e):e?.topic&&this.map.set(e.topic,e)}),this.cached=[],this.initialized=!0)}),oD(this,"set",async(e,t)=>{this.isInitialized(),this.map.has(e)?await this.update(e,t):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:e,value:t}),this.map.set(e,t),await this.persist())}),oD(this,"get",e=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:e}),this.getData(e))),oD(this,"getAll",e=>(this.isInitialized(),e?this.values.filter(t=>Object.keys(e).every(r=>(function e(t,r,i,s,n,o,a){let c=a(t,r,i,s,n,o);if(void 0!==c)return c;if(typeof t==typeof r)switch(typeof t){case"bigint":case"string":case"boolean":case"symbol":case"undefined":case"function":return t===r;case"number":return t===r||Object.is(t,r)}return function t(r,i,s,n){if(Object.is(r,i))return!0;let o=og(r),a=og(i);if(o===oy&&(o=om),a===oy&&(a=om),o!==a)return!1;switch(o){case"[object String]":return r.toString()===i.toString();case"[object Number]":{let e=r.valueOf(),t=i.valueOf();return e===t||Number.isNaN(e)&&Number.isNaN(t)}case"[object Boolean]":case"[object Date]":case"[object Symbol]":return Object.is(r.valueOf(),i.valueOf());case"[object RegExp]":return r.source===i.source&&r.flags===i.flags;case"[object Function]":return r===i}let c=(s=s??new Map).get(r),l=s.get(i);if(null!=c&&null!=l)return c===i;s.set(r,i),s.set(i,r);try{switch(o){case"[object Map]":if(r.size!==i.size)return!1;for(let[t,o]of r.entries())if(!i.has(t)||!e(o,i.get(t),t,r,i,s,n))return!1;return!0;case"[object Set]":{if(r.size!==i.size)return!1;let t=Array.from(r.values()),o=Array.from(i.values());for(let a=0;a<t.length;a++){let c=t[a],l=o.findIndex(t=>e(c,t,void 0,r,i,s,n));if(-1===l)return!1;o.splice(l,1)}return!0}case"[object Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":case"[object BigUint64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object BigInt64Array]":case"[object Float32Array]":case"[object Float64Array]":if("u">typeof sa&&sa.isBuffer(r)!==sa.isBuffer(i)||r.length!==i.length)return!1;for(let t=0;t<r.length;t++)if(!e(r[t],i[t],t,r,i,s,n))return!1;return!0;case"[object ArrayBuffer]":return r.byteLength===i.byteLength&&t(new Uint8Array(r),new Uint8Array(i),s,n);case"[object DataView]":return r.byteLength===i.byteLength&&r.byteOffset===i.byteOffset&&t(new Uint8Array(r),new Uint8Array(i),s,n);case"[object Error]":return r.name===i.name&&r.message===i.message;case om:{if(!(t(r.constructor,i.constructor,s,n)||op(r)&&op(i)))return!1;let o=[...Object.keys(r),...of(r)],a=[...Object.keys(i),...of(i)];if(o.length!==a.length)return!1;for(let t=0;t<o.length;t++){let a=o[t],c=r[a];if(!Object.hasOwn(i,a))return!1;let l=i[a];if(!e(c,l,a,r,i,s,n))return!1}return!0}default:return!1}}finally{s.delete(r),s.delete(i)}}(t,r,o,a)})(t[r],e[r],void 0,void 0,void 0,void 0,od))):this.values)),oD(this,"update",async(e,t)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:e,update:t});let r=o_(o_({},this.getData(e)),t);this.map.set(e,r),await this.persist()}),oD(this,"delete",async(e,t)=>{this.isInitialized(),this.map.has(e)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:e,reason:t}),this.map.delete(e),this.addToRecentlyDeleted(e),await this.persist())}),this.logger=(0,iF.Ep)(t,this.name),this.storagePrefix=i,this.getKey=s}get context(){return(0,iF.Fd)(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){let t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){let{message:t}=iE("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(t),Error(t)}let{message:t}=iE("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(t),Error(t)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{let e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){let{message:e}=iE("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),Error(e)}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){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}}var oP=Object.defineProperty,oO=(e,t,r)=>t in e?oP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ox=(e,t,r)=>oO(e,"symbol"!=typeof t?t+"":t,r);class oC{constructor(e,t){this.core=e,this.logger=t,ox(this,"name","pairing"),ox(this,"version","0.3"),ox(this,"events",new(s())),ox(this,"pairings"),ox(this,"initialized",!1),ox(this,"storagePrefix",sh),ox(this,"ignoredPayloadTypes",[1]),ox(this,"registeredMethods",[]),ox(this,"init",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))}),ox(this,"register",({methods:e})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...e])]}),ox(this,"create",async e=>{this.isInitialized();let t=rZ(),r=await this.core.crypto.setSymKey(t),i=F(o.FIVE_MINUTES),s={protocol:"irn"},n={topic:r,expiry:i,relay:s,active:!1,methods:e?.methods},a=it({protocol:this.core.protocol,version:this.core.version,topic:r,symKey:t,relay:s,expiryTimestamp:i,methods:e?.methods});return this.events.emit(sS.create,n),this.core.expirer.set(r,i),await this.pairings.set(r,n),await this.core.relayer.subscribe(r,{transportType:e?.transportType}),{topic:r,uri:a}}),ox(this,"pair",async e=>{let t;this.isInitialized();let r=this.core.eventClient.createEvent({properties:{topic:e?.uri,trace:[sR.pairing_started]}});this.isValidPair(e,r);let{topic:i,symKey:s,relay:n,expiryTimestamp:a,methods:c}=ie(e.uri);if(r.props.properties.topic=i,r.addTrace(sR.pairing_uri_validation_success),r.addTrace(sR.pairing_uri_not_expired),this.pairings.keys.includes(i)){if(t=this.pairings.get(i),r.addTrace(sR.existing_pairing),t.active)throw r.setError(sN.active_pairing_already_exists),Error(`Pairing already exists: ${i}. Please try again with a new connection URI.`);r.addTrace(sR.pairing_not_expired)}let l=a||F(o.FIVE_MINUTES),h={topic:i,relay:n,expiry:l,active:!1,methods:c};this.core.expirer.set(i,l),await this.pairings.set(i,h),r.addTrace(sR.store_new_pairing),e.activatePairing&&await this.activate({topic:i}),this.events.emit(sS.create,h),r.addTrace(sR.emit_inactive_pairing),this.core.crypto.keychain.has(i)||await this.core.crypto.setSymKey(s,i),r.addTrace(sR.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{r.setError(sN.no_internet_connection)}try{await this.core.relayer.subscribe(i,{relay:n})}catch(e){throw r.setError(sN.subscribe_pairing_topic_failure),e}return r.addTrace(sR.subscribe_pairing_topic_success),h}),ox(this,"activate",async({topic:e})=>{this.isInitialized();let t=F(o.FIVE_MINUTES);this.core.expirer.set(e,t),await this.pairings.update(e,{active:!0,expiry:t})}),ox(this,"ping",async e=>{this.isInitialized(),await this.isValidPing(e),this.logger.warn("ping() is deprecated and will be removed in the next major release.");let{topic:t}=e;if(this.pairings.keys.includes(t)){let e=await this.sendRequest(t,"wc_pairingPing",{}),{done:r,resolve:i,reject:s}=q();this.events.once(V("pairing_ping",e),({error:e})=>{e?s(e):i()}),await r()}}),ox(this,"updateExpiry",async({topic:e,expiry:t})=>{this.isInitialized(),await this.pairings.update(e,{expiry:t})}),ox(this,"updateMetadata",async({topic:e,metadata:t})=>{this.isInitialized(),await this.pairings.update(e,{peerMetadata:t})}),ox(this,"getPairings",()=>(this.isInitialized(),this.pairings.values)),ox(this,"disconnect",async e=>{this.isInitialized(),await this.isValidDisconnect(e);let{topic:t}=e;this.pairings.keys.includes(t)&&(await this.sendRequest(t,"wc_pairingDelete",iI("USER_DISCONNECTED")),await this.deletePairing(t))}),ox(this,"formatUriFromPairing",e=>{this.isInitialized();let{topic:t,relay:r,expiry:i,methods:s}=e,n=this.core.crypto.keychain.get(t);return it({protocol:this.core.protocol,version:this.core.version,topic:t,symKey:n,relay:r,expiryTimestamp:i,methods:s})}),ox(this,"sendRequest",async(e,t,r)=>{let i=(0,sn.formatJsonRpcRequest)(t,r),s=await this.core.crypto.encode(e,i),n=sD[t].req;return this.core.history.set(e,i),this.core.relayer.publish(e,s,n),i.id}),ox(this,"sendResult",async(e,t,r)=>{let i=(0,sn.formatJsonRpcResult)(e,r),s=await this.core.crypto.encode(t,i),n=sD[(await this.core.history.get(t,e)).request.method].res;await this.core.relayer.publish(t,s,n),await this.core.history.resolve(i)}),ox(this,"sendError",async(e,t,r)=>{let i=(0,sn.formatJsonRpcError)(e,r),s=await this.core.crypto.encode(t,i),n=(await this.core.history.get(t,e)).request.method,o=sD[n]?sD[n].res:sD.unregistered_method.res;await this.core.relayer.publish(t,s,o),await this.core.history.resolve(i)}),ox(this,"deletePairing",async(e,t)=>{await this.core.relayer.unsubscribe(e),await Promise.all([this.pairings.delete(e,iI("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(e),t?Promise.resolve():this.core.expirer.del(e)])}),ox(this,"cleanup",async()=>{let e=this.pairings.getAll().filter(e=>H(e.expiry));await Promise.all(e.map(e=>this.deletePairing(e.topic)))}),ox(this,"onRelayEventRequest",async e=>{let{topic:t,payload:r}=e;switch(r.method){case"wc_pairingPing":return await this.onPairingPingRequest(t,r);case"wc_pairingDelete":return await this.onPairingDeleteRequest(t,r);default:return await this.onUnknownRpcMethodRequest(t,r)}}),ox(this,"onRelayEventResponse",async e=>{let{topic:t,payload:r}=e,i=(await this.core.history.get(t,r.id)).request.method;return"wc_pairingPing"===i?this.onPairingPingResponse(t,r):this.onUnknownRpcMethodResponse(i)}),ox(this,"onPairingPingRequest",async(e,t)=>{let{id:r}=t;try{this.isValidPing({topic:e}),await this.sendResult(r,e,!0),this.events.emit(sS.ping,{id:r,topic:e})}catch(t){await this.sendError(r,e,t),this.logger.error(t)}}),ox(this,"onPairingPingResponse",(e,t)=>{let{id:r}=t;setTimeout(()=>{(0,sn.isJsonRpcResult)(t)?this.events.emit(V("pairing_ping",r),{}):(0,sn.isJsonRpcError)(t)&&this.events.emit(V("pairing_ping",r),{error:t.error})},500)}),ox(this,"onPairingDeleteRequest",async(e,t)=>{let{id:r}=t;try{this.isValidDisconnect({topic:e}),await this.deletePairing(e),this.events.emit(sS.delete,{id:r,topic:e})}catch(t){await this.sendError(r,e,t),this.logger.error(t)}}),ox(this,"onUnknownRpcMethodRequest",async(e,t)=>{let{id:r,method:i}=t;try{if(this.registeredMethods.includes(i))return;let t=iI("WC_METHOD_UNSUPPORTED",i);await this.sendError(r,e,t),this.logger.error(t)}catch(t){await this.sendError(r,e,t),this.logger.error(t)}}),ox(this,"onUnknownRpcMethodResponse",e=>{this.registeredMethods.includes(e)||this.logger.error(iI("WC_METHOD_UNSUPPORTED",e))}),ox(this,"isValidPair",(e,t)=>{var r;if(!iT(e)){let{message:r}=iE("MISSING_OR_INVALID",`pair() params: ${e}`);throw t.setError(sN.malformed_pairing_uri),Error(r)}if(!function(e){function t(e){try{return"u">typeof new URL(e)}catch{return!1}}try{if(iP(e,!1)){if(t(e))return!0;let r=Q(e);return t(r)}}catch{}return!1}(e.uri)){let{message:r}=iE("MISSING_OR_INVALID",`pair() uri: ${e.uri}`);throw t.setError(sN.malformed_pairing_uri),Error(r)}let i=ie(e?.uri);if(!(null!=(r=i?.relay)&&r.protocol)){let{message:e}=iE("MISSING_OR_INVALID","pair() uri#relay-protocol");throw t.setError(sN.malformed_pairing_uri),Error(e)}if(!(null!=i&&i.symKey)){let{message:e}=iE("MISSING_OR_INVALID","pair() uri#symKey");throw t.setError(sN.malformed_pairing_uri),Error(e)}if(null!=i&&i.expiryTimestamp&&(0,o.toMiliseconds)(i?.expiryTimestamp)<Date.now()){t.setError(sN.pairing_expired);let{message:e}=iE("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw Error(e)}}),ox(this,"isValidPing",async e=>{if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),ox(this,"isValidDisconnect",async e=>{if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),ox(this,"isValidPairingTopic",async e=>{if(!iP(e,!1)){let{message:t}=iE("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.pairings.keys.includes(e)){let{message:t}=iE("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw Error(t)}if(H(this.pairings.get(e).expiry)){await this.deletePairing(e);let{message:t}=iE("EXPIRED",`pairing topic: ${e}`);throw Error(t)}}),this.core=e,this.logger=(0,iF.Ep)(t,this.name),this.pairings=new oS(this.core,this.logger,this.name,this.storagePrefix)}get context(){return(0,iF.Fd)(this.logger)}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}registerRelayerEvents(){this.core.relayer.on(sm.message,async e=>{let{topic:t,message:r,transportType:i}=e;if(this.pairings.keys.includes(t)&&i!==sv.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(r)))try{let e=await this.core.crypto.decode(t,r);(0,sn.isJsonRpcRequest)(e)?(this.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e})):(0,sn.isJsonRpcResponse)(e)&&(await this.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e}),this.core.history.delete(t,e.id)),await this.core.relayer.messages.ack(t,r)}catch(e){this.logger.error(e)}})}registerExpirerEvents(){this.core.expirer.on(sO.expired,async e=>{let{topic:t}=z(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(sS.expire,{topic:t}))})}}var oA=Object.defineProperty,oR=(e,t,r)=>t in e?oA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oN=(e,t,r)=>oR(e,"symbol"!=typeof t?t+"":t,r);class oT extends iQ{constructor(e,t){super(e,t),this.core=e,this.logger=t,oN(this,"records",new Map),oN(this,"events",new i.EventEmitter),oN(this,"name","history"),oN(this,"version","0.3"),oN(this,"cached",[]),oN(this,"initialized",!1),oN(this,"storagePrefix",sh),oN(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>this.records.set(e.id,e)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),oN(this,"set",(e,t,r)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:e,request:t,chainId:r}),this.records.has(t.id))return;let i={id:t.id,topic:e,request:{method:t.method,params:t.params||null},chainId:r,expiry:F(o.THIRTY_DAYS)};this.records.set(i.id,i),this.persist(),this.events.emit(sP.created,i)}),oN(this,"resolve",async e=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:e}),!this.records.has(e.id))return;let t=await this.getRecord(e.id);typeof t.response>"u"&&(t.response=(0,sn.isJsonRpcError)(e)?{error:e.error}:{result:e.result},this.records.set(t.id,t),this.persist(),this.events.emit(sP.updated,t))}),oN(this,"get",async(e,t)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:e,id:t}),await this.getRecord(t))),oN(this,"delete",(e,t)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:t}),this.values.forEach(r=>{r.topic!==e||"u">typeof t&&r.id!==t||(this.records.delete(r.id),this.events.emit(sP.deleted,r))}),this.persist()}),oN(this,"exists",async(e,t)=>(this.isInitialized(),!!this.records.has(t)&&(await this.getRecord(t)).topic===e)),oN(this,"on",(e,t)=>{this.events.on(e,t)}),oN(this,"once",(e,t)=>{this.events.once(e,t)}),oN(this,"off",(e,t)=>{this.events.off(e,t)}),oN(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.logger=(0,iF.Ep)(t,this.name)}get context(){return(0,iF.Fd)(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(){let e=[];return this.values.forEach(t=>{if("u">typeof t.response)return;let r={topic:t.topic,request:(0,sn.formatJsonRpcRequest)(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(r)}),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();let t=this.records.get(e);if(!t){let{message:t}=iE("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(sP.sync)}async restore(){try{let e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){let{message:e}=iE("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),Error(e)}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(sP.created,e=>{let t=sP.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(sP.updated,e=>{let t=sP.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(sP.deleted,e=>{let t=sP.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(iM.Lx.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{(0,o.toMiliseconds)(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(sP.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}}var oj=Object.defineProperty,oL=(e,t,r)=>t in e?oj(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ok=(e,t,r)=>oL(e,"symbol"!=typeof t?t+"":t,r);class oU extends i3{constructor(e,t){super(e,t),this.core=e,this.logger=t,ok(this,"expirations",new Map),ok(this,"events",new i.EventEmitter),ok(this,"name","expirer"),ok(this,"version","0.3"),ok(this,"cached",[]),ok(this,"initialized",!1),ok(this,"storagePrefix",sh),ok(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>this.expirations.set(e.target,e)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),ok(this,"has",e=>{try{let t=this.formatTarget(e);return"u">typeof this.getExpiration(t)}catch{return!1}}),ok(this,"set",(e,t)=>{this.isInitialized();let r=this.formatTarget(e),i={target:r,expiry:t};this.expirations.set(r,i),this.checkExpiry(r,i),this.events.emit(sO.created,{target:r,expiration:i})}),ok(this,"get",e=>{this.isInitialized();let t=this.formatTarget(e);return this.getExpiration(t)}),ok(this,"del",e=>{if(this.isInitialized(),this.has(e)){let t=this.formatTarget(e),r=this.getExpiration(t);this.expirations.delete(t),this.events.emit(sO.deleted,{target:t,expiration:r})}}),ok(this,"on",(e,t)=>{this.events.on(e,t)}),ok(this,"once",(e,t)=>{this.events.once(e,t)}),ok(this,"off",(e,t)=>{this.events.off(e,t)}),ok(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.logger=(0,iF.Ep)(t,this.name)}get context(){return(0,iF.Fd)(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("string"==typeof e)return M("topic",e);if("number"==typeof e)return M("id",e);let{message:t}=iE("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw 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(sO.sync)}async restore(){try{let e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){let{message:e}=iE("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),Error(e)}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){let t=this.expirations.get(e);if(!t){let{message:t}=iE("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(t),Error(t)}return t}checkExpiry(e,t){let{expiry:r}=t;(0,o.toMiliseconds)(r)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(sO.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(iM.Lx.pulse,()=>this.checkExpirations()),this.events.on(sO.created,e=>{let t=sO.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(sO.expired,e=>{let t=sO.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(sO.deleted,e=>{let t=sO.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}}var oB=Object.defineProperty,oq=(e,t,r)=>t in e?oB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,o$=(e,t,r)=>oq(e,"symbol"!=typeof t?t+"":t,r);class oM extends i5{constructor(e,t,r){super(e,t,r),this.core=e,this.logger=t,this.store=r,o$(this,"name","verify-api"),o$(this,"abortController"),o$(this,"isDevEnv"),o$(this,"verifyUrlV3",sC),o$(this,"storagePrefix",sh),o$(this,"version",2),o$(this,"publicKey"),o$(this,"fetchPromise"),o$(this,"init",async()=>{var e;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&(0,o.toMiliseconds)(null==(e=this.publicKey)?void 0:e.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))}),o$(this,"register",async e=>{if(!R()||this.isDevEnv)return;let t=window.location.origin,{id:r,decryptedId:i}=e,s=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${t}&id=${r}&decryptedId=${i}`;try{let e=(0,a.getDocument)(),t=this.startAbortTimer(5*o.ONE_SECOND),i=await new Promise((i,n)=>{let o=()=>{window.removeEventListener("message",c),e.body.removeChild(a),n("attestation aborted")};this.abortController.signal.addEventListener("abort",o);let a=e.createElement("iframe");a.src=s,a.style.display="none",a.addEventListener("error",o,{signal:this.abortController.signal});let c=s=>{if(s.data&&"string"==typeof s.data)try{let n=JSON.parse(s.data);if("verify_attestation"===n.type){if((0,u.xp)(n.attestation).payload.id!==r)return;clearInterval(t),e.body.removeChild(a),this.abortController.signal.removeEventListener("abort",o),window.removeEventListener("message",c),i(null===n.attestation?"":n.attestation)}}catch(e){this.logger.warn(e)}};e.body.appendChild(a),window.addEventListener("message",c,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",i),i}catch(e){this.logger.warn(e)}return""}),o$(this,"resolve",async e=>{if(this.isDevEnv)return"";let{attestationId:t,hash:r,encryptedId:i}=e;if(""===t){this.logger.debug("resolve: attestationId is empty, skipping");return}if(t){if((0,u.xp)(t).payload.id!==i)return;let e=await this.isValidJwtAttestation(t);if(e){if(!e.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return e}}if(!r)return;let s=this.getVerifyUrl(e?.verifyUrl);return this.fetchAttestation(r,s)}),o$(this,"fetchAttestation",async(e,t)=>{this.logger.debug(`resolving attestation: ${e} from url: ${t}`);let r=this.startAbortTimer(5*o.ONE_SECOND),i=await fetch(`${t}/attestation/${e}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(r),200===i.status?await i.json():void 0}),o$(this,"getVerifyUrl",e=>{let t=e||sx;return sA.includes(t)||(this.logger.info(`verify url: ${t}, not included in trusted list, assigning default: ${sx}`),t=sx),t}),o$(this,"fetchPublicKey",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);let e=this.startAbortTimer(o.FIVE_SECONDS),t=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(e),await t.json()}catch(e){this.logger.warn(e)}}),o$(this,"persistPublicKey",async e=>{this.logger.debug("persisting public key to local storage",e),await this.store.setItem(this.storeKey,e),this.publicKey=e}),o$(this,"removePublicKey",async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),o$(this,"isValidJwtAttestation",async e=>{let t=await this.getPublicKey();try{if(t)return this.validateAttestation(e,t)}catch(e){this.logger.error(e),this.logger.warn("error validating attestation")}let r=await this.fetchAndPersistPublicKey();try{if(r)return this.validateAttestation(e,r)}catch(e){this.logger.error(e),this.logger.warn("error validating attestation")}}),o$(this,"getPublicKey",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),o$(this,"fetchAndPersistPublicKey",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async e=>{let t=await this.fetchPublicKey();t&&(await this.persistPublicKey(t),e(t))});let e=await this.fetchPromise;return this.fetchPromise=void 0,e}),o$(this,"validateAttestation",(e,t)=>{let r=function(e,t){let[r,i,s]=e.split("."),n=g.from(r8(s),"base64");if(64!==n.length)throw Error("Invalid signature length");let o=n.slice(0,32),a=n.slice(32,64),c=tL(`${r}.${i}`),l=function(e){let t=g.from(e.x,"base64"),r=g.from(e.y,"base64");return(0,d.zo)([new Uint8Array([4]),t,r])}(t);if(!rV.verify((0,d.zo)([o,a]),c,l))throw Error("Invalid signature");return(0,u.xp)(e).payload}(e,t.publicKey),i={hasExpired:(0,o.toMiliseconds)(r.exp)<Date.now(),payload:r};if(i.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),Error("JWT attestation expired");return{origin:i.payload.origin,isScam:i.payload.isScam,isVerified:i.payload.isVerified}}),this.logger=(0,iF.Ep)(t,this.name),this.abortController=new AbortController,this.isDevEnv=Z(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return(0,iF.Fd)(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),(0,o.toMiliseconds)(e))}}var oz=Object.defineProperty,oF=(e,t,r)=>t in e?oz(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oH=(e,t,r)=>oF(e,"symbol"!=typeof t?t+"":t,r);class oV extends i4{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,oH(this,"context","echo"),oH(this,"registerDeviceToken",async e=>{let{clientId:t,token:r,notificationType:i,enableEncrypted:s=!1}=e,n=`https://echo.walletconnect.com/${this.projectId}/clients`;await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:t,type:i,token:r,always_raw:s})})}),this.logger=(0,iF.Ep)(t,this.context)}}var oK=Object.defineProperty,oW=Object.getOwnPropertySymbols,oJ=Object.prototype.hasOwnProperty,oG=Object.prototype.propertyIsEnumerable,oY=(e,t,r)=>t in e?oK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oZ=(e,t)=>{for(var r in t||(t={}))oJ.call(t,r)&&oY(e,r,t[r]);if(oW)for(var r of oW(t))oG.call(t,r)&&oY(e,r,t[r]);return e},oQ=(e,t,r)=>oY(e,"symbol"!=typeof t?t+"":t,r);class oX extends i6{constructor(e,t,r=!0){super(e,t,r),this.core=e,this.logger=t,oQ(this,"context","event-client"),oQ(this,"storagePrefix",sh),oQ(this,"storageVersion",.1),oQ(this,"events",new Map),oQ(this,"shouldPersist",!1),oQ(this,"init",async()=>{if(!Z())try{let e={eventId:Y(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:L(this.core.relayer.protocol,this.core.relayer.version,sw)}}};await this.sendEvent([e])}catch(e){this.logger.warn(e)}}),oQ(this,"createEvent",e=>{let{event:t="ERROR",type:r="",properties:{topic:i,trace:s}}=e,n=Y(),o=this.core.projectId||"",a=oZ({eventId:n,timestamp:Date.now(),props:{event:t,type:r,properties:{topic:i,trace:s}},bundleId:o,domain:this.getAppDomain()},this.setMethods(n));return this.telemetryEnabled&&(this.events.set(n,a),this.shouldPersist=!0),a}),oQ(this,"getEvent",e=>{let{eventId:t,topic:r}=e;if(t)return this.events.get(t);let i=Array.from(this.events.values()).find(e=>e.props.properties.topic===r);if(i)return oZ(oZ({},i),this.setMethods(i.eventId))}),oQ(this,"deleteEvent",e=>{let{eventId:t}=e;this.events.delete(t),this.shouldPersist=!0}),oQ(this,"setEventListeners",()=>{this.core.heartbeat.on(iM.Lx.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(e=>{(0,o.fromMiliseconds)(Date.now())-(0,o.fromMiliseconds)(e.timestamp)>86400&&(this.events.delete(e.eventId),this.shouldPersist=!0)})})}),oQ(this,"setMethods",e=>({addTrace:t=>this.addTrace(e,t),setError:t=>this.setError(e,t)})),oQ(this,"addTrace",(e,t)=>{let r=this.events.get(e);r&&(r.props.properties.trace.push(t),this.events.set(e,r),this.shouldPersist=!0)}),oQ(this,"setError",(e,t)=>{let r=this.events.get(e);r&&(r.props.type=t,r.timestamp=Date.now(),this.events.set(e,r),this.shouldPersist=!0)}),oQ(this,"persist",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),oQ(this,"restore",async()=>{try{let e=await this.core.storage.getItem(this.storageKey)||[];if(!e.length)return;e.forEach(e=>{this.events.set(e.eventId,oZ(oZ({},e),this.setMethods(e.eventId)))})}catch(e){this.logger.warn(e)}}),oQ(this,"submit",async()=>{if(!this.telemetryEnabled||0===this.events.size)return;let e=[];for(let[t,r]of this.events)r.props.type&&e.push(r);if(0!==e.length)try{if((await this.sendEvent(e)).ok)for(let t of e)this.events.delete(t.eventId),this.shouldPersist=!0}catch(e){this.logger.warn(e)}}),oQ(this,"sendEvent",async e=>{let t=this.getAppDomain()?"":"&sp=desktop";return await fetch(`https://pulse.walletconnect.org/batch?projectId=${this.core.projectId}&st=events_sdk&sv=js-${sw}${t}`,{method:"POST",body:JSON.stringify(e)})}),oQ(this,"getAppDomain",()=>j().url),this.logger=(0,iF.Ep)(t,this.context),this.telemetryEnabled=r,r?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var o0=Object.defineProperty,o1=Object.getOwnPropertySymbols,o2=Object.prototype.hasOwnProperty,o8=Object.prototype.propertyIsEnumerable,o3=(e,t,r)=>t in e?o0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,o5=(e,t)=>{for(var r in t||(t={}))o2.call(t,r)&&o3(e,r,t[r]);if(o1)for(var r of o1(t))o8.call(t,r)&&o3(e,r,t[r]);return e},o4=(e,t,r)=>o3(e,"symbol"!=typeof t?t+"":t,r);class o6 extends iJ{constructor(e){var t;super(e),o4(this,"protocol","wc"),o4(this,"version",2),o4(this,"name",sl),o4(this,"relayUrl"),o4(this,"projectId"),o4(this,"customStoragePrefix"),o4(this,"events",new i.EventEmitter),o4(this,"logger"),o4(this,"heartbeat"),o4(this,"relayer"),o4(this,"crypto"),o4(this,"storage"),o4(this,"history"),o4(this,"expirer"),o4(this,"pairing"),o4(this,"verify"),o4(this,"echoClient"),o4(this,"linkModeSupportedApps"),o4(this,"eventClient"),o4(this,"initialized",!1),o4(this,"logChunkController"),o4(this,"on",(e,t)=>this.events.on(e,t)),o4(this,"once",(e,t)=>this.events.once(e,t)),o4(this,"off",(e,t)=>this.events.off(e,t)),o4(this,"removeListener",(e,t)=>this.events.removeListener(e,t)),o4(this,"dispatchEnvelope",({topic:e,message:t,sessionExists:r})=>{if(!e||!t)return;let i={topic:e,message:t,publishedAt:Date.now(),transportType:sv.link_mode};this.relayer.onLinkMessageEvent(i,{sessionExists:r})});let r=this.getGlobalCore(e?.customStoragePrefix);if(r)try{return this.customStoragePrefix=r.customStoragePrefix,this.logger=r.logger,this.heartbeat=r.heartbeat,this.crypto=r.crypto,this.history=r.history,this.expirer=r.expirer,this.storage=r.storage,this.relayer=r.relayer,this.pairing=r.pairing,this.verify=r.verify,this.echoClient=r.echoClient,this.linkModeSupportedApps=r.linkModeSupportedApps,this.eventClient=r.eventClient,this.initialized=r.initialized,this.logChunkController=r.logChunkController,r}catch(e){console.warn("Failed to copy global core",e)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||sy,this.customStoragePrefix=null!=e&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";let s=(0,iF.jI)({level:"string"==typeof e?.logger&&e.logger?e.logger:su.logger,name:sl}),{logger:n,chunkLoggerController:o}=(0,iF.Rt)({opts:s,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=o,null!=(t=this.logChunkController)&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var e,t;null!=(e=this.logChunkController)&&e.downloadLogsBlobInBrowser&&(null==(t=this.logChunkController)||t.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=(0,iF.Ep)(n,this.name),this.heartbeat=new iM.C$,this.crypto=new nA(this,this.logger,e?.keychain),this.history=new oT(this,this.logger),this.expirer=new oU(this,this.logger),this.storage=null!=e&&e.storage?e.storage:new iz.Z(o5(o5({},sd),e?.storageOptions)),this.relayer=new ou({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new oC(this,this.logger),this.verify=new oM(this,this.logger,this.storage),this.echoClient=new oV(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new oX(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(e){let t=new o6(e);await t.initialize();let r=await t.crypto.getClientId();return await t.storage.setItem("WALLETCONNECT_CLIENT_ID",r),t}get context(){return(0,iF.Fd)(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return null==(e=this.logChunkController)?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(sI,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(sI)||[],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;let t=`_walletConnectCore_${e}`,r=`${t}_count`;return globalThis[r]=(globalThis[r]||0)+1,globalThis[r]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[r]} times.`),globalThis[t]}catch(e){console.warn("Failed to get global WalletConnect core",e);return}}setGlobalCore(e){var t;try{if(this.isGlobalCoreDisabled())return;let r=`_walletConnectCore_${(null==(t=e.opts)?void 0:t.customStoragePrefix)||""}`;globalThis[r]=e}catch(e){console.warn("Failed to set global WalletConnect core",e)}}isGlobalCoreDisabled(){try{return"u">typeof sc&&"true"===sc.env.DISABLE_GLOBAL_CORE}catch{return!0}}}let o9="client",o7=`wc@2:${o9}:`,ae={name:o9,logger:"error"},at="WALLETCONNECT_DEEPLINK_CHOICE",ar="Proposal expired",ai=o.SEVEN_DAYS,as={wc_sessionPropose:{req:{ttl:o.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1104},res:{ttl:o.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1106},res:{ttl:o.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:o.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:o.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1112},res:{ttl:o.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1114},res:{ttl:o.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:o.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:o.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1119}}},an={min:o.FIVE_MINUTES,max:o.SEVEN_DAYS},ao={idle:"IDLE",active:"ACTIVE"},aa={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"}},ac=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],al="wc@1.5:auth:",ah=`${al}:PUB_KEY`;var au=Object.defineProperty,ad=Object.defineProperties,ap=Object.getOwnPropertyDescriptors,af=Object.getOwnPropertySymbols,ag=Object.prototype.hasOwnProperty,ay=Object.prototype.propertyIsEnumerable,am=(e,t,r)=>t in e?au(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ab=(e,t)=>{for(var r in t||(t={}))ag.call(t,r)&&am(e,r,t[r]);if(af)for(var r of af(t))ay.call(t,r)&&am(e,r,t[r]);return e},aw=(e,t)=>ad(e,ap(t)),av=(e,t,r)=>am(e,"symbol"!=typeof t?t+"":t,r);class aE extends sr{constructor(e){super(e),av(this,"name","engine"),av(this,"events",new(s())),av(this,"initialized",!1),av(this,"requestQueue",{state:ao.idle,queue:[]}),av(this,"sessionRequestQueue",{state:ao.idle,queue:[]}),av(this,"requestQueueDelay",o.ONE_SECOND),av(this,"expectedPairingMethodMap",new Map),av(this,"recentlyDeletedMap",new Map),av(this,"recentlyDeletedLimit",200),av(this,"relayMessageCache",[]),av(this,"pendingSessions",new Map),av(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(as)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},(0,o.toMiliseconds)(this.requestQueueDelay)))}),av(this,"connect",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();let t=aw(ab({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t),t.optionalNamespaces=function(e,t){var r,i,s,n,o,a;let c=im(e),l=im(t),h={};for(let e of Object.keys(c).concat(Object.keys(l)))h[e]={chains:K(null==(r=c[e])?void 0:r.chains,null==(i=l[e])?void 0:i.chains),methods:K(null==(s=c[e])?void 0:s.methods,null==(n=l[e])?void 0:n.methods),events:K(null==(o=c[e])?void 0:o.events,null==(a=l[e])?void 0:a.events)};return h}(t.requiredNamespaces,t.optionalNamespaces),t.requiredNamespaces={};let{pairingTopic:r,requiredNamespaces:i,optionalNamespaces:s,sessionProperties:n,scopedProperties:a,relays:c}=t,l=r,h,u=!1;try{if(l){let e=this.client.core.pairing.pairings.get(l);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),u=e.active}}catch(e){throw this.client.logger.error(`connect() -> pairing.get(${l}) failed`),e}if(!l||!u){let{topic:e,uri:t}=await this.client.core.pairing.create();l=e,h=t}if(!l){let{message:e}=iE("NO_MATCHING_KEY",`connect() pairing topic: ${l}`);throw Error(e)}let d=await this.client.core.crypto.generateKeyPair(),p=as.wc_sessionPropose.req.ttl||o.FIVE_MINUTES,f=F(p),g=aw(ab(ab({requiredNamespaces:i,optionalNamespaces:s,relays:c??[{protocol:"irn"}],proposer:{publicKey:d,metadata:this.client.metadata},expiryTimestamp:f,pairingTopic:l},n&&{sessionProperties:n}),a&&{scopedProperties:a}),{id:(0,sn.payloadId)()}),y=V("session_connect",g.id),{reject:m,resolve:b,done:w}=q(p,ar),v=({id:e})=>{e===g.id&&(this.client.events.off("proposal_expire",v),this.pendingSessions.delete(g.id),this.events.emit(y,{error:{message:ar,code:0}}))};return this.client.events.on("proposal_expire",v),this.events.once(y,({error:e,session:t})=>{this.client.events.off("proposal_expire",v),e?m(e):t&&b(t)}),await this.sendRequest({topic:l,method:"wc_sessionPropose",params:g,throwOnFailedPublish:!0,clientRpcId:g.id}),await this.setProposal(g.id,g),{uri:h,approval:w}}),av(this,"pair",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(e){throw this.client.logger.error("pair() failed"),e}}),av(this,"approve",async e=>{var t,r,i;let s=this.client.core.eventClient.createEvent({properties:{topic:null==(t=e?.id)?void 0:t.toString(),trace:[sT.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(e){throw s.setError(sj.no_internet_connection),e}try{await this.isValidProposalId(e?.id)}catch(t){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),s.setError(sj.proposal_not_found),t}try{await this.isValidApprove(e)}catch(e){throw this.client.logger.error("approve() -> isValidApprove() failed"),s.setError(sj.session_approve_namespace_validation_failure),e}let{id:n,relayProtocol:o,namespaces:a,sessionProperties:c,scopedProperties:l,sessionConfig:h}=e,u=this.client.proposal.get(n);this.client.core.eventClient.deleteEvent({eventId:s.eventId});let{pairingTopic:d,proposer:p,requiredNamespaces:f,optionalNamespaces:g}=u,y=null==(r=this.client.core.eventClient)?void 0:r.getEvent({topic:d});y||(y=null==(i=this.client.core.eventClient)?void 0:i.createEvent({type:sT.session_approve_started,properties:{topic:d,trace:[sT.session_approve_started,sT.session_namespaces_validation_success]}}));let m=await this.client.core.crypto.generateKeyPair(),b=p.publicKey,w=await this.client.core.crypto.generateSharedKey(m,b),v=ab(ab(ab({relay:{protocol:o??"irn"},namespaces:a,controller:{publicKey:m,metadata:this.client.metadata},expiry:F(ai)},c&&{sessionProperties:c}),l&&{scopedProperties:l}),h&&{sessionConfig:h}),E=sv.relay;y.addTrace(sT.subscribing_session_topic);try{await this.client.core.relayer.subscribe(w,{transportType:E})}catch(e){throw y.setError(sj.subscribe_session_topic_failure),e}y.addTrace(sT.subscribe_session_topic_success);let I=aw(ab({},v),{topic:w,requiredNamespaces:f,optionalNamespaces:g,pairingTopic:d,acknowledged:!1,self:v.controller,peer:{publicKey:p.publicKey,metadata:p.metadata},controller:m,transportType:sv.relay});await this.client.session.set(w,I),y.addTrace(sT.store_session);try{y.addTrace(sT.publishing_session_settle),await this.sendRequest({topic:w,method:"wc_sessionSettle",params:v,throwOnFailedPublish:!0}).catch(e=>{throw y?.setError(sj.session_settle_publish_failure),e}),y.addTrace(sT.session_settle_publish_success),y.addTrace(sT.publishing_session_approve),await this.sendResult({id:n,topic:d,result:{relay:{protocol:o??"irn"},responderPublicKey:m},throwOnFailedPublish:!0}).catch(e=>{throw y?.setError(sj.session_approve_publish_failure),e}),y.addTrace(sT.session_approve_publish_success)}catch(e){throw this.client.logger.error(e),this.client.session.delete(w,iI("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(w),e}return this.client.core.eventClient.deleteEvent({eventId:y.eventId}),await this.client.core.pairing.updateMetadata({topic:d,metadata:p.metadata}),await this.client.proposal.delete(n,iI("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:d}),await this.setExpiry(w,F(ai)),{topic:w,acknowledged:()=>Promise.resolve(this.client.session.get(w))}}),av(this,"reject",async e=>{let t;this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(e){throw this.client.logger.error("reject() -> isValidReject() failed"),e}let{id:r,reason:i}=e;try{t=this.client.proposal.get(r).pairingTopic}catch(e){throw this.client.logger.error(`reject() -> proposal.get(${r}) failed`),e}t&&(await this.sendError({id:r,topic:t,error:i,rpcOpts:as.wc_sessionPropose.reject}),await this.client.proposal.delete(r,iI("USER_DISCONNECTED")))}),av(this,"update",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(e){throw this.client.logger.error("update() -> isValidUpdate() failed"),e}let{topic:t,namespaces:r}=e,{done:i,resolve:s,reject:n}=q(),o=(0,sn.payloadId)(),a=(0,sn.getBigIntRpcId)().toString(),c=this.client.session.get(t).namespaces;return this.events.once(V("session_update",o),({error:e})=>{e?n(e):s()}),await this.client.session.update(t,{namespaces:r}),await this.sendRequest({topic:t,method:"wc_sessionUpdate",params:{namespaces:r},throwOnFailedPublish:!0,clientRpcId:o,relayRpcId:a}).catch(e=>{this.client.logger.error(e),this.client.session.update(t,{namespaces:c}),n(e)}),{acknowledged:i}}),av(this,"extend",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(e){throw this.client.logger.error("extend() -> isValidExtend() failed"),e}let{topic:t}=e,r=(0,sn.payloadId)(),{done:i,resolve:s,reject:n}=q();return this.events.once(V("session_extend",r),({error:e})=>{e?n(e):s()}),await this.setExpiry(t,F(ai)),this.sendRequest({topic:t,method:"wc_sessionExtend",params:{},clientRpcId:r,throwOnFailedPublish:!0}).catch(e=>{n(e)}),{acknowledged:i}}),av(this,"request",async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(e){throw this.client.logger.error("request() -> isValidRequest() failed"),e}let{chainId:t,request:r,topic:i,expiry:s=as.wc_sessionRequest.req.ttl}=e,n=this.client.session.get(i);n?.transportType===sv.relay&&await this.confirmOnlineStateOrThrow();let o=(0,sn.payloadId)(),a=(0,sn.getBigIntRpcId)().toString(),{done:c,resolve:l,reject:h}=q(s,"Request expired. Please try again.");this.events.once(V("session_request",o),({error:e,result:t})=>{e?h(e):l(t)});let u="wc_sessionRequest",d=this.getAppLinkIfEnabled(n.peer.metadata,n.transportType);if(d)return await this.sendRequest({clientRpcId:o,relayRpcId:a,topic:i,method:u,params:{request:aw(ab({},r),{expiryTimestamp:F(s)}),chainId:t},expiry:s,throwOnFailedPublish:!0,appLink:d}).catch(e=>h(e)),this.client.events.emit("session_request_sent",{topic:i,request:r,chainId:t,id:o}),await c();let p={request:aw(ab({},r),{expiryTimestamp:F(s)}),chainId:t},f=this.shouldSetTVF(u,p);return await Promise.all([new Promise(async e=>{await this.sendRequest(ab({clientRpcId:o,relayRpcId:a,topic:i,method:u,params:p,expiry:s,throwOnFailedPublish:!0},f&&{tvf:this.getTVFParams(o,p)})).catch(e=>h(e)),this.client.events.emit("session_request_sent",{topic:i,request:r,chainId:t,id:o}),e()}),new Promise(async e=>{var t;if(!(null!=(t=n.sessionConfig)&&t.disableDeepLink)){let e=await J(this.client.core.storage,at);await W({id:o,topic:i,wcDeepLink:e})}e()}),c()]).then(e=>e[2])}),av(this,"respond",async e=>{this.isInitialized(),await this.isValidRespond(e);let{topic:t,response:r}=e,{id:i}=r,s=this.client.session.get(t);s.transportType===sv.relay&&await this.confirmOnlineStateOrThrow();let n=this.getAppLinkIfEnabled(s.peer.metadata,s.transportType);(0,sn.isJsonRpcResult)(r)?await this.sendResult({id:i,topic:t,result:r.result,throwOnFailedPublish:!0,appLink:n}):(0,sn.isJsonRpcError)(r)&&await this.sendError({id:i,topic:t,error:r.error,appLink:n}),this.cleanupAfterResponse(e)}),av(this,"ping",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(e){throw this.client.logger.error("ping() -> isValidPing() failed"),e}let{topic:t}=e;if(this.client.session.keys.includes(t)){let e=(0,sn.payloadId)(),r=(0,sn.getBigIntRpcId)().toString(),{done:i,resolve:s,reject:n}=q();this.events.once(V("session_ping",e),({error:e})=>{e?n(e):s()}),await Promise.all([this.sendRequest({topic:t,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:e,relayRpcId:r}),i()])}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}))}),av(this,"emit",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);let{topic:t,event:r,chainId:i}=e,s=(0,sn.getBigIntRpcId)().toString(),n=(0,sn.payloadId)();await this.sendRequest({topic:t,method:"wc_sessionEvent",params:{event:r,chainId:i},throwOnFailedPublish:!0,relayRpcId:s,clientRpcId:n})}),av(this,"disconnect",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(e);let{topic:t}=e;if(this.client.session.keys.includes(t))await this.sendRequest({topic:t,method:"wc_sessionDelete",params:iI("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{let{message:e}=iE("MISMATCHED_TOPIC",`Session or pairing topic not found: ${t}`);throw Error(e)}}),av(this,"find",e=>(this.isInitialized(),this.client.session.getAll().filter(t=>(function(e,t){let{requiredNamespaces:r}=t,i=Object.keys(e.namespaces),s=Object.keys(r),n=!0;return!!k(s,i)&&(i.forEach(t=>{let{accounts:i,methods:s,events:o}=e.namespaces[t],a=ip(i),c=r[t];k(b(t,c),a)&&k(c.methods,s)&&k(c.events,o)||(n=!1)}),n)})(t,e)))),av(this,"getPendingSessionRequests",()=>this.client.pendingRequest.getAll()),av(this,"authenticate",async(e,t)=>{var r,i,s;let n;this.isInitialized(),this.isValidAuthenticate(e);let o=t&&this.client.core.linkModeSupportedApps.includes(t)&&(null==(r=this.client.metadata.redirect)?void 0:r.linkMode),a=o?sv.link_mode:sv.relay;a===sv.relay&&await this.confirmOnlineStateOrThrow();let{chains:c,statement:l="",uri:h,domain:u,nonce:d,type:p,exp:f,nbf:g,methods:m=[],expiry:b}=e,w=[...e.resources||[]],{topic:v,uri:E}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:a});this.client.logger.info({message:"Generated new pairing",pairing:{topic:v,uri:E}});let I=await this.client.core.crypto.generateKeyPair(),_=rQ(I);if(await Promise.all([this.client.auth.authKeys.set(ah,{responseTopic:_,publicKey:I}),this.client.auth.pairingTopics.set(_,{topic:_,pairingTopic:v})]),await this.client.core.relayer.subscribe(_,{transportType:a}),this.client.logger.info(`sending request to new pairing topic: ${v}`),m.length>0){let{namespace:e}=y(c[0]),t=e0(function(e,t,r,i={}){return r?.sort((e,t)=>e.localeCompare(t)),{att:{[e]:function(e,t,r={}){return Object.assign({},...(t=t?.sort((e,t)=>e.localeCompare(t))).map(t=>({[`${e}/${t}`]:[r]})))}(t,r,i)}}}(e,"request",m));e3(w)&&(i=t,s=w.pop(),t=e0(function(e,t){eX(e),eX(t);let r=Object.keys(e.att).concat(Object.keys(t.att)).sort((e,t)=>e.localeCompare(t)),i={att:{}};return r.forEach(r=>{var s,n;Object.keys((null==(s=e.att)?void 0:s[r])||{}).concat(Object.keys((null==(n=t.att)?void 0:n[r])||{})).sort((e,t)=>e.localeCompare(t)).forEach(s=>{var n,o;i.att[r]=eK(eV({},i.att[r]),{[s]:(null==(n=e.att[r])?void 0:n[s])||(null==(o=t.att[r])?void 0:o[s])})})}),i}(e1(i),e1(s)))),w.push(t)}let D=b&&b>as.wc_sessionAuthenticate.req.ttl?b:as.wc_sessionAuthenticate.req.ttl,S={authPayload:{type:p??"caip122",chains:c,statement:l,aud:h,domain:u,version:"1",nonce:d,iat:new Date().toISOString(),exp:f,nbf:g,resources:w},requester:{publicKey:I,metadata:this.client.metadata},expiryTimestamp:F(D)},P={requiredNamespaces:{},optionalNamespaces:{eip155:{chains:c,methods:[...new Set(["personal_sign",...m])],events:["chainChanged","accountsChanged"]}},relays:[{protocol:"irn"}],pairingTopic:v,proposer:{publicKey:I,metadata:this.client.metadata},expiryTimestamp:F(as.wc_sessionPropose.req.ttl),id:(0,sn.payloadId)()},{done:O,resolve:x,reject:C}=q(D,"Request expired"),A=(0,sn.payloadId)(),R=V("session_connect",P.id),N=V("session_request",A),T=async({error:e,session:t})=>{this.events.off(N,j),e?C(e):t&&x({session:t})},j=async e=>{var r,i,s;let n;if(await this.deletePendingAuthRequest(A,{message:"fulfilled",code:0}),e.error){let t=iI("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return e.error.code===t.code?void 0:(this.events.off(R,T),C(e.error.message))}await this.deleteProposal(P.id),this.events.off(R,T);let{cacaos:o,responder:c}=e.result,l=[],h=[];for(let e of o){await eZ({cacao:e,projectId:this.client.core.projectId})||(this.client.logger.error(e,"Signature verification failed"),C(iI("SESSION_SETTLEMENT_FAILED","Signature verification failed")));let{p:t}=e,r=e3(t.resources),i=[eG(t.iss)],s=eY(t.iss);if(r){let e=e2(r),t=e8(r);l.push(...e),i.push(...t)}for(let e of i)h.push(`${e}:${s}`)}let u=await this.client.core.crypto.generateSharedKey(I,c.publicKey);l.length>0&&(n={topic:u,acknowledged:!0,self:{publicKey:I,metadata:this.client.metadata},peer:c,controller:c.publicKey,expiry:F(ai),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:v,namespaces:ib([...new Set(l)],[...new Set(h)]),transportType:a},await this.client.core.relayer.subscribe(u,{transportType:a}),await this.client.session.set(u,n),v&&await this.client.core.pairing.updateMetadata({topic:v,metadata:c.metadata}),n=this.client.session.get(u)),null!=(r=this.client.metadata.redirect)&&r.linkMode&&null!=(i=c.metadata.redirect)&&i.linkMode&&null!=(s=c.metadata.redirect)&&s.universal&&t&&(this.client.core.addLinkModeSupportedApp(c.metadata.redirect.universal),this.client.session.update(u,{transportType:sv.link_mode})),x({auths:o,session:n})};this.events.once(R,T),this.events.once(N,j);try{if(o){let e=(0,sn.formatJsonRpcRequest)("wc_sessionAuthenticate",S,A);this.client.core.history.set(v,e);let r=await this.client.core.crypto.encode("",e,{type:2,encoding:rG});n=ir(t,v,r)}else await Promise.all([this.sendRequest({topic:v,method:"wc_sessionAuthenticate",params:S,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:A}),this.sendRequest({topic:v,method:"wc_sessionPropose",params:P,expiry:as.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:P.id})])}catch(e){throw this.events.off(R,T),this.events.off(N,j),e}return await this.setProposal(P.id,P),await this.setAuthRequest(A,{request:aw(ab({},S),{verifyContext:{}}),pairingTopic:v,transportType:a}),{uri:n??E,response:O}}),av(this,"approveSessionAuthenticate",async e=>{let t;let{id:r,auths:i}=e,s=this.client.core.eventClient.createEvent({properties:{topic:r.toString(),trace:[sL.authenticated_session_approve_started]}});try{this.isInitialized()}catch(e){throw s.setError(sk.no_internet_connection),e}let n=this.getPendingAuthRequest(r);if(!n)throw s.setError(sk.authenticated_session_pending_request_not_found),Error(`Could not find pending auth request with id ${r}`);let o=n.transportType||sv.relay;o===sv.relay&&await this.confirmOnlineStateOrThrow();let a=n.requester.publicKey,c=await this.client.core.crypto.generateKeyPair(),l=rQ(a),h={type:1,receiverPublicKey:a,senderPublicKey:c},u=[],d=[];for(let e of i){if(!await eZ({cacao:e,projectId:this.client.core.projectId})){s.setError(sk.invalid_cacao);let e=iI("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:r,topic:l,error:e,encodeOpts:h}),Error(e.message)}s.addTrace(sL.cacaos_verified);let{p:t}=e,i=e3(t.resources),n=[eG(t.iss)],o=eY(t.iss);if(i){let e=e2(i),t=e8(i);u.push(...e),n.push(...t)}for(let e of n)d.push(`${e}:${o}`)}let p=await this.client.core.crypto.generateSharedKey(c,a);if(s.addTrace(sL.create_authenticated_session_topic),u?.length>0){t={topic:p,acknowledged:!0,self:{publicKey:c,metadata:this.client.metadata},peer:{publicKey:a,metadata:n.requester.metadata},controller:a,expiry:F(ai),authentication:i,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:n.pairingTopic,namespaces:ib([...new Set(u)],[...new Set(d)]),transportType:o},s.addTrace(sL.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(p,{transportType:o})}catch(e){throw s.setError(sk.subscribe_authenticated_session_topic_failure),e}s.addTrace(sL.subscribe_authenticated_session_topic_success),await this.client.session.set(p,t),s.addTrace(sL.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:n.pairingTopic,metadata:n.requester.metadata})}s.addTrace(sL.publishing_authenticated_session_approve);try{await this.sendResult({topic:l,id:r,result:{cacaos:i,responder:{publicKey:c,metadata:this.client.metadata}},encodeOpts:h,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(n.requester.metadata,o)})}catch(e){throw s.setError(sk.authenticated_session_approve_publish_failure),e}return await this.client.auth.requests.delete(r,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:n.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:s.eventId}),{session:t}}),av(this,"rejectSessionAuthenticate",async e=>{this.isInitialized();let{id:t,reason:r}=e,i=this.getPendingAuthRequest(t);if(!i)throw Error(`Could not find pending auth request with id ${t}`);i.transportType===sv.relay&&await this.confirmOnlineStateOrThrow();let s=i.requester.publicKey,n=await this.client.core.crypto.generateKeyPair(),o=rQ(s);await this.sendError({id:t,topic:o,error:r,encodeOpts:{type:1,receiverPublicKey:s,senderPublicKey:n},rpcOpts:as.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,iI("USER_DISCONNECTED"))}),av(this,"formatAuthMessage",e=>{this.isInitialized();let{request:t,iss:r}=e;return eQ(t,r)}),av(this,"processRelayMessageCache",()=>{setTimeout(async()=>{if(0!==this.relayMessageCache.length)for(;this.relayMessageCache.length>0;)try{let e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}},50)}),av(this,"cleanupDuplicatePairings",async e=>{if(e.pairingTopic)try{let t=this.client.core.pairing.pairings.get(e.pairingTopic),r=this.client.core.pairing.pairings.getAll().filter(r=>{var i,s;return(null==(i=r.peerMetadata)?void 0:i.url)&&(null==(s=r.peerMetadata)?void 0:s.url)===e.peer.metadata.url&&r.topic&&r.topic!==t.topic});if(0===r.length)return;this.client.logger.info(`Cleaning up ${r.length} duplicate pairing(s)`),await Promise.all(r.map(e=>this.client.core.pairing.disconnect({topic:e.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(e){this.client.logger.error(e)}}),av(this,"deleteSession",async e=>{var t;let{topic:r,expirerHasDeleted:i=!1,emitEvent:s=!0,id:n=0}=e,{self:o}=this.client.session.get(r);await this.client.core.relayer.unsubscribe(r),await this.client.session.delete(r,iI("USER_DISCONNECTED")),this.addToRecentlyDeleted(r,"session"),this.client.core.crypto.keychain.has(o.publicKey)&&await this.client.core.crypto.deleteKeyPair(o.publicKey),this.client.core.crypto.keychain.has(r)&&await this.client.core.crypto.deleteSymKey(r),i||this.client.core.expirer.del(r),this.client.core.storage.removeItem(at).catch(e=>this.client.logger.warn(e)),this.getPendingSessionRequests().forEach(e=>{e.topic===r&&this.deletePendingSessionRequest(e.id,iI("USER_DISCONNECTED"))}),r===(null==(t=this.sessionRequestQueue.queue[0])?void 0:t.topic)&&(this.sessionRequestQueue.state=ao.idle),s&&this.client.events.emit("session_delete",{id:n,topic:r})}),av(this,"deleteProposal",async(e,t)=>{if(t)try{let t=this.client.proposal.get(e),r=this.client.core.eventClient.getEvent({topic:t.pairingTopic});r?.setError(sj.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,iI("USER_DISCONNECTED")),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"proposal")}),av(this,"deletePendingSessionRequest",async(e,t,r=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),r?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(t=>t.id!==e),r&&(this.sessionRequestQueue.state=ao.idle,this.client.events.emit("session_request_expire",{id:e}))}),av(this,"deletePendingAuthRequest",async(e,t,r=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),r?Promise.resolve():this.client.core.expirer.del(e)])}),av(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}))}),av(this,"setProposal",async(e,t)=>{this.client.core.expirer.set(e,F(as.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),av(this,"setAuthRequest",async(e,t)=>{let{request:r,pairingTopic:i,transportType:s=sv.relay}=t;this.client.core.expirer.set(e,r.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:r.authPayload,requester:r.requester,expiryTimestamp:r.expiryTimestamp,id:e,pairingTopic:i,verifyContext:r.verifyContext,transportType:s})}),av(this,"setPendingSessionRequest",async e=>{let{id:t,topic:r,params:i,verifyContext:s}=e,n=i.request.expiryTimestamp||F(as.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,n),await this.client.pendingRequest.set(t,{id:t,topic:r,params:i,verifyContext:s})}),av(this,"sendRequest",async e=>{let t,i;let{topic:s,method:n,params:o,expiry:a,relayRpcId:c,clientRpcId:l,throwOnFailedPublish:h,appLink:u,tvf:d}=e,p=(0,sn.formatJsonRpcRequest)(n,o,l),f=!!u;try{let e=f?rG:rJ;t=await this.client.core.crypto.encode(s,p,{encoding:e})}catch(e){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${s} failed`),e}if(ac.includes(n)){let e=rX(JSON.stringify(p)),r=rX(t);i=await this.client.core.verify.register({id:r,decryptedId:e})}let g=as[n].req;if(g.attestation=i,a&&(g.ttl=a),c&&(g.id=c),this.client.core.history.set(s,p),f){let e=ir(u,s,t);await r.g.Linking.openURL(e,this.client.name)}else{let e=as[n].req;a&&(e.ttl=a),c&&(e.id=c),e.tvf=aw(ab({},d),{correlationId:p.id}),h?(e.internal=aw(ab({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,t,e)):this.client.core.relayer.publish(s,t,e).catch(e=>this.client.logger.error(e))}return p.id}),av(this,"sendResult",async e=>{let t,i,s;let{id:n,topic:o,result:a,throwOnFailedPublish:c,encodeOpts:l,appLink:h}=e,u=(0,sn.formatJsonRpcResult)(n,a),d=h&&"u">typeof(null==r.g?void 0:r.g.Linking);try{let e=d?rG:rJ;t=await this.client.core.crypto.encode(o,u,aw(ab({},l||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${o} failed`),e}try{let e=(i=await this.client.core.history.get(o,n)).request;try{this.shouldSetTVF(e.method,e.params)&&(s=this.getTVFParams(n,e.params,a))}catch(e){this.client.logger.warn("sendResult() -> getTVFParams() failed",e)}}catch(e){throw this.client.logger.error(`sendResult() -> history.get(${o}, ${n}) failed`),e}if(d){let e=ir(h,o,t);await r.g.Linking.openURL(e,this.client.name)}else{let e=as[i.request.method].res;e.tvf=aw(ab({},s),{correlationId:n}),c?(e.internal=aw(ab({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(o,t,e)):this.client.core.relayer.publish(o,t,e).catch(e=>this.client.logger.error(e))}await this.client.core.history.resolve(u)}),av(this,"sendError",async e=>{let t,i;let{id:s,topic:n,error:o,encodeOpts:a,rpcOpts:c,appLink:l}=e,h=(0,sn.formatJsonRpcError)(s,o),u=l&&"u">typeof(null==r.g?void 0:r.g.Linking);try{let e=u?rG:rJ;t=await this.client.core.crypto.encode(n,h,aw(ab({},a||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${n} failed`),e}try{i=await this.client.core.history.get(n,s)}catch(e){throw this.client.logger.error(`sendError() -> history.get(${n}, ${s}) failed`),e}if(u){let e=ir(l,n,t);await r.g.Linking.openURL(e,this.client.name)}else{let e=i.request.method,r=c||as[e].res;this.client.core.relayer.publish(n,t,r)}await this.client.core.history.resolve(h)}),av(this,"cleanup",async()=>{let e=[],t=[];this.client.session.getAll().forEach(t=>{let r=!1;H(t.expiry)&&(r=!0),this.client.core.crypto.keychain.has(t.topic)||(r=!0),r&&e.push(t.topic)}),this.client.proposal.getAll().forEach(e=>{H(e.expiryTimestamp)&&t.push(e.id)}),await Promise.all([...e.map(e=>this.deleteSession({topic:e})),...t.map(e=>this.deleteProposal(e))])}),av(this,"onProviderMessageEvent",async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),av(this,"onRelayEventRequest",async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),av(this,"processRequestsQueue",async()=>{if(this.requestQueue.state===ao.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=ao.active;let e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=ao.idle}),av(this,"processRequest",async e=>{let{topic:t,payload:r,attestation:i,transportType:s,encryptedId:n}=e,o=r.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:o}))switch(o){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:t,payload:r,attestation:i,encryptedId:n});case"wc_sessionSettle":return await this.onSessionSettleRequest(t,r);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(t,r);case"wc_sessionExtend":return await this.onSessionExtendRequest(t,r);case"wc_sessionPing":return await this.onSessionPingRequest(t,r);case"wc_sessionDelete":return await this.onSessionDeleteRequest(t,r);case"wc_sessionRequest":return await this.onSessionRequest({topic:t,payload:r,attestation:i,encryptedId:n,transportType:s});case"wc_sessionEvent":return await this.onSessionEventRequest(t,r);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:t,payload:r,attestation:i,encryptedId:n,transportType:s});default:return this.client.logger.info(`Unsupported request method ${o}`)}}),av(this,"onRelayEventResponse",async e=>{let{topic:t,payload:r,transportType:i}=e,s=(await this.client.core.history.get(t,r.id)).request.method;switch(s){case"wc_sessionPropose":return this.onSessionProposeResponse(t,r,i);case"wc_sessionSettle":return this.onSessionSettleResponse(t,r);case"wc_sessionUpdate":return this.onSessionUpdateResponse(t,r);case"wc_sessionExtend":return this.onSessionExtendResponse(t,r);case"wc_sessionPing":return this.onSessionPingResponse(t,r);case"wc_sessionRequest":return this.onSessionRequestResponse(t,r);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(t,r);default:return this.client.logger.info(`Unsupported response method ${s}`)}}),av(this,"onRelayEventUnknownPayload",e=>{let{topic:t}=e,{message:r}=iE("MISSING_OR_INVALID",`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw Error(r)}),av(this,"shouldIgnorePairingRequest",e=>{let{topic:t,requestMethod:r}=e,i=this.expectedPairingMethodMap.get(t);return!(!i||i.includes(r))&&!!(i.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)}),av(this,"onSessionProposeRequest",async e=>{let{topic:t,payload:r,attestation:i,encryptedId:s}=e,{params:n,id:o}=r;try{let e=this.client.core.eventClient.getEvent({topic:t});0===this.client.events.listenerCount("session_proposal")&&(console.warn("No listener for session_proposal event"),e?.setError(sN.proposal_listener_not_found)),this.isValidConnect(ab({},r.params));let a=n.expiryTimestamp||F(as.wc_sessionPropose.req.ttl),c=ab({id:o,pairingTopic:t,expiryTimestamp:a},n);await this.setProposal(o,c);let l=await this.getVerifyContext({attestationId:i,hash:rX(JSON.stringify(r)),encryptedId:s,metadata:c.proposer.metadata});e?.addTrace(sR.emit_session_proposal),this.client.events.emit("session_proposal",{id:o,params:c,verifyContext:l})}catch(e){await this.sendError({id:o,topic:t,error:e,rpcOpts:as.wc_sessionPropose.autoReject}),this.client.logger.error(e)}}),av(this,"onSessionProposeResponse",async(e,t,r)=>{let{id:i}=t;if((0,sn.isJsonRpcResult)(t)){let{result:s}=t;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:s});let n=this.client.proposal.get(i);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:n});let o=n.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:o});let a=s.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:a});let c=await this.client.core.crypto.generateSharedKey(o,a);this.pendingSessions.set(i,{sessionTopic:c,pairingTopic:e,proposalId:i,publicKey:o});let l=await this.client.core.relayer.subscribe(c,{transportType:r});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:l}),await this.client.core.pairing.activate({topic:e})}else if((0,sn.isJsonRpcError)(t)){await this.client.proposal.delete(i,iI("USER_DISCONNECTED"));let e=V("session_connect",i);if(0===this.events.listenerCount(e))throw Error(`emitting ${e} without any listeners, 954`);this.events.emit(e,{error:t.error})}}),av(this,"onSessionSettleRequest",async(e,t)=>{let{id:r,params:i}=t;try{this.isValidSessionSettleRequest(i);let{relay:r,controller:s,expiry:n,namespaces:o,sessionProperties:a,scopedProperties:c,sessionConfig:l}=t.params,h=[...this.pendingSessions.values()].find(t=>t.sessionTopic===e);if(!h)return this.client.logger.error(`Pending session not found for topic ${e}`);let u=this.client.proposal.get(h.proposalId),d=aw(ab(ab(ab({topic:e,relay:r,expiry:n,namespaces:o,acknowledged:!0,pairingTopic:h.pairingTopic,requiredNamespaces:u.requiredNamespaces,optionalNamespaces:u.optionalNamespaces,controller:s.publicKey,self:{publicKey:h.publicKey,metadata:this.client.metadata},peer:{publicKey:s.publicKey,metadata:s.metadata}},a&&{sessionProperties:a}),c&&{scopedProperties:c}),l&&{sessionConfig:l}),{transportType:sv.relay});await this.client.session.set(d.topic,d),await this.setExpiry(d.topic,d.expiry),await this.client.core.pairing.updateMetadata({topic:h.pairingTopic,metadata:d.peer.metadata}),this.client.events.emit("session_connect",{session:d}),this.events.emit(V("session_connect",h.proposalId),{session:d}),this.pendingSessions.delete(h.proposalId),this.deleteProposal(h.proposalId,!1),this.cleanupDuplicatePairings(d),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),av(this,"onSessionSettleResponse",async(e,t)=>{let{id:r}=t;(0,sn.isJsonRpcResult)(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(V("session_approve",r),{})):(0,sn.isJsonRpcError)(t)&&(await this.client.session.delete(e,iI("USER_DISCONNECTED")),this.events.emit(V("session_approve",r),{error:t.error}))}),av(this,"onSessionUpdateRequest",async(e,t)=>{let{params:r,id:i}=t;try{let t=`${e}_session_update`,s=i$.get(t);if(s&&this.isRequestOutOfSync(s,i)){this.client.logger.warn(`Discarding out of sync request - ${i}`),this.sendError({id:i,topic:e,error:iI("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(ab({topic:e},r));try{i$.set(t,i),await this.client.session.update(e,{namespaces:r.namespaces}),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0})}catch(e){throw i$.delete(t),e}this.client.events.emit("session_update",{id:i,topic:e,params:r})}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),av(this,"isRequestOutOfSync",(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),av(this,"onSessionUpdateResponse",(e,t)=>{let{id:r}=t,i=V("session_update",r);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);(0,sn.isJsonRpcResult)(t)?this.events.emit(V("session_update",r),{}):(0,sn.isJsonRpcError)(t)&&this.events.emit(V("session_update",r),{error:t.error})}),av(this,"onSessionExtendRequest",async(e,t)=>{let{id:r}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,F(ai)),await this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:r,topic:e})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),av(this,"onSessionExtendResponse",(e,t)=>{let{id:r}=t,i=V("session_extend",r);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);(0,sn.isJsonRpcResult)(t)?this.events.emit(V("session_extend",r),{}):(0,sn.isJsonRpcError)(t)&&this.events.emit(V("session_extend",r),{error:t.error})}),av(this,"onSessionPingRequest",async(e,t)=>{let{id:r}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:r,topic:e})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),av(this,"onSessionPingResponse",(e,t)=>{let{id:r}=t,i=V("session_ping",r);setTimeout(()=>{if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners 2176`);(0,sn.isJsonRpcResult)(t)?this.events.emit(V("session_ping",r),{}):(0,sn.isJsonRpcError)(t)&&this.events.emit(V("session_ping",r),{error:t.error})},500)}),av(this,"onSessionDeleteRequest",async(e,t)=>{let{id:r}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(t=>{this.client.core.relayer.once(sm.publish,async()=>{t(await this.deleteSession({topic:e,id:r}))})}),this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:iI("USER_DISCONNECTED")})]).catch(e=>this.client.logger.error(e))}catch(e){this.client.logger.error(e)}}),av(this,"onSessionRequest",async e=>{var t,r,i;let{topic:s,payload:n,attestation:o,encryptedId:a,transportType:c}=e,{id:l,params:h}=n;try{await this.isValidRequest(ab({topic:s},h));let e=this.client.session.get(s),n=await this.getVerifyContext({attestationId:o,hash:rX(JSON.stringify((0,sn.formatJsonRpcRequest)("wc_sessionRequest",h,l))),encryptedId:a,metadata:e.peer.metadata,transportType:c}),u={id:l,topic:s,params:h,verifyContext:n};await this.setPendingSessionRequest(u),c===sv.link_mode&&null!=(t=e.peer.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(null==(r=e.peer.metadata.redirect)?void 0:r.universal),null!=(i=this.client.signConfig)&&i.disableRequestQueue?this.emitSessionRequest(u):(this.addSessionRequestToSessionRequestQueue(u),this.processSessionRequestQueue())}catch(e){await this.sendError({id:l,topic:s,error:e}),this.client.logger.error(e)}}),av(this,"onSessionRequestResponse",(e,t)=>{let{id:r}=t,i=V("session_request",r);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);(0,sn.isJsonRpcResult)(t)?this.events.emit(V("session_request",r),{result:t.result}):(0,sn.isJsonRpcError)(t)&&this.events.emit(V("session_request",r),{error:t.error})}),av(this,"onSessionEventRequest",async(e,t)=>{let{id:r,params:i}=t;try{let t=`${e}_session_event_${i.event.name}`,s=i$.get(t);if(s&&this.isRequestOutOfSync(s,r)){this.client.logger.info(`Discarding out of sync request - ${r}`);return}this.isValidEmit(ab({topic:e},i)),this.client.events.emit("session_event",{id:r,topic:e,params:i}),i$.set(t,r)}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),av(this,"onSessionAuthenticateResponse",(e,t)=>{let{id:r}=t;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:e,payload:t}),(0,sn.isJsonRpcResult)(t)?this.events.emit(V("session_request",r),{result:t.result}):(0,sn.isJsonRpcError)(t)&&this.events.emit(V("session_request",r),{error:t.error})}),av(this,"onSessionAuthenticateRequest",async e=>{var t;let{topic:r,payload:i,attestation:s,encryptedId:n,transportType:o}=e;try{let{requester:e,authPayload:a,expiryTimestamp:c}=i.params,l=await this.getVerifyContext({attestationId:s,hash:rX(JSON.stringify(i)),encryptedId:n,metadata:e.metadata,transportType:o}),h={requester:e,pairingTopic:r,id:i.id,authPayload:a,verifyContext:l,expiryTimestamp:c};await this.setAuthRequest(i.id,{request:h,pairingTopic:r,transportType:o}),o===sv.link_mode&&null!=(t=e.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(e.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:r,params:i.params,id:i.id,verifyContext:l})}catch(n){this.client.logger.error(n);let e=i.params.requester.publicKey,t=await this.client.core.crypto.generateKeyPair(),s=this.getAppLinkIfEnabled(i.params.requester.metadata,o);await this.sendError({id:i.id,topic:r,error:n,encodeOpts:{type:1,receiverPublicKey:e,senderPublicKey:t},rpcOpts:as.wc_sessionAuthenticate.autoReject,appLink:s})}}),av(this,"addSessionRequestToSessionRequestQueue",e=>{this.sessionRequestQueue.queue.push(e)}),av(this,"cleanupAfterResponse",e=>{this.deletePendingSessionRequest(e.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=ao.idle,this.processSessionRequestQueue()},(0,o.toMiliseconds)(this.requestQueueDelay))}),av(this,"cleanupPendingSentRequestsForTopic",({topic:e,error:t})=>{let r=this.client.core.history.pending;r.length>0&&r.filter(t=>t.topic===e&&"wc_sessionRequest"===t.request.method).forEach(e=>{let r=V("session_request",e.request.id);if(0===this.events.listenerCount(r))throw Error(`emitting ${r} without any listeners`);this.events.emit(V("session_request",e.request.id),{error:t})})}),av(this,"processSessionRequestQueue",()=>{if(this.sessionRequestQueue.state===ao.active){this.client.logger.info("session request queue is already active.");return}let e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=ao.active,this.emitSessionRequest(e)}catch(e){this.client.logger.error(e)}}),av(this,"emitSessionRequest",e=>{this.client.events.emit("session_request",e)}),av(this,"onPairingCreated",e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;let t=this.client.proposal.getAll().find(t=>t.pairingTopic===e.topic);t&&this.onSessionProposeRequest({topic:e.topic,payload:(0,sn.formatJsonRpcRequest)("wc_sessionPropose",aw(ab({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id)})}),av(this,"isValidConnect",async e=>{let t;if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(e)}`);throw Error(t)}let{pairingTopic:r,requiredNamespaces:i,optionalNamespaces:s,sessionProperties:n,scopedProperties:o,relays:a}=e;if(iS(r)||await this.isValidPairingTopic(r),t=!1,a?a&&i_(a)&&a.length&&a.forEach(e=>{t=iN(e)}):t=!0,!t){let{message:e}=iE("MISSING_OR_INVALID",`connect() relays: ${a}`);throw Error(e)}if(!iS(i)&&0!==iD(i)){let e="requiredNamespaces are deprecated and are automatically assigned to optionalNamespaces";["fatal","error","silent"].includes(this.client.logger.level)?console.warn(e):this.client.logger.warn(e),this.validateNamespaces(i,"requiredNamespaces")}if(iS(s)||0===iD(s)||this.validateNamespaces(s,"optionalNamespaces"),iS(n)||this.validateSessionProps(n,"sessionProperties"),!iS(o)){this.validateSessionProps(o,"scopedProperties");let e=Object.keys(i||{}).concat(Object.keys(s||{}));if(!Object.keys(o).every(t=>e.includes(t)))throw Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(o)}, required/optional namespaces: ${JSON.stringify(e)}`)}}),av(this,"validateNamespaces",(e,t)=>{let r=function(e,t,r){let i=null;if(e&&iD(e)){let s;let n=iA(e,t);n&&(i=n);let o=(s=null,Object.entries(e).forEach(([e,i])=>{var n,o;let a;if(s)return;let c=(n=b(e,i),o=`${t} ${r}`,a=null,i_(n)&&n.length?n.forEach(e=>{a||ix(e)||(a=iI("UNSUPPORTED_CHAINS",`${o}, chain ${e} should be a string and conform to "namespace:chainId" format`))}):ix(e)||(a=iI("UNSUPPORTED_CHAINS",`${o}, 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"] }`)),a);c&&(s=c)}),s);o&&(i=o)}else i=iE("MISSING_OR_INVALID",`${t}, ${r} should be an object with data`);return i}(e,"connect()",t);if(r)throw Error(r.message)}),av(this,"isValidApprove",async e=>{if(!iT(e))throw Error(iE("MISSING_OR_INVALID",`approve() params: ${e}`).message);let{id:t,namespaces:r,relayProtocol:i,sessionProperties:s,scopedProperties:n}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);let o=this.client.proposal.get(t),a=iR(r,"approve()");if(a)throw Error(a.message);let c=iL(o.requiredNamespaces,r,"approve()");if(c)throw Error(c.message);if(!iP(i,!0)){let{message:e}=iE("MISSING_OR_INVALID",`approve() relayProtocol: ${i}`);throw Error(e)}if(iS(s)||this.validateSessionProps(s,"sessionProperties"),!iS(n)){this.validateSessionProps(n,"scopedProperties");let e=new Set(Object.keys(r));if(!Object.keys(n).every(t=>e.has(t)))throw Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(n)}, approved namespaces: ${Array.from(e).join(", ")}`)}}),av(this,"isValidReject",async e=>{if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`reject() params: ${e}`);throw Error(t)}let{id:t,reason:r}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!r||"object"!=typeof r||!r.code||!iO(r.code,!1)||!r.message||!iP(r.message,!1)){let{message:e}=iE("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(r)}`);throw Error(e)}}),av(this,"isValidSessionSettleRequest",e=>{let t;if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${e}`);throw Error(t)}let{relay:r,controller:i,namespaces:s,expiry:n}=e;if(!iN(r)){let{message:e}=iE("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw Error(e)}let o=(t=null,iP(i?.publicKey,!1)||(t=iE("MISSING_OR_INVALID","onSessionSettleRequest() controller public key should be a string")),t);if(o)throw Error(o.message);let a=iR(s,"onSessionSettleRequest()");if(a)throw Error(a.message);if(H(n)){let{message:e}=iE("EXPIRED","onSessionSettleRequest()");throw Error(e)}}),av(this,"isValidUpdate",async e=>{if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`update() params: ${e}`);throw Error(t)}let{topic:t,namespaces:r}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let i=this.client.session.get(t),s=iR(r,"update()");if(s)throw Error(s.message);let n=iL(i.requiredNamespaces,r,"update()");if(n)throw Error(n.message)}),av(this,"isValidExtend",async e=>{if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`extend() params: ${e}`);throw Error(t)}let{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),av(this,"isValidRequest",async e=>{var t;if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`request() params: ${e}`);throw Error(t)}let{topic:r,request:i,chainId:s,expiry:n}=e;this.checkRecentlyDeleted(r),await this.isValidSessionTopic(r);let{namespaces:o}=this.client.session.get(r);if(!ij(o,s)){let{message:e}=iE("MISSING_OR_INVALID",`request() chainId: ${s}`);throw Error(e)}if(iS(i)||!iP(i.method,!1)){let{message:e}=iE("MISSING_OR_INVALID",`request() ${JSON.stringify(i)}`);throw Error(e)}if(!(iP(t=i.method,!1)&&(function(e,t){let r=[];return Object.values(e).forEach(e=>{ip(e.accounts).includes(t)&&r.push(...e.methods)}),r})(o,s).includes(t))){let{message:e}=iE("MISSING_OR_INVALID",`request() method: ${i.method}`);throw Error(e)}if(n&&(!iO(n,!1)||!(n<=an.max)||!(n>=an.min))){let{message:e}=iE("MISSING_OR_INVALID",`request() expiry: ${n}. Expiry must be a number (in seconds) between ${an.min} and ${an.max}`);throw Error(e)}}),av(this,"isValidRespond",async e=>{var t;if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`respond() params: ${e}`);throw Error(t)}let{topic:r,response:i}=e;try{await this.isValidSessionTopic(r)}catch(r){throw null!=(t=e?.response)&&t.id&&this.cleanupAfterResponse(e),r}if(iS(i)||iS(i.result)&&iS(i.error)||!iO(i.id,!1)||!iP(i.jsonrpc,!1)){let{message:e}=iE("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(i)}`);throw Error(e)}}),av(this,"isValidPing",async e=>{if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),av(this,"isValidEmit",async e=>{var t;if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`emit() params: ${e}`);throw Error(t)}let{topic:r,event:i,chainId:s}=e;await this.isValidSessionTopic(r);let{namespaces:n}=this.client.session.get(r);if(!ij(n,s)){let{message:e}=iE("MISSING_OR_INVALID",`emit() chainId: ${s}`);throw Error(e)}if(iS(i)||!iP(i.name,!1)){let{message:e}=iE("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw Error(e)}if(!(iP(t=i.name,!1)&&(function(e,t){let r=[];return Object.values(e).forEach(e=>{ip(e.accounts).includes(t)&&r.push(...e.events)}),r})(n,s).includes(t))){let{message:e}=iE("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw Error(e)}}),av(this,"isValidDisconnect",async e=>{if(!iT(e)){let{message:t}=iE("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),av(this,"isValidAuthenticate",e=>{let{chains:t,uri:r,domain:i,nonce:s}=e;if(!Array.isArray(t)||0===t.length)throw Error("chains is required and must be a non-empty array");if(!iP(r,!1))throw Error("uri is required parameter");if(!iP(i,!1))throw Error("domain is required parameter");if(!iP(s,!1))throw Error("nonce is required parameter");if([...new Set(t.map(e=>y(e).namespace))].length>1)throw Error("Multi-namespace requests are not supported. Please request single namespace only.");let{namespace:n}=y(t[0]);if("eip155"!==n)throw Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}),av(this,"getVerifyContext",async e=>{let{attestationId:t,hash:r,encryptedId:i,metadata:s,transportType:n}=e,o={verified:{verifyUrl:s.verifyUrl||sx,validation:"UNKNOWN",origin:s.url||""}};try{if(n===sv.link_mode){let e=this.getAppLinkIfEnabled(s,n);return o.verified.validation=e&&new URL(e).origin===new URL(s.url).origin?"VALID":"INVALID",o}let e=await this.client.core.verify.resolve({attestationId:t,hash:r,encryptedId:i,verifyUrl:s.verifyUrl});e&&(o.verified.origin=e.origin,o.verified.isScam=e.isScam,o.verified.validation=e.origin===new URL(s.url).origin?"VALID":"INVALID")}catch(e){this.client.logger.warn(e)}return this.client.logger.debug(`Verify context: ${JSON.stringify(o)}`),o}),av(this,"validateSessionProps",(e,t)=>{Object.values(e).forEach((r,i)=>{if(null==r){let{message:s}=iE("MISSING_OR_INVALID",`${t} must contain an existing value for each key. Received: ${r} for key ${Object.keys(e)[i]}`);throw Error(s)}})}),av(this,"getPendingAuthRequest",e=>{let t=this.client.auth.requests.get(e);return"object"==typeof t?t:void 0}),av(this,"addToRecentlyDeleted",(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let e=0,t=this.recentlyDeletedLimit/2;for(let r of this.recentlyDeletedMap.keys()){if(e++>=t)break;this.recentlyDeletedMap.delete(r)}}}),av(this,"checkRecentlyDeleted",e=>{let t=this.recentlyDeletedMap.get(e);if(t){let{message:r}=iE("MISSING_OR_INVALID",`Record was recently deleted - ${t}: ${e}`);throw Error(r)}}),av(this,"isLinkModeEnabled",(e,t)=>{var i,s,n,o,a,c,l,h,u;return!!e&&t===sv.link_mode&&(null==(s=null==(i=this.client.metadata)?void 0:i.redirect)?void 0:s.linkMode)===!0&&(null==(o=null==(n=this.client.metadata)?void 0:n.redirect)?void 0:o.universal)!==void 0&&(null==(c=null==(a=this.client.metadata)?void 0:a.redirect)?void 0:c.universal)!==""&&(null==(l=e?.redirect)?void 0:l.universal)!==void 0&&(null==(h=e?.redirect)?void 0:h.universal)!==""&&(null==(u=e?.redirect)?void 0:u.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&"u">typeof(null==r.g?void 0:r.g.Linking)}),av(this,"getAppLinkIfEnabled",(e,t)=>{var r;return this.isLinkModeEnabled(e,t)?null==(r=e?.redirect)?void 0:r.universal:void 0}),av(this,"handleLinkModeMessage",({url:e})=>{if(!e||!e.includes("wc_ev")||!e.includes("topic"))return;let t=G(e,"topic")||"",r=decodeURIComponent(G(e,"wc_ev")||""),i=this.client.session.keys.includes(t);i&&this.client.session.update(t,{transportType:sv.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:r,sessionExists:i})}),av(this,"registerLinkModeListeners",async()=>{var e;if(Z()||A()&&null!=(e=this.client.metadata.redirect)&&e.linkMode){let e=null==r.g?void 0:r.g.Linking;if("u">typeof e){e.addEventListener("url",this.handleLinkModeMessage,this.client.name);let t=await e.getInitialURL();t&&setTimeout(()=>{this.handleLinkModeMessage({url:t})},50)}}}),av(this,"shouldSetTVF",(e,t)=>{if(!t||"wc_sessionRequest"!==e)return!1;let{request:r}=t;return Object.keys(aa).includes(r.method)}),av(this,"getTVFParams",(e,t,r)=>{var i,s;try{let n=t.request.method,o=this.extractTxHashesFromResult(n,r);return aw(ab({correlationId:e,rpcMethods:[n],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[null==(s=null==(i=t.request.params)?void 0:i[0])?void 0:s.to]}),{txHashes:o})}catch(e){this.client.logger.warn("Error getting TVF params",e)}return{}}),av(this,"isValidContractData",e=>{var t;if(!e)return!1;try{let r=e?.data||(null==(t=e?.[0])?void 0:t.data);if(!r.startsWith("0x"))return!1;let i=r.slice(2);return!!/^[0-9a-fA-F]*$/.test(i)&&i.length%2==0}catch{}return!1}),av(this,"extractTxHashesFromResult",(e,t)=>{try{let r=aa[e];if("string"==typeof t)return[t];let i=t[r.key];if(i_(i))return"solana_signAllTransactions"===e?i.map(e=>(function(e){let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);let i=r[0];if(0===i)throw Error("No signatures found");if(r.length<1+64*i)throw Error("Transaction data too short for claimed signature count");if(r.length<100)throw Error("Transaction too short");let s=g.from(e,"base64").slice(1,65);return h.Z.encode(s)})(e)):i;if("string"==typeof i)return[i]}catch(e){this.client.logger.warn("Error extracting tx hashes from result",e)}return[]})}async processPendingMessageEvents(){try{let e=this.client.session.keys,t=this.client.core.relayer.messages.getWithoutAck(e);for(let[e,r]of Object.entries(t))for(let t of r)try{await this.onProviderMessageEvent({topic:e,message:t,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${e}, message: ${t}`)}}catch(e){this.client.logger.warn("processPendingMessageEvents failed",e)}}isInitialized(){if(!this.initialized){let{message:e}=iE("NOT_INITIALIZED",this.name);throw Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(sm.message,e=>{this.onProviderMessageEvent(e)})}async onRelayMessage(e){let{topic:t,message:r,attestation:i,transportType:s}=e,{publicKey:n}=this.client.auth.authKeys.keys.includes(ah)?this.client.auth.authKeys.get(ah):{responseTopic:void 0,publicKey:void 0};try{let e=await this.client.core.crypto.decode(t,r,{receiverPublicKey:n,encoding:s===sv.link_mode?rG:rJ});(0,sn.isJsonRpcRequest)(e)?(this.client.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e,attestation:i,transportType:s,encryptedId:rX(r)})):(0,sn.isJsonRpcResponse)(e)?(await this.client.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e,transportType:s}),this.client.core.history.delete(t,e.id)):await this.onRelayEventUnknownPayload({topic:t,payload:e,transportType:s}),await this.client.core.relayer.messages.ack(t,r)}catch(e){this.client.logger.error(e)}}registerExpirerEvents(){this.client.core.expirer.on(sO.expired,async e=>{let{topic:t,id:r}=z(e.target);return r&&this.client.pendingRequest.keys.includes(r)?await this.deletePendingSessionRequest(r,iE("EXPIRED"),!0):r&&this.client.auth.requests.keys.includes(r)?await this.deletePendingAuthRequest(r,iE("EXPIRED"),!0):void(t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:t})):r&&(await this.deleteProposal(r,!0),this.client.events.emit("proposal_expire",{id:r})))})}registerPairingEvents(){this.client.core.pairing.events.on(sS.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(sS.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!iP(e,!1)){let{message:t}=iE("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){let{message:t}=iE("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw Error(t)}if(H(this.client.core.pairing.pairings.get(e).expiry)){let{message:t}=iE("EXPIRED",`pairing topic: ${e}`);throw Error(t)}}async isValidSessionTopic(e){if(!iP(e,!1)){let{message:t}=iE("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw Error(t)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){let{message:t}=iE("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw Error(t)}if(H(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});let{message:t}=iE("EXPIRED",`session topic: ${e}`);throw Error(t)}if(!this.client.core.crypto.keychain.has(e)){let{message:t}=iE("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),Error(t)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if(iP(e,!1)){let{message:t}=iE("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw Error(t)}else{let{message:t}=iE("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw Error(t)}}async isValidProposalId(e){if("number"!=typeof e){let{message:t}=iE("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw Error(t)}if(!this.client.proposal.keys.includes(e)){let{message:t}=iE("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw Error(t)}if(H(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);let{message:t}=iE("EXPIRED",`proposal id: ${e}`);throw Error(t)}}}class aI extends oS{constructor(e,t){super(e,t,"proposal",o7),this.core=e,this.logger=t}}class a_ extends oS{constructor(e,t){super(e,t,"session",o7),this.core=e,this.logger=t}}class aD extends oS{constructor(e,t){super(e,t,"request",o7,e=>e.id),this.core=e,this.logger=t}}class aS extends oS{constructor(e,t){super(e,t,"authKeys",al,()=>ah),this.core=e,this.logger=t}}class aP extends oS{constructor(e,t){super(e,t,"pairingTopics",al),this.core=e,this.logger=t}}class aO extends oS{constructor(e,t){super(e,t,"requests",al,e=>e.id),this.core=e,this.logger=t}}var ax=Object.defineProperty,aC=(e,t,r)=>t in e?ax(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aA=(e,t,r)=>aC(e,"symbol"!=typeof t?t+"":t,r);class aR{constructor(e,t){this.core=e,this.logger=t,aA(this,"authKeys"),aA(this,"pairingTopics"),aA(this,"requests"),this.authKeys=new aS(this.core,this.logger),this.pairingTopics=new aP(this.core,this.logger),this.requests=new aO(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var aN=Object.defineProperty,aT=(e,t,r)=>t in e?aN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aj=(e,t,r)=>aT(e,"symbol"!=typeof t?t+"":t,r);class aL extends st{constructor(e){super(e),aj(this,"protocol","wc"),aj(this,"version",2),aj(this,"name",ae.name),aj(this,"metadata"),aj(this,"core"),aj(this,"logger"),aj(this,"events",new i.EventEmitter),aj(this,"engine"),aj(this,"session"),aj(this,"proposal"),aj(this,"pendingRequest"),aj(this,"auth"),aj(this,"signConfig"),aj(this,"on",(e,t)=>this.events.on(e,t)),aj(this,"once",(e,t)=>this.events.once(e,t)),aj(this,"off",(e,t)=>this.events.off(e,t)),aj(this,"removeListener",(e,t)=>this.events.removeListener(e,t)),aj(this,"removeAllListeners",e=>this.events.removeAllListeners(e)),aj(this,"connect",async e=>{try{return await this.engine.connect(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"pair",async e=>{try{return await this.engine.pair(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"approve",async e=>{try{return await this.engine.approve(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"reject",async e=>{try{return await this.engine.reject(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"update",async e=>{try{return await this.engine.update(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"extend",async e=>{try{return await this.engine.extend(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"request",async e=>{try{return await this.engine.request(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"respond",async e=>{try{return await this.engine.respond(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"ping",async e=>{try{return await this.engine.ping(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"emit",async e=>{try{return await this.engine.emit(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"disconnect",async e=>{try{return await this.engine.disconnect(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"find",e=>{try{return this.engine.find(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"getPendingSessionRequests",()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}}),aj(this,"authenticate",async(e,t)=>{try{return await this.engine.authenticate(e,t)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"formatAuthMessage",e=>{try{return this.engine.formatAuthMessage(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"approveSessionAuthenticate",async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),aj(this,"rejectSessionAuthenticate",async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),this.name=e?.name||ae.name,this.metadata=function(e){var t,r;let i=j();try{return null!=e&&e.url&&i.url&&new URL(e.url).host!==new URL(i.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${e.url} differs from the actual page url:${i.url}. This is probably unintended and can lead to issues.`),e.url=i.url),null!=(t=e?.icons)&&t.length&&e.icons.length>0&&(e.icons=e.icons.filter(e=>""!==e)),O(P(P({},i),e),{url:e?.url||i.url,name:e?.name||i.name,description:e?.description||i.description,icons:null!=(r=e?.icons)&&r.length&&e.icons.length>0?e.icons:i.icons})}catch(t){return console.warn("Error populating app metadata",t),e||i}}(e?.metadata),this.signConfig=e?.signConfig;let t="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,iF.gw)((0,iF.jI)({level:e?.logger||ae.logger}));this.core=e?.core||new o6(e),this.logger=(0,iF.Ep)(t,this.name),this.session=new a_(this.core,this.logger),this.proposal=new aI(this.core,this.logger),this.pendingRequest=new aD(this.core,this.logger),this.engine=new aE(this),this.auth=new aR(this.core,this.logger)}static async init(e){let t=new aL(e);return await t.initialize(),t}get context(){return(0,iF.Fd)(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()},(0,o.toMiliseconds)(o.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}var ak=r(14441),aU=r(63157).Buffer;let aB="error",aq="wc@2:universal_provider:",a$="https://rpc.walletconnect.org/v1/",aM="generic",az=`${a$}bundler`,aF="default_chain_changed";function aH(){}function aV(e){return null==e||"object"!=typeof e&&"function"!=typeof e}function aK(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function aW(e){return"object"==typeof e&&null!==e}function aJ(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function aG(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let aY="[object String]",aZ="[object Number]",aQ="[object Boolean]",aX="[object Arguments]";function a0(e,t,r,i=new Map,s){let n=s?.(e,t,r,i);if(null!=n)return n;if(aV(e))return e;if(i.has(e))return i.get(e);if(Array.isArray(e)){let t=Array(e.length);i.set(e,t);for(let n=0;n<e.length;n++)t[n]=a0(e[n],n,r,i,s);return Object.hasOwn(e,"index")&&(t.index=e.index),Object.hasOwn(e,"input")&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;for(let[n,o]of(i.set(e,t),e))t.set(n,a0(o,n,r,i,s));return t}if(e instanceof Set){let t=new Set;for(let n of(i.set(e,t),e))t.add(a0(n,void 0,r,i,s));return t}if("u">typeof aU&&aU.isBuffer(e))return e.subarray();if(aK(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);i.set(e,t);for(let n=0;n<e.length;n++)t[n]=a0(e[n],n,r,i,s);return t}if(e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return i.set(e,t),a1(t,e,r,i,s),t}if("u">typeof File&&e instanceof File){let t=new File([e],e.name,{type:e.type});return i.set(e,t),a1(t,e,r,i,s),t}if(e instanceof Blob){let t=new Blob([e],{type:e.type});return i.set(e,t),a1(t,e,r,i,s),t}if(e instanceof Error){let t=new e.constructor;return i.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,a1(t,e,r,i,s),t}if("object"==typeof e&&function(e){switch(aG(e)){case aX:case"[object Array]":case"[object ArrayBuffer]":case"[object DataView]":case aQ:case"[object Date]":case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Map]":case aZ:case"[object Object]":case"[object RegExp]":case"[object Set]":case aY:case"[object Symbol]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return!0;default:return!1}}(e)){let t=Object.create(Object.getPrototypeOf(e));return i.set(e,t),a1(t,e,r,i,s),t}return e}function a1(e,t,r=e,i,s){let n=[...Object.keys(t),...aJ(t)];for(let o=0;o<n.length;o++){let a=n[o],c=Object.getOwnPropertyDescriptor(e,a);(null==c||c.writable)&&(e[a]=a0(t[a],a,r,i,s))}}function a2(e){var t;return t=(t,r,i,s)=>{let n=void 0;if(null!=n)return n;if("object"==typeof e)switch(Object.prototype.toString.call(e)){case aZ:case aY:case aQ:{let t=new e.constructor(e?.valueOf());return a1(t,e),t}case aX:{let t={};return a1(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}},a0(e,void 0,e,new Map,t)}function a8(e){return null!==e&&"object"==typeof e&&"[object Arguments]"===aG(e)}var a3=Object.defineProperty,a5=Object.defineProperties,a4=Object.getOwnPropertyDescriptors,a6=Object.getOwnPropertySymbols,a9=Object.prototype.hasOwnProperty,a7=Object.prototype.propertyIsEnumerable,ce=(e,t,r)=>t in e?a3(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ct=(e,t)=>{for(var r in t||(t={}))a9.call(t,r)&&ce(e,r,t[r]);if(a6)for(var r of a6(t))a7.call(t,r)&&ce(e,r,t[r]);return e},cr=(e,t)=>a5(e,a4(t));function ci(e,t,r){var i;let s=y(e);return(null==(i=t.rpcMap)?void 0:i[s.reference])||`${a$}?chainId=${s.namespace}:${s.reference}&projectId=${r}`}function cs(e){return e.includes(":")?e.split(":")[1]:e}function cn(e){return e.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function co(e={},t={}){return function(e,...t){return function(e,...t){let r=t.slice(0,-1),i=t[t.length-1],s=e;for(let e=0;e<r.length;e++)s=function e(t,r,i,s){if(aV(t)&&(t=Object(t)),null==r||"object"!=typeof r)return t;if(s.has(r))return function(e){if(aV(e))return e;if(Array.isArray(e)||aK(e)||e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);let t=Object.getPrototypeOf(e),r=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new r(e);if(e instanceof RegExp){let t=new r(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new r(e.buffer.slice(0));if(e instanceof Error){let t=new r(e.message);return t.stack=e.stack,t.name=e.name,t.cause=e.cause,t}return"u">typeof File&&e instanceof File?new r([e],e.name,{type:e.type,lastModified:e.lastModified}):"object"==typeof e?Object.assign(Object.create(t),e):e}(s.get(r));if(s.set(r,t),Array.isArray(r)){r=r.slice();for(let e=0;e<r.length;e++)r[e]=r[e]??void 0}let n=[...Object.keys(r),...aJ(r)];for(let o=0;o<n.length;o++){let a=n[o],c=r[a],l=t[a];if(a8(c)&&(c={...c}),a8(l)&&(l={...l}),"u">typeof aU&&aU.isBuffer(c)&&(c=a2(c)),Array.isArray(c)){if("object"==typeof l&&null!=l){let e=[],t=Reflect.ownKeys(l);for(let r=0;r<t.length;r++){let i=t[r];e[i]=l[i]}l=e}else l=[]}let h=i(l,c,a,t,r,s);null!=h?t[a]=h:Array.isArray(c)||aW(l)&&aW(c)?t[a]=e(l,c,i,s):null==l&&function(e){if("object"!=typeof e||null==e)return!1;if(null===Object.getPrototypeOf(e))return!0;if("[object Object]"!==Object.prototype.toString.call(e)){let t=e[Symbol.toStringTag];return!!(null!=t&&Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable)&&e.toString()===`[object ${t}]`}let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}(c)?t[a]=e({},c,i,s):null==l&&aK(c)?t[a]=a2(c):(void 0===l||void 0!==c)&&(t[a]=c)}return t}(s,r[e],i,new Map);return s}(e,...t,aH)}(ca(e),ca(t))}function ca(e){var t,r,i,s,n;let o={};if(!iD(e))return o;for(let[a,c]of Object.entries(e)){let e=ig(a)?[a]:c.chains,l=c.methods||[],h=c.events||[],u=c.rpcMap||{},d=iy(a);o[d]=cr(ct(ct({},o[d]),c),{chains:K(e,null==(t=o[d])?void 0:t.chains),methods:K(l,null==(r=o[d])?void 0:r.methods),events:K(h,null==(i=o[d])?void 0:i.events)}),(iD(u)||iD((null==(s=o[d])?void 0:s.rpcMap)||{}))&&(o[d].rpcMap=ct(ct({},u),null==(n=o[d])?void 0:n.rpcMap))}return o}function cc(e){return e.includes(":")?e.split(":")[2]:e}function cl(e){let t={};for(let[r,i]of Object.entries(e)){let e=i.methods||[],s=i.events||[],n=i.accounts||[],o=ig(r)?[r]:i.chains?i.chains:cn(i.accounts);t[r]={chains:o,methods:e,events:s,accounts:n}}return t}function ch(e){return"number"==typeof e?e:e.includes("0x")?parseInt(e,16):isNaN(Number(e=e.includes(":")?e.split(":")[1]:e))?e:Number(e)}let cu={},cd=e=>cu[e],cp=(e,t)=>{cu[e]=t};var cf=Object.defineProperty,cg=(e,t,r)=>t in e?cf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cy=(e,t,r)=>cg(e,"symbol"!=typeof t?t+"":t,r);class cm{constructor(e){cy(this,"name","polkadot"),cy(this,"client"),cy(this,"httpProviders"),cy(this,"events"),cy(this,"namespace"),cy(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(aF,`${this.name}:${e}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=cs(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var cb=Object.defineProperty,cw=Object.defineProperties,cv=Object.getOwnPropertyDescriptors,cE=Object.getOwnPropertySymbols,cI=Object.prototype.hasOwnProperty,c_=Object.prototype.propertyIsEnumerable,cD=(e,t,r)=>t in e?cb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cS=(e,t)=>{for(var r in t||(t={}))cI.call(t,r)&&cD(e,r,t[r]);if(cE)for(var r of cE(t))c_.call(t,r)&&cD(e,r,t[r]);return e},cP=(e,t)=>cw(e,cv(t)),cO=(e,t,r)=>cD(e,"symbol"!=typeof t?t+"":t,r);class cx{constructor(e){cO(this,"name","eip155"),cO(this,"client"),cO(this,"chainId"),cO(this,"namespace"),cO(this,"httpProviders"),cO(this,"events"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case"eth_requestAccounts":case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain());case"wallet_getCapabilities":return await this.getCapabilities(e);case"wallet_getCallsStatus":return await this.getCallStatus(e)}return this.namespace.methods.includes(e.request.method)?await this.client.request(e):this.getHttpProvider().request(e.request)}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(parseInt(e),t),this.chainId=parseInt(e),this.events.emit(aF,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,t){let r=t||ci(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.k(r,cd("disableProviderPing")))}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=parseInt(cs(t));e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}getHttpProvider(){let e=this.chainId,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){var t,r;let i=e.request.params?null==(t=e.request.params[0])?void 0:t.chainId:"0x0",s=parseInt(i=i.startsWith("0x")?i:`0x${i}`,16);if(this.isChainApproved(s))this.setDefaultChain(`${s}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:i}]},chainId:null==(r=this.namespace.chains)?void 0:r[0]}),this.setDefaultChain(`${s}`);else throw Error(`Failed to switch to chain 'eip155:${s}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(e){return this.namespace.chains.includes(`${this.name}:${e}`)}async getCapabilities(e){var t,r,i,s,n;let o=null==(r=null==(t=e.request)?void 0:t.params)?void 0:r[0],a=(null==(s=null==(i=e.request)?void 0:i.params)?void 0:s[1])||[],c=`${o}${a.join(",")}`;if(!o)throw Error("Missing address parameter in `wallet_getCapabilities` request");let l=this.client.session.get(e.topic),h=(null==(n=l?.sessionProperties)?void 0:n.capabilities)||{};if(null!=h&&h[c])return h?.[c];let u=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:cP(cS({},l.sessionProperties||{}),{capabilities:cP(cS({},h||{}),{[c]:u})})})}catch(e){console.warn("Failed to update session with capabilities",e)}return u}async getCallStatus(e){var t,r;let i=this.client.session.get(e.topic),s=null==(t=i.sessionProperties)?void 0:t.bundler_name;if(s){let t=this.getBundlerUrl(e.chainId,s);try{return await this.getUserOperationReceipt(t,e)}catch(e){console.warn("Failed to fetch call status from bundler",e,t)}}let n=null==(r=i.sessionProperties)?void 0:r.bundler_url;if(n)try{return await this.getUserOperationReceipt(n,e)}catch(e){console.warn("Failed to fetch call status from custom bundler",e,n)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw Error("Fetching call status not approved by the wallet.")}async getUserOperationReceipt(e,t){var r;let i=new URL(e),s=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,sn.formatJsonRpcRequest)("eth_getUserOperationReceipt",[null==(r=t.request.params)?void 0:r[0]]))});if(!s.ok)throw Error(`Failed to fetch user operation receipt - ${s.status}`);return await s.json()}getBundlerUrl(e,t){return`${az}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}}var cC=Object.defineProperty,cA=(e,t,r)=>t in e?cC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cR=(e,t,r)=>cA(e,"symbol"!=typeof t?t+"":t,r);class cN{constructor(e){cR(this,"name","solana"),cR(this,"client"),cR(this,"httpProviders"),cR(this,"events"),cR(this,"namespace"),cR(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(aF,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=cs(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var cT=Object.defineProperty,cj=(e,t,r)=>t in e?cT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cL=(e,t,r)=>cj(e,"symbol"!=typeof t?t+"":t,r);class ck{constructor(e){cL(this,"name","cosmos"),cL(this,"client"),cL(this,"httpProviders"),cL(this,"events"),cL(this,"namespace"),cL(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(aF,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=cs(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var cU=Object.defineProperty,cB=(e,t,r)=>t in e?cU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cq=(e,t,r)=>cB(e,"symbol"!=typeof t?t+"":t,r);class c${constructor(e){cq(this,"name","algorand"),cq(this,"client"),cq(this,"httpProviders"),cq(this,"events"),cq(this,"namespace"),cq(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(!this.httpProviders[e]){let r=t||ci(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.chainId=e,this.events.emit(aF,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;e[t]=this.createHttpProvider(t,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace,this.client.core.projectId);return typeof r>"u"?void 0:new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var cM=Object.defineProperty,cz=(e,t,r)=>t in e?cM(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cF=(e,t,r)=>cz(e,"symbol"!=typeof t?t+"":t,r);class cH{constructor(e){cF(this,"name","cip34"),cF(this,"client"),cF(this,"httpProviders"),cF(this,"events"),cF(this,"namespace"),cF(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(aF,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let r=this.getCardanoRPCUrl(t),i=cs(t);e[i]=this.createHttpProvider(i,r)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){let t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||this.getCardanoRPCUrl(e);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var cV=Object.defineProperty,cK=(e,t,r)=>t in e?cV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cW=(e,t,r)=>cK(e,"symbol"!=typeof t?t+"":t,r);class cJ{constructor(e){cW(this,"name","elrond"),cW(this,"client"),cW(this,"httpProviders"),cW(this,"events"),cW(this,"namespace"),cW(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(aF,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=cs(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var cG=Object.defineProperty,cY=(e,t,r)=>t in e?cG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cZ=(e,t,r)=>cY(e,"symbol"!=typeof t?t+"":t,r);class cQ{constructor(e){cZ(this,"name","multiversx"),cZ(this,"client"),cZ(this,"httpProviders"),cZ(this,"events"),cZ(this,"namespace"),cZ(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(aF,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=cs(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var cX=Object.defineProperty,c0=(e,t,r)=>t in e?cX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,c1=(e,t,r)=>c0(e,"symbol"!=typeof t?t+"":t,r);class c2{constructor(e){c1(this,"name","near"),c1(this,"client"),c1(this,"httpProviders"),c1(this,"events"),c1(this,"namespace"),c1(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let r=t||ci(`${this.name}:${e}`,this.namespace);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.events.emit(aF,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;e[t]=this.createHttpProvider(t,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace);return typeof r>"u"?void 0:new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var c8=Object.defineProperty,c3=(e,t,r)=>t in e?c8(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,c5=(e,t,r)=>c3(e,"symbol"!=typeof t?t+"":t,r);class c4{constructor(e){c5(this,"name","tezos"),c5(this,"client"),c5(this,"httpProviders"),c5(this,"events"),c5(this,"namespace"),c5(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let r=t||ci(`${this.name}:${e}`,this.namespace);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.events.emit(aF,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace);return typeof r>"u"?void 0:new ss.r(new ak.Z(r))}}var c6=Object.defineProperty,c9=(e,t,r)=>t in e?c6(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,c7=(e,t,r)=>c9(e,"symbol"!=typeof t?t+"":t,r);class le{constructor(e){c7(this,"name",aM),c7(this,"client"),c7(this,"httpProviders"),c7(this,"events"),c7(this,"namespace"),c7(this,"chainId"),this.namespace=e.namespace,this.events=cd("events"),this.client=cd("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(e.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(e.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(e.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(e.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider(e.chainId).request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(aF,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){var e,t;let r={};return null==(t=null==(e=this.namespace)?void 0:e.accounts)||t.forEach(e=>{let t=y(e);r[`${t.namespace}:${t.reference}`]=this.createHttpProvider(e)}),r}getHttpProvider(e){let t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ci(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new ss.r(new ak.Z(r,cd("disableProviderPing")))}}var lt=Object.defineProperty,lr=Object.defineProperties,li=Object.getOwnPropertyDescriptors,ls=Object.getOwnPropertySymbols,ln=Object.prototype.hasOwnProperty,lo=Object.prototype.propertyIsEnumerable,la=(e,t,r)=>t in e?lt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lc=(e,t)=>{for(var r in t||(t={}))ln.call(t,r)&&la(e,r,t[r]);if(ls)for(var r of ls(t))lo.call(t,r)&&la(e,r,t[r]);return e},ll=(e,t)=>lr(e,li(t)),lh=(e,t,r)=>la(e,"symbol"!=typeof t?t+"":t,r);class lu{constructor(e){lh(this,"client"),lh(this,"namespaces"),lh(this,"optionalNamespaces"),lh(this,"sessionProperties"),lh(this,"scopedProperties"),lh(this,"events",new(s())),lh(this,"rpcProviders",{}),lh(this,"session"),lh(this,"providerOpts"),lh(this,"logger"),lh(this,"uri"),lh(this,"disableProviderPing",!1),this.providerOpts=e,this.logger="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,iF.gw)((0,iF.jI)({level:e?.logger||aB})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(e){let t=new lu(e);return await t.initialize(),t}async request(e,t,r){let[i,s]=this.validateChain(t);if(!this.session)throw Error("Please call connect() before request()");return await this.getProvider(i).request({request:lc({},e),chainId:`${i}:${s}`,topic:this.session.topic,expiry:r})}sendAsync(e,t,r,i){let s=new Date().getTime();this.request(e,r,i).then(e=>t(null,(0,sn.formatJsonRpcResult)(s,e))).catch(e=>t(e,void 0))}async enable(){if(!this.client)throw Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw Error("Please call connect() before enable()");await this.client.disconnect({topic:null==(e=this.session)?void 0:e.topic,reason:iI("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw Error("Sign Client not initialized");if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,t){if(!this.client)throw Error("Sign Client not initialized");this.setNamespaces(e),await this.cleanupPendingPairings();let{uri:r,response:i}=await this.client.authenticate(e,t);r&&(this.uri=r,this.events.emit("display_uri",r));let s=await i();if(this.session=s.session,this.session){let e=cl(this.session.namespaces);this.namespaces=co(this.namespaces,e),await this.persist("namespaces",this.namespaces),this.onConnect()}return s}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}removeListener(e,t){this.events.removeListener(e,t)}off(e,t){this.events.off(e,t)}get isWalletConnect(){return!0}async pair(e){let{uri:t,approval:r}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties});t&&(this.uri=t,this.events.emit("display_uri",t));let i=await r();this.session=i;let s=cl(i.namespaces);return this.namespaces=co(this.namespaces,s),await this.persist("namespaces",this.namespaces),await this.persist("optionalNamespaces",this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;let[r,i]=this.validateChain(e),s=this.getProvider(r);s.name===aM?s.setDefaultChain(`${r}:${i}`,t):s.setDefaultChain(i,t)}catch(e){if(!/Please call connect/.test(e.message))throw e}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");let t=this.client.pairing.getAll();if(i_(t)){for(let r of t)e.deletePairings?this.client.core.expirer.set(r.topic,0):await this.client.core.relayer.subscriber.unsubscribe(r.topic);this.logger.info(`Inactive pairings cleared: ${t.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 e,t;if(this.client=this.providerOpts.client||await aL.init({core:this.providerOpts.core,logger:this.providerOpts.logger||aB,relayUrl:this.providerOpts.relayUrl||"wss://relay.walletconnect.org",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(r){throw this.logger.error("Failed to get session",r),Error(`The provided session: ${null==(t=null==(e=this.providerOpts)?void 0:e.session)?void 0:t.topic} doesn't exist in the Sign client`)}else{let e=this.client.session.getAll();this.session=e[0]}this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw Error("Sign Client not initialized");if(!this.session)throw Error("Session not initialized. Please call connect() before enable()");let e=[...new Set(Object.keys(this.session.namespaces).map(e=>iy(e)))];cp("client",this.client),cp("events",this.events),cp("disableProviderPing",this.disableProviderPing),e.forEach(e=>{if(!this.session)return;let t=function(e,t){let r=Object.keys(t.namespaces).filter(t=>t.includes(e));if(!r.length)return[];let i=[];return r.forEach(e=>{let r=t.namespaces[e].accounts;i.push(...r)}),i}(e,this.session),r=cn(t),i=ll(lc({},co(this.namespaces,this.optionalNamespaces)[e]),{accounts:t,chains:r});switch(e){case"eip155":this.rpcProviders[e]=new cx({namespace:i});break;case"algorand":this.rpcProviders[e]=new c$({namespace:i});break;case"solana":this.rpcProviders[e]=new cN({namespace:i});break;case"cosmos":this.rpcProviders[e]=new ck({namespace:i});break;case"polkadot":this.rpcProviders[e]=new cm({namespace:i});break;case"cip34":this.rpcProviders[e]=new cH({namespace:i});break;case"elrond":this.rpcProviders[e]=new cJ({namespace:i});break;case"multiversx":this.rpcProviders[e]=new cQ({namespace:i});break;case"near":this.rpcProviders[e]=new c2({namespace:i});break;case"tezos":this.rpcProviders[e]=new c4({namespace:i});break;default:this.rpcProviders[aM]?this.rpcProviders[aM].updateNamespace(i):this.rpcProviders[aM]=new le({namespace:i})}})}registerEventListeners(){if(typeof this.client>"u")throw Error("Sign Client is not initialized");this.client.on("session_ping",e=>{var t;let{topic:r}=e;r===(null==(t=this.session)?void 0:t.topic)&&this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{var t;let{params:r,topic:i}=e;if(i!==(null==(t=this.session)?void 0:t.topic))return;let{event:s}=r;if("accountsChanged"===s.name){let e=s.data;e&&i_(e)&&this.events.emit("accountsChanged",e.map(cc))}else if("chainChanged"===s.name){let e=r.chainId,t=r.event.data,i=iy(e),s=ch(e)!==ch(t)?`${i}:${ch(t)}`:e;this.onChainChanged(s)}else this.events.emit(s.name,s.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var r,i;if(e!==(null==(r=this.session)?void 0:r.topic))return;let{namespaces:s}=t,n=null==(i=this.client)?void 0:i.session.get(e);this.session=ll(lc({},n),{namespaces:s}),this.onSessionUpdate(),this.events.emit("session_update",{topic:e,params:t})}),this.client.on("session_delete",async e=>{var t;e.topic===(null==(t=this.session)?void 0:t.topic)&&(await this.cleanup(),this.events.emit("session_delete",e),this.events.emit("disconnect",ll(lc({},iI("USER_DISCONNECTED")),{data:e.topic})))}),this.on(aF,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[aM]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var t;this.getProvider(e).updateNamespace(null==(t=this.session)?void 0:t.namespaces[e])})}setNamespaces(e){let{namespaces:t={},optionalNamespaces:r={},sessionProperties:i,scopedProperties:s}=e;this.optionalNamespaces=co(t,r),this.sessionProperties=i,this.scopedProperties=s}validateChain(e){let[t,r]=e?.split(":")||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,r];if(t&&!Object.keys(this.namespaces||{}).map(e=>iy(e)).includes(t))throw Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&r)return[t,r];let i=iy(Object.keys(this.namespaces)[0]),s=this.rpcProviders[i].getDefaultChain();return[i,s]}async requestAccounts(){let[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged(e,t=!1){if(!this.namespaces)return;let[r,i]=this.validateChain(e);if(!i)return;this.updateNamespaceChain(r,i),this.events.emit("chainChanged",i);let s=this.getProvider(r).getDefaultChain();t||this.getProvider(r).setDefaultChain(i),this.emitAccountsChangedOnChainChange({namespace:r,previousChainId:s,newChainId:e}),await this.persist("namespaces",this.namespaces)}emitAccountsChangedOnChainChange({namespace:e,previousChainId:t,newChainId:r}){var i,s;try{if(t===r)return;let n=null==(s=null==(i=this.session)?void 0:i.namespaces[e])?void 0:s.accounts;if(!n)return;let o=n.filter(e=>e.includes(`${r}:`)).map(cc);if(!i_(o))return;this.events.emit("accountsChanged",o)}catch(e){this.logger.warn("Failed to emit accountsChanged on chain change",e)}}updateNamespaceChain(e,t){if(!this.namespaces)return;let r=this.namespaces[e]?e:`${e}:${t}`;this.namespaces[r]?this.namespaces[r]&&(this.namespaces[r].defaultChain=t):this.namespaces[r]={chains:[],methods:[],events:[],defaultChain:t}}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(e,t){var r;let i=(null==(r=this.session)?void 0:r.topic)||"";await this.client.core.storage.setItem(`${aq}/${e}${i}`,t)}async getFromStore(e){var t;let r=(null==(t=this.session)?void 0:t.topic)||"";return await this.client.core.storage.getItem(`${aq}/${e}${r}`)}async deleteFromStore(e){var t;let r=(null==(t=this.session)?void 0:t.topic)||"";await this.client.core.storage.removeItem(`${aq}/${e}${r}`)}async cleanupStorage(){var e;try{if((null==(e=this.client)?void 0:e.session.length)>0)return;for(let e of(await this.client.core.storage.getKeys()))e.startsWith(aq)&&await this.client.core.storage.removeItem(e)}catch(e){this.logger.warn("Failed to cleanup storage",e)}}}let ld=["eth_sendTransaction","personal_sign"],lp=["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"],lf=["chainChanged","accountsChanged"],lg=["chainChanged","accountsChanged","message","disconnect","connect"],ly=async()=>{let{createAppKit:e}=await r.e(7462).then(r.bind(r,47462));return e};var lm=Object.defineProperty,lb=Object.defineProperties,lw=Object.getOwnPropertyDescriptors,lv=Object.getOwnPropertySymbols,lE=Object.prototype.hasOwnProperty,lI=Object.prototype.propertyIsEnumerable,l_=(e,t,r)=>t in e?lm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lD=(e,t)=>{for(var r in t||(t={}))lE.call(t,r)&&l_(e,r,t[r]);if(lv)for(var r of lv(t))lI.call(t,r)&&l_(e,r,t[r]);return e},lS=(e,t)=>lb(e,lw(t)),lP=(e,t,r)=>l_(e,"symbol"!=typeof t?t+"":t,r);function lO(e){return Number(e[0].split(":")[1])}function lx(e){return`0x${e.toString(16)}`}class lC{constructor(){lP(this,"events",new i.EventEmitter),lP(this,"namespace","eip155"),lP(this,"accounts",[]),lP(this,"signer"),lP(this,"chainId",1),lP(this,"modal"),lP(this,"rpc"),lP(this,"STORAGE_KEY","wc@2:ethereum_provider:"),lP(this,"on",(e,t)=>(this.events.on(e,t),this)),lP(this,"once",(e,t)=>(this.events.once(e,t),this)),lP(this,"removeListener",(e,t)=>(this.events.removeListener(e,t),this)),lP(this,"off",(e,t)=>(this.events.off(e,t),this)),lP(this,"parseAccount",e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e),this.signer={},this.rpc={}}static async init(e){let t=new lC;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,r){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),r)}get connected(){return!!this.signer.client&&this.signer.client.core.relayer.connected}get connecting(){return!!this.signer.client&&this.signer.client.core.relayer.connecting}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(e){var t;if(!this.signer.client)throw Error("Provider not initialized. Call init() first");this.loadConnectOpts(e);let{required:r,optional:i}=function(e){let{chains:t,optionalChains:r,methods:i,optionalMethods:s,events:n,optionalEvents:o,rpcMap:a}=e;if(!i_(t))throw Error("Invalid chains");let c={chains:t,methods:i||ld,events:n||lf,rpcMap:lD({},t.length?{[lO(t)]:a[lO(t)]}:{})},l=n?.filter(e=>!lf.includes(e)),h=i?.filter(e=>!ld.includes(e));if(!r&&!o&&!s&&!(null!=l&&l.length)&&!(null!=h&&h.length))return{required:t.length?c:void 0};let u={chains:[...new Set(l?.length&&h?.length||!r?c.chains.concat(r||[]):r)],methods:[...new Set(c.methods.concat(null!=s&&s.length?s:lp))],events:[...new Set(c.events.concat(null!=o&&o.length?o:lg))],rpcMap:a};return{required:t.length?c:void 0,optional:r.length?u:void 0}}(this.rpc);try{let t=await new Promise(async(t,s)=>{var n,o;this.rpc.showQrModal&&(null==(n=this.modal)||n.open(),null==(o=this.modal)||o.subscribeState(e=>{e.open||this.signer.session||(this.signer.abortPairingAttempt(),s(Error("Connection request reset. Please try again.")))}));let a=null!=e&&e.scopedProperties?{[this.namespace]:e.scopedProperties}:void 0;await this.signer.connect(lS(lD({namespaces:lD({},r&&{[this.namespace]:r})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:e?.pairingTopic,scopedProperties:a})).then(e=>{t(e)}).catch(e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),s(Error(e.message))})});if(!t)return;let s=m(t.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:s),this.setAccounts(s),this.events.emit("connect",{chainId:lx(this.chainId)})}catch(e){throw this.signer.logger.error(e),e}finally{null==(t=this.modal)||t.close()}}async authenticate(e,t){var r;if(!this.signer.client)throw Error("Provider not initialized. Call init() first");this.loadConnectOpts({chains:e?.chains});try{let r=await new Promise(async(r,i)=>{var s,n;this.rpc.showQrModal&&(null==(s=this.modal)||s.open(),null==(n=this.modal)||n.subscribeState(e=>{e.open||this.signer.session||(this.signer.abortPairingAttempt(),i(Error("Connection request reset. Please try again.")))})),await this.signer.authenticate(lS(lD({},e),{chains:this.rpc.chains}),t).then(e=>{r(e)}).catch(e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),i(Error(e.message))})}),i=r.session;if(i){let e=m(i.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:e),this.setAccounts(e),this.events.emit("connect",{chainId:lx(this.chainId)})}return r}catch(e){throw this.signer.logger.error(e),e}finally{null==(r=this.modal)||r.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",e=>{let{params:t}=e,{event:r}=t;"accountsChanged"===r.name?(this.accounts=this.parseAccounts(r.data),this.events.emit("accountsChanged",this.accounts)):"chainChanged"===r.name?this.setChainId(this.formatChainId(r.data)):this.events.emit(r.name,r.data),this.events.emit("session_event",e)}),this.signer.on("accountsChanged",e=>{this.accounts=this.parseAccounts(e),this.events.emit("accountsChanged",this.accounts)}),this.signer.on("chainChanged",e=>{let t=parseInt(e);this.chainId=t,this.events.emit("chainChanged",lx(this.chainId)),this.persist()}),this.signer.on("session_update",e=>{this.events.emit("session_update",e)}),this.signer.on("session_delete",e=>{this.reset(),this.events.emit("session_delete",e),this.events.emit("disconnect",lS(lD({},iI("USER_DISCONNECTED")),{data:e.topic,name:"USER_DISCONNECTED"}))}),this.signer.on("display_uri",e=>{this.events.emit("display_uri",e)})}switchEthereumChain(e){this.request({method:"wallet_switchEthereumChain",params:[{chainId:e.toString(16)}]})}isCompatibleChainId(e){return"string"==typeof e&&e.startsWith(`${this.namespace}:`)}formatChainId(e){return`${this.namespace}:${e}`}parseChainId(e){return Number(e.split(":")[1])}setChainIds(e){let t=e.filter(e=>this.isCompatibleChainId(e)).map(e=>this.parseChainId(e));t.length&&(this.chainId=t[0],this.events.emit("chainChanged",lx(this.chainId)),this.persist())}setChainId(e){if(this.isCompatibleChainId(e)){let t=this.parseChainId(e);this.chainId=t,this.switchEthereumChain(t)}}parseAccountId(e){let[t,r,i]=e.split(":");return{chainId:`${t}:${r}`,address:i}}setAccounts(e){this.accounts=e.filter(e=>this.parseChainId(this.parseAccountId(e).chainId)===this.chainId).map(e=>this.parseAccountId(e).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(e){var t,r;let i=null!=(t=e?.chains)?t:[],s=null!=(r=e?.optionalChains)?r:[],n=i.concat(s);if(!n.length)throw Error("No chains specified in either `chains` or `optionalChains`");let o=i.length?e?.methods||ld:[],a=i.length?e?.events||lf:[],c=e?.optionalMethods||[],l=e?.optionalEvents||[],h=e?.rpcMap||this.buildRpcMap(n,e.projectId),u=e?.qrModalOptions||void 0;return{chains:i?.map(e=>this.formatChainId(e)),optionalChains:s.map(e=>this.formatChainId(e)),methods:o,events:a,optionalMethods:c,optionalEvents:l,rpcMap:h,showQrModal:!!(null!=e&&e.showQrModal),qrModalOptions:u,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){let r={};return e.forEach(e=>{r[e]=this.getRpcUrl(e,t)}),r}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?lO(this.rpc.chains):lO(this.rpc.optionalChains),this.signer=await lu.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:e.disableProviderPing,relayUrl:e.relayUrl,storage:e.storage,storageOptions:e.storageOptions,customStoragePrefix:e.customStoragePrefix,telemetryEnabled:e.telemetryEnabled,logger:e.logger}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let e;try{let t=await ly(),{convertWCMToAppKitOptions:r}=await Promise.resolve().then(function(){return lz}),i=r(lS(lD({},this.rpc.qrModalOptions),{chains:[...new Set([...this.rpc.chains,...this.rpc.optionalChains])],metadata:this.rpc.metadata,projectId:this.rpc.projectId}));if(!i.networks.length)throw Error("No networks found for WalletConnect\xb7");e=t(lS(lD({},i),{universalProvider:this.signer,manualWCControl:!0}))}catch(e){throw console.warn(e),Error("To use QR modal, please install @reown/appkit package")}if(e)try{this.modal=e}catch(e){throw this.signer.logger.error(e),Error("Could not generate WalletConnectModal Instance")}}}loadConnectOpts(e){if(!e)return;let{chains:t,optionalChains:r,rpcMap:i}=e;t&&i_(t)&&(this.rpc.chains=t.map(e=>this.formatChainId(e)),t.forEach(e=>{this.rpc.rpcMap[e]=i?.[e]||this.getRpcUrl(e)})),r&&i_(r)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=r?.map(e=>this.formatChainId(e)),r.forEach(e=>{this.rpc.rpcMap[e]=i?.[e]||this.getRpcUrl(e)}))}getRpcUrl(e,t){var r;return(null==(r=this.rpc.rpcMap)?void 0:r[e])||`https://rpc.walletconnect.org/v1/?chainId=eip155:${e}&projectId=${t||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{let e=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),t=this.session.namespaces[`${this.namespace}:${e}`]?this.session.namespaces[`${this.namespace}:${e}`]:this.session.namespaces[this.namespace];this.setChainIds(e?[this.formatChainId(e)]:t?.accounts),this.setAccounts(t?.accounts)}catch(e){this.signer.logger.error("Failed to load persisted session, clearing state..."),this.signer.logger.error(e),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(e){return"string"==typeof e||e instanceof String?[this.parseAccount(e)]:e.map(e=>this.parseAccount(e))}}let lA=lC;var lR=Object.defineProperty,lN=Object.defineProperties,lT=Object.getOwnPropertyDescriptors,lj=Object.getOwnPropertySymbols,lL=Object.prototype.hasOwnProperty,lk=Object.prototype.propertyIsEnumerable,lU=(e,t,r)=>t in e?lR(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lB=(e,t)=>{for(var r in t||(t={}))lL.call(t,r)&&lU(e,r,t[r]);if(lj)for(var r of lj(t))lk.call(t,r)&&lU(e,r,t[r]);return e},lq=(e,t)=>lN(e,lT(t));let l$=e=>{let[t,r]=e.split(":");return lM({id:r,caipNetworkId:e,chainNamespace:t,name:"",nativeCurrency:{name:"",symbol:"",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}})};function lM(e){return lB({formatters:void 0,fees:void 0,serializers:void 0},e)}var lz=Object.freeze({__proto__:null,convertWCMToAppKitOptions:function(e){var t,r,i,s,n,o,a;let c=null==(t=e.chains)?void 0:t.map(l$).filter(Boolean);if(0===c.length)throw Error("At least one chain must be specified");let l=c.find(t=>{var r;return t.id===(null==(r=e.defaultChain)?void 0:r.id)}),h={projectId:e.projectId,networks:c,themeMode:e.themeMode,themeVariables:function(e){if(e)return{"--w3m-font-family":e["--wcm-font-family"],"--w3m-accent":e["--wcm-accent-color"],"--w3m-color-mix":e["--wcm-background-color"],"--w3m-z-index":e["--wcm-z-index"]?Number(e["--wcm-z-index"]):void 0,"--w3m-qr-color":e["--wcm-accent-color"],"--w3m-font-size-master":e["--wcm-text-medium-regular-size"],"--w3m-border-radius-master":e["--wcm-container-border-radius"],"--w3m-color-mix-strength":0}}(e.themeVariables),chainImages:e.chainImages,connectorImages:e.walletImages,defaultNetwork:l,metadata:lq(lB({},e.metadata),{name:(null==(r=e.metadata)?void 0:r.name)||"WalletConnect",description:(null==(i=e.metadata)?void 0:i.description)||"Connect to WalletConnect-compatible wallets",url:(null==(s=e.metadata)?void 0:s.url)||"https://walletconnect.org",icons:(null==(n=e.metadata)?void 0:n.icons)||["https://walletconnect.org/walletconnect-logo.png"]}),showWallets:!0,featuredWalletIds:"NONE"===e.explorerRecommendedWalletIds?[]:Array.isArray(e.explorerRecommendedWalletIds)?e.explorerRecommendedWalletIds:[],excludeWalletIds:"ALL"===e.explorerExcludedWalletIds?[]:Array.isArray(e.explorerExcludedWalletIds)?e.explorerExcludedWalletIds:[],enableEIP6963:!1,enableInjected:!1,enableCoinbase:!0,enableWalletConnect:!0,features:{email:!1,socials:!1}};if(null!=(o=e.mobileWallets)&&o.length||null!=(a=e.desktopWallets)&&a.length){let t=[...(e.mobileWallets||[]).map(e=>({id:e.id,name:e.name,links:e.links})),...(e.desktopWallets||[]).map(e=>({id:e.id,name:e.name,links:{native:e.links.native,universal:e.links.universal}}))],r=[...h.featuredWalletIds||[],...h.excludeWalletIds||[]],i=t.filter(e=>!r.includes(e.id));i.length&&(h.customWallets=i)}return h},defineChain:lM})},19870:function(e,t,r){"use strict";r.d(t,{q:function(){return i}});class i{}},48957:function(e,t,r){"use strict";r.d(t,{C$:function(){return l},Lx:function(){return c}});var i=r(52484),s=r(2697),n=r(19870);class o extends n.q{constructor(e){super()}}let a=s.FIVE_SECONDS,c={pulse:"heartbeat_pulse"};class l extends o{constructor(e){super(e),this.events=new i.EventEmitter,this.interval=a,this.interval=e?.interval||a}static async init(e){let t=new l(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(),(0,s.toMiliseconds)(this.interval))}pulse(){this.events.emit(c.pulse)}}},14441:function(e,t,r){"use strict";r.d(t,{Z:function(){return b},k:function(){return b}});var i=r(52484),s=r(97448),n=r.n(s),o=r(90834),a=r(83196),c=Object.defineProperty,l=Object.defineProperties,h=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,f=(e,t,r)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,g=(e,t)=>{for(var r in t||(t={}))d.call(t,r)&&f(e,r,t[r]);if(u)for(var r of u(t))p.call(t,r)&&f(e,r,t[r]);return e},y=(e,t)=>l(e,h(t));let m={headers:{Accept:"application/json","Content-Type":"application/json"},method:"POST"};class b{constructor(e,t=!1){if(this.url=e,this.disableProviderPing=t,this.events=new i.EventEmitter,this.isAvailable=!1,this.registering=!1,!(0,a.isHttpUrl)(e))throw Error(`Provided URL is not compatible with HTTP connection: ${e}`);this.url=e,this.disableProviderPing=t}get connected(){return this.isAvailable}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(){if(!this.isAvailable)throw Error("Connection already closed");this.onClose()}async send(e){this.isAvailable||await this.register();try{let t=(0,o.u)(e),r=await (await n()(this.url,y(g({},m),{body:t}))).json();this.onPayload({data:r})}catch(t){this.onError(e.id,t)}}async register(e=this.url){if(!(0,a.isHttpUrl)(e))throw Error(`Provided URL is not compatible with HTTP connection: ${e}`);if(this.registering){let e=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=e||this.events.listenerCount("open")>=e)&&this.events.setMaxListeners(e+1),new Promise((e,t)=>{this.events.once("register_error",e=>{this.resetMaxListeners(),t(e)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.isAvailable>"u")return t(Error("HTTP connection is missing or invalid"));e()})})}this.url=e,this.registering=!0;try{if(!this.disableProviderPing){let t=(0,o.u)({id:1,jsonrpc:"2.0",method:"test",params:[]});await n()(e,y(g({},m),{body:t}))}this.onOpen()}catch(t){let e=this.parseError(t);throw this.events.emit("register_error",e),this.onClose(),e}}onOpen(){this.isAvailable=!0,this.registering=!1,this.events.emit("open")}onClose(){this.isAvailable=!1,this.registering=!1,this.events.emit("close")}onPayload(e){if(typeof e.data>"u")return;let t="string"==typeof e.data?(0,o.D)(e.data):e.data;this.events.emit("payload",t)}onError(e,t){let r=this.parseError(t),i=r.message||r.toString(),s=(0,a.formatJsonRpcError)(e,i);this.events.emit("payload",s)}parseError(e,t=this.url){return(0,a.parseConnectionError)(e,t,"HTTP")}resetMaxListeners(){this.events.getMaxListeners()>10&&this.events.setMaxListeners(10)}}},20624:function(e,t,r){"use strict";r.d(t,{r:function(){return n}});var i=r(52484),s=r(83196);class n extends s.IJsonRpcProvider{constructor(e){super(e),this.events=new i.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}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 request(e,t){return this.requestStrict((0,s.formatJsonRpcRequest)(e.method,e.params||[],e.id||(0,s.getBigIntRpcId)().toString()),t)}async requestStrict(e,t){return new Promise(async(r,i)=>{if(!this.connection.connected)try{await this.open()}catch(e){i(e)}this.events.on(`${e.id}`,e=>{(0,s.isJsonRpcError)(e)?i(e.error):r(e.result)});try{await this.connection.send(e,t)}catch(e){i(e)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),(0,s.isJsonRpcResponse)(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&3e3===e.code&&this.events.emit("error",Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),"string"==typeof e&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",e=>this.onPayload(e)),this.connection.on("close",e=>this.onClose(e)),this.connection.on("error",e=>this.events.emit("error",e)),this.connection.on("register_error",e=>this.onClose()),this.hasRegisteredEventListeners=!0)}}},91752:function(e,t,r){"use strict";r.d(t,{CA:function(){return s},JV:function(){return a},O4:function(){return i},dQ:function(){return n},xK:function(){return o}});let i="INTERNAL_ERROR",s="SERVER_ERROR",n=[-32700,-32600,-32601,-32602,-32603],o={PARSE_ERROR:{code:-32700,message:"Parse error"},INVALID_REQUEST:{code:-32600,message:"Invalid Request"},METHOD_NOT_FOUND:{code:-32601,message:"Method not found"},INVALID_PARAMS:{code:-32602,message:"Invalid params"},[i]:{code:-32603,message:"Internal error"},[s]:{code:-32e3,message:"Server error"}},a=s},60130:function(e,t,r){"use strict";var i=r(79359);r.o(i,"IJsonRpcProvider")&&r.d(t,{IJsonRpcProvider:function(){return i.IJsonRpcProvider}}),r.o(i,"formatJsonRpcError")&&r.d(t,{formatJsonRpcError:function(){return i.formatJsonRpcError}}),r.o(i,"formatJsonRpcRequest")&&r.d(t,{formatJsonRpcRequest:function(){return i.formatJsonRpcRequest}}),r.o(i,"formatJsonRpcResult")&&r.d(t,{formatJsonRpcResult:function(){return i.formatJsonRpcResult}}),r.o(i,"getBigIntRpcId")&&r.d(t,{getBigIntRpcId:function(){return i.getBigIntRpcId}}),r.o(i,"isHttpUrl")&&r.d(t,{isHttpUrl:function(){return i.isHttpUrl}}),r.o(i,"isJsonRpcError")&&r.d(t,{isJsonRpcError:function(){return i.isJsonRpcError}}),r.o(i,"isJsonRpcRequest")&&r.d(t,{isJsonRpcRequest:function(){return i.isJsonRpcRequest}}),r.o(i,"isJsonRpcResponse")&&r.d(t,{isJsonRpcResponse:function(){return i.isJsonRpcResponse}}),r.o(i,"isJsonRpcResult")&&r.d(t,{isJsonRpcResult:function(){return i.isJsonRpcResult}}),r.o(i,"isLocalhostUrl")&&r.d(t,{isLocalhostUrl:function(){return i.isLocalhostUrl}}),r.o(i,"isReactNative")&&r.d(t,{isReactNative:function(){return i.isReactNative}}),r.o(i,"isWsUrl")&&r.d(t,{isWsUrl:function(){return i.isWsUrl}}),r.o(i,"payloadId")&&r.d(t,{payloadId:function(){return i.payloadId}})},44631:function(e,t,r){"use strict";r.d(t,{CX:function(){return a},L2:function(){return o},by:function(){return n},i5:function(){return s}});var i=r(91752);function s(e){return i.dQ.includes(e)}function n(e){return Object.keys(i.xK).includes(e)?i.xK[e]:i.xK[i.JV]}function o(e){return Object.values(i.xK).find(t=>t.code===e)||i.xK[i.JV]}function a(e,t,r){return e.message.includes("getaddrinfo ENOTFOUND")||e.message.includes("connect ECONNREFUSED")?Error(`Unavailable ${r} RPC url at ${t}`):e}},56401:function(e,t,r){"use strict";r.d(t,{CS:function(){return o},RI:function(){return l},o0:function(){return n},sT:function(){return a},tm:function(){return c}});var i=r(44631),s=r(91752);function n(e=3){return Date.now()*Math.pow(10,e)+Math.floor(Math.random()*Math.pow(10,e))}function o(e=6){return BigInt(n(e))}function a(e,t,r){return{id:r||n(),jsonrpc:"2.0",method:e,params:t}}function c(e,t){return{id:e,jsonrpc:"2.0",result:t}}function l(e,t,r){var n;return{id:e,jsonrpc:"2.0",error:void 0===(n=t)?(0,i.by)(s.O4):("string"==typeof n&&(n=Object.assign(Object.assign({},(0,i.by)(s.CA)),{message:n})),void 0!==r&&(n.data=r),(0,i.i5)(n.code)&&(n=(0,i.L2)(n.code)),n)}}},83196:function(e,t,r){"use strict";r.d(t,{IJsonRpcProvider:function(){return o.x0},formatJsonRpcError:function(){return n.RI},formatJsonRpcRequest:function(){return n.sT},formatJsonRpcResult:function(){return n.tm},getBigIntRpcId:function(){return n.CS},isHttpUrl:function(){return a.jK},isJsonRpcError:function(){return c.jg},isJsonRpcRequest:function(){return c.DW},isJsonRpcResponse:function(){return c.u},isJsonRpcResult:function(){return c.k4},isLocalhostUrl:function(){return a.JF},isWsUrl:function(){return a.UZ},parseConnectionError:function(){return i.CX},payloadId:function(){return n.o0}}),r(91752);var i=r(44631),s=r(60130);r.o(s,"IJsonRpcProvider")&&r.d(t,{IJsonRpcProvider:function(){return s.IJsonRpcProvider}}),r.o(s,"formatJsonRpcError")&&r.d(t,{formatJsonRpcError:function(){return s.formatJsonRpcError}}),r.o(s,"formatJsonRpcRequest")&&r.d(t,{formatJsonRpcRequest:function(){return s.formatJsonRpcRequest}}),r.o(s,"formatJsonRpcResult")&&r.d(t,{formatJsonRpcResult:function(){return s.formatJsonRpcResult}}),r.o(s,"getBigIntRpcId")&&r.d(t,{getBigIntRpcId:function(){return s.getBigIntRpcId}}),r.o(s,"isHttpUrl")&&r.d(t,{isHttpUrl:function(){return s.isHttpUrl}}),r.o(s,"isJsonRpcError")&&r.d(t,{isJsonRpcError:function(){return s.isJsonRpcError}}),r.o(s,"isJsonRpcRequest")&&r.d(t,{isJsonRpcRequest:function(){return s.isJsonRpcRequest}}),r.o(s,"isJsonRpcResponse")&&r.d(t,{isJsonRpcResponse:function(){return s.isJsonRpcResponse}}),r.o(s,"isJsonRpcResult")&&r.d(t,{isJsonRpcResult:function(){return s.isJsonRpcResult}}),r.o(s,"isLocalhostUrl")&&r.d(t,{isLocalhostUrl:function(){return s.isLocalhostUrl}}),r.o(s,"isReactNative")&&r.d(t,{isReactNative:function(){return s.isReactNative}}),r.o(s,"isWsUrl")&&r.d(t,{isWsUrl:function(){return s.isWsUrl}}),r.o(s,"payloadId")&&r.d(t,{payloadId:function(){return s.payloadId}});var n=r(56401),o=r(13886),a=r(86902),c=r(88903)},13886:function(e,t,r){"use strict";r.d(t,{x0:function(){return n}});class i{}class s extends i{constructor(){super()}}class n extends s{constructor(e){super()}}},86902:function(e,t,r){"use strict";function i(e,t){let r=function(e){let t=e.match(RegExp(/^\w+:/,"gi"));if(t&&t.length)return t[0]}(e);return void 0!==r&&new RegExp(t).test(r)}function s(e){return i(e,"^https?:")}function n(e){return i(e,"^wss?:")}function o(e){return RegExp("wss?://localhost(:d{2,5})?").test(e)}r.d(t,{JF:function(){return o},UZ:function(){return n},jK:function(){return s}})},88903:function(e,t,r){"use strict";function i(e){return"object"==typeof e&&"id"in e&&"jsonrpc"in e&&"2.0"===e.jsonrpc}function s(e){return i(e)&&"method"in e}function n(e){return i(e)&&(o(e)||a(e))}function o(e){return"result"in e}function a(e){return"error"in e}r.d(t,{DW:function(){return s},jg:function(){return a},k4:function(){return o},u:function(){return n}})},85593:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var i=r(52484),s=r(90834),n=r(83196);let o=()=>"u">typeof WebSocket||"u">typeof r.g&&"u">typeof r.g.WebSocket||"u">typeof window&&"u">typeof window.WebSocket||"u">typeof self&&"u">typeof self.WebSocket,a=e=>e.split("?")[0],c="u">typeof WebSocket?WebSocket:"u">typeof r.g&&"u">typeof r.g.WebSocket?r.g.WebSocket:"u">typeof window&&"u">typeof window.WebSocket?window.WebSocket:"u">typeof self&&"u">typeof self.WebSocket?self.WebSocket:r(69521);class l{constructor(e){if(this.url=e,this.events=new i.EventEmitter,this.registering=!1,!(0,n.isWsUrl)(e))throw Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return"u">typeof this.socket}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(Error("Connection already closed"));return}this.socket.onclose=t=>{this.onClose(t),e()},this.socket.close()})}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send((0,s.u)(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!(0,n.isWsUrl)(e))throw Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){let e=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=e||this.events.listenerCount("open")>=e)&&this.events.setMaxListeners(e+1),new Promise((e,t)=>{this.events.once("register_error",e=>{this.resetMaxListeners(),t(e)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return t(Error("WebSocket connection is missing or invalid"));e(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,r)=>{let i=(0,n.isReactNative)()?void 0:{rejectUnauthorized:!(0,n.isLocalhostUrl)(e)},s=new c(e,[],i);o()?s.onerror=e=>{r(this.emitError(e.error))}:s.on("error",e=>{r(this.emitError(e))}),s.onopen=()=>{this.onOpen(s),t(s)}})}onOpen(e){e.onmessage=e=>this.onPayload(e),e.onclose=e=>this.onClose(e),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;let t="string"==typeof e.data?(0,s.D)(e.data):e.data;this.events.emit("payload",t)}onError(e,t){let r=this.parseError(t),i=r.message||r.toString(),s=(0,n.formatJsonRpcError)(e,i);this.events.emit("payload",s)}parseError(e,t=this.url){return(0,n.parseConnectionError)(e,a(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>10&&this.events.setMaxListeners(10)}emitError(e){let t=this.parseError(Error(e?.message||`WebSocket connection failed for host: ${a(this.url)}`));return this.events.emit("register_error",t),t}}},53171:function(e,t,r){"use strict";r.d(t,{Z:function(){return O}});let i=/"(?:_|\\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*:/,s=/"(?: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*:/,n=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function o(e,t){if("__proto__"===e||"constructor"===e&&t&&"object"==typeof t&&"prototype"in t){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`);return}return t}function a(e,t={}){if("string"!=typeof e)return e;let r=e.trim();if('"'===e[0]&&e.endsWith('"')&&!e.includes("\\"))return r.slice(1,-1);if(r.length<=9){let e=r.toLowerCase();if("true"===e)return!0;if("false"===e)return!1;if("undefined"===e)return;if("null"===e)return null;if("nan"===e)return Number.NaN;if("infinity"===e)return Number.POSITIVE_INFINITY;if("-infinity"===e)return Number.NEGATIVE_INFINITY}if(!n.test(e)){if(t.strict)throw SyntaxError("[destr] Invalid JSON");return e}try{if(i.test(e)||s.test(e)){if(t.strict)throw Error("[destr] Possible prototype pollution");return JSON.parse(e,o)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}var c=r(63157).Buffer;function l(e,...t){try{var r;return(r=e(...t))&&"function"==typeof r.then?r:Promise.resolve(r)}catch(e){return Promise.reject(e)}}function h(e){if(function(e){let t=typeof e;return null===e||"object"!==t&&"function"!==t}(e))return String(e);if(function(e){let t=Object.getPrototypeOf(e);return!t||t.isPrototypeOf(Object)}(e)||Array.isArray(e))return JSON.stringify(e);if("function"==typeof e.toJSON)return h(e.toJSON());throw Error("[unstorage] Cannot stringify value!")}let u="base64:";function d(e){return e?e.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function p(e){return(e=d(e))?e+":":""}let f=()=>{let e=new Map;return{name:"memory",options:{},hasItem:t=>e.has(t),getItem:t=>e.get(t)??null,getItemRaw:t=>e.get(t)??null,setItem(t,r){e.set(t,r)},setItemRaw(t,r){e.set(t,r)},removeItem(t){e.delete(t)},getKeys:()=>Array.from(e.keys()),clear(){e.clear()},dispose(){e.clear()}}};function g(e,t,r){return e.watch?e.watch((e,i)=>t(e,r+i)):()=>{}}async function y(e){"function"==typeof e.dispose&&await l(e.dispose)}var m=r(41659),b=r(90834),w=(e={})=>{let t;let r=e.base&&e.base.length>0?`${e.base}:`:"",i=e=>r+e;return e.dbName&&e.storeName&&(t=(0,m.MT)(e.dbName,e.storeName)),{name:"idb-keyval",options:e,hasItem:async e=>!(typeof await (0,m.U2)(i(e),t)>"u"),getItem:async e=>await (0,m.U2)(i(e),t)??null,setItem:(e,r)=>(0,m.t8)(i(e),r,t),removeItem:e=>(0,m.IV)(i(e),t),getKeys:()=>(0,m.XP)(t),clear:()=>(0,m.ZH)(t)}};class v{constructor(){this.indexedDb=function(e={}){let t={mounts:{"":e.driver||f()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},r=e=>{for(let r of t.mountpoints)if(e.startsWith(r))return{base:r,relativeKey:e.slice(r.length),driver:t.mounts[r]};return{base:"",relativeKey:e,driver:t.mounts[""]}},i=(e,r)=>t.mountpoints.filter(t=>t.startsWith(e)||r&&e.startsWith(t)).map(r=>({relativeBase:e.length>r.length?e.slice(r.length):void 0,mountpoint:r,driver:t.mounts[r]})),s=(e,r)=>{if(t.watching)for(let i of(r=d(r),t.watchListeners))i(e,r)},n=async()=>{if(!t.watching)for(let e in t.watching=!0,t.mounts)t.unwatch[e]=await g(t.mounts[e],s,e)},o=async()=>{if(t.watching){for(let e in t.unwatch)await t.unwatch[e]();t.unwatch={},t.watching=!1}},m=(e,t,i)=>{let s=new Map,n=e=>{let t=s.get(e.base);return t||(t={driver:e.driver,base:e.base,items:[]},s.set(e.base,t)),t};for(let i of e){let e="string"==typeof i,s=d(e?i:i.key),o=e?void 0:i.value,a=e||!i.options?t:{...t,...i.options},c=r(s);n(c).items.push({key:s,value:o,relativeKey:c.relativeKey,options:a})}return Promise.all([...s.values()].map(e=>i(e))).then(e=>e.flat())},b={hasItem(e,t={}){let{relativeKey:i,driver:s}=r(e=d(e));return l(s.hasItem,i,t)},getItem(e,t={}){let{relativeKey:i,driver:s}=r(e=d(e));return l(s.getItem,i,t).then(e=>a(e))},getItems:(e,t)=>m(e,t,e=>e.driver.getItems?l(e.driver.getItems,e.items.map(e=>({key:e.relativeKey,options:e.options})),t).then(t=>t.map(t=>({key:function(...e){return d(e.join(":"))}(e.base,t.key),value:a(t.value)}))):Promise.all(e.items.map(t=>l(e.driver.getItem,t.relativeKey,t.options).then(e=>({key:t.key,value:a(e)}))))),getItemRaw(e,t={}){let{relativeKey:i,driver:s}=r(e=d(e));return s.getItemRaw?l(s.getItemRaw,i,t):l(s.getItem,i,t).then(e=>"string"==typeof e&&e.startsWith(u)?c.from(e.slice(u.length),"base64"):e)},async setItem(e,t,i={}){if(void 0===t)return b.removeItem(e);let{relativeKey:n,driver:o}=r(e=d(e));o.setItem&&(await l(o.setItem,n,h(t),i),o.watch||s("update",e))},async setItems(e,t){await m(e,t,async e=>{if(e.driver.setItems)return l(e.driver.setItems,e.items.map(e=>({key:e.relativeKey,value:h(e.value),options:e.options})),t);e.driver.setItem&&await Promise.all(e.items.map(t=>l(e.driver.setItem,t.relativeKey,h(t.value),t.options)))})},async setItemRaw(e,t,i={}){if(void 0===t)return b.removeItem(e,i);let{relativeKey:n,driver:o}=r(e=d(e));if(o.setItemRaw)await l(o.setItemRaw,n,t,i);else{if(!o.setItem)return;await l(o.setItem,n,"string"==typeof t?t:u+c.from(t).toString("base64"),i)}o.watch||s("update",e)},async removeItem(e,t={}){"boolean"==typeof t&&(t={removeMeta:t});let{relativeKey:i,driver:n}=r(e=d(e));n.removeItem&&(await l(n.removeItem,i,t),(t.removeMeta||t.removeMata)&&await l(n.removeItem,i+"$",t),n.watch||s("remove",e))},async getMeta(e,t={}){"boolean"==typeof t&&(t={nativeOnly:t});let{relativeKey:i,driver:s}=r(e=d(e)),n=Object.create(null);if(s.getMeta&&Object.assign(n,await l(s.getMeta,i,t)),!t.nativeOnly){let e=await l(s.getItem,i+"$",t).then(e=>a(e));e&&"object"==typeof e&&("string"==typeof e.atime&&(e.atime=new Date(e.atime)),"string"==typeof e.mtime&&(e.mtime=new Date(e.mtime)),Object.assign(n,e))}return n},setMeta(e,t,r={}){return this.setItem(e+"$",t,r)},removeMeta(e,t={}){return this.removeItem(e+"$",t)},async getKeys(e,t={}){let r=i(e=p(e),!0),s=[],n=[];for(let e of r){let r=(await l(e.driver.getKeys,e.relativeBase,t)).map(t=>e.mountpoint+d(t)).filter(e=>!s.some(t=>e.startsWith(t)));n.push(...r),s=[e.mountpoint,...s.filter(t=>!t.startsWith(e.mountpoint))]}return e?n.filter(t=>t.startsWith(e)&&!t.endsWith("$")):n.filter(e=>!e.endsWith("$"))},async clear(e,t={}){e=p(e),await Promise.all(i(e,!1).map(async e=>e.driver.clear?l(e.driver.clear,e.relativeBase,t):e.driver.removeItem?Promise.all((await e.driver.getKeys(e.relativeBase||"",t)).map(r=>e.driver.removeItem(r,t))):void 0))},async dispose(){await Promise.all(Object.values(t.mounts).map(e=>y(e)))},watch:async e=>(await n(),t.watchListeners.push(e),async()=>{t.watchListeners=t.watchListeners.filter(t=>t!==e),0===t.watchListeners.length&&await o()}),async unwatch(){t.watchListeners=[],await o()},mount(e,r){if((e=p(e))&&t.mounts[e])throw Error(`already mounted at ${e}`);return e&&(t.mountpoints.push(e),t.mountpoints.sort((e,t)=>t.length-e.length)),t.mounts[e]=r,t.watching&&Promise.resolve(g(r,s,e)).then(r=>{t.unwatch[e]=r}).catch(console.error),b},async unmount(e,r=!0){(e=p(e))&&t.mounts[e]&&(t.watching&&e in t.unwatch&&(t.unwatch[e](),delete t.unwatch[e]),r&&await y(t.mounts[e]),t.mountpoints=t.mountpoints.filter(t=>t!==e),delete t.mounts[e])},getMount(e=""){let t=r(e=d(e)+":");return{driver:t.driver,base:t.base}},getMounts:(e="",t={})=>i(e=d(e),t.parents).map(e=>({driver:e.driver,base:e.mountpoint}))};return b}({driver:w({dbName:"WALLET_CONNECT_V2_INDEXED_DB",storeName:"keyvaluestorage"})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){let t=await this.indexedDb.getItem(e);if(null!==t)return t}async setItem(e,t){await this.indexedDb.setItem(e,(0,b.u)(t))}async removeItem(e){await this.indexedDb.removeItem(e)}}var E="u">typeof globalThis?globalThis:"u">typeof window?window:"u">typeof r.g?r.g:"u">typeof self?self:{},I={exports:{}};function _(e){var t;return[e[0],(0,b.D)(null!=(t=e[1])?t:"")]}!function(){function e(){}e.prototype.getItem=function(e){return this.hasOwnProperty(e)?String(this[e]):null},e.prototype.setItem=function(e,t){this[e]=String(t)},e.prototype.removeItem=function(e){delete this[e]},e.prototype.clear=function(){let e=this;Object.keys(e).forEach(function(t){e[t]=void 0,delete e[t]})},e.prototype.key=function(e){return e=e||0,Object.keys(this)[e]},e.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),"u">typeof E&&E.localStorage?I.exports=E.localStorage:"u">typeof window&&window.localStorage?I.exports=window.localStorage:I.exports=new e}();class D{constructor(){this.localStorage=I.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(_)}async getItem(e){let t=this.localStorage.getItem(e);if(null!==t)return(0,b.D)(t)}async setItem(e,t){this.localStorage.setItem(e,(0,b.u)(t))}async removeItem(e){this.localStorage.removeItem(e)}}let S=async(e,t,r)=>{let i="wc_storage_version",s=await t.getItem(i);if(s&&s>=1){r(t);return}let n=await e.getKeys();if(!n.length){r(t);return}let o=[];for(;n.length;){let r=n.shift();if(!r)continue;let i=r.toLowerCase();if(i.includes("wc@")||i.includes("walletconnect")||i.includes("wc_")||i.includes("wallet_connect")){let i=await e.getItem(r);await t.setItem(r,i),o.push(r)}}await t.setItem(i,1),r(t),P(e,o)},P=async(e,t)=>{t.length&&t.forEach(async t=>{await e.removeItem(t)})};class O{constructor(){this.initialized=!1,this.setInitialized=e=>{this.storage=e,this.initialized=!0};let e=new D;this.storage=e;try{let t=new v;S(e,t,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(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,t){return await this.initialize(),this.storage.setItem(e,t)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{let t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}}},19425:function(e,t,r){"use strict";r.d(t,{Ep:function(){return D},Fd:function(){return _},Rt:function(){return S},gw:function(){return s.a},jI:function(){return I}});var i=r(74080),s=r.n(i),n=r(90834);let o={level:"info"},a="custom_context";class c{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 l{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){let t=new c(e);if(t.size>this.maxSizeInBytes)throw 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.head=t,this.tail=t,this.lengthInNodes++,this.sizeInBytes+=t.size}shift(){if(!this.head)return;let e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){let e=[],t=this.head;for(;null!==t;)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};let t=e.value;return e=e.next,{done:!1,value:t}}}}}class h{constructor(e,t=1024e3){this.level=e??"error",this.levelValue=i.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new l(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===i.levels.values.error?console.error(e):t===i.levels.values.warn?console.warn(e):t===i.levels.values.debug?console.debug(e):t===i.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append((0,n.u)({timestamp:new Date().toISOString(),log:e}));let t="string"==typeof e?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new l(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){let t=this.getLogArray();return t.push((0,n.u)({extraMetadata:e})),new Blob(t,{type:"application/json"})}}class u{constructor(e,t=1024e3){this.baseChunkLogger=new h(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){let t=URL.createObjectURL(this.logsToBlob(e)),r=document.createElement("a");r.href=t,r.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(t)}}class d{constructor(e,t=1024e3){this.baseChunkLogger=new h(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 p=Object.defineProperty,f=Object.defineProperties,g=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,w=(e,t,r)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,v=(e,t)=>{for(var r in t||(t={}))m.call(t,r)&&w(e,r,t[r]);if(y)for(var r of y(t))b.call(t,r)&&w(e,r,t[r]);return e},E=(e,t)=>f(e,g(t));function I(e){return E(v({},e),{level:e?.level||o.level})}function _(e,t=a){return typeof e.bindings>"u"?function(e,t=a){return e[t]||""}(e,t):e.bindings().context||""}function D(e,t,r=a){let i=function(e,t,r=a){let i=_(e,r);return i.trim()?`${i}/${t}`:t}(e,t,r);return function(e,t,r=a){return e[r]=t,e}(e.child({context:i}),i,r)}function S(e){return"u">typeof e.loggerOverride&&"string"!=typeof e.loggerOverride?{logger:e.loggerOverride,chunkLoggerController:null}:"u">typeof window?function(e){var t,r;let i=new u(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:s()(E(v({},e.opts),{level:"trace",browser:E(v({},null==(r=e.opts)?void 0:r.browser),{write:e=>i.write(e)})})),chunkLoggerController:i}}(e):function(e){var t;let r=new d(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:s()(E(v({},e.opts),{level:"trace"}),r),chunkLoggerController:r}}(e)}},32479:function(e,t,r){"use strict";r.d(t,{iO:function(){return i}});let i={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"}}},56569:function(e,t,r){"use strict";r.d(t,{Au:function(){return tS},bG:function(){return t_},vf:function(){return tP},xp:function(){return tD}});var i=r(2697),s=r(90834);function n(e,...t){if(!(e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function o(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}let a="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,c=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function l(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}(e)),n(e),e}class h{clone(){return this._cloneInto()}}function u(e=32){if(a&&"function"==typeof a.getRandomValues)return a.getRandomValues(new Uint8Array(e));if(a&&"function"==typeof a.randomBytes)return a.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}class d extends h{constructor(e,t,r,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=c(this.buffer)}update(e){o(this);let{view:t,buffer:r,blockLen:i}=this,s=(e=l(e)).length;for(let n=0;n<s;){let o=Math.min(i-this.pos,s-n);if(o===i){let t=c(e);for(;i<=s-n;n+=i)this.process(t,n);continue}r.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===i&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){o(this),function(e,t){n(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:s}=this,{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>i-a&&(this.process(r,0),a=0);for(let e=a;e<i;e++)t[e]=0;(function(e,t,r,i){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,i);let s=BigInt(32),n=BigInt(4294967295),o=Number(r>>s&n),a=Number(r&n),c=i?4:0,l=i?0:4;e.setUint32(t+c,o,i),e.setUint32(t+l,a,i)})(r,i-8,BigInt(8*this.length),s),this.process(r,0);let l=c(e),h=this.outputLen;if(h%4)throw Error("_sha2: outputLen should be aligned to 32bit");let u=h/4,d=this.get();if(u>d.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<u;e++)l.setUint32(4*e,d[e],s)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:i,finished:s,destroyed:n,pos:o}=this;return e.length=i,e.pos=o,e.finished=s,e.destroyed=n,i%t&&e.buffer.set(r),e}}let p=BigInt(4294967296-1),f=BigInt(32),g={split:function(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let s=0;s<e.length;s++){let{h:n,l:o}=function(e,t=!1){return t?{h:Number(e&p),l:Number(e>>f&p)}:{h:0|Number(e>>f&p),l:0|Number(e&p)}}(e[s],t);[r[s],i[s]]=[n,o]}return[r,i]},shrSH:(e,t,r)=>e>>>r,shrSL:(e,t,r)=>e<<32-r|t>>>r,rotrSH:(e,t,r)=>e>>>r|t<<32-r,rotrSL:(e,t,r)=>e<<32-r|t>>>r,rotrBH:(e,t,r)=>e<<64-r|t>>>r-32,rotrBL:(e,t,r)=>e>>>r-32|t<<64-r,add:function(e,t,r,i){let s=(t>>>0)+(i>>>0);return{h:e+r+(s/4294967296|0)|0,l:0|s}},add3L:(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),add3H:(e,t,r,i)=>t+r+i+(e/4294967296|0)|0,add4L:(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),add4H:(e,t,r,i,s)=>t+r+i+s+(e/4294967296|0)|0,add5H:(e,t,r,i,s,n)=>t+r+i+s+n+(e/4294967296|0)|0,add5L:(e,t,r,i,s)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(s>>>0)},[y,m]=g.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(e=>BigInt(e))),b=new Uint32Array(80),w=new Uint32Array(80);class v extends d{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(){let{Ah:e,Al:t,Bh:r,Bl:i,Ch:s,Cl:n,Dh:o,Dl:a,Eh:c,El:l,Fh:h,Fl:u,Gh:d,Gl:p,Hh:f,Hl:g}=this;return[e,t,r,i,s,n,o,a,c,l,h,u,d,p,f,g]}set(e,t,r,i,s,n,o,a,c,l,h,u,d,p,f,g){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|i,this.Ch=0|s,this.Cl=0|n,this.Dh=0|o,this.Dl=0|a,this.Eh=0|c,this.El=0|l,this.Fh=0|h,this.Fl=0|u,this.Gh=0|d,this.Gl=0|p,this.Hh=0|f,this.Hl=0|g}process(e,t){for(let r=0;r<16;r++,t+=4)b[r]=e.getUint32(t),w[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=0|b[e-15],r=0|w[e-15],i=g.rotrSH(t,r,1)^g.rotrSH(t,r,8)^g.shrSH(t,r,7),s=g.rotrSL(t,r,1)^g.rotrSL(t,r,8)^g.shrSL(t,r,7),n=0|b[e-2],o=0|w[e-2],a=g.rotrSH(n,o,19)^g.rotrBH(n,o,61)^g.shrSH(n,o,6),c=g.rotrSL(n,o,19)^g.rotrBL(n,o,61)^g.shrSL(n,o,6),l=g.add4L(s,c,w[e-7],w[e-16]),h=g.add4H(l,i,a,b[e-7],b[e-16]);b[e]=0|h,w[e]=0|l}let{Ah:r,Al:i,Bh:s,Bl:n,Ch:o,Cl:a,Dh:c,Dl:l,Eh:h,El:u,Fh:d,Fl:p,Gh:f,Gl:v,Hh:E,Hl:I}=this;for(let e=0;e<80;e++){let t=g.rotrSH(h,u,14)^g.rotrSH(h,u,18)^g.rotrBH(h,u,41),_=g.rotrSL(h,u,14)^g.rotrSL(h,u,18)^g.rotrBL(h,u,41),D=h&d^~h&f,S=u&p^~u&v,P=g.add5L(I,_,S,m[e],w[e]),O=g.add5H(P,E,t,D,y[e],b[e]),x=0|P,C=g.rotrSH(r,i,28)^g.rotrBH(r,i,34)^g.rotrBH(r,i,39),A=g.rotrSL(r,i,28)^g.rotrBL(r,i,34)^g.rotrBL(r,i,39),R=r&s^r&o^s&o,N=i&n^i&a^n&a;E=0|f,I=0|v,f=0|d,v=0|p,d=0|h,p=0|u,({h:h,l:u}=g.add(0|c,0|l,0|O,0|x)),c=0|o,l=0|a,o=0|s,a=0|n,s=0|r,n=0|i;let T=g.add3L(x,A,N);r=g.add3H(T,O,C,R),i=0|T}({h:r,l:i}=g.add(0|this.Ah,0|this.Al,0|r,0|i)),({h:s,l:n}=g.add(0|this.Bh,0|this.Bl,0|s,0|n)),({h:o,l:a}=g.add(0|this.Ch,0|this.Cl,0|o,0|a)),({h:c,l:l}=g.add(0|this.Dh,0|this.Dl,0|c,0|l)),({h:h,l:u}=g.add(0|this.Eh,0|this.El,0|h,0|u)),({h:d,l:p}=g.add(0|this.Fh,0|this.Fl,0|d,0|p)),({h:f,l:v}=g.add(0|this.Gh,0|this.Gl,0|f,0|v)),({h:E,l:I}=g.add(0|this.Hh,0|this.Hl,0|E,0|I)),this.set(r,i,s,n,o,a,c,l,h,u,d,p,f,v,E,I)}roundClean(){b.fill(0),w.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)}}let E=function(e){let t=t=>e().update(l(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}(()=>new v),I=BigInt(0),_=BigInt(1),D=BigInt(2);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function S(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function P(e){if(!S(e))throw Error("Uint8Array expected")}function O(e,t){if("boolean"!=typeof t)throw Error(e+" boolean expected, got "+t)}let x=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function C(e){P(e);let t="";for(let r=0;r<e.length;r++)t+=x[e[r]];return t}function A(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return""===e?I:BigInt("0x"+e)}let R={_0:48,_9:57,A:65,F:70,a:97,f:102};function N(e){return e>=R._0&&e<=R._9?e-R._0:e>=R.A&&e<=R.F?e-(R.A-10):e>=R.a&&e<=R.f?e-(R.a-10):void 0}function T(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let i=new Uint8Array(r);for(let t=0,s=0;t<r;t++,s+=2){let r=N(e.charCodeAt(s)),n=N(e.charCodeAt(s+1));if(void 0===r||void 0===n)throw Error('hex string expected, got non-hex character "'+(e[s]+e[s+1])+'" at index '+s);i[t]=16*r+n}return i}function j(e){return P(e),A(C(Uint8Array.from(e).reverse()))}function L(e,t){return T(e.toString(16).padStart(2*t,"0"))}function k(e,t){return L(e,t).reverse()}function U(e,t,r){let i;if("string"==typeof t)try{i=T(t)}catch(t){throw Error(e+" must be hex string or Uint8Array, cause: "+t)}else if(S(t))i=Uint8Array.from(t);else throw Error(e+" must be hex string or Uint8Array");let s=i.length;if("number"==typeof r&&s!==r)throw Error(e+" of length "+r+" expected, got "+s);return i}function B(...e){let t=0;for(let r=0;r<e.length;r++){let i=e[r];P(i),t+=i.length}let r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){let s=e[t];r.set(s,i),i+=s.length}return r}let q=e=>"bigint"==typeof e&&I<=e;function $(e,t,r,i){if(!(q(t)&&q(r)&&q(i))||!(r<=t)||!(t<i))throw Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}let M=e=>(D<<BigInt(e-1))-_,z={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||S(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function F(e,t,r={}){let i=(t,r,i)=>{let s=z[r];if("function"!=typeof s)throw Error("invalid validator function");let n=e[t];if(!(i&&void 0===n)&&!s(n,e))throw Error("param "+String(t)+" is invalid. Expected "+r+", got "+n)};for(let[e,r]of Object.entries(t))i(e,r,!1);for(let[e,t]of Object.entries(r))i(e,t,!0);return e}function H(e){let t=new WeakMap;return(r,...i)=>{let s=t.get(r);if(void 0!==s)return s;let n=e(r,...i);return t.set(r,n),n}}let V=BigInt(0),K=BigInt(1),W=BigInt(2),J=BigInt(3),G=BigInt(4),Y=BigInt(5),Z=BigInt(8);function Q(e,t){let r=e%t;return r>=V?r:t+r}function X(e,t,r){let i=e;for(;t-- >V;)i*=i,i%=r;return i}function ee(e,t){if(e===V)throw Error("invert: expected non-zero number");if(t<=V)throw Error("invert: expected positive modulus, got "+t);let r=Q(e,t),i=t,s=V,n=K;for(;r!==V;){let e=i/r,t=i%r,o=s-n*e;i=r,r=t,s=n,n=o}if(i!==K)throw Error("invert: does not exist");return Q(s,t)}let et=(e,t)=>(Q(e,t)&K)===K,er=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ei(e,t){let r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function es(e,t,r=!1,i={}){let s;if(e<=V)throw Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:n,nByteLength:o}=ei(e,t);if(o>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let a=Object.freeze({ORDER:e,isLE:r,BITS:n,BYTES:o,MASK:M(n),ZERO:V,ONE:K,create:t=>Q(t,e),isValid:t=>{if("bigint"!=typeof t)throw Error("invalid field element: expected bigint, got "+typeof t);return V<=t&&t<e},is0:e=>e===V,isOdd:e=>(e&K)===K,neg:t=>Q(-t,e),eql:(e,t)=>e===t,sqr:t=>Q(t*t,e),add:(t,r)=>Q(t+r,e),sub:(t,r)=>Q(t-r,e),mul:(t,r)=>Q(t*r,e),pow:(e,t)=>(function(e,t,r){if(r<V)throw Error("invalid exponent, negatives unsupported");if(r===V)return e.ONE;if(r===K)return t;let i=e.ONE,s=t;for(;r>V;)r&K&&(i=e.mul(i,s)),s=e.sqr(s),r>>=K;return i})(a,e,t),div:(t,r)=>Q(t*ee(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>ee(t,e),sqrt:i.sqrt||(t=>(s||(s=function(e){if(e%G===J){let t=(e+K)/G;return function(e,r){let i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw Error("Cannot find square root");return i}}if(e%Z===Y){let t=(e-Y)/Z;return function(e,r){let i=e.mul(r,W),s=e.pow(i,t),n=e.mul(r,s),o=e.mul(e.mul(n,W),s),a=e.mul(n,e.sub(o,e.ONE));if(!e.eql(e.sqr(a),r))throw Error("Cannot find square root");return a}}return function(e){let t,r,i;let s=(e-K)/W;for(t=e-K,r=0;t%W===V;t/=W,r++);for(i=W;i<e&&function(e,t,r){if(t<V)throw Error("invalid exponent, negatives unsupported");if(r<=V)throw Error("invalid modulus");if(r===K)return V;let i=K;for(;t>V;)t&K&&(i=i*e%r),e=e*e%r,t>>=K;return i}(i,s,e)!==e-K;i++)if(i>1e3)throw Error("Cannot find square root: likely non-prime P");if(1===r){let t=(e+K)/G;return function(e,r){let i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw Error("Cannot find square root");return i}}let n=(t+K)/W;return function(e,o){if(e.pow(o,s)===e.neg(e.ONE))throw Error("Cannot find square root");let a=r,c=e.pow(e.mul(e.ONE,i),t),l=e.pow(o,n),h=e.pow(o,t);for(;!e.eql(h,e.ONE);){if(e.eql(h,e.ZERO))return e.ZERO;let t=1;for(let r=e.sqr(h);t<a&&!e.eql(r,e.ONE);t++)r=e.sqr(r);let r=e.pow(c,K<<BigInt(a-t-1));c=e.sqr(r),l=e.mul(l,r),h=e.mul(h,c),a=t}return l}}(e)}(e)),s(a,t))),invertBatch:e=>(function(e,t){let r=Array(t.length),i=t.reduce((t,i,s)=>e.is0(i)?t:(r[s]=t,e.mul(t,i)),e.ONE),s=e.inv(i);return t.reduceRight((t,i,s)=>e.is0(i)?t:(r[s]=e.mul(t,r[s]),e.mul(t,i)),s),r})(a,e),cmov:(e,t,r)=>r?t:e,toBytes:e=>r?k(e,o):L(e,o),fromBytes:e=>{if(e.length!==o)throw Error("Field.fromBytes: expected "+o+" bytes, got "+e.length);return r?j(e):A(C(e))}});return Object.freeze(a)}let en=BigInt(0),eo=BigInt(1);function ea(e,t){let r=t.negate();return e?r:t}function ec(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function el(e,t){return ec(e,t),{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}}let eh=new WeakMap,eu=new WeakMap;function ed(e){return eu.get(e)||1}let ep=BigInt(0),ef=BigInt(1),eg=BigInt(2),ey=BigInt(8),em={zip215:!0};BigInt(0),BigInt(1);let eb=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),ew=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt(0);let ev=BigInt(1),eE=BigInt(2);BigInt(3);let eI=BigInt(5),e_=BigInt(8),eD=es(eb,void 0,!0),eS=function(e){var t;let r=function(e){let t=(F(e.Fp,er.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),F(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ei(e.n,e.nBitLength),...e,p:e.Fp.ORDER}));return F(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}(e),{Fp:i,n:s,prehash:n,hash:o,randomBytes:a,nByteLength:c,h:l}=r,h=eg<<BigInt(8*c)-ef,u=i.create,d=es(r.n,r.nBitLength),p=r.uvRatio||((e,t)=>{try{return{isValid:!0,value:i.sqrt(e*i.inv(t))}}catch{return{isValid:!1,value:ep}}}),f=r.adjustScalarBytes||(e=>e),g=r.domain||((e,t,r)=>{if(O("phflag",r),t.length||r)throw Error("Contexts/pre-hash are not supported");return e});function y(e,t){$("coordinate "+e,t,ep,h)}function m(e){if(!(e instanceof v))throw Error("ExtendedPoint expected")}let b=H((e,t)=>{let{ex:r,ey:s,ez:n}=e,o=e.is0();null==t&&(t=o?ey:i.inv(n));let a=u(r*t),c=u(s*t),l=u(n*t);if(o)return{x:ep,y:ef};if(l!==ef)throw Error("invZ was invalid");return{x:a,y:c}}),w=H(e=>{let{a:t,d:i}=r;if(e.is0())throw Error("bad point: ZERO");let{ex:s,ey:n,ez:o,et:a}=e,c=u(s*s),l=u(n*n),h=u(o*o),d=u(h*h),p=u(c*t);if(u(h*u(p+l))!==u(d+u(i*u(c*l))))throw Error("bad point: equation left != right (1)");if(u(s*n)!==u(o*a))throw Error("bad point: equation left != right (2)");return!0});class v{constructor(e,t,r,i){this.ex=e,this.ey=t,this.ez=r,this.et=i,y("x",e),y("y",t),y("z",r),y("t",i),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof v)throw Error("extended point not allowed");let{x:t,y:r}=e||{};return y("x",t),y("y",r),new v(t,r,ef,u(t*r))}static normalizeZ(e){let t=i.invertBatch(e.map(e=>e.ez));return e.map((e,r)=>e.toAffine(t[r])).map(v.fromAffine)}static msm(e,t){return function(e,t,r,i){if(function(e,t){if(!Array.isArray(e))throw Error("array expected");e.forEach((e,r)=>{if(!(e instanceof t))throw Error("invalid point at index "+r)})}(r,e),function(e,t){if(!Array.isArray(e))throw Error("array of scalars expected");e.forEach((e,r)=>{if(!t.isValid(e))throw Error("invalid scalar at index "+r)})}(i,t),r.length!==i.length)throw Error("arrays of points and scalars must have equal length");let s=e.ZERO,n=function(e){let t;for(t=0;e>I;e>>=_,t+=1);return t}(BigInt(r.length)),o=n>12?n-3:n>4?n-2:n?2:1,a=(1<<o)-1,c=Array(a+1).fill(s),l=Math.floor((t.BITS-1)/o)*o,h=s;for(let e=l;e>=0;e-=o){c.fill(s);for(let t=0;t<i.length;t++){let s=Number(i[t]>>BigInt(e)&BigInt(a));c[s]=c[s].add(r[t])}let t=s;for(let e=c.length-1,r=s;e>0;e--)r=r.add(c[e]),t=t.add(r);if(h=h.add(t),0!==e)for(let e=0;e<o;e++)h=h.double()}return h}(v,d,e,t)}_setWindowSize(e){S.setWindowSize(this,e)}assertValidity(){w(this)}equals(e){m(e);let{ex:t,ey:r,ez:i}=this,{ex:s,ey:n,ez:o}=e,a=u(t*o),c=u(s*i),l=u(r*o),h=u(n*i);return a===c&&l===h}is0(){return this.equals(v.ZERO)}negate(){return new v(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:e}=r,{ex:t,ey:i,ez:s}=this,n=u(t*t),o=u(i*i),a=u(eg*u(s*s)),c=u(e*n),l=t+i,h=u(u(l*l)-n-o),d=c+o,p=d-a,f=c-o,g=u(h*p),y=u(d*f),m=u(h*f);return new v(g,y,u(p*d),m)}add(e){m(e);let{a:t,d:i}=r,{ex:s,ey:n,ez:o,et:a}=this,{ex:c,ey:l,ez:h,et:d}=e;if(t===BigInt(-1)){let e=u((n-s)*(l+c)),t=u((n+s)*(l-c)),r=u(t-e);if(r===ep)return this.double();let i=u(o*eg*d),p=u(a*eg*h),f=p+i,g=t+e,y=p-i,m=u(f*r),b=u(g*y),w=u(f*y);return new v(m,b,u(r*g),w)}let p=u(s*c),f=u(n*l),g=u(a*i*d),y=u(o*h),b=u((s+n)*(c+l)-p-f),w=y-g,E=y+g,I=u(f-t*p),_=u(b*w),D=u(E*I),S=u(b*I);return new v(_,D,u(w*E),S)}subtract(e){return this.add(e.negate())}wNAF(e){return S.wNAFCached(this,e,v.normalizeZ)}multiply(e){$("scalar",e,ef,s);let{p:t,f:r}=this.wNAF(e);return v.normalizeZ([t,r])[0]}multiplyUnsafe(e,t=v.ZERO){return $("scalar",e,ep,s),e===ep?D:this.is0()||e===ef?this:S.wNAFCachedUnsafe(this,e,v.normalizeZ,t)}isSmallOrder(){return this.multiplyUnsafe(l).is0()}isTorsionFree(){return S.unsafeLadder(this,s).is0()}toAffine(e){return b(this,e)}clearCofactor(){let{h:e}=r;return e===ef?this:this.multiplyUnsafe(e)}static fromHex(e,t=!1){let{d:s,a:n}=r,o=i.BYTES;e=U("pointHex",e,o),O("zip215",t);let a=e.slice(),c=e[o-1];a[o-1]=-129&c;let l=j(a);$("pointHex.y",l,ep,t?h:i.ORDER);let d=u(l*l),{isValid:f,value:g}=p(u(d-ef),u(s*d-n));if(!f)throw Error("Point.fromHex: invalid y coordinate");let y=(g&ef)===ef,m=(128&c)!=0;if(!t&&g===ep&&m)throw Error("Point.fromHex: x=0 and x_0=1");return m!==y&&(g=u(-g)),v.fromAffine({x:g,y:l})}static fromPrivateKey(e){return P(e).point}toRawBytes(){let{x:e,y:t}=this.toAffine(),r=k(t,i.BYTES);return r[r.length-1]|=e&ef?128:0,r}toHex(){return C(this.toRawBytes())}}v.BASE=new v(r.Gx,r.Gy,ef,u(r.Gx*r.Gy)),v.ZERO=new v(ep,ef,ef,ep);let{BASE:E,ZERO:D}=v,S=(t=8*c,{constTimeNegate:ea,hasPrecomputes:e=>1!==ed(e),unsafeLadder(e,t,r=v.ZERO){let i=e;for(;t>en;)t&eo&&(r=r.add(i)),i=i.double(),t>>=eo;return r},precomputeWindow(e,r){let{windows:i,windowSize:s}=el(r,t),n=[],o=e,a=o;for(let e=0;e<i;e++){a=o,n.push(a);for(let e=1;e<s;e++)a=a.add(o),n.push(a);o=a.double()}return n},wNAF(e,r,i){let{windows:s,windowSize:n}=el(e,t),o=v.ZERO,a=v.BASE,c=BigInt(2**e-1),l=2**e,h=BigInt(e);for(let e=0;e<s;e++){let t=e*n,s=Number(i&c);i>>=h,s>n&&(s-=l,i+=eo);let u=t+Math.abs(s)-1,d=e%2!=0,p=s<0;0===s?a=a.add(ea(d,r[t])):o=o.add(ea(p,r[u]))}return{p:o,f:a}},wNAFUnsafe(e,r,i,s=v.ZERO){let{windows:n,windowSize:o}=el(e,t),a=BigInt(2**e-1),c=2**e,l=BigInt(e);for(let e=0;e<n;e++){let t=e*o;if(i===en)break;let n=Number(i&a);if(i>>=l,n>o&&(n-=c,i+=eo),0===n)continue;let h=r[t+Math.abs(n)-1];n<0&&(h=h.negate()),s=s.add(h)}return s},getPrecomputes(e,t,r){let i=eh.get(t);return i||(i=this.precomputeWindow(t,e),1!==e&&eh.set(t,r(i))),i},wNAFCached(e,t,r){let i=ed(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)},wNAFCachedUnsafe(e,t,r,i){let s=ed(e);return 1===s?this.unsafeLadder(e,t,i):this.wNAFUnsafe(s,this.getPrecomputes(s,e,r),t,i)},setWindowSize(e,r){ec(r,t),eu.set(e,r),eh.delete(e)}});function P(e){let t=i.BYTES;e=U("private key",e,t);let r=U("hashed private key",o(e),2*t),n=f(r.slice(0,t)),a=r.slice(t,2*t),c=Q(j(n),s),l=E.multiply(c),h=l.toRawBytes();return{head:n,prefix:a,scalar:c,point:l,pointBytes:h}}function x(e=new Uint8Array,...t){return Q(j(o(g(B(...t),U("context",e),!!n))),s)}return E._setWindowSize(8),{CURVE:r,getPublicKey:function(e){return P(e).pointBytes},sign:function(e,t,r={}){e=U("message",e),n&&(e=n(e));let{prefix:o,scalar:a,pointBytes:c}=P(t),l=x(r.context,o,e),h=E.multiply(l).toRawBytes(),u=Q(l+x(r.context,h,c,e)*a,s);return $("signature.s",u,ep,s),U("result",B(h,k(u,i.BYTES)),2*i.BYTES)},verify:function(e,t,r,s=em){let o,a,c;let{context:l,zip215:h}=s,u=i.BYTES;e=U("signature",e,2*u),t=U("message",t),r=U("publicKey",r,u),void 0!==h&&O("zip215",h),n&&(t=n(t));let d=j(e.slice(u,2*u));try{o=v.fromHex(r,h),a=v.fromHex(e.slice(0,u),h),c=E.multiplyUnsafe(d)}catch{return!1}if(!h&&o.isSmallOrder())return!1;let p=x(l,a.toRawBytes(),o.toRawBytes(),t);return a.add(o.multiplyUnsafe(p)).subtract(c).clearCofactor().equals(v.ZERO)},ExtendedPoint:v,utils:{getExtendedPublicKey:P,randomPrivateKey:()=>a(i.BYTES),precompute:(e=8,t=v.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)}}}({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:eD,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:e_,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:E,randomBytes:u,adjustScalarBytes:function(e){return e[0]&=248,e[31]&=127,e[31]|=64,e},uvRatio:function(e,t){let r=Q(t*t*t,eb),i=function(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),s=BigInt(80),n=e*e%eb*e%eb,o=X(n,eE,eb)*n%eb,a=X(o,ev,eb)*e%eb,c=X(a,eI,eb)*a%eb,l=X(c,t,eb)*c%eb,h=X(l,r,eb)*l%eb,u=X(h,i,eb)*h%eb,d=X(u,s,eb)*u%eb,p=X(d,s,eb)*u%eb,f=X(p,t,eb)*c%eb;return{pow_p_5_8:X(f,eE,eb)*e%eb,b2:n}}(e*Q(r*r*t,eb)).pow_p_5_8,s=Q(e*r*i,eb),n=Q(t*s*s,eb),o=s,a=Q(s*ew,eb),c=n===e,l=n===Q(-e,eb),h=n===Q(-e*ew,eb);return c&&(s=o),(l||h)&&(s=a),et(s,eb)&&(s=Q(-s,eb)),{isValid:c||l,value:s}}}),eP="base64url",eO="utf8",ex="utf8",eC="base58btc";function eA(e){return null!=globalThis.Buffer?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function eR(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?eA(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function eN(e,t){t||(t=e.reduce((e,t)=>e+t.length,0));let r=eR(t),i=0;for(let t of e)r.set(t,i),i+=t.length;return eA(r)}var eT=function(e,t){if(e.length>=255)throw TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var s=0;s<e.length;s++){var n=e.charAt(s),o=n.charCodeAt(0);if(255!==r[o])throw TypeError(n+" is ambiguous");r[o]=s}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),h=Math.log(256)/Math.log(a);function u(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[0]){for(var i=0,s=0;e[t]===c;)i++,t++;for(var n=(e.length-t)*l+1>>>0,o=new Uint8Array(n);e[t];){var h=r[e.charCodeAt(t)];if(255===h)return;for(var u=0,d=n-1;(0!==h||u<s)&&-1!==d;d--,u++)h+=a*o[d]>>>0,o[d]=h%256>>>0,h=h/256>>>0;if(0!==h)throw Error("Non-zero carry");s=u,t++}if(" "!==e[t]){for(var p=n-s;p!==n&&0===o[p];)p++;for(var f=new Uint8Array(i+(n-p)),g=i;p!==n;)f[g++]=o[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,i=0,s=0,n=t.length;s!==n&&0===t[s];)s++,r++;for(var o=(n-s)*h+1>>>0,l=new Uint8Array(o);s!==n;){for(var u=t[s],d=0,p=o-1;(0!==u||d<i)&&-1!==p;p--,d++)u+=256*l[p]>>>0,l[p]=u%a>>>0,u=u/a>>>0;if(0!==u)throw Error("Non-zero carry");i=d,s++}for(var f=o-i;f!==o&&0===l[f];)f++;for(var g=c.repeat(r);f<o;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:u,decode:function(e){var r=u(e);if(r)return r;throw Error(`Non-${t} character`)}}};let ej=e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error("Unknown type, must be binary type")},eL=e=>new TextEncoder().encode(e),ek=e=>new TextDecoder().decode(e);class eU{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class eB{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"==typeof e){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))}throw Error("Can only multibase decode strings")}or(e){return e$(this,e)}}class eq{constructor(e){this.decoders=e}or(e){return e$(this,e)}decode(e){let t=e[0],r=this.decoders[t];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`)}}let e$=(e,t)=>new eq({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class eM{constructor(e,t,r,i){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=i,this.encoder=new eU(e,t,r),this.decoder=new eB(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}let ez=({name:e,prefix:t,encode:r,decode:i})=>new eM(e,t,r,i),eF=({prefix:e,name:t,alphabet:r})=>{let{encode:i,decode:s}=eT(r,t);return ez({prefix:e,name:t,encode:i,decode:e=>ej(s(e))})},eH=(e,t,r,i)=>{let s={};for(let e=0;e<t.length;++e)s[t[e]]=e;let n=e.length;for(;"="===e[n-1];)--n;let o=new Uint8Array(n*r/8|0),a=0,c=0,l=0;for(let t=0;t<n;++t){let n=s[e[t]];if(void 0===n)throw SyntaxError(`Non-${i} character`);c=c<<r|n,(a+=r)>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw SyntaxError("Unexpected end of data");return o},eV=(e,t,r)=>{let i="="===t[t.length-1],s=(1<<r)-1,n="",o=0,a=0;for(let i=0;i<e.length;++i)for(a=a<<8|e[i],o+=8;o>r;)o-=r,n+=t[s&a>>o];if(o&&(n+=t[s&a<<r-o]),i)for(;n.length*r&7;)n+="=";return n},eK=({name:e,prefix:t,bitsPerChar:r,alphabet:i})=>ez({prefix:t,name:e,encode:e=>eV(e,i,r),decode:t=>eH(t,i,r,e)});var eW=Object.freeze({__proto__:null,identity:ez({prefix:"\0",name:"identity",encode:e=>ek(e),decode:e=>eL(e)})}),eJ=Object.freeze({__proto__:null,base2:eK({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})}),eG=Object.freeze({__proto__:null,base8:eK({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})}),eY=Object.freeze({__proto__:null,base10:eF({prefix:"9",name:"base10",alphabet:"0123456789"})}),eZ=Object.freeze({__proto__:null,base16:eK({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),base16upper:eK({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});let eQ=eK({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),eX=eK({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),e0=eK({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),e1=eK({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),e2=eK({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),e8=eK({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5});var e3=Object.freeze({__proto__:null,base32:eQ,base32upper:eX,base32pad:e0,base32padupper:e1,base32hex:e2,base32hexupper:e8,base32hexpad:eK({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),base32hexpadupper:eK({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),base32z:eK({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})}),e5=Object.freeze({__proto__:null,base36:eF({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),base36upper:eF({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})}),e4=Object.freeze({__proto__:null,base58btc:eF({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),base58flickr:eF({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});let e6=eK({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6});var e9=Object.freeze({__proto__:null,base64:e6,base64pad:eK({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),base64url:eK({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),base64urlpad:eK({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});let e7=Array.from("\uD83D\uDE80\uD83E\uDE90☄\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☀\uD83D\uDCBB\uD83D\uDDA5\uD83D\uDCBE\uD83D\uDCBF\uD83D\uDE02❤\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☺\uD83D\uDC4C\uD83E\uDD17\uD83D\uDC9C\uD83D\uDE14\uD83D\uDE0E\uD83D\uDE07\uD83C\uDF39\uD83E\uDD26\uD83C\uDF89\uD83D\uDC9E✌✨\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❣\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✋\uD83D\uDE1A\uD83D\uDE1D\uD83D\uDE34\uD83C\uDF1F\uD83D\uDE2C\uD83D\uDE43\uD83C\uDF40\uD83C\uDF37\uD83D\uDE3B\uD83D\uDE13⭐✅\uD83E\uDD7A\uD83C\uDF08\uD83D\uDE08\uD83E\uDD18\uD83D\uDCA6✔\uD83D\uDE23\uD83C\uDFC3\uD83D\uDC90☹\uD83C\uDF8A\uD83D\uDC98\uD83D\uDE20☝\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⚽\uD83E\uDD19☕\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⚡\uD83C\uDF1E\uD83C\uDF88❌✊\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✈\uD83C\uDF80\uD83C\uDF7A\uD83E\uDD13\uD83D\uDE19\uD83D\uDC9F\uD83C\uDF31\uD83D\uDE16\uD83D\uDC76\uD83E\uDD74▶➡❓\uD83D\uDC8E\uD83D\uDCB8⬇\uD83D\uDE28\uD83C\uDF1A\uD83E\uDD8B\uD83D\uDE37\uD83D\uDD7A⚠\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☎\uD83D\uDCA7\uD83D\uDE2F\uD83D\uDC86\uD83D\uDC46\uD83C\uDFA4\uD83D\uDE47\uD83C\uDF51❄\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"),te=e7.reduce((e,t,r)=>(e[r]=t,e),[]),tt=e7.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);var tr=Object.freeze({__proto__:null,base256emoji:ez({prefix:"\uD83D\uDE80",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>e+=te[t],"")},decode:function(e){let t=[];for(let r of e){let e=tt[r.codePointAt(0)];if(void 0===e)throw Error(`Non-base256emoji character: ${r}`);t.push(e)}return new Uint8Array(t)}})});function ti(e,t){var r,i=0,t=t||0,s=0,n=t,o=e.length;do{if(n>=o)throw ti.bytes=0,RangeError("Could not decode varint");r=e[n++],i+=s<28?(127&r)<<s:(127&r)*Math.pow(2,s),s+=7}while(r>=128);return ti.bytes=n-t,i}var ts=function e(t,r,i){r=r||[],i=i||0;for(var s=i;t>=2147483648;)r[i++]=255&t|128,t/=128;for(;-128&t;)r[i++]=255&t|128,t>>>=7;return r[i]=0|t,e.bytes=i-s+1,r};let tn=(e,t,r=0)=>(ts(e,t,r),t),to=e=>e<128?1:e<16384?2:e<2097152?3:e<268435456?4:e<34359738368?5:e<4398046511104?6:e<562949953421312?7:e<72057594037927940?8:e<0x7fffffffffffffff?9:10,ta=(e,t)=>{let r=t.byteLength,i=to(e),s=i+to(r),n=new Uint8Array(s+r);return tn(e,n,0),tn(r,n,i),n.set(t,s),new tc(e,r,t,n)};class tc{constructor(e,t,r,i){this.code=e,this.size=t,this.digest=r,this.bytes=i}}let tl=({name:e,code:t,encode:r})=>new th(e,t,r);class th{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?ta(this.code,t):t.then(e=>ta(this.code,e))}throw Error("Unknown type, must be binary type")}}let tu=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t));var td=Object.freeze({__proto__:null,sha256:tl({name:"sha2-256",code:18,encode:tu("SHA-256")}),sha512:tl({name:"sha2-512",code:19,encode:tu("SHA-512")})}),tp=Object.freeze({__proto__:null,identity:{code:0,name:"identity",encode:ej,digest:e=>ta(0,ej(e))}});new TextEncoder,new TextDecoder;let tf={...eW,...eJ,...eG,...eY,...eZ,...e3,...e5,...e4,...e9,...tr};function tg(e,t,r,i){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:i}}}({...td,...tp});let ty=tg("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),tm=tg("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{let t=eR((e=e.substring(1)).length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),tb={utf8:ty,"utf-8":ty,hex:tf.base16,latin1:tm,ascii:tm,binary:tm,...tf};function tw(e,t="utf8"){let r=tb[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function tv(e,t="utf8"){let r=tb[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?eA(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function tE(e){return(0,s.D)(tw(tv(e,eP),eO))}function tI(e){return tw(tv((0,s.u)(e),eO),eP)}function t_(e){return["did","key","z"+tw(eN([tv("K36",eC),e]),eC)].join(":")}function tD(e){let t=e.split("."),r=tE(t[0]);return{header:r,payload:tE(t[1]),signature:tv(t[2],eP),data:tv(t.slice(0,2).join("."),ex)}}function tS(e=u(32)){let t=eS.getPublicKey(e);return{secretKey:eN([e,t]),publicKey:t}}async function tP(e,t,r,s,n=(0,i.fromMiliseconds)(Date.now())){var o,a;let c={alg:"EdDSA",typ:"JWT"},l={iss:t_(s.publicKey),sub:e,aud:t,iat:n,exp:n+r},h=tv([tI((o={header:c,payload:l}).header),tI(o.payload)].join("."),ex);return[tI((a={header:c,payload:l,signature:eS.sign(h,s.secretKey.slice(0,32))}).header),tI(a.payload),tw(a.signature,eP)].join(".")}},90834:function(e,t,r){"use strict";r.d(t,{D:function(){return n},u:function(){return o}});let i=e=>JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString()+"n":t),s=e=>JSON.parse(e.replace(/([\[:])?(\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,'$1"$2n"$3'),(e,t)=>"string"==typeof t&&t.match(/^\d+n$/)?BigInt(t.substring(0,t.length-1)):t);function n(e){if("string"!=typeof e)throw Error(`Cannot safe json parse value of type ${typeof e}`);try{return s(e)}catch(t){return e}}function o(e){return"string"==typeof e?e:i(e)||""}},21458:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(28813);i.__exportStar(r(25526),t),i.__exportStar(r(48828),t)},25526:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ONE_THOUSAND=t.ONE_HUNDRED=void 0,t.ONE_HUNDRED=100,t.ONE_THOUSAND=1e3},48828:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ONE_YEAR=t.FOUR_WEEKS=t.THREE_WEEKS=t.TWO_WEEKS=t.ONE_WEEK=t.THIRTY_DAYS=t.SEVEN_DAYS=t.FIVE_DAYS=t.THREE_DAYS=t.ONE_DAY=t.TWENTY_FOUR_HOURS=t.TWELVE_HOURS=t.SIX_HOURS=t.THREE_HOURS=t.ONE_HOUR=t.SIXTY_MINUTES=t.THIRTY_MINUTES=t.TEN_MINUTES=t.FIVE_MINUTES=t.ONE_MINUTE=t.SIXTY_SECONDS=t.THIRTY_SECONDS=t.TEN_SECONDS=t.FIVE_SECONDS=t.ONE_SECOND=void 0,t.ONE_SECOND=1,t.FIVE_SECONDS=5,t.TEN_SECONDS=10,t.THIRTY_SECONDS=30,t.SIXTY_SECONDS=60,t.ONE_MINUTE=t.SIXTY_SECONDS,t.FIVE_MINUTES=5*t.ONE_MINUTE,t.TEN_MINUTES=10*t.ONE_MINUTE,t.THIRTY_MINUTES=30*t.ONE_MINUTE,t.SIXTY_MINUTES=60*t.ONE_MINUTE,t.ONE_HOUR=t.SIXTY_MINUTES,t.THREE_HOURS=3*t.ONE_HOUR,t.SIX_HOURS=6*t.ONE_HOUR,t.TWELVE_HOURS=12*t.ONE_HOUR,t.TWENTY_FOUR_HOURS=24*t.ONE_HOUR,t.ONE_DAY=t.TWENTY_FOUR_HOURS,t.THREE_DAYS=3*t.ONE_DAY,t.FIVE_DAYS=5*t.ONE_DAY,t.SEVEN_DAYS=7*t.ONE_DAY,t.THIRTY_DAYS=30*t.ONE_DAY,t.ONE_WEEK=t.SEVEN_DAYS,t.TWO_WEEKS=2*t.ONE_WEEK,t.THREE_WEEKS=3*t.ONE_WEEK,t.FOUR_WEEKS=4*t.ONE_WEEK,t.ONE_YEAR=365*t.ONE_DAY},2697:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(28813);i.__exportStar(r(11984),t),i.__exportStar(r(17444),t),i.__exportStar(r(23268),t),i.__exportStar(r(21458),t)},23268:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(28813).__exportStar(r(39361),t)},39361:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IWatch=void 0;class r{}t.IWatch=r},2657:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fromMiliseconds=t.toMiliseconds=void 0;let i=r(21458);t.toMiliseconds=function(e){return e*i.ONE_THOUSAND},t.fromMiliseconds=function(e){return Math.floor(e/i.ONE_THOUSAND)}},2091:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.delay=void 0,t.delay=function(e){return new Promise(t=>{setTimeout(()=>{t(!0)},e)})}},11984:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(28813);i.__exportStar(r(2091),t),i.__exportStar(r(2657),t)},17444:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Watch=void 0;class r{constructor(){this.timestamps=new Map}start(e){if(this.timestamps.has(e))throw Error(`Watch already started for label: ${e}`);this.timestamps.set(e,{started:Date.now()})}stop(e){let t=this.get(e);if(void 0!==t.elapsed)throw Error(`Watch already stopped for label: ${e}`);let r=Date.now()-t.started;this.timestamps.set(e,{started:t.started,elapsed:r})}get(e){let t=this.timestamps.get(e);if(void 0===t)throw Error(`No timestamp found for label: ${e}`);return t}elapsed(e){let t=this.get(e);return t.elapsed||Date.now()-t.started}}t.Watch=r,t.default=r},48381:function(e,t){"use strict";function r(e){let t;return"undefined"!=typeof window&&void 0!==window[e]&&(t=window[e]),t}function i(e){let t=r(e);if(!t)throw Error(`${e} is not defined in Window`);return t}Object.defineProperty(t,"__esModule",{value:!0}),t.getLocalStorage=t.getLocalStorageOrThrow=t.getCrypto=t.getCryptoOrThrow=t.getLocation=t.getLocationOrThrow=t.getNavigator=t.getNavigatorOrThrow=t.getDocument=t.getDocumentOrThrow=t.getFromWindowOrThrow=t.getFromWindow=void 0,t.getFromWindow=r,t.getFromWindowOrThrow=i,t.getDocumentOrThrow=function(){return i("document")},t.getDocument=function(){return r("document")},t.getNavigatorOrThrow=function(){return i("navigator")},t.getNavigator=function(){return r("navigator")},t.getLocationOrThrow=function(){return i("location")},t.getLocation=function(){return r("location")},t.getCryptoOrThrow=function(){return i("crypto")},t.getCrypto=function(){return r("crypto")},t.getLocalStorageOrThrow=function(){return i("localStorage")},t.getLocalStorage=function(){return r("localStorage")}},25063:function(e,t,r){"use strict";t.D=void 0;let i=r(48381);t.D=function(){let e,t,r;try{e=i.getDocumentOrThrow(),t=i.getLocationOrThrow()}catch(e){return null}function s(...t){let r=e.getElementsByTagName("meta");for(let e=0;e<r.length;e++){let i=r[e],s=["itemprop","property","name"].map(e=>i.getAttribute(e)).filter(e=>!!e&&t.includes(e));if(s.length&&s){let e=i.getAttribute("content");if(e)return e}}return""}let n=((r=s("name","og:site_name","og:title","twitter:title"))||(r=e.title),r),o=s("description","og:description","twitter:description","keywords");return{description:o,url:t.origin,icons:function(){let r=e.getElementsByTagName("link"),i=[];for(let e=0;e<r.length;e++){let s=r[e],n=s.getAttribute("rel");if(n&&n.toLowerCase().indexOf("icon")>-1){let e=s.getAttribute("href");if(e){if(-1===e.toLowerCase().indexOf("https:")&&-1===e.toLowerCase().indexOf("http:")&&0!==e.indexOf("//")){let r=t.protocol+"//"+t.host;if(0===e.indexOf("/"))r+=e;else{let i=t.pathname.split("/");i.pop(),r+=i.join("/")+"/"+e}i.push(r)}else if(0===e.indexOf("//")){let r=t.protocol+e;i.push(r)}else i.push(e)}}}return i}(),name:n}}},97448:function(e,t){var r="undefined"!=typeof self?self:this,i=function(){function e(){this.fetch=!1,this.DOMException=r.DOMException}return e.prototype=r,new e}();(function(e){var t={searchParams:"URLSearchParams"in i,iterable:"Symbol"in i&&"iterator"in Symbol,blob:"FileReader"in i&&"Blob"in i&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in i,arrayBuffer:"ArrayBuffer"in i};if(t.arrayBuffer)var r=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],s=ArrayBuffer.isView||function(e){return e&&r.indexOf(Object.prototype.toString.call(e))>-1};function n(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw TypeError("Invalid character in header field name");return e.toLowerCase()}function o(e){return"string"!=typeof e&&(e=String(e)),e}function a(e){var r={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return t.iterable&&(r[Symbol.iterator]=function(){return r}),r}function c(e){this.map={},e instanceof c?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function l(e){if(e.bodyUsed)return Promise.reject(TypeError("Already read"));e.bodyUsed=!0}function h(e){return new Promise(function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}})}function u(e){var t=new FileReader,r=h(t);return t.readAsArrayBuffer(e),r}function d(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function p(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e,e){if("string"==typeof e)this._bodyText=e;else if(t.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(t.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else{var r;t.arrayBuffer&&t.blob&&(r=e)&&DataView.prototype.isPrototypeOf(r)?(this._bodyArrayBuffer=d(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):t.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||s(e))?this._bodyArrayBuffer=d(e):this._bodyText=e=Object.prototype.toString.call(e)}}else this._bodyText="";!this.headers.get("content-type")&&("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},t.blob&&(this.blob=function(){var e=l(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(!this._bodyFormData)return Promise.resolve(new Blob([this._bodyText]));throw Error("could not read FormData body as blob")},this.arrayBuffer=function(){return this._bodyArrayBuffer?l(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(u)}),this.text=function(){var e,t,r,i=l(this);if(i)return i;if(this._bodyBlob)return e=this._bodyBlob,r=h(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=Array(t.length),i=0;i<t.length;i++)r[i]=String.fromCharCode(t[i]);return r.join("")}(this._bodyArrayBuffer));if(!this._bodyFormData)return Promise.resolve(this._bodyText);throw Error("could not read FormData body as text")},t.formData&&(this.formData=function(){return this.text().then(y)}),this.json=function(){return this.text().then(JSON.parse)},this}c.prototype.append=function(e,t){e=n(e),t=o(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},c.prototype.delete=function(e){delete this.map[n(e)]},c.prototype.get=function(e){return e=n(e),this.has(e)?this.map[e]:null},c.prototype.has=function(e){return this.map.hasOwnProperty(n(e))},c.prototype.set=function(e,t){this.map[n(e)]=o(t)},c.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},c.prototype.keys=function(){var e=[];return this.forEach(function(t,r){e.push(r)}),a(e)},c.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),a(e)},c.prototype.entries=function(){var e=[];return this.forEach(function(t,r){e.push([r,t])}),a(e)},t.iterable&&(c.prototype[Symbol.iterator]=c.prototype.entries);var f=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function g(e,t){var r,i,s=(t=t||{}).body;if(e instanceof g){if(e.bodyUsed)throw TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new c(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,s||null==e._bodyInit||(s=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",(t.headers||!this.headers)&&(this.headers=new c(t.headers)),this.method=(i=(r=t.method||this.method||"GET").toUpperCase(),f.indexOf(i)>-1?i:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&s)throw TypeError("Body not allowed for GET or HEAD requests");this._initBody(s)}function y(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var r=e.split("="),i=r.shift().replace(/\+/g," "),s=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(i),decodeURIComponent(s))}}),t}function m(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new c(t.headers),this.url=t.url||"",this._initBody(e)}g.prototype.clone=function(){return new g(this,{body:this._bodyInit})},p.call(g.prototype),p.call(m.prototype),m.prototype.clone=function(){return new m(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new c(this.headers),url:this.url})},m.error=function(){var e=new m(null,{status:0,statusText:""});return e.type="error",e};var b=[301,302,303,307,308];m.redirect=function(e,t){if(-1===b.indexOf(t))throw RangeError("Invalid status code");return new m(null,{status:t,headers:{location:e}})},e.DOMException=i.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function w(r,i){return new Promise(function(s,n){var o=new g(r,i);if(o.signal&&o.signal.aborted)return n(new e.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function l(){a.abort()}a.onload=function(){var e,t,r={status:a.status,statusText:a.statusText,headers:(e=a.getAllResponseHeaders()||"",t=new c,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(e){var r=e.split(":"),i=r.shift().trim();if(i){var s=r.join(":").trim();t.append(i,s)}}),t)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL"),s(new m("response"in a?a.response:a.responseText,r))},a.onerror=function(){n(TypeError("Network request failed"))},a.ontimeout=function(){n(TypeError("Network request failed"))},a.onabort=function(){n(new e.DOMException("Aborted","AbortError"))},a.open(o.method,o.url,!0),"include"===o.credentials?a.withCredentials=!0:"omit"===o.credentials&&(a.withCredentials=!1),"responseType"in a&&t.blob&&(a.responseType="blob"),o.headers.forEach(function(e,t){a.setRequestHeader(t,e)}),o.signal&&(o.signal.addEventListener("abort",l),a.onreadystatechange=function(){4===a.readyState&&o.signal.removeEventListener("abort",l)}),a.send(void 0===o._bodyInit?null:o._bodyInit)})}w.polyfill=!0,i.fetch||(i.fetch=w,i.Headers=c,i.Request=g,i.Response=m),e.Headers=c,e.Request=g,e.Response=m,e.fetch=w,Object.defineProperty(e,"__esModule",{value:!0})})({}),i.fetch.ponyfill=!0,delete i.fetch.polyfill,(t=i.fetch).default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t},43989:function(e,t,r){"use strict";r.d(t,{qY:function(){return p}});var i=r(32608),s=function(e,t,r){if(r||2==arguments.length)for(var i,s=0,n=t.length;s<n;s++)!i&&s in t||(i||(i=Array.prototype.slice.call(t,0,s)),i[s]=t[s]);return e.concat(i||Array.prototype.slice.call(t))},n=function(e,t,r){this.name=e,this.version=t,this.os=r,this.type="browser"},o=function(e){this.version=e,this.type="node",this.name="node",this.os=i.platform},a=function(e,t,r,i){this.name=e,this.version=t,this.os=r,this.bot=i,this.type="bot-device"},c=function(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null},l=function(){this.type="react-native",this.name="react-native",this.version=null,this.os=null},h=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,u=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/]],d=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function p(e){return e?f(e):"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product?new l:"undefined"!=typeof navigator?f(navigator.userAgent):void 0!==i&&i.version?new o(i.version.slice(1)):null}function f(e){var t=""!==e&&u.reduce(function(t,r){var i=r[0],s=r[1];if(t)return t;var n=s.exec(e);return!!n&&[i,n]},!1);if(!t)return null;var r=t[0],i=t[1];if("searchbot"===r)return new c;var o=i[1]&&i[1].split(".").join("_").split("_").slice(0,3);o?o.length<3&&(o=s(s([],o,!0),function(e){for(var t=[],r=0;r<e;r++)t.push("0");return t}(3-o.length),!0)):o=[];var l=o.join("."),p=function(e){for(var t=0,r=d.length;t<r;t++){var i=d[t],s=i[0];if(i[1].exec(e))return s}return null}(e),f=h.exec(e);return f&&f[1]?new a(r,l,p,f[1]):new n(r,l,p)}},52484:function(e){"use strict";var t,r="object"==typeof Reflect?Reflect:null,i=r&&"function"==typeof r.apply?r.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};t=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function n(){n.init.call(this)}e.exports=n,e.exports.once=function(e,t){return new Promise(function(r,i){var s;function n(r){e.removeListener(t,o),i(r)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",n),r([].slice.call(arguments))}g(e,t,o,{once:!0}),"error"!==t&&(s={once:!0},"function"==typeof e.on&&g(e,"error",n,s))})},n.EventEmitter=n,n.prototype._events=void 0,n.prototype._eventsCount=0,n.prototype._maxListeners=void 0;var o=10;function a(e){if("function"!=typeof e)throw TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?n.defaultMaxListeners:e._maxListeners}function l(e,t,r,i){if(a(r),void 0===(n=e._events)?(n=e._events=Object.create(null),e._eventsCount=0):(void 0!==n.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),n=e._events),o=n[t]),void 0===o)o=n[t]=r,++e._eventsCount;else if("function"==typeof o?o=n[t]=i?[r,o]:[o,r]:i?o.unshift(r):o.push(r),(s=c(e))>0&&o.length>s&&!o.warned){o.warned=!0;var s,n,o,l=Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=o.length,console&&console.warn&&console.warn(l)}return e}function h(){if(!this.fired)return(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0==arguments.length)?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function u(e,t,r){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},s=h.bind(i);return s.listener=r,i.wrapFn=s,s}function d(e,t,r){var i=e._events;if(void 0===i)return[];var s=i[t];return void 0===s?[]:"function"==typeof s?r?[s.listener||s]:[s]:r?function(e){for(var t=Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(s):f(s,s.length)}function p(e){var t=this._events;if(void 0!==t){var r=t[e];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function f(e,t){for(var r=Array(t),i=0;i<t;++i)r[i]=e[i];return r}function g(e,t,r,i){if("function"==typeof e.on)i.once?e.once(t,r):e.on(t,r);else if("function"==typeof e.addEventListener)e.addEventListener(t,function s(n){i.once&&e.removeEventListener(t,s),r(n)});else throw TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}Object.defineProperty(n,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(e){if("number"!=typeof e||e<0||s(e))throw RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");o=e}}),n.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},n.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||s(e))throw RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},n.prototype.getMaxListeners=function(){return c(this)},n.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var s="error"===e,n=this._events;if(void 0!==n)s=s&&void 0===n.error;else if(!s)return!1;if(s){if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var o,a=Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=n[e];if(void 0===c)return!1;if("function"==typeof c)i(c,this,t);else for(var l=c.length,h=f(c,l),r=0;r<l;++r)i(h[r],this,t);return!0},n.prototype.addListener=function(e,t){return l(this,e,t,!1)},n.prototype.on=n.prototype.addListener,n.prototype.prependListener=function(e,t){return l(this,e,t,!0)},n.prototype.once=function(e,t){return a(t),this.on(e,u(this,e,t)),this},n.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,u(this,e,t)),this},n.prototype.removeListener=function(e,t){var r,i,s,n,o;if(a(t),void 0===(i=this._events)||void 0===(r=i[e]))return this;if(r===t||r.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(s=-1,n=r.length-1;n>=0;n--)if(r[n]===t||r[n].listener===t){o=r[n].listener,s=n;break}if(s<0)return this;0===s?r.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(r,s),1===r.length&&(i[e]=r[0]),void 0!==i.removeListener&&this.emit("removeListener",e,o||t)}return this},n.prototype.off=n.prototype.removeListener,n.prototype.removeAllListeners=function(e){var t,r,i;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0==arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[e]),this;if(0==arguments.length){var s,n=Object.keys(r);for(i=0;i<n.length;++i)"removeListener"!==(s=n[i])&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(void 0!==t)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},n.prototype.listeners=function(e){return d(this,e,!0)},n.prototype.rawListeners=function(e){return d(this,e,!1)},n.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},n.prototype.listenerCount=p,n.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},68664:function(e){"use strict";function t(e){try{return JSON.stringify(e)}catch(e){return'"[Circular]"'}}e.exports=function(e,r,i){var s=i&&i.stringify||t;if("object"==typeof e&&null!==e){var n=r.length+1;if(1===n)return e;var o=Array(n);o[0]=s(e);for(var a=1;a<n;a++)o[a]=s(r[a]);return o.join(" ")}if("string"!=typeof e)return e;var c=r.length;if(0===c)return e;for(var l="",h=0,u=-1,d=e&&e.length||0,p=0;p<d;){if(37===e.charCodeAt(p)&&p+1<d){switch(u=u>-1?u:0,e.charCodeAt(p+1)){case 100:case 102:if(h>=c||null==r[h])break;u<p&&(l+=e.slice(u,p)),l+=Number(r[h]),u=p+2,p++;break;case 105:if(h>=c||null==r[h])break;u<p&&(l+=e.slice(u,p)),l+=Math.floor(Number(r[h])),u=p+2,p++;break;case 79:case 111:case 106:if(h>=c||void 0===r[h])break;u<p&&(l+=e.slice(u,p));var f=typeof r[h];if("string"===f){l+="'"+r[h]+"'",u=p+2,p++;break}if("function"===f){l+=r[h].name||"<anonymous>",u=p+2,p++;break}l+=s(r[h]),u=p+2,p++;break;case 115:if(h>=c)break;u<p&&(l+=e.slice(u,p)),l+=String(r[h]),u=p+2,p++;break;case 37:u<p&&(l+=e.slice(u,p)),l+="%",u=p+2,p++,h--}++h}++p}return -1===u?e:(u<d&&(l+=e.slice(u)),l)}},28813:function(e,t,r){"use strict";r.r(t),r.d(t,{__assign:function(){return n},__asyncDelegator:function(){return v},__asyncGenerator:function(){return w},__asyncValues:function(){return E},__await:function(){return b},__awaiter:function(){return h},__classPrivateFieldGet:function(){return S},__classPrivateFieldSet:function(){return P},__createBinding:function(){return d},__decorate:function(){return a},__exportStar:function(){return p},__extends:function(){return s},__generator:function(){return u},__importDefault:function(){return D},__importStar:function(){return _},__makeTemplateObject:function(){return I},__metadata:function(){return l},__param:function(){return c},__read:function(){return g},__rest:function(){return o},__spread:function(){return y},__spreadArrays:function(){return m},__values:function(){return f}});/*! *****************************************************************************
11
11
  Copyright (c) Microsoft Corporation.
12
12
 
13
13
  Permission to use, copy, modify, and/or distribute this software for any