@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
- exports.id=3010,exports.ids=[3010],exports.modules={28271:(e,t)=>{"use strict";function i(){return(null==global?void 0:global.crypto)||(null==global?void 0:global.msCrypto)||{}}function a(){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=a,t.isBrowserCryptoAvailable=function(){return!!i()&&!!a()}},53369:(e,t)=>{"use strict";function i(){return"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product}function a(){return"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node}Object.defineProperty(t,"__esModule",{value:!0}),t.isBrowser=t.isNode=t.isReactNative=void 0,t.isReactNative=i,t.isNode=a,t.isBrowser=function(){return!i()&&!a()}},77231:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});let a=i(9839);a.__exportStar(i(28271),t),a.__exportStar(i(53369),t)},93010:(e,t,i)=>{"use strict";i.d(t,{EthereumProvider:()=>dO});var a=i(82361),r=i.n(a),s=i(274),p=i(39064),o=i(74892),d=i(65731),l=i(68779),c=i(48787),h=i(97952),u=i(34345),m=i(23577);function f(e){let[t,i]=e.split(":");return{namespace:t,reference:i}}function g(e,t=[]){let i=[];return Object.keys(e).forEach(a=>{if(t.length&&!t.includes(a))return;let r=e[a];i.push(...r.accounts)}),i}function v(e,t){return e.includes(":")?[e]:t.chains||[]}var y=Object.defineProperty,w=Object.defineProperties,b=Object.getOwnPropertyDescriptors,_=Object.getOwnPropertySymbols,E=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable,D=(e,t,i)=>t in e?y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,N=(e,t)=>{for(var i in t||(t={}))E.call(t,i)&&D(e,i,t[i]);if(_)for(var i of _(t))S.call(t,i)&&D(e,i,t[i]);return e},I=(e,t)=>w(e,b(t));let O={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"};function x(){return"u">typeof process&&"u">typeof process.versions&&"u">typeof process.versions.node}function P(){return!(0,o.getDocument)()&&!!(0,o.getNavigator)()&&"ReactNative"===navigator.product}function T(){return!x()&&!!(0,o.getNavigator)()&&!!(0,o.getDocument)()}function A(){return P()?O.reactNative:x()?O.node:T()?O.browser:O.unknown}function C(){var e;try{return P()&&"u">typeof global&&"u">typeof(null==global?void 0:global.Application)?null==(e=global.Application)?void 0:e.applicationId:void 0}catch{return}}function R(){return(0,d.D)()||{name:"",description:"",url:"",icons:[""]}}function k(e,t,i){let a=function(){if(A()===O.reactNative&&"u">typeof global&&"u">typeof(null==global?void 0:global.Platform)){let{OS:e,Version:t}=global.Platform;return[e,t].join("-")}let e=(0,s.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("-")}(),r=function(){var e;let t=A();return t===O.browser?[t,(null==(e=(0,o.getLocation)())?void 0:e.host)||"unknown"].join(":"):t}();return[[e,t].join("-"),["js",i].join("-"),a,r].join("/")}function V(e,t){return e.filter(e=>t.includes(e)).length===e.length}function L(e){return Object.fromEntries(e.entries())}function B(e){return new Map(Object.entries(e))}function j(e=p.FIVE_MINUTES,t){let i,a,r,s;let o=(0,p.toMiliseconds)(e||p.FIVE_MINUTES);return{resolve:e=>{r&&i&&(clearTimeout(r),i(e),s=Promise.resolve(e))},reject:e=>{r&&a&&(clearTimeout(r),a(e))},done:()=>new Promise((e,p)=>{if(s)return e(s);r=setTimeout(()=>{let e=Error(t);s=Promise.reject(e),p(e)},o),i=e,a=p})}}function U(e,t,i){return new Promise(async(a,r)=>{let s=setTimeout(()=>r(Error(i)),t);try{let t=await e;a(t)}catch(e){r(e)}clearTimeout(s)})}function $(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 q(e){let[t,i]=e.split(":"),a={id:void 0,topic:void 0};if("topic"===t&&"string"==typeof i)a.topic=i;else if("id"===t&&Number.isInteger(Number(i)))a.id=Number(i);else throw Error(`Invalid target, expected id:number or topic:string, got ${t}:${i}`);return a}function M(e,t){return(0,p.fromMiliseconds)((t||Date.now())+(0,p.toMiliseconds)(e))}function F(e){return Date.now()>=(0,p.toMiliseconds)(e)}function z(e,t){return`${e}${t?`:${t}`:""}`}function H(e=[],t=[]){return[...new Set([...e,...t])]}async function K({id:e,topic:t,wcDeepLink:i}){var a;try{if(!i)return;let r="string"==typeof i?JSON.parse(i):i,s=r?.href;if("string"!=typeof s)return;let p=function(e,t,i){let a=`requestId=${t}&sessionTopic=${i}`;e.endsWith("/")&&(e=e.slice(0,-1));let r=`${e}`;if(e.startsWith("https://t.me")){let t=e.includes("?")?"&startapp=":"?startapp=";r=`${r}${t}${function(e,t=!1){let i=Buffer.from(e).toString("base64");return t?i.replace(/[=]/g,""):i}(a,!0)}`}else r=`${r}/wc?${a}`;return r}(s,e,t),d=A();if(d===O.browser){let e;if(!(null!=(a=(0,o.getDocument)())&&a.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)||p.startsWith("https://")||p.startsWith("http://"))&&(e="_blank"),window.open(p,e,"noreferrer noopener")}else d===O.reactNative&&"u">typeof(null==global?void 0:global.Linking)&&await global.Linking.openURL(p)}catch(e){console.error(e)}}async function W(e,t){let i="";try{if(T()&&(i=localStorage.getItem(t)))return i;i=await e.getItem(t)}catch(e){console.error(e)}return i}function J(e,t){if(!e.includes(t))return null;let i=e.split(/([&,?,=])/),a=i.indexOf(t);return i[a+2]}function G(){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 Y(){return"u">typeof process&&"true"===process.env.IS_VITEST}function Z(e){return Buffer.from(e,"base64").toString("utf-8")}function Q(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function X(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 ee(e){if("function"!=typeof e||"function"!=typeof e.create)throw Error("Hash should be wrapped by utils.wrapConstructor");Q(e.outputLen),Q(e.blockLen)}function et(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){X(e);let i=t.outputLen;if(e.length<i)throw Error("digestInto() expects output buffer of length at least "+i)}let ea=BigInt(4294967296-1),er=BigInt(32),es=(e,t,i)=>e<<i|t>>>32-i,en=(e,t,i)=>t<<i|e>>>32-i,ep=(e,t,i)=>t<<i-32|e>>>64-i,eo=(e,t,i)=>e<<i-32|t>>>64-i,ed="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;function el(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ec(e,t){return e<<32-t|e>>>t}let eh=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];function eu(e){for(let i=0;i<e.length;i++){var t;e[i]=(t=e[i])<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}}function em(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)),X(e),e}class ef{clone(){return this._cloneInto()}}function eg(e){let t=t=>e().update(em(t)).digest(),i=e();return t.outputLen=i.outputLen,t.blockLen=i.blockLen,t.create=()=>e(),t}function ev(e=32){if(ed&&"function"==typeof ed.getRandomValues)return ed.getRandomValues(new Uint8Array(e));if(ed&&"function"==typeof ed.randomBytes)return ed.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}let ey=[],ew=[],eb=[],e_=BigInt(0),eE=BigInt(1),eS=BigInt(2),eD=BigInt(7),eN=BigInt(256),eI=BigInt(113);for(let e=0,t=eE,i=1,a=0;e<24;e++){[i,a]=[a,(2*i+3*a)%5],ey.push(2*(5*a+i)),ew.push((e+1)*(e+2)/2%64);let r=e_;for(let e=0;e<7;e++)(t=(t<<eE^(t>>eD)*eI)%eN)&eS&&(r^=eE<<(eE<<BigInt(e))-eE);eb.push(r)}let[eO,ex]=function(e,t=!1){let i=new Uint32Array(e.length),a=new Uint32Array(e.length);for(let r=0;r<e.length;r++){let{h:s,l:p}=function(e,t=!1){return t?{h:Number(e&ea),l:Number(e>>er&ea)}:{h:0|Number(e>>er&ea),l:0|Number(e&ea)}}(e[r],t);[i[r],a[r]]=[s,p]}return[i,a]}(eb,!0),eP=(e,t,i)=>i>32?ep(e,t,i):es(e,t,i),eT=(e,t,i)=>i>32?eo(e,t,i):en(e,t,i);class eA extends ef{constructor(e,t,i,a=!1,r=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=i,this.enableXOF=a,this.rounds=r,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Q(i),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=function(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}(this.state)}keccak(){eh||eu(this.state32),function(e,t=24){let i=new Uint32Array(10);for(let a=24-t;a<24;a++){for(let t=0;t<10;t++)i[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let a=(t+8)%10,r=(t+2)%10,s=i[r],p=i[r+1],o=eP(s,p,1)^i[a],d=eT(s,p,1)^i[a+1];for(let i=0;i<50;i+=10)e[t+i]^=o,e[t+i+1]^=d}let t=e[2],r=e[3];for(let i=0;i<24;i++){let a=ew[i],s=eP(t,r,a),p=eT(t,r,a),o=ey[i];t=e[o],r=e[o+1],e[o]=s,e[o+1]=p}for(let t=0;t<50;t+=10){for(let a=0;a<10;a++)i[a]=e[t+a];for(let a=0;a<10;a++)e[t+a]^=~i[(a+2)%10]&i[(a+4)%10]}e[0]^=eO[a],e[1]^=ex[a]}i.fill(0)}(this.state32,this.rounds),eh||eu(this.state32),this.posOut=0,this.pos=0}update(e){et(this);let{blockLen:t,state:i}=this,a=(e=em(e)).length;for(let r=0;r<a;){let s=Math.min(t-this.pos,a-r);for(let t=0;t<s;t++)i[this.pos++]^=e[r++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:i,blockLen:a}=this;e[i]^=t,(128&t)!=0&&i===a-1&&this.keccak(),e[a-1]^=128,this.keccak()}writeInto(e){et(this,!1),X(e),this.finish();let t=this.state,{blockLen:i}=this;for(let a=0,r=e.length;a<r;){this.posOut>=i&&this.keccak();let s=Math.min(i-this.posOut,r-a);e.set(t.subarray(this.posOut,this.posOut+s),a),this.posOut+=s,a+=s}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Q(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:i,outputLen:a,rounds:r,enableXOF:s}=this;return e||(e=new eA(t,i,a,s,r)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=r,e.suffix=i,e.outputLen=a,e.enableXOF=s,e.destroyed=this.destroyed,e}}let eC=eg(()=>new eA(136,1,32));function eR(e){let t=`Ethereum Signed Message:
1
+ exports.id=4131,exports.ids=[4131],exports.modules={28271:(e,t)=>{"use strict";function i(){return(null==global?void 0:global.crypto)||(null==global?void 0:global.msCrypto)||{}}function a(){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=a,t.isBrowserCryptoAvailable=function(){return!!i()&&!!a()}},53369:(e,t)=>{"use strict";function i(){return"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product}function a(){return"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node}Object.defineProperty(t,"__esModule",{value:!0}),t.isBrowser=t.isNode=t.isReactNative=void 0,t.isReactNative=i,t.isNode=a,t.isBrowser=function(){return!i()&&!a()}},77231:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});let a=i(9839);a.__exportStar(i(28271),t),a.__exportStar(i(53369),t)},94131:(e,t,i)=>{"use strict";i.d(t,{EthereumProvider:()=>dO});var a=i(82361),r=i.n(a),s=i(274),p=i(39064),o=i(74892),d=i(65731),l=i(68779),c=i(48787),h=i(97952),u=i(34345),m=i(23577);function f(e){let[t,i]=e.split(":");return{namespace:t,reference:i}}function g(e,t=[]){let i=[];return Object.keys(e).forEach(a=>{if(t.length&&!t.includes(a))return;let r=e[a];i.push(...r.accounts)}),i}function v(e,t){return e.includes(":")?[e]:t.chains||[]}var y=Object.defineProperty,w=Object.defineProperties,b=Object.getOwnPropertyDescriptors,_=Object.getOwnPropertySymbols,E=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable,D=(e,t,i)=>t in e?y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,N=(e,t)=>{for(var i in t||(t={}))E.call(t,i)&&D(e,i,t[i]);if(_)for(var i of _(t))S.call(t,i)&&D(e,i,t[i]);return e},I=(e,t)=>w(e,b(t));let O={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"};function x(){return"u">typeof process&&"u">typeof process.versions&&"u">typeof process.versions.node}function P(){return!(0,o.getDocument)()&&!!(0,o.getNavigator)()&&"ReactNative"===navigator.product}function T(){return!x()&&!!(0,o.getNavigator)()&&!!(0,o.getDocument)()}function A(){return P()?O.reactNative:x()?O.node:T()?O.browser:O.unknown}function C(){var e;try{return P()&&"u">typeof global&&"u">typeof(null==global?void 0:global.Application)?null==(e=global.Application)?void 0:e.applicationId:void 0}catch{return}}function R(){return(0,d.D)()||{name:"",description:"",url:"",icons:[""]}}function k(e,t,i){let a=function(){if(A()===O.reactNative&&"u">typeof global&&"u">typeof(null==global?void 0:global.Platform)){let{OS:e,Version:t}=global.Platform;return[e,t].join("-")}let e=(0,s.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("-")}(),r=function(){var e;let t=A();return t===O.browser?[t,(null==(e=(0,o.getLocation)())?void 0:e.host)||"unknown"].join(":"):t}();return[[e,t].join("-"),["js",i].join("-"),a,r].join("/")}function V(e,t){return e.filter(e=>t.includes(e)).length===e.length}function L(e){return Object.fromEntries(e.entries())}function B(e){return new Map(Object.entries(e))}function j(e=p.FIVE_MINUTES,t){let i,a,r,s;let o=(0,p.toMiliseconds)(e||p.FIVE_MINUTES);return{resolve:e=>{r&&i&&(clearTimeout(r),i(e),s=Promise.resolve(e))},reject:e=>{r&&a&&(clearTimeout(r),a(e))},done:()=>new Promise((e,p)=>{if(s)return e(s);r=setTimeout(()=>{let e=Error(t);s=Promise.reject(e),p(e)},o),i=e,a=p})}}function U(e,t,i){return new Promise(async(a,r)=>{let s=setTimeout(()=>r(Error(i)),t);try{let t=await e;a(t)}catch(e){r(e)}clearTimeout(s)})}function $(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 q(e){let[t,i]=e.split(":"),a={id:void 0,topic:void 0};if("topic"===t&&"string"==typeof i)a.topic=i;else if("id"===t&&Number.isInteger(Number(i)))a.id=Number(i);else throw Error(`Invalid target, expected id:number or topic:string, got ${t}:${i}`);return a}function M(e,t){return(0,p.fromMiliseconds)((t||Date.now())+(0,p.toMiliseconds)(e))}function F(e){return Date.now()>=(0,p.toMiliseconds)(e)}function z(e,t){return`${e}${t?`:${t}`:""}`}function H(e=[],t=[]){return[...new Set([...e,...t])]}async function K({id:e,topic:t,wcDeepLink:i}){var a;try{if(!i)return;let r="string"==typeof i?JSON.parse(i):i,s=r?.href;if("string"!=typeof s)return;let p=function(e,t,i){let a=`requestId=${t}&sessionTopic=${i}`;e.endsWith("/")&&(e=e.slice(0,-1));let r=`${e}`;if(e.startsWith("https://t.me")){let t=e.includes("?")?"&startapp=":"?startapp=";r=`${r}${t}${function(e,t=!1){let i=Buffer.from(e).toString("base64");return t?i.replace(/[=]/g,""):i}(a,!0)}`}else r=`${r}/wc?${a}`;return r}(s,e,t),d=A();if(d===O.browser){let e;if(!(null!=(a=(0,o.getDocument)())&&a.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)||p.startsWith("https://")||p.startsWith("http://"))&&(e="_blank"),window.open(p,e,"noreferrer noopener")}else d===O.reactNative&&"u">typeof(null==global?void 0:global.Linking)&&await global.Linking.openURL(p)}catch(e){console.error(e)}}async function W(e,t){let i="";try{if(T()&&(i=localStorage.getItem(t)))return i;i=await e.getItem(t)}catch(e){console.error(e)}return i}function J(e,t){if(!e.includes(t))return null;let i=e.split(/([&,?,=])/),a=i.indexOf(t);return i[a+2]}function G(){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 Y(){return"u">typeof process&&"true"===process.env.IS_VITEST}function Z(e){return Buffer.from(e,"base64").toString("utf-8")}function Q(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function X(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 ee(e){if("function"!=typeof e||"function"!=typeof e.create)throw Error("Hash should be wrapped by utils.wrapConstructor");Q(e.outputLen),Q(e.blockLen)}function et(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){X(e);let i=t.outputLen;if(e.length<i)throw Error("digestInto() expects output buffer of length at least "+i)}let ea=BigInt(4294967296-1),er=BigInt(32),es=(e,t,i)=>e<<i|t>>>32-i,en=(e,t,i)=>t<<i|e>>>32-i,ep=(e,t,i)=>t<<i-32|e>>>64-i,eo=(e,t,i)=>e<<i-32|t>>>64-i,ed="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;function el(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ec(e,t){return e<<32-t|e>>>t}let eh=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];function eu(e){for(let i=0;i<e.length;i++){var t;e[i]=(t=e[i])<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}}function em(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)),X(e),e}class ef{clone(){return this._cloneInto()}}function eg(e){let t=t=>e().update(em(t)).digest(),i=e();return t.outputLen=i.outputLen,t.blockLen=i.blockLen,t.create=()=>e(),t}function ev(e=32){if(ed&&"function"==typeof ed.getRandomValues)return ed.getRandomValues(new Uint8Array(e));if(ed&&"function"==typeof ed.randomBytes)return ed.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}let ey=[],ew=[],eb=[],e_=BigInt(0),eE=BigInt(1),eS=BigInt(2),eD=BigInt(7),eN=BigInt(256),eI=BigInt(113);for(let e=0,t=eE,i=1,a=0;e<24;e++){[i,a]=[a,(2*i+3*a)%5],ey.push(2*(5*a+i)),ew.push((e+1)*(e+2)/2%64);let r=e_;for(let e=0;e<7;e++)(t=(t<<eE^(t>>eD)*eI)%eN)&eS&&(r^=eE<<(eE<<BigInt(e))-eE);eb.push(r)}let[eO,ex]=function(e,t=!1){let i=new Uint32Array(e.length),a=new Uint32Array(e.length);for(let r=0;r<e.length;r++){let{h:s,l:p}=function(e,t=!1){return t?{h:Number(e&ea),l:Number(e>>er&ea)}:{h:0|Number(e>>er&ea),l:0|Number(e&ea)}}(e[r],t);[i[r],a[r]]=[s,p]}return[i,a]}(eb,!0),eP=(e,t,i)=>i>32?ep(e,t,i):es(e,t,i),eT=(e,t,i)=>i>32?eo(e,t,i):en(e,t,i);class eA extends ef{constructor(e,t,i,a=!1,r=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=i,this.enableXOF=a,this.rounds=r,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Q(i),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=function(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}(this.state)}keccak(){eh||eu(this.state32),function(e,t=24){let i=new Uint32Array(10);for(let a=24-t;a<24;a++){for(let t=0;t<10;t++)i[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let a=(t+8)%10,r=(t+2)%10,s=i[r],p=i[r+1],o=eP(s,p,1)^i[a],d=eT(s,p,1)^i[a+1];for(let i=0;i<50;i+=10)e[t+i]^=o,e[t+i+1]^=d}let t=e[2],r=e[3];for(let i=0;i<24;i++){let a=ew[i],s=eP(t,r,a),p=eT(t,r,a),o=ey[i];t=e[o],r=e[o+1],e[o]=s,e[o+1]=p}for(let t=0;t<50;t+=10){for(let a=0;a<10;a++)i[a]=e[t+a];for(let a=0;a<10;a++)e[t+a]^=~i[(a+2)%10]&i[(a+4)%10]}e[0]^=eO[a],e[1]^=ex[a]}i.fill(0)}(this.state32,this.rounds),eh||eu(this.state32),this.posOut=0,this.pos=0}update(e){et(this);let{blockLen:t,state:i}=this,a=(e=em(e)).length;for(let r=0;r<a;){let s=Math.min(t-this.pos,a-r);for(let t=0;t<s;t++)i[this.pos++]^=e[r++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:i,blockLen:a}=this;e[i]^=t,(128&t)!=0&&i===a-1&&this.keccak(),e[a-1]^=128,this.keccak()}writeInto(e){et(this,!1),X(e),this.finish();let t=this.state,{blockLen:i}=this;for(let a=0,r=e.length;a<r;){this.posOut>=i&&this.keccak();let s=Math.min(i-this.posOut,r-a);e.set(t.subarray(this.posOut,this.posOut+s),a),this.posOut+=s,a+=s}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Q(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:i,outputLen:a,rounds:r,enableXOF:s}=this;return e||(e=new eA(t,i,a,s,r)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=r,e.suffix=i,e.outputLen=a,e.enableXOF=s,e.destroyed=this.destroyed,e}}let eC=eg(()=>new eA(136,1,32));function eR(e){let t=`Ethereum Signed Message:
2
2
  ${e.length}`,i=new TextEncoder().encode(t+e);return"0x"+Buffer.from(eC(i)).toString("hex")}async function ek(e,t,i,a,r,s){switch(i.t){case"eip191":return await eV(e,t,i.s);case"eip1271":return await eL(e,t,i.s,a,r,s);default:throw Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${i.t}`)}}async function eV(e,t,i){return(await (0,l.R)({hash:eR(t),signature:i})).toLowerCase()===e.toLowerCase()}async function eL(e,t,i,a,r,s){let p=f(a);if(!p.namespace||!p.reference)throw Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${a}`);try{let p="0x1626ba7e",o=i.substring(2),d=eR(t).substring(2),l=await fetch(`${s||"https://rpc.walletconnect.org/v1"}/?chainId=${a}&projectId=${r}`,{method:"POST",body:JSON.stringify({id:Date.now()+Math.floor(1e3*Math.random()),jsonrpc:"2.0",method:"eth_call",params:[{to:e,data:p+d+"00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000041"+o},"latest"]})}),{result:c}=await l.json();return!!c&&c.slice(0,p.length).toLowerCase()===p.toLowerCase()}catch(e){return console.error("isValidEip1271Signature: ",e),!1}}var eB=Object.defineProperty,ej=Object.defineProperties,eU=Object.getOwnPropertyDescriptors,e$=Object.getOwnPropertySymbols,eq=Object.prototype.hasOwnProperty,eM=Object.prototype.propertyIsEnumerable,eF=(e,t,i)=>t in e?eB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,ez=(e,t)=>{for(var i in t||(t={}))eq.call(t,i)&&eF(e,i,t[i]);if(e$)for(var i of e$(t))eM.call(t,i)&&eF(e,i,t[i]);return e},eH=(e,t)=>ej(e,eU(t));let eK=e=>e?.split(":"),eW=e=>{let t=e&&eK(e);if(t)return e.includes("did:pkh:")?t[3]:t[1]},eJ=e=>{let t=e&&eK(e);if(t)return t[2]+":"+t[3]},eG=e=>{let t=e&&eK(e);if(t)return t.pop()};async function eY(e){let{cacao:t,projectId:i}=e,{s:a,p:r}=t,s=eZ(r,r.iss),p=eG(r.iss);return await ek(p,s,a,eJ(r.iss),i)}let eZ=(e,t)=>{let i=`${e.domain} wants you to sign in with your Ethereum account:`,a=eG(t);if(!e.aud&&!e.uri)throw Error("Either `aud` or `uri` is required to construct the message");let r=e.statement||void 0,s=`URI: ${e.aud||e.uri}`,p=`Version: ${e.version}`,o=`Chain ID: ${eW(t)}`,d=`Nonce: ${e.nonce}`,l=`Issued At: ${e.iat}`,c=e.exp?`Expiration Time: ${e.exp}`:void 0,h=e.nbf?`Not Before: ${e.nbf}`:void 0,u=e.requestId?`Request ID: ${e.requestId}`:void 0,m=e.resources?`Resources:${e.resources.map(e=>`
3
3
  - ${e}`).join("")}`:void 0,f=e6(e.resources);return f&&(r=function(e="",t){eQ(t);let i="I further authorize the stated URI to perform the following actions on my behalf: ";if(e.includes(i))return e;let a=[],r=0;Object.keys(t.att).forEach(e=>{let i=Object.keys(t.att[e]).map(e=>({ability:e.split("/")[0],action:e.split("/")[1]}));i.sort((e,t)=>e.action.localeCompare(t.action));let s={};i.forEach(e=>{s[e.ability]||(s[e.ability]=[]),s[e.ability].push(e.action)});let p=Object.keys(s).map(t=>(r++,`(${r}) '${t}': '${s[t].join("', '")}' for '${e}'.`));a.push(p.join(", ").replace(".,","."))});let s=a.join(" "),p=`${i}${s}`;return`${e?e+" ":""}${p}`}(r,e1(f))),[i,a,"",r,"",s,p,o,d,l,c,h,u,m].filter(e=>null!=e).join(`
4
4
  `)};function eQ(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 i=e.att[t];if(Array.isArray(i)||"object"!=typeof i)throw Error(`Resource must be an object: ${t}`);if(!Object.keys(i).length)throw Error(`Resource object is empty: ${t}`);Object.keys(i).forEach(e=>{let t=i[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 eX(e){return eQ(e),`urn:recap:${Buffer.from(JSON.stringify(e)).toString("base64").replace(/=/g,"")}`}function e1(e){var t;let i=(t=e.replace("urn:recap:",""),JSON.parse(Buffer.from(t,"base64").toString("utf-8")));return eQ(i),i}function e0(e){var t;let i=e1(e);eQ(i);let a=null==(t=i.att)?void 0:t.eip155;return a?Object.keys(a).map(e=>e.split("/")[1]):[]}function e2(e){let t=e1(e);eQ(t);let i=[];return Object.values(t.att).forEach(e=>{Object.values(e).forEach(e=>{var t;null!=(t=e?.[0])&&t.chains&&i.push(e[0].chains)})}),[...new Set(i.flat())]}function e6(e){if(!e)return;let t=e?.[e.length-1];return t&&t.includes("urn:recap:")?t:void 0}function e4(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function e3(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function e8(e,...t){if(!e3(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 e5(e){if("boolean"!=typeof e)throw Error(`boolean expected, not ${e}`)}let e7=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),te=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 tt(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(e3(e))e=tr(e);else throw Error("Uint8Array expected, got "+typeof e);return e}function ti(e,t,i=!0){if(void 0===t)return new Uint8Array(e);if(t.length!==e)throw Error("invalid output length, expected "+e+", got: "+t.length);if(i&&t.byteOffset%4!=0)throw Error("invalid output, must be aligned");return t}function ta(e,t,i,a){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,i,a);let r=BigInt(32),s=BigInt(4294967295),p=Number(i>>r&s),o=Number(i&s),d=a?4:0,l=a?0:4;e.setUint32(t+d,p,a),e.setUint32(t+l,o,a)}function tr(e){return Uint8Array.from(e)}function ts(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}let tn=e=>Uint8Array.from(e.split("").map(e=>e.charCodeAt(0))),tp=tn("expand 16-byte k"),to=tn("expand 32-byte k"),td=e7(tp),tl=e7(to);function tc(e,t){return e<<t|e>>>32-t}function th(e){return e.byteOffset%4==0}let tu=4294967296-1,tm=new Uint32Array,tf=(e,t)=>255&e[t++]|(255&e[t++])<<8;class tg{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,e8(e=tt(e),32);let t=tf(e,0),i=tf(e,2),a=tf(e,4),r=tf(e,6),s=tf(e,8),p=tf(e,10),o=tf(e,12),d=tf(e,14);this.r[0]=8191&t,this.r[1]=(t>>>13|i<<3)&8191,this.r[2]=(i>>>10|a<<6)&7939,this.r[3]=(a>>>7|r<<9)&8191,this.r[4]=(r>>>4|s<<12)&255,this.r[5]=s>>>1&8190,this.r[6]=(s>>>14|p<<2)&8191,this.r[7]=(p>>>11|o<<5)&8065,this.r[8]=(o>>>8|d<<8)&8191,this.r[9]=d>>>5&127;for(let t=0;t<8;t++)this.pad[t]=tf(e,16+2*t)}process(e,t,i=!1){let{h:a,r:r}=this,s=r[0],p=r[1],o=r[2],d=r[3],l=r[4],c=r[5],h=r[6],u=r[7],m=r[8],f=r[9],g=tf(e,t+0),v=tf(e,t+2),y=tf(e,t+4),w=tf(e,t+6),b=tf(e,t+8),_=tf(e,t+10),E=tf(e,t+12),S=tf(e,t+14),D=a[0]+(8191&g),N=a[1]+((g>>>13|v<<3)&8191),I=a[2]+((v>>>10|y<<6)&8191),O=a[3]+((y>>>7|w<<9)&8191),x=a[4]+((w>>>4|b<<12)&8191),P=a[5]+(b>>>1&8191),T=a[6]+((b>>>14|_<<2)&8191),A=a[7]+((_>>>11|E<<5)&8191),C=a[8]+((E>>>8|S<<8)&8191),R=a[9]+(S>>>5|(i?0:2048)),k=0,V=0+D*s+5*f*N+5*m*I+5*u*O+5*h*x;k=V>>>13,V&=8191,V+=5*c*P+5*l*T+5*d*A+5*o*C+5*p*R,k+=V>>>13,V&=8191;let L=k+D*p+N*s+5*f*I+5*m*O+5*u*x;k=L>>>13,L&=8191,L+=5*h*P+5*c*T+5*l*A+5*d*C+5*o*R,k+=L>>>13,L&=8191;let B=k+D*o+N*p+I*s+5*f*O+5*m*x;k=B>>>13,B&=8191,B+=5*u*P+5*h*T+5*c*A+5*l*C+5*d*R,k+=B>>>13,B&=8191;let j=k+D*d+N*o+I*p+O*s+5*f*x;k=j>>>13,j&=8191,j+=5*m*P+5*u*T+5*h*A+5*c*C+5*l*R,k+=j>>>13,j&=8191;let U=k+D*l+N*d+I*o+O*p+x*s;k=U>>>13,U&=8191,U+=5*f*P+5*m*T+5*u*A+5*h*C+5*c*R,k+=U>>>13,U&=8191;let $=k+D*c+N*l+I*d+O*o+x*p;k=$>>>13,$&=8191,$+=P*s+5*f*T+5*m*A+5*u*C+5*h*R,k+=$>>>13,$&=8191;let q=k+D*h+N*c+I*l+O*d+x*o;k=q>>>13,q&=8191,q+=P*p+T*s+5*f*A+5*m*C+5*u*R,k+=q>>>13,q&=8191;let M=k+D*u+N*h+I*c+O*l+x*d;k=M>>>13,M&=8191,M+=P*o+T*p+A*s+5*f*C+5*m*R,k+=M>>>13,M&=8191;let F=k+D*m+N*u+I*h+O*c+x*l;k=F>>>13,F&=8191,F+=P*d+T*o+A*p+C*s+5*f*R,k+=F>>>13,F&=8191;let z=k+D*f+N*m+I*u+O*h+x*c;k=z>>>13,z&=8191,z+=P*l+T*d+A*o+C*p+R*s,k+=z>>>13,z&=8191,V=8191&(k=(k=(k<<2)+k|0)+V|0),k>>>=13,L+=k,a[0]=V,a[1]=L,a[2]=B,a[3]=j,a[4]=U,a[5]=$,a[6]=q,a[7]=M,a[8]=F,a[9]=z}finalize(){let{h:e,pad:t}=this,i=new Uint16Array(10),a=e[1]>>>13;e[1]&=8191;for(let t=2;t<10;t++)e[t]+=a,a=e[t]>>>13,e[t]&=8191;e[0]+=5*a,a=e[0]>>>13,e[0]&=8191,e[1]+=a,a=e[1]>>>13,e[1]&=8191,e[2]+=a,i[0]=e[0]+5,a=i[0]>>>13,i[0]&=8191;for(let t=1;t<10;t++)i[t]=e[t]+a,a=i[t]>>>13,i[t]&=8191;i[9]-=8192;let r=(1^a)-1;for(let e=0;e<10;e++)i[e]&=r;r=~r;for(let t=0;t<10;t++)e[t]=e[t]&r|i[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 s=e[0]+t[0];e[0]=65535&s;for(let i=1;i<8;i++)s=(e[i]+t[i]|0)+(s>>>16)|0,e[i]=65535&s;ts(i)}update(e){e9(this);let{buffer:t,blockLen:i}=this,a=(e=tt(e)).length;for(let r=0;r<a;){let s=Math.min(i-this.pos,a-r);if(s===i){for(;i<=a-r;r+=i)this.process(e,r);continue}t.set(e.subarray(r,r+s),this.pos),this.pos+=s,r+=s,this.pos===i&&(this.process(t,0,!1),this.pos=0)}return this}destroy(){ts(this.h,this.r,this.buffer,this.pad)}digestInto(e){e9(this),function(e,t){e8(e);let i=t.outputLen;if(e.length<i)throw Error("digestInto() expects output buffer of length at least "+i)}(e,this),this.finished=!0;let{buffer:t,h:i}=this,{pos:a}=this;if(a){for(t[a++]=1;a<16;a++)t[a]=0;this.process(t,0,!0)}this.finalize();let r=0;for(let t=0;t<8;t++)e[r++]=i[t]>>>0,e[r++]=i[t]>>>8;return e}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let i=e.slice(0,t);return this.destroy(),i}}let tv=function(e){let t=(t,i)=>e(i).update(tt(t)).digest(),i=e(new Uint8Array(32));return t.outputLen=i.outputLen,t.blockLen=i.blockLen,t.create=t=>e(t),t}(e=>new tg(e)),ty=function(e,t){let{allowShortKeys:i,extendNonceFn:a,counterLength:r,counterRight:s,rounds:p}=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 e4(r),e4(p),e5(s),e5(i),(t,o,d,l,c=0)=>{e8(t),e8(o),e8(d);let h=d.length;if(void 0===l&&(l=new Uint8Array(h)),e8(l),e4(c),c<0||c>=tu)throw Error("arx: counter overflow");if(l.length<h)throw Error(`arx: output (${l.length}) is shorter than data (${h})`);let u=[],m=t.length,f,g;if(32===m)u.push(f=tr(t)),g=tl;else if(16===m&&i)(f=new Uint8Array(32)).set(t),f.set(t,16),g=td,u.push(f);else throw Error(`arx: invalid 32-byte key, got length=${m}`);th(o)||u.push(o=tr(o));let v=e7(f);if(a){if(24!==o.length)throw Error("arx: extended nonce must be 24 bytes");a(g,v,e7(o.subarray(0,16)),v),o=o.subarray(16)}let y=16-r;if(y!==o.length)throw Error(`arx: nonce must be ${y} or 16 bytes`);if(12!==y){let e=new Uint8Array(12);e.set(o,s?0:12-o.length),o=e,u.push(o)}return function(e,t,i,a,r,s,p,o){let d=r.length,l=new Uint8Array(64),c=e7(l),h=th(r)&&th(s),u=h?e7(r):tm,m=h?e7(s):tm;for(let f=0;f<d;p++){if(e(t,i,a,c,p,o),p>=tu)throw Error("arx: counter overflow");let g=Math.min(64,d-f);if(h&&64===g){let e=f/4;if(f%4!=0)throw Error("arx: invalid block position");for(let t=0,i;t<16;t++)m[i=e+t]=u[i]^c[t];f+=64;continue}for(let e=0,t;e<g;e++)s[t=f+e]=r[t]^l[e];f+=g}}(e,g,v,e7(o),d,l,c,p),ts(...u),l}}(function(e,t,i,a,r,s=20){let p=e[0],o=e[1],d=e[2],l=e[3],c=t[0],h=t[1],u=t[2],m=t[3],f=t[4],g=t[5],v=t[6],y=t[7],w=i[0],b=i[1],_=i[2],E=p,S=o,D=d,N=l,I=c,O=h,x=u,P=m,T=f,A=g,C=v,R=y,k=r,V=w,L=b,B=_;for(let e=0;e<s;e+=2)T=T+(k=tc(k^(E=E+I|0),16))|0,E=E+(I=tc(I^T,12))|0,T=T+(k=tc(k^E,8))|0,I=tc(I^T,7),A=A+(V=tc(V^(S=S+O|0),16))|0,S=S+(O=tc(O^A,12))|0,A=A+(V=tc(V^S,8))|0,O=tc(O^A,7),C=C+(L=tc(L^(D=D+x|0),16))|0,D=D+(x=tc(x^C,12))|0,C=C+(L=tc(L^D,8))|0,x=tc(x^C,7),R=R+(B=tc(B^(N=N+P|0),16))|0,N=N+(P=tc(P^R,12))|0,R=R+(B=tc(B^N,8))|0,P=tc(P^R,7),C=C+(B=tc(B^(E=E+O|0),16))|0,E=E+(O=tc(O^C,12))|0,C=C+(B=tc(B^E,8))|0,O=tc(O^C,7),R=R+(k=tc(k^(S=S+x|0),16))|0,S=S+(x=tc(x^R,12))|0,R=R+(k=tc(k^S,8))|0,x=tc(x^R,7),T=T+(V=tc(V^(D=D+P|0),16))|0,D=D+(P=tc(P^T,12))|0,T=T+(V=tc(V^D,8))|0,P=tc(P^T,7),A=A+(L=tc(L^(N=N+I|0),16))|0,N=N+(I=tc(I^A,12))|0,A=A+(L=tc(L^N,8))|0,I=tc(I^A,7);let j=0;a[j++]=p+E|0,a[j++]=o+S|0,a[j++]=d+D|0,a[j++]=l+N|0,a[j++]=c+I|0,a[j++]=h+O|0,a[j++]=u+x|0,a[j++]=m+P|0,a[j++]=f+T|0,a[j++]=g+A|0,a[j++]=v+C|0,a[j++]=y+R|0,a[j++]=r+k|0,a[j++]=w+V|0,a[j++]=b+L|0,a[j++]=_+B|0},{counterRight:!1,counterLength:4,allowShortKeys:!1}),tw=new Uint8Array(16),tb=(e,t)=>{e.update(t);let i=t.length%16;i&&e.update(tw.subarray(i))},t_=new Uint8Array(32);function tE(e,t,i,a,r){let s=e(t,i,t_),p=tv.create(s);r&&tb(p,r),tb(p,a);let o=new Uint8Array(16),d=te(o);ta(d,0,BigInt(r?r.length:0),!0),ta(d,8,BigInt(a.length),!0),p.update(o);let l=p.digest();return ts(s,o),l}let tS=((e,t)=>{function i(a,...r){if(e8(a),void 0!==e.nonceLength){let t=r[0];if(!t)throw Error("nonce / iv required");e.varSizeNonce?e8(t):e8(t,e.nonceLength)}let s=e.tagLength;s&&void 0!==r[1]&&e8(r[1]);let p=t(a,...r),o=(e,t)=>{if(void 0!==t){if(2!==e)throw Error("cipher output not supported");e8(t)}},d=!1;return{encrypt(e,t){if(d)throw Error("cannot encrypt() twice with same key + nonce");return d=!0,e8(e),o(p.encrypt.length,t),p.encrypt(e,t)},decrypt(e,t){if(e8(e),s&&e.length<s)throw Error("invalid ciphertext length: smaller than tagLength="+s);return o(p.decrypt.length,t),p.decrypt(e,t)}}}return Object.assign(i,e),i})({blockSize:64,nonceLength:12,tagLength:16},(e,t,i)=>({encrypt(a,r){let s=a.length;(r=ti(s+16,r,!1)).set(a);let p=r.subarray(0,-16);ty(e,t,p,p,1);let o=tE(ty,e,t,p,i);return r.set(o,s),ts(o),r},decrypt(a,r){r=ti(a.length-16,r,!1);let s=a.subarray(0,-16),p=a.subarray(-16),o=tE(ty,e,t,s,i);if(!function(e,t){if(e.length!==t.length)return!1;let i=0;for(let a=0;a<e.length;a++)i|=e[a]^t[a];return 0===i}(p,o))throw Error("invalid tag");return r.set(a.subarray(0,-16)),ty(e,t,r,r,1),ts(o),r}}));class tD extends ef{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,ee(e);let i=em(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 a=this.blockLen,r=new Uint8Array(a);r.set(i.length>a?e.create().update(i).digest():i);for(let e=0;e<r.length;e++)r[e]^=54;this.iHash.update(r),this.oHash=e.create();for(let e=0;e<r.length;e++)r[e]^=106;this.oHash.update(r),r.fill(0)}update(e){return et(this),this.iHash.update(e),this}digestInto(e){et(this),X(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:i,finished:a,destroyed:r,blockLen:s,outputLen:p}=this;return e.finished=a,e.destroyed=r,e.blockLen=s,e.outputLen=p,e.oHash=t._cloneInto(e.oHash),e.iHash=i._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}let tN=(e,t,i)=>new tD(e,t).update(i).digest();tN.create=(e,t)=>new tD(e,t);let tI=new Uint8Array([0]),tO=new Uint8Array,tx=(e,t,i,a,r)=>(function(e,t,i,a=32){if(ee(e),Q(a),a>255*e.outputLen)throw Error("Length should be <= 255*HashLen");let r=Math.ceil(a/e.outputLen);void 0===i&&(i=tO);let s=new Uint8Array(r*e.outputLen),p=tN.create(e,t),o=p._cloneInto(),d=new Uint8Array(p.outputLen);for(let t=0;t<r;t++)tI[0]=t+1,o.update(0===t?tO:d).update(i).update(tI).digestInto(d),s.set(d,e.outputLen*t),p._cloneInto(o);return p.destroy(),o.destroy(),d.fill(0),tI.fill(0),s.slice(0,a)})(e,function(e,t,i){return ee(e),void 0===i&&(i=new Uint8Array(e.outputLen)),tN(e,em(i),em(t))}(e,t,i),a,r);class tP extends ef{constructor(e,t,i,a){super(),this.blockLen=e,this.outputLen=t,this.padOffset=i,this.isLE=a,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=el(this.buffer)}update(e){et(this);let{view:t,buffer:i,blockLen:a}=this,r=(e=em(e)).length;for(let s=0;s<r;){let p=Math.min(a-this.pos,r-s);if(p===a){let t=el(e);for(;a<=r-s;s+=a)this.process(t,s);continue}i.set(e.subarray(s,s+p),this.pos),this.pos+=p,s+=p,this.pos===a&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){et(this),ei(e,this),this.finished=!0;let{buffer:t,view:i,blockLen:a,isLE:r}=this,{pos:s}=this;t[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>a-s&&(this.process(i,0),s=0);for(let e=s;e<a;e++)t[e]=0;(function(e,t,i,a){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,i,a);let r=BigInt(32),s=BigInt(4294967295),p=Number(i>>r&s),o=Number(i&s),d=a?4:0,l=a?0:4;e.setUint32(t+d,p,a),e.setUint32(t+l,o,a)})(i,a-8,BigInt(8*this.length),r),this.process(i,0);let p=el(e),o=this.outputLen;if(o%4)throw Error("_sha2: outputLen should be aligned to 32bit");let d=o/4,l=this.get();if(d>l.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<d;e++)p.setUint32(4*e,l[e],r)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let i=e.slice(0,t);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:i,length:a,finished:r,destroyed:s,pos:p}=this;return e.length=a,e.pos=p,e.finished=r,e.destroyed=s,a%t&&e.buffer.set(i),e}}let tT=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]),tA=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),tC=new Uint32Array(64);class tR extends tP{constructor(){super(64,32,8,!1),this.A=0|tA[0],this.B=0|tA[1],this.C=0|tA[2],this.D=0|tA[3],this.E=0|tA[4],this.F=0|tA[5],this.G=0|tA[6],this.H=0|tA[7]}get(){let{A:e,B:t,C:i,D:a,E:r,F:s,G:p,H:o}=this;return[e,t,i,a,r,s,p,o]}set(e,t,i,a,r,s,p,o){this.A=0|e,this.B=0|t,this.C=0|i,this.D=0|a,this.E=0|r,this.F=0|s,this.G=0|p,this.H=0|o}process(e,t){for(let i=0;i<16;i++,t+=4)tC[i]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=tC[e-15],i=tC[e-2],a=ec(t,7)^ec(t,18)^t>>>3,r=ec(i,17)^ec(i,19)^i>>>10;tC[e]=r+tC[e-7]+a+tC[e-16]|0}let{A:i,B:a,C:r,D:s,E:p,F:o,G:d,H:l}=this;for(let e=0;e<64;e++){var c,h,u,m;let t=l+(ec(p,6)^ec(p,11)^ec(p,25))+((c=p)&o^~c&d)+tT[e]+tC[e]|0,f=(ec(i,2)^ec(i,13)^ec(i,22))+((h=i)&(u=a)^h&(m=r)^u&m)|0;l=d,d=o,o=p,p=s+t|0,s=r,r=a,a=i,i=t+f|0}i=i+this.A|0,a=a+this.B|0,r=r+this.C|0,s=s+this.D|0,p=p+this.E|0,o=o+this.F|0,d=d+this.G|0,l=l+this.H|0,this.set(i,a,r,s,p,o,d,l)}roundClean(){tC.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}let tk=eg(()=>new tR),tV=BigInt(0),tL=BigInt(1),tB=BigInt(2);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function tj(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function tU(e){if(!tj(e))throw Error("Uint8Array expected")}function t$(e,t){if("boolean"!=typeof t)throw Error(e+" boolean expected, got "+t)}let tq=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function tM(e){tU(e);let t="";for(let i=0;i<e.length;i++)t+=tq[e[i]];return t}function tF(e){let t=e.toString(16);return 1&t.length?"0"+t:t}function tz(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return""===e?tV:BigInt("0x"+e)}let tH={_0:48,_9:57,A:65,F:70,a:97,f:102};function tK(e){return e>=tH._0&&e<=tH._9?e-tH._0:e>=tH.A&&e<=tH.F?e-(tH.A-10):e>=tH.a&&e<=tH.f?e-(tH.a-10):void 0}function tW(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);let t=e.length,i=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let a=new Uint8Array(i);for(let t=0,r=0;t<i;t++,r+=2){let i=tK(e.charCodeAt(r)),s=tK(e.charCodeAt(r+1));if(void 0===i||void 0===s)throw Error('hex string expected, got non-hex character "'+(e[r]+e[r+1])+'" at index '+r);a[t]=16*i+s}return a}function tJ(e){return tz(tM(e))}function tG(e){return tU(e),tz(tM(Uint8Array.from(e).reverse()))}function tY(e,t){return tW(e.toString(16).padStart(2*t,"0"))}function tZ(e,t){return tY(e,t).reverse()}function tQ(e,t,i){let a;if("string"==typeof t)try{a=tW(t)}catch(t){throw Error(e+" must be hex string or Uint8Array, cause: "+t)}else if(tj(t))a=Uint8Array.from(t);else throw Error(e+" must be hex string or Uint8Array");let r=a.length;if("number"==typeof i&&r!==i)throw Error(e+" of length "+i+" expected, got "+r);return a}function tX(...e){let t=0;for(let i=0;i<e.length;i++){let a=e[i];tU(a),t+=a.length}let i=new Uint8Array(t);for(let t=0,a=0;t<e.length;t++){let r=e[t];i.set(r,a),a+=r.length}return i}let t1=e=>"bigint"==typeof e&&tV<=e;function t0(e,t,i){return t1(e)&&t1(t)&&t1(i)&&t<=e&&e<i}function t2(e,t,i,a){if(!t0(t,i,a))throw Error("expected valid "+e+": "+i+" <= n < "+a+", got "+t)}function t6(e){let t;for(t=0;e>tV;e>>=tL,t+=1);return t}let t4=e=>(tB<<BigInt(e-1))-tL,t3=e=>new Uint8Array(e),t8=e=>Uint8Array.from(e);function t9(e,t,i){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 i)throw Error("hmacFn must be a function");let a=t3(e),r=t3(e),s=0,p=()=>{a.fill(1),r.fill(0),s=0},o=(...e)=>i(r,a,...e),d=(e=t3())=>{r=o(t8([0]),e),a=o(),0!==e.length&&(r=o(t8([1]),e),a=o())},l=()=>{if(s++>=1e3)throw Error("drbg: tried 1000 values");let e=0,i=[];for(;e<t;){let t=(a=o()).slice();i.push(t),e+=a.length}return tX(...i)};return(e,t)=>{let i;for(p(),d(e);!(i=t(l()));)d();return p(),i}}let t5={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||tj(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 t7(e,t,i={}){let a=(t,i,a)=>{let r=t5[i];if("function"!=typeof r)throw Error("invalid validator function");let s=e[t];if(!(a&&void 0===s)&&!r(s,e))throw Error("param "+String(t)+" is invalid. Expected "+i+", got "+s)};for(let[e,i]of Object.entries(t))a(e,i,!1);for(let[e,t]of Object.entries(i))a(e,t,!0);return e}function ie(e){let t=new WeakMap;return(i,...a)=>{let r=t.get(i);if(void 0!==r)return r;let s=e(i,...a);return t.set(i,s),s}}var it=Object.freeze({__proto__:null,isBytes:tj,abytes:tU,abool:t$,bytesToHex:tM,numberToHexUnpadded:tF,hexToNumber:tz,hexToBytes:tW,bytesToNumberBE:tJ,bytesToNumberLE:tG,numberToBytesBE:tY,numberToBytesLE:tZ,numberToVarBytesBE:function(e){return tW(tF(e))},ensureBytes:tQ,concatBytes:tX,equalBytes:function(e,t){if(e.length!==t.length)return!1;let i=0;for(let a=0;a<e.length;a++)i|=e[a]^t[a];return 0===i},utf8ToBytes:function(e){if("string"!=typeof e)throw Error("string expected");return new Uint8Array(new TextEncoder().encode(e))},inRange:t0,aInRange:t2,bitLen:t6,bitGet:function(e,t){return e>>BigInt(t)&tL},bitSet:function(e,t,i){return e|(i?tL:tV)<<BigInt(t)},bitMask:t4,createHmacDrbg:t9,validateObject:t7,notImplemented:()=>{throw Error("not implemented")},memoized:ie});let ii=BigInt(0),ia=BigInt(1),ir=BigInt(2),is=BigInt(3),ip=BigInt(4),io=BigInt(5),id=BigInt(8);function il(e,t){let i=e%t;return i>=ii?i:t+i}function ic(e,t,i){if(t<ii)throw Error("invalid exponent, negatives unsupported");if(i<=ii)throw Error("invalid modulus");if(i===ia)return ii;let a=ia;for(;t>ii;)t&ia&&(a=a*e%i),e=e*e%i,t>>=ia;return a}function ih(e,t,i){let a=e;for(;t-- >ii;)a*=a,a%=i;return a}function iu(e,t){if(e===ii)throw Error("invert: expected non-zero number");if(t<=ii)throw Error("invert: expected positive modulus, got "+t);let i=il(e,t),a=t,r=ii,s=ia;for(;i!==ii;){let e=a/i,t=a%i,p=r-s*e;a=i,i=t,r=s,s=p}if(a!==ia)throw Error("invert: does not exist");return il(r,t)}let im=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ig(e,t){let i=void 0!==t?t:e.toString(2).length;return{nBitLength:i,nByteLength:Math.ceil(i/8)}}function iv(e,t,i=!1,a={}){let r;if(e<=ii)throw Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:s,nByteLength:p}=ig(e,t);if(p>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let o=Object.freeze({ORDER:e,isLE:i,BITS:s,BYTES:p,MASK:t4(s),ZERO:ii,ONE:ia,create:t=>il(t,e),isValid:t=>{if("bigint"!=typeof t)throw Error("invalid field element: expected bigint, got "+typeof t);return ii<=t&&t<e},is0:e=>e===ii,isOdd:e=>(e&ia)===ia,neg:t=>il(-t,e),eql:(e,t)=>e===t,sqr:t=>il(t*t,e),add:(t,i)=>il(t+i,e),sub:(t,i)=>il(t-i,e),mul:(t,i)=>il(t*i,e),pow:(e,t)=>(function(e,t,i){if(i<ii)throw Error("invalid exponent, negatives unsupported");if(i===ii)return e.ONE;if(i===ia)return t;let a=e.ONE,r=t;for(;i>ii;)i&ia&&(a=e.mul(a,r)),r=e.sqr(r),i>>=ia;return a})(o,e,t),div:(t,i)=>il(t*iu(i,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>iu(t,e),sqrt:a.sqrt||(t=>(r||(r=function(e){if(e%ip===is){let t=(e+ia)/ip;return function(e,i){let a=e.pow(i,t);if(!e.eql(e.sqr(a),i))throw Error("Cannot find square root");return a}}if(e%id===io){let t=(e-io)/id;return function(e,i){let a=e.mul(i,ir),r=e.pow(a,t),s=e.mul(i,r),p=e.mul(e.mul(s,ir),r),o=e.mul(s,e.sub(p,e.ONE));if(!e.eql(e.sqr(o),i))throw Error("Cannot find square root");return o}}return function(e){let t,i,a;let r=(e-ia)/ir;for(t=e-ia,i=0;t%ir===ii;t/=ir,i++);for(a=ir;a<e&&ic(a,r,e)!==e-ia;a++)if(a>1e3)throw Error("Cannot find square root: likely non-prime P");if(1===i){let t=(e+ia)/ip;return function(e,i){let a=e.pow(i,t);if(!e.eql(e.sqr(a),i))throw Error("Cannot find square root");return a}}let s=(t+ia)/ir;return function(e,p){if(e.pow(p,r)===e.neg(e.ONE))throw Error("Cannot find square root");let o=i,d=e.pow(e.mul(e.ONE,a),t),l=e.pow(p,s),c=e.pow(p,t);for(;!e.eql(c,e.ONE);){if(e.eql(c,e.ZERO))return e.ZERO;let t=1;for(let i=e.sqr(c);t<o&&!e.eql(i,e.ONE);t++)i=e.sqr(i);let i=e.pow(d,ia<<BigInt(o-t-1));d=e.sqr(i),l=e.mul(l,i),c=e.mul(c,d),o=t}return l}}(e)}(e)),r(o,t))),invertBatch:e=>(function(e,t){let i=Array(t.length),a=t.reduce((t,a,r)=>e.is0(a)?t:(i[r]=t,e.mul(t,a)),e.ONE),r=e.inv(a);return t.reduceRight((t,a,r)=>e.is0(a)?t:(i[r]=e.mul(t,i[r]),e.mul(t,a)),r),i})(o,e),cmov:(e,t,i)=>i?t:e,toBytes:e=>i?tZ(e,p):tY(e,p),fromBytes:e=>{if(e.length!==p)throw Error("Field.fromBytes: expected "+p+" bytes, got "+e.length);return i?tG(e):tJ(e)}});return Object.freeze(o)}function iy(e){if("bigint"!=typeof e)throw Error("field order must be bigint");return Math.ceil(e.toString(2).length/8)}function iw(e){let t=iy(e);return t+Math.ceil(t/2)}let ib=BigInt(0),i_=BigInt(1);function iE(e,t){let i=t.negate();return e?i:t}function iS(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function iD(e,t){return iS(e,t),{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}}let iN=new WeakMap,iI=new WeakMap;function iO(e){return iI.get(e)||1}function ix(e){return t7(e.Fp,im.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),t7(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ig(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}BigInt(0),BigInt(1),BigInt(2),BigInt(8);let iP=BigInt(0),iT=BigInt(1),iA=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);let iC=BigInt(1),iR=BigInt(2),ik=BigInt(3),iV=BigInt(5);BigInt(8);let iL=function(e){let t=(t7(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})),{P:i}=t,a=e=>il(e,i),r=t.montgomeryBits,s=Math.ceil(r/8),p=t.nByteLength,o=t.adjustScalarBytes||(e=>e),d=t.powPminus2||(e=>ic(e,i-BigInt(2),i));function l(e,t,i){let r=a(e*(t-i));return[t=a(t-r),i=a(i+r)]}let c=(t.a-BigInt(2))/BigInt(4);function h(e,t){let h=function(e,t){t2("u",e,iP,i),t2("scalar",t,iP,i);let s=iT,p=iP,o=e,h=iT,u=iP,m;for(let i=BigInt(r-1);i>=iP;i--){let r=t>>i&iT;u^=r,s=(m=l(u,s,o))[0],o=m[1],p=(m=l(u,p,h))[0],h=m[1],u=r;let d=s+p,f=a(d*d),g=s-p,v=a(g*g),y=f-v,w=o+h,b=a((o-h)*d),_=a(w*g),E=b+_,S=b-_;o=a(E*E),h=a(e*a(S*S)),s=a(f*v),p=a(y*(f+a(c*y)))}return s=(m=l(u,s,o))[0],o=m[1],p=(m=l(u,p,h))[0],h=m[1],a(s*d(p))}(function(e){let t=tQ("u coordinate",e,s);return 32===p&&(t[31]&=127),tG(t)}(t),function(e){let t=tQ("scalar",e),i=t.length;if(i!==s&&i!==p)throw Error("invalid scalar, expected "+s+" or "+p+" bytes, got "+i);return tG(o(t))}(e));if(h===iP)throw Error("invalid private or public key received");return tZ(a(h),s)}let u=tZ(a(t.Gu),s);function m(e){return h(e,u)}return{scalarMult:h,scalarMultBase:m,getSharedSecret:(e,t)=>h(e,t),getPublicKey:e=>m(e),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:u}}({P:iA,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let{pow_p_5_8:t,b2:i}=function(e){let t=BigInt(10),i=BigInt(20),a=BigInt(40),r=BigInt(80),s=e*e%iA*e%iA,p=ih(s,iR,iA)*s%iA,o=ih(p,iC,iA)*e%iA,d=ih(o,iV,iA)*o%iA,l=ih(d,t,iA)*d%iA,c=ih(l,i,iA)*l%iA,h=ih(c,a,iA)*c%iA,u=ih(h,r,iA)*h%iA,m=ih(u,r,iA)*h%iA,f=ih(m,t,iA)*d%iA;return{pow_p_5_8:ih(f,iR,iA)*e%iA,b2:s}}(e);return il(ih(t,ik,iA)*i,iA)},adjustScalarBytes:function(e){return e[0]&=248,e[31]&=127,e[31]|=64,e},randomBytes:ev});function iB(e){void 0!==e.lowS&&t$("lowS",e.lowS),void 0!==e.prehash&&t$("prehash",e.prehash)}let{bytesToNumberBE:ij,hexToBytes:iU}=it;class i$ extends Error{constructor(e=""){super(e)}}let iq={Err:i$,_tlv:{encode:(e,t)=>{let{Err:i}=iq;if(e<0||e>256)throw new i("tlv.encode: wrong tag");if(1&t.length)throw new i("tlv.encode: unpadded data");let a=t.length/2,r=tF(a);if(r.length/2&128)throw new i("tlv.encode: long form length too big");let s=a>127?tF(r.length/2|128):"";return tF(e)+s+r+t},decode(e,t){let{Err:i}=iq,a=0;if(e<0||e>256)throw new i("tlv.encode: wrong tag");if(t.length<2||t[a++]!==e)throw new i("tlv.decode: wrong tlv");let r=t[a++],s=0;if(128&r){let e=127&r;if(!e)throw new i("tlv.decode(long): indefinite length not supported");if(e>4)throw new i("tlv.decode(long): byte length is too big");let p=t.subarray(a,a+e);if(p.length!==e)throw new i("tlv.decode: length bytes not complete");if(0===p[0])throw new i("tlv.decode(long): zero leftmost byte");for(let e of p)s=s<<8|e;if(a+=e,s<128)throw new i("tlv.decode(long): not minimal encoding")}else s=r;let p=t.subarray(a,a+s);if(p.length!==s)throw new i("tlv.decode: wrong value length");return{v:p,l:t.subarray(a+s)}}},_int:{encode(e){let{Err:t}=iq;if(e<iM)throw new t("integer: negative integers are not allowed");let i=tF(e);if(8&Number.parseInt(i[0],16)&&(i="00"+i),1&i.length)throw new t("unexpected DER parsing assertion: unpadded hex");return i},decode(e){let{Err:t}=iq;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 ij(e)}},toSig(e){let{Err:t,_int:i,_tlv:a}=iq,r="string"==typeof e?iU(e):e;tU(r);let{v:s,l:p}=a.decode(48,r);if(p.length)throw new t("invalid signature: left bytes after parsing");let{v:o,l:d}=a.decode(2,s),{v:l,l:c}=a.decode(2,d);if(c.length)throw new t("invalid signature: left bytes after parsing");return{r:i.decode(o),s:i.decode(l)}},hexFromSig(e){let{_tlv:t,_int:i}=iq,a=t.encode(2,i.encode(e.r)),r=t.encode(2,i.encode(e.s));return t.encode(48,a+r)}},iM=BigInt(0),iF=BigInt(1);BigInt(2);let iz=BigInt(3);BigInt(4);let iH=iv(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),iK=function(e,t){let i=t=>(function(e){let t=function(e){let t=ix(e);return t7(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}(e),{Fp:i,n:a}=t,r=i.BYTES+1,s=2*i.BYTES+1;function p(e){return il(e,a)}let{ProjectivePoint:o,normPrivateKeyToScalar:d,weierstrassEquation:l,isWithinCurveOrder:c}=function(e){var t;let i=function(e){let t=ix(e);t7(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:i,Fp:a,a:r}=t;if(i){if(!a.eql(r,a.ZERO))throw Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if("object"!=typeof i||"bigint"!=typeof i.beta||"function"!=typeof i.splitScalar)throw Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}(e),{Fp:a}=i,r=iv(i.n,i.nBitLength),s=i.toBytes||((e,t,i)=>{let r=t.toAffine();return tX(Uint8Array.from([4]),a.toBytes(r.x),a.toBytes(r.y))}),p=i.fromBytes||(e=>{let t=e.subarray(1);return{x:a.fromBytes(t.subarray(0,a.BYTES)),y:a.fromBytes(t.subarray(a.BYTES,2*a.BYTES))}});function o(e){let{a:t,b:r}=i,s=a.sqr(e),p=a.mul(s,e);return a.add(a.add(p,a.mul(e,t)),r)}if(!a.eql(a.sqr(i.Gy),o(i.Gx)))throw Error("bad generator point: equation left != right");function d(e){let t;let{allowedPrivateKeyLengths:a,nByteLength:r,wrapPrivateKey:s,n:p}=i;if(a&&"bigint"!=typeof e){if(tj(e)&&(e=tM(e)),"string"!=typeof e||!a.includes(e.length))throw Error("invalid private key");e=e.padStart(2*r,"0")}try{t="bigint"==typeof e?e:tJ(tQ("private key",e,r))}catch{throw Error("invalid private key, expected hex or "+r+" bytes, got "+typeof e)}return s&&(t=il(t,p)),t2("private key",t,iF,p),t}function l(e){if(!(e instanceof u))throw Error("ProjectivePoint expected")}let c=ie((e,t)=>{let{px:i,py:r,pz:s}=e;if(a.eql(s,a.ONE))return{x:i,y:r};let p=e.is0();null==t&&(t=p?a.ONE:a.inv(s));let o=a.mul(i,t),d=a.mul(r,t),l=a.mul(s,t);if(p)return{x:a.ZERO,y:a.ZERO};if(!a.eql(l,a.ONE))throw Error("invZ was invalid");return{x:o,y:d}}),h=ie(e=>{if(e.is0()){if(i.allowInfinityPoint&&!a.is0(e.py))return;throw Error("bad point: ZERO")}let{x:t,y:r}=e.toAffine();if(!a.isValid(t)||!a.isValid(r))throw Error("bad point: x or y not FE");let s=a.sqr(r),p=o(t);if(!a.eql(s,p))throw Error("bad point: equation left != right");if(!e.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});class u{constructor(e,t,i){if(this.px=e,this.py=t,this.pz=i,null==e||!a.isValid(e))throw Error("x required");if(null==t||!a.isValid(t))throw Error("y required");if(null==i||!a.isValid(i))throw Error("z required");Object.freeze(this)}static fromAffine(e){let{x:t,y:i}=e||{};if(!e||!a.isValid(t)||!a.isValid(i))throw Error("invalid affine point");if(e instanceof u)throw Error("projective point not allowed");let r=e=>a.eql(e,a.ZERO);return r(t)&&r(i)?u.ZERO:new u(t,i,a.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){let t=a.invertBatch(e.map(e=>e.pz));return e.map((e,i)=>e.toAffine(t[i])).map(u.fromAffine)}static fromHex(e){let t=u.fromAffine(p(tQ("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){return u.BASE.multiply(d(e))}static msm(e,t){return function(e,t,i,a){if(function(e,t){if(!Array.isArray(e))throw Error("array expected");e.forEach((e,i)=>{if(!(e instanceof t))throw Error("invalid point at index "+i)})}(i,e),function(e,t){if(!Array.isArray(e))throw Error("array of scalars expected");e.forEach((e,i)=>{if(!t.isValid(e))throw Error("invalid scalar at index "+i)})}(a,t),i.length!==a.length)throw Error("arrays of points and scalars must have equal length");let r=e.ZERO,s=t6(BigInt(i.length)),p=s>12?s-3:s>4?s-2:s?2:1,o=(1<<p)-1,d=Array(o+1).fill(r),l=Math.floor((t.BITS-1)/p)*p,c=r;for(let e=l;e>=0;e-=p){d.fill(r);for(let t=0;t<a.length;t++){let r=Number(a[t]>>BigInt(e)&BigInt(o));d[r]=d[r].add(i[t])}let t=r;for(let e=d.length-1,i=r;e>0;e--)i=i.add(d[e]),t=t.add(i);if(c=c.add(t),0!==e)for(let e=0;e<p;e++)c=c.double()}return c}(u,r,e,t)}_setWindowSize(e){f.setWindowSize(this,e)}assertValidity(){h(this)}hasEvenY(){let{y:e}=this.toAffine();if(a.isOdd)return!a.isOdd(e);throw Error("Field doesn't support isOdd")}equals(e){l(e);let{px:t,py:i,pz:r}=this,{px:s,py:p,pz:o}=e,d=a.eql(a.mul(t,o),a.mul(s,r)),c=a.eql(a.mul(i,o),a.mul(p,r));return d&&c}negate(){return new u(this.px,a.neg(this.py),this.pz)}double(){let{a:e,b:t}=i,r=a.mul(t,iz),{px:s,py:p,pz:o}=this,d=a.ZERO,l=a.ZERO,c=a.ZERO,h=a.mul(s,s),m=a.mul(p,p),f=a.mul(o,o),g=a.mul(s,p);return g=a.add(g,g),c=a.mul(s,o),c=a.add(c,c),d=a.mul(e,c),l=a.mul(r,f),l=a.add(d,l),d=a.sub(m,l),l=a.add(m,l),l=a.mul(d,l),d=a.mul(g,d),c=a.mul(r,c),f=a.mul(e,f),g=a.sub(h,f),g=a.mul(e,g),g=a.add(g,c),c=a.add(h,h),h=a.add(c,h),h=a.add(h,f),h=a.mul(h,g),l=a.add(l,h),f=a.mul(p,o),f=a.add(f,f),h=a.mul(f,g),d=a.sub(d,h),c=a.mul(f,m),c=a.add(c,c),new u(d,l,c=a.add(c,c))}add(e){l(e);let{px:t,py:r,pz:s}=this,{px:p,py:o,pz:d}=e,c=a.ZERO,h=a.ZERO,m=a.ZERO,f=i.a,g=a.mul(i.b,iz),v=a.mul(t,p),y=a.mul(r,o),w=a.mul(s,d),b=a.add(t,r),_=a.add(p,o);b=a.mul(b,_),_=a.add(v,y),b=a.sub(b,_),_=a.add(t,s);let E=a.add(p,d);return _=a.mul(_,E),E=a.add(v,w),_=a.sub(_,E),E=a.add(r,s),c=a.add(o,d),E=a.mul(E,c),c=a.add(y,w),E=a.sub(E,c),m=a.mul(f,_),c=a.mul(g,w),m=a.add(c,m),c=a.sub(y,m),m=a.add(y,m),h=a.mul(c,m),y=a.add(v,v),y=a.add(y,v),w=a.mul(f,w),_=a.mul(g,_),y=a.add(y,w),w=a.sub(v,w),w=a.mul(f,w),_=a.add(_,w),v=a.mul(y,_),h=a.add(h,v),v=a.mul(E,_),c=a.mul(b,c),c=a.sub(c,v),v=a.mul(b,y),m=a.mul(E,m),new u(c,h,m=a.add(m,v))}subtract(e){return this.add(e.negate())}is0(){return this.equals(u.ZERO)}wNAF(e){return f.wNAFCached(this,e,u.normalizeZ)}multiplyUnsafe(e){let{endo:t,n:r}=i;t2("scalar",e,iM,r);let s=u.ZERO;if(e===iM)return s;if(this.is0()||e===iF)return this;if(!t||f.hasPrecomputes(this))return f.wNAFCachedUnsafe(this,e,u.normalizeZ);let{k1neg:p,k1:o,k2neg:d,k2:l}=t.splitScalar(e),c=s,h=s,m=this;for(;o>iM||l>iM;)o&iF&&(c=c.add(m)),l&iF&&(h=h.add(m)),m=m.double(),o>>=iF,l>>=iF;return p&&(c=c.negate()),d&&(h=h.negate()),h=new u(a.mul(h.px,t.beta),h.py,h.pz),c.add(h)}multiply(e){let t,r;let{endo:s,n:p}=i;if(t2("scalar",e,iF,p),s){let{k1neg:i,k1:p,k2neg:o,k2:d}=s.splitScalar(e),{p:l,f:c}=this.wNAF(p),{p:h,f:m}=this.wNAF(d);l=f.constTimeNegate(i,l),h=f.constTimeNegate(o,h),h=new u(a.mul(h.px,s.beta),h.py,h.pz),t=l.add(h),r=c.add(m)}else{let{p:i,f:a}=this.wNAF(e);t=i,r=a}return u.normalizeZ([t,r])[0]}multiplyAndAddUnsafe(e,t,i){let a=u.BASE,r=(e,t)=>t!==iM&&t!==iF&&e.equals(a)?e.multiply(t):e.multiplyUnsafe(t),s=r(this,t).add(r(e,i));return s.is0()?void 0:s}toAffine(e){return c(this,e)}isTorsionFree(){let{h:e,isTorsionFree:t}=i;if(e===iF)return!0;if(t)return t(u,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:e,clearCofactor:t}=i;return e===iF?this:t?t(u,this):this.multiplyUnsafe(i.h)}toRawBytes(e=!0){return t$("isCompressed",e),this.assertValidity(),s(u,this,e)}toHex(e=!0){return t$("isCompressed",e),tM(this.toRawBytes(e))}}u.BASE=new u(i.Gx,i.Gy,a.ONE),u.ZERO=new u(a.ZERO,a.ONE,a.ZERO);let m=i.nBitLength,f=(t=i.endo?Math.ceil(m/2):m,{constTimeNegate:iE,hasPrecomputes:e=>1!==iO(e),unsafeLadder(e,t,i=u.ZERO){let a=e;for(;t>ib;)t&i_&&(i=i.add(a)),a=a.double(),t>>=i_;return i},precomputeWindow(e,i){let{windows:a,windowSize:r}=iD(i,t),s=[],p=e,o=p;for(let e=0;e<a;e++){o=p,s.push(o);for(let e=1;e<r;e++)o=o.add(p),s.push(o);p=o.double()}return s},wNAF(e,i,a){let{windows:r,windowSize:s}=iD(e,t),p=u.ZERO,o=u.BASE,d=BigInt(2**e-1),l=2**e,c=BigInt(e);for(let e=0;e<r;e++){let t=e*s,r=Number(a&d);a>>=c,r>s&&(r-=l,a+=i_);let h=t+Math.abs(r)-1,u=e%2!=0,m=r<0;0===r?o=o.add(iE(u,i[t])):p=p.add(iE(m,i[h]))}return{p:p,f:o}},wNAFUnsafe(e,i,a,r=u.ZERO){let{windows:s,windowSize:p}=iD(e,t),o=BigInt(2**e-1),d=2**e,l=BigInt(e);for(let e=0;e<s;e++){let t=e*p;if(a===ib)break;let s=Number(a&o);if(a>>=l,s>p&&(s-=d,a+=i_),0===s)continue;let c=i[t+Math.abs(s)-1];s<0&&(c=c.negate()),r=r.add(c)}return r},getPrecomputes(e,t,i){let a=iN.get(t);return a||(a=this.precomputeWindow(t,e),1!==e&&iN.set(t,i(a))),a},wNAFCached(e,t,i){let a=iO(e);return this.wNAF(a,this.getPrecomputes(a,e,i),t)},wNAFCachedUnsafe(e,t,i,a){let r=iO(e);return 1===r?this.unsafeLadder(e,t,a):this.wNAFUnsafe(r,this.getPrecomputes(r,e,i),t,a)},setWindowSize(e,i){iS(i,t),iI.set(e,i),iN.delete(e)}});return{CURVE:i,ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:function(e){return t0(e,iF,i.n)}}}({...t,toBytes(e,t,a){let r=t.toAffine(),s=i.toBytes(r.x);return t$("isCompressed",a),a?tX(Uint8Array.from([t.hasEvenY()?2:3]),s):tX(Uint8Array.from([4]),s,i.toBytes(r.y))},fromBytes(e){let t=e.length,a=e[0],p=e.subarray(1);if(t===r&&(2===a||3===a)){let e;let t=tJ(p);if(!t0(t,iF,i.ORDER))throw Error("Point is not on curve");let r=l(t);try{e=i.sqrt(r)}catch(e){throw Error("Point is not on curve"+(e instanceof Error?": "+e.message:""))}return(1&a)==1!=((e&iF)===iF)&&(e=i.neg(e)),{x:t,y:e}}if(t===s&&4===a)return{x:i.fromBytes(p.subarray(0,i.BYTES)),y:i.fromBytes(p.subarray(i.BYTES,2*i.BYTES))};throw Error("invalid Point, expected length of "+r+", or uncompressed "+s+", got "+t)}}),h=e=>tM(tY(e,t.nByteLength)),u=(e,t,i)=>tJ(e.slice(t,i));class m{constructor(e,t,i){this.r=e,this.s=t,this.recovery=i,this.assertValidity()}static fromCompact(e){let i=t.nByteLength;return new m(u(e=tQ("compactSignature",e,2*i),0,i),u(e,i,2*i))}static fromDER(e){let{r:t,s:i}=iq.toSig(tQ("DER",e));return new m(t,i)}assertValidity(){t2("r",this.r,iF,a),t2("s",this.s,iF,a)}addRecoveryBit(e){return new m(this.r,this.s,e)}recoverPublicKey(e){let{r:r,s:s,recovery:d}=this,l=v(tQ("msgHash",e));if(null==d||![0,1,2,3].includes(d))throw Error("recovery id invalid");let c=2===d||3===d?r+t.n:r;if(c>=i.ORDER)throw Error("recovery id 2 or 3 invalid");let u=(1&d)==0?"02":"03",m=o.fromHex(u+h(c)),f=iu(c,a),g=p(-l*f),y=p(s*f),w=o.BASE.multiplyAndAddUnsafe(m,g,y);if(!w)throw Error("point at infinify");return w.assertValidity(),w}hasHighS(){return this.s>a>>iF}normalizeS(){return this.hasHighS()?new m(this.r,p(-this.s),this.recovery):this}toDERRawBytes(){return tW(this.toDERHex())}toDERHex(){return iq.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return tW(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}function f(e){let t=tj(e),i="string"==typeof e,a=(t||i)&&e.length;return t?a===r||a===s:i?a===2*r||a===2*s:e instanceof o}let g=t.bits2int||function(e){if(e.length>8192)throw Error("input is too large");let i=tJ(e),a=8*e.length-t.nBitLength;return a>0?i>>BigInt(a):i},v=t.bits2int_modN||function(e){return p(g(e))},y=t4(t.nBitLength);function w(e){return t2("num < 2^"+t.nBitLength,e,iM,y),tY(e,t.nByteLength)}let b={lowS:t.lowS,prehash:!1},_={lowS:t.lowS,prehash:!1};return o.BASE._setWindowSize(8),{CURVE:t,getPublicKey:function(e,t=!0){return o.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,i=!0){if(f(e))throw Error("first arg must be private key");if(!f(t))throw Error("second arg must be public key");return o.fromHex(t).multiply(d(e)).toRawBytes(i)},sign:function(e,r,s=b){let{seed:l,k2sig:h}=function(e,r,s=b){if(["recovered","canonical"].some(e=>e in s))throw Error("sign() legacy options not supported");let{hash:l,randomBytes:h}=t,{lowS:u,prehash:f,extraEntropy:y}=s;null==u&&(u=!0),e=tQ("msgHash",e),iB(s),f&&(e=tQ("prehashed msgHash",l(e)));let _=v(e),E=d(r),S=[w(E),w(_)];if(null!=y&&!1!==y){let e=!0===y?h(i.BYTES):y;S.push(tQ("extraEntropy",e))}return{seed:tX(...S),k2sig:function(e){let t=g(e);if(!c(t))return;let i=iu(t,a),r=o.BASE.multiply(t).toAffine(),s=p(r.x);if(s===iM)return;let d=p(i*p(_+s*E));if(d===iM)return;let l=(r.x===s?0:2)|Number(r.y&iF),h=d;return u&&d>a>>iF&&(h=d>a>>iF?p(-d):d,l^=1),new m(s,h,l)}}}(e,r,s);return t9(t.hash.outputLen,t.nByteLength,t.hmac)(l,h)},verify:function(e,i,r,s=_){let d,l;i=tQ("msgHash",i),r=tQ("publicKey",r);let{lowS:c,prehash:h,format:u}=s;if(iB(s),"strict"in s)throw Error("options.strict was renamed to lowS");if(void 0!==u&&"compact"!==u&&"der"!==u)throw Error("format must be compact or der");let f="string"==typeof e||tj(e),g=!f&&!u&&"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&&(d=new m(e.r,e.s)),f){try{"compact"!==u&&(d=m.fromDER(e))}catch(e){if(!(e instanceof iq.Err))throw e}d||"der"===u||(d=m.fromCompact(e))}l=o.fromHex(r)}catch{return!1}if(!d||c&&d.hasHighS())return!1;h&&(i=t.hash(i));let{r:y,s:w}=d,b=v(i),E=iu(w,a),S=p(b*E),D=p(y*E),N=o.BASE.multiplyAndAddUnsafe(l,S,D)?.toAffine();return!!N&&p(N.x)===y},ProjectivePoint:o,Signature:m,utils:{isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=iw(t.n);return function(e,t,i=!1){let a=e.length,r=iy(t),s=iw(t);if(a<16||a<s||a>1024)throw Error("expected "+s+"-1024 bytes of input, got "+a);let p=il(i?tG(e):tJ(e),t-ia)+ia;return i?tZ(p,r):tY(p,r)}(t.randomBytes(e),t.n)},precompute:(e=8,t=o.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)}}})({...e,hash:t,hmac:(e,...i)=>tN(t,e,function(...e){let t=0;for(let i=0;i<e.length;i++){let a=e[i];X(a),t+=a.length}let i=new Uint8Array(t);for(let t=0,a=0;t<e.length;t++){let r=e[t];i.set(r,a),a+=r.length}return i}(...i)),randomBytes:ev});return{...i(t),create:i}}({a:iH.create(BigInt("-3")),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Fp:iH,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},tk),iW="base10",iJ="base16",iG="base64pad",iY="base64url",iZ="utf8";function iQ(){let e=ev(32);return(0,u.BB)(e,iJ)}function iX(e){let t=tk((0,u.mL)(e,iJ));return(0,u.BB)(t,iJ)}function i1(e){let t=tk((0,u.mL)(e,iZ));return(0,u.BB)(t,iJ)}function i0(e){return(0,u.mL)(`${e}`,iW)}function i2(e){return Number((0,u.BB)(e,iW))}function i6(e){return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function i4(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),i=(4-t.length%4)%4;return t+"=".repeat(i)}function i3(e){if(2===i2(e.type))return(0,u.BB)((0,u.zo)([e.type,e.sealed]),iG);if(1===i2(e.type)){if(typeof e.senderPublicKey>"u")throw Error("Missing sender public key for type 1 envelope");return(0,u.BB)((0,u.zo)([e.type,e.senderPublicKey,e.iv,e.sealed]),iG)}return(0,u.BB)((0,u.zo)([e.type,e.iv,e.sealed]),iG)}function i8(e){let t=(e.encoding||iG)===iY?i4(e.encoded):e.encoded,i=(0,u.mL)(t,iG),a=i.slice(0,1);if(1===i2(a)){let e=i.slice(1,33),t=i.slice(33,45);return{type:a,sealed:i.slice(45),iv:t,senderPublicKey:e}}if(2===i2(a))return{type:a,sealed:i.slice(1),iv:ev(12)};let r=i.slice(1,13);return{type:a,sealed:i.slice(13),iv:r}}function i9(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 i5(e){return 1===e.type&&"string"==typeof e.senderPublicKey&&"string"==typeof e.receiverPublicKey}function i7(e){return e?.relay||{protocol:"irn"}}function ae(e){let t=m.iO[e];if(typeof t>"u")throw Error(`Relay Protocol not supported: ${e}`);return t}function at(e){var t;if(!e.includes("wc:")){let t=Z(e);null!=t&&t.includes("wc:")&&(e=t)}let i=(e=(e=e.includes("wc://")?e.replace("wc://",""):e).includes("wc:")?e.replace("wc:",""):e).indexOf(":"),a=-1!==e.indexOf("?")?e.indexOf("?"):void 0,r=e.substring(0,i),s=e.substring(i+1,a).split("@"),p=new URLSearchParams("u">typeof a?e.substring(a):""),o={};p.forEach((e,t)=>{o[t]=e});let d="string"==typeof o.methods?o.methods.split(","):void 0;return{protocol:r,topic:(t=s[0]).startsWith("//")?t.substring(2):t,version:parseInt(s[1],10),symKey:o.symKey,relay:function(e,t="-"){let i={},a="relay"+t;return Object.keys(e).forEach(t=>{if(t.startsWith(a)){let r=t.replace(a,""),s=e[t];i[r]=s}}),i}(o),methods:d,expiryTimestamp:o.expiryTimestamp?parseInt(o.expiryTimestamp,10):void 0}}function ai(e){let t=new URLSearchParams,i=function(e,t="-"){let i={};return Object.keys(e).forEach(a=>{e[a]&&(i["relay"+t+a]=e[a])}),i}(e.relay);Object.keys(i).sort().forEach(e=>{t.set(e,i[e])}),t.set("symKey",e.symKey),e.expiryTimestamp&&t.set("expiryTimestamp",e.expiryTimestamp.toString()),e.methods&&t.set("methods",e.methods.join(","));let a=t.toString();return`${e.protocol}:${e.topic}@${e.version}?${a}`}function aa(e,t,i){return`${e}?wc_ev=${i}&topic=${t}`}var ar=Object.defineProperty,as=Object.defineProperties,an=Object.getOwnPropertyDescriptors,ap=Object.getOwnPropertySymbols,ao=Object.prototype.hasOwnProperty,ad=Object.prototype.propertyIsEnumerable,al=(e,t,i)=>t in e?ar(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,ac=(e,t)=>{for(var i in t||(t={}))ao.call(t,i)&&al(e,i,t[i]);if(ap)for(var i of ap(t))ad.call(t,i)&&al(e,i,t[i]);return e},ah=(e,t)=>as(e,an(t));function au(e){let t=[];return e.forEach(e=>{let[i,a]=e.split(":");t.push(`${i}:${a}`)}),t}function am(e){return e.includes(":")}function af(e){return am(e)?e.split(":")[0]:e}function ag(e){var t,i,a;let r={};if(!aS(e))return r;for(let[s,p]of Object.entries(e)){let e=am(s)?[s]:p.chains,o=p.methods||[],d=p.events||[],l=af(s);r[l]=ah(ac({},r[l]),{chains:H(e,null==(t=r[l])?void 0:t.chains),methods:H(o,null==(i=r[l])?void 0:i.methods),events:H(d,null==(a=r[l])?void 0:a.events)})}return r}function av(e,t){let i=function(e){let t={};return e?.forEach(e=>{var i;let[a,r]=e.split(":");t[a]||(t[a]={accounts:[],chains:[],events:[],methods:[]}),t[a].accounts.push(e),null==(i=t[a].chains)||i.push(`${a}:${r}`)}),t}(t=t.map(e=>e.replace("did:pkh:","")));for(let[t,a]of Object.entries(i))a.methods?a.methods=H(a.methods,e):a.methods=e,a.events=["chainChanged","accountsChanged"];return i}let ay={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}},aw={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 ab(e,t){let{message:i,code:a}=aw[e];return{message:t?`${i} ${t}`:i,code:a}}function a_(e,t){let{message:i,code:a}=ay[e];return{message:t?`${i} ${t}`:i,code:a}}function aE(e,t){return!!Array.isArray(e)&&(!("u">typeof t)||!e.length||e.every(t))}function aS(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function aD(e){return typeof e>"u"}function aN(e,t){return!!(t&&aD(e))||"string"==typeof e&&!!e.trim().length}function aI(e,t){return!!(t&&aD(e))||"number"==typeof e&&!isNaN(e)}function aO(e){return!!(aN(e,!1)&&e.includes(":"))&&2===e.split(":").length}function ax(e){let t=!0;return aE(e)?e.length&&(t=e.every(e=>aN(e,!1))):t=!1,t}function aP(e,t){let i=null;return Object.values(e).forEach(e=>{var a;let r;if(i)return;let s=(a=`${t}, namespace`,r=null,ax(e?.methods)?ax(e?.events)||(r=a_("UNSUPPORTED_EVENTS",`${a}, events should be an array of strings or empty array for no events`)):r=a_("UNSUPPORTED_METHODS",`${a}, methods should be an array of strings or empty array for no methods`),r);s&&(i=s)}),i}function aT(e,t){let i=null;if(e&&aS(e)){let a;let r=aP(e,t);r&&(i=r);let s=(a=null,Object.values(e).forEach(e=>{var i,r;let s;if(a)return;let p=(i=e?.accounts,r=`${t} namespace`,s=null,aE(i)?i.forEach(e=>{s||function(e){if(aN(e,!1)&&e.includes(":")){let t=e.split(":");if(3===t.length){let e=t[0]+":"+t[1];return!!t[2]&&aO(e)}}return!1}(e)||(s=a_("UNSUPPORTED_ACCOUNTS",`${r}, account ${e} should be a string and conform to "namespace:chainId:address" format`))}):s=a_("UNSUPPORTED_ACCOUNTS",`${r}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),s);p&&(a=p)}),a);s&&(i=s)}else i=ab("MISSING_OR_INVALID",`${t}, namespaces should be an object with data`);return i}function aA(e){return aN(e.protocol,!0)}function aC(e){return"u">typeof e}function aR(e,t){return!(!aO(t)||!(function(e){let t=[];return Object.values(e).forEach(e=>{t.push(...au(e.accounts))}),t})(e).includes(t))}function ak(e,t,i){let a=null,r=function(e){let t={};return Object.keys(e).forEach(i=>{var a;i.includes(":")?t[i]=e[i]:null==(a=e[i].chains)||a.forEach(a=>{t[a]={methods:e[i].methods,events:e[i].events}})}),t}(e),s=function(e){let t={};return Object.keys(e).forEach(i=>{if(i.includes(":"))t[i]=e[i];else{let a=au(e[i].accounts);a?.forEach(a=>{t[a]={accounts:e[i].accounts.filter(e=>e.includes(`${a}:`)),methods:e[i].methods,events:e[i].events}})}}),t}(t),p=Object.keys(r),o=Object.keys(s),d=aV(Object.keys(e)),l=aV(Object.keys(t)),c=d.filter(e=>!l.includes(e));return c.length&&(a=ab("NON_CONFORMING_NAMESPACES",`${i} namespaces keys don't satisfy requiredNamespaces.
@@ -7,7 +7,7 @@ ${e.length}`,i=new TextEncoder().encode(t+e);return"0x"+Buffer.from(eC(i)).toStr
7
7
  Required: ${p.toString()}
8
8
  Approved: ${o.toString()}`)),Object.keys(t).forEach(e=>{if(!e.includes(":")||a)return;let r=au(t[e].accounts);r.includes(e)||(a=ab("NON_CONFORMING_NAMESPACES",`${i} namespaces accounts don't satisfy namespace accounts for ${e}
9
9
  Required: ${e}
10
- Approved: ${r.toString()}`))}),p.forEach(e=>{a||(V(r[e].methods,s[e].methods)?V(r[e].events,s[e].events)||(a=ab("NON_CONFORMING_NAMESPACES",`${i} namespaces events don't satisfy namespace events for ${e}`)):a=ab("NON_CONFORMING_NAMESPACES",`${i} namespaces methods don't satisfy namespace methods for ${e}`))}),a}function aV(e){return[...new Set(e.map(e=>e.includes(":")?e.split(":")[0]:e))]}function aL(){let e=A();return new Promise(t=>{switch(e){case O.browser:t(T()&&navigator?.onLine);break;case O.reactNative:t(aB());break;case O.node:default:t(!0)}})}async function aB(){if(P()&&"u">typeof global&&null!=global&&global.NetInfo){let e=await (null==global?void 0:global.NetInfo.fetch());return e?.isConnected}return!0}let aj={};class aU{static get(e){return aj[e]}static set(e,t){aj[e]=t}static delete(e){delete aj[e]}}var a$=i(98563),aq=i(42253),aM=i(41434),aF=i(36627),az=Object.defineProperty,aH=(e,t,i)=>t in e?az(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,aK=(e,t,i)=>aH(e,"symbol"!=typeof t?t+"":t,i);class aW extends aF.q{constructor(e){super(),this.opts=e,aK(this,"protocol","wc"),aK(this,"version",2)}}var aJ=Object.defineProperty,aG=(e,t,i)=>t in e?aJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,aY=(e,t,i)=>aG(e,"symbol"!=typeof t?t+"":t,i);class aZ extends aF.q{constructor(e,t){super(),this.core=e,this.logger=t,aY(this,"records",new Map)}}class aQ{constructor(e,t){this.logger=e,this.core=t}}class aX extends aF.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class a1 extends aF.q{constructor(e){super()}}class a0{constructor(e,t,i,a){this.core=e,this.logger=t,this.name=i}}class a2 extends aF.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class a6 extends aF.q{constructor(e,t){super(),this.core=e,this.logger=t}}class a4{constructor(e,t,i){this.core=e,this.logger=t,this.store=i}}class a3{constructor(e,t){this.projectId=e,this.logger=t}}class a8{constructor(e,t,i){this.core=e,this.logger=t,this.telemetryEnabled=i}}var a9=Object.defineProperty,a5=(e,t,i)=>t in e?a9(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,a7=(e,t,i)=>a5(e,"symbol"!=typeof t?t+"":t,i);class re{constructor(e){this.opts=e,a7(this,"protocol","wc"),a7(this,"version",2)}}class rt{constructor(e){this.client=e}}var ri=i(60143),ra=i(44926),rr=i(26560),rs=i(76755);let rn="core",rp=`wc@2:${rn}:`,ro={logger:"error"},rd={database:":memory:"},rl="client_ed25519_seed",rc=p.ONE_DAY,rh=p.SIX_HOURS,ru="wss://relay.walletconnect.org",rm={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"},rf={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},rg="2.21.1",rv={link_mode:"link_mode",relay:"relay"},ry={inbound:"inbound",outbound:"outbound"},rw="WALLETCONNECT_LINK_MODE_APPS",rb={created:"subscription_created",deleted:"subscription_deleted",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},r_=(p.FIVE_SECONDS,{wc_pairingDelete:{req:{ttl:p.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:p.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:p.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:p.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:p.ONE_DAY,prompt:!1,tag:0},res:{ttl:p.ONE_DAY,prompt:!1,tag:0}}}),rE={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},rS={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},rD={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},rN="https://verify.walletconnect.org",rI=`${rN}/v3`,rO=["https://verify.walletconnect.com",rN],rx={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"},rP={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"},rT={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"},rA={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"},rC={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"},rR={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 rk=function(e,t){if(e.length>=255)throw TypeError("Alphabet too long");for(var i=new Uint8Array(256),a=0;a<i.length;a++)i[a]=255;for(var r=0;r<e.length;r++){var s=e.charAt(r),p=s.charCodeAt(0);if(255!==i[p])throw TypeError(s+" is ambiguous");i[p]=r}var o=e.length,d=e.charAt(0),l=Math.log(o)/Math.log(256),c=Math.log(256)/Math.log(o);function h(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[0]){for(var a=0,r=0;e[t]===d;)a++,t++;for(var s=(e.length-t)*l+1>>>0,p=new Uint8Array(s);e[t];){var c=i[e.charCodeAt(t)];if(255===c)return;for(var h=0,u=s-1;(0!==c||h<r)&&-1!==u;u--,h++)c+=o*p[u]>>>0,p[u]=c%256>>>0,c=c/256>>>0;if(0!==c)throw Error("Non-zero carry");r=h,t++}if(" "!==e[t]){for(var m=s-r;m!==s&&0===p[m];)m++;for(var f=new Uint8Array(a+(s-m)),g=a;m!==s;)f[g++]=p[m++];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 i=0,a=0,r=0,s=t.length;r!==s&&0===t[r];)r++,i++;for(var p=(s-r)*c+1>>>0,l=new Uint8Array(p);r!==s;){for(var h=t[r],u=0,m=p-1;(0!==h||u<a)&&-1!==m;m--,u++)h+=256*l[m]>>>0,l[m]=h%o>>>0,h=h/o>>>0;if(0!==h)throw Error("Non-zero carry");a=u,r++}for(var f=p-a;f!==p&&0===l[f];)f++;for(var g=d.repeat(i);f<p;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:h,decode:function(e){var i=h(e);if(i)return i;throw Error(`Non-${t} character`)}}};let rV=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")},rL=e=>new TextEncoder().encode(e),rB=e=>new TextDecoder().decode(e);class rj{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class rU{constructor(e,t,i){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}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 rq(this,e)}}class r${constructor(e){this.decoders=e}or(e){return rq(this,e)}decode(e){let t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}let rq=(e,t)=>new r$({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class rM{constructor(e,t,i,a){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=a,this.encoder=new rj(e,t,i),this.decoder=new rU(e,t,a)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}let rF=({name:e,prefix:t,encode:i,decode:a})=>new rM(e,t,i,a),rz=({prefix:e,name:t,alphabet:i})=>{let{encode:a,decode:r}=rk(i,t);return rF({prefix:e,name:t,encode:a,decode:e=>rV(r(e))})},rH=(e,t,i,a)=>{let r={};for(let e=0;e<t.length;++e)r[t[e]]=e;let s=e.length;for(;"="===e[s-1];)--s;let p=new Uint8Array(s*i/8|0),o=0,d=0,l=0;for(let t=0;t<s;++t){let s=r[e[t]];if(void 0===s)throw SyntaxError(`Non-${a} character`);d=d<<i|s,(o+=i)>=8&&(o-=8,p[l++]=255&d>>o)}if(o>=i||255&d<<8-o)throw SyntaxError("Unexpected end of data");return p},rK=(e,t,i)=>{let a="="===t[t.length-1],r=(1<<i)-1,s="",p=0,o=0;for(let a=0;a<e.length;++a)for(o=o<<8|e[a],p+=8;p>i;)p-=i,s+=t[r&o>>p];if(p&&(s+=t[r&o<<i-p]),a)for(;s.length*i&7;)s+="=";return s},rW=({name:e,prefix:t,bitsPerChar:i,alphabet:a})=>rF({prefix:t,name:e,encode:e=>rK(e,a,i),decode:t=>rH(t,a,i,e)});var rJ=Object.freeze({__proto__:null,identity:rF({prefix:"\0",name:"identity",encode:e=>rB(e),decode:e=>rL(e)})}),rG=Object.freeze({__proto__:null,base2:rW({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})}),rY=Object.freeze({__proto__:null,base8:rW({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})}),rZ=Object.freeze({__proto__:null,base10:rz({prefix:"9",name:"base10",alphabet:"0123456789"})}),rQ=Object.freeze({__proto__:null,base16:rW({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),base16upper:rW({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});let rX=rW({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),r1=rW({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),r0=rW({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),r2=rW({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),r6=rW({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),r4=rW({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5});var r3=Object.freeze({__proto__:null,base32:rX,base32upper:r1,base32pad:r0,base32padupper:r2,base32hex:r6,base32hexupper:r4,base32hexpad:rW({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),base32hexpadupper:rW({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),base32z:rW({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})}),r8=Object.freeze({__proto__:null,base36:rz({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),base36upper:rz({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})}),r9=Object.freeze({__proto__:null,base58btc:rz({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),base58flickr:rz({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});let r5=rW({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6});var r7=Object.freeze({__proto__:null,base64:r5,base64pad:rW({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),base64url:rW({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),base64urlpad:rW({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});let se=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"),st=se.reduce((e,t,i)=>(e[i]=t,e),[]),si=se.reduce((e,t,i)=>(e[t.codePointAt(0)]=i,e),[]);var sa=Object.freeze({__proto__:null,base256emoji:rF({prefix:"\uD83D\uDE80",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>e+=st[t],"")},decode:function(e){let t=[];for(let i of e){let e=si[i.codePointAt(0)];if(void 0===e)throw Error(`Non-base256emoji character: ${i}`);t.push(e)}return new Uint8Array(t)}})});function sr(e,t){var i,a=0,t=t||0,r=0,s=t,p=e.length;do{if(s>=p)throw sr.bytes=0,RangeError("Could not decode varint");i=e[s++],a+=r<28?(127&i)<<r:(127&i)*Math.pow(2,r),r+=7}while(i>=128);return sr.bytes=s-t,a}var ss={encode:function e(t,i,a){i=i||[],a=a||0;for(var r=a;t>=2147483648;)i[a++]=255&t|128,t/=128;for(;-128&t;)i[a++]=255&t|128,t>>>=7;return i[a]=0|t,e.bytes=a-r+1,i},encodingLength:function(e){return 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}};let sn=(e,t,i=0)=>(ss.encode(e,t,i),t),sp=e=>ss.encodingLength(e),so=(e,t)=>{let i=t.byteLength,a=sp(e),r=a+sp(i),s=new Uint8Array(r+i);return sn(e,s,0),sn(i,s,a),s.set(t,r),new sd(e,i,t,s)};class sd{constructor(e,t,i,a){this.code=e,this.size=t,this.digest=i,this.bytes=a}}let sl=({name:e,code:t,encode:i})=>new sc(e,t,i);class sc{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?so(this.code,t):t.then(e=>so(this.code,e))}throw Error("Unknown type, must be binary type")}}let sh=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t));var su=Object.freeze({__proto__:null,sha256:sl({name:"sha2-256",code:18,encode:sh("SHA-256")}),sha512:sl({name:"sha2-512",code:19,encode:sh("SHA-512")})}),sm=Object.freeze({__proto__:null,identity:{code:0,name:"identity",encode:rV,digest:e=>so(0,rV(e))}});new TextEncoder,new TextDecoder;let sf={...rJ,...rG,...rY,...rZ,...rQ,...r3,...r8,...r9,...r7,...sa};function sg(e,t,i,a){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:i},decoder:{decode:a}}}({...su,...sm});let sv=sg("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),sy=sg("ascii","a",e=>{let t="a";for(let i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);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 i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t}),sw={utf8:sv,"utf-8":sv,hex:sf.base16,latin1:sy,ascii:sy,binary:sy,...sf};var sb=Object.defineProperty,s_=(e,t,i)=>t in e?sb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,sE=(e,t,i)=>s_(e,"symbol"!=typeof t?t+"":t,i);class sS{constructor(e,t){this.core=e,this.logger=t,sE(this,"keychain",new Map),sE(this,"name","keychain"),sE(this,"version","0.3"),sE(this,"initialized",!1),sE(this,"storagePrefix",rp),sE(this,"init",async()=>{if(!this.initialized){let e=await this.getKeyChain();"u">typeof e&&(this.keychain=e),this.initialized=!0}}),sE(this,"has",e=>(this.isInitialized(),this.keychain.has(e))),sE(this,"set",async(e,t)=>{this.isInitialized(),this.keychain.set(e,t),await this.persist()}),sE(this,"get",e=>{this.isInitialized();let t=this.keychain.get(e);if(typeof t>"u"){let{message:t}=ab("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}),sE(this,"del",async e=>{this.isInitialized(),this.keychain.delete(e),await this.persist()}),this.core=e,this.logger=(0,aM.Ep)(t,this.name)}get context(){return(0,aM.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,L(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}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}}var sD=Object.defineProperty,sN=(e,t,i)=>t in e?sD(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,sI=(e,t,i)=>sN(e,"symbol"!=typeof t?t+"":t,i);class sO{constructor(e,t,i){this.core=e,this.logger=t,sI(this,"name","crypto"),sI(this,"keychain"),sI(this,"randomSessionIdentifier",iQ()),sI(this,"initialized",!1),sI(this,"init",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),sI(this,"hasKeys",e=>(this.isInitialized(),this.keychain.has(e))),sI(this,"getClientId",async()=>{this.isInitialized();let e=await this.getClientSeed(),t=h.Au(e);return h.bG(t.publicKey)}),sI(this,"generateKeyPair",()=>{this.isInitialized();let e=function(){let e=iL.utils.randomPrivateKey(),t=iL.getPublicKey(e);return{privateKey:(0,u.BB)(e,iJ),publicKey:(0,u.BB)(t,iJ)}}();return this.setPrivateKey(e.publicKey,e.privateKey)}),sI(this,"signJWT",async e=>{this.isInitialized();let t=await this.getClientSeed(),i=h.Au(t),a=this.randomSessionIdentifier;return await h.vf(a,e,rc,i)}),sI(this,"generateSharedKey",(e,t,i)=>{this.isInitialized();let a=function(e,t){let i=tx(tk,iL.getSharedSecret((0,u.mL)(e,iJ),(0,u.mL)(t,iJ)),void 0,void 0,32);return(0,u.BB)(i,iJ)}(this.getPrivateKey(e),t);return this.setSymKey(a,i)}),sI(this,"setSymKey",async(e,t)=>{this.isInitialized();let i=t||iX(e);return await this.keychain.set(i,e),i}),sI(this,"deleteKeyPair",async e=>{this.isInitialized(),await this.keychain.del(e)}),sI(this,"deleteSymKey",async e=>{this.isInitialized(),await this.keychain.del(e)}),sI(this,"encode",async(e,t,i)=>{this.isInitialized();let a=i9(i),r=(0,ri.u)(t);if(2===a.type)return function(e,t){let i=i0(2),a=ev(12),r=i3({type:i,sealed:(0,u.mL)(e,iZ),iv:a});return t===iY?i6(r):r}(r,i?.encoding);if(i5(a)){let t=a.senderPublicKey,i=a.receiverPublicKey;e=await this.generateSharedKey(t,i)}let s=this.getSymKey(e),{type:p,senderPublicKey:o}=a;return function(e){let t=i0("u">typeof e.type?e.type:0);if(1===i2(t)&&typeof e.senderPublicKey>"u")throw Error("Missing sender public key for type 1 envelope");let i="u">typeof e.senderPublicKey?(0,u.mL)(e.senderPublicKey,iJ):void 0,a="u">typeof e.iv?(0,u.mL)(e.iv,iJ):ev(12),r=i3({type:t,sealed:tS((0,u.mL)(e.symKey,iJ),a).encrypt((0,u.mL)(e.message,iZ)),iv:a,senderPublicKey:i});return e.encoding===iY?i6(r):r}({type:p,symKey:s,message:r,senderPublicKey:o,encoding:i?.encoding})}),sI(this,"decode",async(e,t,i)=>{this.isInitialized();let a=function(e,t){let i=i8({encoded:e,encoding:t?.encoding});return i9({type:i2(i.type),senderPublicKey:"u">typeof i.senderPublicKey?(0,u.BB)(i.senderPublicKey,iJ):void 0,receiverPublicKey:t?.receiverPublicKey})}(t,i);if(2===a.type){let e=function(e,t){let{sealed:i}=i8({encoded:e,encoding:t});return(0,u.BB)(i,iZ)}(t,i?.encoding);return(0,ri.D)(e)}if(i5(a)){let t=a.receiverPublicKey,i=a.senderPublicKey;e=await this.generateSharedKey(t,i)}try{let a=this.getSymKey(e),r=function(e){let t=(0,u.mL)(e.symKey,iJ),{sealed:i,iv:a}=i8({encoded:e.encoded,encoding:e.encoding}),r=tS(t,a).decrypt(i);if(null===r)throw Error("Failed to decrypt");return(0,u.BB)(r,iZ)}({symKey:a,encoded:t,encoding:i?.encoding});return(0,ri.D)(r)}catch(t){this.logger.error(`Failed to decode message from topic: '${e}', clientId: '${await this.getClientId()}'`),this.logger.error(t)}}),sI(this,"getPayloadType",(e,t=iG)=>i2(i8({encoded:e,encoding:t}).type)),sI(this,"getPayloadSenderPublicKey",(e,t=iG)=>{let i=i8({encoded:e,encoding:t});return i.senderPublicKey?(0,u.BB)(i.senderPublicKey,iJ):void 0}),this.core=e,this.logger=(0,aM.Ep)(t,this.name),this.keychain=i||new sS(this.core,this.logger)}get context(){return(0,aM.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(rl)}catch{e=iQ(),await this.keychain.set(rl,e)}return function(e,t="utf8"){let i=sw[t];if(!i)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e,"utf8"):i.decoder.decode(`${i.prefix}${e}`)}(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){let{message:e}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}}var sx=Object.defineProperty,sP=Object.defineProperties,sT=Object.getOwnPropertyDescriptors,sA=Object.getOwnPropertySymbols,sC=Object.prototype.hasOwnProperty,sR=Object.prototype.propertyIsEnumerable,sk=(e,t,i)=>t in e?sx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,sV=(e,t)=>{for(var i in t||(t={}))sC.call(t,i)&&sk(e,i,t[i]);if(sA)for(var i of sA(t))sR.call(t,i)&&sk(e,i,t[i]);return e},sL=(e,t)=>sP(e,sT(t)),sB=(e,t,i)=>sk(e,"symbol"!=typeof t?t+"":t,i);class sj extends aQ{constructor(e,t){super(e,t),this.logger=e,this.core=t,sB(this,"messages",new Map),sB(this,"messagesWithoutClientAck",new Map),sB(this,"name","messages"),sB(this,"version","0.3"),sB(this,"initialized",!1),sB(this,"storagePrefix",rp),sB(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}}}),sB(this,"set",async(e,t,i)=>{this.isInitialized();let a=i1(t),r=this.messages.get(e);if(typeof r>"u"&&(r={}),"u">typeof r[a])return a;if(r[a]=t,this.messages.set(e,r),i===ry.inbound){let i=this.messagesWithoutClientAck.get(e)||{};this.messagesWithoutClientAck.set(e,sL(sV({},i),{[a]:t}))}return await this.persist(),a}),sB(this,"get",e=>{this.isInitialized();let t=this.messages.get(e);return typeof t>"u"&&(t={}),t}),sB(this,"getWithoutAck",e=>{this.isInitialized();let t={};for(let i of e){let e=this.messagesWithoutClientAck.get(i)||{};t[i]=Object.values(e)}return t}),sB(this,"has",(e,t)=>(this.isInitialized(),"u">typeof this.get(e)[i1(t)])),sB(this,"ack",async(e,t)=>{this.isInitialized();let i=this.messagesWithoutClientAck.get(e);if(typeof i>"u")return;let a=i1(t);delete i[a],0===Object.keys(i).length?this.messagesWithoutClientAck.delete(e):this.messagesWithoutClientAck.set(e,i),await this.persist()}),sB(this,"del",async e=>{this.isInitialized(),this.messages.delete(e),this.messagesWithoutClientAck.delete(e),await this.persist()}),this.logger=(0,aM.Ep)(e,this.name),this.core=t}get context(){return(0,aM.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,L(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,L(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}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}}var sU=Object.defineProperty,s$=Object.defineProperties,sq=Object.getOwnPropertyDescriptors,sM=Object.getOwnPropertySymbols,sF=Object.prototype.hasOwnProperty,sz=Object.prototype.propertyIsEnumerable,sH=(e,t,i)=>t in e?sU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,sK=(e,t)=>{for(var i in t||(t={}))sF.call(t,i)&&sH(e,i,t[i]);if(sM)for(var i of sM(t))sz.call(t,i)&&sH(e,i,t[i]);return e},sW=(e,t)=>s$(e,sq(t)),sJ=(e,t,i)=>sH(e,"symbol"!=typeof t?t+"":t,i);class sG extends aX{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,sJ(this,"events",new a.EventEmitter),sJ(this,"name","publisher"),sJ(this,"queue",new Map),sJ(this,"publishTimeout",(0,p.toMiliseconds)(p.ONE_MINUTE)),sJ(this,"initialPublishTimeout",(0,p.toMiliseconds)(15*p.ONE_SECOND)),sJ(this,"needsTransportRestart",!1),sJ(this,"publish",async(e,t,i)=>{var a;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:e,message:t,opts:i}});let r=i?.ttl||rh,s=i7(i),p=i?.prompt||!1,o=i?.tag||0,d=i?.id||(0,rr.getBigIntRpcId)().toString(),l={topic:e,message:t,opts:{ttl:r,relay:s,prompt:p,tag:o,id:d,attestation:i?.attestation,tvf:i?.tvf}},c=`Failed to publish payload, please try again. id:${d} tag:${o}`;try{let a=new Promise(async a=>{let s=({id:e})=>{l.opts.id===e&&(this.removeRequestFromQueue(e),this.relayer.events.removeListener(rm.publish,s),a(l))};this.relayer.events.on(rm.publish,s);let c=U(new Promise((a,s)=>{this.rpcPublish({topic:e,message:t,ttl:r,prompt:p,tag:o,id:d,attestation:i?.attestation,tvf:i?.tvf}).then(a).catch(e=>{this.logger.warn(e,e?.message),s(e)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${d} tag:${o}`);try{await c,this.events.removeListener(rm.publish,s)}catch(e){this.queue.set(d,sW(sK({},l),{attempt:1})),this.logger.warn(e,e?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:d,topic:e,message:t,opts:i}}),await U(a,this.publishTimeout,c)}catch(e){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(e),null!=(a=i?.internal)&&a.throwOnFailedPublish)throw e}finally{this.queue.delete(d)}}),sJ(this,"on",(e,t)=>{this.events.on(e,t)}),sJ(this,"once",(e,t)=>{this.events.once(e,t)}),sJ(this,"off",(e,t)=>{this.events.off(e,t)}),sJ(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.relayer=e,this.logger=(0,aM.Ep)(t,this.name),this.registerEventListeners()}get context(){return(0,aM.Fd)(this.logger)}async rpcPublish(e){var t,i,a,r;let{topic:s,message:p,ttl:o=rh,prompt:d,tag:l,id:c,attestation:h,tvf:u}=e,m={method:ae(i7().protocol).publish,params:sK({topic:s,message:p,ttl:o,prompt:d,tag:l,attestation:h},u),id:c};aD(null==(t=m.params)?void 0:t.prompt)&&(null==(i=m.params)||delete i.prompt),aD(null==(a=m.params)?void 0:a.tag)&&(null==(r=m.params)||delete r.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:m});let f=await this.relayer.request(m);return this.relayer.events.emit(rm.publish,e),this.logger.debug("Successfully Published Payload"),f}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{let i=e.attempt+1;this.queue.set(t,sW(sK({},e),{attempt:i}));let{topic:a,message:r,opts:s,attestation:p}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${i}`),await this.rpcPublish(sW(sK({},e),{topic:a,message:r,ttl:s.ttl,prompt:s.prompt,tag:s.tag,id:s.id,attestation:p,tvf:s.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(a$.Lx.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(rm.connection_stalled);return}this.checkQueue()}),this.relayer.on(rm.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var sY=Object.defineProperty,sZ=(e,t,i)=>t in e?sY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,sQ=(e,t,i)=>sZ(e,"symbol"!=typeof t?t+"":t,i);class sX{constructor(){sQ(this,"map",new Map),sQ(this,"set",(e,t)=>{let i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])}),sQ(this,"get",e=>this.map.get(e)||[]),sQ(this,"exists",(e,t)=>this.get(e).includes(t)),sQ(this,"delete",(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;let i=this.get(e);if(!this.exists(e,t))return;let a=i.filter(e=>e!==t);if(!a.length){this.map.delete(e);return}this.map.set(e,a)}),sQ(this,"clear",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var s1=Object.defineProperty,s0=Object.defineProperties,s2=Object.getOwnPropertyDescriptors,s6=Object.getOwnPropertySymbols,s4=Object.prototype.hasOwnProperty,s3=Object.prototype.propertyIsEnumerable,s8=(e,t,i)=>t in e?s1(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,s9=(e,t)=>{for(var i in t||(t={}))s4.call(t,i)&&s8(e,i,t[i]);if(s6)for(var i of s6(t))s3.call(t,i)&&s8(e,i,t[i]);return e},s5=(e,t)=>s0(e,s2(t)),s7=(e,t,i)=>s8(e,"symbol"!=typeof t?t+"":t,i);class ne extends a2{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,s7(this,"subscriptions",new Map),s7(this,"topicMap",new sX),s7(this,"events",new a.EventEmitter),s7(this,"name","subscription"),s7(this,"version","0.3"),s7(this,"pending",new Map),s7(this,"cached",[]),s7(this,"initialized",!1),s7(this,"storagePrefix",rp),s7(this,"subscribeTimeout",(0,p.toMiliseconds)(p.ONE_MINUTE)),s7(this,"initialSubscribeTimeout",(0,p.toMiliseconds)(15*p.ONE_SECOND)),s7(this,"clientId"),s7(this,"batchSubscribeTopicsLimit",500),s7(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),s7(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 i=i7(t),a={topic:e,relay:i,transportType:t?.transportType};this.pending.set(e,a);let r=await this.rpcSubscribe(e,i,t);return"string"==typeof r&&(this.onSubscribe(r,a),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:e,opts:t}})),r}catch(e){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(e),e}}),s7(this,"unsubscribe",async(e,t)=>{this.isInitialized(),"u">typeof t?.id?await this.unsubscribeById(e,t.id,t):await this.unsubscribeByTopic(e,t)}),s7(this,"isSubscribed",e=>new Promise(t=>{t(this.topicMap.topics.includes(e))})),s7(this,"isKnownTopic",e=>new Promise(t=>{t(this.topicMap.topics.includes(e)||this.pending.has(e)||this.cached.some(t=>t.topic===e))})),s7(this,"on",(e,t)=>{this.events.on(e,t)}),s7(this,"once",(e,t)=>{this.events.once(e,t)}),s7(this,"off",(e,t)=>{this.events.off(e,t)}),s7(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),s7(this,"start",async()=>{await this.onConnect()}),s7(this,"stop",async()=>{await this.onDisconnect()}),s7(this,"restart",async()=>{await this.restore(),await this.onRestart()}),s7(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)}),s7(this,"registerEventListeners",()=>{this.relayer.core.heartbeat.on(a$.Lx.pulse,async()=>{await this.checkPending()}),this.events.on(rb.created,async e=>{let t=rb.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(rb.deleted,async e=>{let t=rb.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}),this.relayer=e,this.logger=(0,aM.Ep)(t,this.name),this.clientId=""}get context(){return(0,aM.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 i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}reset(){this.cached=[],this.initialized=!0}onDisable(){this.values.length>0&&(this.cached=this.values),this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){let i=this.topicMap.get(e);await Promise.all(i.map(async i=>await this.unsubscribeById(e,i,t)))}async unsubscribeById(e,t,i){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}});try{let a=i7(i);await this.restartToComplete({topic:e,id:t,relay:a}),await this.rpcUnsubscribe(e,t,a);let r=a_("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,r),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}})}catch(e){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(e),e}}async rpcSubscribe(e,t,i){var a;i&&i?.transportType!==rv.relay||await this.restartToComplete({topic:e,id:e,relay:t});let r={method:ae(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:r});let s=null==(a=i?.internal)?void 0:a.throwOnFailedPublish;try{let t=await this.getSubscriptionId(e);if(i?.transportType===rv.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(r).catch(e=>this.logger.warn(e))},(0,p.toMiliseconds)(p.ONE_SECOND)),t;let a=new Promise(async t=>{let i=a=>{a.topic===e&&(this.events.removeListener(rb.created,i),t(a.id))};this.events.on(rb.created,i);try{let a=await U(new Promise((e,t)=>{this.relayer.request(r).catch(e=>{this.logger.warn(e,e?.message),t(e)}).then(e)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(rb.created,i),t(a)}catch{}}),o=await U(a,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!o&&s)throw Error(`Subscribing to ${e} failed, please try again`);return o?t:null}catch(e){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(rm.connection_stalled),s)throw e}return null}async rpcBatchSubscribe(e){if(!e.length)return;let t={method:ae(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 U(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(rm.connection_stalled)}}async rpcBatchFetchMessages(e){let t;if(!e.length)return;let i={method:ae(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:i});try{t=await await U(new Promise((e,t)=>{this.relayer.request(i).catch(e=>{this.logger.warn(e),t(e)}).then(e)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(rm.connection_stalled)}return t}rpcUnsubscribe(e,t,i){let a={method:ae(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:a}),this.relayer.request(a)}onSubscribe(e,t){this.setSubscription(e,s5(s9({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(e=>{this.setSubscription(e.id,s9({},e)),this.pending.delete(e.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:t}),this.addSubscription(e,t)}addSubscription(e,t){this.subscriptions.set(e,s9({},t)),this.topicMap.set(t.topic,e),this.events.emit(rb.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}=ab("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 i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(rb.deleted,s5(s9({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(rb.sync)}async onRestart(){if(this.cached.length){let e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let i=0;i<t;i++){let t=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(t)}}this.events.emit(rb.resubscribed)}async restore(){try{let e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){let{message:e}=ab("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=>s5(s9({},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 i=await this.rpcBatchFetchMessages(e);i&&i.messages&&(await (t=(0,p.toMiliseconds)(p.ONE_SECOND),new Promise(e=>setTimeout(e,t))),await this.relayer.handleBatchMessageEvents(i.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){let{message:e}=ab("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 i1(e+await this.getClientId())}}var nt=Object.defineProperty,ni=Object.getOwnPropertySymbols,na=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,ns=(e,t,i)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nn=(e,t)=>{for(var i in t||(t={}))na.call(t,i)&&ns(e,i,t[i]);if(ni)for(var i of ni(t))nr.call(t,i)&&ns(e,i,t[i]);return e},np=(e,t,i)=>ns(e,"symbol"!=typeof t?t+"":t,i);class no extends a1{constructor(e){super(e),np(this,"protocol","wc"),np(this,"version",2),np(this,"core"),np(this,"logger"),np(this,"events",new a.EventEmitter),np(this,"provider"),np(this,"messages"),np(this,"subscriber"),np(this,"publisher"),np(this,"name","relayer"),np(this,"transportExplicitlyClosed",!1),np(this,"initialized",!1),np(this,"connectionAttemptInProgress",!1),np(this,"relayUrl"),np(this,"projectId"),np(this,"packageName"),np(this,"bundleId"),np(this,"hasExperiencedNetworkDisruption",!1),np(this,"pingTimeout"),np(this,"heartBeatTimeout",(0,p.toMiliseconds)(p.THIRTY_SECONDS+p.FIVE_SECONDS)),np(this,"reconnectTimeout"),np(this,"connectPromise"),np(this,"reconnectInProgress",!1),np(this,"requestsInFlight",[]),np(this,"connectTimeout",(0,p.toMiliseconds)(15*p.ONE_SECOND)),np(this,"request",async e=>{var t,i;this.logger.debug("Publishing Request Payload");let a=e.id||(0,rr.getBigIntRpcId)().toString();await this.toEstablishConnection();try{this.logger.trace({id:a,method:e.method,topic:null==(t=e.params)?void 0:t.topic},"relayer.request - publishing...");let r=`${a}:${(null==(i=e.params)?void 0:i.tag)||""}`;this.requestsInFlight.push(r);let s=await this.provider.request(e);return this.requestsInFlight=this.requestsInFlight.filter(e=>e!==r),s}catch(e){throw this.logger.debug(`Failed to Publish Request: ${a}`),e}}),np(this,"resetPingTimeout",()=>{x()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var e,t,i,a;try{this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),null==(a=null==(i=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:i.terminate)||a.call(i)}catch(e){this.logger.warn(e,e?.message)}},this.heartBeatTimeout))}),np(this,"onPayloadHandler",e=>{this.onProviderPayload(e),this.resetPingTimeout()}),np(this,"onConnectHandler",()=>{this.logger.warn({},"Relayer connected \uD83D\uDEDC"),this.startPingTimeout(),this.events.emit(rm.connect)}),np(this,"onDisconnectHandler",()=>{this.logger.warn({},"Relayer disconnected \uD83D\uDED1"),this.requestsInFlight=[],this.onProviderDisconnect()}),np(this,"onProviderErrorHandler",e=>{this.logger.fatal(`Fatal socket error: ${e.message}`),this.events.emit(rm.error,e),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()}),np(this,"registerProviderListeners",()=>{this.provider.on(rf.payload,this.onPayloadHandler),this.provider.on(rf.connect,this.onConnectHandler),this.provider.on(rf.disconnect,this.onDisconnectHandler),this.provider.on(rf.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger="u">typeof e.logger&&"string"!=typeof e.logger?(0,aM.Ep)(e.logger,this.name):(0,aM.gw)((0,aM.jI)({level:e.logger||"error"})),this.messages=new sj(this.logger,e.core),this.subscriber=new ne(this,this.logger),this.publisher=new sG(this,this.logger),this.relayUrl=e?.relayUrl||ru,this.projectId=e.projectId,P()&&"u">typeof global&&"u">typeof(null==global?void 0:global.Platform)&&(null==global?void 0:global.Platform.OS)==="android"?this.packageName=C():P()&&"u">typeof global&&"u">typeof(null==global?void 0:global.Platform)&&(null==global?void 0:global.Platform.OS)==="ios"&&(this.bundleId=C()),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,aM.Fd)(this.logger)}get connected(){var e,t,i;return(null==(i=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:i.readyState)===1}get connecting(){var e,t,i;return(null==(i=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:i.readyState)===0||void 0!==this.connectPromise}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:rv.relay},ry.outbound)}async subscribe(e,t){var i,a,r;this.isInitialized(),null!=t&&t.transportType&&t?.transportType!=="relay"||await this.toEstablishConnection();let s=typeof(null==(i=t?.internal)?void 0:i.throwOnFailedPublish)>"u"||(null==(a=t?.internal)?void 0:a.throwOnFailedPublish),p=(null==(r=this.subscriber.topicMap.get(e))?void 0:r[0])||"",o,d=t=>{t.topic===e&&(this.subscriber.off(rb.created,d),o())};return await Promise.all([new Promise(e=>{o=e,this.subscriber.on(rb.created,d)}),new Promise(async(i,a)=>{p=await this.subscriber.subscribe(e,nn({internal:{throwOnFailedPublish:s}},t)).catch(e=>{s&&a(e)})||p,i()})]),p}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 U(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.warn("Starting WS connection skipped because the client has no topics to work with.");return}if(this.connectPromise?(this.logger.debug({},"Waiting for existing connection attempt to resolve..."),await this.connectPromise,this.logger.debug({},"Existing connection attempt resolved")):(this.connectPromise=new Promise(async(t,i)=>{await this.connect(e).then(t).catch(i).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw 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 aL())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:i}=e;if(!t.sessionExists){let e=M(p.FIVE_MINUTES);await this.core.pairing.pairings.set(i,{topic:i,expiry:e,relay:{protocol:"irn"},active:!1})}this.events.emit(rm.message,e),await this.recordMessageEvent(e,ry.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 i=()=>{t(Error("Connection interrupted while trying to subscribe"))};this.provider.once(rf.disconnect,i),await U(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(rf.disconnect,i),clearTimeout(this.reconnectTimeout)}),await new Promise(async(e,t)=>{let i=()=>{t(Error("Connection interrupted while trying to subscribe"))};this.provider.once(rf.disconnect,i),await this.subscriber.start().then(e).catch(t).finally(()=>{this.provider.off(rf.disconnect,i)})}),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,p.toMiliseconds)(1*t))),t++}}startPingTimeout(){var e,t,i,a,r;if(x())try{null!=(t=null==(e=this.provider)?void 0:e.connection)&&t.socket&&(null==(r=null==(a=null==(i=this.provider)?void 0:i.connection)?void 0:a.socket)||r.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 ra.r(new rs.Z(function({protocol:e,version:t,relayUrl:i,sdkVersion:a,auth:r,projectId:s,useOnCloseEvent:p,bundleId:o,packageName:d}){let l=i.split("?"),c=k(e,t,a),h=function(e,t){let i=new URLSearchParams(e);for(let e of Object.keys(t).sort())if(t.hasOwnProperty(e)){let a=t[e];void 0!==a&&i.set(e,a)}return i.toString()}(l[1]||"",{auth:r,ua:c,projectId:s,useOnCloseEvent:p||void 0,packageName:d||void 0,bundleId:o||void 0});return l[0]+"?"+h}({sdkVersion:rg,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:i,message:a}=e;await this.messages.set(i,a,t)}async shouldIgnoreMessageEvent(e){let{topic:t,message:i}=e;if(!i||0===i.length)return this.logger.warn(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;let a=this.messages.has(t,i);return a&&this.logger.warn(`Ignoring duplicate message: ${i}`),a}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),(0,rr.isJsonRpcRequest)(e)){if(!e.method.endsWith("_subscription"))return;let t=e.params,{topic:i,message:a,publishedAt:r,attestation:s}=t.data,p={topic:i,message:a,publishedAt:r,transportType:rv.relay,attestation:s};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(nn({type:"event",event:t.id},p)),this.events.emit(t.id,p),await this.acknowledgePayload(e),await this.onMessageEvent(p)}else(0,rr.isJsonRpcResponse)(e)&&this.events.emit(rm.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,ry.inbound),this.events.emit(rm.message,e))}async acknowledgePayload(e){let t=(0,rr.formatJsonRpcResult)(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(rf.payload,this.onPayloadHandler),this.provider.off(rf.connect,this.onConnectHandler),this.provider.off(rf.disconnect,this.onDisconnectHandler),this.provider.off(rf.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await aL();(function(e){switch(A()){case O.browser:!P()&&T()&&(window.addEventListener("online",()=>e(!0)),window.addEventListener("offline",()=>e(!1)));break;case O.reactNative:P()&&"u">typeof global&&null!=global&&global.NetInfo&&global?.NetInfo.addEventListener(t=>e(t?.isConnected));case O.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(a$.Lx.pulse,async()=>{var e;if(!this.transportExplicitlyClosed&&!this.connected&&(!(T()&&(0,o.getDocument)())||(null==(e=(0,o.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(rm.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,p.toMiliseconds)(.1)))))}isInitialized(){if(!this.initialized){let{message:e}=ab("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 nd(){}function nl(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 nc(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function nh(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let nu="[object Arguments]",nm="[object Object]";var nf=Object.defineProperty,ng=Object.getOwnPropertySymbols,nv=Object.prototype.hasOwnProperty,ny=Object.prototype.propertyIsEnumerable,nw=(e,t,i)=>t in e?nf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nb=(e,t)=>{for(var i in t||(t={}))nv.call(t,i)&&nw(e,i,t[i]);if(ng)for(var i of ng(t))ny.call(t,i)&&nw(e,i,t[i]);return e},n_=(e,t,i)=>nw(e,"symbol"!=typeof t?t+"":t,i);class nE extends a0{constructor(e,t,i,a=rp,r){super(e,t,i,a),this.core=e,this.logger=t,this.name=i,n_(this,"map",new Map),n_(this,"version","0.3"),n_(this,"cached",[]),n_(this,"initialized",!1),n_(this,"getKey"),n_(this,"storagePrefix",rp),n_(this,"recentlyDeleted",[]),n_(this,"recentlyDeletedLimit",200),n_(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>{this.getKey&&null!==e&&!aD(e)?this.map.set(this.getKey(e),e):function(e){var t;return null==(t=e?.proposer)?void 0:t.publicKey}(e)?this.map.set(e.id,e):e?.topic&&this.map.set(e.topic,e)}),this.cached=[],this.initialized=!0)}),n_(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())}),n_(this,"get",e=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:e}),this.getData(e))),n_(this,"getAll",e=>(this.isInitialized(),e?this.values.filter(t=>Object.keys(e).every(i=>(function e(t,i,a,r,s,p,o){let d=o(t,i,a,r,s,p);if(void 0!==d)return d;if(typeof t==typeof i)switch(typeof t){case"bigint":case"string":case"boolean":case"symbol":case"undefined":case"function":return t===i;case"number":return t===i||Object.is(t,i)}return function t(i,a,r,s){if(Object.is(i,a))return!0;let p=nh(i),o=nh(a);if(p===nu&&(p=nm),o===nu&&(o=nm),p!==o)return!1;switch(p){case"[object String]":return i.toString()===a.toString();case"[object Number]":{let e=i.valueOf(),t=a.valueOf();return e===t||Number.isNaN(e)&&Number.isNaN(t)}case"[object Boolean]":case"[object Date]":case"[object Symbol]":return Object.is(i.valueOf(),a.valueOf());case"[object RegExp]":return i.source===a.source&&i.flags===a.flags;case"[object Function]":return i===a}let d=(r=r??new Map).get(i),l=r.get(a);if(null!=d&&null!=l)return d===a;r.set(i,a),r.set(a,i);try{switch(p){case"[object Map]":if(i.size!==a.size)return!1;for(let[t,p]of i.entries())if(!a.has(t)||!e(p,a.get(t),t,i,a,r,s))return!1;return!0;case"[object Set]":{if(i.size!==a.size)return!1;let t=Array.from(i.values()),p=Array.from(a.values());for(let o=0;o<t.length;o++){let d=t[o],l=p.findIndex(t=>e(d,t,void 0,i,a,r,s));if(-1===l)return!1;p.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 Buffer&&Buffer.isBuffer(i)!==Buffer.isBuffer(a)||i.length!==a.length)return!1;for(let t=0;t<i.length;t++)if(!e(i[t],a[t],t,i,a,r,s))return!1;return!0;case"[object ArrayBuffer]":return i.byteLength===a.byteLength&&t(new Uint8Array(i),new Uint8Array(a),r,s);case"[object DataView]":return i.byteLength===a.byteLength&&i.byteOffset===a.byteOffset&&t(new Uint8Array(i),new Uint8Array(a),r,s);case"[object Error]":return i.name===a.name&&i.message===a.message;case nm:{if(!(t(i.constructor,a.constructor,r,s)||nl(i)&&nl(a)))return!1;let p=[...Object.keys(i),...nc(i)],o=[...Object.keys(a),...nc(a)];if(p.length!==o.length)return!1;for(let t=0;t<p.length;t++){let o=p[t],d=i[o];if(!Object.hasOwn(a,o))return!1;let l=a[o];if(!e(d,l,o,i,a,r,s))return!1}return!0}default:return!1}}finally{r.delete(i),r.delete(a)}}(t,i,p,o)})(t[i],e[i],void 0,void 0,void 0,void 0,nd))):this.values)),n_(this,"update",async(e,t)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:e,update:t});let i=nb(nb({},this.getData(e)),t);this.map.set(e,i),await this.persist()}),n_(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,aM.Ep)(t,this.name),this.storagePrefix=a,this.getKey=r}get context(){return(0,aM.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}=ab("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(t),Error(t)}let{message:t}=ab("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}=ab("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}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}}var nS=Object.defineProperty,nD=(e,t,i)=>t in e?nS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nN=(e,t,i)=>nD(e,"symbol"!=typeof t?t+"":t,i);class nI{constructor(e,t){this.core=e,this.logger=t,nN(this,"name","pairing"),nN(this,"version","0.3"),nN(this,"events",new(r())),nN(this,"pairings"),nN(this,"initialized",!1),nN(this,"storagePrefix",rp),nN(this,"ignoredPayloadTypes",[1]),nN(this,"registeredMethods",[]),nN(this,"init",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))}),nN(this,"register",({methods:e})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...e])]}),nN(this,"create",async e=>{this.isInitialized();let t=iQ(),i=await this.core.crypto.setSymKey(t),a=M(p.FIVE_MINUTES),r={protocol:"irn"},s={topic:i,expiry:a,relay:r,active:!1,methods:e?.methods},o=ai({protocol:this.core.protocol,version:this.core.version,topic:i,symKey:t,relay:r,expiryTimestamp:a,methods:e?.methods});return this.events.emit(rE.create,s),this.core.expirer.set(i,a),await this.pairings.set(i,s),await this.core.relayer.subscribe(i,{transportType:e?.transportType}),{topic:i,uri:o}}),nN(this,"pair",async e=>{let t;this.isInitialized();let i=this.core.eventClient.createEvent({properties:{topic:e?.uri,trace:[rx.pairing_started]}});this.isValidPair(e,i);let{topic:a,symKey:r,relay:s,expiryTimestamp:o,methods:d}=at(e.uri);if(i.props.properties.topic=a,i.addTrace(rx.pairing_uri_validation_success),i.addTrace(rx.pairing_uri_not_expired),this.pairings.keys.includes(a)){if(t=this.pairings.get(a),i.addTrace(rx.existing_pairing),t.active)throw i.setError(rP.active_pairing_already_exists),Error(`Pairing already exists: ${a}. Please try again with a new connection URI.`);i.addTrace(rx.pairing_not_expired)}let l=o||M(p.FIVE_MINUTES),c={topic:a,relay:s,expiry:l,active:!1,methods:d};this.core.expirer.set(a,l),await this.pairings.set(a,c),i.addTrace(rx.store_new_pairing),e.activatePairing&&await this.activate({topic:a}),this.events.emit(rE.create,c),i.addTrace(rx.emit_inactive_pairing),this.core.crypto.keychain.has(a)||await this.core.crypto.setSymKey(r,a),i.addTrace(rx.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{i.setError(rP.no_internet_connection)}try{await this.core.relayer.subscribe(a,{relay:s})}catch(e){throw i.setError(rP.subscribe_pairing_topic_failure),e}return i.addTrace(rx.subscribe_pairing_topic_success),c}),nN(this,"activate",async({topic:e})=>{this.isInitialized();let t=M(p.FIVE_MINUTES);this.core.expirer.set(e,t),await this.pairings.update(e,{active:!0,expiry:t})}),nN(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:i,resolve:a,reject:r}=j();this.events.once(z("pairing_ping",e),({error:e})=>{e?r(e):a()}),await i()}}),nN(this,"updateExpiry",async({topic:e,expiry:t})=>{this.isInitialized(),await this.pairings.update(e,{expiry:t})}),nN(this,"updateMetadata",async({topic:e,metadata:t})=>{this.isInitialized(),await this.pairings.update(e,{peerMetadata:t})}),nN(this,"getPairings",()=>(this.isInitialized(),this.pairings.values)),nN(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",a_("USER_DISCONNECTED")),await this.deletePairing(t))}),nN(this,"formatUriFromPairing",e=>{this.isInitialized();let{topic:t,relay:i,expiry:a,methods:r}=e,s=this.core.crypto.keychain.get(t);return ai({protocol:this.core.protocol,version:this.core.version,topic:t,symKey:s,relay:i,expiryTimestamp:a,methods:r})}),nN(this,"sendRequest",async(e,t,i)=>{let a=(0,rr.formatJsonRpcRequest)(t,i),r=await this.core.crypto.encode(e,a),s=r_[t].req;return this.core.history.set(e,a),this.core.relayer.publish(e,r,s),a.id}),nN(this,"sendResult",async(e,t,i)=>{let a=(0,rr.formatJsonRpcResult)(e,i),r=await this.core.crypto.encode(t,a),s=r_[(await this.core.history.get(t,e)).request.method].res;await this.core.relayer.publish(t,r,s),await this.core.history.resolve(a)}),nN(this,"sendError",async(e,t,i)=>{let a=(0,rr.formatJsonRpcError)(e,i),r=await this.core.crypto.encode(t,a),s=(await this.core.history.get(t,e)).request.method,p=r_[s]?r_[s].res:r_.unregistered_method.res;await this.core.relayer.publish(t,r,p),await this.core.history.resolve(a)}),nN(this,"deletePairing",async(e,t)=>{await this.core.relayer.unsubscribe(e),await Promise.all([this.pairings.delete(e,a_("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(e),t?Promise.resolve():this.core.expirer.del(e)])}),nN(this,"cleanup",async()=>{let e=this.pairings.getAll().filter(e=>F(e.expiry));await Promise.all(e.map(e=>this.deletePairing(e.topic)))}),nN(this,"onRelayEventRequest",async e=>{let{topic:t,payload:i}=e;switch(i.method){case"wc_pairingPing":return await this.onPairingPingRequest(t,i);case"wc_pairingDelete":return await this.onPairingDeleteRequest(t,i);default:return await this.onUnknownRpcMethodRequest(t,i)}}),nN(this,"onRelayEventResponse",async e=>{let{topic:t,payload:i}=e,a=(await this.core.history.get(t,i.id)).request.method;return"wc_pairingPing"===a?this.onPairingPingResponse(t,i):this.onUnknownRpcMethodResponse(a)}),nN(this,"onPairingPingRequest",async(e,t)=>{let{id:i}=t;try{this.isValidPing({topic:e}),await this.sendResult(i,e,!0),this.events.emit(rE.ping,{id:i,topic:e})}catch(t){await this.sendError(i,e,t),this.logger.error(t)}}),nN(this,"onPairingPingResponse",(e,t)=>{let{id:i}=t;setTimeout(()=>{(0,rr.isJsonRpcResult)(t)?this.events.emit(z("pairing_ping",i),{}):(0,rr.isJsonRpcError)(t)&&this.events.emit(z("pairing_ping",i),{error:t.error})},500)}),nN(this,"onPairingDeleteRequest",async(e,t)=>{let{id:i}=t;try{this.isValidDisconnect({topic:e}),await this.deletePairing(e),this.events.emit(rE.delete,{id:i,topic:e})}catch(t){await this.sendError(i,e,t),this.logger.error(t)}}),nN(this,"onUnknownRpcMethodRequest",async(e,t)=>{let{id:i,method:a}=t;try{if(this.registeredMethods.includes(a))return;let t=a_("WC_METHOD_UNSUPPORTED",a);await this.sendError(i,e,t),this.logger.error(t)}catch(t){await this.sendError(i,e,t),this.logger.error(t)}}),nN(this,"onUnknownRpcMethodResponse",e=>{this.registeredMethods.includes(e)||this.logger.error(a_("WC_METHOD_UNSUPPORTED",e))}),nN(this,"isValidPair",(e,t)=>{var i;if(!aC(e)){let{message:i}=ab("MISSING_OR_INVALID",`pair() params: ${e}`);throw t.setError(rP.malformed_pairing_uri),Error(i)}if(!function(e){function t(e){try{return"u">typeof new URL(e)}catch{return!1}}try{if(aN(e,!1)){if(t(e))return!0;let i=Z(e);return t(i)}}catch{}return!1}(e.uri)){let{message:i}=ab("MISSING_OR_INVALID",`pair() uri: ${e.uri}`);throw t.setError(rP.malformed_pairing_uri),Error(i)}let a=at(e?.uri);if(!(null!=(i=a?.relay)&&i.protocol)){let{message:e}=ab("MISSING_OR_INVALID","pair() uri#relay-protocol");throw t.setError(rP.malformed_pairing_uri),Error(e)}if(!(null!=a&&a.symKey)){let{message:e}=ab("MISSING_OR_INVALID","pair() uri#symKey");throw t.setError(rP.malformed_pairing_uri),Error(e)}if(null!=a&&a.expiryTimestamp&&(0,p.toMiliseconds)(a?.expiryTimestamp)<Date.now()){t.setError(rP.pairing_expired);let{message:e}=ab("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw Error(e)}}),nN(this,"isValidPing",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),nN(this,"isValidDisconnect",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),nN(this,"isValidPairingTopic",async e=>{if(!aN(e,!1)){let{message:t}=ab("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.pairings.keys.includes(e)){let{message:t}=ab("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw Error(t)}if(F(this.pairings.get(e).expiry)){await this.deletePairing(e);let{message:t}=ab("EXPIRED",`pairing topic: ${e}`);throw Error(t)}}),this.core=e,this.logger=(0,aM.Ep)(t,this.name),this.pairings=new nE(this.core,this.logger,this.name,this.storagePrefix)}get context(){return(0,aM.Fd)(this.logger)}isInitialized(){if(!this.initialized){let{message:e}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}registerRelayerEvents(){this.core.relayer.on(rm.message,async e=>{let{topic:t,message:i,transportType:a}=e;if(this.pairings.keys.includes(t)&&a!==rv.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))try{let e=await this.core.crypto.decode(t,i);(0,rr.isJsonRpcRequest)(e)?(this.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e})):(0,rr.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,i)}catch(e){this.logger.error(e)}})}registerExpirerEvents(){this.core.expirer.on(rD.expired,async e=>{let{topic:t}=q(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(rE.expire,{topic:t}))})}}var nO=Object.defineProperty,nx=(e,t,i)=>t in e?nO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nP=(e,t,i)=>nx(e,"symbol"!=typeof t?t+"":t,i);class nT extends aZ{constructor(e,t){super(e,t),this.core=e,this.logger=t,nP(this,"records",new Map),nP(this,"events",new a.EventEmitter),nP(this,"name","history"),nP(this,"version","0.3"),nP(this,"cached",[]),nP(this,"initialized",!1),nP(this,"storagePrefix",rp),nP(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)}),nP(this,"set",(e,t,i)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:e,request:t,chainId:i}),this.records.has(t.id))return;let a={id:t.id,topic:e,request:{method:t.method,params:t.params||null},chainId:i,expiry:M(p.THIRTY_DAYS)};this.records.set(a.id,a),this.persist(),this.events.emit(rS.created,a)}),nP(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,rr.isJsonRpcError)(e)?{error:e.error}:{result:e.result},this.records.set(t.id,t),this.persist(),this.events.emit(rS.updated,t))}),nP(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))),nP(this,"delete",(e,t)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:t}),this.values.forEach(i=>{i.topic!==e||"u">typeof t&&i.id!==t||(this.records.delete(i.id),this.events.emit(rS.deleted,i))}),this.persist()}),nP(this,"exists",async(e,t)=>(this.isInitialized(),!!this.records.has(t)&&(await this.getRecord(t)).topic===e)),nP(this,"on",(e,t)=>{this.events.on(e,t)}),nP(this,"once",(e,t)=>{this.events.once(e,t)}),nP(this,"off",(e,t)=>{this.events.off(e,t)}),nP(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.logger=(0,aM.Ep)(t,this.name)}get context(){return(0,aM.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 i={topic:t.topic,request:(0,rr.formatJsonRpcRequest)(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();let t=this.records.get(e);if(!t){let{message:t}=ab("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(rS.sync)}async restore(){try{let e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){let{message:e}=ab("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(rS.created,e=>{let t=rS.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(rS.updated,e=>{let t=rS.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(rS.deleted,e=>{let t=rS.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(a$.Lx.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{(0,p.toMiliseconds)(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(rS.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){let{message:e}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}}var nA=Object.defineProperty,nC=(e,t,i)=>t in e?nA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nR=(e,t,i)=>nC(e,"symbol"!=typeof t?t+"":t,i);class nk extends a6{constructor(e,t){super(e,t),this.core=e,this.logger=t,nR(this,"expirations",new Map),nR(this,"events",new a.EventEmitter),nR(this,"name","expirer"),nR(this,"version","0.3"),nR(this,"cached",[]),nR(this,"initialized",!1),nR(this,"storagePrefix",rp),nR(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)}),nR(this,"has",e=>{try{let t=this.formatTarget(e);return"u">typeof this.getExpiration(t)}catch{return!1}}),nR(this,"set",(e,t)=>{this.isInitialized();let i=this.formatTarget(e),a={target:i,expiry:t};this.expirations.set(i,a),this.checkExpiry(i,a),this.events.emit(rD.created,{target:i,expiration:a})}),nR(this,"get",e=>{this.isInitialized();let t=this.formatTarget(e);return this.getExpiration(t)}),nR(this,"del",e=>{if(this.isInitialized(),this.has(e)){let t=this.formatTarget(e),i=this.getExpiration(t);this.expirations.delete(t),this.events.emit(rD.deleted,{target:t,expiration:i})}}),nR(this,"on",(e,t)=>{this.events.on(e,t)}),nR(this,"once",(e,t)=>{this.events.once(e,t)}),nR(this,"off",(e,t)=>{this.events.off(e,t)}),nR(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.logger=(0,aM.Ep)(t,this.name)}get context(){return(0,aM.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 $("topic",e);if("number"==typeof e)return $("id",e);let{message:t}=ab("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(rD.sync)}async restore(){try{let e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){let{message:e}=ab("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}=ab("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(t),Error(t)}return t}checkExpiry(e,t){let{expiry:i}=t;(0,p.toMiliseconds)(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(rD.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(a$.Lx.pulse,()=>this.checkExpirations()),this.events.on(rD.created,e=>{let t=rD.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(rD.expired,e=>{let t=rD.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(rD.deleted,e=>{let t=rD.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){let{message:e}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}}var nV=Object.defineProperty,nL=(e,t,i)=>t in e?nV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nB=(e,t,i)=>nL(e,"symbol"!=typeof t?t+"":t,i);class nj extends a4{constructor(e,t,i){super(e,t,i),this.core=e,this.logger=t,this.store=i,nB(this,"name","verify-api"),nB(this,"abortController"),nB(this,"isDevEnv"),nB(this,"verifyUrlV3",rI),nB(this,"storagePrefix",rp),nB(this,"version",2),nB(this,"publicKey"),nB(this,"fetchPromise"),nB(this,"init",async()=>{var e;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&(0,p.toMiliseconds)(null==(e=this.publicKey)?void 0:e.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))}),nB(this,"register",async e=>{if(!T()||this.isDevEnv)return;let t=window.location.origin,{id:i,decryptedId:a}=e,r=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${t}&id=${i}&decryptedId=${a}`;try{let e=(0,o.getDocument)(),t=this.startAbortTimer(5*p.ONE_SECOND),a=await new Promise((a,s)=>{let p=()=>{window.removeEventListener("message",d),e.body.removeChild(o),s("attestation aborted")};this.abortController.signal.addEventListener("abort",p);let o=e.createElement("iframe");o.src=r,o.style.display="none",o.addEventListener("error",p,{signal:this.abortController.signal});let d=r=>{if(r.data&&"string"==typeof r.data)try{let s=JSON.parse(r.data);if("verify_attestation"===s.type){if((0,h.xp)(s.attestation).payload.id!==i)return;clearInterval(t),e.body.removeChild(o),this.abortController.signal.removeEventListener("abort",p),window.removeEventListener("message",d),a(null===s.attestation?"":s.attestation)}}catch(e){this.logger.warn(e)}};e.body.appendChild(o),window.addEventListener("message",d,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",a),a}catch(e){this.logger.warn(e)}return""}),nB(this,"resolve",async e=>{if(this.isDevEnv)return"";let{attestationId:t,hash:i,encryptedId:a}=e;if(""===t){this.logger.debug("resolve: attestationId is empty, skipping");return}if(t){if((0,h.xp)(t).payload.id!==a)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(!i)return;let r=this.getVerifyUrl(e?.verifyUrl);return this.fetchAttestation(i,r)}),nB(this,"fetchAttestation",async(e,t)=>{this.logger.debug(`resolving attestation: ${e} from url: ${t}`);let i=this.startAbortTimer(5*p.ONE_SECOND),a=await fetch(`${t}/attestation/${e}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(i),200===a.status?await a.json():void 0}),nB(this,"getVerifyUrl",e=>{let t=e||rN;return rO.includes(t)||(this.logger.info(`verify url: ${t}, not included in trusted list, assigning default: ${rN}`),t=rN),t}),nB(this,"fetchPublicKey",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);let e=this.startAbortTimer(p.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)}}),nB(this,"persistPublicKey",async e=>{this.logger.debug("persisting public key to local storage",e),await this.store.setItem(this.storeKey,e),this.publicKey=e}),nB(this,"removePublicKey",async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),nB(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 i=await this.fetchAndPersistPublicKey();try{if(i)return this.validateAttestation(e,i)}catch(e){this.logger.error(e),this.logger.warn("error validating attestation")}}),nB(this,"getPublicKey",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),nB(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}),nB(this,"validateAttestation",(e,t)=>{let i=function(e,t){let[i,a,r]=e.split("."),s=Buffer.from(i4(r),"base64");if(64!==s.length)throw Error("Invalid signature length");let p=s.slice(0,32),o=s.slice(32,64),d=tk(`${i}.${a}`),l=function(e){let t=Buffer.from(e.x,"base64"),i=Buffer.from(e.y,"base64");return(0,u.zo)([new Uint8Array([4]),t,i])}(t);if(!iK.verify((0,u.zo)([p,o]),d,l))throw Error("Invalid signature");return(0,h.xp)(e).payload}(e,t.publicKey),a={hasExpired:(0,p.toMiliseconds)(i.exp)<Date.now(),payload:i};if(a.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),Error("JWT attestation expired");return{origin:a.payload.origin,isScam:a.payload.isScam,isVerified:a.payload.isVerified}}),this.logger=(0,aM.Ep)(t,this.name),this.abortController=new AbortController,this.isDevEnv=Y(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return(0,aM.Fd)(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),(0,p.toMiliseconds)(e))}}var nU=Object.defineProperty,n$=(e,t,i)=>t in e?nU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nq=(e,t,i)=>n$(e,"symbol"!=typeof t?t+"":t,i);class nM extends a3{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,nq(this,"context","echo"),nq(this,"registerDeviceToken",async e=>{let{clientId:t,token:i,notificationType:a,enableEncrypted:r=!1}=e,s=`https://echo.walletconnect.com/${this.projectId}/clients`;await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:t,type:a,token:i,always_raw:r})})}),this.logger=(0,aM.Ep)(t,this.context)}}var nF=Object.defineProperty,nz=Object.getOwnPropertySymbols,nH=Object.prototype.hasOwnProperty,nK=Object.prototype.propertyIsEnumerable,nW=(e,t,i)=>t in e?nF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nJ=(e,t)=>{for(var i in t||(t={}))nH.call(t,i)&&nW(e,i,t[i]);if(nz)for(var i of nz(t))nK.call(t,i)&&nW(e,i,t[i]);return e},nG=(e,t,i)=>nW(e,"symbol"!=typeof t?t+"":t,i);class nY extends a8{constructor(e,t,i=!0){super(e,t,i),this.core=e,this.logger=t,nG(this,"context","event-client"),nG(this,"storagePrefix",rp),nG(this,"storageVersion",.1),nG(this,"events",new Map),nG(this,"shouldPersist",!1),nG(this,"init",async()=>{if(!Y())try{let e={eventId:G(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:k(this.core.relayer.protocol,this.core.relayer.version,rg)}}};await this.sendEvent([e])}catch(e){this.logger.warn(e)}}),nG(this,"createEvent",e=>{let{event:t="ERROR",type:i="",properties:{topic:a,trace:r}}=e,s=G(),p=this.core.projectId||"",o=nJ({eventId:s,timestamp:Date.now(),props:{event:t,type:i,properties:{topic:a,trace:r}},bundleId:p,domain:this.getAppDomain()},this.setMethods(s));return this.telemetryEnabled&&(this.events.set(s,o),this.shouldPersist=!0),o}),nG(this,"getEvent",e=>{let{eventId:t,topic:i}=e;if(t)return this.events.get(t);let a=Array.from(this.events.values()).find(e=>e.props.properties.topic===i);if(a)return nJ(nJ({},a),this.setMethods(a.eventId))}),nG(this,"deleteEvent",e=>{let{eventId:t}=e;this.events.delete(t),this.shouldPersist=!0}),nG(this,"setEventListeners",()=>{this.core.heartbeat.on(a$.Lx.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(e=>{(0,p.fromMiliseconds)(Date.now())-(0,p.fromMiliseconds)(e.timestamp)>86400&&(this.events.delete(e.eventId),this.shouldPersist=!0)})})}),nG(this,"setMethods",e=>({addTrace:t=>this.addTrace(e,t),setError:t=>this.setError(e,t)})),nG(this,"addTrace",(e,t)=>{let i=this.events.get(e);i&&(i.props.properties.trace.push(t),this.events.set(e,i),this.shouldPersist=!0)}),nG(this,"setError",(e,t)=>{let i=this.events.get(e);i&&(i.props.type=t,i.timestamp=Date.now(),this.events.set(e,i),this.shouldPersist=!0)}),nG(this,"persist",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),nG(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,nJ(nJ({},e),this.setMethods(e.eventId)))})}catch(e){this.logger.warn(e)}}),nG(this,"submit",async()=>{if(!this.telemetryEnabled||0===this.events.size)return;let e=[];for(let[t,i]of this.events)i.props.type&&e.push(i);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)}}),nG(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-${rg}${t}`,{method:"POST",body:JSON.stringify(e)})}),nG(this,"getAppDomain",()=>R().url),this.logger=(0,aM.Ep)(t,this.context),this.telemetryEnabled=i,i?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var nZ=Object.defineProperty,nQ=Object.getOwnPropertySymbols,nX=Object.prototype.hasOwnProperty,n1=Object.prototype.propertyIsEnumerable,n0=(e,t,i)=>t in e?nZ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,n2=(e,t)=>{for(var i in t||(t={}))nX.call(t,i)&&n0(e,i,t[i]);if(nQ)for(var i of nQ(t))n1.call(t,i)&&n0(e,i,t[i]);return e},n6=(e,t,i)=>n0(e,"symbol"!=typeof t?t+"":t,i);class n4 extends aW{constructor(e){var t;super(e),n6(this,"protocol","wc"),n6(this,"version",2),n6(this,"name",rn),n6(this,"relayUrl"),n6(this,"projectId"),n6(this,"customStoragePrefix"),n6(this,"events",new a.EventEmitter),n6(this,"logger"),n6(this,"heartbeat"),n6(this,"relayer"),n6(this,"crypto"),n6(this,"storage"),n6(this,"history"),n6(this,"expirer"),n6(this,"pairing"),n6(this,"verify"),n6(this,"echoClient"),n6(this,"linkModeSupportedApps"),n6(this,"eventClient"),n6(this,"initialized",!1),n6(this,"logChunkController"),n6(this,"on",(e,t)=>this.events.on(e,t)),n6(this,"once",(e,t)=>this.events.once(e,t)),n6(this,"off",(e,t)=>this.events.off(e,t)),n6(this,"removeListener",(e,t)=>this.events.removeListener(e,t)),n6(this,"dispatchEnvelope",({topic:e,message:t,sessionExists:i})=>{if(!e||!t)return;let a={topic:e,message:t,publishedAt:Date.now(),transportType:rv.link_mode};this.relayer.onLinkMessageEvent(a,{sessionExists:i})});let i=this.getGlobalCore(e?.customStoragePrefix);if(i)try{return this.customStoragePrefix=i.customStoragePrefix,this.logger=i.logger,this.heartbeat=i.heartbeat,this.crypto=i.crypto,this.history=i.history,this.expirer=i.expirer,this.storage=i.storage,this.relayer=i.relayer,this.pairing=i.pairing,this.verify=i.verify,this.echoClient=i.echoClient,this.linkModeSupportedApps=i.linkModeSupportedApps,this.eventClient=i.eventClient,this.initialized=i.initialized,this.logChunkController=i.logChunkController,i}catch(e){console.warn("Failed to copy global core",e)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||ru,this.customStoragePrefix=null!=e&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";let r=(0,aM.jI)({level:"string"==typeof e?.logger&&e.logger?e.logger:ro.logger,name:rn}),{logger:s,chunkLoggerController:p}=(0,aM.Rt)({opts:r,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=p,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,aM.Ep)(s,this.name),this.heartbeat=new a$.C$,this.crypto=new sO(this,this.logger,e?.keychain),this.history=new nT(this,this.logger),this.expirer=new nk(this,this.logger),this.storage=null!=e&&e.storage?e.storage:new aq.Z(n2(n2({},rd),e?.storageOptions)),this.relayer=new no({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new nI(this,this.logger),this.verify=new nj(this,this.logger,this.storage),this.echoClient=new nM(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new nY(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(e){let t=new n4(e);await t.initialize();let i=await t.crypto.getClientId();return await t.storage.setItem("WALLETCONNECT_CLIENT_ID",i),t}get context(){return(0,aM.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(rw,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(rw)||[],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}`,i=`${t}_count`;return globalThis[i]=(globalThis[i]||0)+1,globalThis[i]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[i]} times.`),globalThis[t]}catch(e){console.warn("Failed to get global WalletConnect core",e);return}}setGlobalCore(e){var t;try{if(this.isGlobalCoreDisabled())return;let i=`_walletConnectCore_${(null==(t=e.opts)?void 0:t.customStoragePrefix)||""}`;globalThis[i]=e}catch(e){console.warn("Failed to set global WalletConnect core",e)}}isGlobalCoreDisabled(){try{return"u">typeof process&&"true"===process.env.DISABLE_GLOBAL_CORE}catch{return!0}}}let n3="client",n8=`wc@2:${n3}:`,n9={name:n3,logger:"error"},n5="WALLETCONNECT_DEEPLINK_CHOICE",n7="Proposal expired",pe=p.SEVEN_DAYS,pt={wc_sessionPropose:{req:{ttl:p.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:p.ONE_DAY,prompt:!1,tag:1104},res:{ttl:p.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:p.ONE_DAY,prompt:!1,tag:1106},res:{ttl:p.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:p.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:p.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:p.ONE_DAY,prompt:!1,tag:1112},res:{ttl:p.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:p.ONE_DAY,prompt:!1,tag:1114},res:{ttl:p.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:p.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:p.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1119}}},pi={min:p.FIVE_MINUTES,max:p.SEVEN_DAYS},pa={idle:"IDLE",active:"ACTIVE"},pr={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"}},ps=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],pn="wc@1.5:auth:",pp=`${pn}:PUB_KEY`;var po=Object.defineProperty,pd=Object.defineProperties,pl=Object.getOwnPropertyDescriptors,pc=Object.getOwnPropertySymbols,ph=Object.prototype.hasOwnProperty,pu=Object.prototype.propertyIsEnumerable,pm=(e,t,i)=>t in e?po(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,pf=(e,t)=>{for(var i in t||(t={}))ph.call(t,i)&&pm(e,i,t[i]);if(pc)for(var i of pc(t))pu.call(t,i)&&pm(e,i,t[i]);return e},pg=(e,t)=>pd(e,pl(t)),pv=(e,t,i)=>pm(e,"symbol"!=typeof t?t+"":t,i);class py extends rt{constructor(e){super(e),pv(this,"name","engine"),pv(this,"events",new(r())),pv(this,"initialized",!1),pv(this,"requestQueue",{state:pa.idle,queue:[]}),pv(this,"sessionRequestQueue",{state:pa.idle,queue:[]}),pv(this,"requestQueueDelay",p.ONE_SECOND),pv(this,"expectedPairingMethodMap",new Map),pv(this,"recentlyDeletedMap",new Map),pv(this,"recentlyDeletedLimit",200),pv(this,"relayMessageCache",[]),pv(this,"pendingSessions",new Map),pv(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(pt)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},(0,p.toMiliseconds)(this.requestQueueDelay)))}),pv(this,"connect",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();let t=pg(pf({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t),t.optionalNamespaces=function(e,t){var i,a,r,s,p,o;let d=ag(e),l=ag(t),c={};for(let e of Object.keys(d).concat(Object.keys(l)))c[e]={chains:H(null==(i=d[e])?void 0:i.chains,null==(a=l[e])?void 0:a.chains),methods:H(null==(r=d[e])?void 0:r.methods,null==(s=l[e])?void 0:s.methods),events:H(null==(p=d[e])?void 0:p.events,null==(o=l[e])?void 0:o.events)};return c}(t.requiredNamespaces,t.optionalNamespaces),t.requiredNamespaces={};let{pairingTopic:i,requiredNamespaces:a,optionalNamespaces:r,sessionProperties:s,scopedProperties:o,relays:d}=t,l=i,c,h=!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."),h=e.active}}catch(e){throw this.client.logger.error(`connect() -> pairing.get(${l}) failed`),e}if(!l||!h){let{topic:e,uri:t}=await this.client.core.pairing.create();l=e,c=t}if(!l){let{message:e}=ab("NO_MATCHING_KEY",`connect() pairing topic: ${l}`);throw Error(e)}let u=await this.client.core.crypto.generateKeyPair(),m=pt.wc_sessionPropose.req.ttl||p.FIVE_MINUTES,f=M(m),g=pg(pf(pf({requiredNamespaces:a,optionalNamespaces:r,relays:d??[{protocol:"irn"}],proposer:{publicKey:u,metadata:this.client.metadata},expiryTimestamp:f,pairingTopic:l},s&&{sessionProperties:s}),o&&{scopedProperties:o}),{id:(0,rr.payloadId)()}),v=z("session_connect",g.id),{reject:y,resolve:w,done:b}=j(m,n7),_=({id:e})=>{e===g.id&&(this.client.events.off("proposal_expire",_),this.pendingSessions.delete(g.id),this.events.emit(v,{error:{message:n7,code:0}}))};return this.client.events.on("proposal_expire",_),this.events.once(v,({error:e,session:t})=>{this.client.events.off("proposal_expire",_),e?y(e):t&&w(t)}),await this.sendRequest({topic:l,method:"wc_sessionPropose",params:g,throwOnFailedPublish:!0,clientRpcId:g.id}),await this.setProposal(g.id,g),{uri:c,approval:b}}),pv(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}}),pv(this,"approve",async e=>{var t,i,a;let r=this.client.core.eventClient.createEvent({properties:{topic:null==(t=e?.id)?void 0:t.toString(),trace:[rT.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(e){throw r.setError(rA.no_internet_connection),e}try{await this.isValidProposalId(e?.id)}catch(t){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),r.setError(rA.proposal_not_found),t}try{await this.isValidApprove(e)}catch(e){throw this.client.logger.error("approve() -> isValidApprove() failed"),r.setError(rA.session_approve_namespace_validation_failure),e}let{id:s,relayProtocol:p,namespaces:o,sessionProperties:d,scopedProperties:l,sessionConfig:c}=e,h=this.client.proposal.get(s);this.client.core.eventClient.deleteEvent({eventId:r.eventId});let{pairingTopic:u,proposer:m,requiredNamespaces:f,optionalNamespaces:g}=h,v=null==(i=this.client.core.eventClient)?void 0:i.getEvent({topic:u});v||(v=null==(a=this.client.core.eventClient)?void 0:a.createEvent({type:rT.session_approve_started,properties:{topic:u,trace:[rT.session_approve_started,rT.session_namespaces_validation_success]}}));let y=await this.client.core.crypto.generateKeyPair(),w=m.publicKey,b=await this.client.core.crypto.generateSharedKey(y,w),_=pf(pf(pf({relay:{protocol:p??"irn"},namespaces:o,controller:{publicKey:y,metadata:this.client.metadata},expiry:M(pe)},d&&{sessionProperties:d}),l&&{scopedProperties:l}),c&&{sessionConfig:c}),E=rv.relay;v.addTrace(rT.subscribing_session_topic);try{await this.client.core.relayer.subscribe(b,{transportType:E})}catch(e){throw v.setError(rA.subscribe_session_topic_failure),e}v.addTrace(rT.subscribe_session_topic_success);let S=pg(pf({},_),{topic:b,requiredNamespaces:f,optionalNamespaces:g,pairingTopic:u,acknowledged:!1,self:_.controller,peer:{publicKey:m.publicKey,metadata:m.metadata},controller:y,transportType:rv.relay});await this.client.session.set(b,S),v.addTrace(rT.store_session);try{v.addTrace(rT.publishing_session_settle),await this.sendRequest({topic:b,method:"wc_sessionSettle",params:_,throwOnFailedPublish:!0}).catch(e=>{throw v?.setError(rA.session_settle_publish_failure),e}),v.addTrace(rT.session_settle_publish_success),v.addTrace(rT.publishing_session_approve),await this.sendResult({id:s,topic:u,result:{relay:{protocol:p??"irn"},responderPublicKey:y},throwOnFailedPublish:!0}).catch(e=>{throw v?.setError(rA.session_approve_publish_failure),e}),v.addTrace(rT.session_approve_publish_success)}catch(e){throw this.client.logger.error(e),this.client.session.delete(b,a_("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(b),e}return this.client.core.eventClient.deleteEvent({eventId:v.eventId}),await this.client.core.pairing.updateMetadata({topic:u,metadata:m.metadata}),await this.client.proposal.delete(s,a_("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:u}),await this.setExpiry(b,M(pe)),{topic:b,acknowledged:()=>Promise.resolve(this.client.session.get(b))}}),pv(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:i,reason:a}=e;try{t=this.client.proposal.get(i).pairingTopic}catch(e){throw this.client.logger.error(`reject() -> proposal.get(${i}) failed`),e}t&&(await this.sendError({id:i,topic:t,error:a,rpcOpts:pt.wc_sessionPropose.reject}),await this.client.proposal.delete(i,a_("USER_DISCONNECTED")))}),pv(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:i}=e,{done:a,resolve:r,reject:s}=j(),p=(0,rr.payloadId)(),o=(0,rr.getBigIntRpcId)().toString(),d=this.client.session.get(t).namespaces;return this.events.once(z("session_update",p),({error:e})=>{e?s(e):r()}),await this.client.session.update(t,{namespaces:i}),await this.sendRequest({topic:t,method:"wc_sessionUpdate",params:{namespaces:i},throwOnFailedPublish:!0,clientRpcId:p,relayRpcId:o}).catch(e=>{this.client.logger.error(e),this.client.session.update(t,{namespaces:d}),s(e)}),{acknowledged:a}}),pv(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,i=(0,rr.payloadId)(),{done:a,resolve:r,reject:s}=j();return this.events.once(z("session_extend",i),({error:e})=>{e?s(e):r()}),await this.setExpiry(t,M(pe)),this.sendRequest({topic:t,method:"wc_sessionExtend",params:{},clientRpcId:i,throwOnFailedPublish:!0}).catch(e=>{s(e)}),{acknowledged:a}}),pv(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:i,topic:a,expiry:r=pt.wc_sessionRequest.req.ttl}=e,s=this.client.session.get(a);s?.transportType===rv.relay&&await this.confirmOnlineStateOrThrow();let p=(0,rr.payloadId)(),o=(0,rr.getBigIntRpcId)().toString(),{done:d,resolve:l,reject:c}=j(r,"Request expired. Please try again.");this.events.once(z("session_request",p),({error:e,result:t})=>{e?c(e):l(t)});let h="wc_sessionRequest",u=this.getAppLinkIfEnabled(s.peer.metadata,s.transportType);if(u)return await this.sendRequest({clientRpcId:p,relayRpcId:o,topic:a,method:h,params:{request:pg(pf({},i),{expiryTimestamp:M(r)}),chainId:t},expiry:r,throwOnFailedPublish:!0,appLink:u}).catch(e=>c(e)),this.client.events.emit("session_request_sent",{topic:a,request:i,chainId:t,id:p}),await d();let m={request:pg(pf({},i),{expiryTimestamp:M(r)}),chainId:t},f=this.shouldSetTVF(h,m);return await Promise.all([new Promise(async e=>{await this.sendRequest(pf({clientRpcId:p,relayRpcId:o,topic:a,method:h,params:m,expiry:r,throwOnFailedPublish:!0},f&&{tvf:this.getTVFParams(p,m)})).catch(e=>c(e)),this.client.events.emit("session_request_sent",{topic:a,request:i,chainId:t,id:p}),e()}),new Promise(async e=>{var t;if(!(null!=(t=s.sessionConfig)&&t.disableDeepLink)){let e=await W(this.client.core.storage,n5);await K({id:p,topic:a,wcDeepLink:e})}e()}),d()]).then(e=>e[2])}),pv(this,"respond",async e=>{this.isInitialized(),await this.isValidRespond(e);let{topic:t,response:i}=e,{id:a}=i,r=this.client.session.get(t);r.transportType===rv.relay&&await this.confirmOnlineStateOrThrow();let s=this.getAppLinkIfEnabled(r.peer.metadata,r.transportType);(0,rr.isJsonRpcResult)(i)?await this.sendResult({id:a,topic:t,result:i.result,throwOnFailedPublish:!0,appLink:s}):(0,rr.isJsonRpcError)(i)&&await this.sendError({id:a,topic:t,error:i.error,appLink:s}),this.cleanupAfterResponse(e)}),pv(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,rr.payloadId)(),i=(0,rr.getBigIntRpcId)().toString(),{done:a,resolve:r,reject:s}=j();this.events.once(z("session_ping",e),({error:e})=>{e?s(e):r()}),await Promise.all([this.sendRequest({topic:t,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:e,relayRpcId:i}),a()])}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}))}),pv(this,"emit",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);let{topic:t,event:i,chainId:a}=e,r=(0,rr.getBigIntRpcId)().toString(),s=(0,rr.payloadId)();await this.sendRequest({topic:t,method:"wc_sessionEvent",params:{event:i,chainId:a},throwOnFailedPublish:!0,relayRpcId:r,clientRpcId:s})}),pv(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:a_("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}=ab("MISMATCHED_TOPIC",`Session or pairing topic not found: ${t}`);throw Error(e)}}),pv(this,"find",e=>(this.isInitialized(),this.client.session.getAll().filter(t=>(function(e,t){let{requiredNamespaces:i}=t,a=Object.keys(e.namespaces),r=Object.keys(i),s=!0;return!!V(r,a)&&(a.forEach(t=>{let{accounts:a,methods:r,events:p}=e.namespaces[t],o=au(a),d=i[t];V(v(t,d),o)&&V(d.methods,r)&&V(d.events,p)||(s=!1)}),s)})(t,e)))),pv(this,"getPendingSessionRequests",()=>this.client.pendingRequest.getAll()),pv(this,"authenticate",async(e,t)=>{var i,a,r;let s;this.isInitialized(),this.isValidAuthenticate(e);let p=t&&this.client.core.linkModeSupportedApps.includes(t)&&(null==(i=this.client.metadata.redirect)?void 0:i.linkMode),o=p?rv.link_mode:rv.relay;o===rv.relay&&await this.confirmOnlineStateOrThrow();let{chains:d,statement:l="",uri:c,domain:h,nonce:u,type:m,exp:g,nbf:v,methods:y=[],expiry:w}=e,b=[...e.resources||[]],{topic:_,uri:E}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:o});this.client.logger.info({message:"Generated new pairing",pairing:{topic:_,uri:E}});let S=await this.client.core.crypto.generateKeyPair(),D=iX(S);if(await Promise.all([this.client.auth.authKeys.set(pp,{responseTopic:D,publicKey:S}),this.client.auth.pairingTopics.set(D,{topic:D,pairingTopic:_})]),await this.client.core.relayer.subscribe(D,{transportType:o}),this.client.logger.info(`sending request to new pairing topic: ${_}`),y.length>0){let{namespace:e}=f(d[0]),t=eX(function(e,t,i,a={}){return i?.sort((e,t)=>e.localeCompare(t)),{att:{[e]:function(e,t,i={}){return Object.assign({},...(t=t?.sort((e,t)=>e.localeCompare(t))).map(t=>({[`${e}/${t}`]:[i]})))}(t,i,a)}}}(e,"request",y));e6(b)&&(a=t,r=b.pop(),t=eX(function(e,t){eQ(e),eQ(t);let i=Object.keys(e.att).concat(Object.keys(t.att)).sort((e,t)=>e.localeCompare(t)),a={att:{}};return i.forEach(i=>{var r,s;Object.keys((null==(r=e.att)?void 0:r[i])||{}).concat(Object.keys((null==(s=t.att)?void 0:s[i])||{})).sort((e,t)=>e.localeCompare(t)).forEach(r=>{var s,p;a.att[i]=eH(ez({},a.att[i]),{[r]:(null==(s=e.att[i])?void 0:s[r])||(null==(p=t.att[i])?void 0:p[r])})})}),a}(e1(a),e1(r)))),b.push(t)}let N=w&&w>pt.wc_sessionAuthenticate.req.ttl?w:pt.wc_sessionAuthenticate.req.ttl,I={authPayload:{type:m??"caip122",chains:d,statement:l,aud:c,domain:h,version:"1",nonce:u,iat:new Date().toISOString(),exp:g,nbf:v,resources:b},requester:{publicKey:S,metadata:this.client.metadata},expiryTimestamp:M(N)},O={requiredNamespaces:{},optionalNamespaces:{eip155:{chains:d,methods:[...new Set(["personal_sign",...y])],events:["chainChanged","accountsChanged"]}},relays:[{protocol:"irn"}],pairingTopic:_,proposer:{publicKey:S,metadata:this.client.metadata},expiryTimestamp:M(pt.wc_sessionPropose.req.ttl),id:(0,rr.payloadId)()},{done:x,resolve:P,reject:T}=j(N,"Request expired"),A=(0,rr.payloadId)(),C=z("session_connect",O.id),R=z("session_request",A),k=async({error:e,session:t})=>{this.events.off(R,V),e?T(e):t&&P({session:t})},V=async e=>{var i,a,r;let s;if(await this.deletePendingAuthRequest(A,{message:"fulfilled",code:0}),e.error){let t=a_("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return e.error.code===t.code?void 0:(this.events.off(C,k),T(e.error.message))}await this.deleteProposal(O.id),this.events.off(C,k);let{cacaos:p,responder:d}=e.result,l=[],c=[];for(let e of p){await eY({cacao:e,projectId:this.client.core.projectId})||(this.client.logger.error(e,"Signature verification failed"),T(a_("SESSION_SETTLEMENT_FAILED","Signature verification failed")));let{p:t}=e,i=e6(t.resources),a=[eJ(t.iss)],r=eG(t.iss);if(i){let e=e0(i),t=e2(i);l.push(...e),a.push(...t)}for(let e of a)c.push(`${e}:${r}`)}let h=await this.client.core.crypto.generateSharedKey(S,d.publicKey);l.length>0&&(s={topic:h,acknowledged:!0,self:{publicKey:S,metadata:this.client.metadata},peer:d,controller:d.publicKey,expiry:M(pe),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:_,namespaces:av([...new Set(l)],[...new Set(c)]),transportType:o},await this.client.core.relayer.subscribe(h,{transportType:o}),await this.client.session.set(h,s),_&&await this.client.core.pairing.updateMetadata({topic:_,metadata:d.metadata}),s=this.client.session.get(h)),null!=(i=this.client.metadata.redirect)&&i.linkMode&&null!=(a=d.metadata.redirect)&&a.linkMode&&null!=(r=d.metadata.redirect)&&r.universal&&t&&(this.client.core.addLinkModeSupportedApp(d.metadata.redirect.universal),this.client.session.update(h,{transportType:rv.link_mode})),P({auths:p,session:s})};this.events.once(C,k),this.events.once(R,V);try{if(p){let e=(0,rr.formatJsonRpcRequest)("wc_sessionAuthenticate",I,A);this.client.core.history.set(_,e);let i=await this.client.core.crypto.encode("",e,{type:2,encoding:iY});s=aa(t,_,i)}else await Promise.all([this.sendRequest({topic:_,method:"wc_sessionAuthenticate",params:I,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:A}),this.sendRequest({topic:_,method:"wc_sessionPropose",params:O,expiry:pt.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:O.id})])}catch(e){throw this.events.off(C,k),this.events.off(R,V),e}return await this.setProposal(O.id,O),await this.setAuthRequest(A,{request:pg(pf({},I),{verifyContext:{}}),pairingTopic:_,transportType:o}),{uri:s??E,response:x}}),pv(this,"approveSessionAuthenticate",async e=>{let t;let{id:i,auths:a}=e,r=this.client.core.eventClient.createEvent({properties:{topic:i.toString(),trace:[rC.authenticated_session_approve_started]}});try{this.isInitialized()}catch(e){throw r.setError(rR.no_internet_connection),e}let s=this.getPendingAuthRequest(i);if(!s)throw r.setError(rR.authenticated_session_pending_request_not_found),Error(`Could not find pending auth request with id ${i}`);let p=s.transportType||rv.relay;p===rv.relay&&await this.confirmOnlineStateOrThrow();let o=s.requester.publicKey,d=await this.client.core.crypto.generateKeyPair(),l=iX(o),c={type:1,receiverPublicKey:o,senderPublicKey:d},h=[],u=[];for(let e of a){if(!await eY({cacao:e,projectId:this.client.core.projectId})){r.setError(rR.invalid_cacao);let e=a_("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:i,topic:l,error:e,encodeOpts:c}),Error(e.message)}r.addTrace(rC.cacaos_verified);let{p:t}=e,a=e6(t.resources),s=[eJ(t.iss)],p=eG(t.iss);if(a){let e=e0(a),t=e2(a);h.push(...e),s.push(...t)}for(let e of s)u.push(`${e}:${p}`)}let m=await this.client.core.crypto.generateSharedKey(d,o);if(r.addTrace(rC.create_authenticated_session_topic),h?.length>0){t={topic:m,acknowledged:!0,self:{publicKey:d,metadata:this.client.metadata},peer:{publicKey:o,metadata:s.requester.metadata},controller:o,expiry:M(pe),authentication:a,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:s.pairingTopic,namespaces:av([...new Set(h)],[...new Set(u)]),transportType:p},r.addTrace(rC.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(m,{transportType:p})}catch(e){throw r.setError(rR.subscribe_authenticated_session_topic_failure),e}r.addTrace(rC.subscribe_authenticated_session_topic_success),await this.client.session.set(m,t),r.addTrace(rC.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:s.pairingTopic,metadata:s.requester.metadata})}r.addTrace(rC.publishing_authenticated_session_approve);try{await this.sendResult({topic:l,id:i,result:{cacaos:a,responder:{publicKey:d,metadata:this.client.metadata}},encodeOpts:c,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(s.requester.metadata,p)})}catch(e){throw r.setError(rR.authenticated_session_approve_publish_failure),e}return await this.client.auth.requests.delete(i,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:s.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:r.eventId}),{session:t}}),pv(this,"rejectSessionAuthenticate",async e=>{this.isInitialized();let{id:t,reason:i}=e,a=this.getPendingAuthRequest(t);if(!a)throw Error(`Could not find pending auth request with id ${t}`);a.transportType===rv.relay&&await this.confirmOnlineStateOrThrow();let r=a.requester.publicKey,s=await this.client.core.crypto.generateKeyPair(),p=iX(r);await this.sendError({id:t,topic:p,error:i,encodeOpts:{type:1,receiverPublicKey:r,senderPublicKey:s},rpcOpts:pt.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(a.requester.metadata,a.transportType)}),await this.client.auth.requests.delete(t,{message:"rejected",code:0}),await this.client.proposal.delete(t,a_("USER_DISCONNECTED"))}),pv(this,"formatAuthMessage",e=>{this.isInitialized();let{request:t,iss:i}=e;return eZ(t,i)}),pv(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)}),pv(this,"cleanupDuplicatePairings",async e=>{if(e.pairingTopic)try{let t=this.client.core.pairing.pairings.get(e.pairingTopic),i=this.client.core.pairing.pairings.getAll().filter(i=>{var a,r;return(null==(a=i.peerMetadata)?void 0:a.url)&&(null==(r=i.peerMetadata)?void 0:r.url)===e.peer.metadata.url&&i.topic&&i.topic!==t.topic});if(0===i.length)return;this.client.logger.info(`Cleaning up ${i.length} duplicate pairing(s)`),await Promise.all(i.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)}}),pv(this,"deleteSession",async e=>{var t;let{topic:i,expirerHasDeleted:a=!1,emitEvent:r=!0,id:s=0}=e,{self:p}=this.client.session.get(i);await this.client.core.relayer.unsubscribe(i),await this.client.session.delete(i,a_("USER_DISCONNECTED")),this.addToRecentlyDeleted(i,"session"),this.client.core.crypto.keychain.has(p.publicKey)&&await this.client.core.crypto.deleteKeyPair(p.publicKey),this.client.core.crypto.keychain.has(i)&&await this.client.core.crypto.deleteSymKey(i),a||this.client.core.expirer.del(i),this.client.core.storage.removeItem(n5).catch(e=>this.client.logger.warn(e)),this.getPendingSessionRequests().forEach(e=>{e.topic===i&&this.deletePendingSessionRequest(e.id,a_("USER_DISCONNECTED"))}),i===(null==(t=this.sessionRequestQueue.queue[0])?void 0:t.topic)&&(this.sessionRequestQueue.state=pa.idle),r&&this.client.events.emit("session_delete",{id:s,topic:i})}),pv(this,"deleteProposal",async(e,t)=>{if(t)try{let t=this.client.proposal.get(e),i=this.client.core.eventClient.getEvent({topic:t.pairingTopic});i?.setError(rA.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,a_("USER_DISCONNECTED")),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"proposal")}),pv(this,"deletePendingSessionRequest",async(e,t,i=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),i?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(t=>t.id!==e),i&&(this.sessionRequestQueue.state=pa.idle,this.client.events.emit("session_request_expire",{id:e}))}),pv(this,"deletePendingAuthRequest",async(e,t,i=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),i?Promise.resolve():this.client.core.expirer.del(e)])}),pv(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}))}),pv(this,"setProposal",async(e,t)=>{this.client.core.expirer.set(e,M(pt.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),pv(this,"setAuthRequest",async(e,t)=>{let{request:i,pairingTopic:a,transportType:r=rv.relay}=t;this.client.core.expirer.set(e,i.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:i.authPayload,requester:i.requester,expiryTimestamp:i.expiryTimestamp,id:e,pairingTopic:a,verifyContext:i.verifyContext,transportType:r})}),pv(this,"setPendingSessionRequest",async e=>{let{id:t,topic:i,params:a,verifyContext:r}=e,s=a.request.expiryTimestamp||M(pt.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,s),await this.client.pendingRequest.set(t,{id:t,topic:i,params:a,verifyContext:r})}),pv(this,"sendRequest",async e=>{let t,i;let{topic:a,method:r,params:s,expiry:p,relayRpcId:o,clientRpcId:d,throwOnFailedPublish:l,appLink:c,tvf:h}=e,u=(0,rr.formatJsonRpcRequest)(r,s,d),m=!!c;try{let e=m?iY:iG;t=await this.client.core.crypto.encode(a,u,{encoding:e})}catch(e){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${a} failed`),e}if(ps.includes(r)){let e=i1(JSON.stringify(u)),a=i1(t);i=await this.client.core.verify.register({id:a,decryptedId:e})}let f=pt[r].req;if(f.attestation=i,p&&(f.ttl=p),o&&(f.id=o),this.client.core.history.set(a,u),m){let e=aa(c,a,t);await global.Linking.openURL(e,this.client.name)}else{let e=pt[r].req;p&&(e.ttl=p),o&&(e.id=o),e.tvf=pg(pf({},h),{correlationId:u.id}),l?(e.internal=pg(pf({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(a,t,e)):this.client.core.relayer.publish(a,t,e).catch(e=>this.client.logger.error(e))}return u.id}),pv(this,"sendResult",async e=>{let t,i,a;let{id:r,topic:s,result:p,throwOnFailedPublish:o,encodeOpts:d,appLink:l}=e,c=(0,rr.formatJsonRpcResult)(r,p),h=l&&"u">typeof(null==global?void 0:global.Linking);try{let e=h?iY:iG;t=await this.client.core.crypto.encode(s,c,pg(pf({},d||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${s} failed`),e}try{let e=(i=await this.client.core.history.get(s,r)).request;try{this.shouldSetTVF(e.method,e.params)&&(a=this.getTVFParams(r,e.params,p))}catch(e){this.client.logger.warn("sendResult() -> getTVFParams() failed",e)}}catch(e){throw this.client.logger.error(`sendResult() -> history.get(${s}, ${r}) failed`),e}if(h){let e=aa(l,s,t);await global.Linking.openURL(e,this.client.name)}else{let e=pt[i.request.method].res;e.tvf=pg(pf({},a),{correlationId:r}),o?(e.internal=pg(pf({},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))}await this.client.core.history.resolve(c)}),pv(this,"sendError",async e=>{let t,i;let{id:a,topic:r,error:s,encodeOpts:p,rpcOpts:o,appLink:d}=e,l=(0,rr.formatJsonRpcError)(a,s),c=d&&"u">typeof(null==global?void 0:global.Linking);try{let e=c?iY:iG;t=await this.client.core.crypto.encode(r,l,pg(pf({},p||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${r} failed`),e}try{i=await this.client.core.history.get(r,a)}catch(e){throw this.client.logger.error(`sendError() -> history.get(${r}, ${a}) failed`),e}if(c){let e=aa(d,r,t);await global.Linking.openURL(e,this.client.name)}else{let e=i.request.method,a=o||pt[e].res;this.client.core.relayer.publish(r,t,a)}await this.client.core.history.resolve(l)}),pv(this,"cleanup",async()=>{let e=[],t=[];this.client.session.getAll().forEach(t=>{let i=!1;F(t.expiry)&&(i=!0),this.client.core.crypto.keychain.has(t.topic)||(i=!0),i&&e.push(t.topic)}),this.client.proposal.getAll().forEach(e=>{F(e.expiryTimestamp)&&t.push(e.id)}),await Promise.all([...e.map(e=>this.deleteSession({topic:e})),...t.map(e=>this.deleteProposal(e))])}),pv(this,"onProviderMessageEvent",async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),pv(this,"onRelayEventRequest",async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),pv(this,"processRequestsQueue",async()=>{if(this.requestQueue.state===pa.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=pa.active;let e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=pa.idle}),pv(this,"processRequest",async e=>{let{topic:t,payload:i,attestation:a,transportType:r,encryptedId:s}=e,p=i.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:p}))switch(p){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:t,payload:i,attestation:a,encryptedId:s});case"wc_sessionSettle":return await this.onSessionSettleRequest(t,i);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(t,i);case"wc_sessionExtend":return await this.onSessionExtendRequest(t,i);case"wc_sessionPing":return await this.onSessionPingRequest(t,i);case"wc_sessionDelete":return await this.onSessionDeleteRequest(t,i);case"wc_sessionRequest":return await this.onSessionRequest({topic:t,payload:i,attestation:a,encryptedId:s,transportType:r});case"wc_sessionEvent":return await this.onSessionEventRequest(t,i);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:t,payload:i,attestation:a,encryptedId:s,transportType:r});default:return this.client.logger.info(`Unsupported request method ${p}`)}}),pv(this,"onRelayEventResponse",async e=>{let{topic:t,payload:i,transportType:a}=e,r=(await this.client.core.history.get(t,i.id)).request.method;switch(r){case"wc_sessionPropose":return this.onSessionProposeResponse(t,i,a);case"wc_sessionSettle":return this.onSessionSettleResponse(t,i);case"wc_sessionUpdate":return this.onSessionUpdateResponse(t,i);case"wc_sessionExtend":return this.onSessionExtendResponse(t,i);case"wc_sessionPing":return this.onSessionPingResponse(t,i);case"wc_sessionRequest":return this.onSessionRequestResponse(t,i);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(t,i);default:return this.client.logger.info(`Unsupported response method ${r}`)}}),pv(this,"onRelayEventUnknownPayload",e=>{let{topic:t}=e,{message:i}=ab("MISSING_OR_INVALID",`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw Error(i)}),pv(this,"shouldIgnorePairingRequest",e=>{let{topic:t,requestMethod:i}=e,a=this.expectedPairingMethodMap.get(t);return!(!a||a.includes(i))&&!!(a.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)}),pv(this,"onSessionProposeRequest",async e=>{let{topic:t,payload:i,attestation:a,encryptedId:r}=e,{params:s,id:p}=i;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(rP.proposal_listener_not_found)),this.isValidConnect(pf({},i.params));let o=s.expiryTimestamp||M(pt.wc_sessionPropose.req.ttl),d=pf({id:p,pairingTopic:t,expiryTimestamp:o},s);await this.setProposal(p,d);let l=await this.getVerifyContext({attestationId:a,hash:i1(JSON.stringify(i)),encryptedId:r,metadata:d.proposer.metadata});e?.addTrace(rx.emit_session_proposal),this.client.events.emit("session_proposal",{id:p,params:d,verifyContext:l})}catch(e){await this.sendError({id:p,topic:t,error:e,rpcOpts:pt.wc_sessionPropose.autoReject}),this.client.logger.error(e)}}),pv(this,"onSessionProposeResponse",async(e,t,i)=>{let{id:a}=t;if((0,rr.isJsonRpcResult)(t)){let{result:r}=t;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:r});let s=this.client.proposal.get(a);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:s});let p=s.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:p});let o=r.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:o});let d=await this.client.core.crypto.generateSharedKey(p,o);this.pendingSessions.set(a,{sessionTopic:d,pairingTopic:e,proposalId:a,publicKey:p});let l=await this.client.core.relayer.subscribe(d,{transportType:i});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:l}),await this.client.core.pairing.activate({topic:e})}else if((0,rr.isJsonRpcError)(t)){await this.client.proposal.delete(a,a_("USER_DISCONNECTED"));let e=z("session_connect",a);if(0===this.events.listenerCount(e))throw Error(`emitting ${e} without any listeners, 954`);this.events.emit(e,{error:t.error})}}),pv(this,"onSessionSettleRequest",async(e,t)=>{let{id:i,params:a}=t;try{this.isValidSessionSettleRequest(a);let{relay:i,controller:r,expiry:s,namespaces:p,sessionProperties:o,scopedProperties:d,sessionConfig:l}=t.params,c=[...this.pendingSessions.values()].find(t=>t.sessionTopic===e);if(!c)return this.client.logger.error(`Pending session not found for topic ${e}`);let h=this.client.proposal.get(c.proposalId),u=pg(pf(pf(pf({topic:e,relay:i,expiry:s,namespaces:p,acknowledged:!0,pairingTopic:c.pairingTopic,requiredNamespaces:h.requiredNamespaces,optionalNamespaces:h.optionalNamespaces,controller:r.publicKey,self:{publicKey:c.publicKey,metadata:this.client.metadata},peer:{publicKey:r.publicKey,metadata:r.metadata}},o&&{sessionProperties:o}),d&&{scopedProperties:d}),l&&{sessionConfig:l}),{transportType:rv.relay});await this.client.session.set(u.topic,u),await this.setExpiry(u.topic,u.expiry),await this.client.core.pairing.updateMetadata({topic:c.pairingTopic,metadata:u.peer.metadata}),this.client.events.emit("session_connect",{session:u}),this.events.emit(z("session_connect",c.proposalId),{session:u}),this.pendingSessions.delete(c.proposalId),this.deleteProposal(c.proposalId,!1),this.cleanupDuplicatePairings(u),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),pv(this,"onSessionSettleResponse",async(e,t)=>{let{id:i}=t;(0,rr.isJsonRpcResult)(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(z("session_approve",i),{})):(0,rr.isJsonRpcError)(t)&&(await this.client.session.delete(e,a_("USER_DISCONNECTED")),this.events.emit(z("session_approve",i),{error:t.error}))}),pv(this,"onSessionUpdateRequest",async(e,t)=>{let{params:i,id:a}=t;try{let t=`${e}_session_update`,r=aU.get(t);if(r&&this.isRequestOutOfSync(r,a)){this.client.logger.warn(`Discarding out of sync request - ${a}`),this.sendError({id:a,topic:e,error:a_("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(pf({topic:e},i));try{aU.set(t,a),await this.client.session.update(e,{namespaces:i.namespaces}),await this.sendResult({id:a,topic:e,result:!0,throwOnFailedPublish:!0})}catch(e){throw aU.delete(t),e}this.client.events.emit("session_update",{id:a,topic:e,params:i})}catch(t){await this.sendError({id:a,topic:e,error:t}),this.client.logger.error(t)}}),pv(this,"isRequestOutOfSync",(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),pv(this,"onSessionUpdateResponse",(e,t)=>{let{id:i}=t,a=z("session_update",i);if(0===this.events.listenerCount(a))throw Error(`emitting ${a} without any listeners`);(0,rr.isJsonRpcResult)(t)?this.events.emit(z("session_update",i),{}):(0,rr.isJsonRpcError)(t)&&this.events.emit(z("session_update",i),{error:t.error})}),pv(this,"onSessionExtendRequest",async(e,t)=>{let{id:i}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,M(pe)),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:i,topic:e})}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),pv(this,"onSessionExtendResponse",(e,t)=>{let{id:i}=t,a=z("session_extend",i);if(0===this.events.listenerCount(a))throw Error(`emitting ${a} without any listeners`);(0,rr.isJsonRpcResult)(t)?this.events.emit(z("session_extend",i),{}):(0,rr.isJsonRpcError)(t)&&this.events.emit(z("session_extend",i),{error:t.error})}),pv(this,"onSessionPingRequest",async(e,t)=>{let{id:i}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:i,topic:e})}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),pv(this,"onSessionPingResponse",(e,t)=>{let{id:i}=t,a=z("session_ping",i);setTimeout(()=>{if(0===this.events.listenerCount(a))throw Error(`emitting ${a} without any listeners 2176`);(0,rr.isJsonRpcResult)(t)?this.events.emit(z("session_ping",i),{}):(0,rr.isJsonRpcError)(t)&&this.events.emit(z("session_ping",i),{error:t.error})},500)}),pv(this,"onSessionDeleteRequest",async(e,t)=>{let{id:i}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(t=>{this.client.core.relayer.once(rm.publish,async()=>{t(await this.deleteSession({topic:e,id:i}))})}),this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:a_("USER_DISCONNECTED")})]).catch(e=>this.client.logger.error(e))}catch(e){this.client.logger.error(e)}}),pv(this,"onSessionRequest",async e=>{var t,i,a;let{topic:r,payload:s,attestation:p,encryptedId:o,transportType:d}=e,{id:l,params:c}=s;try{await this.isValidRequest(pf({topic:r},c));let e=this.client.session.get(r),s=await this.getVerifyContext({attestationId:p,hash:i1(JSON.stringify((0,rr.formatJsonRpcRequest)("wc_sessionRequest",c,l))),encryptedId:o,metadata:e.peer.metadata,transportType:d}),h={id:l,topic:r,params:c,verifyContext:s};await this.setPendingSessionRequest(h),d===rv.link_mode&&null!=(t=e.peer.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(null==(i=e.peer.metadata.redirect)?void 0:i.universal),null!=(a=this.client.signConfig)&&a.disableRequestQueue?this.emitSessionRequest(h):(this.addSessionRequestToSessionRequestQueue(h),this.processSessionRequestQueue())}catch(e){await this.sendError({id:l,topic:r,error:e}),this.client.logger.error(e)}}),pv(this,"onSessionRequestResponse",(e,t)=>{let{id:i}=t,a=z("session_request",i);if(0===this.events.listenerCount(a))throw Error(`emitting ${a} without any listeners`);(0,rr.isJsonRpcResult)(t)?this.events.emit(z("session_request",i),{result:t.result}):(0,rr.isJsonRpcError)(t)&&this.events.emit(z("session_request",i),{error:t.error})}),pv(this,"onSessionEventRequest",async(e,t)=>{let{id:i,params:a}=t;try{let t=`${e}_session_event_${a.event.name}`,r=aU.get(t);if(r&&this.isRequestOutOfSync(r,i)){this.client.logger.info(`Discarding out of sync request - ${i}`);return}this.isValidEmit(pf({topic:e},a)),this.client.events.emit("session_event",{id:i,topic:e,params:a}),aU.set(t,i)}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),pv(this,"onSessionAuthenticateResponse",(e,t)=>{let{id:i}=t;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:e,payload:t}),(0,rr.isJsonRpcResult)(t)?this.events.emit(z("session_request",i),{result:t.result}):(0,rr.isJsonRpcError)(t)&&this.events.emit(z("session_request",i),{error:t.error})}),pv(this,"onSessionAuthenticateRequest",async e=>{var t;let{topic:i,payload:a,attestation:r,encryptedId:s,transportType:p}=e;try{let{requester:e,authPayload:o,expiryTimestamp:d}=a.params,l=await this.getVerifyContext({attestationId:r,hash:i1(JSON.stringify(a)),encryptedId:s,metadata:e.metadata,transportType:p}),c={requester:e,pairingTopic:i,id:a.id,authPayload:o,verifyContext:l,expiryTimestamp:d};await this.setAuthRequest(a.id,{request:c,pairingTopic:i,transportType:p}),p===rv.link_mode&&null!=(t=e.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(e.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:i,params:a.params,id:a.id,verifyContext:l})}catch(s){this.client.logger.error(s);let e=a.params.requester.publicKey,t=await this.client.core.crypto.generateKeyPair(),r=this.getAppLinkIfEnabled(a.params.requester.metadata,p);await this.sendError({id:a.id,topic:i,error:s,encodeOpts:{type:1,receiverPublicKey:e,senderPublicKey:t},rpcOpts:pt.wc_sessionAuthenticate.autoReject,appLink:r})}}),pv(this,"addSessionRequestToSessionRequestQueue",e=>{this.sessionRequestQueue.queue.push(e)}),pv(this,"cleanupAfterResponse",e=>{this.deletePendingSessionRequest(e.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=pa.idle,this.processSessionRequestQueue()},(0,p.toMiliseconds)(this.requestQueueDelay))}),pv(this,"cleanupPendingSentRequestsForTopic",({topic:e,error:t})=>{let i=this.client.core.history.pending;i.length>0&&i.filter(t=>t.topic===e&&"wc_sessionRequest"===t.request.method).forEach(e=>{let i=z("session_request",e.request.id);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);this.events.emit(z("session_request",e.request.id),{error:t})})}),pv(this,"processSessionRequestQueue",()=>{if(this.sessionRequestQueue.state===pa.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=pa.active,this.emitSessionRequest(e)}catch(e){this.client.logger.error(e)}}),pv(this,"emitSessionRequest",e=>{this.client.events.emit("session_request",e)}),pv(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,rr.formatJsonRpcRequest)("wc_sessionPropose",pg(pf({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id)})}),pv(this,"isValidConnect",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(e)}`);throw Error(t)}let{pairingTopic:t,requiredNamespaces:i,optionalNamespaces:a,sessionProperties:r,scopedProperties:s,relays:p}=e;if(aD(t)||await this.isValidPairingTopic(t),!function(e,t){let i=!1;return t&&!e?i=!0:e&&aE(e)&&e.length&&e.forEach(e=>{i=aA(e)}),i}(p,!0)){let{message:e}=ab("MISSING_OR_INVALID",`connect() relays: ${p}`);throw Error(e)}if(!aD(i)&&0!==aS(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(aD(a)||0===aS(a)||this.validateNamespaces(a,"optionalNamespaces"),aD(r)||this.validateSessionProps(r,"sessionProperties"),!aD(s)){this.validateSessionProps(s,"scopedProperties");let e=Object.keys(i||{}).concat(Object.keys(a||{}));if(!Object.keys(s).every(t=>e.includes(t)))throw Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(s)}, required/optional namespaces: ${JSON.stringify(e)}`)}}),pv(this,"validateNamespaces",(e,t)=>{let i=function(e,t,i){let a=null;if(e&&aS(e)){let r;let s=aP(e,t);s&&(a=s);let p=(r=null,Object.entries(e).forEach(([e,a])=>{var s,p;let o;if(r)return;let d=(s=v(e,a),p=`${t} ${i}`,o=null,aE(s)&&s.length?s.forEach(e=>{o||aO(e)||(o=a_("UNSUPPORTED_CHAINS",`${p}, chain ${e} should be a string and conform to "namespace:chainId" format`))}):aO(e)||(o=a_("UNSUPPORTED_CHAINS",`${p}, 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"] }`)),o);d&&(r=d)}),r);p&&(a=p)}else a=ab("MISSING_OR_INVALID",`${t}, ${i} should be an object with data`);return a}(e,"connect()",t);if(i)throw Error(i.message)}),pv(this,"isValidApprove",async e=>{if(!aC(e))throw Error(ab("MISSING_OR_INVALID",`approve() params: ${e}`).message);let{id:t,namespaces:i,relayProtocol:a,sessionProperties:r,scopedProperties:s}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);let p=this.client.proposal.get(t),o=aT(i,"approve()");if(o)throw Error(o.message);let d=ak(p.requiredNamespaces,i,"approve()");if(d)throw Error(d.message);if(!aN(a,!0)){let{message:e}=ab("MISSING_OR_INVALID",`approve() relayProtocol: ${a}`);throw Error(e)}if(aD(r)||this.validateSessionProps(r,"sessionProperties"),!aD(s)){this.validateSessionProps(s,"scopedProperties");let e=new Set(Object.keys(i));if(!Object.keys(s).every(t=>e.has(t)))throw Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(s)}, approved namespaces: ${Array.from(e).join(", ")}`)}}),pv(this,"isValidReject",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`reject() params: ${e}`);throw Error(t)}let{id:t,reason:i}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!function(e){return!(!e||"object"!=typeof e||!e.code||!aI(e.code,!1)||!e.message||!aN(e.message,!1))}(i)){let{message:e}=ab("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(i)}`);throw Error(e)}}),pv(this,"isValidSessionSettleRequest",e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${e}`);throw Error(t)}let{relay:t,controller:i,namespaces:a,expiry:r}=e;if(!aA(t)){let{message:e}=ab("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw Error(e)}let s=function(e,t){let i=null;return aN(e?.publicKey,!1)||(i=ab("MISSING_OR_INVALID",`${t} controller public key should be a string`)),i}(i,"onSessionSettleRequest()");if(s)throw Error(s.message);let p=aT(a,"onSessionSettleRequest()");if(p)throw Error(p.message);if(F(r)){let{message:e}=ab("EXPIRED","onSessionSettleRequest()");throw Error(e)}}),pv(this,"isValidUpdate",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`update() params: ${e}`);throw Error(t)}let{topic:t,namespaces:i}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let a=this.client.session.get(t),r=aT(i,"update()");if(r)throw Error(r.message);let s=ak(a.requiredNamespaces,i,"update()");if(s)throw Error(s.message)}),pv(this,"isValidExtend",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`extend() params: ${e}`);throw Error(t)}let{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),pv(this,"isValidRequest",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`request() params: ${e}`);throw Error(t)}let{topic:t,request:i,chainId:a,expiry:r}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let{namespaces:s}=this.client.session.get(t);if(!aR(s,a)){let{message:e}=ab("MISSING_OR_INVALID",`request() chainId: ${a}`);throw Error(e)}if(!function(e){return!(aD(e)||!aN(e.method,!1))}(i)){let{message:e}=ab("MISSING_OR_INVALID",`request() ${JSON.stringify(i)}`);throw Error(e)}if(!function(e,t,i){return!!aN(i,!1)&&(function(e,t){let i=[];return Object.values(e).forEach(e=>{au(e.accounts).includes(t)&&i.push(...e.methods)}),i})(e,t).includes(i)}(s,a,i.method)){let{message:e}=ab("MISSING_OR_INVALID",`request() method: ${i.method}`);throw Error(e)}if(r&&!function(e,t){return aI(e,!1)&&e<=t.max&&e>=t.min}(r,pi)){let{message:e}=ab("MISSING_OR_INVALID",`request() expiry: ${r}. Expiry must be a number (in seconds) between ${pi.min} and ${pi.max}`);throw Error(e)}}),pv(this,"isValidRespond",async e=>{var t;if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`respond() params: ${e}`);throw Error(t)}let{topic:i,response:a}=e;try{await this.isValidSessionTopic(i)}catch(i){throw null!=(t=e?.response)&&t.id&&this.cleanupAfterResponse(e),i}if(!function(e){return!(aD(e)||aD(e.result)&&aD(e.error)||!aI(e.id,!1)||!aN(e.jsonrpc,!1))}(a)){let{message:e}=ab("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(a)}`);throw Error(e)}}),pv(this,"isValidPing",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),pv(this,"isValidEmit",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`emit() params: ${e}`);throw Error(t)}let{topic:t,event:i,chainId:a}=e;await this.isValidSessionTopic(t);let{namespaces:r}=this.client.session.get(t);if(!aR(r,a)){let{message:e}=ab("MISSING_OR_INVALID",`emit() chainId: ${a}`);throw Error(e)}if(!function(e){return!(aD(e)||!aN(e.name,!1))}(i)){let{message:e}=ab("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw Error(e)}if(!function(e,t,i){return!!aN(i,!1)&&(function(e,t){let i=[];return Object.values(e).forEach(e=>{au(e.accounts).includes(t)&&i.push(...e.events)}),i})(e,t).includes(i)}(r,a,i.name)){let{message:e}=ab("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw Error(e)}}),pv(this,"isValidDisconnect",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),pv(this,"isValidAuthenticate",e=>{let{chains:t,uri:i,domain:a,nonce:r}=e;if(!Array.isArray(t)||0===t.length)throw Error("chains is required and must be a non-empty array");if(!aN(i,!1))throw Error("uri is required parameter");if(!aN(a,!1))throw Error("domain is required parameter");if(!aN(r,!1))throw Error("nonce is required parameter");if([...new Set(t.map(e=>f(e).namespace))].length>1)throw Error("Multi-namespace requests are not supported. Please request single namespace only.");let{namespace:s}=f(t[0]);if("eip155"!==s)throw Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}),pv(this,"getVerifyContext",async e=>{let{attestationId:t,hash:i,encryptedId:a,metadata:r,transportType:s}=e,p={verified:{verifyUrl:r.verifyUrl||rN,validation:"UNKNOWN",origin:r.url||""}};try{if(s===rv.link_mode){let e=this.getAppLinkIfEnabled(r,s);return p.verified.validation=e&&new URL(e).origin===new URL(r.url).origin?"VALID":"INVALID",p}let e=await this.client.core.verify.resolve({attestationId:t,hash:i,encryptedId:a,verifyUrl:r.verifyUrl});e&&(p.verified.origin=e.origin,p.verified.isScam=e.isScam,p.verified.validation=e.origin===new URL(r.url).origin?"VALID":"INVALID")}catch(e){this.client.logger.warn(e)}return this.client.logger.debug(`Verify context: ${JSON.stringify(p)}`),p}),pv(this,"validateSessionProps",(e,t)=>{Object.values(e).forEach((i,a)=>{if(null==i){let{message:r}=ab("MISSING_OR_INVALID",`${t} must contain an existing value for each key. Received: ${i} for key ${Object.keys(e)[a]}`);throw Error(r)}})}),pv(this,"getPendingAuthRequest",e=>{let t=this.client.auth.requests.get(e);return"object"==typeof t?t:void 0}),pv(this,"addToRecentlyDeleted",(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let e=0,t=this.recentlyDeletedLimit/2;for(let i of this.recentlyDeletedMap.keys()){if(e++>=t)break;this.recentlyDeletedMap.delete(i)}}}),pv(this,"checkRecentlyDeleted",e=>{let t=this.recentlyDeletedMap.get(e);if(t){let{message:i}=ab("MISSING_OR_INVALID",`Record was recently deleted - ${t}: ${e}`);throw Error(i)}}),pv(this,"isLinkModeEnabled",(e,t)=>{var i,a,r,s,p,o,d,l,c;return!!e&&t===rv.link_mode&&(null==(a=null==(i=this.client.metadata)?void 0:i.redirect)?void 0:a.linkMode)===!0&&(null==(s=null==(r=this.client.metadata)?void 0:r.redirect)?void 0:s.universal)!==void 0&&(null==(o=null==(p=this.client.metadata)?void 0:p.redirect)?void 0:o.universal)!==""&&(null==(d=e?.redirect)?void 0:d.universal)!==void 0&&(null==(l=e?.redirect)?void 0:l.universal)!==""&&(null==(c=e?.redirect)?void 0:c.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&"u">typeof(null==global?void 0:global.Linking)}),pv(this,"getAppLinkIfEnabled",(e,t)=>{var i;return this.isLinkModeEnabled(e,t)?null==(i=e?.redirect)?void 0:i.universal:void 0}),pv(this,"handleLinkModeMessage",({url:e})=>{if(!e||!e.includes("wc_ev")||!e.includes("topic"))return;let t=J(e,"topic")||"",i=decodeURIComponent(J(e,"wc_ev")||""),a=this.client.session.keys.includes(t);a&&this.client.session.update(t,{transportType:rv.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:i,sessionExists:a})}),pv(this,"registerLinkModeListeners",async()=>{var e;if(Y()||P()&&null!=(e=this.client.metadata.redirect)&&e.linkMode){let e=null==global?void 0:global.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)}}}),pv(this,"shouldSetTVF",(e,t)=>{if(!t||"wc_sessionRequest"!==e)return!1;let{request:i}=t;return Object.keys(pr).includes(i.method)}),pv(this,"getTVFParams",(e,t,i)=>{var a,r;try{let s=t.request.method,p=this.extractTxHashesFromResult(s,i);return pg(pf({correlationId:e,rpcMethods:[s],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[null==(r=null==(a=t.request.params)?void 0:a[0])?void 0:r.to]}),{txHashes:p})}catch(e){this.client.logger.warn("Error getting TVF params",e)}return{}}),pv(this,"isValidContractData",e=>{var t;if(!e)return!1;try{let i=e?.data||(null==(t=e?.[0])?void 0:t.data);if(!i.startsWith("0x"))return!1;let a=i.slice(2);return!!/^[0-9a-fA-F]*$/.test(a)&&a.length%2==0}catch{}return!1}),pv(this,"extractTxHashesFromResult",(e,t)=>{try{let i=pr[e];if("string"==typeof t)return[t];let a=t[i.key];if(aE(a))return"solana_signAllTransactions"===e?a.map(e=>(function(e){let t=atob(e),i=new Uint8Array(t.length);for(let e=0;e<t.length;e++)i[e]=t.charCodeAt(e);let a=i[0];if(0===a)throw Error("No signatures found");if(i.length<1+64*a)throw Error("Transaction data too short for claimed signature count");if(i.length<100)throw Error("Transaction too short");let r=Buffer.from(e,"base64").slice(1,65);return c.Z.encode(r)})(e)):a;if("string"==typeof a)return[a]}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,i]of Object.entries(t))for(let t of i)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}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(rm.message,e=>{this.onProviderMessageEvent(e)})}async onRelayMessage(e){let{topic:t,message:i,attestation:a,transportType:r}=e,{publicKey:s}=this.client.auth.authKeys.keys.includes(pp)?this.client.auth.authKeys.get(pp):{responseTopic:void 0,publicKey:void 0};try{let e=await this.client.core.crypto.decode(t,i,{receiverPublicKey:s,encoding:r===rv.link_mode?iY:iG});(0,rr.isJsonRpcRequest)(e)?(this.client.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e,attestation:a,transportType:r,encryptedId:i1(i)})):(0,rr.isJsonRpcResponse)(e)?(await this.client.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e,transportType:r}),this.client.core.history.delete(t,e.id)):await this.onRelayEventUnknownPayload({topic:t,payload:e,transportType:r}),await this.client.core.relayer.messages.ack(t,i)}catch(e){this.client.logger.error(e)}}registerExpirerEvents(){this.client.core.expirer.on(rD.expired,async e=>{let{topic:t,id:i}=q(e.target);return i&&this.client.pendingRequest.keys.includes(i)?await this.deletePendingSessionRequest(i,ab("EXPIRED"),!0):i&&this.client.auth.requests.keys.includes(i)?await this.deletePendingAuthRequest(i,ab("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})):i&&(await this.deleteProposal(i,!0),this.client.events.emit("proposal_expire",{id:i})))})}registerPairingEvents(){this.client.core.pairing.events.on(rE.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(rE.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!aN(e,!1)){let{message:t}=ab("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}=ab("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw Error(t)}if(F(this.client.core.pairing.pairings.get(e).expiry)){let{message:t}=ab("EXPIRED",`pairing topic: ${e}`);throw Error(t)}}async isValidSessionTopic(e){if(!aN(e,!1)){let{message:t}=ab("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}=ab("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw Error(t)}if(F(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});let{message:t}=ab("EXPIRED",`session topic: ${e}`);throw Error(t)}if(!this.client.core.crypto.keychain.has(e)){let{message:t}=ab("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(aN(e,!1)){let{message:t}=ab("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw Error(t)}else{let{message:t}=ab("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}=ab("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw Error(t)}if(!this.client.proposal.keys.includes(e)){let{message:t}=ab("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw Error(t)}if(F(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);let{message:t}=ab("EXPIRED",`proposal id: ${e}`);throw Error(t)}}}class pw extends nE{constructor(e,t){super(e,t,"proposal",n8),this.core=e,this.logger=t}}class pb extends nE{constructor(e,t){super(e,t,"session",n8),this.core=e,this.logger=t}}class p_ extends nE{constructor(e,t){super(e,t,"request",n8,e=>e.id),this.core=e,this.logger=t}}class pE extends nE{constructor(e,t){super(e,t,"authKeys",pn,()=>pp),this.core=e,this.logger=t}}class pS extends nE{constructor(e,t){super(e,t,"pairingTopics",pn),this.core=e,this.logger=t}}class pD extends nE{constructor(e,t){super(e,t,"requests",pn,e=>e.id),this.core=e,this.logger=t}}var pN=Object.defineProperty,pI=(e,t,i)=>t in e?pN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,pO=(e,t,i)=>pI(e,"symbol"!=typeof t?t+"":t,i);class px{constructor(e,t){this.core=e,this.logger=t,pO(this,"authKeys"),pO(this,"pairingTopics"),pO(this,"requests"),this.authKeys=new pE(this.core,this.logger),this.pairingTopics=new pS(this.core,this.logger),this.requests=new pD(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var pP=Object.defineProperty,pT=(e,t,i)=>t in e?pP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,pA=(e,t,i)=>pT(e,"symbol"!=typeof t?t+"":t,i);class pC extends re{constructor(e){super(e),pA(this,"protocol","wc"),pA(this,"version",2),pA(this,"name",n9.name),pA(this,"metadata"),pA(this,"core"),pA(this,"logger"),pA(this,"events",new a.EventEmitter),pA(this,"engine"),pA(this,"session"),pA(this,"proposal"),pA(this,"pendingRequest"),pA(this,"auth"),pA(this,"signConfig"),pA(this,"on",(e,t)=>this.events.on(e,t)),pA(this,"once",(e,t)=>this.events.once(e,t)),pA(this,"off",(e,t)=>this.events.off(e,t)),pA(this,"removeListener",(e,t)=>this.events.removeListener(e,t)),pA(this,"removeAllListeners",e=>this.events.removeAllListeners(e)),pA(this,"connect",async e=>{try{return await this.engine.connect(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"pair",async e=>{try{return await this.engine.pair(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"approve",async e=>{try{return await this.engine.approve(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"reject",async e=>{try{return await this.engine.reject(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"update",async e=>{try{return await this.engine.update(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"extend",async e=>{try{return await this.engine.extend(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"request",async e=>{try{return await this.engine.request(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"respond",async e=>{try{return await this.engine.respond(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"ping",async e=>{try{return await this.engine.ping(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"emit",async e=>{try{return await this.engine.emit(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"disconnect",async e=>{try{return await this.engine.disconnect(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"find",e=>{try{return this.engine.find(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"getPendingSessionRequests",()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}}),pA(this,"authenticate",async(e,t)=>{try{return await this.engine.authenticate(e,t)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"formatAuthMessage",e=>{try{return this.engine.formatAuthMessage(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"approveSessionAuthenticate",async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"rejectSessionAuthenticate",async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),this.name=e?.name||n9.name,this.metadata=function(e){var t,i;let a=R();try{return null!=e&&e.url&&a.url&&new URL(e.url).host!==new URL(a.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${e.url} differs from the actual page url:${a.url}. This is probably unintended and can lead to issues.`),e.url=a.url),null!=(t=e?.icons)&&t.length&&e.icons.length>0&&(e.icons=e.icons.filter(e=>""!==e)),I(N(N({},a),e),{url:e?.url||a.url,name:e?.name||a.name,description:e?.description||a.description,icons:null!=(i=e?.icons)&&i.length&&e.icons.length>0?e.icons:a.icons})}catch(t){return console.warn("Error populating app metadata",t),e||a}}(e?.metadata),this.signConfig=e?.signConfig;let t="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,aM.gw)((0,aM.jI)({level:e?.logger||n9.logger}));this.core=e?.core||new n4(e),this.logger=(0,aM.Ep)(t,this.name),this.session=new pb(this.core,this.logger),this.proposal=new pw(this.core,this.logger),this.pendingRequest=new p_(this.core,this.logger),this.engine=new py(this),this.auth=new px(this.core,this.logger)}static async init(e){let t=new pC(e);return await t.initialize(),t}get context(){return(0,aM.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,p.toMiliseconds)(p.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}var pR=i(60467);let pk="error",pV="wc@2:universal_provider:",pL="https://rpc.walletconnect.org/v1/",pB="generic",pj=`${pL}bundler`,pU={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};function p$(){}function pq(e){return null==e||"object"!=typeof e&&"function"!=typeof e}function pM(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function pF(e){return"object"==typeof e&&null!==e}function pz(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function pH(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let pK="[object String]",pW="[object Number]",pJ="[object Boolean]",pG="[object Arguments]";function pY(e,t,i,a=new Map,r){let s=r?.(e,t,i,a);if(null!=s)return s;if(pq(e))return e;if(a.has(e))return a.get(e);if(Array.isArray(e)){let t=Array(e.length);a.set(e,t);for(let s=0;s<e.length;s++)t[s]=pY(e[s],s,i,a,r);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[s,p]of(a.set(e,t),e))t.set(s,pY(p,s,i,a,r));return t}if(e instanceof Set){let t=new Set;for(let s of(a.set(e,t),e))t.add(pY(s,void 0,i,a,r));return t}if("u">typeof Buffer&&Buffer.isBuffer(e))return e.subarray();if(pM(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);a.set(e,t);for(let s=0;s<e.length;s++)t[s]=pY(e[s],s,i,a,r);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 a.set(e,t),pZ(t,e,i,a,r),t}if("u">typeof File&&e instanceof File){let t=new File([e],e.name,{type:e.type});return a.set(e,t),pZ(t,e,i,a,r),t}if(e instanceof Blob){let t=new Blob([e],{type:e.type});return a.set(e,t),pZ(t,e,i,a,r),t}if(e instanceof Error){let t=new e.constructor;return a.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,pZ(t,e,i,a,r),t}if("object"==typeof e&&function(e){switch(pH(e)){case pG:case"[object Array]":case"[object ArrayBuffer]":case"[object DataView]":case pJ:case"[object Date]":case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Map]":case pW:case"[object Object]":case"[object RegExp]":case"[object Set]":case pK: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 a.set(e,t),pZ(t,e,i,a,r),t}return e}function pZ(e,t,i=e,a,r){let s=[...Object.keys(t),...pz(t)];for(let p=0;p<s.length;p++){let o=s[p],d=Object.getOwnPropertyDescriptor(e,o);(null==d||d.writable)&&(e[o]=pY(t[o],o,i,a,r))}}function pQ(e){var t;return t=(t,i,a,r)=>{let s=void 0;if(null!=s)return s;if("object"==typeof e)switch(Object.prototype.toString.call(e)){case pW:case pK:case pJ:{let t=new e.constructor(e?.valueOf());return pZ(t,e),t}case pG:{let t={};return pZ(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}},pY(e,void 0,e,new Map,t)}function pX(e){return null!==e&&"object"==typeof e&&"[object Arguments]"===pH(e)}var p1=Object.defineProperty,p0=Object.defineProperties,p2=Object.getOwnPropertyDescriptors,p6=Object.getOwnPropertySymbols,p4=Object.prototype.hasOwnProperty,p3=Object.prototype.propertyIsEnumerable,p8=(e,t,i)=>t in e?p1(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,p9=(e,t)=>{for(var i in t||(t={}))p4.call(t,i)&&p8(e,i,t[i]);if(p6)for(var i of p6(t))p3.call(t,i)&&p8(e,i,t[i]);return e},p5=(e,t)=>p0(e,p2(t));function p7(e,t,i){var a;let r=f(e);return(null==(a=t.rpcMap)?void 0:a[r.reference])||`${pL}?chainId=${r.namespace}:${r.reference}&projectId=${i}`}function oe(e){return e.includes(":")?e.split(":")[1]:e}function ot(e){return e.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function oi(e={},t={}){return function(e,...t){return function(e,...t){let i=t.slice(0,-1),a=t[t.length-1],r=e;for(let e=0;e<i.length;e++)r=function e(t,i,a,r){if(pq(t)&&(t=Object(t)),null==i||"object"!=typeof i)return t;if(r.has(i))return function(e){if(pq(e))return e;if(Array.isArray(e)||pM(e)||e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);let t=Object.getPrototypeOf(e),i=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new i(e);if(e instanceof RegExp){let t=new i(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new i(e.buffer.slice(0));if(e instanceof Error){let t=new i(e.message);return t.stack=e.stack,t.name=e.name,t.cause=e.cause,t}return"u">typeof File&&e instanceof File?new i([e],e.name,{type:e.type,lastModified:e.lastModified}):"object"==typeof e?Object.assign(Object.create(t),e):e}(r.get(i));if(r.set(i,t),Array.isArray(i)){i=i.slice();for(let e=0;e<i.length;e++)i[e]=i[e]??void 0}let s=[...Object.keys(i),...pz(i)];for(let p=0;p<s.length;p++){let o=s[p],d=i[o],l=t[o];if(pX(d)&&(d={...d}),pX(l)&&(l={...l}),"u">typeof Buffer&&Buffer.isBuffer(d)&&(d=pQ(d)),Array.isArray(d)){if("object"==typeof l&&null!=l){let e=[],t=Reflect.ownKeys(l);for(let i=0;i<t.length;i++){let a=t[i];e[a]=l[a]}l=e}else l=[]}let c=a(l,d,o,t,i,r);null!=c?t[o]=c:Array.isArray(d)||pF(l)&&pF(d)?t[o]=e(l,d,a,r):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}(d)?t[o]=e({},d,a,r):null==l&&pM(d)?t[o]=pQ(d):(void 0===l||void 0!==d)&&(t[o]=d)}return t}(r,i[e],a,new Map);return r}(e,...t,p$)}(oa(e),oa(t))}function oa(e){var t,i,a,r,s;let p={};if(!aS(e))return p;for(let[o,d]of Object.entries(e)){let e=am(o)?[o]:d.chains,l=d.methods||[],c=d.events||[],h=d.rpcMap||{},u=af(o);p[u]=p5(p9(p9({},p[u]),d),{chains:H(e,null==(t=p[u])?void 0:t.chains),methods:H(l,null==(i=p[u])?void 0:i.methods),events:H(c,null==(a=p[u])?void 0:a.events)}),(aS(h)||aS((null==(r=p[u])?void 0:r.rpcMap)||{}))&&(p[u].rpcMap=p9(p9({},h),null==(s=p[u])?void 0:s.rpcMap))}return p}function or(e){return e.includes(":")?e.split(":")[2]:e}function os(e){let t={};for(let[i,a]of Object.entries(e)){let e=a.methods||[],r=a.events||[],s=a.accounts||[],p=am(i)?[i]:a.chains?a.chains:ot(a.accounts);t[i]={chains:p,methods:e,events:r,accounts:s}}return t}function on(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 op={},oo=e=>op[e],od=(e,t)=>{op[e]=t};var ol=Object.defineProperty,oc=(e,t,i)=>t in e?ol(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oh=(e,t,i)=>oc(e,"symbol"!=typeof t?t+"":t,i);class ou{constructor(e){oh(this,"name","polkadot"),oh(this,"client"),oh(this,"httpProviders"),oh(this,"events"),oh(this,"namespace"),oh(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i;let a=oe(t);e[a]=this.createHttpProvider(a,null==(i=this.namespace.rpcMap)?void 0:i[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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var om=Object.defineProperty,of=Object.defineProperties,og=Object.getOwnPropertyDescriptors,ov=Object.getOwnPropertySymbols,oy=Object.prototype.hasOwnProperty,ow=Object.prototype.propertyIsEnumerable,ob=(e,t,i)=>t in e?om(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,o_=(e,t)=>{for(var i in t||(t={}))oy.call(t,i)&&ob(e,i,t[i]);if(ov)for(var i of ov(t))ow.call(t,i)&&ob(e,i,t[i]);return e},oE=(e,t)=>of(e,og(t)),oS=(e,t,i)=>ob(e,"symbol"!=typeof t?t+"":t,i);class oD{constructor(e){oS(this,"name","eip155"),oS(this,"client"),oS(this,"chainId"),oS(this,"namespace"),oS(this,"httpProviders"),oS(this,"events"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i=t||p7(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.k(i,oo("disableProviderPing")))}setHttpProvider(e,t){let i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var i;let a=parseInt(oe(t));e[a]=this.createHttpProvider(a,null==(i=this.namespace.rpcMap)?void 0:i[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,i;let a=e.request.params?null==(t=e.request.params[0])?void 0:t.chainId:"0x0",r=parseInt(a=a.startsWith("0x")?a:`0x${a}`,16);if(this.isChainApproved(r))this.setDefaultChain(`${r}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:a}]},chainId:null==(i=this.namespace.chains)?void 0:i[0]}),this.setDefaultChain(`${r}`);else throw Error(`Failed to switch to chain 'eip155:${r}'. 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,i,a,r,s;let p=null==(i=null==(t=e.request)?void 0:t.params)?void 0:i[0],o=(null==(r=null==(a=e.request)?void 0:a.params)?void 0:r[1])||[],d=`${p}${o.join(",")}`;if(!p)throw Error("Missing address parameter in `wallet_getCapabilities` request");let l=this.client.session.get(e.topic),c=(null==(s=l?.sessionProperties)?void 0:s.capabilities)||{};if(null!=c&&c[d])return c?.[d];let h=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:oE(o_({},l.sessionProperties||{}),{capabilities:oE(o_({},c||{}),{[d]:h})})})}catch(e){console.warn("Failed to update session with capabilities",e)}return h}async getCallStatus(e){var t,i;let a=this.client.session.get(e.topic),r=null==(t=a.sessionProperties)?void 0:t.bundler_name;if(r){let t=this.getBundlerUrl(e.chainId,r);try{return await this.getUserOperationReceipt(t,e)}catch(e){console.warn("Failed to fetch call status from bundler",e,t)}}let s=null==(i=a.sessionProperties)?void 0:i.bundler_url;if(s)try{return await this.getUserOperationReceipt(s,e)}catch(e){console.warn("Failed to fetch call status from custom bundler",e,s)}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 i;let a=new URL(e),r=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,rr.formatJsonRpcRequest)("eth_getUserOperationReceipt",[null==(i=t.request.params)?void 0:i[0]]))});if(!r.ok)throw Error(`Failed to fetch user operation receipt - ${r.status}`);return await r.json()}getBundlerUrl(e,t){return`${pj}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}}var oN=Object.defineProperty,oI=(e,t,i)=>t in e?oN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oO=(e,t,i)=>oI(e,"symbol"!=typeof t?t+"":t,i);class ox{constructor(e){oO(this,"name","solana"),oO(this,"client"),oO(this,"httpProviders"),oO(this,"events"),oO(this,"namespace"),oO(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i;let a=oe(t);e[a]=this.createHttpProvider(a,null==(i=this.namespace.rpcMap)?void 0:i[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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var oP=Object.defineProperty,oT=(e,t,i)=>t in e?oP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oA=(e,t,i)=>oT(e,"symbol"!=typeof t?t+"":t,i);class oC{constructor(e){oA(this,"name","cosmos"),oA(this,"client"),oA(this,"httpProviders"),oA(this,"events"),oA(this,"namespace"),oA(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i;let a=oe(t);e[a]=this.createHttpProvider(a,null==(i=this.namespace.rpcMap)?void 0:i[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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var oR=Object.defineProperty,ok=(e,t,i)=>t in e?oR(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oV=(e,t,i)=>ok(e,"symbol"!=typeof t?t+"":t,i);class oL{constructor(e){oV(this,"name","algorand"),oV(this,"client"),oV(this,"httpProviders"),oV(this,"events"),oV(this,"namespace"),oV(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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 i=t||p7(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.chainId=e,this.events.emit(pU.DEFAULT_CHAIN_CHANGED,`${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 i;e[t]=this.createHttpProvider(t,null==(i=this.namespace.rpcMap)?void 0:i[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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace,this.client.core.projectId);return typeof i>"u"?void 0:new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var oB=Object.defineProperty,oj=(e,t,i)=>t in e?oB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oU=(e,t,i)=>oj(e,"symbol"!=typeof t?t+"":t,i);class o${constructor(e){oU(this,"name","cip34"),oU(this,"client"),oU(this,"httpProviders"),oU(this,"events"),oU(this,"namespace"),oU(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i=this.getCardanoRPCUrl(t),a=oe(t);e[a]=this.createHttpProvider(a,i)}),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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||this.getCardanoRPCUrl(e);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var oq=Object.defineProperty,oM=(e,t,i)=>t in e?oq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oF=(e,t,i)=>oM(e,"symbol"!=typeof t?t+"":t,i);class oz{constructor(e){oF(this,"name","elrond"),oF(this,"client"),oF(this,"httpProviders"),oF(this,"events"),oF(this,"namespace"),oF(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i;let a=oe(t);e[a]=this.createHttpProvider(a,null==(i=this.namespace.rpcMap)?void 0:i[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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var oH=Object.defineProperty,oK=(e,t,i)=>t in e?oH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oW=(e,t,i)=>oK(e,"symbol"!=typeof t?t+"":t,i);class oJ{constructor(e){oW(this,"name","multiversx"),oW(this,"client"),oW(this,"httpProviders"),oW(this,"events"),oW(this,"namespace"),oW(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i;let a=oe(t);e[a]=this.createHttpProvider(a,null==(i=this.namespace.rpcMap)?void 0:i[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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var oG=Object.defineProperty,oY=(e,t,i)=>t in e?oG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oZ=(e,t,i)=>oY(e,"symbol"!=typeof t?t+"":t,i);class oQ{constructor(e){oZ(this,"name","near"),oZ(this,"client"),oZ(this,"httpProviders"),oZ(this,"events"),oZ(this,"namespace"),oZ(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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 i=t||p7(`${this.name}:${e}`,this.namespace);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.events.emit(pU.DEFAULT_CHAIN_CHANGED,`${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 i;e[t]=this.createHttpProvider(t,null==(i=this.namespace.rpcMap)?void 0:i[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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace);return typeof i>"u"?void 0:new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var oX=Object.defineProperty,o1=(e,t,i)=>t in e?oX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,o0=(e,t,i)=>o1(e,"symbol"!=typeof t?t+"":t,i);class o2{constructor(e){o0(this,"name","tezos"),o0(this,"client"),o0(this,"httpProviders"),o0(this,"events"),o0(this,"namespace"),o0(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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 i=t||p7(`${this.name}:${e}`,this.namespace);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.events.emit(pU.DEFAULT_CHAIN_CHANGED,`${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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace);return typeof i>"u"?void 0:new ra.r(new pR.Z(i))}}var o6=Object.defineProperty,o4=(e,t,i)=>t in e?o6(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,o3=(e,t,i)=>o4(e,"symbol"!=typeof t?t+"":t,i);class o8{constructor(e){o3(this,"name",pB),o3(this,"client"),o3(this,"httpProviders"),o3(this,"events"),o3(this,"namespace"),o3(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i={};return null==(t=null==(e=this.namespace)?void 0:e.accounts)||t.forEach(e=>{let t=f(e);i[`${t.namespace}:${t.reference}`]=this.createHttpProvider(e)}),i}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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var o9=Object.defineProperty,o5=Object.defineProperties,o7=Object.getOwnPropertyDescriptors,de=Object.getOwnPropertySymbols,dt=Object.prototype.hasOwnProperty,di=Object.prototype.propertyIsEnumerable,da=(e,t,i)=>t in e?o9(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,dr=(e,t)=>{for(var i in t||(t={}))dt.call(t,i)&&da(e,i,t[i]);if(de)for(var i of de(t))di.call(t,i)&&da(e,i,t[i]);return e},ds=(e,t)=>o5(e,o7(t)),dn=(e,t,i)=>da(e,"symbol"!=typeof t?t+"":t,i);class dp{constructor(e){dn(this,"client"),dn(this,"namespaces"),dn(this,"optionalNamespaces"),dn(this,"sessionProperties"),dn(this,"scopedProperties"),dn(this,"events",new(r())),dn(this,"rpcProviders",{}),dn(this,"session"),dn(this,"providerOpts"),dn(this,"logger"),dn(this,"uri"),dn(this,"disableProviderPing",!1),this.providerOpts=e,this.logger="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,aM.gw)((0,aM.jI)({level:e?.logger||pk})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(e){let t=new dp(e);return await t.initialize(),t}async request(e,t,i){let[a,r]=this.validateChain(t);if(!this.session)throw Error("Please call connect() before request()");return await this.getProvider(a).request({request:dr({},e),chainId:`${a}:${r}`,topic:this.session.topic,expiry:i})}sendAsync(e,t,i,a){let r=new Date().getTime();this.request(e,i,a).then(e=>t(null,(0,rr.formatJsonRpcResult)(r,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:a_("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:i,response:a}=await this.client.authenticate(e,t);i&&(this.uri=i,this.events.emit("display_uri",i));let r=await a();if(this.session=r.session,this.session){let e=os(this.session.namespaces);this.namespaces=oi(this.namespaces,e),await this.persist("namespaces",this.namespaces),this.onConnect()}return r}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:i}=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 a=await i();this.session=a;let r=os(a.namespaces);return this.namespaces=oi(this.namespaces,r),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[i,a]=this.validateChain(e),r=this.getProvider(i);r.name===pB?r.setDefaultChain(`${i}:${a}`,t):r.setDefaultChain(a,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(aE(t)){for(let i of t)e.deletePairings?this.client.core.expirer.set(i.topic,0):await this.client.core.relayer.subscriber.unsubscribe(i.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 pC.init({core:this.providerOpts.core,logger:this.providerOpts.logger||pk,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(i){throw this.logger.error("Failed to get session",i),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=>af(e)))];od("client",this.client),od("events",this.events),od("disableProviderPing",this.disableProviderPing),e.forEach(e=>{if(!this.session)return;let t=function(e,t){let i=Object.keys(t.namespaces).filter(t=>t.includes(e));if(!i.length)return[];let a=[];return i.forEach(e=>{let i=t.namespaces[e].accounts;a.push(...i)}),a}(e,this.session),i=ot(t),a=ds(dr({},oi(this.namespaces,this.optionalNamespaces)[e]),{accounts:t,chains:i});switch(e){case"eip155":this.rpcProviders[e]=new oD({namespace:a});break;case"algorand":this.rpcProviders[e]=new oL({namespace:a});break;case"solana":this.rpcProviders[e]=new ox({namespace:a});break;case"cosmos":this.rpcProviders[e]=new oC({namespace:a});break;case"polkadot":this.rpcProviders[e]=new ou({namespace:a});break;case"cip34":this.rpcProviders[e]=new o$({namespace:a});break;case"elrond":this.rpcProviders[e]=new oz({namespace:a});break;case"multiversx":this.rpcProviders[e]=new oJ({namespace:a});break;case"near":this.rpcProviders[e]=new oQ({namespace:a});break;case"tezos":this.rpcProviders[e]=new o2({namespace:a});break;default:this.rpcProviders[pB]?this.rpcProviders[pB].updateNamespace(a):this.rpcProviders[pB]=new o8({namespace:a})}})}registerEventListeners(){if(typeof this.client>"u")throw Error("Sign Client is not initialized");this.client.on("session_ping",e=>{var t;let{topic:i}=e;i===(null==(t=this.session)?void 0:t.topic)&&this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{var t;let{params:i,topic:a}=e;if(a!==(null==(t=this.session)?void 0:t.topic))return;let{event:r}=i;if("accountsChanged"===r.name){let e=r.data;e&&aE(e)&&this.events.emit("accountsChanged",e.map(or))}else if("chainChanged"===r.name){let e=i.chainId,t=i.event.data,a=af(e),r=on(e)!==on(t)?`${a}:${on(t)}`:e;this.onChainChanged(r)}else this.events.emit(r.name,r.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var i,a;if(e!==(null==(i=this.session)?void 0:i.topic))return;let{namespaces:r}=t,s=null==(a=this.client)?void 0:a.session.get(e);this.session=ds(dr({},s),{namespaces:r}),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",ds(dr({},a_("USER_DISCONNECTED")),{data:e.topic})))}),this.on(pU.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[pB]}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:i={},sessionProperties:a,scopedProperties:r}=e;this.optionalNamespaces=oi(t,i),this.sessionProperties=a,this.scopedProperties=r}validateChain(e){let[t,i]=e?.split(":")||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,i];if(t&&!Object.keys(this.namespaces||{}).map(e=>af(e)).includes(t))throw Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&i)return[t,i];let a=af(Object.keys(this.namespaces)[0]),r=this.rpcProviders[a].getDefaultChain();return[a,r]}async requestAccounts(){let[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged(e,t=!1){if(!this.namespaces)return;let[i,a]=this.validateChain(e);if(!a)return;this.updateNamespaceChain(i,a),this.events.emit("chainChanged",a);let r=this.getProvider(i).getDefaultChain();t||this.getProvider(i).setDefaultChain(a),this.emitAccountsChangedOnChainChange({namespace:i,previousChainId:r,newChainId:e}),await this.persist("namespaces",this.namespaces)}emitAccountsChangedOnChainChange({namespace:e,previousChainId:t,newChainId:i}){var a,r;try{if(t===i)return;let s=null==(r=null==(a=this.session)?void 0:a.namespaces[e])?void 0:r.accounts;if(!s)return;let p=s.filter(e=>e.includes(`${i}:`)).map(or);if(!aE(p))return;this.events.emit("accountsChanged",p)}catch(e){this.logger.warn("Failed to emit accountsChanged on chain change",e)}}updateNamespaceChain(e,t){if(!this.namespaces)return;let i=this.namespaces[e]?e:`${e}:${t}`;this.namespaces[i]?this.namespaces[i]&&(this.namespaces[i].defaultChain=t):this.namespaces[i]={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 i;let a=(null==(i=this.session)?void 0:i.topic)||"";await this.client.core.storage.setItem(`${pV}/${e}${a}`,t)}async getFromStore(e){var t;let i=(null==(t=this.session)?void 0:t.topic)||"";return await this.client.core.storage.getItem(`${pV}/${e}${i}`)}async deleteFromStore(e){var t;let i=(null==(t=this.session)?void 0:t.topic)||"";await this.client.core.storage.removeItem(`${pV}/${e}${i}`)}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(pV)&&await this.client.core.storage.removeItem(e)}catch(e){this.logger.warn("Failed to cleanup storage",e)}}}let dd=["eth_sendTransaction","personal_sign"],dl=["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"],dc=["chainChanged","accountsChanged"],dh=["chainChanged","accountsChanged","message","disconnect","connect"],du=async()=>{let{createAppKit:e}=await i.e(327).then(i.bind(i,327));return e};var dm=Object.defineProperty,df=Object.defineProperties,dg=Object.getOwnPropertyDescriptors,dv=Object.getOwnPropertySymbols,dy=Object.prototype.hasOwnProperty,dw=Object.prototype.propertyIsEnumerable,db=(e,t,i)=>t in e?dm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,d_=(e,t)=>{for(var i in t||(t={}))dy.call(t,i)&&db(e,i,t[i]);if(dv)for(var i of dv(t))dw.call(t,i)&&db(e,i,t[i]);return e},dE=(e,t)=>df(e,dg(t)),dS=(e,t,i)=>db(e,"symbol"!=typeof t?t+"":t,i);function dD(e){return Number(e[0].split(":")[1])}function dN(e){return`0x${e.toString(16)}`}class dI{constructor(){dS(this,"events",new a.EventEmitter),dS(this,"namespace","eip155"),dS(this,"accounts",[]),dS(this,"signer"),dS(this,"chainId",1),dS(this,"modal"),dS(this,"rpc"),dS(this,"STORAGE_KEY","wc@2:ethereum_provider:"),dS(this,"on",(e,t)=>(this.events.on(e,t),this)),dS(this,"once",(e,t)=>(this.events.once(e,t),this)),dS(this,"removeListener",(e,t)=>(this.events.removeListener(e,t),this)),dS(this,"off",(e,t)=>(this.events.off(e,t),this)),dS(this,"parseAccount",e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e),this.signer={},this.rpc={}}static async init(e){let t=new dI;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,i){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),i)}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:i,optional:a}=function(e){let{chains:t,optionalChains:i,methods:a,optionalMethods:r,events:s,optionalEvents:p,rpcMap:o}=e;if(!aE(t))throw Error("Invalid chains");let d={chains:t,methods:a||dd,events:s||dc,rpcMap:d_({},t.length?{[dD(t)]:o[dD(t)]}:{})},l=s?.filter(e=>!dc.includes(e)),c=a?.filter(e=>!dd.includes(e));if(!i&&!p&&!r&&!(null!=l&&l.length)&&!(null!=c&&c.length))return{required:t.length?d:void 0};let h={chains:[...new Set(l?.length&&c?.length||!i?d.chains.concat(i||[]):i)],methods:[...new Set(d.methods.concat(null!=r&&r.length?r:dl))],events:[...new Set(d.events.concat(null!=p&&p.length?p:dh))],rpcMap:o};return{required:t.length?d:void 0,optional:i.length?h:void 0}}(this.rpc);try{let t=await new Promise(async(t,r)=>{var s,p;this.rpc.showQrModal&&(null==(s=this.modal)||s.open(),null==(p=this.modal)||p.subscribeState(e=>{e.open||this.signer.session||(this.signer.abortPairingAttempt(),r(Error("Connection request reset. Please try again.")))}));let o=null!=e&&e.scopedProperties?{[this.namespace]:e.scopedProperties}:void 0;await this.signer.connect(dE(d_({namespaces:d_({},i&&{[this.namespace]:i})},a&&{optionalNamespaces:{[this.namespace]:a}}),{pairingTopic:e?.pairingTopic,scopedProperties:o})).then(e=>{t(e)}).catch(e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),r(Error(e.message))})});if(!t)return;let r=g(t.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:r),this.setAccounts(r),this.events.emit("connect",{chainId:dN(this.chainId)})}catch(e){throw this.signer.logger.error(e),e}finally{null==(t=this.modal)||t.close()}}async authenticate(e,t){var i;if(!this.signer.client)throw Error("Provider not initialized. Call init() first");this.loadConnectOpts({chains:e?.chains});try{let i=await new Promise(async(i,a)=>{var r,s;this.rpc.showQrModal&&(null==(r=this.modal)||r.open(),null==(s=this.modal)||s.subscribeState(e=>{e.open||this.signer.session||(this.signer.abortPairingAttempt(),a(Error("Connection request reset. Please try again.")))})),await this.signer.authenticate(dE(d_({},e),{chains:this.rpc.chains}),t).then(e=>{i(e)}).catch(e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),a(Error(e.message))})}),a=i.session;if(a){let e=g(a.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:e),this.setAccounts(e),this.events.emit("connect",{chainId:dN(this.chainId)})}return i}catch(e){throw this.signer.logger.error(e),e}finally{null==(i=this.modal)||i.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:i}=t;"accountsChanged"===i.name?(this.accounts=this.parseAccounts(i.data),this.events.emit("accountsChanged",this.accounts)):"chainChanged"===i.name?this.setChainId(this.formatChainId(i.data)):this.events.emit(i.name,i.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",dN(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",dE(d_({},a_("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",dN(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,i,a]=e.split(":");return{chainId:`${t}:${i}`,address:a}}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,i;let a=null!=(t=e?.chains)?t:[],r=null!=(i=e?.optionalChains)?i:[],s=a.concat(r);if(!s.length)throw Error("No chains specified in either `chains` or `optionalChains`");let p=a.length?e?.methods||dd:[],o=a.length?e?.events||dc:[],d=e?.optionalMethods||[],l=e?.optionalEvents||[],c=e?.rpcMap||this.buildRpcMap(s,e.projectId),h=e?.qrModalOptions||void 0;return{chains:a?.map(e=>this.formatChainId(e)),optionalChains:r.map(e=>this.formatChainId(e)),methods:p,events:o,optionalMethods:d,optionalEvents:l,rpcMap:c,showQrModal:!!(null!=e&&e.showQrModal),qrModalOptions:h,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){let i={};return e.forEach(e=>{i[e]=this.getRpcUrl(e,t)}),i}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?dD(this.rpc.chains):dD(this.rpc.optionalChains),this.signer=await dp.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 du(),{convertWCMToAppKitOptions:i}=await Promise.resolve().then(function(){return dU}),a=i(dE(d_({},this.rpc.qrModalOptions),{chains:[...new Set([...this.rpc.chains,...this.rpc.optionalChains])],metadata:this.rpc.metadata,projectId:this.rpc.projectId}));if(!a.networks.length)throw Error("No networks found for WalletConnect\xb7");e=t(dE(d_({},a),{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:i,rpcMap:a}=e;t&&aE(t)&&(this.rpc.chains=t.map(e=>this.formatChainId(e)),t.forEach(e=>{this.rpc.rpcMap[e]=a?.[e]||this.getRpcUrl(e)})),i&&aE(i)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=i?.map(e=>this.formatChainId(e)),i.forEach(e=>{this.rpc.rpcMap[e]=a?.[e]||this.getRpcUrl(e)}))}getRpcUrl(e,t){var i;return(null==(i=this.rpc.rpcMap)?void 0:i[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 dO=dI;var dx=Object.defineProperty,dP=Object.defineProperties,dT=Object.getOwnPropertyDescriptors,dA=Object.getOwnPropertySymbols,dC=Object.prototype.hasOwnProperty,dR=Object.prototype.propertyIsEnumerable,dk=(e,t,i)=>t in e?dx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,dV=(e,t)=>{for(var i in t||(t={}))dC.call(t,i)&&dk(e,i,t[i]);if(dA)for(var i of dA(t))dR.call(t,i)&&dk(e,i,t[i]);return e},dL=(e,t)=>dP(e,dT(t));let dB=e=>{let[t,i]=e.split(":");return dj({id:i,caipNetworkId:e,chainNamespace:t,name:"",nativeCurrency:{name:"",symbol:"",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}})};function dj(e){return dV({formatters:void 0,fees:void 0,serializers:void 0},e)}var dU=Object.freeze({__proto__:null,convertWCMToAppKitOptions:function(e){var t,i,a,r,s,p,o;let d=null==(t=e.chains)?void 0:t.map(dB).filter(Boolean);if(0===d.length)throw Error("At least one chain must be specified");let l=d.find(t=>{var i;return t.id===(null==(i=e.defaultChain)?void 0:i.id)}),c={projectId:e.projectId,networks:d,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:dL(dV({},e.metadata),{name:(null==(i=e.metadata)?void 0:i.name)||"WalletConnect",description:(null==(a=e.metadata)?void 0:a.description)||"Connect to WalletConnect-compatible wallets",url:(null==(r=e.metadata)?void 0:r.url)||"https://walletconnect.org",icons:(null==(s=e.metadata)?void 0:s.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!=(p=e.mobileWallets)&&p.length||null!=(o=e.desktopWallets)&&o.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}}))],i=[...c.featuredWalletIds||[],...c.excludeWalletIds||[]],a=t.filter(e=>!i.includes(e.id));a.length&&(c.customWallets=a)}return c},defineChain:dj})},36627:(e,t,i)=>{"use strict";i.d(t,{q:()=>a});class a{}},98563:(e,t,i)=>{"use strict";i.d(t,{C$:()=>l,Lx:()=>d});var a=i(82361),r=i(39064),s=i(36627);class p extends s.q{constructor(e){super()}}let o=r.FIVE_SECONDS,d={pulse:"heartbeat_pulse"};class l extends p{constructor(e){super(e),this.events=new a.EventEmitter,this.interval=o,this.interval=e?.interval||o}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,r.toMiliseconds)(this.interval))}pulse(){this.events.emit(d.pulse)}}},60467:(e,t,i)=>{"use strict";i.d(t,{Z:()=>w,k:()=>w});var a=i(82361),r=i(37473),s=i.n(r),p=i(60143),o=i(26560),d=Object.defineProperty,l=Object.defineProperties,c=Object.getOwnPropertyDescriptors,h=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,f=(e,t,i)=>t in e?d(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,g=(e,t)=>{for(var i in t||(t={}))u.call(t,i)&&f(e,i,t[i]);if(h)for(var i of h(t))m.call(t,i)&&f(e,i,t[i]);return e},v=(e,t)=>l(e,c(t));let y={headers:{Accept:"application/json","Content-Type":"application/json"},method:"POST"};class w{constructor(e,t=!1){if(this.url=e,this.disableProviderPing=t,this.events=new a.EventEmitter,this.isAvailable=!1,this.registering=!1,!(0,o.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,p.u)(e),i=await (await s()(this.url,v(g({},y),{body:t}))).json();this.onPayload({data:i})}catch(t){this.onError(e.id,t)}}async register(e=this.url){if(!(0,o.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,p.u)({id:1,jsonrpc:"2.0",method:"test",params:[]});await s()(e,v(g({},y),{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,p.D)(e.data):e.data;this.events.emit("payload",t)}onError(e,t){let i=this.parseError(t),a=i.message||i.toString(),r=(0,o.formatJsonRpcError)(e,a);this.events.emit("payload",r)}parseError(e,t=this.url){return(0,o.parseConnectionError)(e,t,"HTTP")}resetMaxListeners(){this.events.getMaxListeners()>10&&this.events.setMaxListeners(10)}}},44926:(e,t,i)=>{"use strict";i.d(t,{r:()=>s});var a=i(82361),r=i(26560);class s extends r.IJsonRpcProvider{constructor(e){super(e),this.events=new a.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,r.formatJsonRpcRequest)(e.method,e.params||[],e.id||(0,r.getBigIntRpcId)().toString()),t)}async requestStrict(e,t){return new Promise(async(i,a)=>{if(!this.connection.connected)try{await this.open()}catch(e){a(e)}this.events.on(`${e.id}`,e=>{(0,r.isJsonRpcError)(e)?a(e.error):i(e.result)});try{await this.connection.send(e,t)}catch(e){a(e)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),(0,r.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)}}},4605:(e,t,i)=>{"use strict";i.d(t,{CA:()=>r,JV:()=>o,O4:()=>a,dQ:()=>s,xK:()=>p});let a="INTERNAL_ERROR",r="SERVER_ERROR",s=[-32700,-32600,-32601,-32602,-32603],p={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"},[a]:{code:-32603,message:"Internal error"},[r]:{code:-32e3,message:"Server error"}},o=r},87652:(e,t,i)=>{"use strict";var a=i(77231);i.o(a,"IJsonRpcProvider")&&i.d(t,{IJsonRpcProvider:function(){return a.IJsonRpcProvider}}),i.o(a,"formatJsonRpcError")&&i.d(t,{formatJsonRpcError:function(){return a.formatJsonRpcError}}),i.o(a,"formatJsonRpcRequest")&&i.d(t,{formatJsonRpcRequest:function(){return a.formatJsonRpcRequest}}),i.o(a,"formatJsonRpcResult")&&i.d(t,{formatJsonRpcResult:function(){return a.formatJsonRpcResult}}),i.o(a,"getBigIntRpcId")&&i.d(t,{getBigIntRpcId:function(){return a.getBigIntRpcId}}),i.o(a,"isHttpUrl")&&i.d(t,{isHttpUrl:function(){return a.isHttpUrl}}),i.o(a,"isJsonRpcError")&&i.d(t,{isJsonRpcError:function(){return a.isJsonRpcError}}),i.o(a,"isJsonRpcRequest")&&i.d(t,{isJsonRpcRequest:function(){return a.isJsonRpcRequest}}),i.o(a,"isJsonRpcResponse")&&i.d(t,{isJsonRpcResponse:function(){return a.isJsonRpcResponse}}),i.o(a,"isJsonRpcResult")&&i.d(t,{isJsonRpcResult:function(){return a.isJsonRpcResult}}),i.o(a,"isLocalhostUrl")&&i.d(t,{isLocalhostUrl:function(){return a.isLocalhostUrl}}),i.o(a,"isReactNative")&&i.d(t,{isReactNative:function(){return a.isReactNative}}),i.o(a,"isWsUrl")&&i.d(t,{isWsUrl:function(){return a.isWsUrl}}),i.o(a,"payloadId")&&i.d(t,{payloadId:function(){return a.payloadId}})},9637:(e,t,i)=>{"use strict";i.d(t,{CX:()=>o,L2:()=>p,by:()=>s,i5:()=>r});var a=i(4605);function r(e){return a.dQ.includes(e)}function s(e){return Object.keys(a.xK).includes(e)?a.xK[e]:a.xK[a.JV]}function p(e){return Object.values(a.xK).find(t=>t.code===e)||a.xK[a.JV]}function o(e,t,i){return e.message.includes("getaddrinfo ENOTFOUND")||e.message.includes("connect ECONNREFUSED")?Error(`Unavailable ${i} RPC url at ${t}`):e}},7325:(e,t,i)=>{"use strict";i.d(t,{CS:()=>p,RI:()=>l,o0:()=>s,sT:()=>o,tm:()=>d});var a=i(9637),r=i(4605);function s(e=3){return Date.now()*Math.pow(10,e)+Math.floor(Math.random()*Math.pow(10,e))}function p(e=6){return BigInt(s(e))}function o(e,t,i){return{id:i||s(),jsonrpc:"2.0",method:e,params:t}}function d(e,t){return{id:e,jsonrpc:"2.0",result:t}}function l(e,t,i){var s;return{id:e,jsonrpc:"2.0",error:void 0===(s=t)?(0,a.by)(r.O4):("string"==typeof s&&(s=Object.assign(Object.assign({},(0,a.by)(r.CA)),{message:s})),void 0!==i&&(s.data=i),(0,a.i5)(s.code)&&(s=(0,a.L2)(s.code)),s)}}},26560:(e,t,i)=>{"use strict";i.d(t,{IJsonRpcProvider:()=>p.x0,formatJsonRpcError:()=>s.RI,formatJsonRpcRequest:()=>s.sT,formatJsonRpcResult:()=>s.tm,getBigIntRpcId:()=>s.CS,isHttpUrl:()=>o.jK,isJsonRpcError:()=>d.jg,isJsonRpcRequest:()=>d.DW,isJsonRpcResponse:()=>d.u,isJsonRpcResult:()=>d.k4,isLocalhostUrl:()=>o.JF,isWsUrl:()=>o.UZ,parseConnectionError:()=>a.CX,payloadId:()=>s.o0}),i(4605);var a=i(9637),r=i(87652);i.o(r,"IJsonRpcProvider")&&i.d(t,{IJsonRpcProvider:function(){return r.IJsonRpcProvider}}),i.o(r,"formatJsonRpcError")&&i.d(t,{formatJsonRpcError:function(){return r.formatJsonRpcError}}),i.o(r,"formatJsonRpcRequest")&&i.d(t,{formatJsonRpcRequest:function(){return r.formatJsonRpcRequest}}),i.o(r,"formatJsonRpcResult")&&i.d(t,{formatJsonRpcResult:function(){return r.formatJsonRpcResult}}),i.o(r,"getBigIntRpcId")&&i.d(t,{getBigIntRpcId:function(){return r.getBigIntRpcId}}),i.o(r,"isHttpUrl")&&i.d(t,{isHttpUrl:function(){return r.isHttpUrl}}),i.o(r,"isJsonRpcError")&&i.d(t,{isJsonRpcError:function(){return r.isJsonRpcError}}),i.o(r,"isJsonRpcRequest")&&i.d(t,{isJsonRpcRequest:function(){return r.isJsonRpcRequest}}),i.o(r,"isJsonRpcResponse")&&i.d(t,{isJsonRpcResponse:function(){return r.isJsonRpcResponse}}),i.o(r,"isJsonRpcResult")&&i.d(t,{isJsonRpcResult:function(){return r.isJsonRpcResult}}),i.o(r,"isLocalhostUrl")&&i.d(t,{isLocalhostUrl:function(){return r.isLocalhostUrl}}),i.o(r,"isReactNative")&&i.d(t,{isReactNative:function(){return r.isReactNative}}),i.o(r,"isWsUrl")&&i.d(t,{isWsUrl:function(){return r.isWsUrl}}),i.o(r,"payloadId")&&i.d(t,{payloadId:function(){return r.payloadId}});var s=i(7325),p=i(22932),o=i(60172),d=i(14731)},22932:(e,t,i)=>{"use strict";i.d(t,{x0:()=>s});class a{}class r extends a{constructor(){super()}}class s extends r{constructor(e){super()}}},60172:(e,t,i)=>{"use strict";function a(e,t){let i=function(e){let t=e.match(RegExp(/^\w+:/,"gi"));if(t&&t.length)return t[0]}(e);return void 0!==i&&new RegExp(t).test(i)}function r(e){return a(e,"^https?:")}function s(e){return a(e,"^wss?:")}function p(e){return RegExp("wss?://localhost(:d{2,5})?").test(e)}i.d(t,{JF:()=>p,UZ:()=>s,jK:()=>r})},14731:(e,t,i)=>{"use strict";function a(e){return"object"==typeof e&&"id"in e&&"jsonrpc"in e&&"2.0"===e.jsonrpc}function r(e){return a(e)&&"method"in e}function s(e){return a(e)&&(p(e)||o(e))}function p(e){return"result"in e}function o(e){return"error"in e}i.d(t,{DW:()=>r,jg:()=>o,k4:()=>p,u:()=>s})},76755:(e,t,i)=>{"use strict";i.d(t,{Z:()=>l});var a=i(82361),r=i(60143),s=i(26560);let p=()=>"u">typeof WebSocket||"u">typeof global&&"u">typeof global.WebSocket||"u">typeof window&&"u">typeof window.WebSocket||"u">typeof self&&"u">typeof self.WebSocket,o=e=>e.split("?")[0],d="u">typeof WebSocket?WebSocket:"u">typeof global&&"u">typeof global.WebSocket?global.WebSocket:"u">typeof window&&"u">typeof window.WebSocket?window.WebSocket:"u">typeof self&&"u">typeof self.WebSocket?self.WebSocket:i(23584);class l{constructor(e){if(this.url=e,this.events=new a.EventEmitter,this.registering=!1,!(0,s.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,r.u)(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!(0,s.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,i)=>{let a=(0,s.isReactNative)()?void 0:{rejectUnauthorized:!(0,s.isLocalhostUrl)(e)},r=new d(e,[],a);p()?r.onerror=e=>{i(this.emitError(e.error))}:r.on("error",e=>{i(this.emitError(e))}),r.onopen=()=>{this.onOpen(r),t(r)}})}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,r.D)(e.data):e.data;this.events.emit("payload",t)}onError(e,t){let i=this.parseError(t),a=i.message||i.toString(),r=(0,s.formatJsonRpcError)(e,a);this.events.emit("payload",r)}parseError(e,t=this.url){return(0,s.parseConnectionError)(e,o(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: ${o(this.url)}`));return this.events.emit("register_error",t),t}}},42253:(e,t,i)=>{"use strict";i.d(t,{Z:()=>O});let a=/"(?:_|\\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*:/,r=/"(?: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*:/,s=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function p(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 o(e,t={}){if("string"!=typeof e)return e;let i=e.trim();if('"'===e[0]&&e.endsWith('"')&&!e.includes("\\"))return i.slice(1,-1);if(i.length<=9){let e=i.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(!s.test(e)){if(t.strict)throw SyntaxError("[destr] Invalid JSON");return e}try{if(a.test(e)||r.test(e)){if(t.strict)throw Error("[destr] Possible prototype pollution");return JSON.parse(e,p)}return JSON.parse(e)}catch(i){if(t.strict)throw i;return e}}function d(e,...t){try{var i;return(i=e(...t))&&"function"==typeof i.then?i:Promise.resolve(i)}catch(e){return Promise.reject(e)}}function l(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 l(e.toJSON());throw Error("[unstorage] Cannot stringify value!")}let c="base64:";function h(e){return e?e.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function u(e){return(e=h(e))?e+":":""}let m=()=>{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,i){e.set(t,i)},setItemRaw(t,i){e.set(t,i)},removeItem(t){e.delete(t)},getKeys:()=>Array.from(e.keys()),clear(){e.clear()},dispose(){e.clear()}}};function f(e,t,i){return e.watch?e.watch((e,a)=>t(e,i+a)):()=>{}}async function g(e){"function"==typeof e.dispose&&await d(e.dispose)}var v=i(52259),y=i(60143),w=(e={})=>{let t;let i=e.base&&e.base.length>0?`${e.base}:`:"",a=e=>i+e;return e.dbName&&e.storeName&&(t=(0,v.MT)(e.dbName,e.storeName)),{name:"idb-keyval",options:e,hasItem:async e=>!(typeof await (0,v.U2)(a(e),t)>"u"),getItem:async e=>await (0,v.U2)(a(e),t)??null,setItem:(e,i)=>(0,v.t8)(a(e),i,t),removeItem:e=>(0,v.IV)(a(e),t),getKeys:()=>(0,v.XP)(t),clear:()=>(0,v.ZH)(t)}};class b{constructor(){this.indexedDb=function(e={}){let t={mounts:{"":e.driver||m()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},i=e=>{for(let i of t.mountpoints)if(e.startsWith(i))return{base:i,relativeKey:e.slice(i.length),driver:t.mounts[i]};return{base:"",relativeKey:e,driver:t.mounts[""]}},a=(e,i)=>t.mountpoints.filter(t=>t.startsWith(e)||i&&e.startsWith(t)).map(i=>({relativeBase:e.length>i.length?e.slice(i.length):void 0,mountpoint:i,driver:t.mounts[i]})),r=(e,i)=>{if(t.watching)for(let a of(i=h(i),t.watchListeners))a(e,i)},s=async()=>{if(!t.watching)for(let e in t.watching=!0,t.mounts)t.unwatch[e]=await f(t.mounts[e],r,e)},p=async()=>{if(t.watching){for(let e in t.unwatch)await t.unwatch[e]();t.unwatch={},t.watching=!1}},v=(e,t,a)=>{let r=new Map,s=e=>{let t=r.get(e.base);return t||(t={driver:e.driver,base:e.base,items:[]},r.set(e.base,t)),t};for(let a of e){let e="string"==typeof a,r=h(e?a:a.key),p=e?void 0:a.value,o=e||!a.options?t:{...t,...a.options},d=i(r);s(d).items.push({key:r,value:p,relativeKey:d.relativeKey,options:o})}return Promise.all([...r.values()].map(e=>a(e))).then(e=>e.flat())},y={hasItem(e,t={}){let{relativeKey:a,driver:r}=i(e=h(e));return d(r.hasItem,a,t)},getItem(e,t={}){let{relativeKey:a,driver:r}=i(e=h(e));return d(r.getItem,a,t).then(e=>o(e))},getItems:(e,t)=>v(e,t,e=>e.driver.getItems?d(e.driver.getItems,e.items.map(e=>({key:e.relativeKey,options:e.options})),t).then(t=>t.map(t=>({key:function(...e){return h(e.join(":"))}(e.base,t.key),value:o(t.value)}))):Promise.all(e.items.map(t=>d(e.driver.getItem,t.relativeKey,t.options).then(e=>({key:t.key,value:o(e)}))))),getItemRaw(e,t={}){let{relativeKey:a,driver:r}=i(e=h(e));return r.getItemRaw?d(r.getItemRaw,a,t):d(r.getItem,a,t).then(e=>"string"==typeof e&&e.startsWith(c)?Buffer.from(e.slice(c.length),"base64"):e)},async setItem(e,t,a={}){if(void 0===t)return y.removeItem(e);let{relativeKey:s,driver:p}=i(e=h(e));p.setItem&&(await d(p.setItem,s,l(t),a),p.watch||r("update",e))},async setItems(e,t){await v(e,t,async e=>{if(e.driver.setItems)return d(e.driver.setItems,e.items.map(e=>({key:e.relativeKey,value:l(e.value),options:e.options})),t);e.driver.setItem&&await Promise.all(e.items.map(t=>d(e.driver.setItem,t.relativeKey,l(t.value),t.options)))})},async setItemRaw(e,t,a={}){if(void 0===t)return y.removeItem(e,a);let{relativeKey:s,driver:p}=i(e=h(e));if(p.setItemRaw)await d(p.setItemRaw,s,t,a);else{if(!p.setItem)return;await d(p.setItem,s,"string"==typeof t?t:c+Buffer.from(t).toString("base64"),a)}p.watch||r("update",e)},async removeItem(e,t={}){"boolean"==typeof t&&(t={removeMeta:t});let{relativeKey:a,driver:s}=i(e=h(e));s.removeItem&&(await d(s.removeItem,a,t),(t.removeMeta||t.removeMata)&&await d(s.removeItem,a+"$",t),s.watch||r("remove",e))},async getMeta(e,t={}){"boolean"==typeof t&&(t={nativeOnly:t});let{relativeKey:a,driver:r}=i(e=h(e)),s=Object.create(null);if(r.getMeta&&Object.assign(s,await d(r.getMeta,a,t)),!t.nativeOnly){let e=await d(r.getItem,a+"$",t).then(e=>o(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(s,e))}return s},setMeta(e,t,i={}){return this.setItem(e+"$",t,i)},removeMeta(e,t={}){return this.removeItem(e+"$",t)},async getKeys(e,t={}){let i=a(e=u(e),!0),r=[],s=[];for(let e of i){let i=(await d(e.driver.getKeys,e.relativeBase,t)).map(t=>e.mountpoint+h(t)).filter(e=>!r.some(t=>e.startsWith(t)));s.push(...i),r=[e.mountpoint,...r.filter(t=>!t.startsWith(e.mountpoint))]}return e?s.filter(t=>t.startsWith(e)&&!t.endsWith("$")):s.filter(e=>!e.endsWith("$"))},async clear(e,t={}){e=u(e),await Promise.all(a(e,!1).map(async e=>e.driver.clear?d(e.driver.clear,e.relativeBase,t):e.driver.removeItem?Promise.all((await e.driver.getKeys(e.relativeBase||"",t)).map(i=>e.driver.removeItem(i,t))):void 0))},async dispose(){await Promise.all(Object.values(t.mounts).map(e=>g(e)))},watch:async e=>(await s(),t.watchListeners.push(e),async()=>{t.watchListeners=t.watchListeners.filter(t=>t!==e),0===t.watchListeners.length&&await p()}),async unwatch(){t.watchListeners=[],await p()},mount(e,i){if((e=u(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]=i,t.watching&&Promise.resolve(f(i,r,e)).then(i=>{t.unwatch[e]=i}).catch(console.error),y},async unmount(e,i=!0){(e=u(e))&&t.mounts[e]&&(t.watching&&e in t.unwatch&&(t.unwatch[e](),delete t.unwatch[e]),i&&await g(t.mounts[e]),t.mountpoints=t.mountpoints.filter(t=>t!==e),delete t.mounts[e])},getMount(e=""){let t=i(e=h(e)+":");return{driver:t.driver,base:t.base}},getMounts:(e="",t={})=>a(e=h(e),t.parents).map(e=>({driver:e.driver,base:e.mountpoint}))};return y}({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,y.u)(t))}async removeItem(e){await this.indexedDb.removeItem(e)}}var _="u">typeof globalThis?globalThis:"u">typeof window?window:"u">typeof global?global:"u">typeof self?self:{},E={exports:{}};function S(e){var t;return[e[0],(0,y.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 _&&_.localStorage?E.exports=_.localStorage:"u">typeof window&&window.localStorage?E.exports=window.localStorage:E.exports=new e}();class D{constructor(){this.localStorage=E.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(S)}async getItem(e){let t=this.localStorage.getItem(e);if(null!==t)return(0,y.D)(t)}async setItem(e,t){this.localStorage.setItem(e,(0,y.u)(t))}async removeItem(e){this.localStorage.removeItem(e)}}let N=async(e,t,i)=>{let a="wc_storage_version",r=await t.getItem(a);if(r&&r>=1){i(t);return}let s=await e.getKeys();if(!s.length){i(t);return}let p=[];for(;s.length;){let i=s.shift();if(!i)continue;let a=i.toLowerCase();if(a.includes("wc@")||a.includes("walletconnect")||a.includes("wc_")||a.includes("wallet_connect")){let a=await e.getItem(i);await t.setItem(i,a),p.push(i)}}await t.setItem(a,1),i(t),I(e,p)},I=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 b;N(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)})}}},41434:(e,t,i)=>{"use strict";i.d(t,{Ep:()=>N,Fd:()=>D,Rt:()=>I,gw:()=>r.a,jI:()=>S});var a=i(53230),r=i.n(a),s=i(60143);let p={level:"info"},o="custom_context";class d{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 d(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 c{constructor(e,t=1024e3){this.level=e??"error",this.levelValue=a.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===a.levels.values.error?console.error(e):t===a.levels.values.warn?console.warn(e):t===a.levels.values.debug?console.debug(e):t===a.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append((0,s.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,s.u)({extraMetadata:e})),new Blob(t,{type:"application/json"})}}class h{constructor(e,t=1024e3){this.baseChunkLogger=new c(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)),i=document.createElement("a");i.href=t,i.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(t)}}class u{constructor(e,t=1024e3){this.baseChunkLogger=new c(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 m=Object.defineProperty,f=Object.defineProperties,g=Object.getOwnPropertyDescriptors,v=Object.getOwnPropertySymbols,y=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable,b=(e,t,i)=>t in e?m(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,_=(e,t)=>{for(var i in t||(t={}))y.call(t,i)&&b(e,i,t[i]);if(v)for(var i of v(t))w.call(t,i)&&b(e,i,t[i]);return e},E=(e,t)=>f(e,g(t));function S(e){return E(_({},e),{level:e?.level||p.level})}function D(e,t=o){return typeof e.bindings>"u"?function(e,t=o){return e[t]||""}(e,t):e.bindings().context||""}function N(e,t,i=o){let a=function(e,t,i=o){let a=D(e,i);return a.trim()?`${a}/${t}`:t}(e,t,i);return function(e,t,i=o){return e[i]=t,e}(e.child({context:a}),a,i)}function I(e){return"u">typeof e.loggerOverride&&"string"!=typeof e.loggerOverride?{logger:e.loggerOverride,chunkLoggerController:null}:"u">typeof window?function(e){var t,i;let a=new h(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:r()(E(_({},e.opts),{level:"trace",browser:E(_({},null==(i=e.opts)?void 0:i.browser),{write:e=>a.write(e)})})),chunkLoggerController:a}}(e):function(e){var t;let i=new u(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:r()(E(_({},e.opts),{level:"trace"}),i),chunkLoggerController:i}}(e)}},23577:(e,t,i)=>{"use strict";i.d(t,{iO:()=>a});let a={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"}}},97952:(e,t,i)=>{"use strict";i.d(t,{Au:()=>tI,bG:()=>tD,vf:()=>tO,xp:()=>tN});var a=i(39064),r=i(60143);function s(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 p(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 o="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,d=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)),s(e),e}class c{clone(){return this._cloneInto()}}function h(e=32){if(o&&"function"==typeof o.getRandomValues)return o.getRandomValues(new Uint8Array(e));if(o&&"function"==typeof o.randomBytes)return o.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}class u extends c{constructor(e,t,i,a){super(),this.blockLen=e,this.outputLen=t,this.padOffset=i,this.isLE=a,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=d(this.buffer)}update(e){p(this);let{view:t,buffer:i,blockLen:a}=this,r=(e=l(e)).length;for(let s=0;s<r;){let p=Math.min(a-this.pos,r-s);if(p===a){let t=d(e);for(;a<=r-s;s+=a)this.process(t,s);continue}i.set(e.subarray(s,s+p),this.pos),this.pos+=p,s+=p,this.pos===a&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){p(this),function(e,t){s(e);let i=t.outputLen;if(e.length<i)throw Error("digestInto() expects output buffer of length at least "+i)}(e,this),this.finished=!0;let{buffer:t,view:i,blockLen:a,isLE:r}=this,{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>a-o&&(this.process(i,0),o=0);for(let e=o;e<a;e++)t[e]=0;(function(e,t,i,a){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,i,a);let r=BigInt(32),s=BigInt(4294967295),p=Number(i>>r&s),o=Number(i&s),d=a?4:0,l=a?0:4;e.setUint32(t+d,p,a),e.setUint32(t+l,o,a)})(i,a-8,BigInt(8*this.length),r),this.process(i,0);let l=d(e),c=this.outputLen;if(c%4)throw Error("_sha2: outputLen should be aligned to 32bit");let h=c/4,u=this.get();if(h>u.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<h;e++)l.setUint32(4*e,u[e],r)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let i=e.slice(0,t);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:i,length:a,finished:r,destroyed:s,pos:p}=this;return e.length=a,e.pos=p,e.finished=r,e.destroyed=s,a%t&&e.buffer.set(i),e}}let m=BigInt(4294967296-1),f=BigInt(32),g={split:function(e,t=!1){let i=new Uint32Array(e.length),a=new Uint32Array(e.length);for(let r=0;r<e.length;r++){let{h:s,l:p}=function(e,t=!1){return t?{h:Number(e&m),l:Number(e>>f&m)}:{h:0|Number(e>>f&m),l:0|Number(e&m)}}(e[r],t);[i[r],a[r]]=[s,p]}return[i,a]},shrSH:(e,t,i)=>e>>>i,shrSL:(e,t,i)=>e<<32-i|t>>>i,rotrSH:(e,t,i)=>e>>>i|t<<32-i,rotrSL:(e,t,i)=>e<<32-i|t>>>i,rotrBH:(e,t,i)=>e<<64-i|t>>>i-32,rotrBL:(e,t,i)=>e>>>i-32|t<<64-i,add:function(e,t,i,a){let r=(t>>>0)+(a>>>0);return{h:e+i+(r/4294967296|0)|0,l:0|r}},add3L:(e,t,i)=>(e>>>0)+(t>>>0)+(i>>>0),add3H:(e,t,i,a)=>t+i+a+(e/4294967296|0)|0,add4L:(e,t,i,a)=>(e>>>0)+(t>>>0)+(i>>>0)+(a>>>0),add4H:(e,t,i,a,r)=>t+i+a+r+(e/4294967296|0)|0,add5H:(e,t,i,a,r,s)=>t+i+a+r+s+(e/4294967296|0)|0,add5L:(e,t,i,a,r)=>(e>>>0)+(t>>>0)+(i>>>0)+(a>>>0)+(r>>>0)},[v,y]=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))),w=new Uint32Array(80),b=new Uint32Array(80);class _ extends u{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:i,Bl:a,Ch:r,Cl:s,Dh:p,Dl:o,Eh:d,El:l,Fh:c,Fl:h,Gh:u,Gl:m,Hh:f,Hl:g}=this;return[e,t,i,a,r,s,p,o,d,l,c,h,u,m,f,g]}set(e,t,i,a,r,s,p,o,d,l,c,h,u,m,f,g){this.Ah=0|e,this.Al=0|t,this.Bh=0|i,this.Bl=0|a,this.Ch=0|r,this.Cl=0|s,this.Dh=0|p,this.Dl=0|o,this.Eh=0|d,this.El=0|l,this.Fh=0|c,this.Fl=0|h,this.Gh=0|u,this.Gl=0|m,this.Hh=0|f,this.Hl=0|g}process(e,t){for(let i=0;i<16;i++,t+=4)w[i]=e.getUint32(t),b[i]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=0|w[e-15],i=0|b[e-15],a=g.rotrSH(t,i,1)^g.rotrSH(t,i,8)^g.shrSH(t,i,7),r=g.rotrSL(t,i,1)^g.rotrSL(t,i,8)^g.shrSL(t,i,7),s=0|w[e-2],p=0|b[e-2],o=g.rotrSH(s,p,19)^g.rotrBH(s,p,61)^g.shrSH(s,p,6),d=g.rotrSL(s,p,19)^g.rotrBL(s,p,61)^g.shrSL(s,p,6),l=g.add4L(r,d,b[e-7],b[e-16]),c=g.add4H(l,a,o,w[e-7],w[e-16]);w[e]=0|c,b[e]=0|l}let{Ah:i,Al:a,Bh:r,Bl:s,Ch:p,Cl:o,Dh:d,Dl:l,Eh:c,El:h,Fh:u,Fl:m,Gh:f,Gl:_,Hh:E,Hl:S}=this;for(let e=0;e<80;e++){let t=g.rotrSH(c,h,14)^g.rotrSH(c,h,18)^g.rotrBH(c,h,41),D=g.rotrSL(c,h,14)^g.rotrSL(c,h,18)^g.rotrBL(c,h,41),N=c&u^~c&f,I=h&m^~h&_,O=g.add5L(S,D,I,y[e],b[e]),x=g.add5H(O,E,t,N,v[e],w[e]),P=0|O,T=g.rotrSH(i,a,28)^g.rotrBH(i,a,34)^g.rotrBH(i,a,39),A=g.rotrSL(i,a,28)^g.rotrBL(i,a,34)^g.rotrBL(i,a,39),C=i&r^i&p^r&p,R=a&s^a&o^s&o;E=0|f,S=0|_,f=0|u,_=0|m,u=0|c,m=0|h,({h:c,l:h}=g.add(0|d,0|l,0|x,0|P)),d=0|p,l=0|o,p=0|r,o=0|s,r=0|i,s=0|a;let k=g.add3L(P,A,R);i=g.add3H(k,x,T,C),a=0|k}({h:i,l:a}=g.add(0|this.Ah,0|this.Al,0|i,0|a)),({h:r,l:s}=g.add(0|this.Bh,0|this.Bl,0|r,0|s)),({h:p,l:o}=g.add(0|this.Ch,0|this.Cl,0|p,0|o)),({h:d,l:l}=g.add(0|this.Dh,0|this.Dl,0|d,0|l)),({h:c,l:h}=g.add(0|this.Eh,0|this.El,0|c,0|h)),({h:u,l:m}=g.add(0|this.Fh,0|this.Fl,0|u,0|m)),({h:f,l:_}=g.add(0|this.Gh,0|this.Gl,0|f,0|_)),({h:E,l:S}=g.add(0|this.Hh,0|this.Hl,0|E,0|S)),this.set(i,a,r,s,p,o,d,l,c,h,u,m,f,_,E,S)}roundClean(){w.fill(0),b.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(),i=e();return t.outputLen=i.outputLen,t.blockLen=i.blockLen,t.create=()=>e(),t}(()=>new _),S=BigInt(0),D=BigInt(1),N=BigInt(2);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function I(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function O(e){if(!I(e))throw Error("Uint8Array expected")}function x(e,t){if("boolean"!=typeof t)throw Error(e+" boolean expected, got "+t)}let P=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function T(e){O(e);let t="";for(let i=0;i<e.length;i++)t+=P[e[i]];return t}function A(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return""===e?S:BigInt("0x"+e)}let C={_0:48,_9:57,A:65,F:70,a:97,f:102};function R(e){return e>=C._0&&e<=C._9?e-C._0:e>=C.A&&e<=C.F?e-(C.A-10):e>=C.a&&e<=C.f?e-(C.a-10):void 0}function k(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);let t=e.length,i=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let a=new Uint8Array(i);for(let t=0,r=0;t<i;t++,r+=2){let i=R(e.charCodeAt(r)),s=R(e.charCodeAt(r+1));if(void 0===i||void 0===s)throw Error('hex string expected, got non-hex character "'+(e[r]+e[r+1])+'" at index '+r);a[t]=16*i+s}return a}function V(e){return O(e),A(T(Uint8Array.from(e).reverse()))}function L(e,t){return k(e.toString(16).padStart(2*t,"0"))}function B(e,t){return L(e,t).reverse()}function j(e,t,i){let a;if("string"==typeof t)try{a=k(t)}catch(t){throw Error(e+" must be hex string or Uint8Array, cause: "+t)}else if(I(t))a=Uint8Array.from(t);else throw Error(e+" must be hex string or Uint8Array");let r=a.length;if("number"==typeof i&&r!==i)throw Error(e+" of length "+i+" expected, got "+r);return a}function U(...e){let t=0;for(let i=0;i<e.length;i++){let a=e[i];O(a),t+=a.length}let i=new Uint8Array(t);for(let t=0,a=0;t<e.length;t++){let r=e[t];i.set(r,a),a+=r.length}return i}let $=e=>"bigint"==typeof e&&S<=e;function q(e,t,i,a){if(!($(t)&&$(i)&&$(a))||!(i<=t)||!(t<a))throw Error("expected valid "+e+": "+i+" <= n < "+a+", got "+t)}let M=e=>(N<<BigInt(e-1))-D,F={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||I(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 z(e,t,i={}){let a=(t,i,a)=>{let r=F[i];if("function"!=typeof r)throw Error("invalid validator function");let s=e[t];if(!(a&&void 0===s)&&!r(s,e))throw Error("param "+String(t)+" is invalid. Expected "+i+", got "+s)};for(let[e,i]of Object.entries(t))a(e,i,!1);for(let[e,t]of Object.entries(i))a(e,t,!0);return e}function H(e){let t=new WeakMap;return(i,...a)=>{let r=t.get(i);if(void 0!==r)return r;let s=e(i,...a);return t.set(i,s),s}}let K=BigInt(0),W=BigInt(1),J=BigInt(2),G=BigInt(3),Y=BigInt(4),Z=BigInt(5),Q=BigInt(8);function X(e,t){let i=e%t;return i>=K?i:t+i}function ee(e,t,i){let a=e;for(;t-- >K;)a*=a,a%=i;return a}function et(e,t){if(e===K)throw Error("invert: expected non-zero number");if(t<=K)throw Error("invert: expected positive modulus, got "+t);let i=X(e,t),a=t,r=K,s=W;for(;i!==K;){let e=a/i,t=a%i,p=r-s*e;a=i,i=t,r=s,s=p}if(a!==W)throw Error("invert: does not exist");return X(r,t)}let ei=(e,t)=>(X(e,t)&W)===W,ea=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function er(e,t){let i=void 0!==t?t:e.toString(2).length;return{nBitLength:i,nByteLength:Math.ceil(i/8)}}function es(e,t,i=!1,a={}){let r;if(e<=K)throw Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:s,nByteLength:p}=er(e,t);if(p>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let o=Object.freeze({ORDER:e,isLE:i,BITS:s,BYTES:p,MASK:M(s),ZERO:K,ONE:W,create:t=>X(t,e),isValid:t=>{if("bigint"!=typeof t)throw Error("invalid field element: expected bigint, got "+typeof t);return K<=t&&t<e},is0:e=>e===K,isOdd:e=>(e&W)===W,neg:t=>X(-t,e),eql:(e,t)=>e===t,sqr:t=>X(t*t,e),add:(t,i)=>X(t+i,e),sub:(t,i)=>X(t-i,e),mul:(t,i)=>X(t*i,e),pow:(e,t)=>(function(e,t,i){if(i<K)throw Error("invalid exponent, negatives unsupported");if(i===K)return e.ONE;if(i===W)return t;let a=e.ONE,r=t;for(;i>K;)i&W&&(a=e.mul(a,r)),r=e.sqr(r),i>>=W;return a})(o,e,t),div:(t,i)=>X(t*et(i,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>et(t,e),sqrt:a.sqrt||(t=>(r||(r=function(e){if(e%Y===G){let t=(e+W)/Y;return function(e,i){let a=e.pow(i,t);if(!e.eql(e.sqr(a),i))throw Error("Cannot find square root");return a}}if(e%Q===Z){let t=(e-Z)/Q;return function(e,i){let a=e.mul(i,J),r=e.pow(a,t),s=e.mul(i,r),p=e.mul(e.mul(s,J),r),o=e.mul(s,e.sub(p,e.ONE));if(!e.eql(e.sqr(o),i))throw Error("Cannot find square root");return o}}return function(e){let t,i,a;let r=(e-W)/J;for(t=e-W,i=0;t%J===K;t/=J,i++);for(a=J;a<e&&function(e,t,i){if(t<K)throw Error("invalid exponent, negatives unsupported");if(i<=K)throw Error("invalid modulus");if(i===W)return K;let a=W;for(;t>K;)t&W&&(a=a*e%i),e=e*e%i,t>>=W;return a}(a,r,e)!==e-W;a++)if(a>1e3)throw Error("Cannot find square root: likely non-prime P");if(1===i){let t=(e+W)/Y;return function(e,i){let a=e.pow(i,t);if(!e.eql(e.sqr(a),i))throw Error("Cannot find square root");return a}}let s=(t+W)/J;return function(e,p){if(e.pow(p,r)===e.neg(e.ONE))throw Error("Cannot find square root");let o=i,d=e.pow(e.mul(e.ONE,a),t),l=e.pow(p,s),c=e.pow(p,t);for(;!e.eql(c,e.ONE);){if(e.eql(c,e.ZERO))return e.ZERO;let t=1;for(let i=e.sqr(c);t<o&&!e.eql(i,e.ONE);t++)i=e.sqr(i);let i=e.pow(d,W<<BigInt(o-t-1));d=e.sqr(i),l=e.mul(l,i),c=e.mul(c,d),o=t}return l}}(e)}(e)),r(o,t))),invertBatch:e=>(function(e,t){let i=Array(t.length),a=t.reduce((t,a,r)=>e.is0(a)?t:(i[r]=t,e.mul(t,a)),e.ONE),r=e.inv(a);return t.reduceRight((t,a,r)=>e.is0(a)?t:(i[r]=e.mul(t,i[r]),e.mul(t,a)),r),i})(o,e),cmov:(e,t,i)=>i?t:e,toBytes:e=>i?B(e,p):L(e,p),fromBytes:e=>{if(e.length!==p)throw Error("Field.fromBytes: expected "+p+" bytes, got "+e.length);return i?V(e):A(T(e))}});return Object.freeze(o)}let en=BigInt(0),ep=BigInt(1);function eo(e,t){let i=t.negate();return e?i:t}function ed(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 ed(e,t),{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}}let ec=new WeakMap,eh=new WeakMap;function eu(e){return eh.get(e)||1}let em=BigInt(0),ef=BigInt(1),eg=BigInt(2),ev=BigInt(8),ey={zip215:!0};BigInt(0),BigInt(1);let ew=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),eb=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt(0);let e_=BigInt(1),eE=BigInt(2);BigInt(3);let eS=BigInt(5),eD=BigInt(8),eN=es(ew,void 0,!0),eI=function(e){var t;let i=function(e){let t=(z(e.Fp,ea.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),z(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...er(e.n,e.nBitLength),...e,p:e.Fp.ORDER}));return z(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}(e),{Fp:a,n:r,prehash:s,hash:p,randomBytes:o,nByteLength:d,h:l}=i,c=eg<<BigInt(8*d)-ef,h=a.create,u=es(i.n,i.nBitLength),m=i.uvRatio||((e,t)=>{try{return{isValid:!0,value:a.sqrt(e*a.inv(t))}}catch{return{isValid:!1,value:em}}}),f=i.adjustScalarBytes||(e=>e),g=i.domain||((e,t,i)=>{if(x("phflag",i),t.length||i)throw Error("Contexts/pre-hash are not supported");return e});function v(e,t){q("coordinate "+e,t,em,c)}function y(e){if(!(e instanceof _))throw Error("ExtendedPoint expected")}let w=H((e,t)=>{let{ex:i,ey:r,ez:s}=e,p=e.is0();null==t&&(t=p?ev:a.inv(s));let o=h(i*t),d=h(r*t),l=h(s*t);if(p)return{x:em,y:ef};if(l!==ef)throw Error("invZ was invalid");return{x:o,y:d}}),b=H(e=>{let{a:t,d:a}=i;if(e.is0())throw Error("bad point: ZERO");let{ex:r,ey:s,ez:p,et:o}=e,d=h(r*r),l=h(s*s),c=h(p*p),u=h(c*c),m=h(d*t);if(h(c*h(m+l))!==h(u+h(a*h(d*l))))throw Error("bad point: equation left != right (1)");if(h(r*s)!==h(p*o))throw Error("bad point: equation left != right (2)");return!0});class _{constructor(e,t,i,a){this.ex=e,this.ey=t,this.ez=i,this.et=a,v("x",e),v("y",t),v("z",i),v("t",a),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof _)throw Error("extended point not allowed");let{x:t,y:i}=e||{};return v("x",t),v("y",i),new _(t,i,ef,h(t*i))}static normalizeZ(e){let t=a.invertBatch(e.map(e=>e.ez));return e.map((e,i)=>e.toAffine(t[i])).map(_.fromAffine)}static msm(e,t){return function(e,t,i,a){if(function(e,t){if(!Array.isArray(e))throw Error("array expected");e.forEach((e,i)=>{if(!(e instanceof t))throw Error("invalid point at index "+i)})}(i,e),function(e,t){if(!Array.isArray(e))throw Error("array of scalars expected");e.forEach((e,i)=>{if(!t.isValid(e))throw Error("invalid scalar at index "+i)})}(a,t),i.length!==a.length)throw Error("arrays of points and scalars must have equal length");let r=e.ZERO,s=function(e){let t;for(t=0;e>S;e>>=D,t+=1);return t}(BigInt(i.length)),p=s>12?s-3:s>4?s-2:s?2:1,o=(1<<p)-1,d=Array(o+1).fill(r),l=Math.floor((t.BITS-1)/p)*p,c=r;for(let e=l;e>=0;e-=p){d.fill(r);for(let t=0;t<a.length;t++){let r=Number(a[t]>>BigInt(e)&BigInt(o));d[r]=d[r].add(i[t])}let t=r;for(let e=d.length-1,i=r;e>0;e--)i=i.add(d[e]),t=t.add(i);if(c=c.add(t),0!==e)for(let e=0;e<p;e++)c=c.double()}return c}(_,u,e,t)}_setWindowSize(e){I.setWindowSize(this,e)}assertValidity(){b(this)}equals(e){y(e);let{ex:t,ey:i,ez:a}=this,{ex:r,ey:s,ez:p}=e,o=h(t*p),d=h(r*a),l=h(i*p),c=h(s*a);return o===d&&l===c}is0(){return this.equals(_.ZERO)}negate(){return new _(h(-this.ex),this.ey,this.ez,h(-this.et))}double(){let{a:e}=i,{ex:t,ey:a,ez:r}=this,s=h(t*t),p=h(a*a),o=h(eg*h(r*r)),d=h(e*s),l=t+a,c=h(h(l*l)-s-p),u=d+p,m=u-o,f=d-p,g=h(c*m),v=h(u*f),y=h(c*f);return new _(g,v,h(m*u),y)}add(e){y(e);let{a:t,d:a}=i,{ex:r,ey:s,ez:p,et:o}=this,{ex:d,ey:l,ez:c,et:u}=e;if(t===BigInt(-1)){let e=h((s-r)*(l+d)),t=h((s+r)*(l-d)),i=h(t-e);if(i===em)return this.double();let a=h(p*eg*u),m=h(o*eg*c),f=m+a,g=t+e,v=m-a,y=h(f*i),w=h(g*v),b=h(f*v);return new _(y,w,h(i*g),b)}let m=h(r*d),f=h(s*l),g=h(o*a*u),v=h(p*c),w=h((r+s)*(d+l)-m-f),b=v-g,E=v+g,S=h(f-t*m),D=h(w*b),N=h(E*S),I=h(w*S);return new _(D,N,h(b*E),I)}subtract(e){return this.add(e.negate())}wNAF(e){return I.wNAFCached(this,e,_.normalizeZ)}multiply(e){q("scalar",e,ef,r);let{p:t,f:i}=this.wNAF(e);return _.normalizeZ([t,i])[0]}multiplyUnsafe(e,t=_.ZERO){return q("scalar",e,em,r),e===em?N:this.is0()||e===ef?this:I.wNAFCachedUnsafe(this,e,_.normalizeZ,t)}isSmallOrder(){return this.multiplyUnsafe(l).is0()}isTorsionFree(){return I.unsafeLadder(this,r).is0()}toAffine(e){return w(this,e)}clearCofactor(){let{h:e}=i;return e===ef?this:this.multiplyUnsafe(e)}static fromHex(e,t=!1){let{d:r,a:s}=i,p=a.BYTES;e=j("pointHex",e,p),x("zip215",t);let o=e.slice(),d=e[p-1];o[p-1]=-129&d;let l=V(o);q("pointHex.y",l,em,t?c:a.ORDER);let u=h(l*l),{isValid:f,value:g}=m(h(u-ef),h(r*u-s));if(!f)throw Error("Point.fromHex: invalid y coordinate");let v=(g&ef)===ef,y=(128&d)!=0;if(!t&&g===em&&y)throw Error("Point.fromHex: x=0 and x_0=1");return y!==v&&(g=h(-g)),_.fromAffine({x:g,y:l})}static fromPrivateKey(e){return O(e).point}toRawBytes(){let{x:e,y:t}=this.toAffine(),i=B(t,a.BYTES);return i[i.length-1]|=e&ef?128:0,i}toHex(){return T(this.toRawBytes())}}_.BASE=new _(i.Gx,i.Gy,ef,h(i.Gx*i.Gy)),_.ZERO=new _(em,ef,ef,em);let{BASE:E,ZERO:N}=_,I=(t=8*d,{constTimeNegate:eo,hasPrecomputes:e=>1!==eu(e),unsafeLadder(e,t,i=_.ZERO){let a=e;for(;t>en;)t&ep&&(i=i.add(a)),a=a.double(),t>>=ep;return i},precomputeWindow(e,i){let{windows:a,windowSize:r}=el(i,t),s=[],p=e,o=p;for(let e=0;e<a;e++){o=p,s.push(o);for(let e=1;e<r;e++)o=o.add(p),s.push(o);p=o.double()}return s},wNAF(e,i,a){let{windows:r,windowSize:s}=el(e,t),p=_.ZERO,o=_.BASE,d=BigInt(2**e-1),l=2**e,c=BigInt(e);for(let e=0;e<r;e++){let t=e*s,r=Number(a&d);a>>=c,r>s&&(r-=l,a+=ep);let h=t+Math.abs(r)-1,u=e%2!=0,m=r<0;0===r?o=o.add(eo(u,i[t])):p=p.add(eo(m,i[h]))}return{p:p,f:o}},wNAFUnsafe(e,i,a,r=_.ZERO){let{windows:s,windowSize:p}=el(e,t),o=BigInt(2**e-1),d=2**e,l=BigInt(e);for(let e=0;e<s;e++){let t=e*p;if(a===en)break;let s=Number(a&o);if(a>>=l,s>p&&(s-=d,a+=ep),0===s)continue;let c=i[t+Math.abs(s)-1];s<0&&(c=c.negate()),r=r.add(c)}return r},getPrecomputes(e,t,i){let a=ec.get(t);return a||(a=this.precomputeWindow(t,e),1!==e&&ec.set(t,i(a))),a},wNAFCached(e,t,i){let a=eu(e);return this.wNAF(a,this.getPrecomputes(a,e,i),t)},wNAFCachedUnsafe(e,t,i,a){let r=eu(e);return 1===r?this.unsafeLadder(e,t,a):this.wNAFUnsafe(r,this.getPrecomputes(r,e,i),t,a)},setWindowSize(e,i){ed(i,t),eh.set(e,i),ec.delete(e)}});function O(e){let t=a.BYTES;e=j("private key",e,t);let i=j("hashed private key",p(e),2*t),s=f(i.slice(0,t)),o=i.slice(t,2*t),d=X(V(s),r),l=E.multiply(d),c=l.toRawBytes();return{head:s,prefix:o,scalar:d,point:l,pointBytes:c}}function P(e=new Uint8Array,...t){return X(V(p(g(U(...t),j("context",e),!!s))),r)}return E._setWindowSize(8),{CURVE:i,getPublicKey:function(e){return O(e).pointBytes},sign:function(e,t,i={}){e=j("message",e),s&&(e=s(e));let{prefix:p,scalar:o,pointBytes:d}=O(t),l=P(i.context,p,e),c=E.multiply(l).toRawBytes(),h=X(l+P(i.context,c,d,e)*o,r);return q("signature.s",h,em,r),j("result",U(c,B(h,a.BYTES)),2*a.BYTES)},verify:function(e,t,i,r=ey){let p,o,d;let{context:l,zip215:c}=r,h=a.BYTES;e=j("signature",e,2*h),t=j("message",t),i=j("publicKey",i,h),void 0!==c&&x("zip215",c),s&&(t=s(t));let u=V(e.slice(h,2*h));try{p=_.fromHex(i,c),o=_.fromHex(e.slice(0,h),c),d=E.multiplyUnsafe(u)}catch{return!1}if(!c&&p.isSmallOrder())return!1;let m=P(l,o.toRawBytes(),p.toRawBytes(),t);return o.add(p.multiplyUnsafe(m)).subtract(d).clearCofactor().equals(_.ZERO)},ExtendedPoint:_,utils:{getExtendedPublicKey:O,randomPrivateKey:()=>o(a.BYTES),precompute:(e=8,t=_.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)}}}({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:eN,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:eD,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:E,randomBytes:h,adjustScalarBytes:function(e){return e[0]&=248,e[31]&=127,e[31]|=64,e},uvRatio:function(e,t){let i=X(t*t*t,ew),a=function(e){let t=BigInt(10),i=BigInt(20),a=BigInt(40),r=BigInt(80),s=e*e%ew*e%ew,p=ee(s,eE,ew)*s%ew,o=ee(p,e_,ew)*e%ew,d=ee(o,eS,ew)*o%ew,l=ee(d,t,ew)*d%ew,c=ee(l,i,ew)*l%ew,h=ee(c,a,ew)*c%ew,u=ee(h,r,ew)*h%ew,m=ee(u,r,ew)*h%ew,f=ee(m,t,ew)*d%ew;return{pow_p_5_8:ee(f,eE,ew)*e%ew,b2:s}}(e*X(i*i*t,ew)).pow_p_5_8,r=X(e*i*a,ew),s=X(t*r*r,ew),p=r,o=X(r*eb,ew),d=s===e,l=s===X(-e,ew),c=s===X(-e*eb,ew);return d&&(r=p),(l||c)&&(r=o),ei(r,ew)&&(r=X(-r,ew)),{isValid:d||l,value:r}}}),eO="base64url",ex="utf8",eP="utf8",eT="base58btc";function eA(e){return null!=globalThis.Buffer?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function eC(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?eA(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function eR(e,t){t||(t=e.reduce((e,t)=>e+t.length,0));let i=eC(t),a=0;for(let t of e)i.set(t,a),a+=t.length;return eA(i)}var ek=function(e,t){if(e.length>=255)throw TypeError("Alphabet too long");for(var i=new Uint8Array(256),a=0;a<i.length;a++)i[a]=255;for(var r=0;r<e.length;r++){var s=e.charAt(r),p=s.charCodeAt(0);if(255!==i[p])throw TypeError(s+" is ambiguous");i[p]=r}var o=e.length,d=e.charAt(0),l=Math.log(o)/Math.log(256),c=Math.log(256)/Math.log(o);function h(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[0]){for(var a=0,r=0;e[t]===d;)a++,t++;for(var s=(e.length-t)*l+1>>>0,p=new Uint8Array(s);e[t];){var c=i[e.charCodeAt(t)];if(255===c)return;for(var h=0,u=s-1;(0!==c||h<r)&&-1!==u;u--,h++)c+=o*p[u]>>>0,p[u]=c%256>>>0,c=c/256>>>0;if(0!==c)throw Error("Non-zero carry");r=h,t++}if(" "!==e[t]){for(var m=s-r;m!==s&&0===p[m];)m++;for(var f=new Uint8Array(a+(s-m)),g=a;m!==s;)f[g++]=p[m++];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 i=0,a=0,r=0,s=t.length;r!==s&&0===t[r];)r++,i++;for(var p=(s-r)*c+1>>>0,l=new Uint8Array(p);r!==s;){for(var h=t[r],u=0,m=p-1;(0!==h||u<a)&&-1!==m;m--,u++)h+=256*l[m]>>>0,l[m]=h%o>>>0,h=h/o>>>0;if(0!==h)throw Error("Non-zero carry");a=u,r++}for(var f=p-a;f!==p&&0===l[f];)f++;for(var g=d.repeat(i);f<p;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:h,decode:function(e){var i=h(e);if(i)return i;throw Error(`Non-${t} character`)}}};let eV=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),eB=e=>new TextDecoder().decode(e);class ej{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class eU{constructor(e,t,i){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}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 eq(this,e)}}class e${constructor(e){this.decoders=e}or(e){return eq(this,e)}decode(e){let t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}let eq=(e,t)=>new e$({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class eM{constructor(e,t,i,a){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=a,this.encoder=new ej(e,t,i),this.decoder=new eU(e,t,a)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}let eF=({name:e,prefix:t,encode:i,decode:a})=>new eM(e,t,i,a),ez=({prefix:e,name:t,alphabet:i})=>{let{encode:a,decode:r}=ek(i,t);return eF({prefix:e,name:t,encode:a,decode:e=>eV(r(e))})},eH=(e,t,i,a)=>{let r={};for(let e=0;e<t.length;++e)r[t[e]]=e;let s=e.length;for(;"="===e[s-1];)--s;let p=new Uint8Array(s*i/8|0),o=0,d=0,l=0;for(let t=0;t<s;++t){let s=r[e[t]];if(void 0===s)throw SyntaxError(`Non-${a} character`);d=d<<i|s,(o+=i)>=8&&(o-=8,p[l++]=255&d>>o)}if(o>=i||255&d<<8-o)throw SyntaxError("Unexpected end of data");return p},eK=(e,t,i)=>{let a="="===t[t.length-1],r=(1<<i)-1,s="",p=0,o=0;for(let a=0;a<e.length;++a)for(o=o<<8|e[a],p+=8;p>i;)p-=i,s+=t[r&o>>p];if(p&&(s+=t[r&o<<i-p]),a)for(;s.length*i&7;)s+="=";return s},eW=({name:e,prefix:t,bitsPerChar:i,alphabet:a})=>eF({prefix:t,name:e,encode:e=>eK(e,a,i),decode:t=>eH(t,a,i,e)});var eJ=Object.freeze({__proto__:null,identity:eF({prefix:"\0",name:"identity",encode:e=>eB(e),decode:e=>eL(e)})}),eG=Object.freeze({__proto__:null,base2:eW({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})}),eY=Object.freeze({__proto__:null,base8:eW({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})}),eZ=Object.freeze({__proto__:null,base10:ez({prefix:"9",name:"base10",alphabet:"0123456789"})}),eQ=Object.freeze({__proto__:null,base16:eW({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),base16upper:eW({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});let eX=eW({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),e1=eW({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),e0=eW({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),e2=eW({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),e6=eW({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),e4=eW({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5});var e3=Object.freeze({__proto__:null,base32:eX,base32upper:e1,base32pad:e0,base32padupper:e2,base32hex:e6,base32hexupper:e4,base32hexpad:eW({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),base32hexpadupper:eW({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),base32z:eW({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})}),e8=Object.freeze({__proto__:null,base36:ez({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),base36upper:ez({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})}),e9=Object.freeze({__proto__:null,base58btc:ez({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),base58flickr:ez({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});let e5=eW({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6});var e7=Object.freeze({__proto__:null,base64:e5,base64pad:eW({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),base64url:eW({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),base64urlpad:eW({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});let te=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"),tt=te.reduce((e,t,i)=>(e[i]=t,e),[]),ti=te.reduce((e,t,i)=>(e[t.codePointAt(0)]=i,e),[]);var ta=Object.freeze({__proto__:null,base256emoji:eF({prefix:"\uD83D\uDE80",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>e+=tt[t],"")},decode:function(e){let t=[];for(let i of e){let e=ti[i.codePointAt(0)];if(void 0===e)throw Error(`Non-base256emoji character: ${i}`);t.push(e)}return new Uint8Array(t)}})});function tr(e,t){var i,a=0,t=t||0,r=0,s=t,p=e.length;do{if(s>=p)throw tr.bytes=0,RangeError("Could not decode varint");i=e[s++],a+=r<28?(127&i)<<r:(127&i)*Math.pow(2,r),r+=7}while(i>=128);return tr.bytes=s-t,a}var ts={encode:function e(t,i,a){i=i||[],a=a||0;for(var r=a;t>=2147483648;)i[a++]=255&t|128,t/=128;for(;-128&t;)i[a++]=255&t|128,t>>>=7;return i[a]=0|t,e.bytes=a-r+1,i},encodingLength:function(e){return 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}};let tn=(e,t,i=0)=>(ts.encode(e,t,i),t),tp=e=>ts.encodingLength(e),to=(e,t)=>{let i=t.byteLength,a=tp(e),r=a+tp(i),s=new Uint8Array(r+i);return tn(e,s,0),tn(i,s,a),s.set(t,r),new td(e,i,t,s)};class td{constructor(e,t,i,a){this.code=e,this.size=t,this.digest=i,this.bytes=a}}let tl=({name:e,code:t,encode:i})=>new tc(e,t,i);class tc{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?to(this.code,t):t.then(e=>to(this.code,e))}throw Error("Unknown type, must be binary type")}}let th=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t));var tu=Object.freeze({__proto__:null,sha256:tl({name:"sha2-256",code:18,encode:th("SHA-256")}),sha512:tl({name:"sha2-512",code:19,encode:th("SHA-512")})}),tm=Object.freeze({__proto__:null,identity:{code:0,name:"identity",encode:eV,digest:e=>to(0,eV(e))}});new TextEncoder,new TextDecoder;let tf={...eJ,...eG,...eY,...eZ,...eQ,...e3,...e8,...e9,...e7,...ta};function tg(e,t,i,a){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:i},decoder:{decode:a}}}({...tu,...tm});let tv=tg("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),ty=tg("ascii","a",e=>{let t="a";for(let i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);return t},e=>{let t=eC((e=e.substring(1)).length);for(let i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t}),tw={utf8:tv,"utf-8":tv,hex:tf.base16,latin1:ty,ascii:ty,binary:ty,...tf};function tb(e,t="utf8"){let i=tw[t];if(!i)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"):i.encoder.encode(e).substring(1)}function t_(e,t="utf8"){let i=tw[t];if(!i)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")):i.decoder.decode(`${i.prefix}${e}`)}function tE(e){return(0,r.D)(tb(t_(e,eO),ex))}function tS(e){return tb(t_((0,r.u)(e),ex),eO)}function tD(e){return["did","key","z"+tb(eR([t_("K36",eT),e]),eT)].join(":")}function tN(e){let t=e.split("."),i=tE(t[0]);return{header:i,payload:tE(t[1]),signature:t_(t[2],eO),data:t_(t.slice(0,2).join("."),eP)}}function tI(e=h(32)){let t=eI.getPublicKey(e);return{secretKey:eR([e,t]),publicKey:t}}async function tO(e,t,i,r,s=(0,a.fromMiliseconds)(Date.now())){var p,o;let d={alg:"EdDSA",typ:"JWT"},l={iss:tD(r.publicKey),sub:e,aud:t,iat:s,exp:s+i},c=t_([tS((p={header:d,payload:l}).header),tS(p.payload)].join("."),eP);return[tS((o={header:d,payload:l,signature:eI.sign(c,r.secretKey.slice(0,32))}).header),tS(o.payload),tb(o.signature,eO)].join(".")}},60143:(e,t,i)=>{"use strict";i.d(t,{D:()=>s,u:()=>p});let a=e=>JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString()+"n":t),r=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 s(e){if("string"!=typeof e)throw Error(`Cannot safe json parse value of type ${typeof e}`);try{return r(e)}catch(t){return e}}function p(e){return"string"==typeof e?e:a(e)||""}},2622:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});let a=i(9839);a.__exportStar(i(57164),t),a.__exportStar(i(44690),t)},57164:(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},44690:(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},39064:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});let a=i(9839);a.__exportStar(i(75202),t),a.__exportStar(i(23449),t),a.__exportStar(i(75882),t),a.__exportStar(i(2622),t)},75882:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),i(9839).__exportStar(i(15560),t)},15560:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IWatch=void 0;class i{}t.IWatch=i},26195:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fromMiliseconds=t.toMiliseconds=void 0;let a=i(2622);t.toMiliseconds=function(e){return e*a.ONE_THOUSAND},t.fromMiliseconds=function(e){return Math.floor(e/a.ONE_THOUSAND)}},76562:(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)})}},75202:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});let a=i(9839);a.__exportStar(i(76562),t),a.__exportStar(i(26195),t)},23449:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Watch=void 0;class i{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 i=Date.now()-t.started;this.timestamps.set(e,{started:t.started,elapsed:i})}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=i,t.default=i},74892:(e,t)=>{"use strict";function i(e){let t;return"undefined"!=typeof window&&void 0!==window[e]&&(t=window[e]),t}function a(e){let t=i(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=i,t.getFromWindowOrThrow=a,t.getDocumentOrThrow=function(){return a("document")},t.getDocument=function(){return i("document")},t.getNavigatorOrThrow=function(){return a("navigator")},t.getNavigator=function(){return i("navigator")},t.getLocationOrThrow=function(){return a("location")},t.getLocation=function(){return i("location")},t.getCryptoOrThrow=function(){return a("crypto")},t.getCrypto=function(){return i("crypto")},t.getLocalStorageOrThrow=function(){return a("localStorage")},t.getLocalStorage=function(){return i("localStorage")}},65731:(e,t,i)=>{"use strict";t.D=void 0;let a=i(74892);t.D=function(){let e,t,i;try{e=a.getDocumentOrThrow(),t=a.getLocationOrThrow()}catch(e){return null}function r(...t){let i=e.getElementsByTagName("meta");for(let e=0;e<i.length;e++){let a=i[e],r=["itemprop","property","name"].map(e=>a.getAttribute(e)).filter(e=>!!e&&t.includes(e));if(r.length&&r){let e=a.getAttribute("content");if(e)return e}}return""}let s=((i=r("name","og:site_name","og:title","twitter:title"))||(i=e.title),i),p=r("description","og:description","twitter:description","keywords");return{description:p,url:t.origin,icons:function(){let i=e.getElementsByTagName("link"),a=[];for(let e=0;e<i.length;e++){let r=i[e],s=r.getAttribute("rel");if(s&&s.toLowerCase().indexOf("icon")>-1){let e=r.getAttribute("href");if(e){if(-1===e.toLowerCase().indexOf("https:")&&-1===e.toLowerCase().indexOf("http:")&&0!==e.indexOf("//")){let i=t.protocol+"//"+t.host;if(0===e.indexOf("/"))i+=e;else{let a=t.pathname.split("/");a.pop(),i+=a.join("/")+"/"+e}a.push(i)}else if(0===e.indexOf("//")){let i=t.protocol+e;a.push(i)}else a.push(e)}}}return a}(),name:s}}},84203:e=>{"use strict";if("undefined"!=typeof SharedArrayBuffer&&"undefined"!=typeof Atomics){let t=new Int32Array(new SharedArrayBuffer(4));e.exports=function(e){if(!1==(e>0&&e<1/0)){if("number"!=typeof e&&"bigint"!=typeof e)throw TypeError("sleep: ms must be a number");throw RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity")}Atomics.wait(t,0,0,Number(e))}}else e.exports=function(e){if(!1==(e>0&&e<1/0)){if("number"!=typeof e&&"bigint"!=typeof e)throw TypeError("sleep: ms must be a number");throw RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity")}let t=Date.now()+Number(e);for(;t>Date.now(););}},29567:e=>{"use strict";e.exports={mask:(e,t,i,a,r)=>{for(var s=0;s<r;s++)i[a+s]=e[s]^t[3&s]},unmask:(e,t)=>{let i=e.length;for(var a=0;a<i;a++)e[a]^=t[3&a]}}},71403:(e,t,i)=>{"use strict";try{e.exports=i(14387)(__dirname)}catch(t){e.exports=i(29567)}},37473:(e,t,i)=>{let a=i(61261),r=a.default||a,s=function(e,t){return/^\/\//.test(e)&&(e="https:"+e),r.call(this,e,t)};s.ponyfill=!0,e.exports=t=s,t.fetch=s,t.Headers=a.Headers,t.Request=a.Request,t.Response=a.Response,t.default=s},274:(e,t,i)=>{"use strict";i.d(t,{qY:()=>u});var a=function(e,t,i){if(i||2==arguments.length)for(var a,r=0,s=t.length;r<s;r++)!a&&r in t||(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))},r=function(e,t,i){this.name=e,this.version=t,this.os=i,this.type="browser"},s=function(e){this.version=e,this.type="node",this.name="node",this.os=process.platform},p=function(e,t,i,a){this.name=e,this.version=t,this.os=i,this.bot=a,this.type="bot-device"},o=function(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null},d=function(){this.type="react-native",this.name="react-native",this.version=null,this.os=null},l=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,c=[["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/]],h=[["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 u(e){return e?m(e):"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product?new d:"undefined"!=typeof navigator?m(navigator.userAgent):"undefined"!=typeof process&&process.version?new s(process.version.slice(1)):null}function m(e){var t=""!==e&&c.reduce(function(t,i){var a=i[0],r=i[1];if(t)return t;var s=r.exec(e);return!!s&&[a,s]},!1);if(!t)return null;var i=t[0],s=t[1];if("searchbot"===i)return new o;var d=s[1]&&s[1].split(".").join("_").split("_").slice(0,3);d?d.length<3&&(d=a(a([],d,!0),function(e){for(var t=[],i=0;i<e;i++)t.push("0");return t}(3-d.length),!0)):d=[];var u=d.join("."),m=function(e){for(var t=0,i=h.length;t<i;t++){var a=h[t],r=a[0];if(a[1].exec(e))return r}return null}(e),f=l.exec(e);return f&&f[1]?new p(i,u,m,f[1]):new r(i,u,m)}},23717:(e,t,i)=>{"use strict";let a=i(41521),r=i(14936),s=i(94345),p=i(13105),{groupRedact:o,nestedRedact:d}=i(93030),l=i(16917),c=i(97525),h=a(),u=e=>e;function m(e={}){let t=Array.from(new Set(e.paths||[])),i="serialize"in e?!1===e.serialize?e.serialize:"function"==typeof e.serialize?e.serialize:JSON.stringify:JSON.stringify,a=e.remove;if(!0===a&&i!==JSON.stringify)throw Error("fast-redact – remove option may only be set when serializer is JSON.stringify");let c=!0===a?void 0:"censor"in e?e.censor:"[REDACTED]",m="function"==typeof c,f=m&&c.length>1;if(0===t.length)return i||u;h({paths:t,serialize:i,censor:c});let{wildcards:g,wcLen:v,secret:y}=r({paths:t,censor:c}),w=p({secret:y,wcLen:v});return s({secret:y,wcLen:v,serialize:i,strict:!("strict"in e)||e.strict,isCensorFct:m,censorFctTakesPath:f},l({secret:y,censor:c,compileRestore:w,serialize:i,groupRedact:o,nestedRedact:d,wildcards:g,wcLen:v}))}u.restore=u,m.rx=c,m.validator=a,e.exports=m},93030:e=>{"use strict";function t(e,t){return null!=e&&("hasOwn"in Object?Object.hasOwn(e,t):Object.prototype.hasOwnProperty.call(e,t))}function i(e,t){for(var i=-1,a=t.length,r=e;null!=r&&++i<a;)r=r[t[i]];return r}function a(e,t,i){if(e.depth===i)return a(e.parent,t,i);var r={parent:e,key:t,depth:i,children:[]};return e.children.push(r),r}function r(e,t,i){let a=e,r=[];do r.push(a.key),a=a.parent;while(null!=a.parent);return{path:r,value:t,target:i}}e.exports={groupRedact:function(e,t,a,r,s){let p=i(e,t);if(null==p)return{keys:null,values:null,target:null,flat:!0};let o=Object.keys(p),d=o.length,l=t.length,c=s?[...t]:void 0,h=Array(d);for(var u=0;u<d;u++){let e=o[u];h[u]=p[e],s?(c[l]=e,p[e]=a(p[e],c)):r?p[e]=a(p[e]):p[e]=a}return{keys:o,values:h,target:p,flat:!0}},groupRestore:function({keys:e,values:t,target:i}){if(null==i)return;let a=e.length;for(var r=0;r<a;r++)i[e[r]]=t[r]},nestedRedact:function(e,s,p,o,d,l,c){let h=i(s,p);if(null==h)return;let u=Object.keys(h),m=u.length;for(var f=0;f<m;f++)(function(e,i,s,p,o,d,l,c){let h=o.length,u=h-1,m=s;var f,g,v,y,w,b=-1,_=null,E=null,S=!1,D=0,N={parent:null,key:null,children:[],depth:0};if(v=f=i[s],"object"==typeof f){for(;null!=f&&++b<h&&(D+=1,s=o[b],"*"===s||E||"object"==typeof f&&(s in f));)if("*"!==s||("*"===E&&(S=!0),E=s,b===u)){if(E){let h=Object.keys(f);for(var I=0;I<h.length;I++){let _=h[I];if(w=f[_],y="*"===s,S)N=a(N,_,D),v=function e(i,s,p,o,d,l,c,h,u,m,f,g,v,y,w,b,_,E,S,D){if(0===s&&(v||"object"==typeof i&&null!==i&&p in i)){if(g=v?i:i[p],f=w!==b?g:c?h?l(g,[...o,u,...d]):l(g):l,v){let e=r(_,g,S);E.push(e),m[y]=f}else if(i[p]===f);else if(void 0===f&&void 0!==l||t(i,p)&&f===g);else{let e=r(a(_,p,D+1),g,S);E.push(e),i[p]=f}}for(let t in i)"object"==typeof i[t]&&(_=a(_,t,D),e(i[t],s-1,p,o,d,l,c,h,u,m,f,g,v,y,w,b,_,E,S,D+1))}(w,b-1,s,p,o,d,l,c,m,f,g,v,y,_,b,u,N,e,i[m],D+1);else if(y||"object"==typeof w&&null!==w&&s in w){if(v=y?w:w[s],g=b!==u?v:l?c?d(v,[...p,m,...o]):d(v):d,y){let t=r(a(N,_,D),v,i[m]);e.push(t),f[_]=g}else if(w[s]===g);else if(void 0===g&&void 0!==d||t(w,s)&&g===v)N=a(N,_,D);else{N=a(N,_,D);let t=r(a(N,s,D+1),v,i[m]);e.push(t),w[s]=g}}}E=null}else{if(v=f[s],N=a(N,s,D),g=b!==u?v:l?c?d(v,[...p,m,...o]):d(v):d,t(f,s)&&g===v||void 0===g&&void 0!==d);else{let t=r(N,v,i[m]);e.push(t),f[s]=g}f=f[s]}if("object"!=typeof f)break}}})(e,h,u[f],p,o,d,l,c);return e},nestedRestore:function(e){for(let t=0;t<e.length;t++){let{target:i,path:a,value:r}=e[t],s=i;for(let e=a.length-1;e>0;e--)s=s[a[e]];s[a[0]]=r}}}},14936:(e,t,i)=>{"use strict";let a=i(97525);e.exports=function({paths:e}){let t=[];var i=0;let r=e.reduce(function(e,r,s){var p=r.match(a).map(e=>e.replace(/'|"|`/g,""));let o="["===r[0],d=(p=p.map(e=>"["===e[0]?e.substr(1,e.length-2):e)).indexOf("*");if(d>-1){let e=p.slice(0,d),a=e.join("."),r=p.slice(d+1,p.length),s=r.length>0;i++,t.push({before:e,beforeStr:a,after:r,nested:s})}else e[r]={path:p,val:void 0,precensored:!1,circle:"",escPath:JSON.stringify(r),leadingBracket:o};return e},{});return{wildcards:t,wcLen:i,secret:r}}},94345:(e,t,i)=>{"use strict";let a=i(97525);e.exports=function({secret:e,serialize:t,wcLen:i,strict:r,isCensorFct:s,censorFctTakesPath:p},o){let d=Function("o",`
10
+ Approved: ${r.toString()}`))}),p.forEach(e=>{a||(V(r[e].methods,s[e].methods)?V(r[e].events,s[e].events)||(a=ab("NON_CONFORMING_NAMESPACES",`${i} namespaces events don't satisfy namespace events for ${e}`)):a=ab("NON_CONFORMING_NAMESPACES",`${i} namespaces methods don't satisfy namespace methods for ${e}`))}),a}function aV(e){return[...new Set(e.map(e=>e.includes(":")?e.split(":")[0]:e))]}function aL(){let e=A();return new Promise(t=>{switch(e){case O.browser:t(T()&&navigator?.onLine);break;case O.reactNative:t(aB());break;case O.node:default:t(!0)}})}async function aB(){if(P()&&"u">typeof global&&null!=global&&global.NetInfo){let e=await (null==global?void 0:global.NetInfo.fetch());return e?.isConnected}return!0}let aj={};class aU{static get(e){return aj[e]}static set(e,t){aj[e]=t}static delete(e){delete aj[e]}}var a$=i(98563),aq=i(42253),aM=i(41434),aF=i(36627),az=Object.defineProperty,aH=(e,t,i)=>t in e?az(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,aK=(e,t,i)=>aH(e,"symbol"!=typeof t?t+"":t,i);class aW extends aF.q{constructor(e){super(),this.opts=e,aK(this,"protocol","wc"),aK(this,"version",2)}}var aJ=Object.defineProperty,aG=(e,t,i)=>t in e?aJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,aY=(e,t,i)=>aG(e,"symbol"!=typeof t?t+"":t,i);class aZ extends aF.q{constructor(e,t){super(),this.core=e,this.logger=t,aY(this,"records",new Map)}}class aQ{constructor(e,t){this.logger=e,this.core=t}}class aX extends aF.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class a1 extends aF.q{constructor(e){super()}}class a0{constructor(e,t,i,a){this.core=e,this.logger=t,this.name=i}}class a2 extends aF.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class a6 extends aF.q{constructor(e,t){super(),this.core=e,this.logger=t}}class a4{constructor(e,t,i){this.core=e,this.logger=t,this.store=i}}class a3{constructor(e,t){this.projectId=e,this.logger=t}}class a8{constructor(e,t,i){this.core=e,this.logger=t,this.telemetryEnabled=i}}var a9=Object.defineProperty,a5=(e,t,i)=>t in e?a9(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,a7=(e,t,i)=>a5(e,"symbol"!=typeof t?t+"":t,i);class re{constructor(e){this.opts=e,a7(this,"protocol","wc"),a7(this,"version",2)}}class rt{constructor(e){this.client=e}}var ri=i(60143),ra=i(44926),rr=i(26560),rs=i(76755);let rn="core",rp=`wc@2:${rn}:`,ro={logger:"error"},rd={database:":memory:"},rl="client_ed25519_seed",rc=p.ONE_DAY,rh=p.SIX_HOURS,ru="wss://relay.walletconnect.org",rm={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"},rf={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},rg="2.21.1",rv={link_mode:"link_mode",relay:"relay"},ry={inbound:"inbound",outbound:"outbound"},rw="WALLETCONNECT_LINK_MODE_APPS",rb={created:"subscription_created",deleted:"subscription_deleted",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},r_=(p.FIVE_SECONDS,{wc_pairingDelete:{req:{ttl:p.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:p.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:p.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:p.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:p.ONE_DAY,prompt:!1,tag:0},res:{ttl:p.ONE_DAY,prompt:!1,tag:0}}}),rE={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},rS={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},rD={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},rN="https://verify.walletconnect.org",rI=`${rN}/v3`,rO=["https://verify.walletconnect.com",rN],rx={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"},rP={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"},rT={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"},rA={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"},rC={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"},rR={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 rk=function(e,t){if(e.length>=255)throw TypeError("Alphabet too long");for(var i=new Uint8Array(256),a=0;a<i.length;a++)i[a]=255;for(var r=0;r<e.length;r++){var s=e.charAt(r),p=s.charCodeAt(0);if(255!==i[p])throw TypeError(s+" is ambiguous");i[p]=r}var o=e.length,d=e.charAt(0),l=Math.log(o)/Math.log(256),c=Math.log(256)/Math.log(o);function h(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[0]){for(var a=0,r=0;e[t]===d;)a++,t++;for(var s=(e.length-t)*l+1>>>0,p=new Uint8Array(s);e[t];){var c=i[e.charCodeAt(t)];if(255===c)return;for(var h=0,u=s-1;(0!==c||h<r)&&-1!==u;u--,h++)c+=o*p[u]>>>0,p[u]=c%256>>>0,c=c/256>>>0;if(0!==c)throw Error("Non-zero carry");r=h,t++}if(" "!==e[t]){for(var m=s-r;m!==s&&0===p[m];)m++;for(var f=new Uint8Array(a+(s-m)),g=a;m!==s;)f[g++]=p[m++];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 i=0,a=0,r=0,s=t.length;r!==s&&0===t[r];)r++,i++;for(var p=(s-r)*c+1>>>0,l=new Uint8Array(p);r!==s;){for(var h=t[r],u=0,m=p-1;(0!==h||u<a)&&-1!==m;m--,u++)h+=256*l[m]>>>0,l[m]=h%o>>>0,h=h/o>>>0;if(0!==h)throw Error("Non-zero carry");a=u,r++}for(var f=p-a;f!==p&&0===l[f];)f++;for(var g=d.repeat(i);f<p;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:h,decode:function(e){var i=h(e);if(i)return i;throw Error(`Non-${t} character`)}}};let rV=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")},rL=e=>new TextEncoder().encode(e),rB=e=>new TextDecoder().decode(e);class rj{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class rU{constructor(e,t,i){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}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 rq(this,e)}}class r${constructor(e){this.decoders=e}or(e){return rq(this,e)}decode(e){let t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}let rq=(e,t)=>new r$({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class rM{constructor(e,t,i,a){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=a,this.encoder=new rj(e,t,i),this.decoder=new rU(e,t,a)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}let rF=({name:e,prefix:t,encode:i,decode:a})=>new rM(e,t,i,a),rz=({prefix:e,name:t,alphabet:i})=>{let{encode:a,decode:r}=rk(i,t);return rF({prefix:e,name:t,encode:a,decode:e=>rV(r(e))})},rH=(e,t,i,a)=>{let r={};for(let e=0;e<t.length;++e)r[t[e]]=e;let s=e.length;for(;"="===e[s-1];)--s;let p=new Uint8Array(s*i/8|0),o=0,d=0,l=0;for(let t=0;t<s;++t){let s=r[e[t]];if(void 0===s)throw SyntaxError(`Non-${a} character`);d=d<<i|s,(o+=i)>=8&&(o-=8,p[l++]=255&d>>o)}if(o>=i||255&d<<8-o)throw SyntaxError("Unexpected end of data");return p},rK=(e,t,i)=>{let a="="===t[t.length-1],r=(1<<i)-1,s="",p=0,o=0;for(let a=0;a<e.length;++a)for(o=o<<8|e[a],p+=8;p>i;)p-=i,s+=t[r&o>>p];if(p&&(s+=t[r&o<<i-p]),a)for(;s.length*i&7;)s+="=";return s},rW=({name:e,prefix:t,bitsPerChar:i,alphabet:a})=>rF({prefix:t,name:e,encode:e=>rK(e,a,i),decode:t=>rH(t,a,i,e)});var rJ=Object.freeze({__proto__:null,identity:rF({prefix:"\0",name:"identity",encode:e=>rB(e),decode:e=>rL(e)})}),rG=Object.freeze({__proto__:null,base2:rW({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})}),rY=Object.freeze({__proto__:null,base8:rW({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})}),rZ=Object.freeze({__proto__:null,base10:rz({prefix:"9",name:"base10",alphabet:"0123456789"})}),rQ=Object.freeze({__proto__:null,base16:rW({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),base16upper:rW({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});let rX=rW({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),r1=rW({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),r0=rW({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),r2=rW({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),r6=rW({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),r4=rW({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5});var r3=Object.freeze({__proto__:null,base32:rX,base32upper:r1,base32pad:r0,base32padupper:r2,base32hex:r6,base32hexupper:r4,base32hexpad:rW({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),base32hexpadupper:rW({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),base32z:rW({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})}),r8=Object.freeze({__proto__:null,base36:rz({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),base36upper:rz({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})}),r9=Object.freeze({__proto__:null,base58btc:rz({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),base58flickr:rz({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});let r5=rW({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6});var r7=Object.freeze({__proto__:null,base64:r5,base64pad:rW({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),base64url:rW({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),base64urlpad:rW({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});let se=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"),st=se.reduce((e,t,i)=>(e[i]=t,e),[]),si=se.reduce((e,t,i)=>(e[t.codePointAt(0)]=i,e),[]);var sa=Object.freeze({__proto__:null,base256emoji:rF({prefix:"\uD83D\uDE80",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>e+=st[t],"")},decode:function(e){let t=[];for(let i of e){let e=si[i.codePointAt(0)];if(void 0===e)throw Error(`Non-base256emoji character: ${i}`);t.push(e)}return new Uint8Array(t)}})});function sr(e,t){var i,a=0,t=t||0,r=0,s=t,p=e.length;do{if(s>=p)throw sr.bytes=0,RangeError("Could not decode varint");i=e[s++],a+=r<28?(127&i)<<r:(127&i)*Math.pow(2,r),r+=7}while(i>=128);return sr.bytes=s-t,a}var ss={encode:function e(t,i,a){i=i||[],a=a||0;for(var r=a;t>=2147483648;)i[a++]=255&t|128,t/=128;for(;-128&t;)i[a++]=255&t|128,t>>>=7;return i[a]=0|t,e.bytes=a-r+1,i},encodingLength:function(e){return 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}};let sn=(e,t,i=0)=>(ss.encode(e,t,i),t),sp=e=>ss.encodingLength(e),so=(e,t)=>{let i=t.byteLength,a=sp(e),r=a+sp(i),s=new Uint8Array(r+i);return sn(e,s,0),sn(i,s,a),s.set(t,r),new sd(e,i,t,s)};class sd{constructor(e,t,i,a){this.code=e,this.size=t,this.digest=i,this.bytes=a}}let sl=({name:e,code:t,encode:i})=>new sc(e,t,i);class sc{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?so(this.code,t):t.then(e=>so(this.code,e))}throw Error("Unknown type, must be binary type")}}let sh=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t));var su=Object.freeze({__proto__:null,sha256:sl({name:"sha2-256",code:18,encode:sh("SHA-256")}),sha512:sl({name:"sha2-512",code:19,encode:sh("SHA-512")})}),sm=Object.freeze({__proto__:null,identity:{code:0,name:"identity",encode:rV,digest:e=>so(0,rV(e))}});new TextEncoder,new TextDecoder;let sf={...rJ,...rG,...rY,...rZ,...rQ,...r3,...r8,...r9,...r7,...sa};function sg(e,t,i,a){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:i},decoder:{decode:a}}}({...su,...sm});let sv=sg("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),sy=sg("ascii","a",e=>{let t="a";for(let i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);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 i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t}),sw={utf8:sv,"utf-8":sv,hex:sf.base16,latin1:sy,ascii:sy,binary:sy,...sf};var sb=Object.defineProperty,s_=(e,t,i)=>t in e?sb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,sE=(e,t,i)=>s_(e,"symbol"!=typeof t?t+"":t,i);class sS{constructor(e,t){this.core=e,this.logger=t,sE(this,"keychain",new Map),sE(this,"name","keychain"),sE(this,"version","0.3"),sE(this,"initialized",!1),sE(this,"storagePrefix",rp),sE(this,"init",async()=>{if(!this.initialized){let e=await this.getKeyChain();"u">typeof e&&(this.keychain=e),this.initialized=!0}}),sE(this,"has",e=>(this.isInitialized(),this.keychain.has(e))),sE(this,"set",async(e,t)=>{this.isInitialized(),this.keychain.set(e,t),await this.persist()}),sE(this,"get",e=>{this.isInitialized();let t=this.keychain.get(e);if(typeof t>"u"){let{message:t}=ab("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}),sE(this,"del",async e=>{this.isInitialized(),this.keychain.delete(e),await this.persist()}),this.core=e,this.logger=(0,aM.Ep)(t,this.name)}get context(){return(0,aM.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,L(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}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}}var sD=Object.defineProperty,sN=(e,t,i)=>t in e?sD(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,sI=(e,t,i)=>sN(e,"symbol"!=typeof t?t+"":t,i);class sO{constructor(e,t,i){this.core=e,this.logger=t,sI(this,"name","crypto"),sI(this,"keychain"),sI(this,"randomSessionIdentifier",iQ()),sI(this,"initialized",!1),sI(this,"init",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),sI(this,"hasKeys",e=>(this.isInitialized(),this.keychain.has(e))),sI(this,"getClientId",async()=>{this.isInitialized();let e=await this.getClientSeed(),t=h.Au(e);return h.bG(t.publicKey)}),sI(this,"generateKeyPair",()=>{this.isInitialized();let e=function(){let e=iL.utils.randomPrivateKey(),t=iL.getPublicKey(e);return{privateKey:(0,u.BB)(e,iJ),publicKey:(0,u.BB)(t,iJ)}}();return this.setPrivateKey(e.publicKey,e.privateKey)}),sI(this,"signJWT",async e=>{this.isInitialized();let t=await this.getClientSeed(),i=h.Au(t),a=this.randomSessionIdentifier;return await h.vf(a,e,rc,i)}),sI(this,"generateSharedKey",(e,t,i)=>{this.isInitialized();let a=function(e,t){let i=tx(tk,iL.getSharedSecret((0,u.mL)(e,iJ),(0,u.mL)(t,iJ)),void 0,void 0,32);return(0,u.BB)(i,iJ)}(this.getPrivateKey(e),t);return this.setSymKey(a,i)}),sI(this,"setSymKey",async(e,t)=>{this.isInitialized();let i=t||iX(e);return await this.keychain.set(i,e),i}),sI(this,"deleteKeyPair",async e=>{this.isInitialized(),await this.keychain.del(e)}),sI(this,"deleteSymKey",async e=>{this.isInitialized(),await this.keychain.del(e)}),sI(this,"encode",async(e,t,i)=>{this.isInitialized();let a=i9(i),r=(0,ri.u)(t);if(2===a.type)return function(e,t){let i=i0(2),a=ev(12),r=i3({type:i,sealed:(0,u.mL)(e,iZ),iv:a});return t===iY?i6(r):r}(r,i?.encoding);if(i5(a)){let t=a.senderPublicKey,i=a.receiverPublicKey;e=await this.generateSharedKey(t,i)}let s=this.getSymKey(e),{type:p,senderPublicKey:o}=a;return function(e){let t=i0("u">typeof e.type?e.type:0);if(1===i2(t)&&typeof e.senderPublicKey>"u")throw Error("Missing sender public key for type 1 envelope");let i="u">typeof e.senderPublicKey?(0,u.mL)(e.senderPublicKey,iJ):void 0,a="u">typeof e.iv?(0,u.mL)(e.iv,iJ):ev(12),r=i3({type:t,sealed:tS((0,u.mL)(e.symKey,iJ),a).encrypt((0,u.mL)(e.message,iZ)),iv:a,senderPublicKey:i});return e.encoding===iY?i6(r):r}({type:p,symKey:s,message:r,senderPublicKey:o,encoding:i?.encoding})}),sI(this,"decode",async(e,t,i)=>{this.isInitialized();let a=function(e,t){let i=i8({encoded:e,encoding:t?.encoding});return i9({type:i2(i.type),senderPublicKey:"u">typeof i.senderPublicKey?(0,u.BB)(i.senderPublicKey,iJ):void 0,receiverPublicKey:t?.receiverPublicKey})}(t,i);if(2===a.type){let e=function(e,t){let{sealed:i}=i8({encoded:e,encoding:t});return(0,u.BB)(i,iZ)}(t,i?.encoding);return(0,ri.D)(e)}if(i5(a)){let t=a.receiverPublicKey,i=a.senderPublicKey;e=await this.generateSharedKey(t,i)}try{let a=this.getSymKey(e),r=function(e){let t=(0,u.mL)(e.symKey,iJ),{sealed:i,iv:a}=i8({encoded:e.encoded,encoding:e.encoding}),r=tS(t,a).decrypt(i);if(null===r)throw Error("Failed to decrypt");return(0,u.BB)(r,iZ)}({symKey:a,encoded:t,encoding:i?.encoding});return(0,ri.D)(r)}catch(t){this.logger.error(`Failed to decode message from topic: '${e}', clientId: '${await this.getClientId()}'`),this.logger.error(t)}}),sI(this,"getPayloadType",(e,t=iG)=>i2(i8({encoded:e,encoding:t}).type)),sI(this,"getPayloadSenderPublicKey",(e,t=iG)=>{let i=i8({encoded:e,encoding:t});return i.senderPublicKey?(0,u.BB)(i.senderPublicKey,iJ):void 0}),this.core=e,this.logger=(0,aM.Ep)(t,this.name),this.keychain=i||new sS(this.core,this.logger)}get context(){return(0,aM.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(rl)}catch{e=iQ(),await this.keychain.set(rl,e)}return function(e,t="utf8"){let i=sw[t];if(!i)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e,"utf8"):i.decoder.decode(`${i.prefix}${e}`)}(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){let{message:e}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}}var sx=Object.defineProperty,sP=Object.defineProperties,sT=Object.getOwnPropertyDescriptors,sA=Object.getOwnPropertySymbols,sC=Object.prototype.hasOwnProperty,sR=Object.prototype.propertyIsEnumerable,sk=(e,t,i)=>t in e?sx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,sV=(e,t)=>{for(var i in t||(t={}))sC.call(t,i)&&sk(e,i,t[i]);if(sA)for(var i of sA(t))sR.call(t,i)&&sk(e,i,t[i]);return e},sL=(e,t)=>sP(e,sT(t)),sB=(e,t,i)=>sk(e,"symbol"!=typeof t?t+"":t,i);class sj extends aQ{constructor(e,t){super(e,t),this.logger=e,this.core=t,sB(this,"messages",new Map),sB(this,"messagesWithoutClientAck",new Map),sB(this,"name","messages"),sB(this,"version","0.3"),sB(this,"initialized",!1),sB(this,"storagePrefix",rp),sB(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}}}),sB(this,"set",async(e,t,i)=>{this.isInitialized();let a=i1(t),r=this.messages.get(e);if(typeof r>"u"&&(r={}),"u">typeof r[a])return a;if(r[a]=t,this.messages.set(e,r),i===ry.inbound){let i=this.messagesWithoutClientAck.get(e)||{};this.messagesWithoutClientAck.set(e,sL(sV({},i),{[a]:t}))}return await this.persist(),a}),sB(this,"get",e=>{this.isInitialized();let t=this.messages.get(e);return typeof t>"u"&&(t={}),t}),sB(this,"getWithoutAck",e=>{this.isInitialized();let t={};for(let i of e){let e=this.messagesWithoutClientAck.get(i)||{};t[i]=Object.values(e)}return t}),sB(this,"has",(e,t)=>(this.isInitialized(),"u">typeof this.get(e)[i1(t)])),sB(this,"ack",async(e,t)=>{this.isInitialized();let i=this.messagesWithoutClientAck.get(e);if(typeof i>"u")return;let a=i1(t);delete i[a],0===Object.keys(i).length?this.messagesWithoutClientAck.delete(e):this.messagesWithoutClientAck.set(e,i),await this.persist()}),sB(this,"del",async e=>{this.isInitialized(),this.messages.delete(e),this.messagesWithoutClientAck.delete(e),await this.persist()}),this.logger=(0,aM.Ep)(e,this.name),this.core=t}get context(){return(0,aM.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,L(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,L(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}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}}var sU=Object.defineProperty,s$=Object.defineProperties,sq=Object.getOwnPropertyDescriptors,sM=Object.getOwnPropertySymbols,sF=Object.prototype.hasOwnProperty,sz=Object.prototype.propertyIsEnumerable,sH=(e,t,i)=>t in e?sU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,sK=(e,t)=>{for(var i in t||(t={}))sF.call(t,i)&&sH(e,i,t[i]);if(sM)for(var i of sM(t))sz.call(t,i)&&sH(e,i,t[i]);return e},sW=(e,t)=>s$(e,sq(t)),sJ=(e,t,i)=>sH(e,"symbol"!=typeof t?t+"":t,i);class sG extends aX{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,sJ(this,"events",new a.EventEmitter),sJ(this,"name","publisher"),sJ(this,"queue",new Map),sJ(this,"publishTimeout",(0,p.toMiliseconds)(p.ONE_MINUTE)),sJ(this,"initialPublishTimeout",(0,p.toMiliseconds)(15*p.ONE_SECOND)),sJ(this,"needsTransportRestart",!1),sJ(this,"publish",async(e,t,i)=>{var a;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:e,message:t,opts:i}});let r=i?.ttl||rh,s=i7(i),p=i?.prompt||!1,o=i?.tag||0,d=i?.id||(0,rr.getBigIntRpcId)().toString(),l={topic:e,message:t,opts:{ttl:r,relay:s,prompt:p,tag:o,id:d,attestation:i?.attestation,tvf:i?.tvf}},c=`Failed to publish payload, please try again. id:${d} tag:${o}`;try{let a=new Promise(async a=>{let s=({id:e})=>{l.opts.id===e&&(this.removeRequestFromQueue(e),this.relayer.events.removeListener(rm.publish,s),a(l))};this.relayer.events.on(rm.publish,s);let c=U(new Promise((a,s)=>{this.rpcPublish({topic:e,message:t,ttl:r,prompt:p,tag:o,id:d,attestation:i?.attestation,tvf:i?.tvf}).then(a).catch(e=>{this.logger.warn(e,e?.message),s(e)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${d} tag:${o}`);try{await c,this.events.removeListener(rm.publish,s)}catch(e){this.queue.set(d,sW(sK({},l),{attempt:1})),this.logger.warn(e,e?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:d,topic:e,message:t,opts:i}}),await U(a,this.publishTimeout,c)}catch(e){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(e),null!=(a=i?.internal)&&a.throwOnFailedPublish)throw e}finally{this.queue.delete(d)}}),sJ(this,"on",(e,t)=>{this.events.on(e,t)}),sJ(this,"once",(e,t)=>{this.events.once(e,t)}),sJ(this,"off",(e,t)=>{this.events.off(e,t)}),sJ(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.relayer=e,this.logger=(0,aM.Ep)(t,this.name),this.registerEventListeners()}get context(){return(0,aM.Fd)(this.logger)}async rpcPublish(e){var t,i,a,r;let{topic:s,message:p,ttl:o=rh,prompt:d,tag:l,id:c,attestation:h,tvf:u}=e,m={method:ae(i7().protocol).publish,params:sK({topic:s,message:p,ttl:o,prompt:d,tag:l,attestation:h},u),id:c};aD(null==(t=m.params)?void 0:t.prompt)&&(null==(i=m.params)||delete i.prompt),aD(null==(a=m.params)?void 0:a.tag)&&(null==(r=m.params)||delete r.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:m});let f=await this.relayer.request(m);return this.relayer.events.emit(rm.publish,e),this.logger.debug("Successfully Published Payload"),f}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{let i=e.attempt+1;this.queue.set(t,sW(sK({},e),{attempt:i}));let{topic:a,message:r,opts:s,attestation:p}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${i}`),await this.rpcPublish(sW(sK({},e),{topic:a,message:r,ttl:s.ttl,prompt:s.prompt,tag:s.tag,id:s.id,attestation:p,tvf:s.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(a$.Lx.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(rm.connection_stalled);return}this.checkQueue()}),this.relayer.on(rm.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var sY=Object.defineProperty,sZ=(e,t,i)=>t in e?sY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,sQ=(e,t,i)=>sZ(e,"symbol"!=typeof t?t+"":t,i);class sX{constructor(){sQ(this,"map",new Map),sQ(this,"set",(e,t)=>{let i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])}),sQ(this,"get",e=>this.map.get(e)||[]),sQ(this,"exists",(e,t)=>this.get(e).includes(t)),sQ(this,"delete",(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;let i=this.get(e);if(!this.exists(e,t))return;let a=i.filter(e=>e!==t);if(!a.length){this.map.delete(e);return}this.map.set(e,a)}),sQ(this,"clear",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var s1=Object.defineProperty,s0=Object.defineProperties,s2=Object.getOwnPropertyDescriptors,s6=Object.getOwnPropertySymbols,s4=Object.prototype.hasOwnProperty,s3=Object.prototype.propertyIsEnumerable,s8=(e,t,i)=>t in e?s1(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,s9=(e,t)=>{for(var i in t||(t={}))s4.call(t,i)&&s8(e,i,t[i]);if(s6)for(var i of s6(t))s3.call(t,i)&&s8(e,i,t[i]);return e},s5=(e,t)=>s0(e,s2(t)),s7=(e,t,i)=>s8(e,"symbol"!=typeof t?t+"":t,i);class ne extends a2{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,s7(this,"subscriptions",new Map),s7(this,"topicMap",new sX),s7(this,"events",new a.EventEmitter),s7(this,"name","subscription"),s7(this,"version","0.3"),s7(this,"pending",new Map),s7(this,"cached",[]),s7(this,"initialized",!1),s7(this,"storagePrefix",rp),s7(this,"subscribeTimeout",(0,p.toMiliseconds)(p.ONE_MINUTE)),s7(this,"initialSubscribeTimeout",(0,p.toMiliseconds)(15*p.ONE_SECOND)),s7(this,"clientId"),s7(this,"batchSubscribeTopicsLimit",500),s7(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),s7(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 i=i7(t),a={topic:e,relay:i,transportType:t?.transportType};this.pending.set(e,a);let r=await this.rpcSubscribe(e,i,t);return"string"==typeof r&&(this.onSubscribe(r,a),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:e,opts:t}})),r}catch(e){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(e),e}}),s7(this,"unsubscribe",async(e,t)=>{this.isInitialized(),"u">typeof t?.id?await this.unsubscribeById(e,t.id,t):await this.unsubscribeByTopic(e,t)}),s7(this,"isSubscribed",e=>new Promise(t=>{t(this.topicMap.topics.includes(e))})),s7(this,"isKnownTopic",e=>new Promise(t=>{t(this.topicMap.topics.includes(e)||this.pending.has(e)||this.cached.some(t=>t.topic===e))})),s7(this,"on",(e,t)=>{this.events.on(e,t)}),s7(this,"once",(e,t)=>{this.events.once(e,t)}),s7(this,"off",(e,t)=>{this.events.off(e,t)}),s7(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),s7(this,"start",async()=>{await this.onConnect()}),s7(this,"stop",async()=>{await this.onDisconnect()}),s7(this,"restart",async()=>{await this.restore(),await this.onRestart()}),s7(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)}),s7(this,"registerEventListeners",()=>{this.relayer.core.heartbeat.on(a$.Lx.pulse,async()=>{await this.checkPending()}),this.events.on(rb.created,async e=>{let t=rb.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(rb.deleted,async e=>{let t=rb.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}),this.relayer=e,this.logger=(0,aM.Ep)(t,this.name),this.clientId=""}get context(){return(0,aM.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 i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}reset(){this.cached=[],this.initialized=!0}onDisable(){this.values.length>0&&(this.cached=this.values),this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){let i=this.topicMap.get(e);await Promise.all(i.map(async i=>await this.unsubscribeById(e,i,t)))}async unsubscribeById(e,t,i){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}});try{let a=i7(i);await this.restartToComplete({topic:e,id:t,relay:a}),await this.rpcUnsubscribe(e,t,a);let r=a_("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,r),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}})}catch(e){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(e),e}}async rpcSubscribe(e,t,i){var a;i&&i?.transportType!==rv.relay||await this.restartToComplete({topic:e,id:e,relay:t});let r={method:ae(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:r});let s=null==(a=i?.internal)?void 0:a.throwOnFailedPublish;try{let t=await this.getSubscriptionId(e);if(i?.transportType===rv.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(r).catch(e=>this.logger.warn(e))},(0,p.toMiliseconds)(p.ONE_SECOND)),t;let a=new Promise(async t=>{let i=a=>{a.topic===e&&(this.events.removeListener(rb.created,i),t(a.id))};this.events.on(rb.created,i);try{let a=await U(new Promise((e,t)=>{this.relayer.request(r).catch(e=>{this.logger.warn(e,e?.message),t(e)}).then(e)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(rb.created,i),t(a)}catch{}}),o=await U(a,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!o&&s)throw Error(`Subscribing to ${e} failed, please try again`);return o?t:null}catch(e){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(rm.connection_stalled),s)throw e}return null}async rpcBatchSubscribe(e){if(!e.length)return;let t={method:ae(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 U(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(rm.connection_stalled)}}async rpcBatchFetchMessages(e){let t;if(!e.length)return;let i={method:ae(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:i});try{t=await await U(new Promise((e,t)=>{this.relayer.request(i).catch(e=>{this.logger.warn(e),t(e)}).then(e)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(rm.connection_stalled)}return t}rpcUnsubscribe(e,t,i){let a={method:ae(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:a}),this.relayer.request(a)}onSubscribe(e,t){this.setSubscription(e,s5(s9({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(e=>{this.setSubscription(e.id,s9({},e)),this.pending.delete(e.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:t}),this.addSubscription(e,t)}addSubscription(e,t){this.subscriptions.set(e,s9({},t)),this.topicMap.set(t.topic,e),this.events.emit(rb.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}=ab("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 i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(rb.deleted,s5(s9({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(rb.sync)}async onRestart(){if(this.cached.length){let e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let i=0;i<t;i++){let t=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(t)}}this.events.emit(rb.resubscribed)}async restore(){try{let e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){let{message:e}=ab("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=>s5(s9({},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 i=await this.rpcBatchFetchMessages(e);i&&i.messages&&(await (t=(0,p.toMiliseconds)(p.ONE_SECOND),new Promise(e=>setTimeout(e,t))),await this.relayer.handleBatchMessageEvents(i.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){let{message:e}=ab("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 i1(e+await this.getClientId())}}var nt=Object.defineProperty,ni=Object.getOwnPropertySymbols,na=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,ns=(e,t,i)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nn=(e,t)=>{for(var i in t||(t={}))na.call(t,i)&&ns(e,i,t[i]);if(ni)for(var i of ni(t))nr.call(t,i)&&ns(e,i,t[i]);return e},np=(e,t,i)=>ns(e,"symbol"!=typeof t?t+"":t,i);class no extends a1{constructor(e){super(e),np(this,"protocol","wc"),np(this,"version",2),np(this,"core"),np(this,"logger"),np(this,"events",new a.EventEmitter),np(this,"provider"),np(this,"messages"),np(this,"subscriber"),np(this,"publisher"),np(this,"name","relayer"),np(this,"transportExplicitlyClosed",!1),np(this,"initialized",!1),np(this,"connectionAttemptInProgress",!1),np(this,"relayUrl"),np(this,"projectId"),np(this,"packageName"),np(this,"bundleId"),np(this,"hasExperiencedNetworkDisruption",!1),np(this,"pingTimeout"),np(this,"heartBeatTimeout",(0,p.toMiliseconds)(p.THIRTY_SECONDS+p.FIVE_SECONDS)),np(this,"reconnectTimeout"),np(this,"connectPromise"),np(this,"reconnectInProgress",!1),np(this,"requestsInFlight",[]),np(this,"connectTimeout",(0,p.toMiliseconds)(15*p.ONE_SECOND)),np(this,"request",async e=>{var t,i;this.logger.debug("Publishing Request Payload");let a=e.id||(0,rr.getBigIntRpcId)().toString();await this.toEstablishConnection();try{this.logger.trace({id:a,method:e.method,topic:null==(t=e.params)?void 0:t.topic},"relayer.request - publishing...");let r=`${a}:${(null==(i=e.params)?void 0:i.tag)||""}`;this.requestsInFlight.push(r);let s=await this.provider.request(e);return this.requestsInFlight=this.requestsInFlight.filter(e=>e!==r),s}catch(e){throw this.logger.debug(`Failed to Publish Request: ${a}`),e}}),np(this,"resetPingTimeout",()=>{x()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var e,t,i,a;try{this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),null==(a=null==(i=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:i.terminate)||a.call(i)}catch(e){this.logger.warn(e,e?.message)}},this.heartBeatTimeout))}),np(this,"onPayloadHandler",e=>{this.onProviderPayload(e),this.resetPingTimeout()}),np(this,"onConnectHandler",()=>{this.logger.warn({},"Relayer connected \uD83D\uDEDC"),this.startPingTimeout(),this.events.emit(rm.connect)}),np(this,"onDisconnectHandler",()=>{this.logger.warn({},"Relayer disconnected \uD83D\uDED1"),this.requestsInFlight=[],this.onProviderDisconnect()}),np(this,"onProviderErrorHandler",e=>{this.logger.fatal(`Fatal socket error: ${e.message}`),this.events.emit(rm.error,e),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()}),np(this,"registerProviderListeners",()=>{this.provider.on(rf.payload,this.onPayloadHandler),this.provider.on(rf.connect,this.onConnectHandler),this.provider.on(rf.disconnect,this.onDisconnectHandler),this.provider.on(rf.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger="u">typeof e.logger&&"string"!=typeof e.logger?(0,aM.Ep)(e.logger,this.name):(0,aM.gw)((0,aM.jI)({level:e.logger||"error"})),this.messages=new sj(this.logger,e.core),this.subscriber=new ne(this,this.logger),this.publisher=new sG(this,this.logger),this.relayUrl=e?.relayUrl||ru,this.projectId=e.projectId,P()&&"u">typeof global&&"u">typeof(null==global?void 0:global.Platform)&&(null==global?void 0:global.Platform.OS)==="android"?this.packageName=C():P()&&"u">typeof global&&"u">typeof(null==global?void 0:global.Platform)&&(null==global?void 0:global.Platform.OS)==="ios"&&(this.bundleId=C()),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,aM.Fd)(this.logger)}get connected(){var e,t,i;return(null==(i=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:i.readyState)===1}get connecting(){var e,t,i;return(null==(i=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:i.readyState)===0||void 0!==this.connectPromise}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:rv.relay},ry.outbound)}async subscribe(e,t){var i,a,r;this.isInitialized(),null!=t&&t.transportType&&t?.transportType!=="relay"||await this.toEstablishConnection();let s=typeof(null==(i=t?.internal)?void 0:i.throwOnFailedPublish)>"u"||(null==(a=t?.internal)?void 0:a.throwOnFailedPublish),p=(null==(r=this.subscriber.topicMap.get(e))?void 0:r[0])||"",o,d=t=>{t.topic===e&&(this.subscriber.off(rb.created,d),o())};return await Promise.all([new Promise(e=>{o=e,this.subscriber.on(rb.created,d)}),new Promise(async(i,a)=>{p=await this.subscriber.subscribe(e,nn({internal:{throwOnFailedPublish:s}},t)).catch(e=>{s&&a(e)})||p,i()})]),p}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 U(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.warn("Starting WS connection skipped because the client has no topics to work with.");return}if(this.connectPromise?(this.logger.debug({},"Waiting for existing connection attempt to resolve..."),await this.connectPromise,this.logger.debug({},"Existing connection attempt resolved")):(this.connectPromise=new Promise(async(t,i)=>{await this.connect(e).then(t).catch(i).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw 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 aL())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:i}=e;if(!t.sessionExists){let e=M(p.FIVE_MINUTES);await this.core.pairing.pairings.set(i,{topic:i,expiry:e,relay:{protocol:"irn"},active:!1})}this.events.emit(rm.message,e),await this.recordMessageEvent(e,ry.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 i=()=>{t(Error("Connection interrupted while trying to subscribe"))};this.provider.once(rf.disconnect,i),await U(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(rf.disconnect,i),clearTimeout(this.reconnectTimeout)}),await new Promise(async(e,t)=>{let i=()=>{t(Error("Connection interrupted while trying to subscribe"))};this.provider.once(rf.disconnect,i),await this.subscriber.start().then(e).catch(t).finally(()=>{this.provider.off(rf.disconnect,i)})}),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,p.toMiliseconds)(1*t))),t++}}startPingTimeout(){var e,t,i,a,r;if(x())try{null!=(t=null==(e=this.provider)?void 0:e.connection)&&t.socket&&(null==(r=null==(a=null==(i=this.provider)?void 0:i.connection)?void 0:a.socket)||r.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 ra.r(new rs.Z(function({protocol:e,version:t,relayUrl:i,sdkVersion:a,auth:r,projectId:s,useOnCloseEvent:p,bundleId:o,packageName:d}){let l=i.split("?"),c=k(e,t,a),h=function(e,t){let i=new URLSearchParams(e);for(let e of Object.keys(t).sort())if(t.hasOwnProperty(e)){let a=t[e];void 0!==a&&i.set(e,a)}return i.toString()}(l[1]||"",{auth:r,ua:c,projectId:s,useOnCloseEvent:p||void 0,packageName:d||void 0,bundleId:o||void 0});return l[0]+"?"+h}({sdkVersion:rg,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:i,message:a}=e;await this.messages.set(i,a,t)}async shouldIgnoreMessageEvent(e){let{topic:t,message:i}=e;if(!i||0===i.length)return this.logger.warn(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;let a=this.messages.has(t,i);return a&&this.logger.warn(`Ignoring duplicate message: ${i}`),a}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),(0,rr.isJsonRpcRequest)(e)){if(!e.method.endsWith("_subscription"))return;let t=e.params,{topic:i,message:a,publishedAt:r,attestation:s}=t.data,p={topic:i,message:a,publishedAt:r,transportType:rv.relay,attestation:s};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(nn({type:"event",event:t.id},p)),this.events.emit(t.id,p),await this.acknowledgePayload(e),await this.onMessageEvent(p)}else(0,rr.isJsonRpcResponse)(e)&&this.events.emit(rm.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,ry.inbound),this.events.emit(rm.message,e))}async acknowledgePayload(e){let t=(0,rr.formatJsonRpcResult)(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(rf.payload,this.onPayloadHandler),this.provider.off(rf.connect,this.onConnectHandler),this.provider.off(rf.disconnect,this.onDisconnectHandler),this.provider.off(rf.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await aL();(function(e){switch(A()){case O.browser:!P()&&T()&&(window.addEventListener("online",()=>e(!0)),window.addEventListener("offline",()=>e(!1)));break;case O.reactNative:P()&&"u">typeof global&&null!=global&&global.NetInfo&&global?.NetInfo.addEventListener(t=>e(t?.isConnected));case O.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(a$.Lx.pulse,async()=>{var e;if(!this.transportExplicitlyClosed&&!this.connected&&(!(T()&&(0,o.getDocument)())||(null==(e=(0,o.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(rm.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,p.toMiliseconds)(.1)))))}isInitialized(){if(!this.initialized){let{message:e}=ab("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 nd(){}function nl(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 nc(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function nh(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let nu="[object Arguments]",nm="[object Object]";var nf=Object.defineProperty,ng=Object.getOwnPropertySymbols,nv=Object.prototype.hasOwnProperty,ny=Object.prototype.propertyIsEnumerable,nw=(e,t,i)=>t in e?nf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nb=(e,t)=>{for(var i in t||(t={}))nv.call(t,i)&&nw(e,i,t[i]);if(ng)for(var i of ng(t))ny.call(t,i)&&nw(e,i,t[i]);return e},n_=(e,t,i)=>nw(e,"symbol"!=typeof t?t+"":t,i);class nE extends a0{constructor(e,t,i,a=rp,r){super(e,t,i,a),this.core=e,this.logger=t,this.name=i,n_(this,"map",new Map),n_(this,"version","0.3"),n_(this,"cached",[]),n_(this,"initialized",!1),n_(this,"getKey"),n_(this,"storagePrefix",rp),n_(this,"recentlyDeleted",[]),n_(this,"recentlyDeletedLimit",200),n_(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>{this.getKey&&null!==e&&!aD(e)?this.map.set(this.getKey(e),e):function(e){var t;return null==(t=e?.proposer)?void 0:t.publicKey}(e)?this.map.set(e.id,e):e?.topic&&this.map.set(e.topic,e)}),this.cached=[],this.initialized=!0)}),n_(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())}),n_(this,"get",e=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:e}),this.getData(e))),n_(this,"getAll",e=>(this.isInitialized(),e?this.values.filter(t=>Object.keys(e).every(i=>(function e(t,i,a,r,s,p,o){let d=o(t,i,a,r,s,p);if(void 0!==d)return d;if(typeof t==typeof i)switch(typeof t){case"bigint":case"string":case"boolean":case"symbol":case"undefined":case"function":return t===i;case"number":return t===i||Object.is(t,i)}return function t(i,a,r,s){if(Object.is(i,a))return!0;let p=nh(i),o=nh(a);if(p===nu&&(p=nm),o===nu&&(o=nm),p!==o)return!1;switch(p){case"[object String]":return i.toString()===a.toString();case"[object Number]":{let e=i.valueOf(),t=a.valueOf();return e===t||Number.isNaN(e)&&Number.isNaN(t)}case"[object Boolean]":case"[object Date]":case"[object Symbol]":return Object.is(i.valueOf(),a.valueOf());case"[object RegExp]":return i.source===a.source&&i.flags===a.flags;case"[object Function]":return i===a}let d=(r=r??new Map).get(i),l=r.get(a);if(null!=d&&null!=l)return d===a;r.set(i,a),r.set(a,i);try{switch(p){case"[object Map]":if(i.size!==a.size)return!1;for(let[t,p]of i.entries())if(!a.has(t)||!e(p,a.get(t),t,i,a,r,s))return!1;return!0;case"[object Set]":{if(i.size!==a.size)return!1;let t=Array.from(i.values()),p=Array.from(a.values());for(let o=0;o<t.length;o++){let d=t[o],l=p.findIndex(t=>e(d,t,void 0,i,a,r,s));if(-1===l)return!1;p.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 Buffer&&Buffer.isBuffer(i)!==Buffer.isBuffer(a)||i.length!==a.length)return!1;for(let t=0;t<i.length;t++)if(!e(i[t],a[t],t,i,a,r,s))return!1;return!0;case"[object ArrayBuffer]":return i.byteLength===a.byteLength&&t(new Uint8Array(i),new Uint8Array(a),r,s);case"[object DataView]":return i.byteLength===a.byteLength&&i.byteOffset===a.byteOffset&&t(new Uint8Array(i),new Uint8Array(a),r,s);case"[object Error]":return i.name===a.name&&i.message===a.message;case nm:{if(!(t(i.constructor,a.constructor,r,s)||nl(i)&&nl(a)))return!1;let p=[...Object.keys(i),...nc(i)],o=[...Object.keys(a),...nc(a)];if(p.length!==o.length)return!1;for(let t=0;t<p.length;t++){let o=p[t],d=i[o];if(!Object.hasOwn(a,o))return!1;let l=a[o];if(!e(d,l,o,i,a,r,s))return!1}return!0}default:return!1}}finally{r.delete(i),r.delete(a)}}(t,i,p,o)})(t[i],e[i],void 0,void 0,void 0,void 0,nd))):this.values)),n_(this,"update",async(e,t)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:e,update:t});let i=nb(nb({},this.getData(e)),t);this.map.set(e,i),await this.persist()}),n_(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,aM.Ep)(t,this.name),this.storagePrefix=a,this.getKey=r}get context(){return(0,aM.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}=ab("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(t),Error(t)}let{message:t}=ab("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}=ab("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}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}}var nS=Object.defineProperty,nD=(e,t,i)=>t in e?nS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nN=(e,t,i)=>nD(e,"symbol"!=typeof t?t+"":t,i);class nI{constructor(e,t){this.core=e,this.logger=t,nN(this,"name","pairing"),nN(this,"version","0.3"),nN(this,"events",new(r())),nN(this,"pairings"),nN(this,"initialized",!1),nN(this,"storagePrefix",rp),nN(this,"ignoredPayloadTypes",[1]),nN(this,"registeredMethods",[]),nN(this,"init",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))}),nN(this,"register",({methods:e})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...e])]}),nN(this,"create",async e=>{this.isInitialized();let t=iQ(),i=await this.core.crypto.setSymKey(t),a=M(p.FIVE_MINUTES),r={protocol:"irn"},s={topic:i,expiry:a,relay:r,active:!1,methods:e?.methods},o=ai({protocol:this.core.protocol,version:this.core.version,topic:i,symKey:t,relay:r,expiryTimestamp:a,methods:e?.methods});return this.events.emit(rE.create,s),this.core.expirer.set(i,a),await this.pairings.set(i,s),await this.core.relayer.subscribe(i,{transportType:e?.transportType}),{topic:i,uri:o}}),nN(this,"pair",async e=>{let t;this.isInitialized();let i=this.core.eventClient.createEvent({properties:{topic:e?.uri,trace:[rx.pairing_started]}});this.isValidPair(e,i);let{topic:a,symKey:r,relay:s,expiryTimestamp:o,methods:d}=at(e.uri);if(i.props.properties.topic=a,i.addTrace(rx.pairing_uri_validation_success),i.addTrace(rx.pairing_uri_not_expired),this.pairings.keys.includes(a)){if(t=this.pairings.get(a),i.addTrace(rx.existing_pairing),t.active)throw i.setError(rP.active_pairing_already_exists),Error(`Pairing already exists: ${a}. Please try again with a new connection URI.`);i.addTrace(rx.pairing_not_expired)}let l=o||M(p.FIVE_MINUTES),c={topic:a,relay:s,expiry:l,active:!1,methods:d};this.core.expirer.set(a,l),await this.pairings.set(a,c),i.addTrace(rx.store_new_pairing),e.activatePairing&&await this.activate({topic:a}),this.events.emit(rE.create,c),i.addTrace(rx.emit_inactive_pairing),this.core.crypto.keychain.has(a)||await this.core.crypto.setSymKey(r,a),i.addTrace(rx.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{i.setError(rP.no_internet_connection)}try{await this.core.relayer.subscribe(a,{relay:s})}catch(e){throw i.setError(rP.subscribe_pairing_topic_failure),e}return i.addTrace(rx.subscribe_pairing_topic_success),c}),nN(this,"activate",async({topic:e})=>{this.isInitialized();let t=M(p.FIVE_MINUTES);this.core.expirer.set(e,t),await this.pairings.update(e,{active:!0,expiry:t})}),nN(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:i,resolve:a,reject:r}=j();this.events.once(z("pairing_ping",e),({error:e})=>{e?r(e):a()}),await i()}}),nN(this,"updateExpiry",async({topic:e,expiry:t})=>{this.isInitialized(),await this.pairings.update(e,{expiry:t})}),nN(this,"updateMetadata",async({topic:e,metadata:t})=>{this.isInitialized(),await this.pairings.update(e,{peerMetadata:t})}),nN(this,"getPairings",()=>(this.isInitialized(),this.pairings.values)),nN(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",a_("USER_DISCONNECTED")),await this.deletePairing(t))}),nN(this,"formatUriFromPairing",e=>{this.isInitialized();let{topic:t,relay:i,expiry:a,methods:r}=e,s=this.core.crypto.keychain.get(t);return ai({protocol:this.core.protocol,version:this.core.version,topic:t,symKey:s,relay:i,expiryTimestamp:a,methods:r})}),nN(this,"sendRequest",async(e,t,i)=>{let a=(0,rr.formatJsonRpcRequest)(t,i),r=await this.core.crypto.encode(e,a),s=r_[t].req;return this.core.history.set(e,a),this.core.relayer.publish(e,r,s),a.id}),nN(this,"sendResult",async(e,t,i)=>{let a=(0,rr.formatJsonRpcResult)(e,i),r=await this.core.crypto.encode(t,a),s=r_[(await this.core.history.get(t,e)).request.method].res;await this.core.relayer.publish(t,r,s),await this.core.history.resolve(a)}),nN(this,"sendError",async(e,t,i)=>{let a=(0,rr.formatJsonRpcError)(e,i),r=await this.core.crypto.encode(t,a),s=(await this.core.history.get(t,e)).request.method,p=r_[s]?r_[s].res:r_.unregistered_method.res;await this.core.relayer.publish(t,r,p),await this.core.history.resolve(a)}),nN(this,"deletePairing",async(e,t)=>{await this.core.relayer.unsubscribe(e),await Promise.all([this.pairings.delete(e,a_("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(e),t?Promise.resolve():this.core.expirer.del(e)])}),nN(this,"cleanup",async()=>{let e=this.pairings.getAll().filter(e=>F(e.expiry));await Promise.all(e.map(e=>this.deletePairing(e.topic)))}),nN(this,"onRelayEventRequest",async e=>{let{topic:t,payload:i}=e;switch(i.method){case"wc_pairingPing":return await this.onPairingPingRequest(t,i);case"wc_pairingDelete":return await this.onPairingDeleteRequest(t,i);default:return await this.onUnknownRpcMethodRequest(t,i)}}),nN(this,"onRelayEventResponse",async e=>{let{topic:t,payload:i}=e,a=(await this.core.history.get(t,i.id)).request.method;return"wc_pairingPing"===a?this.onPairingPingResponse(t,i):this.onUnknownRpcMethodResponse(a)}),nN(this,"onPairingPingRequest",async(e,t)=>{let{id:i}=t;try{this.isValidPing({topic:e}),await this.sendResult(i,e,!0),this.events.emit(rE.ping,{id:i,topic:e})}catch(t){await this.sendError(i,e,t),this.logger.error(t)}}),nN(this,"onPairingPingResponse",(e,t)=>{let{id:i}=t;setTimeout(()=>{(0,rr.isJsonRpcResult)(t)?this.events.emit(z("pairing_ping",i),{}):(0,rr.isJsonRpcError)(t)&&this.events.emit(z("pairing_ping",i),{error:t.error})},500)}),nN(this,"onPairingDeleteRequest",async(e,t)=>{let{id:i}=t;try{this.isValidDisconnect({topic:e}),await this.deletePairing(e),this.events.emit(rE.delete,{id:i,topic:e})}catch(t){await this.sendError(i,e,t),this.logger.error(t)}}),nN(this,"onUnknownRpcMethodRequest",async(e,t)=>{let{id:i,method:a}=t;try{if(this.registeredMethods.includes(a))return;let t=a_("WC_METHOD_UNSUPPORTED",a);await this.sendError(i,e,t),this.logger.error(t)}catch(t){await this.sendError(i,e,t),this.logger.error(t)}}),nN(this,"onUnknownRpcMethodResponse",e=>{this.registeredMethods.includes(e)||this.logger.error(a_("WC_METHOD_UNSUPPORTED",e))}),nN(this,"isValidPair",(e,t)=>{var i;if(!aC(e)){let{message:i}=ab("MISSING_OR_INVALID",`pair() params: ${e}`);throw t.setError(rP.malformed_pairing_uri),Error(i)}if(!function(e){function t(e){try{return"u">typeof new URL(e)}catch{return!1}}try{if(aN(e,!1)){if(t(e))return!0;let i=Z(e);return t(i)}}catch{}return!1}(e.uri)){let{message:i}=ab("MISSING_OR_INVALID",`pair() uri: ${e.uri}`);throw t.setError(rP.malformed_pairing_uri),Error(i)}let a=at(e?.uri);if(!(null!=(i=a?.relay)&&i.protocol)){let{message:e}=ab("MISSING_OR_INVALID","pair() uri#relay-protocol");throw t.setError(rP.malformed_pairing_uri),Error(e)}if(!(null!=a&&a.symKey)){let{message:e}=ab("MISSING_OR_INVALID","pair() uri#symKey");throw t.setError(rP.malformed_pairing_uri),Error(e)}if(null!=a&&a.expiryTimestamp&&(0,p.toMiliseconds)(a?.expiryTimestamp)<Date.now()){t.setError(rP.pairing_expired);let{message:e}=ab("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw Error(e)}}),nN(this,"isValidPing",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),nN(this,"isValidDisconnect",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),nN(this,"isValidPairingTopic",async e=>{if(!aN(e,!1)){let{message:t}=ab("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.pairings.keys.includes(e)){let{message:t}=ab("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw Error(t)}if(F(this.pairings.get(e).expiry)){await this.deletePairing(e);let{message:t}=ab("EXPIRED",`pairing topic: ${e}`);throw Error(t)}}),this.core=e,this.logger=(0,aM.Ep)(t,this.name),this.pairings=new nE(this.core,this.logger,this.name,this.storagePrefix)}get context(){return(0,aM.Fd)(this.logger)}isInitialized(){if(!this.initialized){let{message:e}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}registerRelayerEvents(){this.core.relayer.on(rm.message,async e=>{let{topic:t,message:i,transportType:a}=e;if(this.pairings.keys.includes(t)&&a!==rv.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))try{let e=await this.core.crypto.decode(t,i);(0,rr.isJsonRpcRequest)(e)?(this.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e})):(0,rr.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,i)}catch(e){this.logger.error(e)}})}registerExpirerEvents(){this.core.expirer.on(rD.expired,async e=>{let{topic:t}=q(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(rE.expire,{topic:t}))})}}var nO=Object.defineProperty,nx=(e,t,i)=>t in e?nO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nP=(e,t,i)=>nx(e,"symbol"!=typeof t?t+"":t,i);class nT extends aZ{constructor(e,t){super(e,t),this.core=e,this.logger=t,nP(this,"records",new Map),nP(this,"events",new a.EventEmitter),nP(this,"name","history"),nP(this,"version","0.3"),nP(this,"cached",[]),nP(this,"initialized",!1),nP(this,"storagePrefix",rp),nP(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)}),nP(this,"set",(e,t,i)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:e,request:t,chainId:i}),this.records.has(t.id))return;let a={id:t.id,topic:e,request:{method:t.method,params:t.params||null},chainId:i,expiry:M(p.THIRTY_DAYS)};this.records.set(a.id,a),this.persist(),this.events.emit(rS.created,a)}),nP(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,rr.isJsonRpcError)(e)?{error:e.error}:{result:e.result},this.records.set(t.id,t),this.persist(),this.events.emit(rS.updated,t))}),nP(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))),nP(this,"delete",(e,t)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:t}),this.values.forEach(i=>{i.topic!==e||"u">typeof t&&i.id!==t||(this.records.delete(i.id),this.events.emit(rS.deleted,i))}),this.persist()}),nP(this,"exists",async(e,t)=>(this.isInitialized(),!!this.records.has(t)&&(await this.getRecord(t)).topic===e)),nP(this,"on",(e,t)=>{this.events.on(e,t)}),nP(this,"once",(e,t)=>{this.events.once(e,t)}),nP(this,"off",(e,t)=>{this.events.off(e,t)}),nP(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.logger=(0,aM.Ep)(t,this.name)}get context(){return(0,aM.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 i={topic:t.topic,request:(0,rr.formatJsonRpcRequest)(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();let t=this.records.get(e);if(!t){let{message:t}=ab("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(rS.sync)}async restore(){try{let e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){let{message:e}=ab("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(rS.created,e=>{let t=rS.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(rS.updated,e=>{let t=rS.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(rS.deleted,e=>{let t=rS.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(a$.Lx.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{(0,p.toMiliseconds)(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(rS.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){let{message:e}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}}var nA=Object.defineProperty,nC=(e,t,i)=>t in e?nA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nR=(e,t,i)=>nC(e,"symbol"!=typeof t?t+"":t,i);class nk extends a6{constructor(e,t){super(e,t),this.core=e,this.logger=t,nR(this,"expirations",new Map),nR(this,"events",new a.EventEmitter),nR(this,"name","expirer"),nR(this,"version","0.3"),nR(this,"cached",[]),nR(this,"initialized",!1),nR(this,"storagePrefix",rp),nR(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)}),nR(this,"has",e=>{try{let t=this.formatTarget(e);return"u">typeof this.getExpiration(t)}catch{return!1}}),nR(this,"set",(e,t)=>{this.isInitialized();let i=this.formatTarget(e),a={target:i,expiry:t};this.expirations.set(i,a),this.checkExpiry(i,a),this.events.emit(rD.created,{target:i,expiration:a})}),nR(this,"get",e=>{this.isInitialized();let t=this.formatTarget(e);return this.getExpiration(t)}),nR(this,"del",e=>{if(this.isInitialized(),this.has(e)){let t=this.formatTarget(e),i=this.getExpiration(t);this.expirations.delete(t),this.events.emit(rD.deleted,{target:t,expiration:i})}}),nR(this,"on",(e,t)=>{this.events.on(e,t)}),nR(this,"once",(e,t)=>{this.events.once(e,t)}),nR(this,"off",(e,t)=>{this.events.off(e,t)}),nR(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.logger=(0,aM.Ep)(t,this.name)}get context(){return(0,aM.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 $("topic",e);if("number"==typeof e)return $("id",e);let{message:t}=ab("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(rD.sync)}async restore(){try{let e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){let{message:e}=ab("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}=ab("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(t),Error(t)}return t}checkExpiry(e,t){let{expiry:i}=t;(0,p.toMiliseconds)(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(rD.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(a$.Lx.pulse,()=>this.checkExpirations()),this.events.on(rD.created,e=>{let t=rD.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(rD.expired,e=>{let t=rD.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(rD.deleted,e=>{let t=rD.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){let{message:e}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}}var nV=Object.defineProperty,nL=(e,t,i)=>t in e?nV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nB=(e,t,i)=>nL(e,"symbol"!=typeof t?t+"":t,i);class nj extends a4{constructor(e,t,i){super(e,t,i),this.core=e,this.logger=t,this.store=i,nB(this,"name","verify-api"),nB(this,"abortController"),nB(this,"isDevEnv"),nB(this,"verifyUrlV3",rI),nB(this,"storagePrefix",rp),nB(this,"version",2),nB(this,"publicKey"),nB(this,"fetchPromise"),nB(this,"init",async()=>{var e;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&(0,p.toMiliseconds)(null==(e=this.publicKey)?void 0:e.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))}),nB(this,"register",async e=>{if(!T()||this.isDevEnv)return;let t=window.location.origin,{id:i,decryptedId:a}=e,r=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${t}&id=${i}&decryptedId=${a}`;try{let e=(0,o.getDocument)(),t=this.startAbortTimer(5*p.ONE_SECOND),a=await new Promise((a,s)=>{let p=()=>{window.removeEventListener("message",d),e.body.removeChild(o),s("attestation aborted")};this.abortController.signal.addEventListener("abort",p);let o=e.createElement("iframe");o.src=r,o.style.display="none",o.addEventListener("error",p,{signal:this.abortController.signal});let d=r=>{if(r.data&&"string"==typeof r.data)try{let s=JSON.parse(r.data);if("verify_attestation"===s.type){if((0,h.xp)(s.attestation).payload.id!==i)return;clearInterval(t),e.body.removeChild(o),this.abortController.signal.removeEventListener("abort",p),window.removeEventListener("message",d),a(null===s.attestation?"":s.attestation)}}catch(e){this.logger.warn(e)}};e.body.appendChild(o),window.addEventListener("message",d,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",a),a}catch(e){this.logger.warn(e)}return""}),nB(this,"resolve",async e=>{if(this.isDevEnv)return"";let{attestationId:t,hash:i,encryptedId:a}=e;if(""===t){this.logger.debug("resolve: attestationId is empty, skipping");return}if(t){if((0,h.xp)(t).payload.id!==a)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(!i)return;let r=this.getVerifyUrl(e?.verifyUrl);return this.fetchAttestation(i,r)}),nB(this,"fetchAttestation",async(e,t)=>{this.logger.debug(`resolving attestation: ${e} from url: ${t}`);let i=this.startAbortTimer(5*p.ONE_SECOND),a=await fetch(`${t}/attestation/${e}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(i),200===a.status?await a.json():void 0}),nB(this,"getVerifyUrl",e=>{let t=e||rN;return rO.includes(t)||(this.logger.info(`verify url: ${t}, not included in trusted list, assigning default: ${rN}`),t=rN),t}),nB(this,"fetchPublicKey",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);let e=this.startAbortTimer(p.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)}}),nB(this,"persistPublicKey",async e=>{this.logger.debug("persisting public key to local storage",e),await this.store.setItem(this.storeKey,e),this.publicKey=e}),nB(this,"removePublicKey",async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),nB(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 i=await this.fetchAndPersistPublicKey();try{if(i)return this.validateAttestation(e,i)}catch(e){this.logger.error(e),this.logger.warn("error validating attestation")}}),nB(this,"getPublicKey",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),nB(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}),nB(this,"validateAttestation",(e,t)=>{let i=function(e,t){let[i,a,r]=e.split("."),s=Buffer.from(i4(r),"base64");if(64!==s.length)throw Error("Invalid signature length");let p=s.slice(0,32),o=s.slice(32,64),d=tk(`${i}.${a}`),l=function(e){let t=Buffer.from(e.x,"base64"),i=Buffer.from(e.y,"base64");return(0,u.zo)([new Uint8Array([4]),t,i])}(t);if(!iK.verify((0,u.zo)([p,o]),d,l))throw Error("Invalid signature");return(0,h.xp)(e).payload}(e,t.publicKey),a={hasExpired:(0,p.toMiliseconds)(i.exp)<Date.now(),payload:i};if(a.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),Error("JWT attestation expired");return{origin:a.payload.origin,isScam:a.payload.isScam,isVerified:a.payload.isVerified}}),this.logger=(0,aM.Ep)(t,this.name),this.abortController=new AbortController,this.isDevEnv=Y(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return(0,aM.Fd)(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),(0,p.toMiliseconds)(e))}}var nU=Object.defineProperty,n$=(e,t,i)=>t in e?nU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nq=(e,t,i)=>n$(e,"symbol"!=typeof t?t+"":t,i);class nM extends a3{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,nq(this,"context","echo"),nq(this,"registerDeviceToken",async e=>{let{clientId:t,token:i,notificationType:a,enableEncrypted:r=!1}=e,s=`https://echo.walletconnect.com/${this.projectId}/clients`;await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:t,type:a,token:i,always_raw:r})})}),this.logger=(0,aM.Ep)(t,this.context)}}var nF=Object.defineProperty,nz=Object.getOwnPropertySymbols,nH=Object.prototype.hasOwnProperty,nK=Object.prototype.propertyIsEnumerable,nW=(e,t,i)=>t in e?nF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nJ=(e,t)=>{for(var i in t||(t={}))nH.call(t,i)&&nW(e,i,t[i]);if(nz)for(var i of nz(t))nK.call(t,i)&&nW(e,i,t[i]);return e},nG=(e,t,i)=>nW(e,"symbol"!=typeof t?t+"":t,i);class nY extends a8{constructor(e,t,i=!0){super(e,t,i),this.core=e,this.logger=t,nG(this,"context","event-client"),nG(this,"storagePrefix",rp),nG(this,"storageVersion",.1),nG(this,"events",new Map),nG(this,"shouldPersist",!1),nG(this,"init",async()=>{if(!Y())try{let e={eventId:G(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:k(this.core.relayer.protocol,this.core.relayer.version,rg)}}};await this.sendEvent([e])}catch(e){this.logger.warn(e)}}),nG(this,"createEvent",e=>{let{event:t="ERROR",type:i="",properties:{topic:a,trace:r}}=e,s=G(),p=this.core.projectId||"",o=nJ({eventId:s,timestamp:Date.now(),props:{event:t,type:i,properties:{topic:a,trace:r}},bundleId:p,domain:this.getAppDomain()},this.setMethods(s));return this.telemetryEnabled&&(this.events.set(s,o),this.shouldPersist=!0),o}),nG(this,"getEvent",e=>{let{eventId:t,topic:i}=e;if(t)return this.events.get(t);let a=Array.from(this.events.values()).find(e=>e.props.properties.topic===i);if(a)return nJ(nJ({},a),this.setMethods(a.eventId))}),nG(this,"deleteEvent",e=>{let{eventId:t}=e;this.events.delete(t),this.shouldPersist=!0}),nG(this,"setEventListeners",()=>{this.core.heartbeat.on(a$.Lx.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(e=>{(0,p.fromMiliseconds)(Date.now())-(0,p.fromMiliseconds)(e.timestamp)>86400&&(this.events.delete(e.eventId),this.shouldPersist=!0)})})}),nG(this,"setMethods",e=>({addTrace:t=>this.addTrace(e,t),setError:t=>this.setError(e,t)})),nG(this,"addTrace",(e,t)=>{let i=this.events.get(e);i&&(i.props.properties.trace.push(t),this.events.set(e,i),this.shouldPersist=!0)}),nG(this,"setError",(e,t)=>{let i=this.events.get(e);i&&(i.props.type=t,i.timestamp=Date.now(),this.events.set(e,i),this.shouldPersist=!0)}),nG(this,"persist",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),nG(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,nJ(nJ({},e),this.setMethods(e.eventId)))})}catch(e){this.logger.warn(e)}}),nG(this,"submit",async()=>{if(!this.telemetryEnabled||0===this.events.size)return;let e=[];for(let[t,i]of this.events)i.props.type&&e.push(i);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)}}),nG(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-${rg}${t}`,{method:"POST",body:JSON.stringify(e)})}),nG(this,"getAppDomain",()=>R().url),this.logger=(0,aM.Ep)(t,this.context),this.telemetryEnabled=i,i?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var nZ=Object.defineProperty,nQ=Object.getOwnPropertySymbols,nX=Object.prototype.hasOwnProperty,n1=Object.prototype.propertyIsEnumerable,n0=(e,t,i)=>t in e?nZ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,n2=(e,t)=>{for(var i in t||(t={}))nX.call(t,i)&&n0(e,i,t[i]);if(nQ)for(var i of nQ(t))n1.call(t,i)&&n0(e,i,t[i]);return e},n6=(e,t,i)=>n0(e,"symbol"!=typeof t?t+"":t,i);class n4 extends aW{constructor(e){var t;super(e),n6(this,"protocol","wc"),n6(this,"version",2),n6(this,"name",rn),n6(this,"relayUrl"),n6(this,"projectId"),n6(this,"customStoragePrefix"),n6(this,"events",new a.EventEmitter),n6(this,"logger"),n6(this,"heartbeat"),n6(this,"relayer"),n6(this,"crypto"),n6(this,"storage"),n6(this,"history"),n6(this,"expirer"),n6(this,"pairing"),n6(this,"verify"),n6(this,"echoClient"),n6(this,"linkModeSupportedApps"),n6(this,"eventClient"),n6(this,"initialized",!1),n6(this,"logChunkController"),n6(this,"on",(e,t)=>this.events.on(e,t)),n6(this,"once",(e,t)=>this.events.once(e,t)),n6(this,"off",(e,t)=>this.events.off(e,t)),n6(this,"removeListener",(e,t)=>this.events.removeListener(e,t)),n6(this,"dispatchEnvelope",({topic:e,message:t,sessionExists:i})=>{if(!e||!t)return;let a={topic:e,message:t,publishedAt:Date.now(),transportType:rv.link_mode};this.relayer.onLinkMessageEvent(a,{sessionExists:i})});let i=this.getGlobalCore(e?.customStoragePrefix);if(i)try{return this.customStoragePrefix=i.customStoragePrefix,this.logger=i.logger,this.heartbeat=i.heartbeat,this.crypto=i.crypto,this.history=i.history,this.expirer=i.expirer,this.storage=i.storage,this.relayer=i.relayer,this.pairing=i.pairing,this.verify=i.verify,this.echoClient=i.echoClient,this.linkModeSupportedApps=i.linkModeSupportedApps,this.eventClient=i.eventClient,this.initialized=i.initialized,this.logChunkController=i.logChunkController,i}catch(e){console.warn("Failed to copy global core",e)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||ru,this.customStoragePrefix=null!=e&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";let r=(0,aM.jI)({level:"string"==typeof e?.logger&&e.logger?e.logger:ro.logger,name:rn}),{logger:s,chunkLoggerController:p}=(0,aM.Rt)({opts:r,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=p,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,aM.Ep)(s,this.name),this.heartbeat=new a$.C$,this.crypto=new sO(this,this.logger,e?.keychain),this.history=new nT(this,this.logger),this.expirer=new nk(this,this.logger),this.storage=null!=e&&e.storage?e.storage:new aq.Z(n2(n2({},rd),e?.storageOptions)),this.relayer=new no({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new nI(this,this.logger),this.verify=new nj(this,this.logger,this.storage),this.echoClient=new nM(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new nY(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(e){let t=new n4(e);await t.initialize();let i=await t.crypto.getClientId();return await t.storage.setItem("WALLETCONNECT_CLIENT_ID",i),t}get context(){return(0,aM.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(rw,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(rw)||[],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}`,i=`${t}_count`;return globalThis[i]=(globalThis[i]||0)+1,globalThis[i]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[i]} times.`),globalThis[t]}catch(e){console.warn("Failed to get global WalletConnect core",e);return}}setGlobalCore(e){var t;try{if(this.isGlobalCoreDisabled())return;let i=`_walletConnectCore_${(null==(t=e.opts)?void 0:t.customStoragePrefix)||""}`;globalThis[i]=e}catch(e){console.warn("Failed to set global WalletConnect core",e)}}isGlobalCoreDisabled(){try{return"u">typeof process&&"true"===process.env.DISABLE_GLOBAL_CORE}catch{return!0}}}let n3="client",n8=`wc@2:${n3}:`,n9={name:n3,logger:"error"},n5="WALLETCONNECT_DEEPLINK_CHOICE",n7="Proposal expired",pe=p.SEVEN_DAYS,pt={wc_sessionPropose:{req:{ttl:p.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:p.ONE_DAY,prompt:!1,tag:1104},res:{ttl:p.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:p.ONE_DAY,prompt:!1,tag:1106},res:{ttl:p.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:p.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:p.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:p.ONE_DAY,prompt:!1,tag:1112},res:{ttl:p.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:p.ONE_DAY,prompt:!1,tag:1114},res:{ttl:p.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:p.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:p.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:p.FIVE_MINUTES,prompt:!1,tag:1119}}},pi={min:p.FIVE_MINUTES,max:p.SEVEN_DAYS},pa={idle:"IDLE",active:"ACTIVE"},pr={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"}},ps=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],pn="wc@1.5:auth:",pp=`${pn}:PUB_KEY`;var po=Object.defineProperty,pd=Object.defineProperties,pl=Object.getOwnPropertyDescriptors,pc=Object.getOwnPropertySymbols,ph=Object.prototype.hasOwnProperty,pu=Object.prototype.propertyIsEnumerable,pm=(e,t,i)=>t in e?po(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,pf=(e,t)=>{for(var i in t||(t={}))ph.call(t,i)&&pm(e,i,t[i]);if(pc)for(var i of pc(t))pu.call(t,i)&&pm(e,i,t[i]);return e},pg=(e,t)=>pd(e,pl(t)),pv=(e,t,i)=>pm(e,"symbol"!=typeof t?t+"":t,i);class py extends rt{constructor(e){super(e),pv(this,"name","engine"),pv(this,"events",new(r())),pv(this,"initialized",!1),pv(this,"requestQueue",{state:pa.idle,queue:[]}),pv(this,"sessionRequestQueue",{state:pa.idle,queue:[]}),pv(this,"requestQueueDelay",p.ONE_SECOND),pv(this,"expectedPairingMethodMap",new Map),pv(this,"recentlyDeletedMap",new Map),pv(this,"recentlyDeletedLimit",200),pv(this,"relayMessageCache",[]),pv(this,"pendingSessions",new Map),pv(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(pt)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},(0,p.toMiliseconds)(this.requestQueueDelay)))}),pv(this,"connect",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();let t=pg(pf({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t),t.optionalNamespaces=function(e,t){var i,a,r,s,p,o;let d=ag(e),l=ag(t),c={};for(let e of Object.keys(d).concat(Object.keys(l)))c[e]={chains:H(null==(i=d[e])?void 0:i.chains,null==(a=l[e])?void 0:a.chains),methods:H(null==(r=d[e])?void 0:r.methods,null==(s=l[e])?void 0:s.methods),events:H(null==(p=d[e])?void 0:p.events,null==(o=l[e])?void 0:o.events)};return c}(t.requiredNamespaces,t.optionalNamespaces),t.requiredNamespaces={};let{pairingTopic:i,requiredNamespaces:a,optionalNamespaces:r,sessionProperties:s,scopedProperties:o,relays:d}=t,l=i,c,h=!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."),h=e.active}}catch(e){throw this.client.logger.error(`connect() -> pairing.get(${l}) failed`),e}if(!l||!h){let{topic:e,uri:t}=await this.client.core.pairing.create();l=e,c=t}if(!l){let{message:e}=ab("NO_MATCHING_KEY",`connect() pairing topic: ${l}`);throw Error(e)}let u=await this.client.core.crypto.generateKeyPair(),m=pt.wc_sessionPropose.req.ttl||p.FIVE_MINUTES,f=M(m),g=pg(pf(pf({requiredNamespaces:a,optionalNamespaces:r,relays:d??[{protocol:"irn"}],proposer:{publicKey:u,metadata:this.client.metadata},expiryTimestamp:f,pairingTopic:l},s&&{sessionProperties:s}),o&&{scopedProperties:o}),{id:(0,rr.payloadId)()}),v=z("session_connect",g.id),{reject:y,resolve:w,done:b}=j(m,n7),_=({id:e})=>{e===g.id&&(this.client.events.off("proposal_expire",_),this.pendingSessions.delete(g.id),this.events.emit(v,{error:{message:n7,code:0}}))};return this.client.events.on("proposal_expire",_),this.events.once(v,({error:e,session:t})=>{this.client.events.off("proposal_expire",_),e?y(e):t&&w(t)}),await this.sendRequest({topic:l,method:"wc_sessionPropose",params:g,throwOnFailedPublish:!0,clientRpcId:g.id}),await this.setProposal(g.id,g),{uri:c,approval:b}}),pv(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}}),pv(this,"approve",async e=>{var t,i,a;let r=this.client.core.eventClient.createEvent({properties:{topic:null==(t=e?.id)?void 0:t.toString(),trace:[rT.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(e){throw r.setError(rA.no_internet_connection),e}try{await this.isValidProposalId(e?.id)}catch(t){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),r.setError(rA.proposal_not_found),t}try{await this.isValidApprove(e)}catch(e){throw this.client.logger.error("approve() -> isValidApprove() failed"),r.setError(rA.session_approve_namespace_validation_failure),e}let{id:s,relayProtocol:p,namespaces:o,sessionProperties:d,scopedProperties:l,sessionConfig:c}=e,h=this.client.proposal.get(s);this.client.core.eventClient.deleteEvent({eventId:r.eventId});let{pairingTopic:u,proposer:m,requiredNamespaces:f,optionalNamespaces:g}=h,v=null==(i=this.client.core.eventClient)?void 0:i.getEvent({topic:u});v||(v=null==(a=this.client.core.eventClient)?void 0:a.createEvent({type:rT.session_approve_started,properties:{topic:u,trace:[rT.session_approve_started,rT.session_namespaces_validation_success]}}));let y=await this.client.core.crypto.generateKeyPair(),w=m.publicKey,b=await this.client.core.crypto.generateSharedKey(y,w),_=pf(pf(pf({relay:{protocol:p??"irn"},namespaces:o,controller:{publicKey:y,metadata:this.client.metadata},expiry:M(pe)},d&&{sessionProperties:d}),l&&{scopedProperties:l}),c&&{sessionConfig:c}),E=rv.relay;v.addTrace(rT.subscribing_session_topic);try{await this.client.core.relayer.subscribe(b,{transportType:E})}catch(e){throw v.setError(rA.subscribe_session_topic_failure),e}v.addTrace(rT.subscribe_session_topic_success);let S=pg(pf({},_),{topic:b,requiredNamespaces:f,optionalNamespaces:g,pairingTopic:u,acknowledged:!1,self:_.controller,peer:{publicKey:m.publicKey,metadata:m.metadata},controller:y,transportType:rv.relay});await this.client.session.set(b,S),v.addTrace(rT.store_session);try{v.addTrace(rT.publishing_session_settle),await this.sendRequest({topic:b,method:"wc_sessionSettle",params:_,throwOnFailedPublish:!0}).catch(e=>{throw v?.setError(rA.session_settle_publish_failure),e}),v.addTrace(rT.session_settle_publish_success),v.addTrace(rT.publishing_session_approve),await this.sendResult({id:s,topic:u,result:{relay:{protocol:p??"irn"},responderPublicKey:y},throwOnFailedPublish:!0}).catch(e=>{throw v?.setError(rA.session_approve_publish_failure),e}),v.addTrace(rT.session_approve_publish_success)}catch(e){throw this.client.logger.error(e),this.client.session.delete(b,a_("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(b),e}return this.client.core.eventClient.deleteEvent({eventId:v.eventId}),await this.client.core.pairing.updateMetadata({topic:u,metadata:m.metadata}),await this.client.proposal.delete(s,a_("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:u}),await this.setExpiry(b,M(pe)),{topic:b,acknowledged:()=>Promise.resolve(this.client.session.get(b))}}),pv(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:i,reason:a}=e;try{t=this.client.proposal.get(i).pairingTopic}catch(e){throw this.client.logger.error(`reject() -> proposal.get(${i}) failed`),e}t&&(await this.sendError({id:i,topic:t,error:a,rpcOpts:pt.wc_sessionPropose.reject}),await this.client.proposal.delete(i,a_("USER_DISCONNECTED")))}),pv(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:i}=e,{done:a,resolve:r,reject:s}=j(),p=(0,rr.payloadId)(),o=(0,rr.getBigIntRpcId)().toString(),d=this.client.session.get(t).namespaces;return this.events.once(z("session_update",p),({error:e})=>{e?s(e):r()}),await this.client.session.update(t,{namespaces:i}),await this.sendRequest({topic:t,method:"wc_sessionUpdate",params:{namespaces:i},throwOnFailedPublish:!0,clientRpcId:p,relayRpcId:o}).catch(e=>{this.client.logger.error(e),this.client.session.update(t,{namespaces:d}),s(e)}),{acknowledged:a}}),pv(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,i=(0,rr.payloadId)(),{done:a,resolve:r,reject:s}=j();return this.events.once(z("session_extend",i),({error:e})=>{e?s(e):r()}),await this.setExpiry(t,M(pe)),this.sendRequest({topic:t,method:"wc_sessionExtend",params:{},clientRpcId:i,throwOnFailedPublish:!0}).catch(e=>{s(e)}),{acknowledged:a}}),pv(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:i,topic:a,expiry:r=pt.wc_sessionRequest.req.ttl}=e,s=this.client.session.get(a);s?.transportType===rv.relay&&await this.confirmOnlineStateOrThrow();let p=(0,rr.payloadId)(),o=(0,rr.getBigIntRpcId)().toString(),{done:d,resolve:l,reject:c}=j(r,"Request expired. Please try again.");this.events.once(z("session_request",p),({error:e,result:t})=>{e?c(e):l(t)});let h="wc_sessionRequest",u=this.getAppLinkIfEnabled(s.peer.metadata,s.transportType);if(u)return await this.sendRequest({clientRpcId:p,relayRpcId:o,topic:a,method:h,params:{request:pg(pf({},i),{expiryTimestamp:M(r)}),chainId:t},expiry:r,throwOnFailedPublish:!0,appLink:u}).catch(e=>c(e)),this.client.events.emit("session_request_sent",{topic:a,request:i,chainId:t,id:p}),await d();let m={request:pg(pf({},i),{expiryTimestamp:M(r)}),chainId:t},f=this.shouldSetTVF(h,m);return await Promise.all([new Promise(async e=>{await this.sendRequest(pf({clientRpcId:p,relayRpcId:o,topic:a,method:h,params:m,expiry:r,throwOnFailedPublish:!0},f&&{tvf:this.getTVFParams(p,m)})).catch(e=>c(e)),this.client.events.emit("session_request_sent",{topic:a,request:i,chainId:t,id:p}),e()}),new Promise(async e=>{var t;if(!(null!=(t=s.sessionConfig)&&t.disableDeepLink)){let e=await W(this.client.core.storage,n5);await K({id:p,topic:a,wcDeepLink:e})}e()}),d()]).then(e=>e[2])}),pv(this,"respond",async e=>{this.isInitialized(),await this.isValidRespond(e);let{topic:t,response:i}=e,{id:a}=i,r=this.client.session.get(t);r.transportType===rv.relay&&await this.confirmOnlineStateOrThrow();let s=this.getAppLinkIfEnabled(r.peer.metadata,r.transportType);(0,rr.isJsonRpcResult)(i)?await this.sendResult({id:a,topic:t,result:i.result,throwOnFailedPublish:!0,appLink:s}):(0,rr.isJsonRpcError)(i)&&await this.sendError({id:a,topic:t,error:i.error,appLink:s}),this.cleanupAfterResponse(e)}),pv(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,rr.payloadId)(),i=(0,rr.getBigIntRpcId)().toString(),{done:a,resolve:r,reject:s}=j();this.events.once(z("session_ping",e),({error:e})=>{e?s(e):r()}),await Promise.all([this.sendRequest({topic:t,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:e,relayRpcId:i}),a()])}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}))}),pv(this,"emit",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);let{topic:t,event:i,chainId:a}=e,r=(0,rr.getBigIntRpcId)().toString(),s=(0,rr.payloadId)();await this.sendRequest({topic:t,method:"wc_sessionEvent",params:{event:i,chainId:a},throwOnFailedPublish:!0,relayRpcId:r,clientRpcId:s})}),pv(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:a_("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}=ab("MISMATCHED_TOPIC",`Session or pairing topic not found: ${t}`);throw Error(e)}}),pv(this,"find",e=>(this.isInitialized(),this.client.session.getAll().filter(t=>(function(e,t){let{requiredNamespaces:i}=t,a=Object.keys(e.namespaces),r=Object.keys(i),s=!0;return!!V(r,a)&&(a.forEach(t=>{let{accounts:a,methods:r,events:p}=e.namespaces[t],o=au(a),d=i[t];V(v(t,d),o)&&V(d.methods,r)&&V(d.events,p)||(s=!1)}),s)})(t,e)))),pv(this,"getPendingSessionRequests",()=>this.client.pendingRequest.getAll()),pv(this,"authenticate",async(e,t)=>{var i,a,r;let s;this.isInitialized(),this.isValidAuthenticate(e);let p=t&&this.client.core.linkModeSupportedApps.includes(t)&&(null==(i=this.client.metadata.redirect)?void 0:i.linkMode),o=p?rv.link_mode:rv.relay;o===rv.relay&&await this.confirmOnlineStateOrThrow();let{chains:d,statement:l="",uri:c,domain:h,nonce:u,type:m,exp:g,nbf:v,methods:y=[],expiry:w}=e,b=[...e.resources||[]],{topic:_,uri:E}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:o});this.client.logger.info({message:"Generated new pairing",pairing:{topic:_,uri:E}});let S=await this.client.core.crypto.generateKeyPair(),D=iX(S);if(await Promise.all([this.client.auth.authKeys.set(pp,{responseTopic:D,publicKey:S}),this.client.auth.pairingTopics.set(D,{topic:D,pairingTopic:_})]),await this.client.core.relayer.subscribe(D,{transportType:o}),this.client.logger.info(`sending request to new pairing topic: ${_}`),y.length>0){let{namespace:e}=f(d[0]),t=eX(function(e,t,i,a={}){return i?.sort((e,t)=>e.localeCompare(t)),{att:{[e]:function(e,t,i={}){return Object.assign({},...(t=t?.sort((e,t)=>e.localeCompare(t))).map(t=>({[`${e}/${t}`]:[i]})))}(t,i,a)}}}(e,"request",y));e6(b)&&(a=t,r=b.pop(),t=eX(function(e,t){eQ(e),eQ(t);let i=Object.keys(e.att).concat(Object.keys(t.att)).sort((e,t)=>e.localeCompare(t)),a={att:{}};return i.forEach(i=>{var r,s;Object.keys((null==(r=e.att)?void 0:r[i])||{}).concat(Object.keys((null==(s=t.att)?void 0:s[i])||{})).sort((e,t)=>e.localeCompare(t)).forEach(r=>{var s,p;a.att[i]=eH(ez({},a.att[i]),{[r]:(null==(s=e.att[i])?void 0:s[r])||(null==(p=t.att[i])?void 0:p[r])})})}),a}(e1(a),e1(r)))),b.push(t)}let N=w&&w>pt.wc_sessionAuthenticate.req.ttl?w:pt.wc_sessionAuthenticate.req.ttl,I={authPayload:{type:m??"caip122",chains:d,statement:l,aud:c,domain:h,version:"1",nonce:u,iat:new Date().toISOString(),exp:g,nbf:v,resources:b},requester:{publicKey:S,metadata:this.client.metadata},expiryTimestamp:M(N)},O={requiredNamespaces:{},optionalNamespaces:{eip155:{chains:d,methods:[...new Set(["personal_sign",...y])],events:["chainChanged","accountsChanged"]}},relays:[{protocol:"irn"}],pairingTopic:_,proposer:{publicKey:S,metadata:this.client.metadata},expiryTimestamp:M(pt.wc_sessionPropose.req.ttl),id:(0,rr.payloadId)()},{done:x,resolve:P,reject:T}=j(N,"Request expired"),A=(0,rr.payloadId)(),C=z("session_connect",O.id),R=z("session_request",A),k=async({error:e,session:t})=>{this.events.off(R,V),e?T(e):t&&P({session:t})},V=async e=>{var i,a,r;let s;if(await this.deletePendingAuthRequest(A,{message:"fulfilled",code:0}),e.error){let t=a_("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return e.error.code===t.code?void 0:(this.events.off(C,k),T(e.error.message))}await this.deleteProposal(O.id),this.events.off(C,k);let{cacaos:p,responder:d}=e.result,l=[],c=[];for(let e of p){await eY({cacao:e,projectId:this.client.core.projectId})||(this.client.logger.error(e,"Signature verification failed"),T(a_("SESSION_SETTLEMENT_FAILED","Signature verification failed")));let{p:t}=e,i=e6(t.resources),a=[eJ(t.iss)],r=eG(t.iss);if(i){let e=e0(i),t=e2(i);l.push(...e),a.push(...t)}for(let e of a)c.push(`${e}:${r}`)}let h=await this.client.core.crypto.generateSharedKey(S,d.publicKey);l.length>0&&(s={topic:h,acknowledged:!0,self:{publicKey:S,metadata:this.client.metadata},peer:d,controller:d.publicKey,expiry:M(pe),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:_,namespaces:av([...new Set(l)],[...new Set(c)]),transportType:o},await this.client.core.relayer.subscribe(h,{transportType:o}),await this.client.session.set(h,s),_&&await this.client.core.pairing.updateMetadata({topic:_,metadata:d.metadata}),s=this.client.session.get(h)),null!=(i=this.client.metadata.redirect)&&i.linkMode&&null!=(a=d.metadata.redirect)&&a.linkMode&&null!=(r=d.metadata.redirect)&&r.universal&&t&&(this.client.core.addLinkModeSupportedApp(d.metadata.redirect.universal),this.client.session.update(h,{transportType:rv.link_mode})),P({auths:p,session:s})};this.events.once(C,k),this.events.once(R,V);try{if(p){let e=(0,rr.formatJsonRpcRequest)("wc_sessionAuthenticate",I,A);this.client.core.history.set(_,e);let i=await this.client.core.crypto.encode("",e,{type:2,encoding:iY});s=aa(t,_,i)}else await Promise.all([this.sendRequest({topic:_,method:"wc_sessionAuthenticate",params:I,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:A}),this.sendRequest({topic:_,method:"wc_sessionPropose",params:O,expiry:pt.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:O.id})])}catch(e){throw this.events.off(C,k),this.events.off(R,V),e}return await this.setProposal(O.id,O),await this.setAuthRequest(A,{request:pg(pf({},I),{verifyContext:{}}),pairingTopic:_,transportType:o}),{uri:s??E,response:x}}),pv(this,"approveSessionAuthenticate",async e=>{let t;let{id:i,auths:a}=e,r=this.client.core.eventClient.createEvent({properties:{topic:i.toString(),trace:[rC.authenticated_session_approve_started]}});try{this.isInitialized()}catch(e){throw r.setError(rR.no_internet_connection),e}let s=this.getPendingAuthRequest(i);if(!s)throw r.setError(rR.authenticated_session_pending_request_not_found),Error(`Could not find pending auth request with id ${i}`);let p=s.transportType||rv.relay;p===rv.relay&&await this.confirmOnlineStateOrThrow();let o=s.requester.publicKey,d=await this.client.core.crypto.generateKeyPair(),l=iX(o),c={type:1,receiverPublicKey:o,senderPublicKey:d},h=[],u=[];for(let e of a){if(!await eY({cacao:e,projectId:this.client.core.projectId})){r.setError(rR.invalid_cacao);let e=a_("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:i,topic:l,error:e,encodeOpts:c}),Error(e.message)}r.addTrace(rC.cacaos_verified);let{p:t}=e,a=e6(t.resources),s=[eJ(t.iss)],p=eG(t.iss);if(a){let e=e0(a),t=e2(a);h.push(...e),s.push(...t)}for(let e of s)u.push(`${e}:${p}`)}let m=await this.client.core.crypto.generateSharedKey(d,o);if(r.addTrace(rC.create_authenticated_session_topic),h?.length>0){t={topic:m,acknowledged:!0,self:{publicKey:d,metadata:this.client.metadata},peer:{publicKey:o,metadata:s.requester.metadata},controller:o,expiry:M(pe),authentication:a,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:s.pairingTopic,namespaces:av([...new Set(h)],[...new Set(u)]),transportType:p},r.addTrace(rC.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(m,{transportType:p})}catch(e){throw r.setError(rR.subscribe_authenticated_session_topic_failure),e}r.addTrace(rC.subscribe_authenticated_session_topic_success),await this.client.session.set(m,t),r.addTrace(rC.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:s.pairingTopic,metadata:s.requester.metadata})}r.addTrace(rC.publishing_authenticated_session_approve);try{await this.sendResult({topic:l,id:i,result:{cacaos:a,responder:{publicKey:d,metadata:this.client.metadata}},encodeOpts:c,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(s.requester.metadata,p)})}catch(e){throw r.setError(rR.authenticated_session_approve_publish_failure),e}return await this.client.auth.requests.delete(i,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:s.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:r.eventId}),{session:t}}),pv(this,"rejectSessionAuthenticate",async e=>{this.isInitialized();let{id:t,reason:i}=e,a=this.getPendingAuthRequest(t);if(!a)throw Error(`Could not find pending auth request with id ${t}`);a.transportType===rv.relay&&await this.confirmOnlineStateOrThrow();let r=a.requester.publicKey,s=await this.client.core.crypto.generateKeyPair(),p=iX(r);await this.sendError({id:t,topic:p,error:i,encodeOpts:{type:1,receiverPublicKey:r,senderPublicKey:s},rpcOpts:pt.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(a.requester.metadata,a.transportType)}),await this.client.auth.requests.delete(t,{message:"rejected",code:0}),await this.client.proposal.delete(t,a_("USER_DISCONNECTED"))}),pv(this,"formatAuthMessage",e=>{this.isInitialized();let{request:t,iss:i}=e;return eZ(t,i)}),pv(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)}),pv(this,"cleanupDuplicatePairings",async e=>{if(e.pairingTopic)try{let t=this.client.core.pairing.pairings.get(e.pairingTopic),i=this.client.core.pairing.pairings.getAll().filter(i=>{var a,r;return(null==(a=i.peerMetadata)?void 0:a.url)&&(null==(r=i.peerMetadata)?void 0:r.url)===e.peer.metadata.url&&i.topic&&i.topic!==t.topic});if(0===i.length)return;this.client.logger.info(`Cleaning up ${i.length} duplicate pairing(s)`),await Promise.all(i.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)}}),pv(this,"deleteSession",async e=>{var t;let{topic:i,expirerHasDeleted:a=!1,emitEvent:r=!0,id:s=0}=e,{self:p}=this.client.session.get(i);await this.client.core.relayer.unsubscribe(i),await this.client.session.delete(i,a_("USER_DISCONNECTED")),this.addToRecentlyDeleted(i,"session"),this.client.core.crypto.keychain.has(p.publicKey)&&await this.client.core.crypto.deleteKeyPair(p.publicKey),this.client.core.crypto.keychain.has(i)&&await this.client.core.crypto.deleteSymKey(i),a||this.client.core.expirer.del(i),this.client.core.storage.removeItem(n5).catch(e=>this.client.logger.warn(e)),this.getPendingSessionRequests().forEach(e=>{e.topic===i&&this.deletePendingSessionRequest(e.id,a_("USER_DISCONNECTED"))}),i===(null==(t=this.sessionRequestQueue.queue[0])?void 0:t.topic)&&(this.sessionRequestQueue.state=pa.idle),r&&this.client.events.emit("session_delete",{id:s,topic:i})}),pv(this,"deleteProposal",async(e,t)=>{if(t)try{let t=this.client.proposal.get(e),i=this.client.core.eventClient.getEvent({topic:t.pairingTopic});i?.setError(rA.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,a_("USER_DISCONNECTED")),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"proposal")}),pv(this,"deletePendingSessionRequest",async(e,t,i=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),i?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(t=>t.id!==e),i&&(this.sessionRequestQueue.state=pa.idle,this.client.events.emit("session_request_expire",{id:e}))}),pv(this,"deletePendingAuthRequest",async(e,t,i=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),i?Promise.resolve():this.client.core.expirer.del(e)])}),pv(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}))}),pv(this,"setProposal",async(e,t)=>{this.client.core.expirer.set(e,M(pt.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),pv(this,"setAuthRequest",async(e,t)=>{let{request:i,pairingTopic:a,transportType:r=rv.relay}=t;this.client.core.expirer.set(e,i.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:i.authPayload,requester:i.requester,expiryTimestamp:i.expiryTimestamp,id:e,pairingTopic:a,verifyContext:i.verifyContext,transportType:r})}),pv(this,"setPendingSessionRequest",async e=>{let{id:t,topic:i,params:a,verifyContext:r}=e,s=a.request.expiryTimestamp||M(pt.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,s),await this.client.pendingRequest.set(t,{id:t,topic:i,params:a,verifyContext:r})}),pv(this,"sendRequest",async e=>{let t,i;let{topic:a,method:r,params:s,expiry:p,relayRpcId:o,clientRpcId:d,throwOnFailedPublish:l,appLink:c,tvf:h}=e,u=(0,rr.formatJsonRpcRequest)(r,s,d),m=!!c;try{let e=m?iY:iG;t=await this.client.core.crypto.encode(a,u,{encoding:e})}catch(e){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${a} failed`),e}if(ps.includes(r)){let e=i1(JSON.stringify(u)),a=i1(t);i=await this.client.core.verify.register({id:a,decryptedId:e})}let f=pt[r].req;if(f.attestation=i,p&&(f.ttl=p),o&&(f.id=o),this.client.core.history.set(a,u),m){let e=aa(c,a,t);await global.Linking.openURL(e,this.client.name)}else{let e=pt[r].req;p&&(e.ttl=p),o&&(e.id=o),e.tvf=pg(pf({},h),{correlationId:u.id}),l?(e.internal=pg(pf({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(a,t,e)):this.client.core.relayer.publish(a,t,e).catch(e=>this.client.logger.error(e))}return u.id}),pv(this,"sendResult",async e=>{let t,i,a;let{id:r,topic:s,result:p,throwOnFailedPublish:o,encodeOpts:d,appLink:l}=e,c=(0,rr.formatJsonRpcResult)(r,p),h=l&&"u">typeof(null==global?void 0:global.Linking);try{let e=h?iY:iG;t=await this.client.core.crypto.encode(s,c,pg(pf({},d||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${s} failed`),e}try{let e=(i=await this.client.core.history.get(s,r)).request;try{this.shouldSetTVF(e.method,e.params)&&(a=this.getTVFParams(r,e.params,p))}catch(e){this.client.logger.warn("sendResult() -> getTVFParams() failed",e)}}catch(e){throw this.client.logger.error(`sendResult() -> history.get(${s}, ${r}) failed`),e}if(h){let e=aa(l,s,t);await global.Linking.openURL(e,this.client.name)}else{let e=pt[i.request.method].res;e.tvf=pg(pf({},a),{correlationId:r}),o?(e.internal=pg(pf({},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))}await this.client.core.history.resolve(c)}),pv(this,"sendError",async e=>{let t,i;let{id:a,topic:r,error:s,encodeOpts:p,rpcOpts:o,appLink:d}=e,l=(0,rr.formatJsonRpcError)(a,s),c=d&&"u">typeof(null==global?void 0:global.Linking);try{let e=c?iY:iG;t=await this.client.core.crypto.encode(r,l,pg(pf({},p||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${r} failed`),e}try{i=await this.client.core.history.get(r,a)}catch(e){throw this.client.logger.error(`sendError() -> history.get(${r}, ${a}) failed`),e}if(c){let e=aa(d,r,t);await global.Linking.openURL(e,this.client.name)}else{let e=i.request.method,a=o||pt[e].res;this.client.core.relayer.publish(r,t,a)}await this.client.core.history.resolve(l)}),pv(this,"cleanup",async()=>{let e=[],t=[];this.client.session.getAll().forEach(t=>{let i=!1;F(t.expiry)&&(i=!0),this.client.core.crypto.keychain.has(t.topic)||(i=!0),i&&e.push(t.topic)}),this.client.proposal.getAll().forEach(e=>{F(e.expiryTimestamp)&&t.push(e.id)}),await Promise.all([...e.map(e=>this.deleteSession({topic:e})),...t.map(e=>this.deleteProposal(e))])}),pv(this,"onProviderMessageEvent",async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),pv(this,"onRelayEventRequest",async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),pv(this,"processRequestsQueue",async()=>{if(this.requestQueue.state===pa.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=pa.active;let e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=pa.idle}),pv(this,"processRequest",async e=>{let{topic:t,payload:i,attestation:a,transportType:r,encryptedId:s}=e,p=i.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:p}))switch(p){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:t,payload:i,attestation:a,encryptedId:s});case"wc_sessionSettle":return await this.onSessionSettleRequest(t,i);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(t,i);case"wc_sessionExtend":return await this.onSessionExtendRequest(t,i);case"wc_sessionPing":return await this.onSessionPingRequest(t,i);case"wc_sessionDelete":return await this.onSessionDeleteRequest(t,i);case"wc_sessionRequest":return await this.onSessionRequest({topic:t,payload:i,attestation:a,encryptedId:s,transportType:r});case"wc_sessionEvent":return await this.onSessionEventRequest(t,i);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:t,payload:i,attestation:a,encryptedId:s,transportType:r});default:return this.client.logger.info(`Unsupported request method ${p}`)}}),pv(this,"onRelayEventResponse",async e=>{let{topic:t,payload:i,transportType:a}=e,r=(await this.client.core.history.get(t,i.id)).request.method;switch(r){case"wc_sessionPropose":return this.onSessionProposeResponse(t,i,a);case"wc_sessionSettle":return this.onSessionSettleResponse(t,i);case"wc_sessionUpdate":return this.onSessionUpdateResponse(t,i);case"wc_sessionExtend":return this.onSessionExtendResponse(t,i);case"wc_sessionPing":return this.onSessionPingResponse(t,i);case"wc_sessionRequest":return this.onSessionRequestResponse(t,i);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(t,i);default:return this.client.logger.info(`Unsupported response method ${r}`)}}),pv(this,"onRelayEventUnknownPayload",e=>{let{topic:t}=e,{message:i}=ab("MISSING_OR_INVALID",`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw Error(i)}),pv(this,"shouldIgnorePairingRequest",e=>{let{topic:t,requestMethod:i}=e,a=this.expectedPairingMethodMap.get(t);return!(!a||a.includes(i))&&!!(a.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)}),pv(this,"onSessionProposeRequest",async e=>{let{topic:t,payload:i,attestation:a,encryptedId:r}=e,{params:s,id:p}=i;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(rP.proposal_listener_not_found)),this.isValidConnect(pf({},i.params));let o=s.expiryTimestamp||M(pt.wc_sessionPropose.req.ttl),d=pf({id:p,pairingTopic:t,expiryTimestamp:o},s);await this.setProposal(p,d);let l=await this.getVerifyContext({attestationId:a,hash:i1(JSON.stringify(i)),encryptedId:r,metadata:d.proposer.metadata});e?.addTrace(rx.emit_session_proposal),this.client.events.emit("session_proposal",{id:p,params:d,verifyContext:l})}catch(e){await this.sendError({id:p,topic:t,error:e,rpcOpts:pt.wc_sessionPropose.autoReject}),this.client.logger.error(e)}}),pv(this,"onSessionProposeResponse",async(e,t,i)=>{let{id:a}=t;if((0,rr.isJsonRpcResult)(t)){let{result:r}=t;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:r});let s=this.client.proposal.get(a);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:s});let p=s.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:p});let o=r.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:o});let d=await this.client.core.crypto.generateSharedKey(p,o);this.pendingSessions.set(a,{sessionTopic:d,pairingTopic:e,proposalId:a,publicKey:p});let l=await this.client.core.relayer.subscribe(d,{transportType:i});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:l}),await this.client.core.pairing.activate({topic:e})}else if((0,rr.isJsonRpcError)(t)){await this.client.proposal.delete(a,a_("USER_DISCONNECTED"));let e=z("session_connect",a);if(0===this.events.listenerCount(e))throw Error(`emitting ${e} without any listeners, 954`);this.events.emit(e,{error:t.error})}}),pv(this,"onSessionSettleRequest",async(e,t)=>{let{id:i,params:a}=t;try{this.isValidSessionSettleRequest(a);let{relay:i,controller:r,expiry:s,namespaces:p,sessionProperties:o,scopedProperties:d,sessionConfig:l}=t.params,c=[...this.pendingSessions.values()].find(t=>t.sessionTopic===e);if(!c)return this.client.logger.error(`Pending session not found for topic ${e}`);let h=this.client.proposal.get(c.proposalId),u=pg(pf(pf(pf({topic:e,relay:i,expiry:s,namespaces:p,acknowledged:!0,pairingTopic:c.pairingTopic,requiredNamespaces:h.requiredNamespaces,optionalNamespaces:h.optionalNamespaces,controller:r.publicKey,self:{publicKey:c.publicKey,metadata:this.client.metadata},peer:{publicKey:r.publicKey,metadata:r.metadata}},o&&{sessionProperties:o}),d&&{scopedProperties:d}),l&&{sessionConfig:l}),{transportType:rv.relay});await this.client.session.set(u.topic,u),await this.setExpiry(u.topic,u.expiry),await this.client.core.pairing.updateMetadata({topic:c.pairingTopic,metadata:u.peer.metadata}),this.client.events.emit("session_connect",{session:u}),this.events.emit(z("session_connect",c.proposalId),{session:u}),this.pendingSessions.delete(c.proposalId),this.deleteProposal(c.proposalId,!1),this.cleanupDuplicatePairings(u),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),pv(this,"onSessionSettleResponse",async(e,t)=>{let{id:i}=t;(0,rr.isJsonRpcResult)(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(z("session_approve",i),{})):(0,rr.isJsonRpcError)(t)&&(await this.client.session.delete(e,a_("USER_DISCONNECTED")),this.events.emit(z("session_approve",i),{error:t.error}))}),pv(this,"onSessionUpdateRequest",async(e,t)=>{let{params:i,id:a}=t;try{let t=`${e}_session_update`,r=aU.get(t);if(r&&this.isRequestOutOfSync(r,a)){this.client.logger.warn(`Discarding out of sync request - ${a}`),this.sendError({id:a,topic:e,error:a_("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(pf({topic:e},i));try{aU.set(t,a),await this.client.session.update(e,{namespaces:i.namespaces}),await this.sendResult({id:a,topic:e,result:!0,throwOnFailedPublish:!0})}catch(e){throw aU.delete(t),e}this.client.events.emit("session_update",{id:a,topic:e,params:i})}catch(t){await this.sendError({id:a,topic:e,error:t}),this.client.logger.error(t)}}),pv(this,"isRequestOutOfSync",(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),pv(this,"onSessionUpdateResponse",(e,t)=>{let{id:i}=t,a=z("session_update",i);if(0===this.events.listenerCount(a))throw Error(`emitting ${a} without any listeners`);(0,rr.isJsonRpcResult)(t)?this.events.emit(z("session_update",i),{}):(0,rr.isJsonRpcError)(t)&&this.events.emit(z("session_update",i),{error:t.error})}),pv(this,"onSessionExtendRequest",async(e,t)=>{let{id:i}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,M(pe)),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:i,topic:e})}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),pv(this,"onSessionExtendResponse",(e,t)=>{let{id:i}=t,a=z("session_extend",i);if(0===this.events.listenerCount(a))throw Error(`emitting ${a} without any listeners`);(0,rr.isJsonRpcResult)(t)?this.events.emit(z("session_extend",i),{}):(0,rr.isJsonRpcError)(t)&&this.events.emit(z("session_extend",i),{error:t.error})}),pv(this,"onSessionPingRequest",async(e,t)=>{let{id:i}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:i,topic:e})}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),pv(this,"onSessionPingResponse",(e,t)=>{let{id:i}=t,a=z("session_ping",i);setTimeout(()=>{if(0===this.events.listenerCount(a))throw Error(`emitting ${a} without any listeners 2176`);(0,rr.isJsonRpcResult)(t)?this.events.emit(z("session_ping",i),{}):(0,rr.isJsonRpcError)(t)&&this.events.emit(z("session_ping",i),{error:t.error})},500)}),pv(this,"onSessionDeleteRequest",async(e,t)=>{let{id:i}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(t=>{this.client.core.relayer.once(rm.publish,async()=>{t(await this.deleteSession({topic:e,id:i}))})}),this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:a_("USER_DISCONNECTED")})]).catch(e=>this.client.logger.error(e))}catch(e){this.client.logger.error(e)}}),pv(this,"onSessionRequest",async e=>{var t,i,a;let{topic:r,payload:s,attestation:p,encryptedId:o,transportType:d}=e,{id:l,params:c}=s;try{await this.isValidRequest(pf({topic:r},c));let e=this.client.session.get(r),s=await this.getVerifyContext({attestationId:p,hash:i1(JSON.stringify((0,rr.formatJsonRpcRequest)("wc_sessionRequest",c,l))),encryptedId:o,metadata:e.peer.metadata,transportType:d}),h={id:l,topic:r,params:c,verifyContext:s};await this.setPendingSessionRequest(h),d===rv.link_mode&&null!=(t=e.peer.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(null==(i=e.peer.metadata.redirect)?void 0:i.universal),null!=(a=this.client.signConfig)&&a.disableRequestQueue?this.emitSessionRequest(h):(this.addSessionRequestToSessionRequestQueue(h),this.processSessionRequestQueue())}catch(e){await this.sendError({id:l,topic:r,error:e}),this.client.logger.error(e)}}),pv(this,"onSessionRequestResponse",(e,t)=>{let{id:i}=t,a=z("session_request",i);if(0===this.events.listenerCount(a))throw Error(`emitting ${a} without any listeners`);(0,rr.isJsonRpcResult)(t)?this.events.emit(z("session_request",i),{result:t.result}):(0,rr.isJsonRpcError)(t)&&this.events.emit(z("session_request",i),{error:t.error})}),pv(this,"onSessionEventRequest",async(e,t)=>{let{id:i,params:a}=t;try{let t=`${e}_session_event_${a.event.name}`,r=aU.get(t);if(r&&this.isRequestOutOfSync(r,i)){this.client.logger.info(`Discarding out of sync request - ${i}`);return}this.isValidEmit(pf({topic:e},a)),this.client.events.emit("session_event",{id:i,topic:e,params:a}),aU.set(t,i)}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),pv(this,"onSessionAuthenticateResponse",(e,t)=>{let{id:i}=t;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:e,payload:t}),(0,rr.isJsonRpcResult)(t)?this.events.emit(z("session_request",i),{result:t.result}):(0,rr.isJsonRpcError)(t)&&this.events.emit(z("session_request",i),{error:t.error})}),pv(this,"onSessionAuthenticateRequest",async e=>{var t;let{topic:i,payload:a,attestation:r,encryptedId:s,transportType:p}=e;try{let{requester:e,authPayload:o,expiryTimestamp:d}=a.params,l=await this.getVerifyContext({attestationId:r,hash:i1(JSON.stringify(a)),encryptedId:s,metadata:e.metadata,transportType:p}),c={requester:e,pairingTopic:i,id:a.id,authPayload:o,verifyContext:l,expiryTimestamp:d};await this.setAuthRequest(a.id,{request:c,pairingTopic:i,transportType:p}),p===rv.link_mode&&null!=(t=e.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(e.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:i,params:a.params,id:a.id,verifyContext:l})}catch(s){this.client.logger.error(s);let e=a.params.requester.publicKey,t=await this.client.core.crypto.generateKeyPair(),r=this.getAppLinkIfEnabled(a.params.requester.metadata,p);await this.sendError({id:a.id,topic:i,error:s,encodeOpts:{type:1,receiverPublicKey:e,senderPublicKey:t},rpcOpts:pt.wc_sessionAuthenticate.autoReject,appLink:r})}}),pv(this,"addSessionRequestToSessionRequestQueue",e=>{this.sessionRequestQueue.queue.push(e)}),pv(this,"cleanupAfterResponse",e=>{this.deletePendingSessionRequest(e.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=pa.idle,this.processSessionRequestQueue()},(0,p.toMiliseconds)(this.requestQueueDelay))}),pv(this,"cleanupPendingSentRequestsForTopic",({topic:e,error:t})=>{let i=this.client.core.history.pending;i.length>0&&i.filter(t=>t.topic===e&&"wc_sessionRequest"===t.request.method).forEach(e=>{let i=z("session_request",e.request.id);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);this.events.emit(z("session_request",e.request.id),{error:t})})}),pv(this,"processSessionRequestQueue",()=>{if(this.sessionRequestQueue.state===pa.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=pa.active,this.emitSessionRequest(e)}catch(e){this.client.logger.error(e)}}),pv(this,"emitSessionRequest",e=>{this.client.events.emit("session_request",e)}),pv(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,rr.formatJsonRpcRequest)("wc_sessionPropose",pg(pf({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id)})}),pv(this,"isValidConnect",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(e)}`);throw Error(t)}let{pairingTopic:t,requiredNamespaces:i,optionalNamespaces:a,sessionProperties:r,scopedProperties:s,relays:p}=e;if(aD(t)||await this.isValidPairingTopic(t),!function(e,t){let i=!1;return t&&!e?i=!0:e&&aE(e)&&e.length&&e.forEach(e=>{i=aA(e)}),i}(p,!0)){let{message:e}=ab("MISSING_OR_INVALID",`connect() relays: ${p}`);throw Error(e)}if(!aD(i)&&0!==aS(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(aD(a)||0===aS(a)||this.validateNamespaces(a,"optionalNamespaces"),aD(r)||this.validateSessionProps(r,"sessionProperties"),!aD(s)){this.validateSessionProps(s,"scopedProperties");let e=Object.keys(i||{}).concat(Object.keys(a||{}));if(!Object.keys(s).every(t=>e.includes(t)))throw Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(s)}, required/optional namespaces: ${JSON.stringify(e)}`)}}),pv(this,"validateNamespaces",(e,t)=>{let i=function(e,t,i){let a=null;if(e&&aS(e)){let r;let s=aP(e,t);s&&(a=s);let p=(r=null,Object.entries(e).forEach(([e,a])=>{var s,p;let o;if(r)return;let d=(s=v(e,a),p=`${t} ${i}`,o=null,aE(s)&&s.length?s.forEach(e=>{o||aO(e)||(o=a_("UNSUPPORTED_CHAINS",`${p}, chain ${e} should be a string and conform to "namespace:chainId" format`))}):aO(e)||(o=a_("UNSUPPORTED_CHAINS",`${p}, 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"] }`)),o);d&&(r=d)}),r);p&&(a=p)}else a=ab("MISSING_OR_INVALID",`${t}, ${i} should be an object with data`);return a}(e,"connect()",t);if(i)throw Error(i.message)}),pv(this,"isValidApprove",async e=>{if(!aC(e))throw Error(ab("MISSING_OR_INVALID",`approve() params: ${e}`).message);let{id:t,namespaces:i,relayProtocol:a,sessionProperties:r,scopedProperties:s}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);let p=this.client.proposal.get(t),o=aT(i,"approve()");if(o)throw Error(o.message);let d=ak(p.requiredNamespaces,i,"approve()");if(d)throw Error(d.message);if(!aN(a,!0)){let{message:e}=ab("MISSING_OR_INVALID",`approve() relayProtocol: ${a}`);throw Error(e)}if(aD(r)||this.validateSessionProps(r,"sessionProperties"),!aD(s)){this.validateSessionProps(s,"scopedProperties");let e=new Set(Object.keys(i));if(!Object.keys(s).every(t=>e.has(t)))throw Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(s)}, approved namespaces: ${Array.from(e).join(", ")}`)}}),pv(this,"isValidReject",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`reject() params: ${e}`);throw Error(t)}let{id:t,reason:i}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!function(e){return!(!e||"object"!=typeof e||!e.code||!aI(e.code,!1)||!e.message||!aN(e.message,!1))}(i)){let{message:e}=ab("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(i)}`);throw Error(e)}}),pv(this,"isValidSessionSettleRequest",e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${e}`);throw Error(t)}let{relay:t,controller:i,namespaces:a,expiry:r}=e;if(!aA(t)){let{message:e}=ab("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw Error(e)}let s=function(e,t){let i=null;return aN(e?.publicKey,!1)||(i=ab("MISSING_OR_INVALID",`${t} controller public key should be a string`)),i}(i,"onSessionSettleRequest()");if(s)throw Error(s.message);let p=aT(a,"onSessionSettleRequest()");if(p)throw Error(p.message);if(F(r)){let{message:e}=ab("EXPIRED","onSessionSettleRequest()");throw Error(e)}}),pv(this,"isValidUpdate",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`update() params: ${e}`);throw Error(t)}let{topic:t,namespaces:i}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let a=this.client.session.get(t),r=aT(i,"update()");if(r)throw Error(r.message);let s=ak(a.requiredNamespaces,i,"update()");if(s)throw Error(s.message)}),pv(this,"isValidExtend",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`extend() params: ${e}`);throw Error(t)}let{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),pv(this,"isValidRequest",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`request() params: ${e}`);throw Error(t)}let{topic:t,request:i,chainId:a,expiry:r}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let{namespaces:s}=this.client.session.get(t);if(!aR(s,a)){let{message:e}=ab("MISSING_OR_INVALID",`request() chainId: ${a}`);throw Error(e)}if(!function(e){return!(aD(e)||!aN(e.method,!1))}(i)){let{message:e}=ab("MISSING_OR_INVALID",`request() ${JSON.stringify(i)}`);throw Error(e)}if(!function(e,t,i){return!!aN(i,!1)&&(function(e,t){let i=[];return Object.values(e).forEach(e=>{au(e.accounts).includes(t)&&i.push(...e.methods)}),i})(e,t).includes(i)}(s,a,i.method)){let{message:e}=ab("MISSING_OR_INVALID",`request() method: ${i.method}`);throw Error(e)}if(r&&!function(e,t){return aI(e,!1)&&e<=t.max&&e>=t.min}(r,pi)){let{message:e}=ab("MISSING_OR_INVALID",`request() expiry: ${r}. Expiry must be a number (in seconds) between ${pi.min} and ${pi.max}`);throw Error(e)}}),pv(this,"isValidRespond",async e=>{var t;if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`respond() params: ${e}`);throw Error(t)}let{topic:i,response:a}=e;try{await this.isValidSessionTopic(i)}catch(i){throw null!=(t=e?.response)&&t.id&&this.cleanupAfterResponse(e),i}if(!function(e){return!(aD(e)||aD(e.result)&&aD(e.error)||!aI(e.id,!1)||!aN(e.jsonrpc,!1))}(a)){let{message:e}=ab("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(a)}`);throw Error(e)}}),pv(this,"isValidPing",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),pv(this,"isValidEmit",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`emit() params: ${e}`);throw Error(t)}let{topic:t,event:i,chainId:a}=e;await this.isValidSessionTopic(t);let{namespaces:r}=this.client.session.get(t);if(!aR(r,a)){let{message:e}=ab("MISSING_OR_INVALID",`emit() chainId: ${a}`);throw Error(e)}if(!function(e){return!(aD(e)||!aN(e.name,!1))}(i)){let{message:e}=ab("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw Error(e)}if(!function(e,t,i){return!!aN(i,!1)&&(function(e,t){let i=[];return Object.values(e).forEach(e=>{au(e.accounts).includes(t)&&i.push(...e.events)}),i})(e,t).includes(i)}(r,a,i.name)){let{message:e}=ab("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw Error(e)}}),pv(this,"isValidDisconnect",async e=>{if(!aC(e)){let{message:t}=ab("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),pv(this,"isValidAuthenticate",e=>{let{chains:t,uri:i,domain:a,nonce:r}=e;if(!Array.isArray(t)||0===t.length)throw Error("chains is required and must be a non-empty array");if(!aN(i,!1))throw Error("uri is required parameter");if(!aN(a,!1))throw Error("domain is required parameter");if(!aN(r,!1))throw Error("nonce is required parameter");if([...new Set(t.map(e=>f(e).namespace))].length>1)throw Error("Multi-namespace requests are not supported. Please request single namespace only.");let{namespace:s}=f(t[0]);if("eip155"!==s)throw Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}),pv(this,"getVerifyContext",async e=>{let{attestationId:t,hash:i,encryptedId:a,metadata:r,transportType:s}=e,p={verified:{verifyUrl:r.verifyUrl||rN,validation:"UNKNOWN",origin:r.url||""}};try{if(s===rv.link_mode){let e=this.getAppLinkIfEnabled(r,s);return p.verified.validation=e&&new URL(e).origin===new URL(r.url).origin?"VALID":"INVALID",p}let e=await this.client.core.verify.resolve({attestationId:t,hash:i,encryptedId:a,verifyUrl:r.verifyUrl});e&&(p.verified.origin=e.origin,p.verified.isScam=e.isScam,p.verified.validation=e.origin===new URL(r.url).origin?"VALID":"INVALID")}catch(e){this.client.logger.warn(e)}return this.client.logger.debug(`Verify context: ${JSON.stringify(p)}`),p}),pv(this,"validateSessionProps",(e,t)=>{Object.values(e).forEach((i,a)=>{if(null==i){let{message:r}=ab("MISSING_OR_INVALID",`${t} must contain an existing value for each key. Received: ${i} for key ${Object.keys(e)[a]}`);throw Error(r)}})}),pv(this,"getPendingAuthRequest",e=>{let t=this.client.auth.requests.get(e);return"object"==typeof t?t:void 0}),pv(this,"addToRecentlyDeleted",(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let e=0,t=this.recentlyDeletedLimit/2;for(let i of this.recentlyDeletedMap.keys()){if(e++>=t)break;this.recentlyDeletedMap.delete(i)}}}),pv(this,"checkRecentlyDeleted",e=>{let t=this.recentlyDeletedMap.get(e);if(t){let{message:i}=ab("MISSING_OR_INVALID",`Record was recently deleted - ${t}: ${e}`);throw Error(i)}}),pv(this,"isLinkModeEnabled",(e,t)=>{var i,a,r,s,p,o,d,l,c;return!!e&&t===rv.link_mode&&(null==(a=null==(i=this.client.metadata)?void 0:i.redirect)?void 0:a.linkMode)===!0&&(null==(s=null==(r=this.client.metadata)?void 0:r.redirect)?void 0:s.universal)!==void 0&&(null==(o=null==(p=this.client.metadata)?void 0:p.redirect)?void 0:o.universal)!==""&&(null==(d=e?.redirect)?void 0:d.universal)!==void 0&&(null==(l=e?.redirect)?void 0:l.universal)!==""&&(null==(c=e?.redirect)?void 0:c.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&"u">typeof(null==global?void 0:global.Linking)}),pv(this,"getAppLinkIfEnabled",(e,t)=>{var i;return this.isLinkModeEnabled(e,t)?null==(i=e?.redirect)?void 0:i.universal:void 0}),pv(this,"handleLinkModeMessage",({url:e})=>{if(!e||!e.includes("wc_ev")||!e.includes("topic"))return;let t=J(e,"topic")||"",i=decodeURIComponent(J(e,"wc_ev")||""),a=this.client.session.keys.includes(t);a&&this.client.session.update(t,{transportType:rv.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:i,sessionExists:a})}),pv(this,"registerLinkModeListeners",async()=>{var e;if(Y()||P()&&null!=(e=this.client.metadata.redirect)&&e.linkMode){let e=null==global?void 0:global.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)}}}),pv(this,"shouldSetTVF",(e,t)=>{if(!t||"wc_sessionRequest"!==e)return!1;let{request:i}=t;return Object.keys(pr).includes(i.method)}),pv(this,"getTVFParams",(e,t,i)=>{var a,r;try{let s=t.request.method,p=this.extractTxHashesFromResult(s,i);return pg(pf({correlationId:e,rpcMethods:[s],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[null==(r=null==(a=t.request.params)?void 0:a[0])?void 0:r.to]}),{txHashes:p})}catch(e){this.client.logger.warn("Error getting TVF params",e)}return{}}),pv(this,"isValidContractData",e=>{var t;if(!e)return!1;try{let i=e?.data||(null==(t=e?.[0])?void 0:t.data);if(!i.startsWith("0x"))return!1;let a=i.slice(2);return!!/^[0-9a-fA-F]*$/.test(a)&&a.length%2==0}catch{}return!1}),pv(this,"extractTxHashesFromResult",(e,t)=>{try{let i=pr[e];if("string"==typeof t)return[t];let a=t[i.key];if(aE(a))return"solana_signAllTransactions"===e?a.map(e=>(function(e){let t=atob(e),i=new Uint8Array(t.length);for(let e=0;e<t.length;e++)i[e]=t.charCodeAt(e);let a=i[0];if(0===a)throw Error("No signatures found");if(i.length<1+64*a)throw Error("Transaction data too short for claimed signature count");if(i.length<100)throw Error("Transaction too short");let r=Buffer.from(e,"base64").slice(1,65);return c.Z.encode(r)})(e)):a;if("string"==typeof a)return[a]}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,i]of Object.entries(t))for(let t of i)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}=ab("NOT_INITIALIZED",this.name);throw Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(rm.message,e=>{this.onProviderMessageEvent(e)})}async onRelayMessage(e){let{topic:t,message:i,attestation:a,transportType:r}=e,{publicKey:s}=this.client.auth.authKeys.keys.includes(pp)?this.client.auth.authKeys.get(pp):{responseTopic:void 0,publicKey:void 0};try{let e=await this.client.core.crypto.decode(t,i,{receiverPublicKey:s,encoding:r===rv.link_mode?iY:iG});(0,rr.isJsonRpcRequest)(e)?(this.client.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e,attestation:a,transportType:r,encryptedId:i1(i)})):(0,rr.isJsonRpcResponse)(e)?(await this.client.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e,transportType:r}),this.client.core.history.delete(t,e.id)):await this.onRelayEventUnknownPayload({topic:t,payload:e,transportType:r}),await this.client.core.relayer.messages.ack(t,i)}catch(e){this.client.logger.error(e)}}registerExpirerEvents(){this.client.core.expirer.on(rD.expired,async e=>{let{topic:t,id:i}=q(e.target);return i&&this.client.pendingRequest.keys.includes(i)?await this.deletePendingSessionRequest(i,ab("EXPIRED"),!0):i&&this.client.auth.requests.keys.includes(i)?await this.deletePendingAuthRequest(i,ab("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})):i&&(await this.deleteProposal(i,!0),this.client.events.emit("proposal_expire",{id:i})))})}registerPairingEvents(){this.client.core.pairing.events.on(rE.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(rE.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!aN(e,!1)){let{message:t}=ab("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}=ab("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw Error(t)}if(F(this.client.core.pairing.pairings.get(e).expiry)){let{message:t}=ab("EXPIRED",`pairing topic: ${e}`);throw Error(t)}}async isValidSessionTopic(e){if(!aN(e,!1)){let{message:t}=ab("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}=ab("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw Error(t)}if(F(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});let{message:t}=ab("EXPIRED",`session topic: ${e}`);throw Error(t)}if(!this.client.core.crypto.keychain.has(e)){let{message:t}=ab("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(aN(e,!1)){let{message:t}=ab("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw Error(t)}else{let{message:t}=ab("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}=ab("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw Error(t)}if(!this.client.proposal.keys.includes(e)){let{message:t}=ab("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw Error(t)}if(F(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);let{message:t}=ab("EXPIRED",`proposal id: ${e}`);throw Error(t)}}}class pw extends nE{constructor(e,t){super(e,t,"proposal",n8),this.core=e,this.logger=t}}class pb extends nE{constructor(e,t){super(e,t,"session",n8),this.core=e,this.logger=t}}class p_ extends nE{constructor(e,t){super(e,t,"request",n8,e=>e.id),this.core=e,this.logger=t}}class pE extends nE{constructor(e,t){super(e,t,"authKeys",pn,()=>pp),this.core=e,this.logger=t}}class pS extends nE{constructor(e,t){super(e,t,"pairingTopics",pn),this.core=e,this.logger=t}}class pD extends nE{constructor(e,t){super(e,t,"requests",pn,e=>e.id),this.core=e,this.logger=t}}var pN=Object.defineProperty,pI=(e,t,i)=>t in e?pN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,pO=(e,t,i)=>pI(e,"symbol"!=typeof t?t+"":t,i);class px{constructor(e,t){this.core=e,this.logger=t,pO(this,"authKeys"),pO(this,"pairingTopics"),pO(this,"requests"),this.authKeys=new pE(this.core,this.logger),this.pairingTopics=new pS(this.core,this.logger),this.requests=new pD(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var pP=Object.defineProperty,pT=(e,t,i)=>t in e?pP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,pA=(e,t,i)=>pT(e,"symbol"!=typeof t?t+"":t,i);class pC extends re{constructor(e){super(e),pA(this,"protocol","wc"),pA(this,"version",2),pA(this,"name",n9.name),pA(this,"metadata"),pA(this,"core"),pA(this,"logger"),pA(this,"events",new a.EventEmitter),pA(this,"engine"),pA(this,"session"),pA(this,"proposal"),pA(this,"pendingRequest"),pA(this,"auth"),pA(this,"signConfig"),pA(this,"on",(e,t)=>this.events.on(e,t)),pA(this,"once",(e,t)=>this.events.once(e,t)),pA(this,"off",(e,t)=>this.events.off(e,t)),pA(this,"removeListener",(e,t)=>this.events.removeListener(e,t)),pA(this,"removeAllListeners",e=>this.events.removeAllListeners(e)),pA(this,"connect",async e=>{try{return await this.engine.connect(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"pair",async e=>{try{return await this.engine.pair(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"approve",async e=>{try{return await this.engine.approve(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"reject",async e=>{try{return await this.engine.reject(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"update",async e=>{try{return await this.engine.update(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"extend",async e=>{try{return await this.engine.extend(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"request",async e=>{try{return await this.engine.request(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"respond",async e=>{try{return await this.engine.respond(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"ping",async e=>{try{return await this.engine.ping(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"emit",async e=>{try{return await this.engine.emit(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"disconnect",async e=>{try{return await this.engine.disconnect(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"find",e=>{try{return this.engine.find(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"getPendingSessionRequests",()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}}),pA(this,"authenticate",async(e,t)=>{try{return await this.engine.authenticate(e,t)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"formatAuthMessage",e=>{try{return this.engine.formatAuthMessage(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"approveSessionAuthenticate",async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),pA(this,"rejectSessionAuthenticate",async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),this.name=e?.name||n9.name,this.metadata=function(e){var t,i;let a=R();try{return null!=e&&e.url&&a.url&&new URL(e.url).host!==new URL(a.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${e.url} differs from the actual page url:${a.url}. This is probably unintended and can lead to issues.`),e.url=a.url),null!=(t=e?.icons)&&t.length&&e.icons.length>0&&(e.icons=e.icons.filter(e=>""!==e)),I(N(N({},a),e),{url:e?.url||a.url,name:e?.name||a.name,description:e?.description||a.description,icons:null!=(i=e?.icons)&&i.length&&e.icons.length>0?e.icons:a.icons})}catch(t){return console.warn("Error populating app metadata",t),e||a}}(e?.metadata),this.signConfig=e?.signConfig;let t="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,aM.gw)((0,aM.jI)({level:e?.logger||n9.logger}));this.core=e?.core||new n4(e),this.logger=(0,aM.Ep)(t,this.name),this.session=new pb(this.core,this.logger),this.proposal=new pw(this.core,this.logger),this.pendingRequest=new p_(this.core,this.logger),this.engine=new py(this),this.auth=new px(this.core,this.logger)}static async init(e){let t=new pC(e);return await t.initialize(),t}get context(){return(0,aM.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,p.toMiliseconds)(p.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}var pR=i(60467);let pk="error",pV="wc@2:universal_provider:",pL="https://rpc.walletconnect.org/v1/",pB="generic",pj=`${pL}bundler`,pU={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};function p$(){}function pq(e){return null==e||"object"!=typeof e&&"function"!=typeof e}function pM(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function pF(e){return"object"==typeof e&&null!==e}function pz(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function pH(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let pK="[object String]",pW="[object Number]",pJ="[object Boolean]",pG="[object Arguments]";function pY(e,t,i,a=new Map,r){let s=r?.(e,t,i,a);if(null!=s)return s;if(pq(e))return e;if(a.has(e))return a.get(e);if(Array.isArray(e)){let t=Array(e.length);a.set(e,t);for(let s=0;s<e.length;s++)t[s]=pY(e[s],s,i,a,r);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[s,p]of(a.set(e,t),e))t.set(s,pY(p,s,i,a,r));return t}if(e instanceof Set){let t=new Set;for(let s of(a.set(e,t),e))t.add(pY(s,void 0,i,a,r));return t}if("u">typeof Buffer&&Buffer.isBuffer(e))return e.subarray();if(pM(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);a.set(e,t);for(let s=0;s<e.length;s++)t[s]=pY(e[s],s,i,a,r);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 a.set(e,t),pZ(t,e,i,a,r),t}if("u">typeof File&&e instanceof File){let t=new File([e],e.name,{type:e.type});return a.set(e,t),pZ(t,e,i,a,r),t}if(e instanceof Blob){let t=new Blob([e],{type:e.type});return a.set(e,t),pZ(t,e,i,a,r),t}if(e instanceof Error){let t=new e.constructor;return a.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,pZ(t,e,i,a,r),t}if("object"==typeof e&&function(e){switch(pH(e)){case pG:case"[object Array]":case"[object ArrayBuffer]":case"[object DataView]":case pJ:case"[object Date]":case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Map]":case pW:case"[object Object]":case"[object RegExp]":case"[object Set]":case pK: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 a.set(e,t),pZ(t,e,i,a,r),t}return e}function pZ(e,t,i=e,a,r){let s=[...Object.keys(t),...pz(t)];for(let p=0;p<s.length;p++){let o=s[p],d=Object.getOwnPropertyDescriptor(e,o);(null==d||d.writable)&&(e[o]=pY(t[o],o,i,a,r))}}function pQ(e){var t;return t=(t,i,a,r)=>{let s=void 0;if(null!=s)return s;if("object"==typeof e)switch(Object.prototype.toString.call(e)){case pW:case pK:case pJ:{let t=new e.constructor(e?.valueOf());return pZ(t,e),t}case pG:{let t={};return pZ(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}},pY(e,void 0,e,new Map,t)}function pX(e){return null!==e&&"object"==typeof e&&"[object Arguments]"===pH(e)}var p1=Object.defineProperty,p0=Object.defineProperties,p2=Object.getOwnPropertyDescriptors,p6=Object.getOwnPropertySymbols,p4=Object.prototype.hasOwnProperty,p3=Object.prototype.propertyIsEnumerable,p8=(e,t,i)=>t in e?p1(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,p9=(e,t)=>{for(var i in t||(t={}))p4.call(t,i)&&p8(e,i,t[i]);if(p6)for(var i of p6(t))p3.call(t,i)&&p8(e,i,t[i]);return e},p5=(e,t)=>p0(e,p2(t));function p7(e,t,i){var a;let r=f(e);return(null==(a=t.rpcMap)?void 0:a[r.reference])||`${pL}?chainId=${r.namespace}:${r.reference}&projectId=${i}`}function oe(e){return e.includes(":")?e.split(":")[1]:e}function ot(e){return e.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function oi(e={},t={}){return function(e,...t){return function(e,...t){let i=t.slice(0,-1),a=t[t.length-1],r=e;for(let e=0;e<i.length;e++)r=function e(t,i,a,r){if(pq(t)&&(t=Object(t)),null==i||"object"!=typeof i)return t;if(r.has(i))return function(e){if(pq(e))return e;if(Array.isArray(e)||pM(e)||e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);let t=Object.getPrototypeOf(e),i=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new i(e);if(e instanceof RegExp){let t=new i(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new i(e.buffer.slice(0));if(e instanceof Error){let t=new i(e.message);return t.stack=e.stack,t.name=e.name,t.cause=e.cause,t}return"u">typeof File&&e instanceof File?new i([e],e.name,{type:e.type,lastModified:e.lastModified}):"object"==typeof e?Object.assign(Object.create(t),e):e}(r.get(i));if(r.set(i,t),Array.isArray(i)){i=i.slice();for(let e=0;e<i.length;e++)i[e]=i[e]??void 0}let s=[...Object.keys(i),...pz(i)];for(let p=0;p<s.length;p++){let o=s[p],d=i[o],l=t[o];if(pX(d)&&(d={...d}),pX(l)&&(l={...l}),"u">typeof Buffer&&Buffer.isBuffer(d)&&(d=pQ(d)),Array.isArray(d)){if("object"==typeof l&&null!=l){let e=[],t=Reflect.ownKeys(l);for(let i=0;i<t.length;i++){let a=t[i];e[a]=l[a]}l=e}else l=[]}let c=a(l,d,o,t,i,r);null!=c?t[o]=c:Array.isArray(d)||pF(l)&&pF(d)?t[o]=e(l,d,a,r):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}(d)?t[o]=e({},d,a,r):null==l&&pM(d)?t[o]=pQ(d):(void 0===l||void 0!==d)&&(t[o]=d)}return t}(r,i[e],a,new Map);return r}(e,...t,p$)}(oa(e),oa(t))}function oa(e){var t,i,a,r,s;let p={};if(!aS(e))return p;for(let[o,d]of Object.entries(e)){let e=am(o)?[o]:d.chains,l=d.methods||[],c=d.events||[],h=d.rpcMap||{},u=af(o);p[u]=p5(p9(p9({},p[u]),d),{chains:H(e,null==(t=p[u])?void 0:t.chains),methods:H(l,null==(i=p[u])?void 0:i.methods),events:H(c,null==(a=p[u])?void 0:a.events)}),(aS(h)||aS((null==(r=p[u])?void 0:r.rpcMap)||{}))&&(p[u].rpcMap=p9(p9({},h),null==(s=p[u])?void 0:s.rpcMap))}return p}function or(e){return e.includes(":")?e.split(":")[2]:e}function os(e){let t={};for(let[i,a]of Object.entries(e)){let e=a.methods||[],r=a.events||[],s=a.accounts||[],p=am(i)?[i]:a.chains?a.chains:ot(a.accounts);t[i]={chains:p,methods:e,events:r,accounts:s}}return t}function on(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 op={},oo=e=>op[e],od=(e,t)=>{op[e]=t};var ol=Object.defineProperty,oc=(e,t,i)=>t in e?ol(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oh=(e,t,i)=>oc(e,"symbol"!=typeof t?t+"":t,i);class ou{constructor(e){oh(this,"name","polkadot"),oh(this,"client"),oh(this,"httpProviders"),oh(this,"events"),oh(this,"namespace"),oh(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i;let a=oe(t);e[a]=this.createHttpProvider(a,null==(i=this.namespace.rpcMap)?void 0:i[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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var om=Object.defineProperty,of=Object.defineProperties,og=Object.getOwnPropertyDescriptors,ov=Object.getOwnPropertySymbols,oy=Object.prototype.hasOwnProperty,ow=Object.prototype.propertyIsEnumerable,ob=(e,t,i)=>t in e?om(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,o_=(e,t)=>{for(var i in t||(t={}))oy.call(t,i)&&ob(e,i,t[i]);if(ov)for(var i of ov(t))ow.call(t,i)&&ob(e,i,t[i]);return e},oE=(e,t)=>of(e,og(t)),oS=(e,t,i)=>ob(e,"symbol"!=typeof t?t+"":t,i);class oD{constructor(e){oS(this,"name","eip155"),oS(this,"client"),oS(this,"chainId"),oS(this,"namespace"),oS(this,"httpProviders"),oS(this,"events"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i=t||p7(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.k(i,oo("disableProviderPing")))}setHttpProvider(e,t){let i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var i;let a=parseInt(oe(t));e[a]=this.createHttpProvider(a,null==(i=this.namespace.rpcMap)?void 0:i[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,i;let a=e.request.params?null==(t=e.request.params[0])?void 0:t.chainId:"0x0",r=parseInt(a=a.startsWith("0x")?a:`0x${a}`,16);if(this.isChainApproved(r))this.setDefaultChain(`${r}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:a}]},chainId:null==(i=this.namespace.chains)?void 0:i[0]}),this.setDefaultChain(`${r}`);else throw Error(`Failed to switch to chain 'eip155:${r}'. 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,i,a,r,s;let p=null==(i=null==(t=e.request)?void 0:t.params)?void 0:i[0],o=(null==(r=null==(a=e.request)?void 0:a.params)?void 0:r[1])||[],d=`${p}${o.join(",")}`;if(!p)throw Error("Missing address parameter in `wallet_getCapabilities` request");let l=this.client.session.get(e.topic),c=(null==(s=l?.sessionProperties)?void 0:s.capabilities)||{};if(null!=c&&c[d])return c?.[d];let h=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:oE(o_({},l.sessionProperties||{}),{capabilities:oE(o_({},c||{}),{[d]:h})})})}catch(e){console.warn("Failed to update session with capabilities",e)}return h}async getCallStatus(e){var t,i;let a=this.client.session.get(e.topic),r=null==(t=a.sessionProperties)?void 0:t.bundler_name;if(r){let t=this.getBundlerUrl(e.chainId,r);try{return await this.getUserOperationReceipt(t,e)}catch(e){console.warn("Failed to fetch call status from bundler",e,t)}}let s=null==(i=a.sessionProperties)?void 0:i.bundler_url;if(s)try{return await this.getUserOperationReceipt(s,e)}catch(e){console.warn("Failed to fetch call status from custom bundler",e,s)}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 i;let a=new URL(e),r=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,rr.formatJsonRpcRequest)("eth_getUserOperationReceipt",[null==(i=t.request.params)?void 0:i[0]]))});if(!r.ok)throw Error(`Failed to fetch user operation receipt - ${r.status}`);return await r.json()}getBundlerUrl(e,t){return`${pj}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}}var oN=Object.defineProperty,oI=(e,t,i)=>t in e?oN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oO=(e,t,i)=>oI(e,"symbol"!=typeof t?t+"":t,i);class ox{constructor(e){oO(this,"name","solana"),oO(this,"client"),oO(this,"httpProviders"),oO(this,"events"),oO(this,"namespace"),oO(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i;let a=oe(t);e[a]=this.createHttpProvider(a,null==(i=this.namespace.rpcMap)?void 0:i[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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var oP=Object.defineProperty,oT=(e,t,i)=>t in e?oP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oA=(e,t,i)=>oT(e,"symbol"!=typeof t?t+"":t,i);class oC{constructor(e){oA(this,"name","cosmos"),oA(this,"client"),oA(this,"httpProviders"),oA(this,"events"),oA(this,"namespace"),oA(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i;let a=oe(t);e[a]=this.createHttpProvider(a,null==(i=this.namespace.rpcMap)?void 0:i[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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var oR=Object.defineProperty,ok=(e,t,i)=>t in e?oR(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oV=(e,t,i)=>ok(e,"symbol"!=typeof t?t+"":t,i);class oL{constructor(e){oV(this,"name","algorand"),oV(this,"client"),oV(this,"httpProviders"),oV(this,"events"),oV(this,"namespace"),oV(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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 i=t||p7(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.chainId=e,this.events.emit(pU.DEFAULT_CHAIN_CHANGED,`${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 i;e[t]=this.createHttpProvider(t,null==(i=this.namespace.rpcMap)?void 0:i[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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace,this.client.core.projectId);return typeof i>"u"?void 0:new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var oB=Object.defineProperty,oj=(e,t,i)=>t in e?oB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oU=(e,t,i)=>oj(e,"symbol"!=typeof t?t+"":t,i);class o${constructor(e){oU(this,"name","cip34"),oU(this,"client"),oU(this,"httpProviders"),oU(this,"events"),oU(this,"namespace"),oU(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i=this.getCardanoRPCUrl(t),a=oe(t);e[a]=this.createHttpProvider(a,i)}),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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||this.getCardanoRPCUrl(e);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var oq=Object.defineProperty,oM=(e,t,i)=>t in e?oq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oF=(e,t,i)=>oM(e,"symbol"!=typeof t?t+"":t,i);class oz{constructor(e){oF(this,"name","elrond"),oF(this,"client"),oF(this,"httpProviders"),oF(this,"events"),oF(this,"namespace"),oF(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i;let a=oe(t);e[a]=this.createHttpProvider(a,null==(i=this.namespace.rpcMap)?void 0:i[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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var oH=Object.defineProperty,oK=(e,t,i)=>t in e?oH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oW=(e,t,i)=>oK(e,"symbol"!=typeof t?t+"":t,i);class oJ{constructor(e){oW(this,"name","multiversx"),oW(this,"client"),oW(this,"httpProviders"),oW(this,"events"),oW(this,"namespace"),oW(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i;let a=oe(t);e[a]=this.createHttpProvider(a,null==(i=this.namespace.rpcMap)?void 0:i[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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var oG=Object.defineProperty,oY=(e,t,i)=>t in e?oG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oZ=(e,t,i)=>oY(e,"symbol"!=typeof t?t+"":t,i);class oQ{constructor(e){oZ(this,"name","near"),oZ(this,"client"),oZ(this,"httpProviders"),oZ(this,"events"),oZ(this,"namespace"),oZ(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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 i=t||p7(`${this.name}:${e}`,this.namespace);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.events.emit(pU.DEFAULT_CHAIN_CHANGED,`${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 i;e[t]=this.createHttpProvider(t,null==(i=this.namespace.rpcMap)?void 0:i[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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace);return typeof i>"u"?void 0:new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var oX=Object.defineProperty,o1=(e,t,i)=>t in e?oX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,o0=(e,t,i)=>o1(e,"symbol"!=typeof t?t+"":t,i);class o2{constructor(e){o0(this,"name","tezos"),o0(this,"client"),o0(this,"httpProviders"),o0(this,"events"),o0(this,"namespace"),o0(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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 i=t||p7(`${this.name}:${e}`,this.namespace);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.events.emit(pU.DEFAULT_CHAIN_CHANGED,`${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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace);return typeof i>"u"?void 0:new ra.r(new pR.Z(i))}}var o6=Object.defineProperty,o4=(e,t,i)=>t in e?o6(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,o3=(e,t,i)=>o4(e,"symbol"!=typeof t?t+"":t,i);class o8{constructor(e){o3(this,"name",pB),o3(this,"client"),o3(this,"httpProviders"),o3(this,"events"),o3(this,"namespace"),o3(this,"chainId"),this.namespace=e.namespace,this.events=oo("events"),this.client=oo("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(pU.DEFAULT_CHAIN_CHANGED,`${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 i={};return null==(t=null==(e=this.namespace)?void 0:e.accounts)||t.forEach(e=>{let t=f(e);i[`${t.namespace}:${t.reference}`]=this.createHttpProvider(e)}),i}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 i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||p7(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new ra.r(new pR.Z(i,oo("disableProviderPing")))}}var o9=Object.defineProperty,o5=Object.defineProperties,o7=Object.getOwnPropertyDescriptors,de=Object.getOwnPropertySymbols,dt=Object.prototype.hasOwnProperty,di=Object.prototype.propertyIsEnumerable,da=(e,t,i)=>t in e?o9(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,dr=(e,t)=>{for(var i in t||(t={}))dt.call(t,i)&&da(e,i,t[i]);if(de)for(var i of de(t))di.call(t,i)&&da(e,i,t[i]);return e},ds=(e,t)=>o5(e,o7(t)),dn=(e,t,i)=>da(e,"symbol"!=typeof t?t+"":t,i);class dp{constructor(e){dn(this,"client"),dn(this,"namespaces"),dn(this,"optionalNamespaces"),dn(this,"sessionProperties"),dn(this,"scopedProperties"),dn(this,"events",new(r())),dn(this,"rpcProviders",{}),dn(this,"session"),dn(this,"providerOpts"),dn(this,"logger"),dn(this,"uri"),dn(this,"disableProviderPing",!1),this.providerOpts=e,this.logger="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,aM.gw)((0,aM.jI)({level:e?.logger||pk})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(e){let t=new dp(e);return await t.initialize(),t}async request(e,t,i){let[a,r]=this.validateChain(t);if(!this.session)throw Error("Please call connect() before request()");return await this.getProvider(a).request({request:dr({},e),chainId:`${a}:${r}`,topic:this.session.topic,expiry:i})}sendAsync(e,t,i,a){let r=new Date().getTime();this.request(e,i,a).then(e=>t(null,(0,rr.formatJsonRpcResult)(r,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:a_("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:i,response:a}=await this.client.authenticate(e,t);i&&(this.uri=i,this.events.emit("display_uri",i));let r=await a();if(this.session=r.session,this.session){let e=os(this.session.namespaces);this.namespaces=oi(this.namespaces,e),await this.persist("namespaces",this.namespaces),this.onConnect()}return r}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:i}=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 a=await i();this.session=a;let r=os(a.namespaces);return this.namespaces=oi(this.namespaces,r),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[i,a]=this.validateChain(e),r=this.getProvider(i);r.name===pB?r.setDefaultChain(`${i}:${a}`,t):r.setDefaultChain(a,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(aE(t)){for(let i of t)e.deletePairings?this.client.core.expirer.set(i.topic,0):await this.client.core.relayer.subscriber.unsubscribe(i.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 pC.init({core:this.providerOpts.core,logger:this.providerOpts.logger||pk,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(i){throw this.logger.error("Failed to get session",i),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=>af(e)))];od("client",this.client),od("events",this.events),od("disableProviderPing",this.disableProviderPing),e.forEach(e=>{if(!this.session)return;let t=function(e,t){let i=Object.keys(t.namespaces).filter(t=>t.includes(e));if(!i.length)return[];let a=[];return i.forEach(e=>{let i=t.namespaces[e].accounts;a.push(...i)}),a}(e,this.session),i=ot(t),a=ds(dr({},oi(this.namespaces,this.optionalNamespaces)[e]),{accounts:t,chains:i});switch(e){case"eip155":this.rpcProviders[e]=new oD({namespace:a});break;case"algorand":this.rpcProviders[e]=new oL({namespace:a});break;case"solana":this.rpcProviders[e]=new ox({namespace:a});break;case"cosmos":this.rpcProviders[e]=new oC({namespace:a});break;case"polkadot":this.rpcProviders[e]=new ou({namespace:a});break;case"cip34":this.rpcProviders[e]=new o$({namespace:a});break;case"elrond":this.rpcProviders[e]=new oz({namespace:a});break;case"multiversx":this.rpcProviders[e]=new oJ({namespace:a});break;case"near":this.rpcProviders[e]=new oQ({namespace:a});break;case"tezos":this.rpcProviders[e]=new o2({namespace:a});break;default:this.rpcProviders[pB]?this.rpcProviders[pB].updateNamespace(a):this.rpcProviders[pB]=new o8({namespace:a})}})}registerEventListeners(){if(typeof this.client>"u")throw Error("Sign Client is not initialized");this.client.on("session_ping",e=>{var t;let{topic:i}=e;i===(null==(t=this.session)?void 0:t.topic)&&this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{var t;let{params:i,topic:a}=e;if(a!==(null==(t=this.session)?void 0:t.topic))return;let{event:r}=i;if("accountsChanged"===r.name){let e=r.data;e&&aE(e)&&this.events.emit("accountsChanged",e.map(or))}else if("chainChanged"===r.name){let e=i.chainId,t=i.event.data,a=af(e),r=on(e)!==on(t)?`${a}:${on(t)}`:e;this.onChainChanged(r)}else this.events.emit(r.name,r.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var i,a;if(e!==(null==(i=this.session)?void 0:i.topic))return;let{namespaces:r}=t,s=null==(a=this.client)?void 0:a.session.get(e);this.session=ds(dr({},s),{namespaces:r}),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",ds(dr({},a_("USER_DISCONNECTED")),{data:e.topic})))}),this.on(pU.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[pB]}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:i={},sessionProperties:a,scopedProperties:r}=e;this.optionalNamespaces=oi(t,i),this.sessionProperties=a,this.scopedProperties=r}validateChain(e){let[t,i]=e?.split(":")||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,i];if(t&&!Object.keys(this.namespaces||{}).map(e=>af(e)).includes(t))throw Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&i)return[t,i];let a=af(Object.keys(this.namespaces)[0]),r=this.rpcProviders[a].getDefaultChain();return[a,r]}async requestAccounts(){let[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged(e,t=!1){if(!this.namespaces)return;let[i,a]=this.validateChain(e);if(!a)return;this.updateNamespaceChain(i,a),this.events.emit("chainChanged",a);let r=this.getProvider(i).getDefaultChain();t||this.getProvider(i).setDefaultChain(a),this.emitAccountsChangedOnChainChange({namespace:i,previousChainId:r,newChainId:e}),await this.persist("namespaces",this.namespaces)}emitAccountsChangedOnChainChange({namespace:e,previousChainId:t,newChainId:i}){var a,r;try{if(t===i)return;let s=null==(r=null==(a=this.session)?void 0:a.namespaces[e])?void 0:r.accounts;if(!s)return;let p=s.filter(e=>e.includes(`${i}:`)).map(or);if(!aE(p))return;this.events.emit("accountsChanged",p)}catch(e){this.logger.warn("Failed to emit accountsChanged on chain change",e)}}updateNamespaceChain(e,t){if(!this.namespaces)return;let i=this.namespaces[e]?e:`${e}:${t}`;this.namespaces[i]?this.namespaces[i]&&(this.namespaces[i].defaultChain=t):this.namespaces[i]={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 i;let a=(null==(i=this.session)?void 0:i.topic)||"";await this.client.core.storage.setItem(`${pV}/${e}${a}`,t)}async getFromStore(e){var t;let i=(null==(t=this.session)?void 0:t.topic)||"";return await this.client.core.storage.getItem(`${pV}/${e}${i}`)}async deleteFromStore(e){var t;let i=(null==(t=this.session)?void 0:t.topic)||"";await this.client.core.storage.removeItem(`${pV}/${e}${i}`)}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(pV)&&await this.client.core.storage.removeItem(e)}catch(e){this.logger.warn("Failed to cleanup storage",e)}}}let dd=["eth_sendTransaction","personal_sign"],dl=["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"],dc=["chainChanged","accountsChanged"],dh=["chainChanged","accountsChanged","message","disconnect","connect"],du=async()=>{let{createAppKit:e}=await i.e(1209).then(i.bind(i,21209));return e};var dm=Object.defineProperty,df=Object.defineProperties,dg=Object.getOwnPropertyDescriptors,dv=Object.getOwnPropertySymbols,dy=Object.prototype.hasOwnProperty,dw=Object.prototype.propertyIsEnumerable,db=(e,t,i)=>t in e?dm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,d_=(e,t)=>{for(var i in t||(t={}))dy.call(t,i)&&db(e,i,t[i]);if(dv)for(var i of dv(t))dw.call(t,i)&&db(e,i,t[i]);return e},dE=(e,t)=>df(e,dg(t)),dS=(e,t,i)=>db(e,"symbol"!=typeof t?t+"":t,i);function dD(e){return Number(e[0].split(":")[1])}function dN(e){return`0x${e.toString(16)}`}class dI{constructor(){dS(this,"events",new a.EventEmitter),dS(this,"namespace","eip155"),dS(this,"accounts",[]),dS(this,"signer"),dS(this,"chainId",1),dS(this,"modal"),dS(this,"rpc"),dS(this,"STORAGE_KEY","wc@2:ethereum_provider:"),dS(this,"on",(e,t)=>(this.events.on(e,t),this)),dS(this,"once",(e,t)=>(this.events.once(e,t),this)),dS(this,"removeListener",(e,t)=>(this.events.removeListener(e,t),this)),dS(this,"off",(e,t)=>(this.events.off(e,t),this)),dS(this,"parseAccount",e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e),this.signer={},this.rpc={}}static async init(e){let t=new dI;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,i){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),i)}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:i,optional:a}=function(e){let{chains:t,optionalChains:i,methods:a,optionalMethods:r,events:s,optionalEvents:p,rpcMap:o}=e;if(!aE(t))throw Error("Invalid chains");let d={chains:t,methods:a||dd,events:s||dc,rpcMap:d_({},t.length?{[dD(t)]:o[dD(t)]}:{})},l=s?.filter(e=>!dc.includes(e)),c=a?.filter(e=>!dd.includes(e));if(!i&&!p&&!r&&!(null!=l&&l.length)&&!(null!=c&&c.length))return{required:t.length?d:void 0};let h={chains:[...new Set(l?.length&&c?.length||!i?d.chains.concat(i||[]):i)],methods:[...new Set(d.methods.concat(null!=r&&r.length?r:dl))],events:[...new Set(d.events.concat(null!=p&&p.length?p:dh))],rpcMap:o};return{required:t.length?d:void 0,optional:i.length?h:void 0}}(this.rpc);try{let t=await new Promise(async(t,r)=>{var s,p;this.rpc.showQrModal&&(null==(s=this.modal)||s.open(),null==(p=this.modal)||p.subscribeState(e=>{e.open||this.signer.session||(this.signer.abortPairingAttempt(),r(Error("Connection request reset. Please try again.")))}));let o=null!=e&&e.scopedProperties?{[this.namespace]:e.scopedProperties}:void 0;await this.signer.connect(dE(d_({namespaces:d_({},i&&{[this.namespace]:i})},a&&{optionalNamespaces:{[this.namespace]:a}}),{pairingTopic:e?.pairingTopic,scopedProperties:o})).then(e=>{t(e)}).catch(e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),r(Error(e.message))})});if(!t)return;let r=g(t.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:r),this.setAccounts(r),this.events.emit("connect",{chainId:dN(this.chainId)})}catch(e){throw this.signer.logger.error(e),e}finally{null==(t=this.modal)||t.close()}}async authenticate(e,t){var i;if(!this.signer.client)throw Error("Provider not initialized. Call init() first");this.loadConnectOpts({chains:e?.chains});try{let i=await new Promise(async(i,a)=>{var r,s;this.rpc.showQrModal&&(null==(r=this.modal)||r.open(),null==(s=this.modal)||s.subscribeState(e=>{e.open||this.signer.session||(this.signer.abortPairingAttempt(),a(Error("Connection request reset. Please try again.")))})),await this.signer.authenticate(dE(d_({},e),{chains:this.rpc.chains}),t).then(e=>{i(e)}).catch(e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),a(Error(e.message))})}),a=i.session;if(a){let e=g(a.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:e),this.setAccounts(e),this.events.emit("connect",{chainId:dN(this.chainId)})}return i}catch(e){throw this.signer.logger.error(e),e}finally{null==(i=this.modal)||i.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:i}=t;"accountsChanged"===i.name?(this.accounts=this.parseAccounts(i.data),this.events.emit("accountsChanged",this.accounts)):"chainChanged"===i.name?this.setChainId(this.formatChainId(i.data)):this.events.emit(i.name,i.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",dN(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",dE(d_({},a_("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",dN(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,i,a]=e.split(":");return{chainId:`${t}:${i}`,address:a}}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,i;let a=null!=(t=e?.chains)?t:[],r=null!=(i=e?.optionalChains)?i:[],s=a.concat(r);if(!s.length)throw Error("No chains specified in either `chains` or `optionalChains`");let p=a.length?e?.methods||dd:[],o=a.length?e?.events||dc:[],d=e?.optionalMethods||[],l=e?.optionalEvents||[],c=e?.rpcMap||this.buildRpcMap(s,e.projectId),h=e?.qrModalOptions||void 0;return{chains:a?.map(e=>this.formatChainId(e)),optionalChains:r.map(e=>this.formatChainId(e)),methods:p,events:o,optionalMethods:d,optionalEvents:l,rpcMap:c,showQrModal:!!(null!=e&&e.showQrModal),qrModalOptions:h,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){let i={};return e.forEach(e=>{i[e]=this.getRpcUrl(e,t)}),i}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?dD(this.rpc.chains):dD(this.rpc.optionalChains),this.signer=await dp.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 du(),{convertWCMToAppKitOptions:i}=await Promise.resolve().then(function(){return dU}),a=i(dE(d_({},this.rpc.qrModalOptions),{chains:[...new Set([...this.rpc.chains,...this.rpc.optionalChains])],metadata:this.rpc.metadata,projectId:this.rpc.projectId}));if(!a.networks.length)throw Error("No networks found for WalletConnect\xb7");e=t(dE(d_({},a),{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:i,rpcMap:a}=e;t&&aE(t)&&(this.rpc.chains=t.map(e=>this.formatChainId(e)),t.forEach(e=>{this.rpc.rpcMap[e]=a?.[e]||this.getRpcUrl(e)})),i&&aE(i)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=i?.map(e=>this.formatChainId(e)),i.forEach(e=>{this.rpc.rpcMap[e]=a?.[e]||this.getRpcUrl(e)}))}getRpcUrl(e,t){var i;return(null==(i=this.rpc.rpcMap)?void 0:i[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 dO=dI;var dx=Object.defineProperty,dP=Object.defineProperties,dT=Object.getOwnPropertyDescriptors,dA=Object.getOwnPropertySymbols,dC=Object.prototype.hasOwnProperty,dR=Object.prototype.propertyIsEnumerable,dk=(e,t,i)=>t in e?dx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,dV=(e,t)=>{for(var i in t||(t={}))dC.call(t,i)&&dk(e,i,t[i]);if(dA)for(var i of dA(t))dR.call(t,i)&&dk(e,i,t[i]);return e},dL=(e,t)=>dP(e,dT(t));let dB=e=>{let[t,i]=e.split(":");return dj({id:i,caipNetworkId:e,chainNamespace:t,name:"",nativeCurrency:{name:"",symbol:"",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}})};function dj(e){return dV({formatters:void 0,fees:void 0,serializers:void 0},e)}var dU=Object.freeze({__proto__:null,convertWCMToAppKitOptions:function(e){var t,i,a,r,s,p,o;let d=null==(t=e.chains)?void 0:t.map(dB).filter(Boolean);if(0===d.length)throw Error("At least one chain must be specified");let l=d.find(t=>{var i;return t.id===(null==(i=e.defaultChain)?void 0:i.id)}),c={projectId:e.projectId,networks:d,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:dL(dV({},e.metadata),{name:(null==(i=e.metadata)?void 0:i.name)||"WalletConnect",description:(null==(a=e.metadata)?void 0:a.description)||"Connect to WalletConnect-compatible wallets",url:(null==(r=e.metadata)?void 0:r.url)||"https://walletconnect.org",icons:(null==(s=e.metadata)?void 0:s.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!=(p=e.mobileWallets)&&p.length||null!=(o=e.desktopWallets)&&o.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}}))],i=[...c.featuredWalletIds||[],...c.excludeWalletIds||[]],a=t.filter(e=>!i.includes(e.id));a.length&&(c.customWallets=a)}return c},defineChain:dj})},36627:(e,t,i)=>{"use strict";i.d(t,{q:()=>a});class a{}},98563:(e,t,i)=>{"use strict";i.d(t,{C$:()=>l,Lx:()=>d});var a=i(82361),r=i(39064),s=i(36627);class p extends s.q{constructor(e){super()}}let o=r.FIVE_SECONDS,d={pulse:"heartbeat_pulse"};class l extends p{constructor(e){super(e),this.events=new a.EventEmitter,this.interval=o,this.interval=e?.interval||o}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,r.toMiliseconds)(this.interval))}pulse(){this.events.emit(d.pulse)}}},60467:(e,t,i)=>{"use strict";i.d(t,{Z:()=>w,k:()=>w});var a=i(82361),r=i(37473),s=i.n(r),p=i(60143),o=i(26560),d=Object.defineProperty,l=Object.defineProperties,c=Object.getOwnPropertyDescriptors,h=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,f=(e,t,i)=>t in e?d(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,g=(e,t)=>{for(var i in t||(t={}))u.call(t,i)&&f(e,i,t[i]);if(h)for(var i of h(t))m.call(t,i)&&f(e,i,t[i]);return e},v=(e,t)=>l(e,c(t));let y={headers:{Accept:"application/json","Content-Type":"application/json"},method:"POST"};class w{constructor(e,t=!1){if(this.url=e,this.disableProviderPing=t,this.events=new a.EventEmitter,this.isAvailable=!1,this.registering=!1,!(0,o.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,p.u)(e),i=await (await s()(this.url,v(g({},y),{body:t}))).json();this.onPayload({data:i})}catch(t){this.onError(e.id,t)}}async register(e=this.url){if(!(0,o.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,p.u)({id:1,jsonrpc:"2.0",method:"test",params:[]});await s()(e,v(g({},y),{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,p.D)(e.data):e.data;this.events.emit("payload",t)}onError(e,t){let i=this.parseError(t),a=i.message||i.toString(),r=(0,o.formatJsonRpcError)(e,a);this.events.emit("payload",r)}parseError(e,t=this.url){return(0,o.parseConnectionError)(e,t,"HTTP")}resetMaxListeners(){this.events.getMaxListeners()>10&&this.events.setMaxListeners(10)}}},44926:(e,t,i)=>{"use strict";i.d(t,{r:()=>s});var a=i(82361),r=i(26560);class s extends r.IJsonRpcProvider{constructor(e){super(e),this.events=new a.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,r.formatJsonRpcRequest)(e.method,e.params||[],e.id||(0,r.getBigIntRpcId)().toString()),t)}async requestStrict(e,t){return new Promise(async(i,a)=>{if(!this.connection.connected)try{await this.open()}catch(e){a(e)}this.events.on(`${e.id}`,e=>{(0,r.isJsonRpcError)(e)?a(e.error):i(e.result)});try{await this.connection.send(e,t)}catch(e){a(e)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),(0,r.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)}}},4605:(e,t,i)=>{"use strict";i.d(t,{CA:()=>r,JV:()=>o,O4:()=>a,dQ:()=>s,xK:()=>p});let a="INTERNAL_ERROR",r="SERVER_ERROR",s=[-32700,-32600,-32601,-32602,-32603],p={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"},[a]:{code:-32603,message:"Internal error"},[r]:{code:-32e3,message:"Server error"}},o=r},87652:(e,t,i)=>{"use strict";var a=i(77231);i.o(a,"IJsonRpcProvider")&&i.d(t,{IJsonRpcProvider:function(){return a.IJsonRpcProvider}}),i.o(a,"formatJsonRpcError")&&i.d(t,{formatJsonRpcError:function(){return a.formatJsonRpcError}}),i.o(a,"formatJsonRpcRequest")&&i.d(t,{formatJsonRpcRequest:function(){return a.formatJsonRpcRequest}}),i.o(a,"formatJsonRpcResult")&&i.d(t,{formatJsonRpcResult:function(){return a.formatJsonRpcResult}}),i.o(a,"getBigIntRpcId")&&i.d(t,{getBigIntRpcId:function(){return a.getBigIntRpcId}}),i.o(a,"isHttpUrl")&&i.d(t,{isHttpUrl:function(){return a.isHttpUrl}}),i.o(a,"isJsonRpcError")&&i.d(t,{isJsonRpcError:function(){return a.isJsonRpcError}}),i.o(a,"isJsonRpcRequest")&&i.d(t,{isJsonRpcRequest:function(){return a.isJsonRpcRequest}}),i.o(a,"isJsonRpcResponse")&&i.d(t,{isJsonRpcResponse:function(){return a.isJsonRpcResponse}}),i.o(a,"isJsonRpcResult")&&i.d(t,{isJsonRpcResult:function(){return a.isJsonRpcResult}}),i.o(a,"isLocalhostUrl")&&i.d(t,{isLocalhostUrl:function(){return a.isLocalhostUrl}}),i.o(a,"isReactNative")&&i.d(t,{isReactNative:function(){return a.isReactNative}}),i.o(a,"isWsUrl")&&i.d(t,{isWsUrl:function(){return a.isWsUrl}}),i.o(a,"payloadId")&&i.d(t,{payloadId:function(){return a.payloadId}})},9637:(e,t,i)=>{"use strict";i.d(t,{CX:()=>o,L2:()=>p,by:()=>s,i5:()=>r});var a=i(4605);function r(e){return a.dQ.includes(e)}function s(e){return Object.keys(a.xK).includes(e)?a.xK[e]:a.xK[a.JV]}function p(e){return Object.values(a.xK).find(t=>t.code===e)||a.xK[a.JV]}function o(e,t,i){return e.message.includes("getaddrinfo ENOTFOUND")||e.message.includes("connect ECONNREFUSED")?Error(`Unavailable ${i} RPC url at ${t}`):e}},7325:(e,t,i)=>{"use strict";i.d(t,{CS:()=>p,RI:()=>l,o0:()=>s,sT:()=>o,tm:()=>d});var a=i(9637),r=i(4605);function s(e=3){return Date.now()*Math.pow(10,e)+Math.floor(Math.random()*Math.pow(10,e))}function p(e=6){return BigInt(s(e))}function o(e,t,i){return{id:i||s(),jsonrpc:"2.0",method:e,params:t}}function d(e,t){return{id:e,jsonrpc:"2.0",result:t}}function l(e,t,i){var s;return{id:e,jsonrpc:"2.0",error:void 0===(s=t)?(0,a.by)(r.O4):("string"==typeof s&&(s=Object.assign(Object.assign({},(0,a.by)(r.CA)),{message:s})),void 0!==i&&(s.data=i),(0,a.i5)(s.code)&&(s=(0,a.L2)(s.code)),s)}}},26560:(e,t,i)=>{"use strict";i.d(t,{IJsonRpcProvider:()=>p.x0,formatJsonRpcError:()=>s.RI,formatJsonRpcRequest:()=>s.sT,formatJsonRpcResult:()=>s.tm,getBigIntRpcId:()=>s.CS,isHttpUrl:()=>o.jK,isJsonRpcError:()=>d.jg,isJsonRpcRequest:()=>d.DW,isJsonRpcResponse:()=>d.u,isJsonRpcResult:()=>d.k4,isLocalhostUrl:()=>o.JF,isWsUrl:()=>o.UZ,parseConnectionError:()=>a.CX,payloadId:()=>s.o0}),i(4605);var a=i(9637),r=i(87652);i.o(r,"IJsonRpcProvider")&&i.d(t,{IJsonRpcProvider:function(){return r.IJsonRpcProvider}}),i.o(r,"formatJsonRpcError")&&i.d(t,{formatJsonRpcError:function(){return r.formatJsonRpcError}}),i.o(r,"formatJsonRpcRequest")&&i.d(t,{formatJsonRpcRequest:function(){return r.formatJsonRpcRequest}}),i.o(r,"formatJsonRpcResult")&&i.d(t,{formatJsonRpcResult:function(){return r.formatJsonRpcResult}}),i.o(r,"getBigIntRpcId")&&i.d(t,{getBigIntRpcId:function(){return r.getBigIntRpcId}}),i.o(r,"isHttpUrl")&&i.d(t,{isHttpUrl:function(){return r.isHttpUrl}}),i.o(r,"isJsonRpcError")&&i.d(t,{isJsonRpcError:function(){return r.isJsonRpcError}}),i.o(r,"isJsonRpcRequest")&&i.d(t,{isJsonRpcRequest:function(){return r.isJsonRpcRequest}}),i.o(r,"isJsonRpcResponse")&&i.d(t,{isJsonRpcResponse:function(){return r.isJsonRpcResponse}}),i.o(r,"isJsonRpcResult")&&i.d(t,{isJsonRpcResult:function(){return r.isJsonRpcResult}}),i.o(r,"isLocalhostUrl")&&i.d(t,{isLocalhostUrl:function(){return r.isLocalhostUrl}}),i.o(r,"isReactNative")&&i.d(t,{isReactNative:function(){return r.isReactNative}}),i.o(r,"isWsUrl")&&i.d(t,{isWsUrl:function(){return r.isWsUrl}}),i.o(r,"payloadId")&&i.d(t,{payloadId:function(){return r.payloadId}});var s=i(7325),p=i(22932),o=i(60172),d=i(14731)},22932:(e,t,i)=>{"use strict";i.d(t,{x0:()=>s});class a{}class r extends a{constructor(){super()}}class s extends r{constructor(e){super()}}},60172:(e,t,i)=>{"use strict";function a(e,t){let i=function(e){let t=e.match(RegExp(/^\w+:/,"gi"));if(t&&t.length)return t[0]}(e);return void 0!==i&&new RegExp(t).test(i)}function r(e){return a(e,"^https?:")}function s(e){return a(e,"^wss?:")}function p(e){return RegExp("wss?://localhost(:d{2,5})?").test(e)}i.d(t,{JF:()=>p,UZ:()=>s,jK:()=>r})},14731:(e,t,i)=>{"use strict";function a(e){return"object"==typeof e&&"id"in e&&"jsonrpc"in e&&"2.0"===e.jsonrpc}function r(e){return a(e)&&"method"in e}function s(e){return a(e)&&(p(e)||o(e))}function p(e){return"result"in e}function o(e){return"error"in e}i.d(t,{DW:()=>r,jg:()=>o,k4:()=>p,u:()=>s})},76755:(e,t,i)=>{"use strict";i.d(t,{Z:()=>l});var a=i(82361),r=i(60143),s=i(26560);let p=()=>"u">typeof WebSocket||"u">typeof global&&"u">typeof global.WebSocket||"u">typeof window&&"u">typeof window.WebSocket||"u">typeof self&&"u">typeof self.WebSocket,o=e=>e.split("?")[0],d="u">typeof WebSocket?WebSocket:"u">typeof global&&"u">typeof global.WebSocket?global.WebSocket:"u">typeof window&&"u">typeof window.WebSocket?window.WebSocket:"u">typeof self&&"u">typeof self.WebSocket?self.WebSocket:i(23584);class l{constructor(e){if(this.url=e,this.events=new a.EventEmitter,this.registering=!1,!(0,s.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,r.u)(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!(0,s.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,i)=>{let a=(0,s.isReactNative)()?void 0:{rejectUnauthorized:!(0,s.isLocalhostUrl)(e)},r=new d(e,[],a);p()?r.onerror=e=>{i(this.emitError(e.error))}:r.on("error",e=>{i(this.emitError(e))}),r.onopen=()=>{this.onOpen(r),t(r)}})}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,r.D)(e.data):e.data;this.events.emit("payload",t)}onError(e,t){let i=this.parseError(t),a=i.message||i.toString(),r=(0,s.formatJsonRpcError)(e,a);this.events.emit("payload",r)}parseError(e,t=this.url){return(0,s.parseConnectionError)(e,o(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: ${o(this.url)}`));return this.events.emit("register_error",t),t}}},42253:(e,t,i)=>{"use strict";i.d(t,{Z:()=>O});let a=/"(?:_|\\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*:/,r=/"(?: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*:/,s=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function p(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 o(e,t={}){if("string"!=typeof e)return e;let i=e.trim();if('"'===e[0]&&e.endsWith('"')&&!e.includes("\\"))return i.slice(1,-1);if(i.length<=9){let e=i.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(!s.test(e)){if(t.strict)throw SyntaxError("[destr] Invalid JSON");return e}try{if(a.test(e)||r.test(e)){if(t.strict)throw Error("[destr] Possible prototype pollution");return JSON.parse(e,p)}return JSON.parse(e)}catch(i){if(t.strict)throw i;return e}}function d(e,...t){try{var i;return(i=e(...t))&&"function"==typeof i.then?i:Promise.resolve(i)}catch(e){return Promise.reject(e)}}function l(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 l(e.toJSON());throw Error("[unstorage] Cannot stringify value!")}let c="base64:";function h(e){return e?e.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function u(e){return(e=h(e))?e+":":""}let m=()=>{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,i){e.set(t,i)},setItemRaw(t,i){e.set(t,i)},removeItem(t){e.delete(t)},getKeys:()=>Array.from(e.keys()),clear(){e.clear()},dispose(){e.clear()}}};function f(e,t,i){return e.watch?e.watch((e,a)=>t(e,i+a)):()=>{}}async function g(e){"function"==typeof e.dispose&&await d(e.dispose)}var v=i(52259),y=i(60143),w=(e={})=>{let t;let i=e.base&&e.base.length>0?`${e.base}:`:"",a=e=>i+e;return e.dbName&&e.storeName&&(t=(0,v.MT)(e.dbName,e.storeName)),{name:"idb-keyval",options:e,hasItem:async e=>!(typeof await (0,v.U2)(a(e),t)>"u"),getItem:async e=>await (0,v.U2)(a(e),t)??null,setItem:(e,i)=>(0,v.t8)(a(e),i,t),removeItem:e=>(0,v.IV)(a(e),t),getKeys:()=>(0,v.XP)(t),clear:()=>(0,v.ZH)(t)}};class b{constructor(){this.indexedDb=function(e={}){let t={mounts:{"":e.driver||m()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},i=e=>{for(let i of t.mountpoints)if(e.startsWith(i))return{base:i,relativeKey:e.slice(i.length),driver:t.mounts[i]};return{base:"",relativeKey:e,driver:t.mounts[""]}},a=(e,i)=>t.mountpoints.filter(t=>t.startsWith(e)||i&&e.startsWith(t)).map(i=>({relativeBase:e.length>i.length?e.slice(i.length):void 0,mountpoint:i,driver:t.mounts[i]})),r=(e,i)=>{if(t.watching)for(let a of(i=h(i),t.watchListeners))a(e,i)},s=async()=>{if(!t.watching)for(let e in t.watching=!0,t.mounts)t.unwatch[e]=await f(t.mounts[e],r,e)},p=async()=>{if(t.watching){for(let e in t.unwatch)await t.unwatch[e]();t.unwatch={},t.watching=!1}},v=(e,t,a)=>{let r=new Map,s=e=>{let t=r.get(e.base);return t||(t={driver:e.driver,base:e.base,items:[]},r.set(e.base,t)),t};for(let a of e){let e="string"==typeof a,r=h(e?a:a.key),p=e?void 0:a.value,o=e||!a.options?t:{...t,...a.options},d=i(r);s(d).items.push({key:r,value:p,relativeKey:d.relativeKey,options:o})}return Promise.all([...r.values()].map(e=>a(e))).then(e=>e.flat())},y={hasItem(e,t={}){let{relativeKey:a,driver:r}=i(e=h(e));return d(r.hasItem,a,t)},getItem(e,t={}){let{relativeKey:a,driver:r}=i(e=h(e));return d(r.getItem,a,t).then(e=>o(e))},getItems:(e,t)=>v(e,t,e=>e.driver.getItems?d(e.driver.getItems,e.items.map(e=>({key:e.relativeKey,options:e.options})),t).then(t=>t.map(t=>({key:function(...e){return h(e.join(":"))}(e.base,t.key),value:o(t.value)}))):Promise.all(e.items.map(t=>d(e.driver.getItem,t.relativeKey,t.options).then(e=>({key:t.key,value:o(e)}))))),getItemRaw(e,t={}){let{relativeKey:a,driver:r}=i(e=h(e));return r.getItemRaw?d(r.getItemRaw,a,t):d(r.getItem,a,t).then(e=>"string"==typeof e&&e.startsWith(c)?Buffer.from(e.slice(c.length),"base64"):e)},async setItem(e,t,a={}){if(void 0===t)return y.removeItem(e);let{relativeKey:s,driver:p}=i(e=h(e));p.setItem&&(await d(p.setItem,s,l(t),a),p.watch||r("update",e))},async setItems(e,t){await v(e,t,async e=>{if(e.driver.setItems)return d(e.driver.setItems,e.items.map(e=>({key:e.relativeKey,value:l(e.value),options:e.options})),t);e.driver.setItem&&await Promise.all(e.items.map(t=>d(e.driver.setItem,t.relativeKey,l(t.value),t.options)))})},async setItemRaw(e,t,a={}){if(void 0===t)return y.removeItem(e,a);let{relativeKey:s,driver:p}=i(e=h(e));if(p.setItemRaw)await d(p.setItemRaw,s,t,a);else{if(!p.setItem)return;await d(p.setItem,s,"string"==typeof t?t:c+Buffer.from(t).toString("base64"),a)}p.watch||r("update",e)},async removeItem(e,t={}){"boolean"==typeof t&&(t={removeMeta:t});let{relativeKey:a,driver:s}=i(e=h(e));s.removeItem&&(await d(s.removeItem,a,t),(t.removeMeta||t.removeMata)&&await d(s.removeItem,a+"$",t),s.watch||r("remove",e))},async getMeta(e,t={}){"boolean"==typeof t&&(t={nativeOnly:t});let{relativeKey:a,driver:r}=i(e=h(e)),s=Object.create(null);if(r.getMeta&&Object.assign(s,await d(r.getMeta,a,t)),!t.nativeOnly){let e=await d(r.getItem,a+"$",t).then(e=>o(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(s,e))}return s},setMeta(e,t,i={}){return this.setItem(e+"$",t,i)},removeMeta(e,t={}){return this.removeItem(e+"$",t)},async getKeys(e,t={}){let i=a(e=u(e),!0),r=[],s=[];for(let e of i){let i=(await d(e.driver.getKeys,e.relativeBase,t)).map(t=>e.mountpoint+h(t)).filter(e=>!r.some(t=>e.startsWith(t)));s.push(...i),r=[e.mountpoint,...r.filter(t=>!t.startsWith(e.mountpoint))]}return e?s.filter(t=>t.startsWith(e)&&!t.endsWith("$")):s.filter(e=>!e.endsWith("$"))},async clear(e,t={}){e=u(e),await Promise.all(a(e,!1).map(async e=>e.driver.clear?d(e.driver.clear,e.relativeBase,t):e.driver.removeItem?Promise.all((await e.driver.getKeys(e.relativeBase||"",t)).map(i=>e.driver.removeItem(i,t))):void 0))},async dispose(){await Promise.all(Object.values(t.mounts).map(e=>g(e)))},watch:async e=>(await s(),t.watchListeners.push(e),async()=>{t.watchListeners=t.watchListeners.filter(t=>t!==e),0===t.watchListeners.length&&await p()}),async unwatch(){t.watchListeners=[],await p()},mount(e,i){if((e=u(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]=i,t.watching&&Promise.resolve(f(i,r,e)).then(i=>{t.unwatch[e]=i}).catch(console.error),y},async unmount(e,i=!0){(e=u(e))&&t.mounts[e]&&(t.watching&&e in t.unwatch&&(t.unwatch[e](),delete t.unwatch[e]),i&&await g(t.mounts[e]),t.mountpoints=t.mountpoints.filter(t=>t!==e),delete t.mounts[e])},getMount(e=""){let t=i(e=h(e)+":");return{driver:t.driver,base:t.base}},getMounts:(e="",t={})=>a(e=h(e),t.parents).map(e=>({driver:e.driver,base:e.mountpoint}))};return y}({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,y.u)(t))}async removeItem(e){await this.indexedDb.removeItem(e)}}var _="u">typeof globalThis?globalThis:"u">typeof window?window:"u">typeof global?global:"u">typeof self?self:{},E={exports:{}};function S(e){var t;return[e[0],(0,y.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 _&&_.localStorage?E.exports=_.localStorage:"u">typeof window&&window.localStorage?E.exports=window.localStorage:E.exports=new e}();class D{constructor(){this.localStorage=E.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(S)}async getItem(e){let t=this.localStorage.getItem(e);if(null!==t)return(0,y.D)(t)}async setItem(e,t){this.localStorage.setItem(e,(0,y.u)(t))}async removeItem(e){this.localStorage.removeItem(e)}}let N=async(e,t,i)=>{let a="wc_storage_version",r=await t.getItem(a);if(r&&r>=1){i(t);return}let s=await e.getKeys();if(!s.length){i(t);return}let p=[];for(;s.length;){let i=s.shift();if(!i)continue;let a=i.toLowerCase();if(a.includes("wc@")||a.includes("walletconnect")||a.includes("wc_")||a.includes("wallet_connect")){let a=await e.getItem(i);await t.setItem(i,a),p.push(i)}}await t.setItem(a,1),i(t),I(e,p)},I=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 b;N(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)})}}},41434:(e,t,i)=>{"use strict";i.d(t,{Ep:()=>N,Fd:()=>D,Rt:()=>I,gw:()=>r.a,jI:()=>S});var a=i(53230),r=i.n(a),s=i(60143);let p={level:"info"},o="custom_context";class d{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 d(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 c{constructor(e,t=1024e3){this.level=e??"error",this.levelValue=a.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===a.levels.values.error?console.error(e):t===a.levels.values.warn?console.warn(e):t===a.levels.values.debug?console.debug(e):t===a.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append((0,s.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,s.u)({extraMetadata:e})),new Blob(t,{type:"application/json"})}}class h{constructor(e,t=1024e3){this.baseChunkLogger=new c(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)),i=document.createElement("a");i.href=t,i.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(t)}}class u{constructor(e,t=1024e3){this.baseChunkLogger=new c(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 m=Object.defineProperty,f=Object.defineProperties,g=Object.getOwnPropertyDescriptors,v=Object.getOwnPropertySymbols,y=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable,b=(e,t,i)=>t in e?m(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,_=(e,t)=>{for(var i in t||(t={}))y.call(t,i)&&b(e,i,t[i]);if(v)for(var i of v(t))w.call(t,i)&&b(e,i,t[i]);return e},E=(e,t)=>f(e,g(t));function S(e){return E(_({},e),{level:e?.level||p.level})}function D(e,t=o){return typeof e.bindings>"u"?function(e,t=o){return e[t]||""}(e,t):e.bindings().context||""}function N(e,t,i=o){let a=function(e,t,i=o){let a=D(e,i);return a.trim()?`${a}/${t}`:t}(e,t,i);return function(e,t,i=o){return e[i]=t,e}(e.child({context:a}),a,i)}function I(e){return"u">typeof e.loggerOverride&&"string"!=typeof e.loggerOverride?{logger:e.loggerOverride,chunkLoggerController:null}:"u">typeof window?function(e){var t,i;let a=new h(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:r()(E(_({},e.opts),{level:"trace",browser:E(_({},null==(i=e.opts)?void 0:i.browser),{write:e=>a.write(e)})})),chunkLoggerController:a}}(e):function(e){var t;let i=new u(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:r()(E(_({},e.opts),{level:"trace"}),i),chunkLoggerController:i}}(e)}},23577:(e,t,i)=>{"use strict";i.d(t,{iO:()=>a});let a={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"}}},97952:(e,t,i)=>{"use strict";i.d(t,{Au:()=>tI,bG:()=>tD,vf:()=>tO,xp:()=>tN});var a=i(39064),r=i(60143);function s(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 p(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 o="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,d=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)),s(e),e}class c{clone(){return this._cloneInto()}}function h(e=32){if(o&&"function"==typeof o.getRandomValues)return o.getRandomValues(new Uint8Array(e));if(o&&"function"==typeof o.randomBytes)return o.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}class u extends c{constructor(e,t,i,a){super(),this.blockLen=e,this.outputLen=t,this.padOffset=i,this.isLE=a,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=d(this.buffer)}update(e){p(this);let{view:t,buffer:i,blockLen:a}=this,r=(e=l(e)).length;for(let s=0;s<r;){let p=Math.min(a-this.pos,r-s);if(p===a){let t=d(e);for(;a<=r-s;s+=a)this.process(t,s);continue}i.set(e.subarray(s,s+p),this.pos),this.pos+=p,s+=p,this.pos===a&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){p(this),function(e,t){s(e);let i=t.outputLen;if(e.length<i)throw Error("digestInto() expects output buffer of length at least "+i)}(e,this),this.finished=!0;let{buffer:t,view:i,blockLen:a,isLE:r}=this,{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>a-o&&(this.process(i,0),o=0);for(let e=o;e<a;e++)t[e]=0;(function(e,t,i,a){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,i,a);let r=BigInt(32),s=BigInt(4294967295),p=Number(i>>r&s),o=Number(i&s),d=a?4:0,l=a?0:4;e.setUint32(t+d,p,a),e.setUint32(t+l,o,a)})(i,a-8,BigInt(8*this.length),r),this.process(i,0);let l=d(e),c=this.outputLen;if(c%4)throw Error("_sha2: outputLen should be aligned to 32bit");let h=c/4,u=this.get();if(h>u.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<h;e++)l.setUint32(4*e,u[e],r)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let i=e.slice(0,t);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:i,length:a,finished:r,destroyed:s,pos:p}=this;return e.length=a,e.pos=p,e.finished=r,e.destroyed=s,a%t&&e.buffer.set(i),e}}let m=BigInt(4294967296-1),f=BigInt(32),g={split:function(e,t=!1){let i=new Uint32Array(e.length),a=new Uint32Array(e.length);for(let r=0;r<e.length;r++){let{h:s,l:p}=function(e,t=!1){return t?{h:Number(e&m),l:Number(e>>f&m)}:{h:0|Number(e>>f&m),l:0|Number(e&m)}}(e[r],t);[i[r],a[r]]=[s,p]}return[i,a]},shrSH:(e,t,i)=>e>>>i,shrSL:(e,t,i)=>e<<32-i|t>>>i,rotrSH:(e,t,i)=>e>>>i|t<<32-i,rotrSL:(e,t,i)=>e<<32-i|t>>>i,rotrBH:(e,t,i)=>e<<64-i|t>>>i-32,rotrBL:(e,t,i)=>e>>>i-32|t<<64-i,add:function(e,t,i,a){let r=(t>>>0)+(a>>>0);return{h:e+i+(r/4294967296|0)|0,l:0|r}},add3L:(e,t,i)=>(e>>>0)+(t>>>0)+(i>>>0),add3H:(e,t,i,a)=>t+i+a+(e/4294967296|0)|0,add4L:(e,t,i,a)=>(e>>>0)+(t>>>0)+(i>>>0)+(a>>>0),add4H:(e,t,i,a,r)=>t+i+a+r+(e/4294967296|0)|0,add5H:(e,t,i,a,r,s)=>t+i+a+r+s+(e/4294967296|0)|0,add5L:(e,t,i,a,r)=>(e>>>0)+(t>>>0)+(i>>>0)+(a>>>0)+(r>>>0)},[v,y]=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))),w=new Uint32Array(80),b=new Uint32Array(80);class _ extends u{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:i,Bl:a,Ch:r,Cl:s,Dh:p,Dl:o,Eh:d,El:l,Fh:c,Fl:h,Gh:u,Gl:m,Hh:f,Hl:g}=this;return[e,t,i,a,r,s,p,o,d,l,c,h,u,m,f,g]}set(e,t,i,a,r,s,p,o,d,l,c,h,u,m,f,g){this.Ah=0|e,this.Al=0|t,this.Bh=0|i,this.Bl=0|a,this.Ch=0|r,this.Cl=0|s,this.Dh=0|p,this.Dl=0|o,this.Eh=0|d,this.El=0|l,this.Fh=0|c,this.Fl=0|h,this.Gh=0|u,this.Gl=0|m,this.Hh=0|f,this.Hl=0|g}process(e,t){for(let i=0;i<16;i++,t+=4)w[i]=e.getUint32(t),b[i]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=0|w[e-15],i=0|b[e-15],a=g.rotrSH(t,i,1)^g.rotrSH(t,i,8)^g.shrSH(t,i,7),r=g.rotrSL(t,i,1)^g.rotrSL(t,i,8)^g.shrSL(t,i,7),s=0|w[e-2],p=0|b[e-2],o=g.rotrSH(s,p,19)^g.rotrBH(s,p,61)^g.shrSH(s,p,6),d=g.rotrSL(s,p,19)^g.rotrBL(s,p,61)^g.shrSL(s,p,6),l=g.add4L(r,d,b[e-7],b[e-16]),c=g.add4H(l,a,o,w[e-7],w[e-16]);w[e]=0|c,b[e]=0|l}let{Ah:i,Al:a,Bh:r,Bl:s,Ch:p,Cl:o,Dh:d,Dl:l,Eh:c,El:h,Fh:u,Fl:m,Gh:f,Gl:_,Hh:E,Hl:S}=this;for(let e=0;e<80;e++){let t=g.rotrSH(c,h,14)^g.rotrSH(c,h,18)^g.rotrBH(c,h,41),D=g.rotrSL(c,h,14)^g.rotrSL(c,h,18)^g.rotrBL(c,h,41),N=c&u^~c&f,I=h&m^~h&_,O=g.add5L(S,D,I,y[e],b[e]),x=g.add5H(O,E,t,N,v[e],w[e]),P=0|O,T=g.rotrSH(i,a,28)^g.rotrBH(i,a,34)^g.rotrBH(i,a,39),A=g.rotrSL(i,a,28)^g.rotrBL(i,a,34)^g.rotrBL(i,a,39),C=i&r^i&p^r&p,R=a&s^a&o^s&o;E=0|f,S=0|_,f=0|u,_=0|m,u=0|c,m=0|h,({h:c,l:h}=g.add(0|d,0|l,0|x,0|P)),d=0|p,l=0|o,p=0|r,o=0|s,r=0|i,s=0|a;let k=g.add3L(P,A,R);i=g.add3H(k,x,T,C),a=0|k}({h:i,l:a}=g.add(0|this.Ah,0|this.Al,0|i,0|a)),({h:r,l:s}=g.add(0|this.Bh,0|this.Bl,0|r,0|s)),({h:p,l:o}=g.add(0|this.Ch,0|this.Cl,0|p,0|o)),({h:d,l:l}=g.add(0|this.Dh,0|this.Dl,0|d,0|l)),({h:c,l:h}=g.add(0|this.Eh,0|this.El,0|c,0|h)),({h:u,l:m}=g.add(0|this.Fh,0|this.Fl,0|u,0|m)),({h:f,l:_}=g.add(0|this.Gh,0|this.Gl,0|f,0|_)),({h:E,l:S}=g.add(0|this.Hh,0|this.Hl,0|E,0|S)),this.set(i,a,r,s,p,o,d,l,c,h,u,m,f,_,E,S)}roundClean(){w.fill(0),b.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(),i=e();return t.outputLen=i.outputLen,t.blockLen=i.blockLen,t.create=()=>e(),t}(()=>new _),S=BigInt(0),D=BigInt(1),N=BigInt(2);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function I(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function O(e){if(!I(e))throw Error("Uint8Array expected")}function x(e,t){if("boolean"!=typeof t)throw Error(e+" boolean expected, got "+t)}let P=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function T(e){O(e);let t="";for(let i=0;i<e.length;i++)t+=P[e[i]];return t}function A(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return""===e?S:BigInt("0x"+e)}let C={_0:48,_9:57,A:65,F:70,a:97,f:102};function R(e){return e>=C._0&&e<=C._9?e-C._0:e>=C.A&&e<=C.F?e-(C.A-10):e>=C.a&&e<=C.f?e-(C.a-10):void 0}function k(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);let t=e.length,i=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let a=new Uint8Array(i);for(let t=0,r=0;t<i;t++,r+=2){let i=R(e.charCodeAt(r)),s=R(e.charCodeAt(r+1));if(void 0===i||void 0===s)throw Error('hex string expected, got non-hex character "'+(e[r]+e[r+1])+'" at index '+r);a[t]=16*i+s}return a}function V(e){return O(e),A(T(Uint8Array.from(e).reverse()))}function L(e,t){return k(e.toString(16).padStart(2*t,"0"))}function B(e,t){return L(e,t).reverse()}function j(e,t,i){let a;if("string"==typeof t)try{a=k(t)}catch(t){throw Error(e+" must be hex string or Uint8Array, cause: "+t)}else if(I(t))a=Uint8Array.from(t);else throw Error(e+" must be hex string or Uint8Array");let r=a.length;if("number"==typeof i&&r!==i)throw Error(e+" of length "+i+" expected, got "+r);return a}function U(...e){let t=0;for(let i=0;i<e.length;i++){let a=e[i];O(a),t+=a.length}let i=new Uint8Array(t);for(let t=0,a=0;t<e.length;t++){let r=e[t];i.set(r,a),a+=r.length}return i}let $=e=>"bigint"==typeof e&&S<=e;function q(e,t,i,a){if(!($(t)&&$(i)&&$(a))||!(i<=t)||!(t<a))throw Error("expected valid "+e+": "+i+" <= n < "+a+", got "+t)}let M=e=>(N<<BigInt(e-1))-D,F={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||I(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 z(e,t,i={}){let a=(t,i,a)=>{let r=F[i];if("function"!=typeof r)throw Error("invalid validator function");let s=e[t];if(!(a&&void 0===s)&&!r(s,e))throw Error("param "+String(t)+" is invalid. Expected "+i+", got "+s)};for(let[e,i]of Object.entries(t))a(e,i,!1);for(let[e,t]of Object.entries(i))a(e,t,!0);return e}function H(e){let t=new WeakMap;return(i,...a)=>{let r=t.get(i);if(void 0!==r)return r;let s=e(i,...a);return t.set(i,s),s}}let K=BigInt(0),W=BigInt(1),J=BigInt(2),G=BigInt(3),Y=BigInt(4),Z=BigInt(5),Q=BigInt(8);function X(e,t){let i=e%t;return i>=K?i:t+i}function ee(e,t,i){let a=e;for(;t-- >K;)a*=a,a%=i;return a}function et(e,t){if(e===K)throw Error("invert: expected non-zero number");if(t<=K)throw Error("invert: expected positive modulus, got "+t);let i=X(e,t),a=t,r=K,s=W;for(;i!==K;){let e=a/i,t=a%i,p=r-s*e;a=i,i=t,r=s,s=p}if(a!==W)throw Error("invert: does not exist");return X(r,t)}let ei=(e,t)=>(X(e,t)&W)===W,ea=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function er(e,t){let i=void 0!==t?t:e.toString(2).length;return{nBitLength:i,nByteLength:Math.ceil(i/8)}}function es(e,t,i=!1,a={}){let r;if(e<=K)throw Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:s,nByteLength:p}=er(e,t);if(p>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let o=Object.freeze({ORDER:e,isLE:i,BITS:s,BYTES:p,MASK:M(s),ZERO:K,ONE:W,create:t=>X(t,e),isValid:t=>{if("bigint"!=typeof t)throw Error("invalid field element: expected bigint, got "+typeof t);return K<=t&&t<e},is0:e=>e===K,isOdd:e=>(e&W)===W,neg:t=>X(-t,e),eql:(e,t)=>e===t,sqr:t=>X(t*t,e),add:(t,i)=>X(t+i,e),sub:(t,i)=>X(t-i,e),mul:(t,i)=>X(t*i,e),pow:(e,t)=>(function(e,t,i){if(i<K)throw Error("invalid exponent, negatives unsupported");if(i===K)return e.ONE;if(i===W)return t;let a=e.ONE,r=t;for(;i>K;)i&W&&(a=e.mul(a,r)),r=e.sqr(r),i>>=W;return a})(o,e,t),div:(t,i)=>X(t*et(i,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>et(t,e),sqrt:a.sqrt||(t=>(r||(r=function(e){if(e%Y===G){let t=(e+W)/Y;return function(e,i){let a=e.pow(i,t);if(!e.eql(e.sqr(a),i))throw Error("Cannot find square root");return a}}if(e%Q===Z){let t=(e-Z)/Q;return function(e,i){let a=e.mul(i,J),r=e.pow(a,t),s=e.mul(i,r),p=e.mul(e.mul(s,J),r),o=e.mul(s,e.sub(p,e.ONE));if(!e.eql(e.sqr(o),i))throw Error("Cannot find square root");return o}}return function(e){let t,i,a;let r=(e-W)/J;for(t=e-W,i=0;t%J===K;t/=J,i++);for(a=J;a<e&&function(e,t,i){if(t<K)throw Error("invalid exponent, negatives unsupported");if(i<=K)throw Error("invalid modulus");if(i===W)return K;let a=W;for(;t>K;)t&W&&(a=a*e%i),e=e*e%i,t>>=W;return a}(a,r,e)!==e-W;a++)if(a>1e3)throw Error("Cannot find square root: likely non-prime P");if(1===i){let t=(e+W)/Y;return function(e,i){let a=e.pow(i,t);if(!e.eql(e.sqr(a),i))throw Error("Cannot find square root");return a}}let s=(t+W)/J;return function(e,p){if(e.pow(p,r)===e.neg(e.ONE))throw Error("Cannot find square root");let o=i,d=e.pow(e.mul(e.ONE,a),t),l=e.pow(p,s),c=e.pow(p,t);for(;!e.eql(c,e.ONE);){if(e.eql(c,e.ZERO))return e.ZERO;let t=1;for(let i=e.sqr(c);t<o&&!e.eql(i,e.ONE);t++)i=e.sqr(i);let i=e.pow(d,W<<BigInt(o-t-1));d=e.sqr(i),l=e.mul(l,i),c=e.mul(c,d),o=t}return l}}(e)}(e)),r(o,t))),invertBatch:e=>(function(e,t){let i=Array(t.length),a=t.reduce((t,a,r)=>e.is0(a)?t:(i[r]=t,e.mul(t,a)),e.ONE),r=e.inv(a);return t.reduceRight((t,a,r)=>e.is0(a)?t:(i[r]=e.mul(t,i[r]),e.mul(t,a)),r),i})(o,e),cmov:(e,t,i)=>i?t:e,toBytes:e=>i?B(e,p):L(e,p),fromBytes:e=>{if(e.length!==p)throw Error("Field.fromBytes: expected "+p+" bytes, got "+e.length);return i?V(e):A(T(e))}});return Object.freeze(o)}let en=BigInt(0),ep=BigInt(1);function eo(e,t){let i=t.negate();return e?i:t}function ed(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 ed(e,t),{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}}let ec=new WeakMap,eh=new WeakMap;function eu(e){return eh.get(e)||1}let em=BigInt(0),ef=BigInt(1),eg=BigInt(2),ev=BigInt(8),ey={zip215:!0};BigInt(0),BigInt(1);let ew=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),eb=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt(0);let e_=BigInt(1),eE=BigInt(2);BigInt(3);let eS=BigInt(5),eD=BigInt(8),eN=es(ew,void 0,!0),eI=function(e){var t;let i=function(e){let t=(z(e.Fp,ea.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),z(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...er(e.n,e.nBitLength),...e,p:e.Fp.ORDER}));return z(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}(e),{Fp:a,n:r,prehash:s,hash:p,randomBytes:o,nByteLength:d,h:l}=i,c=eg<<BigInt(8*d)-ef,h=a.create,u=es(i.n,i.nBitLength),m=i.uvRatio||((e,t)=>{try{return{isValid:!0,value:a.sqrt(e*a.inv(t))}}catch{return{isValid:!1,value:em}}}),f=i.adjustScalarBytes||(e=>e),g=i.domain||((e,t,i)=>{if(x("phflag",i),t.length||i)throw Error("Contexts/pre-hash are not supported");return e});function v(e,t){q("coordinate "+e,t,em,c)}function y(e){if(!(e instanceof _))throw Error("ExtendedPoint expected")}let w=H((e,t)=>{let{ex:i,ey:r,ez:s}=e,p=e.is0();null==t&&(t=p?ev:a.inv(s));let o=h(i*t),d=h(r*t),l=h(s*t);if(p)return{x:em,y:ef};if(l!==ef)throw Error("invZ was invalid");return{x:o,y:d}}),b=H(e=>{let{a:t,d:a}=i;if(e.is0())throw Error("bad point: ZERO");let{ex:r,ey:s,ez:p,et:o}=e,d=h(r*r),l=h(s*s),c=h(p*p),u=h(c*c),m=h(d*t);if(h(c*h(m+l))!==h(u+h(a*h(d*l))))throw Error("bad point: equation left != right (1)");if(h(r*s)!==h(p*o))throw Error("bad point: equation left != right (2)");return!0});class _{constructor(e,t,i,a){this.ex=e,this.ey=t,this.ez=i,this.et=a,v("x",e),v("y",t),v("z",i),v("t",a),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof _)throw Error("extended point not allowed");let{x:t,y:i}=e||{};return v("x",t),v("y",i),new _(t,i,ef,h(t*i))}static normalizeZ(e){let t=a.invertBatch(e.map(e=>e.ez));return e.map((e,i)=>e.toAffine(t[i])).map(_.fromAffine)}static msm(e,t){return function(e,t,i,a){if(function(e,t){if(!Array.isArray(e))throw Error("array expected");e.forEach((e,i)=>{if(!(e instanceof t))throw Error("invalid point at index "+i)})}(i,e),function(e,t){if(!Array.isArray(e))throw Error("array of scalars expected");e.forEach((e,i)=>{if(!t.isValid(e))throw Error("invalid scalar at index "+i)})}(a,t),i.length!==a.length)throw Error("arrays of points and scalars must have equal length");let r=e.ZERO,s=function(e){let t;for(t=0;e>S;e>>=D,t+=1);return t}(BigInt(i.length)),p=s>12?s-3:s>4?s-2:s?2:1,o=(1<<p)-1,d=Array(o+1).fill(r),l=Math.floor((t.BITS-1)/p)*p,c=r;for(let e=l;e>=0;e-=p){d.fill(r);for(let t=0;t<a.length;t++){let r=Number(a[t]>>BigInt(e)&BigInt(o));d[r]=d[r].add(i[t])}let t=r;for(let e=d.length-1,i=r;e>0;e--)i=i.add(d[e]),t=t.add(i);if(c=c.add(t),0!==e)for(let e=0;e<p;e++)c=c.double()}return c}(_,u,e,t)}_setWindowSize(e){I.setWindowSize(this,e)}assertValidity(){b(this)}equals(e){y(e);let{ex:t,ey:i,ez:a}=this,{ex:r,ey:s,ez:p}=e,o=h(t*p),d=h(r*a),l=h(i*p),c=h(s*a);return o===d&&l===c}is0(){return this.equals(_.ZERO)}negate(){return new _(h(-this.ex),this.ey,this.ez,h(-this.et))}double(){let{a:e}=i,{ex:t,ey:a,ez:r}=this,s=h(t*t),p=h(a*a),o=h(eg*h(r*r)),d=h(e*s),l=t+a,c=h(h(l*l)-s-p),u=d+p,m=u-o,f=d-p,g=h(c*m),v=h(u*f),y=h(c*f);return new _(g,v,h(m*u),y)}add(e){y(e);let{a:t,d:a}=i,{ex:r,ey:s,ez:p,et:o}=this,{ex:d,ey:l,ez:c,et:u}=e;if(t===BigInt(-1)){let e=h((s-r)*(l+d)),t=h((s+r)*(l-d)),i=h(t-e);if(i===em)return this.double();let a=h(p*eg*u),m=h(o*eg*c),f=m+a,g=t+e,v=m-a,y=h(f*i),w=h(g*v),b=h(f*v);return new _(y,w,h(i*g),b)}let m=h(r*d),f=h(s*l),g=h(o*a*u),v=h(p*c),w=h((r+s)*(d+l)-m-f),b=v-g,E=v+g,S=h(f-t*m),D=h(w*b),N=h(E*S),I=h(w*S);return new _(D,N,h(b*E),I)}subtract(e){return this.add(e.negate())}wNAF(e){return I.wNAFCached(this,e,_.normalizeZ)}multiply(e){q("scalar",e,ef,r);let{p:t,f:i}=this.wNAF(e);return _.normalizeZ([t,i])[0]}multiplyUnsafe(e,t=_.ZERO){return q("scalar",e,em,r),e===em?N:this.is0()||e===ef?this:I.wNAFCachedUnsafe(this,e,_.normalizeZ,t)}isSmallOrder(){return this.multiplyUnsafe(l).is0()}isTorsionFree(){return I.unsafeLadder(this,r).is0()}toAffine(e){return w(this,e)}clearCofactor(){let{h:e}=i;return e===ef?this:this.multiplyUnsafe(e)}static fromHex(e,t=!1){let{d:r,a:s}=i,p=a.BYTES;e=j("pointHex",e,p),x("zip215",t);let o=e.slice(),d=e[p-1];o[p-1]=-129&d;let l=V(o);q("pointHex.y",l,em,t?c:a.ORDER);let u=h(l*l),{isValid:f,value:g}=m(h(u-ef),h(r*u-s));if(!f)throw Error("Point.fromHex: invalid y coordinate");let v=(g&ef)===ef,y=(128&d)!=0;if(!t&&g===em&&y)throw Error("Point.fromHex: x=0 and x_0=1");return y!==v&&(g=h(-g)),_.fromAffine({x:g,y:l})}static fromPrivateKey(e){return O(e).point}toRawBytes(){let{x:e,y:t}=this.toAffine(),i=B(t,a.BYTES);return i[i.length-1]|=e&ef?128:0,i}toHex(){return T(this.toRawBytes())}}_.BASE=new _(i.Gx,i.Gy,ef,h(i.Gx*i.Gy)),_.ZERO=new _(em,ef,ef,em);let{BASE:E,ZERO:N}=_,I=(t=8*d,{constTimeNegate:eo,hasPrecomputes:e=>1!==eu(e),unsafeLadder(e,t,i=_.ZERO){let a=e;for(;t>en;)t&ep&&(i=i.add(a)),a=a.double(),t>>=ep;return i},precomputeWindow(e,i){let{windows:a,windowSize:r}=el(i,t),s=[],p=e,o=p;for(let e=0;e<a;e++){o=p,s.push(o);for(let e=1;e<r;e++)o=o.add(p),s.push(o);p=o.double()}return s},wNAF(e,i,a){let{windows:r,windowSize:s}=el(e,t),p=_.ZERO,o=_.BASE,d=BigInt(2**e-1),l=2**e,c=BigInt(e);for(let e=0;e<r;e++){let t=e*s,r=Number(a&d);a>>=c,r>s&&(r-=l,a+=ep);let h=t+Math.abs(r)-1,u=e%2!=0,m=r<0;0===r?o=o.add(eo(u,i[t])):p=p.add(eo(m,i[h]))}return{p:p,f:o}},wNAFUnsafe(e,i,a,r=_.ZERO){let{windows:s,windowSize:p}=el(e,t),o=BigInt(2**e-1),d=2**e,l=BigInt(e);for(let e=0;e<s;e++){let t=e*p;if(a===en)break;let s=Number(a&o);if(a>>=l,s>p&&(s-=d,a+=ep),0===s)continue;let c=i[t+Math.abs(s)-1];s<0&&(c=c.negate()),r=r.add(c)}return r},getPrecomputes(e,t,i){let a=ec.get(t);return a||(a=this.precomputeWindow(t,e),1!==e&&ec.set(t,i(a))),a},wNAFCached(e,t,i){let a=eu(e);return this.wNAF(a,this.getPrecomputes(a,e,i),t)},wNAFCachedUnsafe(e,t,i,a){let r=eu(e);return 1===r?this.unsafeLadder(e,t,a):this.wNAFUnsafe(r,this.getPrecomputes(r,e,i),t,a)},setWindowSize(e,i){ed(i,t),eh.set(e,i),ec.delete(e)}});function O(e){let t=a.BYTES;e=j("private key",e,t);let i=j("hashed private key",p(e),2*t),s=f(i.slice(0,t)),o=i.slice(t,2*t),d=X(V(s),r),l=E.multiply(d),c=l.toRawBytes();return{head:s,prefix:o,scalar:d,point:l,pointBytes:c}}function P(e=new Uint8Array,...t){return X(V(p(g(U(...t),j("context",e),!!s))),r)}return E._setWindowSize(8),{CURVE:i,getPublicKey:function(e){return O(e).pointBytes},sign:function(e,t,i={}){e=j("message",e),s&&(e=s(e));let{prefix:p,scalar:o,pointBytes:d}=O(t),l=P(i.context,p,e),c=E.multiply(l).toRawBytes(),h=X(l+P(i.context,c,d,e)*o,r);return q("signature.s",h,em,r),j("result",U(c,B(h,a.BYTES)),2*a.BYTES)},verify:function(e,t,i,r=ey){let p,o,d;let{context:l,zip215:c}=r,h=a.BYTES;e=j("signature",e,2*h),t=j("message",t),i=j("publicKey",i,h),void 0!==c&&x("zip215",c),s&&(t=s(t));let u=V(e.slice(h,2*h));try{p=_.fromHex(i,c),o=_.fromHex(e.slice(0,h),c),d=E.multiplyUnsafe(u)}catch{return!1}if(!c&&p.isSmallOrder())return!1;let m=P(l,o.toRawBytes(),p.toRawBytes(),t);return o.add(p.multiplyUnsafe(m)).subtract(d).clearCofactor().equals(_.ZERO)},ExtendedPoint:_,utils:{getExtendedPublicKey:O,randomPrivateKey:()=>o(a.BYTES),precompute:(e=8,t=_.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)}}}({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:eN,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:eD,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:E,randomBytes:h,adjustScalarBytes:function(e){return e[0]&=248,e[31]&=127,e[31]|=64,e},uvRatio:function(e,t){let i=X(t*t*t,ew),a=function(e){let t=BigInt(10),i=BigInt(20),a=BigInt(40),r=BigInt(80),s=e*e%ew*e%ew,p=ee(s,eE,ew)*s%ew,o=ee(p,e_,ew)*e%ew,d=ee(o,eS,ew)*o%ew,l=ee(d,t,ew)*d%ew,c=ee(l,i,ew)*l%ew,h=ee(c,a,ew)*c%ew,u=ee(h,r,ew)*h%ew,m=ee(u,r,ew)*h%ew,f=ee(m,t,ew)*d%ew;return{pow_p_5_8:ee(f,eE,ew)*e%ew,b2:s}}(e*X(i*i*t,ew)).pow_p_5_8,r=X(e*i*a,ew),s=X(t*r*r,ew),p=r,o=X(r*eb,ew),d=s===e,l=s===X(-e,ew),c=s===X(-e*eb,ew);return d&&(r=p),(l||c)&&(r=o),ei(r,ew)&&(r=X(-r,ew)),{isValid:d||l,value:r}}}),eO="base64url",ex="utf8",eP="utf8",eT="base58btc";function eA(e){return null!=globalThis.Buffer?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function eC(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?eA(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function eR(e,t){t||(t=e.reduce((e,t)=>e+t.length,0));let i=eC(t),a=0;for(let t of e)i.set(t,a),a+=t.length;return eA(i)}var ek=function(e,t){if(e.length>=255)throw TypeError("Alphabet too long");for(var i=new Uint8Array(256),a=0;a<i.length;a++)i[a]=255;for(var r=0;r<e.length;r++){var s=e.charAt(r),p=s.charCodeAt(0);if(255!==i[p])throw TypeError(s+" is ambiguous");i[p]=r}var o=e.length,d=e.charAt(0),l=Math.log(o)/Math.log(256),c=Math.log(256)/Math.log(o);function h(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[0]){for(var a=0,r=0;e[t]===d;)a++,t++;for(var s=(e.length-t)*l+1>>>0,p=new Uint8Array(s);e[t];){var c=i[e.charCodeAt(t)];if(255===c)return;for(var h=0,u=s-1;(0!==c||h<r)&&-1!==u;u--,h++)c+=o*p[u]>>>0,p[u]=c%256>>>0,c=c/256>>>0;if(0!==c)throw Error("Non-zero carry");r=h,t++}if(" "!==e[t]){for(var m=s-r;m!==s&&0===p[m];)m++;for(var f=new Uint8Array(a+(s-m)),g=a;m!==s;)f[g++]=p[m++];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 i=0,a=0,r=0,s=t.length;r!==s&&0===t[r];)r++,i++;for(var p=(s-r)*c+1>>>0,l=new Uint8Array(p);r!==s;){for(var h=t[r],u=0,m=p-1;(0!==h||u<a)&&-1!==m;m--,u++)h+=256*l[m]>>>0,l[m]=h%o>>>0,h=h/o>>>0;if(0!==h)throw Error("Non-zero carry");a=u,r++}for(var f=p-a;f!==p&&0===l[f];)f++;for(var g=d.repeat(i);f<p;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:h,decode:function(e){var i=h(e);if(i)return i;throw Error(`Non-${t} character`)}}};let eV=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),eB=e=>new TextDecoder().decode(e);class ej{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class eU{constructor(e,t,i){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}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 eq(this,e)}}class e${constructor(e){this.decoders=e}or(e){return eq(this,e)}decode(e){let t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}let eq=(e,t)=>new e$({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class eM{constructor(e,t,i,a){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=a,this.encoder=new ej(e,t,i),this.decoder=new eU(e,t,a)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}let eF=({name:e,prefix:t,encode:i,decode:a})=>new eM(e,t,i,a),ez=({prefix:e,name:t,alphabet:i})=>{let{encode:a,decode:r}=ek(i,t);return eF({prefix:e,name:t,encode:a,decode:e=>eV(r(e))})},eH=(e,t,i,a)=>{let r={};for(let e=0;e<t.length;++e)r[t[e]]=e;let s=e.length;for(;"="===e[s-1];)--s;let p=new Uint8Array(s*i/8|0),o=0,d=0,l=0;for(let t=0;t<s;++t){let s=r[e[t]];if(void 0===s)throw SyntaxError(`Non-${a} character`);d=d<<i|s,(o+=i)>=8&&(o-=8,p[l++]=255&d>>o)}if(o>=i||255&d<<8-o)throw SyntaxError("Unexpected end of data");return p},eK=(e,t,i)=>{let a="="===t[t.length-1],r=(1<<i)-1,s="",p=0,o=0;for(let a=0;a<e.length;++a)for(o=o<<8|e[a],p+=8;p>i;)p-=i,s+=t[r&o>>p];if(p&&(s+=t[r&o<<i-p]),a)for(;s.length*i&7;)s+="=";return s},eW=({name:e,prefix:t,bitsPerChar:i,alphabet:a})=>eF({prefix:t,name:e,encode:e=>eK(e,a,i),decode:t=>eH(t,a,i,e)});var eJ=Object.freeze({__proto__:null,identity:eF({prefix:"\0",name:"identity",encode:e=>eB(e),decode:e=>eL(e)})}),eG=Object.freeze({__proto__:null,base2:eW({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})}),eY=Object.freeze({__proto__:null,base8:eW({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})}),eZ=Object.freeze({__proto__:null,base10:ez({prefix:"9",name:"base10",alphabet:"0123456789"})}),eQ=Object.freeze({__proto__:null,base16:eW({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),base16upper:eW({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});let eX=eW({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),e1=eW({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),e0=eW({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),e2=eW({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),e6=eW({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),e4=eW({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5});var e3=Object.freeze({__proto__:null,base32:eX,base32upper:e1,base32pad:e0,base32padupper:e2,base32hex:e6,base32hexupper:e4,base32hexpad:eW({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),base32hexpadupper:eW({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),base32z:eW({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})}),e8=Object.freeze({__proto__:null,base36:ez({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),base36upper:ez({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})}),e9=Object.freeze({__proto__:null,base58btc:ez({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),base58flickr:ez({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});let e5=eW({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6});var e7=Object.freeze({__proto__:null,base64:e5,base64pad:eW({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),base64url:eW({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),base64urlpad:eW({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});let te=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"),tt=te.reduce((e,t,i)=>(e[i]=t,e),[]),ti=te.reduce((e,t,i)=>(e[t.codePointAt(0)]=i,e),[]);var ta=Object.freeze({__proto__:null,base256emoji:eF({prefix:"\uD83D\uDE80",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>e+=tt[t],"")},decode:function(e){let t=[];for(let i of e){let e=ti[i.codePointAt(0)];if(void 0===e)throw Error(`Non-base256emoji character: ${i}`);t.push(e)}return new Uint8Array(t)}})});function tr(e,t){var i,a=0,t=t||0,r=0,s=t,p=e.length;do{if(s>=p)throw tr.bytes=0,RangeError("Could not decode varint");i=e[s++],a+=r<28?(127&i)<<r:(127&i)*Math.pow(2,r),r+=7}while(i>=128);return tr.bytes=s-t,a}var ts={encode:function e(t,i,a){i=i||[],a=a||0;for(var r=a;t>=2147483648;)i[a++]=255&t|128,t/=128;for(;-128&t;)i[a++]=255&t|128,t>>>=7;return i[a]=0|t,e.bytes=a-r+1,i},encodingLength:function(e){return 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}};let tn=(e,t,i=0)=>(ts.encode(e,t,i),t),tp=e=>ts.encodingLength(e),to=(e,t)=>{let i=t.byteLength,a=tp(e),r=a+tp(i),s=new Uint8Array(r+i);return tn(e,s,0),tn(i,s,a),s.set(t,r),new td(e,i,t,s)};class td{constructor(e,t,i,a){this.code=e,this.size=t,this.digest=i,this.bytes=a}}let tl=({name:e,code:t,encode:i})=>new tc(e,t,i);class tc{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?to(this.code,t):t.then(e=>to(this.code,e))}throw Error("Unknown type, must be binary type")}}let th=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t));var tu=Object.freeze({__proto__:null,sha256:tl({name:"sha2-256",code:18,encode:th("SHA-256")}),sha512:tl({name:"sha2-512",code:19,encode:th("SHA-512")})}),tm=Object.freeze({__proto__:null,identity:{code:0,name:"identity",encode:eV,digest:e=>to(0,eV(e))}});new TextEncoder,new TextDecoder;let tf={...eJ,...eG,...eY,...eZ,...eQ,...e3,...e8,...e9,...e7,...ta};function tg(e,t,i,a){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:i},decoder:{decode:a}}}({...tu,...tm});let tv=tg("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),ty=tg("ascii","a",e=>{let t="a";for(let i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);return t},e=>{let t=eC((e=e.substring(1)).length);for(let i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t}),tw={utf8:tv,"utf-8":tv,hex:tf.base16,latin1:ty,ascii:ty,binary:ty,...tf};function tb(e,t="utf8"){let i=tw[t];if(!i)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"):i.encoder.encode(e).substring(1)}function t_(e,t="utf8"){let i=tw[t];if(!i)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")):i.decoder.decode(`${i.prefix}${e}`)}function tE(e){return(0,r.D)(tb(t_(e,eO),ex))}function tS(e){return tb(t_((0,r.u)(e),ex),eO)}function tD(e){return["did","key","z"+tb(eR([t_("K36",eT),e]),eT)].join(":")}function tN(e){let t=e.split("."),i=tE(t[0]);return{header:i,payload:tE(t[1]),signature:t_(t[2],eO),data:t_(t.slice(0,2).join("."),eP)}}function tI(e=h(32)){let t=eI.getPublicKey(e);return{secretKey:eR([e,t]),publicKey:t}}async function tO(e,t,i,r,s=(0,a.fromMiliseconds)(Date.now())){var p,o;let d={alg:"EdDSA",typ:"JWT"},l={iss:tD(r.publicKey),sub:e,aud:t,iat:s,exp:s+i},c=t_([tS((p={header:d,payload:l}).header),tS(p.payload)].join("."),eP);return[tS((o={header:d,payload:l,signature:eI.sign(c,r.secretKey.slice(0,32))}).header),tS(o.payload),tb(o.signature,eO)].join(".")}},60143:(e,t,i)=>{"use strict";i.d(t,{D:()=>s,u:()=>p});let a=e=>JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString()+"n":t),r=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 s(e){if("string"!=typeof e)throw Error(`Cannot safe json parse value of type ${typeof e}`);try{return r(e)}catch(t){return e}}function p(e){return"string"==typeof e?e:a(e)||""}},2622:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});let a=i(9839);a.__exportStar(i(57164),t),a.__exportStar(i(44690),t)},57164:(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},44690:(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},39064:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});let a=i(9839);a.__exportStar(i(75202),t),a.__exportStar(i(23449),t),a.__exportStar(i(75882),t),a.__exportStar(i(2622),t)},75882:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),i(9839).__exportStar(i(15560),t)},15560:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IWatch=void 0;class i{}t.IWatch=i},26195:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fromMiliseconds=t.toMiliseconds=void 0;let a=i(2622);t.toMiliseconds=function(e){return e*a.ONE_THOUSAND},t.fromMiliseconds=function(e){return Math.floor(e/a.ONE_THOUSAND)}},76562:(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)})}},75202:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});let a=i(9839);a.__exportStar(i(76562),t),a.__exportStar(i(26195),t)},23449:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Watch=void 0;class i{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 i=Date.now()-t.started;this.timestamps.set(e,{started:t.started,elapsed:i})}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=i,t.default=i},74892:(e,t)=>{"use strict";function i(e){let t;return"undefined"!=typeof window&&void 0!==window[e]&&(t=window[e]),t}function a(e){let t=i(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=i,t.getFromWindowOrThrow=a,t.getDocumentOrThrow=function(){return a("document")},t.getDocument=function(){return i("document")},t.getNavigatorOrThrow=function(){return a("navigator")},t.getNavigator=function(){return i("navigator")},t.getLocationOrThrow=function(){return a("location")},t.getLocation=function(){return i("location")},t.getCryptoOrThrow=function(){return a("crypto")},t.getCrypto=function(){return i("crypto")},t.getLocalStorageOrThrow=function(){return a("localStorage")},t.getLocalStorage=function(){return i("localStorage")}},65731:(e,t,i)=>{"use strict";t.D=void 0;let a=i(74892);t.D=function(){let e,t,i;try{e=a.getDocumentOrThrow(),t=a.getLocationOrThrow()}catch(e){return null}function r(...t){let i=e.getElementsByTagName("meta");for(let e=0;e<i.length;e++){let a=i[e],r=["itemprop","property","name"].map(e=>a.getAttribute(e)).filter(e=>!!e&&t.includes(e));if(r.length&&r){let e=a.getAttribute("content");if(e)return e}}return""}let s=((i=r("name","og:site_name","og:title","twitter:title"))||(i=e.title),i),p=r("description","og:description","twitter:description","keywords");return{description:p,url:t.origin,icons:function(){let i=e.getElementsByTagName("link"),a=[];for(let e=0;e<i.length;e++){let r=i[e],s=r.getAttribute("rel");if(s&&s.toLowerCase().indexOf("icon")>-1){let e=r.getAttribute("href");if(e){if(-1===e.toLowerCase().indexOf("https:")&&-1===e.toLowerCase().indexOf("http:")&&0!==e.indexOf("//")){let i=t.protocol+"//"+t.host;if(0===e.indexOf("/"))i+=e;else{let a=t.pathname.split("/");a.pop(),i+=a.join("/")+"/"+e}a.push(i)}else if(0===e.indexOf("//")){let i=t.protocol+e;a.push(i)}else a.push(e)}}}return a}(),name:s}}},84203:e=>{"use strict";if("undefined"!=typeof SharedArrayBuffer&&"undefined"!=typeof Atomics){let t=new Int32Array(new SharedArrayBuffer(4));e.exports=function(e){if(!1==(e>0&&e<1/0)){if("number"!=typeof e&&"bigint"!=typeof e)throw TypeError("sleep: ms must be a number");throw RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity")}Atomics.wait(t,0,0,Number(e))}}else e.exports=function(e){if(!1==(e>0&&e<1/0)){if("number"!=typeof e&&"bigint"!=typeof e)throw TypeError("sleep: ms must be a number");throw RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity")}let t=Date.now()+Number(e);for(;t>Date.now(););}},29567:e=>{"use strict";e.exports={mask:(e,t,i,a,r)=>{for(var s=0;s<r;s++)i[a+s]=e[s]^t[3&s]},unmask:(e,t)=>{let i=e.length;for(var a=0;a<i;a++)e[a]^=t[3&a]}}},71403:(e,t,i)=>{"use strict";try{e.exports=i(14387)(__dirname)}catch(t){e.exports=i(29567)}},37473:(e,t,i)=>{let a=i(61261),r=a.default||a,s=function(e,t){return/^\/\//.test(e)&&(e="https:"+e),r.call(this,e,t)};s.ponyfill=!0,e.exports=t=s,t.fetch=s,t.Headers=a.Headers,t.Request=a.Request,t.Response=a.Response,t.default=s},274:(e,t,i)=>{"use strict";i.d(t,{qY:()=>u});var a=function(e,t,i){if(i||2==arguments.length)for(var a,r=0,s=t.length;r<s;r++)!a&&r in t||(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))},r=function(e,t,i){this.name=e,this.version=t,this.os=i,this.type="browser"},s=function(e){this.version=e,this.type="node",this.name="node",this.os=process.platform},p=function(e,t,i,a){this.name=e,this.version=t,this.os=i,this.bot=a,this.type="bot-device"},o=function(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null},d=function(){this.type="react-native",this.name="react-native",this.version=null,this.os=null},l=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,c=[["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/]],h=[["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 u(e){return e?m(e):"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product?new d:"undefined"!=typeof navigator?m(navigator.userAgent):"undefined"!=typeof process&&process.version?new s(process.version.slice(1)):null}function m(e){var t=""!==e&&c.reduce(function(t,i){var a=i[0],r=i[1];if(t)return t;var s=r.exec(e);return!!s&&[a,s]},!1);if(!t)return null;var i=t[0],s=t[1];if("searchbot"===i)return new o;var d=s[1]&&s[1].split(".").join("_").split("_").slice(0,3);d?d.length<3&&(d=a(a([],d,!0),function(e){for(var t=[],i=0;i<e;i++)t.push("0");return t}(3-d.length),!0)):d=[];var u=d.join("."),m=function(e){for(var t=0,i=h.length;t<i;t++){var a=h[t],r=a[0];if(a[1].exec(e))return r}return null}(e),f=l.exec(e);return f&&f[1]?new p(i,u,m,f[1]):new r(i,u,m)}},23717:(e,t,i)=>{"use strict";let a=i(41521),r=i(14936),s=i(94345),p=i(13105),{groupRedact:o,nestedRedact:d}=i(93030),l=i(16917),c=i(97525),h=a(),u=e=>e;function m(e={}){let t=Array.from(new Set(e.paths||[])),i="serialize"in e?!1===e.serialize?e.serialize:"function"==typeof e.serialize?e.serialize:JSON.stringify:JSON.stringify,a=e.remove;if(!0===a&&i!==JSON.stringify)throw Error("fast-redact – remove option may only be set when serializer is JSON.stringify");let c=!0===a?void 0:"censor"in e?e.censor:"[REDACTED]",m="function"==typeof c,f=m&&c.length>1;if(0===t.length)return i||u;h({paths:t,serialize:i,censor:c});let{wildcards:g,wcLen:v,secret:y}=r({paths:t,censor:c}),w=p({secret:y,wcLen:v});return s({secret:y,wcLen:v,serialize:i,strict:!("strict"in e)||e.strict,isCensorFct:m,censorFctTakesPath:f},l({secret:y,censor:c,compileRestore:w,serialize:i,groupRedact:o,nestedRedact:d,wildcards:g,wcLen:v}))}u.restore=u,m.rx=c,m.validator=a,e.exports=m},93030:e=>{"use strict";function t(e,t){return null!=e&&("hasOwn"in Object?Object.hasOwn(e,t):Object.prototype.hasOwnProperty.call(e,t))}function i(e,t){for(var i=-1,a=t.length,r=e;null!=r&&++i<a;)r=r[t[i]];return r}function a(e,t,i){if(e.depth===i)return a(e.parent,t,i);var r={parent:e,key:t,depth:i,children:[]};return e.children.push(r),r}function r(e,t,i){let a=e,r=[];do r.push(a.key),a=a.parent;while(null!=a.parent);return{path:r,value:t,target:i}}e.exports={groupRedact:function(e,t,a,r,s){let p=i(e,t);if(null==p)return{keys:null,values:null,target:null,flat:!0};let o=Object.keys(p),d=o.length,l=t.length,c=s?[...t]:void 0,h=Array(d);for(var u=0;u<d;u++){let e=o[u];h[u]=p[e],s?(c[l]=e,p[e]=a(p[e],c)):r?p[e]=a(p[e]):p[e]=a}return{keys:o,values:h,target:p,flat:!0}},groupRestore:function({keys:e,values:t,target:i}){if(null==i)return;let a=e.length;for(var r=0;r<a;r++)i[e[r]]=t[r]},nestedRedact:function(e,s,p,o,d,l,c){let h=i(s,p);if(null==h)return;let u=Object.keys(h),m=u.length;for(var f=0;f<m;f++)(function(e,i,s,p,o,d,l,c){let h=o.length,u=h-1,m=s;var f,g,v,y,w,b=-1,_=null,E=null,S=!1,D=0,N={parent:null,key:null,children:[],depth:0};if(v=f=i[s],"object"==typeof f){for(;null!=f&&++b<h&&(D+=1,s=o[b],"*"===s||E||"object"==typeof f&&(s in f));)if("*"!==s||("*"===E&&(S=!0),E=s,b===u)){if(E){let h=Object.keys(f);for(var I=0;I<h.length;I++){let _=h[I];if(w=f[_],y="*"===s,S)N=a(N,_,D),v=function e(i,s,p,o,d,l,c,h,u,m,f,g,v,y,w,b,_,E,S,D){if(0===s&&(v||"object"==typeof i&&null!==i&&p in i)){if(g=v?i:i[p],f=w!==b?g:c?h?l(g,[...o,u,...d]):l(g):l,v){let e=r(_,g,S);E.push(e),m[y]=f}else if(i[p]===f);else if(void 0===f&&void 0!==l||t(i,p)&&f===g);else{let e=r(a(_,p,D+1),g,S);E.push(e),i[p]=f}}for(let t in i)"object"==typeof i[t]&&(_=a(_,t,D),e(i[t],s-1,p,o,d,l,c,h,u,m,f,g,v,y,w,b,_,E,S,D+1))}(w,b-1,s,p,o,d,l,c,m,f,g,v,y,_,b,u,N,e,i[m],D+1);else if(y||"object"==typeof w&&null!==w&&s in w){if(v=y?w:w[s],g=b!==u?v:l?c?d(v,[...p,m,...o]):d(v):d,y){let t=r(a(N,_,D),v,i[m]);e.push(t),f[_]=g}else if(w[s]===g);else if(void 0===g&&void 0!==d||t(w,s)&&g===v)N=a(N,_,D);else{N=a(N,_,D);let t=r(a(N,s,D+1),v,i[m]);e.push(t),w[s]=g}}}E=null}else{if(v=f[s],N=a(N,s,D),g=b!==u?v:l?c?d(v,[...p,m,...o]):d(v):d,t(f,s)&&g===v||void 0===g&&void 0!==d);else{let t=r(N,v,i[m]);e.push(t),f[s]=g}f=f[s]}if("object"!=typeof f)break}}})(e,h,u[f],p,o,d,l,c);return e},nestedRestore:function(e){for(let t=0;t<e.length;t++){let{target:i,path:a,value:r}=e[t],s=i;for(let e=a.length-1;e>0;e--)s=s[a[e]];s[a[0]]=r}}}},14936:(e,t,i)=>{"use strict";let a=i(97525);e.exports=function({paths:e}){let t=[];var i=0;let r=e.reduce(function(e,r,s){var p=r.match(a).map(e=>e.replace(/'|"|`/g,""));let o="["===r[0],d=(p=p.map(e=>"["===e[0]?e.substr(1,e.length-2):e)).indexOf("*");if(d>-1){let e=p.slice(0,d),a=e.join("."),r=p.slice(d+1,p.length),s=r.length>0;i++,t.push({before:e,beforeStr:a,after:r,nested:s})}else e[r]={path:p,val:void 0,precensored:!1,circle:"",escPath:JSON.stringify(r),leadingBracket:o};return e},{});return{wildcards:t,wcLen:i,secret:r}}},94345:(e,t,i)=>{"use strict";let a=i(97525);e.exports=function({secret:e,serialize:t,wcLen:i,strict:r,isCensorFct:s,censorFctTakesPath:p},o){let d=Function("o",`
11
11
  if (typeof o !== 'object' || o == null) {
12
12
  ${!0===r?"throw Error('fast-redact: primitives cannot be redacted')":!1===t?"return o":"return this.serialize(o)"}
13
13
  }