@wormhole-foundation/wormhole-connect 3.0.2-beta.0-development → 3.0.2-beta.1-development

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 (290) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/{basic-ChNCp6rI.js → basic-PUjrTVXb.js} +1 -1
  3. package/dist/assets/{evm-DSirgd5b.js → evm-CO5UWnAY.js} +2 -2
  4. package/dist/assets/{index-L-lC4rqb.js → index-1lzfHdT2.js} +1 -1
  5. package/dist/assets/{index-CHfaLf5J.js → index-DBVZDYF7.js} +1 -1
  6. package/dist/assets/index-DKlPX3ZI.js +1 -0
  7. package/dist/assets/{index-BtCrMDAu.js → index-Ddk7n7Ti.js} +1 -1
  8. package/dist/assets/{index-HhyysXFu.js → index-DyUmO4PR.js} +1 -1
  9. package/dist/assets/{index-BiwA3Bbq.js → index-MMzKxP1N.js} +1 -1
  10. package/dist/assets/{secp256k1-Cd7rIav0.js → secp256k1-0LtSM2L1.js} +1 -1
  11. package/dist/assets/{secp256k1-BQBOR8e3.js → secp256k1-DwTU3j1N.js} +1 -1
  12. package/dist/assets/{solana-DcwLWeKT.js → solana-DlGdMBSL.js} +4 -4
  13. package/dist/assets/{w3m-modal-DdptuLHe.js → w3m-modal-DD9Jgepz.js} +1 -1
  14. package/dist/main.js +72 -70
  15. package/dist/src/AppRouter.d.ts.map +1 -1
  16. package/dist/src/config/mainnet/tokens.d.ts.map +1 -1
  17. package/dist/src/config/testnet/tokens.d.ts.map +1 -1
  18. package/dist/src/config/tokens.d.ts +1 -1
  19. package/dist/src/config/tokens.d.ts.map +1 -1
  20. package/dist/src/exports/index.d.ts +2 -2
  21. package/dist/src/exports/index.d.ts.map +1 -1
  22. package/dist/src/hooks/useFetchQuotes.d.ts.map +1 -1
  23. package/dist/src/icons/Chains/PLUME.d.ts.map +1 -1
  24. package/dist/src/icons/PoweredBy.d.ts.map +1 -1
  25. package/dist/src/icons/Routing.d.ts +5 -0
  26. package/dist/src/icons/Routing.d.ts.map +1 -0
  27. package/dist/src/icons/Tokens/PLUME.d.ts.map +1 -1
  28. package/dist/src/store/transferInput.d.ts +1 -1
  29. package/dist/src/store/transferInput.d.ts.map +1 -1
  30. package/dist/src/utils/coingecko.d.ts.map +1 -1
  31. package/dist/src/utils/formatNumber.d.ts +23 -0
  32. package/dist/src/utils/formatNumber.d.ts.map +1 -0
  33. package/dist/src/utils/index.d.ts +3 -1
  34. package/dist/src/utils/index.d.ts.map +1 -1
  35. package/dist/src/utils/routes.d.ts +12 -0
  36. package/dist/src/utils/routes.d.ts.map +1 -0
  37. package/dist/src/views/v2/Bridge/AmountInput/index.d.ts.map +1 -1
  38. package/dist/src/views/v2/Bridge/AssetPicker/TokenItem.d.ts.map +1 -1
  39. package/dist/src/views/v2/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  40. package/dist/src/views/v2/Redeem/TransactionDetails/index.d.ts.map +1 -1
  41. package/dist/src/views/v3/Bridge/AmountInput/index.d.ts.map +1 -1
  42. package/dist/src/views/v3/Bridge/AssetPicker/TokenItem.d.ts.map +1 -1
  43. package/dist/src/views/v3/Bridge/AssetPicker/index.d.ts.map +1 -1
  44. package/dist/src/views/v3/Bridge/GasSlider/index.d.ts.map +1 -1
  45. package/dist/src/views/v3/Bridge/Routes/Eta.d.ts +6 -0
  46. package/dist/src/views/v3/Bridge/Routes/Eta.d.ts.map +1 -0
  47. package/dist/src/views/v3/Bridge/Routes/RouteBadge.d.ts.map +1 -1
  48. package/dist/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts +7 -6
  49. package/dist/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts.map +1 -1
  50. package/dist/src/views/v3/Bridge/Routes/RoutesLink.d.ts +7 -0
  51. package/dist/src/views/v3/Bridge/Routes/RoutesLink.d.ts.map +1 -0
  52. package/dist/src/views/v3/Bridge/Routes/RoutesList.d.ts +2 -1
  53. package/dist/src/views/v3/Bridge/Routes/RoutesList.d.ts.map +1 -1
  54. package/dist/src/views/v3/Bridge/Routes/RoutesLoader.d.ts +4 -0
  55. package/dist/src/views/v3/Bridge/Routes/RoutesLoader.d.ts.map +1 -0
  56. package/dist/src/views/v3/Bridge/Routes/RoutesModal.d.ts +6 -5
  57. package/dist/src/views/v3/Bridge/Routes/RoutesModal.d.ts.map +1 -1
  58. package/dist/src/views/v3/Bridge/Routes/SingleRoute.d.ts +1 -0
  59. package/dist/src/views/v3/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  60. package/dist/src/views/v3/Bridge/Routes/index.d.ts.map +1 -1
  61. package/dist/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -1
  62. package/lib/account-Br8E7RB6.js +1 -0
  63. package/lib/{account-BTK2b2Fv.mjs → account-CVa_3S2g.mjs} +1 -1
  64. package/lib/{address-8wLqn60W.mjs → address-BApwdEpr.mjs} +96 -96
  65. package/lib/address-BwQqFkyh.js +1 -0
  66. package/lib/address-C2pxq9b2.js +1 -0
  67. package/lib/{address-n0gAFMrZ.mjs → address-f6joE_ig.mjs} +12 -12
  68. package/lib/aptos-CMRGggVs.js +2 -0
  69. package/lib/{aptos-CK-j196x.js → aptos-CTKQNmlP.js} +1 -1
  70. package/lib/{aptos-B-DJQlwt.mjs → aptos-CfFbx7uf.mjs} +9 -9
  71. package/lib/{aptos-Bwcz9wZX.mjs → aptos-fozuppXh.mjs} +3 -3
  72. package/lib/{basic-DHWVLmCq.mjs → basic-BA2aRJJn.mjs} +2 -2
  73. package/lib/{basic-B5ZFelC_.js → basic-DUWaF2I0.js} +1 -1
  74. package/lib/{basic-E2M-9h1u.js → basic-DeiUayOA.js} +1 -1
  75. package/lib/{basic-Pour9Ggp.mjs → basic-DoC8u7J8.mjs} +2 -2
  76. package/lib/{blake2b-C5HyObld.mjs → blake2b-BGxWUAjG.mjs} +23 -23
  77. package/lib/blake2b-Fj1aPKgL.js +1 -0
  78. package/lib/{browser-ponyfill-jK8MKVVg.mjs → browser-ponyfill-D5AN8ZPp.mjs} +1 -1
  79. package/lib/browser-ponyfill-Dn6gsMYK.js +2 -0
  80. package/lib/{chain-Bm6u6eUF.mjs → chain-DAw2I5H8.mjs} +1 -1
  81. package/lib/chain-DnPXlO8g.js +1 -0
  82. package/lib/chunk-KJH4KKG6-BjF7YUcU.js +470 -0
  83. package/lib/{chunk-KJH4KKG6-DJsu-Y-X.mjs → chunk-KJH4KKG6-DmVjhXO7.mjs} +144 -144
  84. package/lib/{constants-Cf2YMjNo.js → constants-BtNs_2F4.js} +1 -1
  85. package/lib/{constants-B7AbX6qr.mjs → constants-Dcc2nVaW.mjs} +3 -3
  86. package/lib/contract-BEHYQLvJ.js +1 -0
  87. package/lib/{contract-llnN6ki0.mjs → contract-BkMAZomO.mjs} +123 -123
  88. package/lib/{core-CF5c7Vev.mjs → core-BHV42Qa0.mjs} +25 -26
  89. package/lib/core-CV23yxnG.js +889 -0
  90. package/lib/create-CHcGblj6.js +1 -0
  91. package/lib/{create-Dm87_0zG.mjs → create-CKLtL7hr.mjs} +1 -1
  92. package/lib/{evm-BYIGg8e4.mjs → evm-Bf7qbM19.mjs} +42 -42
  93. package/lib/{evm-B2hUWkt7.js → evm-ClWkquRx.js} +2 -2
  94. package/lib/{evm-fvvpk-li.mjs → evm-DhMoy8cH.mjs} +6 -6
  95. package/lib/{evm-DFNbMHoa.js → evm-tXmzU9Xp.js} +2 -2
  96. package/lib/executor.js +1 -1
  97. package/lib/executor.mjs +145 -138
  98. package/lib/hosted.js +1 -1
  99. package/lib/hosted.mjs +1 -1
  100. package/lib/{index-Cwo5AKUC.mjs → index-1rCCpdwd.mjs} +5 -5
  101. package/lib/{index-DBCa3k0j.mjs → index-3HvzWPL7.mjs} +9 -9
  102. package/lib/{index-MOwE6ses.mjs → index-B7ztYPhr.mjs} +21 -22
  103. package/lib/index-BM-0SeYB.js +1 -0
  104. package/lib/{index-DiQ8Ytrt.mjs → index-BTnpftLz.mjs} +1 -1
  105. package/lib/{index-BiCMaXJS.js → index-BWQMi6Rj.js} +1 -1
  106. package/lib/index-BbgKw2pu.js +1 -0
  107. package/lib/index-BblcpkoK.js +1 -0
  108. package/lib/index-Bfblsmud.js +1 -0
  109. package/lib/{index-C_0yAOSX.mjs → index-BfkFXEnG.mjs} +25082 -24072
  110. package/lib/{index-fi1sh8vr.mjs → index-BijBPDRn.mjs} +2 -2
  111. package/lib/index-BoquY9R2.js +337 -0
  112. package/lib/index-C2NtsO9Q.js +1 -0
  113. package/lib/{index-CNuk-XLX.mjs → index-C4JmrizV.mjs} +4 -4
  114. package/lib/index-C8TtXpOf.js +1 -0
  115. package/lib/index-CB8kOyIP.js +1 -0
  116. package/lib/index-CInVjUCW.js +1 -0
  117. package/lib/{index-BF11RebI.mjs → index-CLTklDbp.mjs} +1 -1
  118. package/lib/index-CQvgeH_r.js +1 -0
  119. package/lib/{index-DzYjoSJp.mjs → index-CUnOYRFQ.mjs} +23 -24
  120. package/lib/{index-DGh9LzN1.mjs → index-CWe_BTdo.mjs} +31 -31
  121. package/lib/{index-2Bz1Np4K.mjs → index-CZ91lJ9M.mjs} +5 -5
  122. package/lib/{index-Dgy1FO7C.js → index-CgyVnj6U.js} +1 -1
  123. package/lib/{index-BzJcFdt_.mjs → index-Clr2JjoJ.mjs} +44 -44
  124. package/lib/index-CnnCCv6Q.js +1 -0
  125. package/lib/{index-CJnRWlFf.mjs → index-CwxGLNEk.mjs} +48 -49
  126. package/lib/index-D7BLfz05.js +1 -0
  127. package/lib/index-DM7C-wvQ.js +3 -0
  128. package/lib/{index-DhIh3xiW.mjs → index-DNy_sNGr.mjs} +8 -8
  129. package/lib/{index-BZaRg0yd.mjs → index-DVcaDWmz.mjs} +1 -1
  130. package/lib/{index-CsAigASU.mjs → index-DWOP9OBp.mjs} +17 -17
  131. package/lib/{index-CTLz8Fz0.mjs → index-Dda5qc2t.mjs} +13 -14
  132. package/lib/{index-CLBXF_zH.mjs → index-DeaiBvpG.mjs} +16 -16
  133. package/lib/index-HOuGP-7b.js +1 -0
  134. package/lib/{index-Dt2uNp-N.mjs → index-KZve3tYJ.mjs} +4 -4
  135. package/lib/{index-CJDBidKv.mjs → index-SIyXqCAN.mjs} +41 -41
  136. package/lib/index-WhVYPMUr.js +1 -0
  137. package/lib/index-hmjT4xa7.js +1 -0
  138. package/lib/index-ledagFNU.js +1 -0
  139. package/lib/index-pbRVlgcN.js +1 -0
  140. package/lib/{index-BpQXUhR4.mjs → index-qK7AyMAk.mjs} +23 -27
  141. package/lib/index-ttZu99PZ.js +1 -0
  142. package/lib/{index.es-BqRBGIq6.mjs → index.es-BXRQf6Oi.mjs} +25 -26
  143. package/lib/index.es-BjGaOok5.js +11 -0
  144. package/lib/index.es-D6S74vhi.js +27 -0
  145. package/lib/{index.es-DgCZuUzB.mjs → index.es-cOw8juwf.mjs} +741 -737
  146. package/lib/index.js +1 -1
  147. package/lib/index.mjs +17 -16
  148. package/lib/mayan.js +3 -3
  149. package/lib/mayan.mjs +918 -891
  150. package/lib/mint-CL36R6ED.js +1 -0
  151. package/lib/{mint-Dc-VsiAn.mjs → mint-DunEG1jV.mjs} +32 -33
  152. package/lib/ntt.js +1 -1
  153. package/lib/ntt.mjs +2332 -2373
  154. package/lib/platform-7vCWzCny.js +1 -0
  155. package/lib/platform-BKhoO9So.js +1 -0
  156. package/lib/{platform-B95L0Vxv.mjs → platform-BN6LFtXE.mjs} +16 -16
  157. package/lib/{platform-DnP_1wGA.mjs → platform-BYLu9SzP.mjs} +4 -4
  158. package/lib/platform-Bbe26nx7.js +1 -0
  159. package/lib/{platform-DiG7WY9Z.mjs → platform-DCgWqmh1.mjs} +4 -4
  160. package/lib/{provider-jsonrpc-CRABh2gN.mjs → provider-jsonrpc-Bmgnrmpy.mjs} +155 -155
  161. package/lib/provider-jsonrpc-CbtP2Ffg.js +1 -0
  162. package/lib/{secp256k1-zHHDNAlH.mjs → secp256k1-BDQEvyHq.mjs} +1 -1
  163. package/lib/{secp256k1-obBDPYM-.mjs → secp256k1-C77Oh9AA.mjs} +1 -1
  164. package/lib/{secp256k1-2hq3Jk4g.mjs → secp256k1-CCn2vlXj.mjs} +1 -1
  165. package/lib/{secp256k1-B94G4gyy.js → secp256k1-CHAR40au.js} +1 -1
  166. package/lib/{secp256k1-DCcAh19h.js → secp256k1-D-DmPYcJ.js} +1 -1
  167. package/lib/{secp256k1-CjndBUS7.js → secp256k1-DYWDlveU.js} +1 -1
  168. package/lib/{signer-N_ccpPOz.mjs → signer-BIcn81N5.mjs} +18 -18
  169. package/lib/signer-H7atraks.js +1 -0
  170. package/lib/{solana-_Ha4YgiP.mjs → solana-B0QSg7B3.mjs} +30 -30
  171. package/lib/solana-Cs5VyB20.js +900 -0
  172. package/lib/solana-uvHG8JV5.js +1 -0
  173. package/lib/solana-zyfOlbhb.mjs +18 -0
  174. package/lib/{solanaEmbed.esm-DK5RIquB.mjs → solanaEmbed.esm-BqdznDuW.mjs} +623 -622
  175. package/lib/solanaEmbed.esm-D8vtESE6.js +10 -0
  176. package/lib/src/AppRouter.d.ts.map +1 -1
  177. package/lib/src/config/mainnet/tokens.d.ts.map +1 -1
  178. package/lib/src/config/testnet/tokens.d.ts.map +1 -1
  179. package/lib/src/config/tokens.d.ts +1 -1
  180. package/lib/src/config/tokens.d.ts.map +1 -1
  181. package/lib/src/exports/index.d.ts +2 -2
  182. package/lib/src/exports/index.d.ts.map +1 -1
  183. package/lib/src/hooks/useFetchQuotes.d.ts.map +1 -1
  184. package/lib/src/icons/Chains/PLUME.d.ts.map +1 -1
  185. package/lib/src/icons/PoweredBy.d.ts.map +1 -1
  186. package/lib/src/icons/Routing.d.ts +5 -0
  187. package/lib/src/icons/Routing.d.ts.map +1 -0
  188. package/lib/src/icons/Tokens/PLUME.d.ts.map +1 -1
  189. package/lib/src/store/transferInput.d.ts +1 -1
  190. package/lib/src/store/transferInput.d.ts.map +1 -1
  191. package/lib/src/utils/coingecko.d.ts.map +1 -1
  192. package/lib/src/utils/formatNumber.d.ts +23 -0
  193. package/lib/src/utils/formatNumber.d.ts.map +1 -0
  194. package/lib/src/utils/index.d.ts +3 -1
  195. package/lib/src/utils/index.d.ts.map +1 -1
  196. package/lib/src/utils/routes.d.ts +12 -0
  197. package/lib/src/utils/routes.d.ts.map +1 -0
  198. package/lib/src/views/v2/Bridge/AmountInput/index.d.ts.map +1 -1
  199. package/lib/src/views/v2/Bridge/AssetPicker/TokenItem.d.ts.map +1 -1
  200. package/lib/src/views/v2/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  201. package/lib/src/views/v2/Redeem/TransactionDetails/index.d.ts.map +1 -1
  202. package/lib/src/views/v3/Bridge/AmountInput/index.d.ts.map +1 -1
  203. package/lib/src/views/v3/Bridge/AssetPicker/TokenItem.d.ts.map +1 -1
  204. package/lib/src/views/v3/Bridge/AssetPicker/index.d.ts.map +1 -1
  205. package/lib/src/views/v3/Bridge/GasSlider/index.d.ts.map +1 -1
  206. package/lib/src/views/v3/Bridge/Routes/Eta.d.ts +6 -0
  207. package/lib/src/views/v3/Bridge/Routes/Eta.d.ts.map +1 -0
  208. package/lib/src/views/v3/Bridge/Routes/RouteBadge.d.ts.map +1 -1
  209. package/lib/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts +7 -6
  210. package/lib/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts.map +1 -1
  211. package/lib/src/views/v3/Bridge/Routes/RoutesLink.d.ts +7 -0
  212. package/lib/src/views/v3/Bridge/Routes/RoutesLink.d.ts.map +1 -0
  213. package/lib/src/views/v3/Bridge/Routes/RoutesList.d.ts +2 -1
  214. package/lib/src/views/v3/Bridge/Routes/RoutesList.d.ts.map +1 -1
  215. package/lib/src/views/v3/Bridge/Routes/RoutesLoader.d.ts +4 -0
  216. package/lib/src/views/v3/Bridge/Routes/RoutesLoader.d.ts.map +1 -0
  217. package/lib/src/views/v3/Bridge/Routes/RoutesModal.d.ts +6 -5
  218. package/lib/src/views/v3/Bridge/Routes/RoutesModal.d.ts.map +1 -1
  219. package/lib/src/views/v3/Bridge/Routes/SingleRoute.d.ts +1 -0
  220. package/lib/src/views/v3/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  221. package/lib/src/views/v3/Bridge/Routes/index.d.ts.map +1 -1
  222. package/lib/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -1
  223. package/lib/{sui-CQcQ6w_P.mjs → sui-B38DyOqM.mjs} +44 -44
  224. package/lib/{sui-BplKFZQu.mjs → sui-BpfnZR4f.mjs} +3 -3
  225. package/lib/sui-CT9MWY38.js +1 -0
  226. package/lib/{sui-_hvmCvD8.js → sui-DXQAMRQJ.js} +1 -1
  227. package/lib/{tokens-DNv0ZNvU.js → tokens-CmINcwKk.js} +31 -31
  228. package/lib/{tokens-Dl4YwW18.mjs → tokens-YxAPPVy3.mjs} +1726 -1724
  229. package/lib/transfer-BQ72fByU.js +1 -0
  230. package/lib/transfer-bTW0j9yh.mjs +58 -0
  231. package/lib/units-Ckije3Qv.js +1 -0
  232. package/lib/{units-DPWUSE6J.mjs → units-CtyvuzxQ.mjs} +13 -13
  233. package/lib/unsignedTransaction-C6Qp42VS.js +1 -0
  234. package/lib/{unsignedTransaction-DwcUilyN.mjs → unsignedTransaction-CXB-QCUC.mjs} +18 -18
  235. package/lib/{w3m-modal-BJILsxDp.mjs → w3m-modal-B7LUHLWC.mjs} +2 -2
  236. package/lib/{w3m-modal-D4CpFxO2.mjs → w3m-modal-BOTzBqbc.mjs} +2 -2
  237. package/lib/{w3m-modal-CrfHWSrF.js → w3m-modal-BTb03-7B.js} +1 -1
  238. package/lib/{w3m-modal-CBG2MSPp.js → w3m-modal-xmdf4r6V.js} +1 -1
  239. package/lib/web3-COTIsLs8.js +22 -0
  240. package/lib/{address-B-XN4tFw.mjs → web3-DYVeiqSa.mjs} +6599 -6576
  241. package/package.json +32 -32
  242. package/dist/assets/index-BWPgrXHs.js +0 -1
  243. package/lib/account-cRt2xMoW.js +0 -1
  244. package/lib/address-BGujeWtN.js +0 -22
  245. package/lib/address-C7DIAk4M.js +0 -1
  246. package/lib/address-KNhRm6oe.js +0 -1
  247. package/lib/aptos-f5TqmvqV.js +0 -2
  248. package/lib/blake2b-B-MRXUPb.js +0 -1
  249. package/lib/browser-ponyfill-CE6vRkjp.js +0 -2
  250. package/lib/chain-Hsn22HAP.js +0 -1
  251. package/lib/chunk-KJH4KKG6-CoyI75Ig.js +0 -470
  252. package/lib/contract-D2fTrJgn.js +0 -1
  253. package/lib/core-v0G9f7LX.js +0 -889
  254. package/lib/create-DoZZ7ciL.js +0 -1
  255. package/lib/index-B8-KKWD-.js +0 -1
  256. package/lib/index-BHbvgOMD.js +0 -1
  257. package/lib/index-BHfUgvSV.js +0 -1
  258. package/lib/index-BTKC7Hou.js +0 -1
  259. package/lib/index-BWXglAWd.js +0 -1
  260. package/lib/index-Bpp8C4u8.js +0 -1
  261. package/lib/index-CF2fHBHJ.js +0 -3
  262. package/lib/index-CTPz98nv.js +0 -1
  263. package/lib/index-ClMoiji-.js +0 -1
  264. package/lib/index-ClsVcH6F.js +0 -1
  265. package/lib/index-CqOI6LVu.js +0 -1
  266. package/lib/index-DCz_4mcz.js +0 -1
  267. package/lib/index-DKksdvND.js +0 -335
  268. package/lib/index-DRv3ZpVL.js +0 -1
  269. package/lib/index-DYqo8IhM.js +0 -1
  270. package/lib/index-DZubce9o.js +0 -1
  271. package/lib/index-DprM_IpB.js +0 -1
  272. package/lib/index-DshEQYMA.js +0 -1
  273. package/lib/index-JrM783SN.js +0 -1
  274. package/lib/index.es-C6YhioMN.js +0 -27
  275. package/lib/index.es-D3Xxxr8I.js +0 -11
  276. package/lib/mint-DlXC3sGi.js +0 -1
  277. package/lib/platform-B1XoDKoN.js +0 -1
  278. package/lib/platform-COuZC5Zc.js +0 -1
  279. package/lib/platform-NG3efAb2.js +0 -1
  280. package/lib/provider-jsonrpc-pXNHQF7n.js +0 -1
  281. package/lib/signer-CCa6npZ3.js +0 -1
  282. package/lib/solana-BJ3aReZw.mjs +0 -18
  283. package/lib/solana-BwyVgP30.js +0 -1
  284. package/lib/solana-CanFuMgA.js +0 -900
  285. package/lib/solanaEmbed.esm-C--1F7Lx.js +0 -10
  286. package/lib/sui-Bs83Gy5Z.js +0 -1
  287. package/lib/units-BvcKDiAx.js +0 -1
  288. package/lib/unsignedTransaction-dN_5EJf5.js +0 -1
  289. package/lib/web3-Bu_6UejS.mjs +0 -67
  290. package/lib/web3-Doz_0RHD.js +0 -1
@@ -1 +0,0 @@
1
- "use strict";var Ho=Object.defineProperty;var Wn=s=>{throw TypeError(s)};var Qo=(s,t,e)=>t in s?Ho(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var z=(s,t,e)=>Qo(s,typeof t!="symbol"?t+"":t,e),Zs=(s,t,e)=>t.has(s)||Wn("Cannot "+e);var u=(s,t,e)=>(Zs(s,t,"read from private field"),e?e.call(s):t.get(s)),w=(s,t,e)=>t.has(s)?Wn("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(s):t.set(s,e),f=(s,t,e,r)=>(Zs(s,t,"write to private field"),r?r.call(s,e):t.set(s,e),e),N=(s,t,e)=>(Zs(s,t,"access private method"),e);var hs=(s,t,e,r)=>({set _(n){f(s,t,n,e)},get _(){return u(s,t,r)}});const o=require("./address-BGujeWtN.js"),A=require("./contract-D2fTrJgn.js"),Is="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";let fs=null;function Go(s){if(fs==null){fs={};for(let e=0;e<Is.length;e++)fs[Is[e]]=BigInt(e)}const t=fs[s];return o.assertArgument(t!=null,"invalid base58 value","letter",s),t}const Vo=BigInt(0),an=BigInt(58);function Ui(s){const t=o.getBytes(s);let e=A.toBigInt(t),r="";for(;e;)r=Is[Number(e%an)]+r,e/=an;for(let n=0;n<t.length&&!t[n];n++)r=Is[0]+r;return r}function Jo(s){let t=Vo;for(let e=0;e<s.length;e++)t*=an,t+=Go(s[e]);return t}function zo(s){s=atob(s);const t=new Uint8Array(s.length);for(let e=0;e<s.length;e++)t[e]=s.charCodeAt(e);return o.getBytes(t)}function Ko(s){const t=o.getBytes(s);let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return btoa(e)}function Mi(s){async function t(e,r){o.assert(r==null||!r.cancelled,"request cancelled before sending","CANCELLED");const n=e.url.split(":")[0].toLowerCase();o.assert(n==="http"||n==="https",`unsupported protocol ${n}`,"UNSUPPORTED_OPERATION",{info:{protocol:n},operation:"request"}),o.assert(n==="https"||!e.credentials||e.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let i=null;const a=new AbortController,c=setTimeout(()=>{i=o.makeError("request timeout","TIMEOUT"),a.abort()},e.timeout);r&&r.addListener(()=>{i=o.makeError("request cancelled","CANCELLED"),a.abort()});const l={method:e.method,headers:new Headers(Array.from(e)),body:e.body||void 0,signal:a.signal};let h;try{h=await fetch(e.url,l)}catch(y){throw clearTimeout(c),i||y}clearTimeout(c);const g={};h.headers.forEach((y,b)=>{g[b.toLowerCase()]=y});const d=await h.arrayBuffer(),m=d==null?null:new Uint8Array(d);return{statusCode:h.status,statusMessage:h.statusText,headers:g,body:m}}return t}const jo=12,Zo=250;let Xn=Mi();const Yo=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),qo=new RegExp("^ipfs://(ipfs/)?(.*)$","i");let Ys=!1;async function Hi(s,t){try{const e=s.match(Yo);if(!e)throw new Error("invalid data");return new he(200,"OK",{"content-type":e[1]||"text/plain"},e[2]?zo(e[3]):Xo(e[3]))}catch{return new he(599,"BAD REQUEST (invalid data: URI)",{},null,new Vt(s))}}function Qi(s){async function t(e,r){try{const n=e.match(qo);if(!n)throw new Error("invalid link");return new Vt(`${s}${n[2]}`)}catch{return new he(599,"BAD REQUEST (invalid IPFS URI)",{},null,new Vt(e))}}return t}const ds={data:Hi,ipfs:Qi("https://gateway.ipfs.io/ipfs/")},Gi=new WeakMap;var ye,Xt;class Wo{constructor(t){w(this,ye);w(this,Xt);f(this,ye,[]),f(this,Xt,!1),Gi.set(t,()=>{if(!u(this,Xt)){f(this,Xt,!0);for(const e of u(this,ye))setTimeout(()=>{e()},0);f(this,ye,[])}})}addListener(t){o.assert(!u(this,Xt),"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),u(this,ye).push(t)}get cancelled(){return u(this,Xt)}checkSignal(){o.assert(!this.cancelled,"cancelled","CANCELLED",{})}}ye=new WeakMap,Xt=new WeakMap;function gs(s){if(s==null)throw new Error("missing signal; should not happen");return s.checkSignal(),s}var We,Xe,yt,Rt,_e,$e,Z,ot,Ot,be,Ee,Be,Ct,bt,_t,xe,Qr;const Os=class Os{constructor(t){w(this,xe);w(this,We);w(this,Xe);w(this,yt);w(this,Rt);w(this,_e);w(this,$e);w(this,Z);w(this,ot);w(this,Ot);w(this,be);w(this,Ee);w(this,Be);w(this,Ct);w(this,bt);w(this,_t);f(this,$e,String(t)),f(this,We,!1),f(this,Xe,!0),f(this,yt,{}),f(this,Rt,""),f(this,_e,3e5),f(this,bt,{slotInterval:Zo,maxAttempts:jo}),f(this,_t,null)}get url(){return u(this,$e)}set url(t){f(this,$e,String(t))}get body(){return u(this,Z)==null?null:new Uint8Array(u(this,Z))}set body(t){if(t==null)f(this,Z,void 0),f(this,ot,void 0);else if(typeof t=="string")f(this,Z,A.toUtf8Bytes(t)),f(this,ot,"text/plain");else if(t instanceof Uint8Array)f(this,Z,t),f(this,ot,"application/octet-stream");else if(typeof t=="object")f(this,Z,A.toUtf8Bytes(JSON.stringify(t))),f(this,ot,"application/json");else throw new Error("invalid body")}hasBody(){return u(this,Z)!=null}get method(){return u(this,Rt)?u(this,Rt):this.hasBody()?"POST":"GET"}set method(t){t==null&&(t=""),f(this,Rt,String(t).toUpperCase())}get headers(){const t=Object.assign({},u(this,yt));return u(this,Ot)&&(t.authorization=`Basic ${Ko(A.toUtf8Bytes(u(this,Ot)))}`),this.allowGzip&&(t["accept-encoding"]="gzip"),t["content-type"]==null&&u(this,ot)&&(t["content-type"]=u(this,ot)),this.body&&(t["content-length"]=String(this.body.length)),t}getHeader(t){return this.headers[t.toLowerCase()]}setHeader(t,e){u(this,yt)[String(t).toLowerCase()]=String(e)}clearHeaders(){f(this,yt,{})}[Symbol.iterator](){const t=this.headers,e=Object.keys(t);let r=0;return{next:()=>{if(r<e.length){const n=e[r++];return{value:[n,t[n]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return u(this,Ot)||null}setCredentials(t,e){o.assertArgument(!t.match(/:/),"invalid basic authentication username","username","[REDACTED]"),f(this,Ot,`${t}:${e}`)}get allowGzip(){return u(this,Xe)}set allowGzip(t){f(this,Xe,!!t)}get allowInsecureAuthentication(){return!!u(this,We)}set allowInsecureAuthentication(t){f(this,We,!!t)}get timeout(){return u(this,_e)}set timeout(t){o.assertArgument(t>=0,"timeout must be non-zero","timeout",t),f(this,_e,t)}get preflightFunc(){return u(this,be)||null}set preflightFunc(t){f(this,be,t)}get processFunc(){return u(this,Ee)||null}set processFunc(t){f(this,Ee,t)}get retryFunc(){return u(this,Be)||null}set retryFunc(t){f(this,Be,t)}get getUrlFunc(){return u(this,_t)||Xn}set getUrlFunc(t){f(this,_t,t)}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${u(this,Z)?o.hexlify(u(this,Z)):"null"}>`}setThrottleParams(t){t.slotInterval!=null&&(u(this,bt).slotInterval=t.slotInterval),t.maxAttempts!=null&&(u(this,bt).maxAttempts=t.maxAttempts)}send(){return o.assert(u(this,Ct)==null,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),f(this,Ct,new Wo(this)),N(this,xe,Qr).call(this,0,_n()+this.timeout,0,this,new he(0,"",{},null,this))}cancel(){o.assert(u(this,Ct)!=null,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});const t=Gi.get(this);if(!t)throw new Error("missing signal; should not happen");t()}redirect(t){const e=this.url.split(":")[0].toLowerCase(),r=t.split(":")[0].toLowerCase();o.assert(this.method==="GET"&&(e!=="https"||r!=="http")&&t.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(t)})`});const n=new Os(t);return n.method="GET",n.allowGzip=this.allowGzip,n.timeout=this.timeout,f(n,yt,Object.assign({},u(this,yt))),u(this,Z)&&f(n,Z,new Uint8Array(u(this,Z))),f(n,ot,u(this,ot)),n}clone(){const t=new Os(this.url);return f(t,Rt,u(this,Rt)),u(this,Z)&&f(t,Z,u(this,Z)),f(t,ot,u(this,ot)),f(t,yt,Object.assign({},u(this,yt))),f(t,Ot,u(this,Ot)),this.allowGzip&&(t.allowGzip=!0),t.timeout=this.timeout,this.allowInsecureAuthentication&&(t.allowInsecureAuthentication=!0),f(t,be,u(this,be)),f(t,Ee,u(this,Ee)),f(t,Be,u(this,Be)),f(t,bt,Object.assign({},u(this,bt))),f(t,_t,u(this,_t)),t}static lockConfig(){Ys=!0}static getGateway(t){return ds[t.toLowerCase()]||null}static registerGateway(t,e){if(t=t.toLowerCase(),t==="http"||t==="https")throw new Error(`cannot intercept ${t}; use registerGetUrl`);if(Ys)throw new Error("gateways locked");ds[t]=e}static registerGetUrl(t){if(Ys)throw new Error("gateways locked");Xn=t}static createGetUrlFunc(t){return Mi()}static createDataGateway(){return Hi}static createIpfsGatewayFunc(t){return Qi(t)}};We=new WeakMap,Xe=new WeakMap,yt=new WeakMap,Rt=new WeakMap,_e=new WeakMap,$e=new WeakMap,Z=new WeakMap,ot=new WeakMap,Ot=new WeakMap,be=new WeakMap,Ee=new WeakMap,Be=new WeakMap,Ct=new WeakMap,bt=new WeakMap,_t=new WeakMap,xe=new WeakSet,Qr=async function(t,e,r,n,i){var g,d,m;if(t>=u(this,bt).maxAttempts)return i.makeServerError("exceeded maximum retry limit");o.assert(_n()<=e,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:n}),r>0&&await _o(r);let a=this.clone();const c=(a.url.split(":")[0]||"").toLowerCase();if(c in ds){const y=await ds[c](a.url,gs(u(n,Ct)));if(y instanceof he){let b=y;if(this.processFunc){gs(u(n,Ct));try{b=await this.processFunc(a,b)}catch(p){(p.throttle==null||typeof p.stall!="number")&&b.makeServerError("error in post-processing function",p).assertOk()}}return b}a=y}this.preflightFunc&&(a=await this.preflightFunc(a));const l=await this.getUrlFunc(a,gs(u(n,Ct)));let h=new he(l.statusCode,l.statusMessage,l.headers,l.body,n);if(h.statusCode===301||h.statusCode===302){try{const y=h.headers.location||"";return N(g=a.redirect(y),xe,Qr).call(g,t+1,e,0,n,h)}catch{}return h}else if(h.statusCode===429&&(this.retryFunc==null||await this.retryFunc(a,h,t))){const y=h.headers["retry-after"];let b=u(this,bt).slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return typeof y=="string"&&y.match(/^[1-9][0-9]*$/)&&(b=parseInt(y)),N(d=a.clone(),xe,Qr).call(d,t+1,e,b,n,h)}if(this.processFunc){gs(u(n,Ct));try{h=await this.processFunc(a,h)}catch(y){(y.throttle==null||typeof y.stall!="number")&&h.makeServerError("error in post-processing function",y).assertOk();let b=u(this,bt).slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return y.stall>=0&&(b=y.stall),N(m=a.clone(),xe,Qr).call(m,t+1,e,b,n,h)}}return h};let Vt=Os;var _r,$r,ts,at,tr,Ce;const Kn=class Kn{constructor(t,e,r,n,i){w(this,_r);w(this,$r);w(this,ts);w(this,at);w(this,tr);w(this,Ce);f(this,_r,t),f(this,$r,e),f(this,ts,Object.keys(r).reduce((a,c)=>(a[c.toLowerCase()]=String(r[c]),a),{})),f(this,at,n==null?null:new Uint8Array(n)),f(this,tr,i||null),f(this,Ce,{message:""})}toString(){return`<FetchResponse status=${this.statusCode} body=${u(this,at)?o.hexlify(u(this,at)):"null"}>`}get statusCode(){return u(this,_r)}get statusMessage(){return u(this,$r)}get headers(){return Object.assign({},u(this,ts))}get body(){return u(this,at)==null?null:new Uint8Array(u(this,at))}get bodyText(){try{return u(this,at)==null?"":A.toUtf8String(u(this,at))}catch{o.assert(!1,"response body is not valid UTF-8 data","UNSUPPORTED_OPERATION",{operation:"bodyText",info:{response:this}})}}get bodyJson(){try{return JSON.parse(this.bodyText)}catch{o.assert(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){const t=this.headers,e=Object.keys(t);let r=0;return{next:()=>{if(r<e.length){const n=e[r++];return{value:[n,t[n]],done:!1}}return{value:void 0,done:!0}}}}makeServerError(t,e){let r;t?r=`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${t})`:(t=`${this.statusCode} ${this.statusMessage}`,r=`CLIENT ESCALATED SERVER ERROR (${t})`);const n=new Kn(599,r,this.headers,this.body,u(this,tr)||void 0);return f(n,Ce,{message:t,error:e}),n}throwThrottleError(t,e){e==null?e=-1:o.assertArgument(Number.isInteger(e)&&e>=0,"invalid stall timeout","stall",e);const r=new Error(t||"throttling requests");throw o.defineProperties(r,{stall:e,throttle:!0}),r}getHeader(t){return this.headers[t.toLowerCase()]}hasBody(){return u(this,at)!=null}get request(){return u(this,tr)}ok(){return u(this,Ce).message===""&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:t,error:e}=u(this,Ce);t===""&&(t=`server response ${this.statusCode} ${this.statusMessage}`);let r=null;this.request&&(r=this.request.url);let n=null;try{u(this,at)&&(n=A.toUtf8String(u(this,at)))}catch{}o.assert(!1,t,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:e,info:{requestUrl:r,responseBody:n,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}};_r=new WeakMap,$r=new WeakMap,ts=new WeakMap,at=new WeakMap,tr=new WeakMap,Ce=new WeakMap;let he=Kn;function _n(){return new Date().getTime()}function Xo(s){return A.toUtf8Bytes(s.replace(/%([0-9a-f][0-9a-f])/gi,(t,e)=>String.fromCharCode(parseInt(e,16))))}function _o(s){return new Promise(t=>setTimeout(t,s))}function $o(s){let t=s.toString(16);for(;t.length<2;)t="0"+t;return"0x"+t}function $n(s,t,e){let r=0;for(let n=0;n<e;n++)r=r*256+s[t+n];return r}function ti(s,t,e,r){const n=[];for(;e<t+1+r;){const i=Vi(s,e);n.push(i.result),e+=i.consumed,o.assert(e<=t+1+r,"child data too short","BUFFER_OVERRUN",{buffer:s,length:r,offset:t})}return{consumed:1+r,result:n}}function Vi(s,t){o.assert(s.length!==0,"data too short","BUFFER_OVERRUN",{buffer:s,length:0,offset:1});const e=r=>{o.assert(r<=s.length,"data short segment too short","BUFFER_OVERRUN",{buffer:s,length:s.length,offset:r})};if(s[t]>=248){const r=s[t]-247;e(t+1+r);const n=$n(s,t+1,r);return e(t+1+r+n),ti(s,t,t+1+r,r+n)}else if(s[t]>=192){const r=s[t]-192;return e(t+1+r),ti(s,t,t+1,r)}else if(s[t]>=184){const r=s[t]-183;e(t+1+r);const n=$n(s,t+1,r);e(t+1+r+n);const i=o.hexlify(s.slice(t+1+r,t+1+r+n));return{consumed:1+r+n,result:i}}else if(s[t]>=128){const r=s[t]-128;e(t+1+r);const n=o.hexlify(s.slice(t+1,t+1+r));return{consumed:1+r,result:n}}return{consumed:1,result:$o(s[t])}}function Us(s){const t=o.getBytes(s,"data"),e=Vi(t,0);return o.assertArgument(e.consumed===t.length,"unexpected junk after rlp payload","data",s),e.result}function ei(s){const t=[];for(;s;)t.unshift(s&255),s>>=8;return t}function Ji(s){if(Array.isArray(s)){let r=[];if(s.forEach(function(i){r=r.concat(Ji(i))}),r.length<=55)return r.unshift(192+r.length),r;const n=ei(r.length);return n.unshift(247+n.length),n.concat(r)}const t=Array.prototype.slice.call(o.getBytes(s,"object"));if(t.length===1&&t[0]<=127)return t;if(t.length<=55)return t.unshift(128+t.length),t;const e=ei(t.length);return e.unshift(183+e.length),e.concat(t)}const ri="0123456789abcdef";function Le(s){let t="0x";for(const e of Ji(s))t+=ri[e>>4],t+=ri[e&15];return t}class zi extends o.Hash{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,o.hash(t);const r=o.toBytes(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?t.create().update(r).digest():r);for(let a=0;a<i.length;a++)i[a]^=54;this.iHash.update(i),this.oHash=t.create();for(let a=0;a<i.length;a++)i[a]^=106;this.oHash.update(i),i.fill(0)}update(t){return o.exists(this),this.iHash.update(t),this}digestInto(t){o.exists(this),o.bytes$1(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:e,iHash:r,finished:n,destroyed:i,blockLen:a,outputLen:c}=this;return t=t,t.finished=n,t.destroyed=i,t.blockLen=a,t.outputLen=c,t.oHash=e._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Ms=(s,t,e)=>new zi(s,t).update(e).digest();Ms.create=(s,t)=>new zi(s,t);function ta(s,t,e,r){o.hash(s);const n=o.checkOpts({dkLen:32,asyncTick:10},r),{c:i,dkLen:a,asyncTick:c}=n;if(o.number(i),o.number(a),o.number(c),i<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const l=o.toBytes(t),h=o.toBytes(e),g=new Uint8Array(a),d=Ms.create(s,l),m=d._cloneInto().update(h);return{c:i,dkLen:a,asyncTick:c,DK:g,PRF:d,PRFSalt:m}}function ea(s,t,e,r,n){return s.destroy(),t.destroy(),r&&r.destroy(),n.fill(0),e}function Ki(s,t,e,r){const{c:n,dkLen:i,DK:a,PRF:c,PRFSalt:l}=ta(s,t,e,r);let h;const g=new Uint8Array(4),d=o.createView(g),m=new Uint8Array(c.outputLen);for(let y=1,b=0;b<i;y++,b+=c.outputLen){const p=a.subarray(b,b+c.outputLen);d.setInt32(0,y,!1),(h=l._cloneInto(h)).update(g).digestInto(m),p.set(m.subarray(0,p.length));for(let E=1;E<n;E++){c._cloneInto(h).update(m).digestInto(m);for(let B=0;B<p.length;B++)p[B]^=m[B]}}return ea(c,l,a,h,m)}function ra(s,t,e,r){if(typeof s.setBigUint64=="function")return s.setBigUint64(t,e,r);const n=BigInt(32),i=BigInt(4294967295),a=Number(e>>n&i),c=Number(e&i),l=r?4:0,h=r?0:4;s.setUint32(t+l,a,r),s.setUint32(t+h,c,r)}class vn extends o.Hash{constructor(t,e,r,n){super(),this.blockLen=t,this.outputLen=e,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=o.createView(this.buffer)}update(t){o.exists(this);const{view:e,buffer:r,blockLen:n}=this;t=o.toBytes(t);const i=t.length;for(let a=0;a<i;){const c=Math.min(n-this.pos,i-a);if(c===n){const l=o.createView(t);for(;n<=i-a;a+=n)this.process(l,a);continue}r.set(t.subarray(a,a+c),this.pos),this.pos+=c,a+=c,this.pos===n&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){o.exists(this),o.output(t,this),this.finished=!0;const{buffer:e,view:r,blockLen:n,isLE:i}=this;let{pos:a}=this;e[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>n-a&&(this.process(r,0),a=0);for(let d=a;d<n;d++)e[d]=0;ra(r,n-8,BigInt(this.length*8),i),this.process(r,0);const c=o.createView(t),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const h=l/4,g=this.get();if(h>g.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<h;d++)c.setUint32(4*d,g[d],i)}digest(){const{buffer:t,outputLen:e}=this;this.digestInto(t);const r=t.slice(0,e);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:e,buffer:r,length:n,finished:i,destroyed:a,pos:c}=this;return t.length=n,t.pos=c,t.finished=i,t.destroyed=a,n%e&&t.buffer.set(r),t}}const sa=(s,t,e)=>s&t^~s&e,na=(s,t,e)=>s&t^s&e^t&e,ia=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]),jt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Zt=new Uint32Array(64);class oa extends vn{constructor(){super(64,32,8,!1),this.A=jt[0]|0,this.B=jt[1]|0,this.C=jt[2]|0,this.D=jt[3]|0,this.E=jt[4]|0,this.F=jt[5]|0,this.G=jt[6]|0,this.H=jt[7]|0}get(){const{A:t,B:e,C:r,D:n,E:i,F:a,G:c,H:l}=this;return[t,e,r,n,i,a,c,l]}set(t,e,r,n,i,a,c,l){this.A=t|0,this.B=e|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=a|0,this.G=c|0,this.H=l|0}process(t,e){for(let d=0;d<16;d++,e+=4)Zt[d]=t.getUint32(e,!1);for(let d=16;d<64;d++){const m=Zt[d-15],y=Zt[d-2],b=o.rotr(m,7)^o.rotr(m,18)^m>>>3,p=o.rotr(y,17)^o.rotr(y,19)^y>>>10;Zt[d]=p+Zt[d-7]+b+Zt[d-16]|0}let{A:r,B:n,C:i,D:a,E:c,F:l,G:h,H:g}=this;for(let d=0;d<64;d++){const m=o.rotr(c,6)^o.rotr(c,11)^o.rotr(c,25),y=g+m+sa(c,l,h)+ia[d]+Zt[d]|0,p=(o.rotr(r,2)^o.rotr(r,13)^o.rotr(r,22))+na(r,n,i)|0;g=h,h=l,l=c,c=a+y|0,a=i,i=n,n=r,r=y+p|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,c=c+this.E|0,l=l+this.F|0,h=h+this.G|0,g=g+this.H|0,this.set(r,n,i,a,c,l,h,g)}roundClean(){Zt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const os=o.wrapConstructor(()=>new oa),[aa,ca]=o.u64.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(s=>BigInt(s))),Yt=new Uint32Array(80),qt=new Uint32Array(80);class la extends vn{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:t,Al:e,Bh:r,Bl:n,Ch:i,Cl:a,Dh:c,Dl:l,Eh:h,El:g,Fh:d,Fl:m,Gh:y,Gl:b,Hh:p,Hl:E}=this;return[t,e,r,n,i,a,c,l,h,g,d,m,y,b,p,E]}set(t,e,r,n,i,a,c,l,h,g,d,m,y,b,p,E){this.Ah=t|0,this.Al=e|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=a|0,this.Dh=c|0,this.Dl=l|0,this.Eh=h|0,this.El=g|0,this.Fh=d|0,this.Fl=m|0,this.Gh=y|0,this.Gl=b|0,this.Hh=p|0,this.Hl=E|0}process(t,e){for(let C=0;C<16;C++,e+=4)Yt[C]=t.getUint32(e),qt[C]=t.getUint32(e+=4);for(let C=16;C<80;C++){const O=Yt[C-15]|0,v=qt[C-15]|0,I=o.u64.rotrSH(O,v,1)^o.u64.rotrSH(O,v,8)^o.u64.shrSH(O,v,7),R=o.u64.rotrSL(O,v,1)^o.u64.rotrSL(O,v,8)^o.u64.shrSL(O,v,7),S=Yt[C-2]|0,M=qt[C-2]|0,L=o.u64.rotrSH(S,M,19)^o.u64.rotrBH(S,M,61)^o.u64.shrSH(S,M,6),U=o.u64.rotrSL(S,M,19)^o.u64.rotrBL(S,M,61)^o.u64.shrSL(S,M,6),K=o.u64.add4L(R,U,qt[C-7],qt[C-16]),W=o.u64.add4H(K,I,L,Yt[C-7],Yt[C-16]);Yt[C]=W|0,qt[C]=K|0}let{Ah:r,Al:n,Bh:i,Bl:a,Ch:c,Cl:l,Dh:h,Dl:g,Eh:d,El:m,Fh:y,Fl:b,Gh:p,Gl:E,Hh:B,Hl:k}=this;for(let C=0;C<80;C++){const O=o.u64.rotrSH(d,m,14)^o.u64.rotrSH(d,m,18)^o.u64.rotrBH(d,m,41),v=o.u64.rotrSL(d,m,14)^o.u64.rotrSL(d,m,18)^o.u64.rotrBL(d,m,41),I=d&y^~d&p,R=m&b^~m&E,S=o.u64.add5L(k,v,R,ca[C],qt[C]),M=o.u64.add5H(S,B,O,I,aa[C],Yt[C]),L=S|0,U=o.u64.rotrSH(r,n,28)^o.u64.rotrBH(r,n,34)^o.u64.rotrBH(r,n,39),K=o.u64.rotrSL(r,n,28)^o.u64.rotrBL(r,n,34)^o.u64.rotrBL(r,n,39),W=r&i^r&c^i&c,xt=n&a^n&l^a&l;B=p|0,k=E|0,p=y|0,E=b|0,y=d|0,b=m|0,{h:d,l:m}=o.u64.add(h|0,g|0,M|0,L|0),h=c|0,g=l|0,c=i|0,l=a|0,i=r|0,a=n|0;const x=o.u64.add3L(L,K,xt);r=o.u64.add3H(x,M,U,W),n=x|0}({h:r,l:n}=o.u64.add(this.Ah|0,this.Al|0,r|0,n|0)),{h:i,l:a}=o.u64.add(this.Bh|0,this.Bl|0,i|0,a|0),{h:c,l}=o.u64.add(this.Ch|0,this.Cl|0,c|0,l|0),{h,l:g}=o.u64.add(this.Dh|0,this.Dl|0,h|0,g|0),{h:d,l:m}=o.u64.add(this.Eh|0,this.El|0,d|0,m|0),{h:y,l:b}=o.u64.add(this.Fh|0,this.Fl|0,y|0,b|0),{h:p,l:E}=o.u64.add(this.Gh|0,this.Gl|0,p|0,E|0),{h:B,l:k}=o.u64.add(this.Hh|0,this.Hl|0,B|0,k|0),this.set(r,n,i,a,c,l,h,g,d,m,y,b,p,E,B,k)}roundClean(){Yt.fill(0),qt.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const Rn=o.wrapConstructor(()=>new la);function ua(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof o.dist.global<"u")return o.dist.global;throw new Error("unable to locate global object")}const si=ua(),ni=si.crypto||si.msCrypto;function ha(s){switch(s){case"sha256":return os.create();case"sha512":return Rn.create()}o.assertArgument(!1,"invalid hashing algorithm name","algorithm",s)}function fa(s,t){const e={sha256:os,sha512:Rn}[s];return o.assertArgument(e!=null,"invalid hmac algorithm","algorithm",s),Ms.create(e,t)}function da(s,t,e,r,n){const i={sha256:os,sha512:Rn}[n];return o.assertArgument(i!=null,"invalid pbkdf2 algorithm","algorithm",n),Ki(i,s,t,{c:e,dkLen:r})}function ga(s){o.assert(ni!=null,"platform does not support secure random numbers","UNSUPPORTED_OPERATION",{operation:"randomBytes"}),o.assertArgument(Number.isInteger(s)&&s>0&&s<=1024,"invalid length","length",s);const t=new Uint8Array(s);return ni.getRandomValues(t),t}const ji=function(s){return ha("sha256").update(s).digest()};let Zi=ji,Yi=!1;function Ue(s){const t=o.getBytes(s,"data");return o.hexlify(Zi(t))}Ue._=ji;Ue.lock=function(){Yi=!0};Ue.register=function(s){if(Yi)throw new Error("sha256 is locked");Zi=s};Object.freeze(Ue);Object.freeze(Ue);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const qi=BigInt(0),Hs=BigInt(1),Aa=BigInt(2),Qs=s=>s instanceof Uint8Array,pa=Array.from({length:256},(s,t)=>t.toString(16).padStart(2,"0"));function Rr(s){if(!Qs(s))throw new Error("Uint8Array expected");let t="";for(let e=0;e<s.length;e++)t+=pa[s[e]];return t}function Wi(s){const t=s.toString(16);return t.length&1?`0${t}`:t}function On(s){if(typeof s!="string")throw new Error("hex string expected, got "+typeof s);return BigInt(s===""?"0":`0x${s}`)}function Or(s){if(typeof s!="string")throw new Error("hex string expected, got "+typeof s);const t=s.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);const e=new Uint8Array(t/2);for(let r=0;r<e.length;r++){const n=r*2,i=s.slice(n,n+2),a=Number.parseInt(i,16);if(Number.isNaN(a)||a<0)throw new Error("Invalid byte sequence");e[r]=a}return e}function Fe(s){return On(Rr(s))}function Dn(s){if(!Qs(s))throw new Error("Uint8Array expected");return On(Rr(Uint8Array.from(s).reverse()))}function Dr(s,t){return Or(s.toString(16).padStart(t*2,"0"))}function Tn(s,t){return Dr(s,t).reverse()}function ma(s){return Or(Wi(s))}function wt(s,t,e){let r;if(typeof t=="string")try{r=Or(t)}catch(i){throw new Error(`${s} must be valid hex string, got "${t}". Cause: ${i}`)}else if(Qs(t))r=Uint8Array.from(t);else throw new Error(`${s} must be hex string or Uint8Array`);const n=r.length;if(typeof e=="number"&&n!==e)throw new Error(`${s} expected ${e} bytes, got ${n}`);return r}function Kr(...s){const t=new Uint8Array(s.reduce((r,n)=>r+n.length,0));let e=0;return s.forEach(r=>{if(!Qs(r))throw new Error("Uint8Array expected");t.set(r,e),e+=r.length}),t}function wa(s,t){if(s.length!==t.length)return!1;for(let e=0;e<s.length;e++)if(s[e]!==t[e])return!1;return!0}function ya(s){if(typeof s!="string")throw new Error(`utf8ToBytes expected string, got ${typeof s}`);return new Uint8Array(new TextEncoder().encode(s))}function ba(s){let t;for(t=0;s>qi;s>>=Hs,t+=1);return t}function Ea(s,t){return s>>BigInt(t)&Hs}const Ba=(s,t,e)=>s|(e?Hs:qi)<<BigInt(t),Fn=s=>(Aa<<BigInt(s-1))-Hs,qs=s=>new Uint8Array(s),ii=s=>Uint8Array.from(s);function Xi(s,t,e){if(typeof s!="number"||s<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let r=qs(s),n=qs(s),i=0;const a=()=>{r.fill(1),n.fill(0),i=0},c=(...d)=>e(n,r,...d),l=(d=qs())=>{n=c(ii([0]),d),r=c(),d.length!==0&&(n=c(ii([1]),d),r=c())},h=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let d=0;const m=[];for(;d<t;){r=c();const y=r.slice();m.push(y),d+=r.length}return Kr(...m)};return(d,m)=>{a(),l(d);let y;for(;!(y=m(h()));)l();return a(),y}}const xa={bigint:s=>typeof s=="bigint",function:s=>typeof s=="function",boolean:s=>typeof s=="boolean",string:s=>typeof s=="string",stringOrUint8Array:s=>typeof s=="string"||s instanceof Uint8Array,isSafeInteger:s=>Number.isSafeInteger(s),array:s=>Array.isArray(s),field:(s,t)=>t.Fp.isValid(s),hash:s=>typeof s=="function"&&Number.isSafeInteger(s.outputLen)};function as(s,t,e={}){const r=(n,i,a)=>{const c=xa[i];if(typeof c!="function")throw new Error(`Invalid validator "${i}", expected function`);const l=s[n];if(!(a&&l===void 0)&&!c(l,s))throw new Error(`Invalid param ${String(n)}=${l} (${typeof l}), expected ${i}`)};for(const[n,i]of Object.entries(t))r(n,i,!1);for(const[n,i]of Object.entries(e))r(n,i,!0);return s}const Ca=Object.freeze(Object.defineProperty({__proto__:null,bitGet:Ea,bitLen:ba,bitMask:Fn,bitSet:Ba,bytesToHex:Rr,bytesToNumberBE:Fe,bytesToNumberLE:Dn,concatBytes:Kr,createHmacDrbg:Xi,ensureBytes:wt,equalBytes:wa,hexToBytes:Or,hexToNumber:On,numberToBytesBE:Dr,numberToBytesLE:Tn,numberToHexUnpadded:Wi,numberToVarBytesBE:ma,utf8ToBytes:ya,validateObject:as},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const q=BigInt(0),V=BigInt(1),Ae=BigInt(2),Ia=BigInt(3),cn=BigInt(4),oi=BigInt(5),ai=BigInt(8);BigInt(9);BigInt(16);function rt(s,t){const e=s%t;return e>=q?e:t+e}function Pa(s,t,e){if(e<=q||t<q)throw new Error("Expected power/modulo > 0");if(e===V)return q;let r=V;for(;t>q;)t&V&&(r=r*s%e),s=s*s%e,t>>=V;return r}function lt(s,t,e){let r=s;for(;t-- >q;)r*=r,r%=e;return r}function ln(s,t){if(s===q||t<=q)throw new Error(`invert: expected positive integers, got n=${s} mod=${t}`);let e=rt(s,t),r=t,n=q,i=V;for(;e!==q;){const c=r/e,l=r%e,h=n-i*c;r=e,e=l,n=i,i=h}if(r!==V)throw new Error("invert: does not exist");return rt(n,t)}function Na(s){const t=(s-V)/Ae;let e,r,n;for(e=s-V,r=0;e%Ae===q;e/=Ae,r++);for(n=Ae;n<s&&Pa(n,t,s)!==s-V;n++);if(r===1){const a=(s+V)/cn;return function(l,h){const g=l.pow(h,a);if(!l.eql(l.sqr(g),h))throw new Error("Cannot find square root");return g}}const i=(e+V)/Ae;return function(c,l){if(c.pow(l,t)===c.neg(c.ONE))throw new Error("Cannot find square root");let h=r,g=c.pow(c.mul(c.ONE,n),e),d=c.pow(l,i),m=c.pow(l,e);for(;!c.eql(m,c.ONE);){if(c.eql(m,c.ZERO))return c.ZERO;let y=1;for(let p=c.sqr(m);y<h&&!c.eql(p,c.ONE);y++)p=c.sqr(p);const b=c.pow(g,V<<BigInt(h-y-1));g=c.sqr(b),d=c.mul(d,b),m=c.mul(m,g),h=y}return d}}function ka(s){if(s%cn===Ia){const t=(s+V)/cn;return function(r,n){const i=r.pow(n,t);if(!r.eql(r.sqr(i),n))throw new Error("Cannot find square root");return i}}if(s%ai===oi){const t=(s-oi)/ai;return function(r,n){const i=r.mul(n,Ae),a=r.pow(i,t),c=r.mul(n,a),l=r.mul(r.mul(c,Ae),a),h=r.mul(c,r.sub(l,r.ONE));if(!r.eql(r.sqr(h),n))throw new Error("Cannot find square root");return h}}return Na(s)}const Sa=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function va(s){const t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=Sa.reduce((r,n)=>(r[n]="function",r),t);return as(s,e)}function Ra(s,t,e){if(e<q)throw new Error("Expected power > 0");if(e===q)return s.ONE;if(e===V)return t;let r=s.ONE,n=t;for(;e>q;)e&V&&(r=s.mul(r,n)),n=s.sqr(n),e>>=V;return r}function Oa(s,t){const e=new Array(t.length),r=t.reduce((i,a,c)=>s.is0(a)?i:(e[c]=i,s.mul(i,a)),s.ONE),n=s.inv(r);return t.reduceRight((i,a,c)=>s.is0(a)?i:(e[c]=s.mul(i,e[c]),s.mul(i,a)),n),e}function _i(s,t){const e=t!==void 0?t:s.toString(2).length,r=Math.ceil(e/8);return{nBitLength:e,nByteLength:r}}function Da(s,t,e=!1,r={}){if(s<=q)throw new Error(`Expected Field ORDER > 0, got ${s}`);const{nBitLength:n,nByteLength:i}=_i(s,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");const a=ka(s),c=Object.freeze({ORDER:s,BITS:n,BYTES:i,MASK:Fn(n),ZERO:q,ONE:V,create:l=>rt(l,s),isValid:l=>{if(typeof l!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof l}`);return q<=l&&l<s},is0:l=>l===q,isOdd:l=>(l&V)===V,neg:l=>rt(-l,s),eql:(l,h)=>l===h,sqr:l=>rt(l*l,s),add:(l,h)=>rt(l+h,s),sub:(l,h)=>rt(l-h,s),mul:(l,h)=>rt(l*h,s),pow:(l,h)=>Ra(c,l,h),div:(l,h)=>rt(l*ln(h,s),s),sqrN:l=>l*l,addN:(l,h)=>l+h,subN:(l,h)=>l-h,mulN:(l,h)=>l*h,inv:l=>ln(l,s),sqrt:r.sqrt||(l=>a(c,l)),invertBatch:l=>Oa(c,l),cmov:(l,h,g)=>g?h:l,toBytes:l=>e?Tn(l,i):Dr(l,i),fromBytes:l=>{if(l.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${l.length}`);return e?Dn(l):Fe(l)}});return Object.freeze(c)}function $i(s){if(typeof s!="bigint")throw new Error("field order must be bigint");const t=s.toString(2).length;return Math.ceil(t/8)}function to(s){const t=$i(s);return t+Math.ceil(t/2)}function Ta(s,t,e=!1){const r=s.length,n=$i(t),i=to(t);if(r<16||r<i||r>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${r}`);const a=e?Fe(s):Dn(s),c=rt(a,t-V)+V;return e?Tn(c,n):Dr(c,n)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Fa=BigInt(0),Ws=BigInt(1);function La(s,t){const e=(n,i)=>{const a=i.negate();return n?a:i},r=n=>{const i=Math.ceil(t/n)+1,a=2**(n-1);return{windows:i,windowSize:a}};return{constTimeNegate:e,unsafeLadder(n,i){let a=s.ZERO,c=n;for(;i>Fa;)i&Ws&&(a=a.add(c)),c=c.double(),i>>=Ws;return a},precomputeWindow(n,i){const{windows:a,windowSize:c}=r(i),l=[];let h=n,g=h;for(let d=0;d<a;d++){g=h,l.push(g);for(let m=1;m<c;m++)g=g.add(h),l.push(g);h=g.double()}return l},wNAF(n,i,a){const{windows:c,windowSize:l}=r(n);let h=s.ZERO,g=s.BASE;const d=BigInt(2**n-1),m=2**n,y=BigInt(n);for(let b=0;b<c;b++){const p=b*l;let E=Number(a&d);a>>=y,E>l&&(E-=m,a+=Ws);const B=p,k=p+Math.abs(E)-1,C=b%2!==0,O=E<0;E===0?g=g.add(e(C,i[B])):h=h.add(e(O,i[k]))}return{p:h,f:g}},wNAFCached(n,i,a,c){const l=n._WINDOW_SIZE||1;let h=i.get(n);return h||(h=this.precomputeWindow(n,l),l!==1&&i.set(n,c(h))),this.wNAF(l,h,a)}}}function eo(s){return va(s.Fp),as(s,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({..._i(s.n,s.nBitLength),...s,p:s.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Ua(s){const t=eo(s);as(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:e,Fp:r,a:n}=t;if(e){if(!r.eql(n,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}const{bytesToNumberBE:Ma,hexToBytes:Ha}=Ca,me={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(s){const{Err:t}=me;if(s.length<2||s[0]!==2)throw new t("Invalid signature integer tag");const e=s[1],r=s.subarray(2,e+2);if(!e||r.length!==e)throw new t("Invalid signature integer: wrong length");if(r[0]&128)throw new t("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:Ma(r),l:s.subarray(e+2)}},toSig(s){const{Err:t}=me,e=typeof s=="string"?Ha(s):s;if(!(e instanceof Uint8Array))throw new Error("ui8a expected");let r=e.length;if(r<2||e[0]!=48)throw new t("Invalid signature tag");if(e[1]!==r-2)throw new t("Invalid signature: incorrect length");const{d:n,l:i}=me._parseInt(e.subarray(2)),{d:a,l:c}=me._parseInt(i);if(c.length)throw new t("Invalid signature: left bytes after parsing");return{r:n,s:a}},hexFromSig(s){const t=h=>Number.parseInt(h[0],16)&8?"00"+h:h,e=h=>{const g=h.toString(16);return g.length&1?`0${g}`:g},r=t(e(s.s)),n=t(e(s.r)),i=r.length/2,a=n.length/2,c=e(i),l=e(a);return`30${e(a+i+4)}02${l}${n}02${c}${r}`}},Gt=BigInt(0),At=BigInt(1);BigInt(2);const ci=BigInt(3);BigInt(4);function Qa(s){const t=Ua(s),{Fp:e}=t,r=t.toBytes||((b,p,E)=>{const B=p.toAffine();return Kr(Uint8Array.from([4]),e.toBytes(B.x),e.toBytes(B.y))}),n=t.fromBytes||(b=>{const p=b.subarray(1),E=e.fromBytes(p.subarray(0,e.BYTES)),B=e.fromBytes(p.subarray(e.BYTES,2*e.BYTES));return{x:E,y:B}});function i(b){const{a:p,b:E}=t,B=e.sqr(b),k=e.mul(B,b);return e.add(e.add(k,e.mul(b,p)),E)}if(!e.eql(e.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function a(b){return typeof b=="bigint"&&Gt<b&&b<t.n}function c(b){if(!a(b))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function l(b){const{allowedPrivateKeyLengths:p,nByteLength:E,wrapPrivateKey:B,n:k}=t;if(p&&typeof b!="bigint"){if(b instanceof Uint8Array&&(b=Rr(b)),typeof b!="string"||!p.includes(b.length))throw new Error("Invalid key");b=b.padStart(E*2,"0")}let C;try{C=typeof b=="bigint"?b:Fe(wt("private key",b,E))}catch{throw new Error(`private key must be ${E} bytes, hex or bigint, not ${typeof b}`)}return B&&(C=rt(C,k)),c(C),C}const h=new Map;function g(b){if(!(b instanceof d))throw new Error("ProjectivePoint expected")}class d{constructor(p,E,B){if(this.px=p,this.py=E,this.pz=B,p==null||!e.isValid(p))throw new Error("x required");if(E==null||!e.isValid(E))throw new Error("y required");if(B==null||!e.isValid(B))throw new Error("z required")}static fromAffine(p){const{x:E,y:B}=p||{};if(!p||!e.isValid(E)||!e.isValid(B))throw new Error("invalid affine point");if(p instanceof d)throw new Error("projective point not allowed");const k=C=>e.eql(C,e.ZERO);return k(E)&&k(B)?d.ZERO:new d(E,B,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){const E=e.invertBatch(p.map(B=>B.pz));return p.map((B,k)=>B.toAffine(E[k])).map(d.fromAffine)}static fromHex(p){const E=d.fromAffine(n(wt("pointHex",p)));return E.assertValidity(),E}static fromPrivateKey(p){return d.BASE.multiply(l(p))}_setWindowSize(p){this._WINDOW_SIZE=p,h.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!e.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:p,y:E}=this.toAffine();if(!e.isValid(p)||!e.isValid(E))throw new Error("bad point: x or y not FE");const B=e.sqr(E),k=i(p);if(!e.eql(B,k))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:p}=this.toAffine();if(e.isOdd)return!e.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){g(p);const{px:E,py:B,pz:k}=this,{px:C,py:O,pz:v}=p,I=e.eql(e.mul(E,v),e.mul(C,k)),R=e.eql(e.mul(B,v),e.mul(O,k));return I&&R}negate(){return new d(this.px,e.neg(this.py),this.pz)}double(){const{a:p,b:E}=t,B=e.mul(E,ci),{px:k,py:C,pz:O}=this;let v=e.ZERO,I=e.ZERO,R=e.ZERO,S=e.mul(k,k),M=e.mul(C,C),L=e.mul(O,O),U=e.mul(k,C);return U=e.add(U,U),R=e.mul(k,O),R=e.add(R,R),v=e.mul(p,R),I=e.mul(B,L),I=e.add(v,I),v=e.sub(M,I),I=e.add(M,I),I=e.mul(v,I),v=e.mul(U,v),R=e.mul(B,R),L=e.mul(p,L),U=e.sub(S,L),U=e.mul(p,U),U=e.add(U,R),R=e.add(S,S),S=e.add(R,S),S=e.add(S,L),S=e.mul(S,U),I=e.add(I,S),L=e.mul(C,O),L=e.add(L,L),S=e.mul(L,U),v=e.sub(v,S),R=e.mul(L,M),R=e.add(R,R),R=e.add(R,R),new d(v,I,R)}add(p){g(p);const{px:E,py:B,pz:k}=this,{px:C,py:O,pz:v}=p;let I=e.ZERO,R=e.ZERO,S=e.ZERO;const M=t.a,L=e.mul(t.b,ci);let U=e.mul(E,C),K=e.mul(B,O),W=e.mul(k,v),xt=e.add(E,B),x=e.add(C,O);xt=e.mul(xt,x),x=e.add(U,K),xt=e.sub(xt,x),x=e.add(E,k);let P=e.add(C,v);return x=e.mul(x,P),P=e.add(U,W),x=e.sub(x,P),P=e.add(B,k),I=e.add(O,v),P=e.mul(P,I),I=e.add(K,W),P=e.sub(P,I),S=e.mul(M,x),I=e.mul(L,W),S=e.add(I,S),I=e.sub(K,S),S=e.add(K,S),R=e.mul(I,S),K=e.add(U,U),K=e.add(K,U),W=e.mul(M,W),x=e.mul(L,x),K=e.add(K,W),W=e.sub(U,W),W=e.mul(M,W),x=e.add(x,W),U=e.mul(K,x),R=e.add(R,U),U=e.mul(P,x),I=e.mul(xt,I),I=e.sub(I,U),U=e.mul(xt,K),S=e.mul(P,S),S=e.add(S,U),new d(I,R,S)}subtract(p){return this.add(p.negate())}is0(){return this.equals(d.ZERO)}wNAF(p){return y.wNAFCached(this,h,p,E=>{const B=e.invertBatch(E.map(k=>k.pz));return E.map((k,C)=>k.toAffine(B[C])).map(d.fromAffine)})}multiplyUnsafe(p){const E=d.ZERO;if(p===Gt)return E;if(c(p),p===At)return this;const{endo:B}=t;if(!B)return y.unsafeLadder(this,p);let{k1neg:k,k1:C,k2neg:O,k2:v}=B.splitScalar(p),I=E,R=E,S=this;for(;C>Gt||v>Gt;)C&At&&(I=I.add(S)),v&At&&(R=R.add(S)),S=S.double(),C>>=At,v>>=At;return k&&(I=I.negate()),O&&(R=R.negate()),R=new d(e.mul(R.px,B.beta),R.py,R.pz),I.add(R)}multiply(p){c(p);let E=p,B,k;const{endo:C}=t;if(C){const{k1neg:O,k1:v,k2neg:I,k2:R}=C.splitScalar(E);let{p:S,f:M}=this.wNAF(v),{p:L,f:U}=this.wNAF(R);S=y.constTimeNegate(O,S),L=y.constTimeNegate(I,L),L=new d(e.mul(L.px,C.beta),L.py,L.pz),B=S.add(L),k=M.add(U)}else{const{p:O,f:v}=this.wNAF(E);B=O,k=v}return d.normalizeZ([B,k])[0]}multiplyAndAddUnsafe(p,E,B){const k=d.BASE,C=(v,I)=>I===Gt||I===At||!v.equals(k)?v.multiplyUnsafe(I):v.multiply(I),O=C(this,E).add(C(p,B));return O.is0()?void 0:O}toAffine(p){const{px:E,py:B,pz:k}=this,C=this.is0();p==null&&(p=C?e.ONE:e.inv(k));const O=e.mul(E,p),v=e.mul(B,p),I=e.mul(k,p);if(C)return{x:e.ZERO,y:e.ZERO};if(!e.eql(I,e.ONE))throw new Error("invZ was invalid");return{x:O,y:v}}isTorsionFree(){const{h:p,isTorsionFree:E}=t;if(p===At)return!0;if(E)return E(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:p,clearCofactor:E}=t;return p===At?this:E?E(d,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),r(d,this,p)}toHex(p=!0){return Rr(this.toRawBytes(p))}}d.BASE=new d(t.Gx,t.Gy,e.ONE),d.ZERO=new d(e.ZERO,e.ONE,e.ZERO);const m=t.nBitLength,y=La(d,t.endo?Math.ceil(m/2):m);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:l,weierstrassEquation:i,isWithinCurveOrder:a}}function Ga(s){const t=eo(s);return as(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Va(s){const t=Ga(s),{Fp:e,n:r}=t,n=e.BYTES+1,i=2*e.BYTES+1;function a(x){return Gt<x&&x<e.ORDER}function c(x){return rt(x,r)}function l(x){return ln(x,r)}const{ProjectivePoint:h,normPrivateKeyToScalar:g,weierstrassEquation:d,isWithinCurveOrder:m}=Qa({...t,toBytes(x,P,T){const Q=P.toAffine(),H=e.toBytes(Q.x),j=Kr;return T?j(Uint8Array.from([P.hasEvenY()?2:3]),H):j(Uint8Array.from([4]),H,e.toBytes(Q.y))},fromBytes(x){const P=x.length,T=x[0],Q=x.subarray(1);if(P===n&&(T===2||T===3)){const H=Fe(Q);if(!a(H))throw new Error("Point is not on curve");const j=d(H);let st=e.sqrt(j);const nt=(st&At)===At;return(T&1)===1!==nt&&(st=e.neg(st)),{x:H,y:st}}else if(P===i&&T===4){const H=e.fromBytes(Q.subarray(0,e.BYTES)),j=e.fromBytes(Q.subarray(e.BYTES,2*e.BYTES));return{x:H,y:j}}else throw new Error(`Point of length ${P} was invalid. Expected ${n} compressed bytes or ${i} uncompressed bytes`)}}),y=x=>Rr(Dr(x,t.nByteLength));function b(x){const P=r>>At;return x>P}function p(x){return b(x)?c(-x):x}const E=(x,P,T)=>Fe(x.slice(P,T));class B{constructor(P,T,Q){this.r=P,this.s=T,this.recovery=Q,this.assertValidity()}static fromCompact(P){const T=t.nByteLength;return P=wt("compactSignature",P,T*2),new B(E(P,0,T),E(P,T,2*T))}static fromDER(P){const{r:T,s:Q}=me.toSig(wt("DER",P));return new B(T,Q)}assertValidity(){if(!m(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!m(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(P){return new B(this.r,this.s,P)}recoverPublicKey(P){const{r:T,s:Q,recovery:H}=this,j=R(wt("msgHash",P));if(H==null||![0,1,2,3].includes(H))throw new Error("recovery id invalid");const st=H===2||H===3?T+t.n:T;if(st>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");const nt=H&1?"03":"02",Jt=h.fromHex(nt+y(st)),zt=l(st),Me=c(-j*zt),Hr=c(Q*zt),Kt=h.BASE.multiplyAndAddUnsafe(Jt,Me,Hr);if(!Kt)throw new Error("point at infinify");return Kt.assertValidity(),Kt}hasHighS(){return b(this.s)}normalizeS(){return this.hasHighS()?new B(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return Or(this.toDERHex())}toDERHex(){return me.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Or(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}const k={isValidPrivateKey(x){try{return g(x),!0}catch{return!1}},normPrivateKeyToScalar:g,randomPrivateKey:()=>{const x=to(t.n);return Ta(t.randomBytes(x),t.n)},precompute(x=8,P=h.BASE){return P._setWindowSize(x),P.multiply(BigInt(3)),P}};function C(x,P=!0){return h.fromPrivateKey(x).toRawBytes(P)}function O(x){const P=x instanceof Uint8Array,T=typeof x=="string",Q=(P||T)&&x.length;return P?Q===n||Q===i:T?Q===2*n||Q===2*i:x instanceof h}function v(x,P,T=!0){if(O(x))throw new Error("first arg must be private key");if(!O(P))throw new Error("second arg must be public key");return h.fromHex(P).multiply(g(x)).toRawBytes(T)}const I=t.bits2int||function(x){const P=Fe(x),T=x.length*8-t.nBitLength;return T>0?P>>BigInt(T):P},R=t.bits2int_modN||function(x){return c(I(x))},S=Fn(t.nBitLength);function M(x){if(typeof x!="bigint")throw new Error("bigint expected");if(!(Gt<=x&&x<S))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Dr(x,t.nByteLength)}function L(x,P,T=U){if(["recovered","canonical"].some(de=>de in T))throw new Error("sign() legacy options not supported");const{hash:Q,randomBytes:H}=t;let{lowS:j,prehash:st,extraEntropy:nt}=T;j==null&&(j=!0),x=wt("msgHash",x),st&&(x=wt("prehashed msgHash",Q(x)));const Jt=R(x),zt=g(P),Me=[M(zt),M(Jt)];if(nt!=null){const de=nt===!0?H(e.BYTES):nt;Me.push(wt("extraEntropy",de))}const Hr=Kr(...Me),Kt=Jt;function js(de){const He=I(de);if(!m(He))return;const Zn=l(He),Qe=h.BASE.multiply(He).toAffine(),pt=c(Qe.x);if(pt===Gt)return;const Ge=c(Zn*c(Kt+pt*zt));if(Ge===Gt)return;let Yn=(Qe.x===pt?0:2)|Number(Qe.y&At),qn=Ge;return j&&b(Ge)&&(qn=p(Ge),Yn^=1),new B(pt,qn,Yn)}return{seed:Hr,k2sig:js}}const U={lowS:t.lowS,prehash:!1},K={lowS:t.lowS,prehash:!1};function W(x,P,T=U){const{seed:Q,k2sig:H}=L(x,P,T),j=t;return Xi(j.hash.outputLen,j.nByteLength,j.hmac)(Q,H)}h.BASE._setWindowSize(8);function xt(x,P,T,Q=K){var Qe;const H=x;if(P=wt("msgHash",P),T=wt("publicKey",T),"strict"in Q)throw new Error("options.strict was renamed to lowS");const{lowS:j,prehash:st}=Q;let nt,Jt;try{if(typeof H=="string"||H instanceof Uint8Array)try{nt=B.fromDER(H)}catch(pt){if(!(pt instanceof me.Err))throw pt;nt=B.fromCompact(H)}else if(typeof H=="object"&&typeof H.r=="bigint"&&typeof H.s=="bigint"){const{r:pt,s:Ge}=H;nt=new B(pt,Ge)}else throw new Error("PARSE");Jt=h.fromHex(T)}catch(pt){if(pt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(j&&nt.hasHighS())return!1;st&&(P=t.hash(P));const{r:zt,s:Me}=nt,Hr=R(P),Kt=l(Me),js=c(Hr*Kt),de=c(zt*Kt),He=(Qe=h.BASE.multiplyAndAddUnsafe(Jt,js,de))==null?void 0:Qe.toAffine();return He?c(He.x)===zt:!1}return{CURVE:t,getPublicKey:C,getSharedSecret:v,sign:W,verify:xt,ProjectivePoint:h,Signature:B,utils:k}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Ja(s){return{hash:s,hmac:(t,...e)=>Ms(s,t,o.concatBytes(...e)),randomBytes:o.randomBytes}}function za(s,t){const e=r=>Va({...s,...Ja(r)});return Object.freeze({...e(t),create:e})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ro=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),li=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Ka=BigInt(1),un=BigInt(2),ui=(s,t)=>(s+t/un)/t;function ja(s){const t=ro,e=BigInt(3),r=BigInt(6),n=BigInt(11),i=BigInt(22),a=BigInt(23),c=BigInt(44),l=BigInt(88),h=s*s*s%t,g=h*h*s%t,d=lt(g,e,t)*g%t,m=lt(d,e,t)*g%t,y=lt(m,un,t)*h%t,b=lt(y,n,t)*y%t,p=lt(b,i,t)*b%t,E=lt(p,c,t)*p%t,B=lt(E,l,t)*E%t,k=lt(B,c,t)*p%t,C=lt(k,e,t)*g%t,O=lt(C,a,t)*b%t,v=lt(O,r,t)*h%t,I=lt(v,un,t);if(!hn.eql(hn.sqr(I),s))throw new Error("Cannot find square root");return I}const hn=Da(ro,void 0,void 0,{sqrt:ja}),Wt=za({a:BigInt(0),b:BigInt(7),Fp:hn,n:li,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:s=>{const t=li,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-Ka*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,a=BigInt("0x100000000000000000000000000000000"),c=ui(i*s,t),l=ui(-r*s,t);let h=rt(s-c*e-l*n,t),g=rt(-c*r-l*i,t);const d=h>a,m=g>a;if(d&&(h=t-h),m&&(g=t-g),h>a||g>a)throw new Error("splitScalar: Endomorphism failed, k="+s);return{k1neg:d,k1:h,k2neg:m,k2:g}}}},os);BigInt(0);Wt.ProjectivePoint;const Tr="0x0000000000000000000000000000000000000000",hi="0x0000000000000000000000000000000000000000000000000000000000000000",fi=BigInt(0),di=BigInt(1),gi=BigInt(2),Ai=BigInt(27),pi=BigInt(28),As=BigInt(35),Ve={};function mi(s){return o.zeroPadValue(A.toBeArray(s),32)}var er,rr,sr,Ie;const mt=class mt{constructor(t,e,r,n){w(this,er);w(this,rr);w(this,sr);w(this,Ie);o.assertPrivate(t,Ve,"Signature"),f(this,er,e),f(this,rr,r),f(this,sr,n),f(this,Ie,null)}get r(){return u(this,er)}set r(t){o.assertArgument(o.dataLength(t)===32,"invalid r","value",t),f(this,er,o.hexlify(t))}get s(){return u(this,rr)}set s(t){o.assertArgument(o.dataLength(t)===32,"invalid s","value",t);const e=o.hexlify(t);o.assertArgument(parseInt(e.substring(0,3))<8,"non-canonical s","value",e),f(this,rr,e)}get v(){return u(this,sr)}set v(t){const e=A.getNumber(t,"value");o.assertArgument(e===27||e===28,"invalid v","v",t),f(this,sr,e)}get networkV(){return u(this,Ie)}get legacyChainId(){const t=this.networkV;return t==null?null:mt.getChainId(t)}get yParity(){return this.v===27?0:1}get yParityAndS(){const t=o.getBytes(this.s);return this.yParity&&(t[0]|=128),o.hexlify(t)}get compactSerialized(){return o.concat([this.r,this.yParityAndS])}get serialized(){return o.concat([this.r,this.s,this.yParity?"0x1c":"0x1b"])}[Symbol.for("nodejs.util.inspect.custom")](){return`Signature { r: "${this.r}", s: "${this.s}", yParity: ${this.yParity}, networkV: ${this.networkV} }`}clone(){const t=new mt(Ve,this.r,this.s,this.v);return this.networkV&&f(t,Ie,this.networkV),t}toJSON(){const t=this.networkV;return{_type:"signature",networkV:t!=null?t.toString():null,r:this.r,s:this.s,v:this.v}}static getChainId(t){const e=A.getBigInt(t,"v");return e==Ai||e==pi?fi:(o.assertArgument(e>=As,"invalid EIP-155 v","v",t),(e-As)/gi)}static getChainIdV(t,e){return A.getBigInt(t)*gi+BigInt(35+e-27)}static getNormalizedV(t){const e=A.getBigInt(t);return e===fi||e===Ai?27:e===di||e===pi?28:(o.assertArgument(e>=As,"invalid v","v",t),e&di?27:28)}static from(t){function e(h,g){o.assertArgument(h,g,"signature",t)}if(t==null)return new mt(Ve,hi,hi,27);if(typeof t=="string"){const h=o.getBytes(t,"signature");if(h.length===64){const g=o.hexlify(h.slice(0,32)),d=h.slice(32,64),m=d[0]&128?28:27;return d[0]&=127,new mt(Ve,g,o.hexlify(d),m)}if(h.length===65){const g=o.hexlify(h.slice(0,32)),d=h.slice(32,64);e((d[0]&128)===0,"non-canonical s");const m=mt.getNormalizedV(h[64]);return new mt(Ve,g,o.hexlify(d),m)}e(!1,"invalid raw signature length")}if(t instanceof mt)return t.clone();const r=t.r;e(r!=null,"missing r");const n=mi(r),i=function(h,g){if(h!=null)return mi(h);if(g!=null){e(o.isHexString(g,32),"invalid yParityAndS");const d=o.getBytes(g);return d[0]&=127,o.hexlify(d)}e(!1,"missing s")}(t.s,t.yParityAndS);e((o.getBytes(i)[0]&128)==0,"non-canonical s");const{networkV:a,v:c}=function(h,g,d){if(h!=null){const m=A.getBigInt(h);return{networkV:m>=As?m:void 0,v:mt.getNormalizedV(m)}}if(g!=null)return e(o.isHexString(g,32),"invalid yParityAndS"),{v:o.getBytes(g)[0]&128?28:27};if(d!=null){switch(A.getNumber(d,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}e(!1,"invalid yParity")}e(!1,"missing v")}(t.v,t.yParityAndS,t.yParity),l=new mt(Ve,n,i,c);return a&&f(l,Ie,a),e(t.yParity==null||A.getNumber(t.yParity,"sig.yParity")===l.yParity,"yParity mismatch"),e(t.yParityAndS==null||t.yParityAndS===l.yParityAndS,"yParityAndS mismatch"),l}};er=new WeakMap,rr=new WeakMap,sr=new WeakMap,Ie=new WeakMap;let Bt=mt;var Dt;const pe=class pe{constructor(t){w(this,Dt);o.assertArgument(o.dataLength(t)===32,"invalid private key","privateKey","[REDACTED]"),f(this,Dt,o.hexlify(t))}get privateKey(){return u(this,Dt)}get publicKey(){return pe.computePublicKey(u(this,Dt))}get compressedPublicKey(){return pe.computePublicKey(u(this,Dt),!0)}sign(t){o.assertArgument(o.dataLength(t)===32,"invalid digest length","digest",t);const e=Wt.sign(o.getBytesCopy(t),o.getBytesCopy(u(this,Dt)),{lowS:!0});return Bt.from({r:A.toBeHex(e.r,32),s:A.toBeHex(e.s,32),v:e.recovery?28:27})}computeSharedSecret(t){const e=pe.computePublicKey(t);return o.hexlify(Wt.getSharedSecret(o.getBytesCopy(u(this,Dt)),o.getBytes(e),!1))}static computePublicKey(t,e){let r=o.getBytes(t,"key");if(r.length===32){const i=Wt.getPublicKey(r,!!e);return o.hexlify(i)}if(r.length===64){const i=new Uint8Array(65);i[0]=4,i.set(r,1),r=i}const n=Wt.ProjectivePoint.fromHex(r);return o.hexlify(n.toRawBytes(e))}static recoverPublicKey(t,e){o.assertArgument(o.dataLength(t)===32,"invalid digest length","digest",t);const r=Bt.from(e);let n=Wt.Signature.fromCompact(o.getBytesCopy(o.concat([r.r,r.s])));n=n.addRecoveryBit(r.yParity);const i=n.recoverPublicKey(o.getBytesCopy(t));return o.assertArgument(i!=null,"invalid signautre for digest","signature",e),"0x"+i.toHex(!1)}static addPoints(t,e,r){const n=Wt.ProjectivePoint.fromHex(pe.computePublicKey(t).substring(2)),i=Wt.ProjectivePoint.fromHex(pe.computePublicKey(e).substring(2));return"0x"+n.add(i).toHex(!!r)}};Dt=new WeakMap;let Fr=pe;function so(s){const t=o.getAddress(s.from);let r=A.getBigInt(s.nonce,"tx.nonce").toString(16);return r==="0"?r="0x":r.length%2?r="0x0"+r:r="0x"+r,o.getAddress(o.dataSlice(o.keccak256(Le([t,r])),12))}var Za="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";const wi=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]),yi=4;function Ya(s){let t=0;function e(){return s[t++]<<8|s[t++]}let r=e(),n=1,i=[0,1];for(let v=1;v<r;v++)i.push(n+=e());let a=e(),c=t;t+=a;let l=0,h=0;function g(){return l==0&&(h=h<<8|s[t++],l=8),h>>--l&1}const d=31,m=2**d,y=m>>>1,b=y>>1,p=m-1;let E=0;for(let v=0;v<d;v++)E=E<<1|g();let B=[],k=0,C=m;for(;;){let v=Math.floor(((E-k+1)*n-1)/C),I=0,R=r;for(;R-I>1;){let L=I+R>>>1;v<i[L]?R=L:I=L}if(I==0)break;B.push(I);let S=k+Math.floor(C*i[I]/n),M=k+Math.floor(C*i[I+1]/n)-1;for(;!((S^M)&y);)E=E<<1&p|g(),S=S<<1&p,M=M<<1&p|1;for(;S&~M&b;)E=E&y|E<<1&p>>>1|g(),S=S<<1^y,M=(M^y)<<1|y|1;k=S,C=1+M-S}let O=r-4;return B.map(v=>{switch(v-O){case 3:return O+65792+(s[c++]<<16|s[c++]<<8|s[c++]);case 2:return O+256+(s[c++]<<8|s[c++]);case 1:return O+s[c++];default:return v-1}})}function qa(s){let t=0;return()=>s[t++]}function no(s){return qa(Ya(Wa(s)))}function Wa(s){let t=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((n,i)=>t[n.charCodeAt(0)]=i);let e=s.length,r=new Uint8Array(6*e>>3);for(let n=0,i=0,a=0,c=0;n<e;n++)c=c<<6|t[s.charCodeAt(n)],a+=6,a>=8&&(r[i++]=c>>(a-=8));return r}function Xa(s){return s&1?~s>>1:s>>1}function _a(s,t){let e=Array(s);for(let r=0,n=0;r<s;r++)e[r]=n+=Xa(t());return e}function jr(s,t=0){let e=[];for(;;){let r=s(),n=s();if(!n)break;t+=r;for(let i=0;i<n;i++)e.push(t+i);t+=n+1}return e}function io(s){return Zr(()=>{let t=jr(s);if(t.length)return t})}function oo(s){let t=[];for(;;){let e=s();if(e==0)break;t.push($a(e,s))}for(;;){let e=s()-1;if(e<0)break;t.push(tc(e,s))}return t.flat()}function Zr(s){let t=[];for(;;){let e=s(t.length);if(!e)break;t.push(e)}return t}function ao(s,t,e){let r=Array(s).fill().map(()=>[]);for(let n=0;n<t;n++)_a(s,e).forEach((i,a)=>r[a].push(i));return r}function $a(s,t){let e=1+t(),r=t(),n=Zr(t);return ao(n.length,1+s,t).flatMap((a,c)=>{let[l,...h]=a;return Array(n[c]).fill().map((g,d)=>{let m=d*r;return[l+d*e,h.map(y=>y+m)]})})}function tc(s,t){let e=1+t();return ao(e,1+s,t).map(n=>[n[0],n.slice(1)])}function ec(s){let t=[],e=jr(s);return n(r([]),[]),t;function r(i){let a=s(),c=Zr(()=>{let l=jr(s).map(h=>e[h]);if(l.length)return r(l)});return{S:a,B:c,Q:i}}function n({S:i,B:a},c,l){if(!(i&4&&l===c[c.length-1])){i&2&&(l=c[c.length-1]),i&1&&t.push(c);for(let h of a)for(let g of h.Q)n(h,[...c,g],l)}}}function rc(s){return s.toString(16).toUpperCase().padStart(2,"0")}function co(s){return`{${rc(s)}}`}function sc(s){let t=[];for(let e=0,r=s.length;e<r;){let n=s.codePointAt(e);e+=n<65536?1:2,t.push(n)}return t}function Lr(s){let e=s.length;if(e<4096)return String.fromCodePoint(...s);let r=[];for(let n=0;n<e;)r.push(String.fromCodePoint(...s.slice(n,n+=4096)));return r.join("")}function nc(s,t){let e=s.length,r=e-t.length;for(let n=0;r==0&&n<e;n++)r=s[n]-t[n];return r}var ic="AEUDTAHBCFQATQDRADAAcgAgADQAFAAsABQAHwAOACQADQARAAoAFwAHABIACAAPAAUACwAFAAwABAAQAAMABwAEAAoABQAIAAIACgABAAQAFAALAAIACwABAAIAAQAHAAMAAwAEAAsADAAMAAwACgANAA0AAwAKAAkABAAdAAYAZwDSAdsDJgC0CkMB8xhZAqfoC190UGcThgBurwf7PT09Pb09AjgJum8OjDllxHYUKXAPxzq6tABAxgK8ysUvWAgMPT09PT09PSs6LT2HcgWXWwFLoSMEEEl5RFVMKvO0XQ8ExDdJMnIgsj26PTQyy8FfEQ8AY8IPAGcEbwRwBHEEcgRzBHQEdQR2BHcEeAR6BHsEfAR+BIAEgfndBQoBYgULAWIFDAFiBNcE2ATZBRAFEQUvBdALFAsVDPcNBw13DYcOMA4xDjMB4BllHI0B2grbAMDpHLkQ7QHVAPRNQQFnGRUEg0yEB2uaJF8AJpIBpob5AERSMAKNoAXqaQLUBMCzEiACnwRZEkkVsS7tANAsBG0RuAQLEPABv9HICTUBXigPZwRBApMDOwAamhtaABqEAY8KvKx3LQ4ArAB8UhwEBAVSagD8AEFZADkBIadVj2UMUgx5Il4ANQC9AxIB1BlbEPMAs30CGxlXAhwZKQIECBc6EbsCoxngzv7UzRQA8M0BawL6ZwkN7wABAD33OQRcsgLJCjMCjqUChtw/km+NAsXPAoP2BT84PwURAK0RAvptb6cApQS/OMMey5HJS84UdxpxTPkCogVFITaTOwERAK5pAvkNBOVyA7q3BKlOJSALAgUIBRcEdASpBXqzABXFSWZOawLCOqw//AolCZdvv3dSBkEQGyelEPcMMwG1ATsN7UvYBPEGOwTJH30ZGQ/NlZwIpS3dDO0m4y6hgFoj9SqDBe1L9DzdC01RaA9ZC2UJ4zpjgU4DIQENIosK3Q05CG0Q8wrJaw3lEUUHOQPVSZoApQcBCxEdNRW1JhBirAsJOXcG+xr2C48mrxMpevwF0xohBk0BKRr/AM8u54WwWjFcHE9fBgMLJSPHFKhQIA0lQLd4SBobBxUlqQKRQ3BKh1E2HpMh9jw9DWYuE1F8B/U8BRlPC4E8nkarRQ4R0j6NPUgiSUwsBDV/LC8niwnPD4UMuXxyAVkJIQmxDHETMREXN8UIOQcZLZckJxUIIUaVYJoE958D8xPRAwsFPwlBBxMDtRwtEy4VKQUNgSTXAvM21S6zAo9WgAEXBcsPJR/fEFBH4A7pCJsCZQODJesALRUhABcimwhDYwBfj9hTBS7LCMdqbCN0A2cU52ERcweRDlcHpxwzFb8c4XDIXguGCCijrwlbAXUJmQFfBOMICTVbjKAgQWdTi1gYmyBhQT9d/AIxDGUVn0S9h3gCiw9rEhsBNQFzBzkNAQJ3Ee0RaxCVCOuGBDW1M/g6JQRPIYMgEQonA09szgsnJvkM+GkBoxJiAww0PXfuZ6tgtiQX/QcZMsVBYCHxC5JPzQycGsEYQlQuGeQHvwPzGvMn6kFXBf8DowMTOk0z7gS9C2kIiwk/AEkOoxcH1xhqCnGM0AExiwG3mQNXkYMCb48GNwcLAGcLhwV55QAdAqcIowAFAM8DVwA5Aq0HnQAZAIVBAT0DJy8BIeUCjwOTCDHLAZUvAfMpBBvDDBUA9zduSgLDsQKAamaiBd1YAo4CSTUBTSUEBU5HUQOvceEA2wBLBhPfRwEVq0rLGuNDAd9vKwDHAPsABTUHBUEBzQHzbQC3AV8LMQmis7UBTekpAIMAFWsB1wKJAN0ANQB/8QFTAE0FWfkF0wJPSQERMRgrV2EBuwMfATMBDQB5BsuNpckHHwRtB9MCEBsV4QLvLge1AQMi3xPNQsUCvd5VoWACZIECYkJbTa9bNyACofcCaJgCZgkCn4Q4GwsCZjsCZiYEbgR/A38TA36SOQY5dxc5gjojIwJsHQIyNjgKAm3HAm2u74ozZ0UrAWcA3gDhAEoFB5gMjQD+C8IADbUCdy8CdqI/AnlLQwJ4uh1c20WuRtcCfD8CesgCfQkCfPAFWQUgSABIfWMkAoFtAoAAAoAFAn+uSVhKWxUXSswC0QEC0MxLJwOITwOH5kTFkTIC8qFdAwMDrkvOTC0lA89NTE2vAos/AorYwRsHHUNnBbcCjjcCjlxAl4ECjtkCjlx4UbRTNQpS1FSFApP7ApMMAOkAHFUeVa9V0AYsGymVhjLheGZFOzkCl58C77JYIagAWSUClo8ClnycAKlZrFoJgU0AOwKWtQKWTlxEXNECmcsCmWRcyl0HGQKcmznCOp0CnBYCn5sCnriKAB0PMSoPAp3xAp6SALU9YTRh7wKe0wKgbgGpAp6fHwKeTqVjyGQnJSsCJ68CJn4CoPsCoEwCot0CocQCpi8Cpc4Cp/8AfQKn8mh8aLEAA0lqHGrRAqzjAqyuAq1nAq0CAlcdAlXcArHh1wMfTmyXArK9DQKy6Bds4G1jbUhfAyXNArZcOz9ukAMpRQK4XgK5RxUCuSp3cDZw4QK9GQK72nCWAzIRAr6IcgIDM3ECvhpzInNPAsPLAsMEc4J0SzVFdOADPKcDPJoDPb8CxXwCxkcCxhCJAshpUQLIRALJTwLJLgJknQLd0nh5YXiueSVL0AMYo2cCAmH0GfOVJHsLXpJeuxECz2sCz2wvS1PS8xOfAMatAs9zASnqA04SfksFAtwnAtuKAtJPA1JcA1NfAQEDVYyAiT8AyxbtYEWCHILTgs6DjQLaxwLZ3oQQhEmnPAOGpQAvA2QOhnFZ+QBVAt9lAt64c3cC4i/tFAHzMCcB9JsB8tKHAuvzAulweQLq+QLq5AD5RwG5Au6JAuuclqqXAwLuPwOF4Jh5cOBxoQLzAwBpA44WmZMC9xMDkW4DkocC95gC+dkC+GaaHJqruzebHgOdgwL++gEbADmfHJ+zAwWNA6ZqA6bZANHFAwZqoYiiBQkDDEkCwAA/AwDhQRdTARHzA2sHl2cFAJMtK7evvdsBiZkUfxEEOQH7KQUhDp0JnwCS/SlXxQL3AZ0AtwW5AG8LbUEuFCaNLgFDAYD8AbUmAHUDDgRtACwCFgyhAAAKAj0CagPdA34EkQEgRQUhfAoABQBEABMANhICdwEABdUDa+8KxQIA9wqfJ7+xt+UBkSFBQgHpFH8RNMCJAAQAGwBaAkUChIsABjpTOpSNbQC4Oo860ACNOME63AClAOgAywE6gTo7Ofw5+Tt2iTpbO56JOm85GAFWATMBbAUvNV01njWtNWY1dTW2NcU1gjWRNdI14TWeNa017jX9NbI1wTYCNhE1xjXVNhY2JzXeNe02LjY9Ni41LSE2OjY9Njw2yTcIBJA8VzY4Nt03IDcPNsogN4k3MAoEsDxnNiQ3GTdsOo03IULUQwdC4EMLHA8PCZsobShRVQYA6X8A6bABFCnXAukBowC9BbcAbwNzBL8MDAMMAQgDAAkKCwsLCQoGBAVVBI/DvwDz9b29kaUCb0QtsRTNLt4eGBcSHAMZFhYZEhYEARAEBUEcQRxBHEEcQRxBHEEaQRxBHEFCSTxBPElISUhBNkM2QTYbNklISVmBVIgBFLWZAu0BhQCjBcEAbykBvwGJAaQcEZ0ePCklMAAhMvAIMAL54gC7Bm8EescjzQMpARQpKgDUABavAj626xQAJP0A3etzuf4NNRA7efy2Z9NQrCnC0OSyANz5BBIbJ5IFDR6miIavYS6tprjjmuKebxm5C74Q225X1pkaYYPb6f1DK4k3xMEBb9S2WMjEibTNWhsRJIA+vwNVEiXTE5iXs/wezV66oFLfp9NZGYW+Gk19J2+bCT6Ye2w6LDYdgzKMUabk595eLBCXANz9HUpWbATq9vqXVx9XDg+Pc9Xp4+bsS005SVM/BJBM4687WUuf+Uj9dEi8aDNaPxtpbDxcG1THTImUMZq4UCaaNYpsVqraNyKLJXDYsFZ/5jl7bLRtO88t7P3xZaAxhb5OdPMXqsSkp1WCieG8jXm1U99+blvLlXzPCS+M93VnJCiK+09LfaSaBAVBomyDgJua8dfUzR7ga34IvR2Nvj+A9heJ6lsl1KG4NkI1032Cnff1m1wof2B9oHJK4bi6JkEdSqeNeiuo6QoZZincoc73/TH9SXF8sCE7XyuYyW8WSgbGFCjPV0ihLKhdPs08Tx82fYAkLLc4I2wdl4apY7GU5lHRFzRWJep7Ww3wbeA3qmd59/86P4xuNaqDpygXt6M85glSBHOCGgJDnt+pN9bK7HApMguX6+06RZNjzVmcZJ+wcUrJ9//bpRNxNuKpNl9uFds+S9tdx7LaM5ZkIrPj6nIU9mnbFtVbs9s/uLgl8MVczAwet+iOEzzBlYW7RCMgE6gyNLeq6+1tIx4dpgZnd0DksJS5f+JNDpwwcPNXaaVspq1fbQajOrJgK0ofKtJ1Ne90L6VO4MOl5S886p7u6xo7OLjG8TGL+HU1JXGJgppg4nNbNJ5nlzSpuPYy21JUEcUA94PoFiZfjZue+QnyQ80ekOuZVkxx4g+cvhJfHgNl4hy1/a6+RKcKlar/J29y//EztlbVPHVUeQ1zX86eQVAjR/M3dA9w4W8LfaXp4EgM85wOWasli837PzVMOnsLzR+k3o75/lRPAJSE1xAKQzEi5v10ke+VBvRt1cwQRMd+U5mLCTGVd6XiZtgBG5cDi0w22GKcVNvHiu5LQbZEDVtz0onn7k5+heuKXVsZtSzilkLRAUmjMXEMB3J9YC50XBxPiz53SC+EhnPl9WsKCv92SM/OFFIMJZYfl0WW8tIO3UxYcwdMAj7FSmgrsZ2aAZO03BOhP1bNNZItyXYQFTpC3SG1VuPDqH9GkiCDmE+JwxyIVSO5siDErAOpEXFgjy6PQtOVDj+s6e1r8heWVvmZnTciuf4EiNZzCAd7SOMhXERIOlsHIMG399i9aLTy3m2hRLZjJVDNLS53iGIK11dPqQt0zBDyg6qc7YqkDm2M5Ve6dCWCaCbTXX2rToaIgz6+zh4lYUi/+6nqcFMAkQJKHYLK0wYk5N9szV6xihDbDDFr45lN1K4aCXBq/FitPSud9gLt5ZVn+ZqGX7cwm2z5EGMgfFpIFyhGGuDPmso6TItTMwny+7uPnLCf4W6goFQFV0oQSsc9VfMmVLcLr6ZetDZbaSFTLqnSO/bIPjA3/zAUoqgGFAEQS4IhuMzEp2I3jJzbzkk/IEmyax+rhZTwd6f+CGtwPixu8IvzACquPWPREu9ZvGkUzpRwvRRuaNN6cr0W1wWits9ICdYJ7ltbgMiSL3sTPeufgNcVqMVWFkCPDH4jG2jA0XcVgQj62Cb29v9f/z/+2KbYvIv/zzjpQAPkliaVDzNrW57TZ/ZOyZD0nlfMmAIBIAGAI0D3k/mdN4xr9v85ZbZbbqfH2jGd5hUqNZWwl5SPfoGmfElmazUIeNL1j/mkF7VNAzTq4jNt8JoQ11NQOcmhprXoxSxfRGJ9LDEOAQ+dmxAQH90iti9e2u/MoeuaGcDTHoC+xsmEeWmxEKefQuIzHbpw5Tc5cEocboAD09oipWQhtTO1wivf/O+DRe2rpl/E9wlrzBorjJsOeG1B/XPW4EaJEFdNlECEZga5ZoGRHXgYouGRuVkm8tDESiEyFNo+3s5M5puSdTyUL2llnINVHEt91XUNW4ewdMgJ4boJfEyt/iY5WXqbA+A2Fkt5Z0lutiWhe9nZIyIUjyXDC3UsaG1t+eNx6z4W/OYoTB7A6x+dNSTOi9AInctbESqm5gvOLww7OWXPrmHwVZasrl4eD113pm+JtT7JVOvnCXqdzzdTRHgJ0PiGTFYW5Gvt9R9LD6Lzfs0v/TZZHSmyVNq7viIHE6DBK7Qp07Iz55EM8SYtQvZf/obBniTWi5C2/ovHfw4VndkE5XYdjOhCMRjDeOEfXeN/CwfGduiUIfsoFeUxXeQXba7c7972XNv8w+dTjjUM0QeNAReW+J014dKAD/McQYXT7c0GQPIkn3Ll6R7gGjuiQoZD0TEeEqQpKoZ15g/0OPQI17QiSv9AUROa/V/TQN3dvLArec3RrsYlvBm1b8LWzltdugsC50lNKYLEp2a+ZZYqPejULRlOJh5zj/LVMyTDvwKhMxxwuDkxJ1QpoNI0OTWLom4Z71SNzI9TV1iXJrIu9Wcnd+MCaAw8o1jSXd94YU/1gnkrC9BUEOtQvEIQ7g0i6h+KL2JKk8Ydl7HruvgWMSAmNe+LshGhV4qnWHhO9/RIPQzY1tHRj2VqOyNsDpK0cww+56AdDC4gsWwY0XxoucIWIqs/GcwnWqlaT0KPr8mbK5U94/301i1WLt4YINTVvCFBrFZbIbY8eycOdeJ2teD5IfPLCRg7jjcFTwlMFNl9zdh/o3E/hHPwj7BWg0MU09pPrBLbrCgm54A6H+I6v27+jL5gkjWg/iYdks9jbfVP5y/n0dlgWEMlKasl7JvFZd56LfybW1eeaVO0gxTfXZwD8G4SI116yx7UKVRgui6Ya1YpixqXeNLc8IxtAwCU5IhwQgn+NqHnRaDv61CxKhOq4pOX7M6pkA+Pmpd4j1vn6ACUALoLLc4vpXci8VidLxzm7qFBe7s+quuJs6ETYmnpgS3LwSZxPIltgBDXz8M1k/W2ySNv2f9/NPhxLGK2D21dkHeSGmenRT3Yqcdl0m/h3OYr8V+lXNYGf8aCCpd4bWjE4QIPj7vUKN4Nrfs7ML6Y2OyS830JCnofg/k7lpFpt4SqZc5HGg1HCOrHvOdC8bP6FGDbE/VV0mX4IakzbdS/op+Kt3G24/8QbBV7y86sGSQ/vZzU8FXs7u6jIvwchsEP2BpIhW3G8uWNwa3HmjfH/ZjhhCWvluAcF+nMf14ClKg5hGgtPLJ98ueNAkc5Hs2WZlk2QHvfreCK1CCGO6nMZVSb99VM/ajr8WHTte9JSmkXq/i/U943HEbdzW6Re/S88dKgg8pGOLlAeNiqrcLkUR3/aClFpMXcOUP3rmETcWSfMXZE3TUOi8i+fqRnTYLflVx/Vb/6GJ7eIRZUA6k3RYR3iFSK9c4iDdNwJuZL2FKz/IK5VimcNWEqdXjSoxSgmF0UPlDoUlNrPcM7ftmA8Y9gKiqKEHuWN+AZRIwtVSxye2Kf8rM3lhJ5XcBXU9n4v0Oy1RU2M+4qM8AQPVwse8ErNSob5oFPWxuqZnVzo1qB/IBxkM3EVUKFUUlO3e51259GgNcJbCmlvrdjtoTW7rChm1wyCKzpCTwozUUEOIcWLneRLgMXh+SjGSFkAllzbGS5HK7LlfCMRNRDSvbQPjcXaenNYxCvu2Qyznz6StuxVj66SgI0T8B6/sfHAJYZaZ78thjOSIFumNWLQbeZixDCCC+v0YBtkxiBB3jefHqZ/dFHU+crbj6OvS1x/JDD7vlm7zOVPwpUC01nhxZuY/63E7g";const Yr=44032,Ps=4352,Ns=4449,ks=4519,lo=19,uo=21,Ur=28,Ss=uo*Ur,oc=lo*Ss,ac=Yr+oc,cc=Ps+lo,lc=Ns+uo,uc=ks+Ur;function Gr(s){return s>>24&255}function ho(s){return s&16777215}let fn,bi,dn,ws;function hc(){let s=no(ic);fn=new Map(io(s).flatMap((t,e)=>t.map(r=>[r,e+1<<24]))),bi=new Set(jr(s)),dn=new Map,ws=new Map;for(let[t,e]of oo(s)){if(!bi.has(t)&&e.length==2){let[r,n]=e,i=ws.get(r);i||(i=new Map,ws.set(r,i)),i.set(n,t)}dn.set(t,e.reverse())}}function fo(s){return s>=Yr&&s<ac}function fc(s,t){if(s>=Ps&&s<cc&&t>=Ns&&t<lc)return Yr+(s-Ps)*Ss+(t-Ns)*Ur;if(fo(s)&&t>ks&&t<uc&&(s-Yr)%Ur==0)return s+(t-ks);{let e=ws.get(s);return e&&(e=e.get(t),e)?e:-1}}function go(s){fn||hc();let t=[],e=[],r=!1;function n(i){let a=fn.get(i);a&&(r=!0,i|=a),t.push(i)}for(let i of s)for(;;){if(i<128)t.push(i);else if(fo(i)){let a=i-Yr,c=a/Ss|0,l=a%Ss/Ur|0,h=a%Ur;n(Ps+c),n(Ns+l),h>0&&n(ks+h)}else{let a=dn.get(i);a?e.push(...a):n(i)}if(!e.length)break;i=e.pop()}if(r&&t.length>1){let i=Gr(t[0]);for(let a=1;a<t.length;a++){let c=Gr(t[a]);if(c==0||i<=c){i=c;continue}let l=a-1;for(;;){let h=t[l+1];if(t[l+1]=t[l],t[l]=h,!l||(i=Gr(t[--l]),i<=c))break}i=Gr(t[a])}}return t}function dc(s){let t=[],e=[],r=-1,n=0;for(let i of s){let a=Gr(i),c=ho(i);if(r==-1)a==0?r=c:t.push(c);else if(n>0&&n>=a)a==0?(t.push(r,...e),e.length=0,r=c):e.push(c),n=a;else{let l=fc(r,c);l>=0?r=l:n==0&&a==0?(t.push(r),r=c):(e.push(c),n=a)}}return r>=0&&t.push(r,...e),t}function Ao(s){return go(s).map(ho)}function gc(s){return dc(go(s))}const Ei=45,po=".",mo=65039,wo=1,vs=s=>Array.from(s);function qr(s,t){return s.P.has(t)||s.Q.has(t)}class Ac extends Array{get is_emoji(){return!0}}let gn,yo,we,An,bo,qe,Xs,Ke,ge,Bi,pn;function Ln(){if(gn)return;let s=no(Za);const t=()=>jr(s),e=()=>new Set(t()),r=(g,d)=>d.forEach(m=>g.add(m));gn=new Map(oo(s)),yo=e(),we=t(),An=new Set(t().map(g=>we[g])),we=new Set(we),bo=e(),e();let n=io(s),i=s();const a=()=>{let g=new Set;return t().forEach(d=>r(g,n[d])),r(g,t()),g};qe=Zr(g=>{let d=Zr(s).map(m=>m+96);if(d.length){let m=g>=i;d[0]-=32,d=Lr(d),m&&(d=`Restricted[${d}]`);let y=a(),b=a(),p=!s();return{N:d,P:y,Q:b,M:p,R:m}}}),Xs=e(),Ke=new Map;let c=t().concat(vs(Xs)).sort((g,d)=>g-d);c.forEach((g,d)=>{let m=s(),y=c[d]=m?c[d-m]:{V:[],M:new Map};y.V.push(g),Xs.has(g)||Ke.set(g,y)});for(let{V:g,M:d}of new Set(Ke.values())){let m=[];for(let b of g){let p=qe.filter(B=>qr(B,b)),E=m.find(({G:B})=>p.some(k=>B.has(k)));E||(E={G:new Set,V:[]},m.push(E)),E.V.push(b),r(E.G,p)}let y=m.flatMap(b=>vs(b.G));for(let{G:b,V:p}of m){let E=new Set(y.filter(B=>!b.has(B)));for(let B of p)d.set(B,E)}}ge=new Set;let l=new Set;const h=g=>ge.has(g)?l.add(g):ge.add(g);for(let g of qe){for(let d of g.P)h(d);for(let d of g.Q)h(d)}for(let g of ge)!Ke.has(g)&&!l.has(g)&&Ke.set(g,wo);r(ge,Ao(ge)),Bi=ec(s).map(g=>Ac.from(g)).sort(nc),pn=new Map;for(let g of Bi){let d=[pn];for(let m of g){let y=d.map(b=>{let p=b.get(m);return p||(p=new Map,b.set(m,p)),p});m===mo?d.push(...y):d=y}for(let m of d)m.V=g}}function Un(s){return(Eo(s)?"":`${Mn(Gs([s]))} `)+co(s)}function Mn(s){return`"${s}"‎`}function pc(s){if(s.length>=4&&s[2]==Ei&&s[3]==Ei)throw new Error(`invalid label extension: "${Lr(s.slice(0,4))}"`)}function mc(s){for(let e=s.lastIndexOf(95);e>0;)if(s[--e]!==95)throw new Error("underscore allowed only at start")}function wc(s){let t=s[0],e=wi.get(t);if(e)throw zr(`leading ${e}`);let r=s.length,n=-1;for(let i=1;i<r;i++){t=s[i];let a=wi.get(t);if(a){if(n==i)throw zr(`${e} + ${a}`);n=i+1,e=a}}if(n==r)throw zr(`trailing ${e}`)}function Gs(s,t=1/0,e=co){let r=[];yc(s[0])&&r.push("◌"),s.length>t&&(t>>=1,s=[...s.slice(0,t),8230,...s.slice(-t)]);let n=0,i=s.length;for(let a=0;a<i;a++){let c=s[a];Eo(c)&&(r.push(Lr(s.slice(n,a))),r.push(e(c)),n=a+1)}return r.push(Lr(s.slice(n,i))),r.join("")}function yc(s){return Ln(),we.has(s)}function Eo(s){return Ln(),bo.has(s)}function bc(s){return Cc(Ec(s,gc,Nc))}function Ec(s,t,e){if(!s)return[];Ln();let r=0;return s.split(po).map(n=>{let i=sc(n),a={input:i,offset:r};r+=i.length+1;try{let c=a.tokens=Pc(i,t,e),l=c.length,h;if(!l)throw new Error("empty label");let g=a.output=c.flat();if(mc(g),!(a.emoji=l>1||c[0].is_emoji)&&g.every(m=>m<128))pc(g),h="ASCII";else{let m=c.flatMap(y=>y.is_emoji?[]:y);if(!m.length)h="Emoji";else{if(we.has(g[0]))throw zr("leading combining mark");for(let p=1;p<l;p++){let E=c[p];if(!E.is_emoji&&we.has(E[0]))throw zr(`emoji + combining mark: "${Lr(c[p-1])} + ${Gs([E[0]])}"`)}wc(g);let y=vs(new Set(m)),[b]=xc(y);Ic(b,m),Bc(b,y),h=b.N}}a.type=h}catch(c){a.error=c}return a})}function Bc(s,t){let e,r=[];for(let n of t){let i=Ke.get(n);if(i===wo)return;if(i){let a=i.M.get(n);if(e=e?e.filter(c=>a.has(c)):vs(a),!e.length)return}else r.push(n)}if(e){for(let n of e)if(r.every(i=>qr(n,i)))throw new Error(`whole-script confusable: ${s.N}/${n.N}`)}}function xc(s){let t=qe;for(let e of s){let r=t.filter(n=>qr(n,e));if(!r.length)throw qe.some(n=>qr(n,e))?xo(t[0],e):Bo(e);if(t=r,r.length==1)break}return t}function Cc(s){return s.map(({input:t,error:e,output:r})=>{if(e){let n=e.message;throw new Error(s.length==1?n:`Invalid label ${Mn(Gs(t,63))}: ${n}`)}return Lr(r)}).join(po)}function Bo(s){return new Error(`disallowed character: ${Un(s)}`)}function xo(s,t){let e=Un(t),r=qe.find(n=>n.P.has(t));return r&&(e=`${r.N} ${e}`),new Error(`illegal mixture: ${s.N} + ${e}`)}function zr(s){return new Error(`illegal placement: ${s}`)}function Ic(s,t){for(let e of t)if(!qr(s,e))throw xo(s,e);if(s.M){let e=Ao(t);for(let r=1,n=e.length;r<n;r++)if(An.has(e[r])){let i=r+1;for(let a;i<n&&An.has(a=e[i]);i++)for(let c=r;c<i;c++)if(e[c]==a)throw new Error(`duplicate non-spacing marks: ${Un(a)}`);if(i-r>yi)throw new Error(`excessive non-spacing marks: ${Mn(Gs(e.slice(r-1,i)))} (${i-r}/${yi})`);r=i}}}function Pc(s,t,e){let r=[],n=[];for(s=s.slice().reverse();s.length;){let i=kc(s);if(i)n.length&&(r.push(t(n)),n=[]),r.push(e(i));else{let a=s.pop();if(ge.has(a))n.push(a);else{let c=gn.get(a);if(c)n.push(...c);else if(!yo.has(a))throw Bo(a)}}}return n.length&&r.push(t(n)),r}function Nc(s){return s.filter(t=>t!=mo)}function kc(s,t){let e=pn,r,n=s.length;for(;n&&(e=e.get(s[--n]),!!e);){let{V:i}=e;i&&(r=i,s.length=n)}return r}const Co=new Uint8Array(32);Co.fill(0);function xi(s){return o.assertArgument(s.length!==0,"invalid ENS name; empty component","comp",s),s}function Io(s){const t=A.toUtf8Bytes(Sc(s)),e=[];if(s.length===0)return e;let r=0;for(let n=0;n<t.length;n++)t[n]===46&&(e.push(xi(t.slice(r,n))),r=n+1);return o.assertArgument(r<t.length,"invalid ENS name; empty component","name",s),e.push(xi(t.slice(r))),e}function Sc(s){try{if(s.length===0)throw new Error("empty label");return bc(s)}catch(t){o.assertArgument(!1,`invalid ENS name (${t.message})`,"name",s)}}function mn(s){o.assertArgument(typeof s=="string","invalid ENS name; not a string","name",s),o.assertArgument(s.length,"invalid ENS name (empty label)","name",s);let t=Co;const e=Io(s);for(;e.length;)t=o.keccak256(o.concat([t,o.keccak256(e.pop())]));return o.hexlify(t)}function vc(s,t){const e=t;return o.assertArgument(e<=255,"DNS encoded label cannot exceed 255","length",e),o.hexlify(o.concat(Io(s).map(r=>{o.assertArgument(r.length<=e,`label ${JSON.stringify(s)} exceeds ${e} bytes`,"name",s);const n=new Uint8Array(r.length+1);return n.set(r,1),n[0]=n.length-1,n})))+"00"}function Po(s){let t;return typeof s=="string"?t=Fr.computePublicKey(s,!1):t=s.publicKey,o.getAddress(o.keccak256("0x"+t.substring(4)).substring(26))}function Rc(s,t){return Po(Fr.recoverPublicKey(s,t))}const Y=BigInt(0),Oc=BigInt(2),Dc=BigInt(27),Tc=BigInt(28),Fc=BigInt(35),Lc=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),_s=4096*32;function Ci(s,t){let e=s.toString(16);for(;e.length<2;)e="0"+e;return e+=Ue(t).substring(4),"0x"+e}function Vs(s){return s==="0x"?null:o.getAddress(s)}function Hn(s,t){try{return A.accessListify(s)}catch(e){o.assertArgument(!1,e.message,t,s)}}function cs(s,t){return s==="0x"?0:A.getNumber(s,t)}function J(s,t){if(s==="0x")return Y;const e=A.getBigInt(s,t);return o.assertArgument(e<=Lc,"value exceeds uint size",t,e),e}function G(s,t){const e=A.getBigInt(s,"value"),r=A.toBeArray(e);return o.assertArgument(r.length<=32,"value too large",`tx.${t}`,e),r}function Qn(s){return A.accessListify(s).map(t=>[t.address,t.storageKeys])}function Uc(s,t){o.assertArgument(Array.isArray(s),`invalid ${t}`,"value",s);for(let e=0;e<s.length;e++)o.assertArgument(o.isHexString(s[e],32),"invalid ${ param } hash",`value[${e}]`,s[e]);return s}function Mc(s){const t=Us(s);o.assertArgument(Array.isArray(t)&&(t.length===9||t.length===6),"invalid field count for legacy transaction","data",s);const e={type:0,nonce:cs(t[0],"nonce"),gasPrice:J(t[1],"gasPrice"),gasLimit:J(t[2],"gasLimit"),to:Vs(t[3]),value:J(t[4],"value"),data:o.hexlify(t[5]),chainId:Y};if(t.length===6)return e;const r=J(t[6],"v"),n=J(t[7],"r"),i=J(t[8],"s");if(n===Y&&i===Y)e.chainId=r;else{let a=(r-Fc)/Oc;a<Y&&(a=Y),e.chainId=a,o.assertArgument(a!==Y||r===Dc||r===Tc,"non-canonical legacy v","v",t[6]),e.signature=Bt.from({r:o.zeroPadValue(t[7],32),s:o.zeroPadValue(t[8],32),v:r})}return e}function Hc(s,t){const e=[G(s.nonce,"nonce"),G(s.gasPrice||0,"gasPrice"),G(s.gasLimit,"gasLimit"),s.to||"0x",G(s.value,"value"),s.data];let r=Y;if(s.chainId!=Y)r=A.getBigInt(s.chainId,"tx.chainId"),o.assertArgument(!t||t.networkV==null||t.legacyChainId===r,"tx.chainId/sig.v mismatch","sig",t);else if(s.signature){const i=s.signature.legacyChainId;i!=null&&(r=i)}if(!t)return r!==Y&&(e.push(A.toBeArray(r)),e.push("0x"),e.push("0x")),Le(e);let n=BigInt(27+t.yParity);return r!==Y?n=Bt.getChainIdV(r,t.v):BigInt(t.v)!==n&&o.assertArgument(!1,"tx.chainId/sig.v mismatch","sig",t),e.push(A.toBeArray(n)),e.push(A.toBeArray(t.r)),e.push(A.toBeArray(t.s)),Le(e)}function Gn(s,t){let e;try{if(e=cs(t[0],"yParity"),e!==0&&e!==1)throw new Error("bad yParity")}catch{o.assertArgument(!1,"invalid yParity","yParity",t[0])}const r=o.zeroPadValue(t[1],32),n=o.zeroPadValue(t[2],32),i=Bt.from({r,s:n,yParity:e});s.signature=i}function Qc(s){const t=Us(o.getBytes(s).slice(1));o.assertArgument(Array.isArray(t)&&(t.length===9||t.length===12),"invalid field count for transaction type: 2","data",o.hexlify(s));const e={type:2,chainId:J(t[0],"chainId"),nonce:cs(t[1],"nonce"),maxPriorityFeePerGas:J(t[2],"maxPriorityFeePerGas"),maxFeePerGas:J(t[3],"maxFeePerGas"),gasPrice:null,gasLimit:J(t[4],"gasLimit"),to:Vs(t[5]),value:J(t[6],"value"),data:o.hexlify(t[7]),accessList:Hn(t[8],"accessList")};return t.length===9||Gn(e,t.slice(9)),e}function Gc(s,t){const e=[G(s.chainId,"chainId"),G(s.nonce,"nonce"),G(s.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),G(s.maxFeePerGas||0,"maxFeePerGas"),G(s.gasLimit,"gasLimit"),s.to||"0x",G(s.value,"value"),s.data,Qn(s.accessList||[])];return t&&(e.push(G(t.yParity,"yParity")),e.push(A.toBeArray(t.r)),e.push(A.toBeArray(t.s))),o.concat(["0x02",Le(e)])}function Vc(s){const t=Us(o.getBytes(s).slice(1));o.assertArgument(Array.isArray(t)&&(t.length===8||t.length===11),"invalid field count for transaction type: 1","data",o.hexlify(s));const e={type:1,chainId:J(t[0],"chainId"),nonce:cs(t[1],"nonce"),gasPrice:J(t[2],"gasPrice"),gasLimit:J(t[3],"gasLimit"),to:Vs(t[4]),value:J(t[5],"value"),data:o.hexlify(t[6]),accessList:Hn(t[7],"accessList")};return t.length===8||Gn(e,t.slice(8)),e}function Jc(s,t){const e=[G(s.chainId,"chainId"),G(s.nonce,"nonce"),G(s.gasPrice||0,"gasPrice"),G(s.gasLimit,"gasLimit"),s.to||"0x",G(s.value,"value"),s.data,Qn(s.accessList||[])];return t&&(e.push(G(t.yParity,"recoveryParam")),e.push(A.toBeArray(t.r)),e.push(A.toBeArray(t.s))),o.concat(["0x01",Le(e)])}function zc(s){let t=Us(o.getBytes(s).slice(1)),e="3",r=null;if(t.length===4&&Array.isArray(t[0])){e="3 (network format)";const i=t[1],a=t[2],c=t[3];o.assertArgument(Array.isArray(i),"invalid network format: blobs not an array","fields[1]",i),o.assertArgument(Array.isArray(a),"invalid network format: commitments not an array","fields[2]",a),o.assertArgument(Array.isArray(c),"invalid network format: proofs not an array","fields[3]",c),o.assertArgument(i.length===a.length,"invalid network format: blobs/commitments length mismatch","fields",t),o.assertArgument(i.length===c.length,"invalid network format: blobs/proofs length mismatch","fields",t),r=[];for(let l=0;l<t[1].length;l++)r.push({data:i[l],commitment:a[l],proof:c[l]});t=t[0]}o.assertArgument(Array.isArray(t)&&(t.length===11||t.length===14),`invalid field count for transaction type: ${e}`,"data",o.hexlify(s));const n={type:3,chainId:J(t[0],"chainId"),nonce:cs(t[1],"nonce"),maxPriorityFeePerGas:J(t[2],"maxPriorityFeePerGas"),maxFeePerGas:J(t[3],"maxFeePerGas"),gasPrice:null,gasLimit:J(t[4],"gasLimit"),to:Vs(t[5]),value:J(t[6],"value"),data:o.hexlify(t[7]),accessList:Hn(t[8],"accessList"),maxFeePerBlobGas:J(t[9],"maxFeePerBlobGas"),blobVersionedHashes:t[10]};r&&(n.blobs=r),o.assertArgument(n.to!=null,`invalid address for transaction type: ${e}`,"data",s),o.assertArgument(Array.isArray(n.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",s);for(let i=0;i<n.blobVersionedHashes.length;i++)o.assertArgument(o.isHexString(n.blobVersionedHashes[i],32),`invalid blobVersionedHash at index ${i}: must be length 32`,"data",s);return t.length===11||Gn(n,t.slice(11)),n}function Kc(s,t,e){const r=[G(s.chainId,"chainId"),G(s.nonce,"nonce"),G(s.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),G(s.maxFeePerGas||0,"maxFeePerGas"),G(s.gasLimit,"gasLimit"),s.to||Tr,G(s.value,"value"),s.data,Qn(s.accessList||[]),G(s.maxFeePerBlobGas||0,"maxFeePerBlobGas"),Uc(s.blobVersionedHashes||[],"blobVersionedHashes")];return t&&(r.push(G(t.yParity,"yParity")),r.push(A.toBeArray(t.r)),r.push(A.toBeArray(t.s)),e)?o.concat(["0x03",Le([r,e.map(n=>n.data),e.map(n=>n.commitment),e.map(n=>n.proof)])]):o.concat(["0x03",Le(r)])}var It,nr,ir,or,ar,cr,lr,ur,hr,fr,dr,gr,Pe,$t,Tt,te,Ar,ys;const vt=class vt{constructor(){w(this,Ar);w(this,It);w(this,nr);w(this,ir);w(this,or);w(this,ar);w(this,cr);w(this,lr);w(this,ur);w(this,hr);w(this,fr);w(this,dr);w(this,gr);w(this,Pe);w(this,$t);w(this,Tt);w(this,te);f(this,It,null),f(this,nr,null),f(this,or,0),f(this,ar,Y),f(this,cr,null),f(this,lr,null),f(this,ur,null),f(this,ir,"0x"),f(this,hr,Y),f(this,fr,Y),f(this,dr,null),f(this,gr,null),f(this,Pe,null),f(this,$t,null),f(this,te,null),f(this,Tt,null)}get type(){return u(this,It)}set type(t){switch(t){case null:f(this,It,null);break;case 0:case"legacy":f(this,It,0);break;case 1:case"berlin":case"eip-2930":f(this,It,1);break;case 2:case"london":case"eip-1559":f(this,It,2);break;case 3:case"cancun":case"eip-4844":f(this,It,3);break;default:o.assertArgument(!1,"unsupported transaction type","type",t)}}get typeName(){switch(this.type){case 0:return"legacy";case 1:return"eip-2930";case 2:return"eip-1559";case 3:return"eip-4844"}return null}get to(){const t=u(this,nr);return t==null&&this.type===3?Tr:t}set to(t){f(this,nr,t==null?null:o.getAddress(t))}get nonce(){return u(this,or)}set nonce(t){f(this,or,A.getNumber(t,"value"))}get gasLimit(){return u(this,ar)}set gasLimit(t){f(this,ar,A.getBigInt(t))}get gasPrice(){const t=u(this,cr);return t==null&&(this.type===0||this.type===1)?Y:t}set gasPrice(t){f(this,cr,t==null?null:A.getBigInt(t,"gasPrice"))}get maxPriorityFeePerGas(){const t=u(this,lr);return t??(this.type===2||this.type===3?Y:null)}set maxPriorityFeePerGas(t){f(this,lr,t==null?null:A.getBigInt(t,"maxPriorityFeePerGas"))}get maxFeePerGas(){const t=u(this,ur);return t??(this.type===2||this.type===3?Y:null)}set maxFeePerGas(t){f(this,ur,t==null?null:A.getBigInt(t,"maxFeePerGas"))}get data(){return u(this,ir)}set data(t){f(this,ir,o.hexlify(t))}get value(){return u(this,hr)}set value(t){f(this,hr,A.getBigInt(t,"value"))}get chainId(){return u(this,fr)}set chainId(t){f(this,fr,A.getBigInt(t))}get signature(){return u(this,dr)||null}set signature(t){f(this,dr,t==null?null:Bt.from(t))}get accessList(){const t=u(this,gr)||null;return t??(this.type===1||this.type===2||this.type===3?[]:null)}set accessList(t){f(this,gr,t==null?null:A.accessListify(t))}get maxFeePerBlobGas(){const t=u(this,Pe);return t==null&&this.type===3?Y:t}set maxFeePerBlobGas(t){f(this,Pe,t==null?null:A.getBigInt(t,"maxFeePerBlobGas"))}get blobVersionedHashes(){let t=u(this,$t);return t==null&&this.type===3?[]:t}set blobVersionedHashes(t){if(t!=null){o.assertArgument(Array.isArray(t),"blobVersionedHashes must be an Array","value",t),t=t.slice();for(let e=0;e<t.length;e++)o.assertArgument(o.isHexString(t[e],32),"invalid blobVersionedHash",`value[${e}]`,t[e])}f(this,$t,t)}get blobs(){return u(this,te)==null?null:u(this,te).map(t=>Object.assign({},t))}set blobs(t){if(t==null){f(this,te,null);return}const e=[],r=[];for(let n=0;n<t.length;n++){const i=t[n];if(o.isBytesLike(i)){o.assert(u(this,Tt),"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let a=o.getBytes(i);if(o.assertArgument(a.length<=_s,"blob is too large",`blobs[${n}]`,i),a.length!==_s){const h=new Uint8Array(_s);h.set(a),a=h}const c=u(this,Tt).blobToKzgCommitment(a),l=o.hexlify(u(this,Tt).computeBlobKzgProof(a,c));e.push({data:o.hexlify(a),commitment:o.hexlify(c),proof:l}),r.push(Ci(1,c))}else{const a=o.hexlify(i.commitment);e.push({data:o.hexlify(i.data),commitment:a,proof:o.hexlify(i.proof)}),r.push(Ci(1,a))}}f(this,te,e),f(this,$t,r)}get kzg(){return u(this,Tt)}set kzg(t){f(this,Tt,t)}get hash(){return this.signature==null?null:o.keccak256(N(this,Ar,ys).call(this,!0,!1))}get unsignedHash(){return o.keccak256(this.unsignedSerialized)}get from(){return this.signature==null?null:Rc(this.unsignedHash,this.signature)}get fromPublicKey(){return this.signature==null?null:Fr.recoverPublicKey(this.unsignedHash,this.signature)}isSigned(){return this.signature!=null}get serialized(){return N(this,Ar,ys).call(this,!0,!0)}get unsignedSerialized(){return N(this,Ar,ys).call(this,!1,!1)}inferType(){const t=this.inferTypes();return t.indexOf(2)>=0?2:t.pop()}inferTypes(){const t=this.gasPrice!=null,e=this.maxFeePerGas!=null||this.maxPriorityFeePerGas!=null,r=this.accessList!=null,n=u(this,Pe)!=null||u(this,$t);this.maxFeePerGas!=null&&this.maxPriorityFeePerGas!=null&&o.assert(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),o.assert(!e||this.type!==0&&this.type!==1,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),o.assert(this.type!==0||!r,"legacy transaction cannot have accessList","BAD_DATA",{value:this});const i=[];return this.type!=null?i.push(this.type):e?i.push(2):t?(i.push(1),r||i.push(0)):r?(i.push(1),i.push(2)):(n&&this.to||(i.push(0),i.push(1),i.push(2)),i.push(3)),i.sort(),i}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}clone(){return vt.from(this)}toJSON(){const t=e=>e==null?null:e.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:t(this.gasLimit),gasPrice:t(this.gasPrice),maxPriorityFeePerGas:t(this.maxPriorityFeePerGas),maxFeePerGas:t(this.maxFeePerGas),value:t(this.value),chainId:t(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}static from(t){if(t==null)return new vt;if(typeof t=="string"){const r=o.getBytes(t);if(r[0]>=127)return vt.from(Mc(r));switch(r[0]){case 1:return vt.from(Vc(r));case 2:return vt.from(Qc(r));case 3:return vt.from(zc(r))}o.assert(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}const e=new vt;return t.type!=null&&(e.type=t.type),t.to!=null&&(e.to=t.to),t.nonce!=null&&(e.nonce=t.nonce),t.gasLimit!=null&&(e.gasLimit=t.gasLimit),t.gasPrice!=null&&(e.gasPrice=t.gasPrice),t.maxPriorityFeePerGas!=null&&(e.maxPriorityFeePerGas=t.maxPriorityFeePerGas),t.maxFeePerGas!=null&&(e.maxFeePerGas=t.maxFeePerGas),t.maxFeePerBlobGas!=null&&(e.maxFeePerBlobGas=t.maxFeePerBlobGas),t.data!=null&&(e.data=t.data),t.value!=null&&(e.value=t.value),t.chainId!=null&&(e.chainId=t.chainId),t.signature!=null&&(e.signature=Bt.from(t.signature)),t.accessList!=null&&(e.accessList=t.accessList),t.blobVersionedHashes!=null&&(e.blobVersionedHashes=t.blobVersionedHashes),t.kzg!=null&&(e.kzg=t.kzg),t.blobs!=null&&(e.blobs=t.blobs),t.hash!=null&&(o.assertArgument(e.isSigned(),"unsigned transaction cannot define '.hash'","tx",t),o.assertArgument(e.hash===t.hash,"hash mismatch","tx",t)),t.from!=null&&(o.assertArgument(e.isSigned(),"unsigned transaction cannot define '.from'","tx",t),o.assertArgument(e.from.toLowerCase()===(t.from||"").toLowerCase(),"from mismatch","tx",t)),e}};It=new WeakMap,nr=new WeakMap,ir=new WeakMap,or=new WeakMap,ar=new WeakMap,cr=new WeakMap,lr=new WeakMap,ur=new WeakMap,hr=new WeakMap,fr=new WeakMap,dr=new WeakMap,gr=new WeakMap,Pe=new WeakMap,$t=new WeakMap,Tt=new WeakMap,te=new WeakMap,Ar=new WeakSet,ys=function(t,e){o.assert(!t||this.signature!=null,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});const r=t?this.signature:null;switch(this.inferType()){case 0:return Hc(this,r);case 1:return Jc(this,r);case 2:return Gc(this,r);case 3:return Kc(this,r,e?this.blobs:null)}o.assert(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})};let Wr=vt;const No=new Uint8Array(32);No.fill(0);const jc=BigInt(-1),ko=BigInt(0),So=BigInt(1),Zc=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Yc(s){const t=o.getBytes(s),e=t.length%32;return e?o.concat([t,No.slice(e)]):o.hexlify(t)}const qc=A.toBeHex(So,32),Wc=A.toBeHex(ko,32),Ii={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},$s=["name","version","chainId","verifyingContract","salt"];function Pi(s){return function(t){return o.assertArgument(typeof t=="string",`invalid domain value for ${JSON.stringify(s)}`,`domain.${s}`,t),t}}const Xc={name:Pi("name"),version:Pi("version"),chainId:function(s){const t=A.getBigInt(s,"domain.chainId");return o.assertArgument(t>=0,"invalid chain ID","domain.chainId",s),Number.isSafeInteger(t)?Number(t):A.toQuantity(t)},verifyingContract:function(s){try{return o.getAddress(s).toLowerCase()}catch{}o.assertArgument(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",s)},salt:function(s){const t=o.getBytes(s,"domain.salt");return o.assertArgument(t.length===32,'invalid domain value "salt"',"domain.salt",s),o.hexlify(t)}};function tn(s){{const t=s.match(/^(u?)int(\d+)$/);if(t){const e=t[1]==="",r=parseInt(t[2]);o.assertArgument(r%8===0&&r!==0&&r<=256&&t[2]===String(r),"invalid numeric width","type",s);const n=A.mask(Zc,e?r-1:r),i=e?(n+So)*jc:ko;return function(a){const c=A.getBigInt(a,"value");return o.assertArgument(c>=i&&c<=n,`value out-of-bounds for ${s}`,"value",c),A.toBeHex(e?A.toTwos(c,256):c,32)}}}{const t=s.match(/^bytes(\d+)$/);if(t){const e=parseInt(t[1]);return o.assertArgument(e!==0&&e<=32&&t[1]===String(e),"invalid bytes width","type",s),function(r){const n=o.getBytes(r);return o.assertArgument(n.length===e,`invalid length for ${s}`,"value",r),Yc(r)}}}switch(s){case"address":return function(t){return o.zeroPadValue(o.getAddress(t),32)};case"bool":return function(t){return t?qc:Wc};case"bytes":return function(t){return o.keccak256(t)};case"string":return function(t){return A.id(t)}}return null}function Ni(s,t){return`${s}(${t.map(({name:e,type:r})=>r+" "+e).join(",")})`}function ps(s){const t=s.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return t?{base:t[1],index:t[2]+t[4],array:{base:t[1],prefix:t[1]+t[2],count:t[5]?parseInt(t[5]):-1}}:{base:s}}var es,Ft,pr,Ds,vo;const ut=class ut{constructor(t){w(this,Ds);z(this,"primaryType");w(this,es);w(this,Ft);w(this,pr);f(this,Ft,new Map),f(this,pr,new Map);const e=new Map,r=new Map,n=new Map,i={};Object.keys(t).forEach(l=>{i[l]=t[l].map(({name:h,type:g})=>{let{base:d,index:m}=ps(g);return d==="int"&&!t.int&&(d="int256"),d==="uint"&&!t.uint&&(d="uint256"),{name:h,type:d+(m||"")}}),e.set(l,new Set),r.set(l,[]),n.set(l,new Set)}),f(this,es,JSON.stringify(i));for(const l in i){const h=new Set;for(const g of i[l]){o.assertArgument(!h.has(g.name),`duplicate variable name ${JSON.stringify(g.name)} in ${JSON.stringify(l)}`,"types",t),h.add(g.name);const d=ps(g.type).base;o.assertArgument(d!==l,`circular type reference to ${JSON.stringify(d)}`,"types",t),!tn(d)&&(o.assertArgument(r.has(d),`unknown type ${JSON.stringify(d)}`,"types",t),r.get(d).push(l),e.get(l).add(d))}}const a=Array.from(r.keys()).filter(l=>r.get(l).length===0);o.assertArgument(a.length!==0,"missing primary type","types",t),o.assertArgument(a.length===1,`ambiguous primary types or unused types: ${a.map(l=>JSON.stringify(l)).join(", ")}`,"types",t),o.defineProperties(this,{primaryType:a[0]});function c(l,h){o.assertArgument(!h.has(l),`circular type reference to ${JSON.stringify(l)}`,"types",t),h.add(l);for(const g of e.get(l))if(r.has(g)){c(g,h);for(const d of h)n.get(d).add(g)}h.delete(l)}c(this.primaryType,new Set);for(const[l,h]of n){const g=Array.from(h);g.sort(),u(this,Ft).set(l,Ni(l,i[l])+g.map(d=>Ni(d,i[d])).join(""))}}get types(){return JSON.parse(u(this,es))}getEncoder(t){let e=u(this,pr).get(t);return e||(e=N(this,Ds,vo).call(this,t),u(this,pr).set(t,e)),e}encodeType(t){const e=u(this,Ft).get(t);return o.assertArgument(e,`unknown type: ${JSON.stringify(t)}`,"name",t),e}encodeData(t,e){return this.getEncoder(t)(e)}hashStruct(t,e){return o.keccak256(this.encodeData(t,e))}encode(t){return this.encodeData(this.primaryType,t)}hash(t){return this.hashStruct(this.primaryType,t)}_visit(t,e,r){if(tn(t))return r(t,e);const n=ps(t).array;if(n)return o.assertArgument(n.count===-1||n.count===e.length,`array length mismatch; expected length ${n.count}`,"value",e),e.map(a=>this._visit(n.prefix,a,r));const i=this.types[t];if(i)return i.reduce((a,{name:c,type:l})=>(a[c]=this._visit(l,e[c],r),a),{});o.assertArgument(!1,`unknown type: ${t}`,"type",t)}visit(t,e){return this._visit(this.primaryType,t,e)}static from(t){return new ut(t)}static getPrimaryType(t){return ut.from(t).primaryType}static hashStruct(t,e,r){return ut.from(e).hashStruct(t,r)}static hashDomain(t){const e=[];for(const r in t){if(t[r]==null)continue;const n=Ii[r];o.assertArgument(n,`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",t),e.push({name:r,type:n})}return e.sort((r,n)=>$s.indexOf(r.name)-$s.indexOf(n.name)),ut.hashStruct("EIP712Domain",{EIP712Domain:e},t)}static encode(t,e,r){return o.concat(["0x1901",ut.hashDomain(t),ut.from(e).hash(r)])}static hash(t,e,r){return o.keccak256(ut.encode(t,e,r))}static async resolveNames(t,e,r,n){t=Object.assign({},t);for(const c in t)t[c]==null&&delete t[c];const i={};t.verifyingContract&&!o.isHexString(t.verifyingContract,20)&&(i[t.verifyingContract]="0x");const a=ut.from(e);a.visit(r,(c,l)=>(c==="address"&&!o.isHexString(l,20)&&(i[l]="0x"),l));for(const c in i)i[c]=await n(c);return t.verifyingContract&&i[t.verifyingContract]&&(t.verifyingContract=i[t.verifyingContract]),r=a.visit(r,(c,l)=>c==="address"&&i[l]?i[l]:l),{domain:t,value:r}}static getPayload(t,e,r){ut.hashDomain(t);const n={},i=[];$s.forEach(l=>{const h=t[l];h!=null&&(n[l]=Xc[l](h),i.push({name:l,type:Ii[l]}))});const a=ut.from(e);e=a.types;const c=Object.assign({},e);return o.assertArgument(c.EIP712Domain==null,"types must not contain EIP712Domain type","types.EIP712Domain",e),c.EIP712Domain=i,a.encode(r),{types:c,domain:n,primaryType:a.primaryType,message:a.visit(r,(l,h)=>{if(l.match(/^bytes(\d*)/))return o.hexlify(o.getBytes(h));if(l.match(/^u?int/))return A.getBigInt(h).toString();switch(l){case"address":return h.toLowerCase();case"bool":return!!h;case"string":return o.assertArgument(typeof h=="string","invalid string","value",h),h}o.assertArgument(!1,"unsupported type","type",l)})}}};es=new WeakMap,Ft=new WeakMap,pr=new WeakMap,Ds=new WeakSet,vo=function(t){{const n=tn(t);if(n)return n}const e=ps(t).array;if(e){const n=e.prefix,i=this.getEncoder(n);return a=>{o.assertArgument(e.count===-1||e.count===a.length,`array length mismatch; expected length ${e.count}`,"value",a);let c=a.map(i);return u(this,Ft).has(n)&&(c=c.map(o.keccak256)),o.keccak256(o.concat(c))}}const r=this.types[t];if(r){const n=A.id(u(this,Ft).get(t));return i=>{const a=r.map(({name:c,type:l})=>{const h=this.getEncoder(l)(i[c]);return u(this,Ft).has(l)?o.keccak256(h):h});return a.unshift(n),o.concat(a)}}o.assertArgument(!1,`unknown type: ${t}`,"type",t)};let Xr=ut;function en(s){return s.match(/^ipfs:\/\/ipfs\//i)?s=s.substring(12):s.match(/^ipfs:\/\//i)?s=s.substring(7):o.assertArgument(!1,"unsupported IPFS format","link",s),`https://gateway.ipfs.io/ipfs/${s}`}class _c{constructor(t){z(this,"name");o.defineProperties(this,{name:t})}connect(t){return this}supportsCoinType(t){return!1}async encodeAddress(t,e){throw new Error("unsupported coin")}async decodeAddress(t,e){throw new Error("unsupported coin")}}const Ro=new RegExp("^(ipfs)://(.*)$","i"),ki=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),Ro,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];var ee,Ne,re,je,Ts,Oo;const Ze=class Ze{constructor(t,e,r){w(this,re);z(this,"provider");z(this,"address");z(this,"name");w(this,ee);w(this,Ne);o.defineProperties(this,{provider:t,address:e,name:r}),f(this,ee,null),f(this,Ne,new A.Contract(e,["function supportsInterface(bytes4) view returns (bool)","function resolve(bytes, bytes) view returns (bytes)","function addr(bytes32) view returns (address)","function addr(bytes32, uint) view returns (bytes)","function text(bytes32, string) view returns (string)","function contenthash(bytes32) view returns (bytes)"],t))}async supportsWildcard(){return u(this,ee)==null&&f(this,ee,(async()=>{try{return await u(this,Ne).supportsInterface("0x9061b923")}catch(t){if(o.isError(t,"CALL_EXCEPTION"))return!1;throw f(this,ee,null),t}})()),await u(this,ee)}async getAddress(t){if(t==null&&(t=60),t===60)try{const i=await N(this,re,je).call(this,"addr(bytes32)");return i==null||i===Tr?null:i}catch(i){if(o.isError(i,"CALL_EXCEPTION"))return null;throw i}if(t>=0&&t<2147483648){let i=t+2147483648;const a=await N(this,re,je).call(this,"addr(bytes32,uint)",[i]);if(o.isHexString(a,20))return o.getAddress(a)}let e=null;for(const i of this.provider.plugins)if(i instanceof _c&&i.supportsCoinType(t)){e=i;break}if(e==null)return null;const r=await N(this,re,je).call(this,"addr(bytes32,uint)",[t]);if(r==null||r==="0x")return null;const n=await e.decodeAddress(t,r);if(n!=null)return n;o.assert(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${t})`,info:{coinType:t,data:r}})}async getText(t){const e=await N(this,re,je).call(this,"text(bytes32,string)",[t]);return e==null||e==="0x"?null:e}async getContentHash(){const t=await N(this,re,je).call(this,"contenthash(bytes32)");if(t==null||t==="0x")return null;const e=t.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(e){const n=e[1]==="e3010170"?"ipfs":"ipns",i=parseInt(e[4],16);if(e[5].length===i*2)return`${n}://${Ui("0x"+e[2])}`}const r=t.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(r&&r[1].length===64)return`bzz://${r[1]}`;o.assert(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:t}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){const t=[{type:"name",value:this.name}];try{const e=await this.getText("avatar");if(e==null)return t.push({type:"!avatar",value:""}),{url:null,linkage:t};t.push({type:"avatar",value:e});for(let r=0;r<ki.length;r++){const n=e.match(ki[r]);if(n==null)continue;const i=n[1].toLowerCase();switch(i){case"https":case"data":return t.push({type:"url",value:e}),{linkage:t,url:e};case"ipfs":{const a=en(e);return t.push({type:"ipfs",value:e}),t.push({type:"url",value:a}),{linkage:t,url:a}}case"erc721":case"erc1155":{const a=i==="erc721"?"tokenURI(uint256)":"uri(uint256)";t.push({type:i,value:e});const c=await this.getAddress();if(c==null)return t.push({type:"!owner",value:""}),{url:null,linkage:t};const l=(n[2]||"").split("/");if(l.length!==2)return t.push({type:`!${i}caip`,value:n[2]||""}),{url:null,linkage:t};const h=l[1],g=new A.Contract(l[0],["function tokenURI(uint) view returns (string)","function ownerOf(uint) view returns (address)","function uri(uint) view returns (string)","function balanceOf(address, uint256) view returns (uint)"],this.provider);if(i==="erc721"){const p=await g.ownerOf(h);if(c!==p)return t.push({type:"!owner",value:p}),{url:null,linkage:t};t.push({type:"owner",value:p})}else if(i==="erc1155"){const p=await g.balanceOf(c,h);if(!p)return t.push({type:"!balance",value:"0"}),{url:null,linkage:t};t.push({type:"balance",value:p.toString()})}let d=await g[a](h);if(d==null||d==="0x")return t.push({type:"!metadata-url",value:""}),{url:null,linkage:t};t.push({type:"metadata-url-base",value:d}),i==="erc1155"&&(d=d.replace("{id}",A.toBeHex(h,32).substring(2)),t.push({type:"metadata-url-expanded",value:d})),d.match(/^ipfs:/i)&&(d=en(d)),t.push({type:"metadata-url",value:d});let m={};const y=await new Vt(d).send();y.assertOk();try{m=y.bodyJson}catch{try{t.push({type:"!metadata",value:y.bodyText})}catch{const B=y.body;return B&&t.push({type:"!metadata",value:o.hexlify(B)}),{url:null,linkage:t}}return{url:null,linkage:t}}if(!m)return t.push({type:"!metadata",value:""}),{url:null,linkage:t};t.push({type:"metadata",value:JSON.stringify(m)});let b=m.image;if(typeof b!="string")return t.push({type:"!imageUrl",value:""}),{url:null,linkage:t};if(!b.match(/^(https:\/\/|data:)/i)){if(b.match(Ro)==null)return t.push({type:"!imageUrl-ipfs",value:b}),{url:null,linkage:t};t.push({type:"imageUrl-ipfs",value:b}),b=en(b)}return t.push({type:"url",value:b}),{linkage:t,url:b}}}}}catch{}return{linkage:t,url:null}}static async getEnsAddress(t){const e=await t.getNetwork(),r=e.getPlugin("org.ethers.plugins.network.Ens");return o.assert(r,"network does not support ENS","UNSUPPORTED_OPERATION",{operation:"getEnsAddress",info:{network:e}}),r.address}static async fromName(t,e){var n;let r=e;for(;;){if(r===""||r==="."||e!=="eth"&&r==="eth")return null;const i=await N(n=Ze,Ts,Oo).call(n,t,r);if(i!=null){const a=new Ze(t,i,e);return r!==e&&!await a.supportsWildcard()?null:a}r=r.split(".").slice(1).join(".")}}};ee=new WeakMap,Ne=new WeakMap,re=new WeakSet,je=async function(t,e){e=(e||[]).slice();const r=u(this,Ne).interface;e.unshift(mn(this.name));let n=null;await this.supportsWildcard()&&(n=r.getFunction(t),o.assert(n,"missing fragment","UNKNOWN_ERROR",{info:{funcName:t}}),e=[vc(this.name,255),r.encodeFunctionData(n,e)],t="resolve(bytes,bytes)"),e.push({enableCcipRead:!0});try{const i=await u(this,Ne)[t](...e);return n?r.decodeFunctionResult(n,i)[0]:i}catch(i){if(!o.isError(i,"CALL_EXCEPTION"))throw i}return null},Ts=new WeakSet,Oo=async function(t,e){const r=await Ze.getEnsAddress(t);try{const i=await new A.Contract(r,["function resolver(bytes32) view returns (address)"],t).resolver(mn(e),{enableCcipRead:!0});return i===Tr?null:i}catch(n){throw n}return null},w(Ze,Ts);let Rs=Ze;const Si=BigInt(0);function F(s,t){return function(e){return e==null?t:s(e)}}function Js(s,t){return e=>{if(t&&e==null)return null;if(!Array.isArray(e))throw new Error("not an array");return e.map(r=>s(r))}}function ls(s,t){return e=>{const r={};for(const n in s){let i=n;if(t&&n in t&&!(i in e)){for(const a of t[n])if(a in e){i=a;break}}try{const a=s[n](e[i]);a!==void 0&&(r[n]=a)}catch(a){const c=a instanceof Error?a.message:"not-an-error";o.assert(!1,`invalid value for value.${n} (${c})`,"BAD_DATA",{value:e})}}return r}}function $c(s){switch(s){case!0:case"true":return!0;case!1:case"false":return!1}o.assertArgument(!1,`invalid boolean; ${JSON.stringify(s)}`,"value",s)}function Mr(s){return o.assertArgument(o.isHexString(s,!0),"invalid data","value",s),s}function X(s){return o.assertArgument(o.isHexString(s,32),"invalid hash","value",s),s}const tl=ls({address:o.getAddress,blockHash:X,blockNumber:A.getNumber,data:Mr,index:A.getNumber,removed:F($c,!1),topics:Js(X),transactionHash:X,transactionIndex:A.getNumber},{index:["logIndex"]});function el(s){return tl(s)}const rl=ls({hash:F(X),parentHash:X,parentBeaconBlockRoot:F(X,null),number:A.getNumber,timestamp:A.getNumber,nonce:F(Mr),difficulty:A.getBigInt,gasLimit:A.getBigInt,gasUsed:A.getBigInt,stateRoot:F(X,null),receiptsRoot:F(X,null),blobGasUsed:F(A.getBigInt,null),excessBlobGas:F(A.getBigInt,null),miner:F(o.getAddress),prevRandao:F(X,null),extraData:Mr,baseFeePerGas:F(A.getBigInt)},{prevRandao:["mixHash"]});function sl(s){const t=rl(s);return t.transactions=s.transactions.map(e=>typeof e=="string"?e:Do(e)),t}const nl=ls({transactionIndex:A.getNumber,blockNumber:A.getNumber,transactionHash:X,address:o.getAddress,topics:Js(X),data:Mr,index:A.getNumber,blockHash:X},{index:["logIndex"]});function il(s){return nl(s)}const ol=ls({to:F(o.getAddress,null),from:F(o.getAddress,null),contractAddress:F(o.getAddress,null),index:A.getNumber,root:F(o.hexlify),gasUsed:A.getBigInt,blobGasUsed:F(A.getBigInt,null),logsBloom:F(Mr),blockHash:X,hash:X,logs:Js(il),blockNumber:A.getNumber,cumulativeGasUsed:A.getBigInt,effectiveGasPrice:F(A.getBigInt),blobGasPrice:F(A.getBigInt,null),status:F(A.getNumber),type:F(A.getNumber,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function al(s){return ol(s)}function Do(s){s.to&&A.getBigInt(s.to)===Si&&(s.to="0x0000000000000000000000000000000000000000");const t=ls({hash:X,index:F(A.getNumber,void 0),type:e=>e==="0x"||e==null?0:A.getNumber(e),accessList:F(A.accessListify,null),blobVersionedHashes:F(Js(X,!0),null),blockHash:F(X,null),blockNumber:F(A.getNumber,null),transactionIndex:F(A.getNumber,null),from:o.getAddress,gasPrice:F(A.getBigInt),maxPriorityFeePerGas:F(A.getBigInt),maxFeePerGas:F(A.getBigInt),maxFeePerBlobGas:F(A.getBigInt,null),gasLimit:A.getBigInt,to:F(o.getAddress,null),value:A.getBigInt,nonce:A.getNumber,data:Mr,creates:F(o.getAddress,null),chainId:F(A.getBigInt,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(s);if(t.to==null&&t.creates==null&&(t.creates=so(t)),(s.type===1||s.type===2)&&s.accessList==null&&(t.accessList=[]),s.signature?t.signature=Bt.from(s.signature):t.signature=Bt.from(s),t.chainId==null){const e=t.signature.legacyChainId;e!=null&&(t.chainId=e)}return t.blockHash&&A.getBigInt(t.blockHash)===Si&&(t.blockHash=null),t}const cl="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e";class us{constructor(t){z(this,"name");o.defineProperties(this,{name:t})}clone(){return new us(this.name)}}class zs extends us{constructor(e,r){e==null&&(e=0);super(`org.ethers.network.plugins.GasCost#${e||0}`);z(this,"effectiveBlock");z(this,"txBase");z(this,"txCreate");z(this,"txDataZero");z(this,"txDataNonzero");z(this,"txAccessListStorageKey");z(this,"txAccessListAddress");const n={effectiveBlock:e};function i(a,c){let l=(r||{})[a];l==null&&(l=c),o.assertArgument(typeof l=="number",`invalud value for ${a}`,"costs",r),n[a]=l}i("txBase",21e3),i("txCreate",32e3),i("txDataZero",4),i("txDataNonzero",16),i("txAccessListStorageKey",1900),i("txAccessListAddress",2400),o.defineProperties(this,n)}clone(){return new zs(this.effectiveBlock,this)}}class Ks extends us{constructor(e,r){super("org.ethers.plugins.network.Ens");z(this,"address");z(this,"targetNetwork");o.defineProperties(this,{address:e||cl,targetNetwork:r??1})}clone(){return new Ks(this.address,this.targetNetwork)}}var rs,ss;class ll extends us{constructor(e,r){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin");w(this,rs);w(this,ss);f(this,rs,e),f(this,ss,r)}get url(){return u(this,rs)}get processFunc(){return u(this,ss)}clone(){return this}}rs=new WeakMap,ss=new WeakMap;const rn=new Map;var mr,wr,se;const Ye=class Ye{constructor(t,e){w(this,mr);w(this,wr);w(this,se);f(this,mr,t),f(this,wr,A.getBigInt(e)),f(this,se,new Map)}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return u(this,mr)}set name(t){f(this,mr,t)}get chainId(){return u(this,wr)}set chainId(t){f(this,wr,A.getBigInt(t,"chainId"))}matches(t){if(t==null)return!1;if(typeof t=="string"){try{return this.chainId===A.getBigInt(t)}catch{}return this.name===t}if(typeof t=="number"||typeof t=="bigint"){try{return this.chainId===A.getBigInt(t)}catch{}return!1}if(typeof t=="object"){if(t.chainId!=null){try{return this.chainId===A.getBigInt(t.chainId)}catch{}return!1}return t.name!=null?this.name===t.name:!1}return!1}get plugins(){return Array.from(u(this,se).values())}attachPlugin(t){if(u(this,se).get(t.name))throw new Error(`cannot replace existing plugin: ${t.name} `);return u(this,se).set(t.name,t.clone()),this}getPlugin(t){return u(this,se).get(t)||null}getPlugins(t){return this.plugins.filter(e=>e.name.split("#")[0]===t)}clone(){const t=new Ye(this.name,this.chainId);return this.plugins.forEach(e=>{t.attachPlugin(e.clone())}),t}computeIntrinsicGas(t){const e=this.getPlugin("org.ethers.plugins.network.GasCost")||new zs;let r=e.txBase;if(t.to==null&&(r+=e.txCreate),t.data)for(let n=2;n<t.data.length;n+=2)t.data.substring(n,n+2)==="00"?r+=e.txDataZero:r+=e.txDataNonzero;if(t.accessList){const n=A.accessListify(t.accessList);for(const i in n)r+=e.txAccessListAddress+e.txAccessListStorageKey*n[i].storageKeys.length}return r}static from(t){if(ul(),t==null)return Ye.from("mainnet");if(typeof t=="number"&&(t=BigInt(t)),typeof t=="string"||typeof t=="bigint"){const e=rn.get(t);if(e)return e();if(typeof t=="bigint")return new Ye("unknown",t);o.assertArgument(!1,"unknown network","network",t)}if(typeof t.clone=="function")return t.clone();if(typeof t=="object"){o.assertArgument(typeof t.name=="string"&&typeof t.chainId=="number","invalid network object name or chainId","network",t);const e=new Ye(t.name,t.chainId);return(t.ensAddress||t.ensNetwork!=null)&&e.attachPlugin(new Ks(t.ensAddress,t.ensNetwork)),e}o.assertArgument(!1,"invalid network","network",t)}static register(t,e){typeof t=="number"&&(t=BigInt(t));const r=rn.get(t);r&&o.assertArgument(!1,`conflicting network for ${JSON.stringify(r.name)}`,"nameOrChainId",t),rn.set(t,e)}};mr=new WeakMap,wr=new WeakMap,se=new WeakMap;let St=Ye;function vi(s,t){const e=String(s);if(!e.match(/^[0-9.]+$/))throw new Error(`invalid gwei value: ${s}`);const r=e.split(".");if(r.length===1&&r.push(""),r.length!==2)throw new Error(`invalid gwei value: ${s}`);for(;r[1].length<t;)r[1]+="0";if(r[1].length>9){let n=BigInt(r[1].substring(0,9));r[1].substring(9).match(/^0+$/)||n++,r[1]=n.toString()}return BigInt(r[0]+r[1])}function Ri(s){return new ll(s,async(t,e,r)=>{r.setHeader("User-Agent","ethers");let n;try{const[i,a]=await Promise.all([r.send(),t()]);n=i;const c=n.bodyJson.standard;return{gasPrice:a.gasPrice,maxFeePerGas:vi(c.maxFee,9),maxPriorityFeePerGas:vi(c.maxPriorityFee,9)}}catch(i){o.assert(!1,`error encountered with polygon gas station (${JSON.stringify(r.url)})`,"SERVER_ERROR",{request:r,response:n,error:i})}})}let Oi=!1;function ul(){if(Oi)return;Oi=!0;function s(t,e,r){const n=function(){const i=new St(t,e);return r.ensNetwork!=null&&i.attachPlugin(new Ks(null,r.ensNetwork)),i.attachPlugin(new zs),(r.plugins||[]).forEach(a=>{i.attachPlugin(a)}),i};St.register(t,n),St.register(e,n),r.altNames&&r.altNames.forEach(i=>{St.register(i,n)})}s("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),s("ropsten",3,{ensNetwork:3}),s("rinkeby",4,{ensNetwork:4}),s("goerli",5,{ensNetwork:5}),s("kovan",42,{ensNetwork:42}),s("sepolia",11155111,{ensNetwork:11155111}),s("holesky",17e3,{ensNetwork:17e3}),s("classic",61,{}),s("classicKotti",6,{}),s("arbitrum",42161,{ensNetwork:1}),s("arbitrum-goerli",421613,{}),s("arbitrum-sepolia",421614,{}),s("base",8453,{ensNetwork:1}),s("base-goerli",84531,{}),s("base-sepolia",84532,{}),s("bnb",56,{ensNetwork:1}),s("bnbt",97,{}),s("linea",59144,{ensNetwork:1}),s("linea-goerli",59140,{}),s("linea-sepolia",59141,{}),s("matic",137,{ensNetwork:1,plugins:[Ri("https://gasstation.polygon.technology/v2")]}),s("matic-amoy",80002,{}),s("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[Ri("https://gasstation-testnet.polygon.technology/v2")]}),s("optimism",10,{ensNetwork:1,plugins:[]}),s("optimism-goerli",420,{}),s("optimism-sepolia",11155420,{}),s("xdai",100,{ensNetwork:1})}function wn(s){return JSON.parse(JSON.stringify(s))}var Lt,ht,ne,Pt,yr,bs;class hl{constructor(t){w(this,yr);w(this,Lt);w(this,ht);w(this,ne);w(this,Pt);f(this,Lt,t),f(this,ht,null),f(this,ne,4e3),f(this,Pt,-2)}get pollingInterval(){return u(this,ne)}set pollingInterval(t){f(this,ne,t)}start(){u(this,ht)||(f(this,ht,u(this,Lt)._setTimeout(N(this,yr,bs).bind(this),u(this,ne))),N(this,yr,bs).call(this))}stop(){u(this,ht)&&(u(this,Lt)._clearTimeout(u(this,ht)),f(this,ht,null))}pause(t){this.stop(),t&&f(this,Pt,-2)}resume(){this.start()}}Lt=new WeakMap,ht=new WeakMap,ne=new WeakMap,Pt=new WeakMap,yr=new WeakSet,bs=async function(){try{const t=await u(this,Lt).getBlockNumber();if(u(this,Pt)===-2){f(this,Pt,t);return}if(t!==u(this,Pt)){for(let e=u(this,Pt)+1;e<=t;e++){if(u(this,ht)==null)return;await u(this,Lt).emit("block",e)}f(this,Pt,t)}}catch{}u(this,ht)!=null&&f(this,ht,u(this,Lt)._setTimeout(N(this,yr,bs).bind(this),u(this,ne)))};var ke,Se,ie;class Vn{constructor(t){w(this,ke);w(this,Se);w(this,ie);f(this,ke,t),f(this,ie,!1),f(this,Se,e=>{this._poll(e,u(this,ke))})}async _poll(t,e){throw new Error("sub-classes must override this")}start(){u(this,ie)||(f(this,ie,!0),u(this,Se).call(this,-2),u(this,ke).on("block",u(this,Se)))}stop(){u(this,ie)&&(f(this,ie,!1),u(this,ke).off("block",u(this,Se)))}pause(t){this.stop()}resume(){this.start()}}ke=new WeakMap,Se=new WeakMap,ie=new WeakMap;var br,Ut;class fl extends Vn{constructor(e,r){super(e);w(this,br);w(this,Ut);f(this,br,r),f(this,Ut,-2)}pause(e){e&&f(this,Ut,-2),super.pause(e)}async _poll(e,r){const n=await r.getBlock(u(this,br));n!=null&&(u(this,Ut)===-2?f(this,Ut,n.number):n.number>u(this,Ut)&&(r.emit(u(this,br),n.number),f(this,Ut,n.number)))}}br=new WeakMap,Ut=new WeakMap;var Fs;class dl extends Vn{constructor(e,r){super(e);w(this,Fs);f(this,Fs,wn(r))}async _poll(e,r){throw new Error("@TODO")}}Fs=new WeakMap;var Er;class gl extends Vn{constructor(e,r){super(e);w(this,Er);f(this,Er,r)}async _poll(e,r){const n=await r.getTransactionReceipt(u(this,Er));n&&r.emit(u(this,Er),n)}}Er=new WeakMap;var Mt,Br,xr,oe,ft,Ls,To;class Jn{constructor(t,e){w(this,Ls);w(this,Mt);w(this,Br);w(this,xr);w(this,oe);w(this,ft);f(this,Mt,t),f(this,Br,wn(e)),f(this,xr,N(this,Ls,To).bind(this)),f(this,oe,!1),f(this,ft,-2)}start(){u(this,oe)||(f(this,oe,!0),u(this,ft)===-2&&u(this,Mt).getBlockNumber().then(t=>{f(this,ft,t)}),u(this,Mt).on("block",u(this,xr)))}stop(){u(this,oe)&&(f(this,oe,!1),u(this,Mt).off("block",u(this,xr)))}pause(t){this.stop(),t&&f(this,ft,-2)}resume(){this.start()}}Mt=new WeakMap,Br=new WeakMap,xr=new WeakMap,oe=new WeakMap,ft=new WeakMap,Ls=new WeakSet,To=async function(t){if(u(this,ft)===-2)return;const e=wn(u(this,Br));e.fromBlock=u(this,ft)+1,e.toBlock=t;const r=await u(this,Mt).getLogs(e);if(r.length===0){u(this,ft)<t-60&&f(this,ft,t-60);return}for(const n of r)u(this,Mt).emit(u(this,Br),n),f(this,ft,n.blockNumber)};const Al=BigInt(2),pl=10;function ms(s){return s&&typeof s.then=="function"}function Es(s,t){return s+":"+JSON.stringify(t,(e,r)=>{if(r==null)return"null";if(typeof r=="bigint")return`bigint:${r.toString()}`;if(typeof r=="string")return r.toLowerCase();if(typeof r=="object"&&!Array.isArray(r)){const n=Object.keys(r);return n.sort(),n.reduce((i,a)=>(i[a]=r[a],i),{})}return r})}class Fo{constructor(t){z(this,"name");o.defineProperties(this,{name:t})}start(){}stop(){}pause(t){}resume(){}}function ml(s){return JSON.parse(JSON.stringify(s))}function yn(s){return s=Array.from(new Set(s).values()),s.sort(),s}async function sn(s,t){if(s==null)throw new Error("invalid event");if(Array.isArray(s)&&(s={topics:s}),typeof s=="string")switch(s){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:s,tag:s}}if(o.isHexString(s,32)){const e=s.toLowerCase();return{type:"transaction",tag:Es("tx",{hash:e}),hash:e}}if(s.orphan){const e=s;return{type:"orphan",tag:Es("orphan",e),filter:ml(e)}}if(s.address||s.topics){const e=s,r={topics:(e.topics||[]).map(n=>n==null?null:Array.isArray(n)?yn(n.map(i=>i.toLowerCase())):n.toLowerCase())};if(e.address){const n=[],i=[],a=c=>{o.isHexString(c)?n.push(c):i.push((async()=>{n.push(await o.resolveAddress(c,t))})())};Array.isArray(e.address)?e.address.forEach(a):a(e.address),i.length&&await Promise.all(i),r.address=yn(n.map(c=>c.toLowerCase()))}return{filter:r,tag:Es("event",r),type:"event"}}o.assertArgument(!1,"unknown ProviderEvent","event",s)}function nn(){return new Date().getTime()}const wl={cacheTimeout:250,pollingInterval:4e3};var _,ae,$,Cr,ct,ve,ce,Ht,ns,dt,Ir,Pr,D,it,bn,En,Vr,Bn,Jr,Bs;class yl{constructor(t,e){w(this,D);w(this,_);w(this,ae);w(this,$);w(this,Cr);w(this,ct);w(this,ve);w(this,ce);w(this,Ht);w(this,ns);w(this,dt);w(this,Ir);w(this,Pr);if(f(this,Pr,Object.assign({},wl,e||{})),t==="any")f(this,ve,!0),f(this,ct,null);else if(t){const r=St.from(t);f(this,ve,!1),f(this,ct,Promise.resolve(r)),setTimeout(()=>{this.emit("network",r,null)},0)}else f(this,ve,!1),f(this,ct,null);f(this,Ht,-1),f(this,ce,new Map),f(this,_,new Map),f(this,ae,new Map),f(this,$,null),f(this,Cr,!1),f(this,ns,1),f(this,dt,new Map),f(this,Ir,!1)}get pollingInterval(){return u(this,Pr).pollingInterval}get provider(){return this}get plugins(){return Array.from(u(this,ae).values())}attachPlugin(t){if(u(this,ae).get(t.name))throw new Error(`cannot replace existing plugin: ${t.name} `);return u(this,ae).set(t.name,t.connect(this)),this}getPlugin(t){return u(this,ae).get(t)||null}get disableCcipRead(){return u(this,Ir)}set disableCcipRead(t){f(this,Ir,!!t)}async ccipReadFetch(t,e,r){if(this.disableCcipRead||r.length===0||t.to==null)return null;const n=t.to.toLowerCase(),i=e.toLowerCase(),a=[];for(let c=0;c<r.length;c++){const l=r[c],h=l.replace("{sender}",n).replace("{data}",i),g=new Vt(h);l.indexOf("{data}")===-1&&(g.body={data:i,sender:n}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:g,index:c,urls:r});let d="unknown error",m;try{m=await g.send()}catch(y){a.push(y.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:g,result:{error:y}});continue}try{const y=m.bodyJson;if(y.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:g,result:y}),y.data;y.message&&(d=y.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:g,result:y})}catch{}o.assert(m.statusCode<400||m.statusCode>=500,`response not found during CCIP fetch: ${d}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:t,info:{url:l,errorMessage:d}}),a.push(d)}o.assert(!1,`error encountered during CCIP fetch: ${a.map(c=>JSON.stringify(c)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:t,info:{urls:r,errorMessages:a}})}_wrapBlock(t,e){return new A.Block(sl(t),this)}_wrapLog(t,e){return new A.Log(el(t),this)}_wrapTransactionReceipt(t,e){return new A.TransactionReceipt(al(t),this)}_wrapTransactionResponse(t,e){return new A.TransactionResponse(Do(t),this)}_detectNetwork(){o.assert(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(t){o.assert(!1,`unsupported method: ${t.method}`,"UNSUPPORTED_OPERATION",{operation:t.method,info:t})}async getBlockNumber(){const t=A.getNumber(await N(this,D,it).call(this,{method:"getBlockNumber"}),"%response");return u(this,Ht)>=0&&f(this,Ht,t),t}_getAddress(t){return o.resolveAddress(t,this)}_getBlockTag(t){if(t==null)return"latest";switch(t){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return t}if(o.isHexString(t))return o.isHexString(t,32)?t:A.toQuantity(t);if(typeof t=="bigint"&&(t=A.getNumber(t,"blockTag")),typeof t=="number")return t>=0?A.toQuantity(t):u(this,Ht)>=0?A.toQuantity(u(this,Ht)+t):this.getBlockNumber().then(e=>A.toQuantity(e+t));o.assertArgument(!1,"invalid blockTag","blockTag",t)}_getFilter(t){const e=(t.topics||[]).map(l=>l==null?null:Array.isArray(l)?yn(l.map(h=>h.toLowerCase())):l.toLowerCase()),r="blockHash"in t?t.blockHash:void 0,n=(l,h,g)=>{let d;switch(l.length){case 0:break;case 1:d=l[0];break;default:l.sort(),d=l}if(r&&(h!=null||g!=null))throw new Error("invalid filter");const m={};return d&&(m.address=d),e.length&&(m.topics=e),h&&(m.fromBlock=h),g&&(m.toBlock=g),r&&(m.blockHash=r),m};let i=[];if(t.address)if(Array.isArray(t.address))for(const l of t.address)i.push(this._getAddress(l));else i.push(this._getAddress(t.address));let a;"fromBlock"in t&&(a=this._getBlockTag(t.fromBlock));let c;return"toBlock"in t&&(c=this._getBlockTag(t.toBlock)),i.filter(l=>typeof l!="string").length||a!=null&&typeof a!="string"||c!=null&&typeof c!="string"?Promise.all([Promise.all(i),a,c]).then(l=>n(l[0],l[1],l[2])):n(i,a,c)}_getTransactionRequest(t){const e=A.copyRequest(t),r=[];if(["to","from"].forEach(n=>{if(e[n]==null)return;const i=o.resolveAddress(e[n],this);ms(i)?r.push(async function(){e[n]=await i}()):e[n]=i}),e.blockTag!=null){const n=this._getBlockTag(e.blockTag);ms(n)?r.push(async function(){e.blockTag=await n}()):e.blockTag=n}return r.length?async function(){return await Promise.all(r),e}():e}async getNetwork(){if(u(this,ct)==null){const n=(async()=>{try{const i=await this._detectNetwork();return this.emit("network",i,null),i}catch(i){throw u(this,ct)===n&&f(this,ct,null),i}})();return f(this,ct,n),(await n).clone()}const t=u(this,ct),[e,r]=await Promise.all([t,this._detectNetwork()]);return e.chainId!==r.chainId&&(u(this,ve)?(this.emit("network",r,e),u(this,ct)===t&&f(this,ct,Promise.resolve(r))):o.assert(!1,`network changed: ${e.chainId} => ${r.chainId} `,"NETWORK_ERROR",{event:"changed"})),e.clone()}async getFeeData(){const t=await this.getNetwork(),e=async()=>{const{_block:n,gasPrice:i,priorityFee:a}=await o.resolveProperties({_block:N(this,D,Bn).call(this,"latest",!1),gasPrice:(async()=>{try{const g=await N(this,D,it).call(this,{method:"getGasPrice"});return A.getBigInt(g,"%response")}catch{}return null})(),priorityFee:(async()=>{try{const g=await N(this,D,it).call(this,{method:"getPriorityFee"});return A.getBigInt(g,"%response")}catch{}return null})()});let c=null,l=null;const h=this._wrapBlock(n,t);return h&&h.baseFeePerGas&&(l=a??BigInt("1000000000"),c=h.baseFeePerGas*Al+l),new A.FeeData(i,c,l)},r=t.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(r){const n=new Vt(r.url),i=await r.processFunc(e,this,n);return new A.FeeData(i.gasPrice,i.maxFeePerGas,i.maxPriorityFeePerGas)}return await e()}async estimateGas(t){let e=this._getTransactionRequest(t);return ms(e)&&(e=await e),A.getBigInt(await N(this,D,it).call(this,{method:"estimateGas",transaction:e}),"%response")}async call(t){const{tx:e,blockTag:r}=await o.resolveProperties({tx:this._getTransactionRequest(t),blockTag:this._getBlockTag(t.blockTag)});return await N(this,D,En).call(this,N(this,D,bn).call(this,e,r,t.enableCcipRead?0:-1))}async getBalance(t,e){return A.getBigInt(await N(this,D,Vr).call(this,{method:"getBalance"},t,e),"%response")}async getTransactionCount(t,e){return A.getNumber(await N(this,D,Vr).call(this,{method:"getTransactionCount"},t,e),"%response")}async getCode(t,e){return o.hexlify(await N(this,D,Vr).call(this,{method:"getCode"},t,e))}async getStorage(t,e,r){const n=A.getBigInt(e,"position");return o.hexlify(await N(this,D,Vr).call(this,{method:"getStorage",position:n},t,r))}async broadcastTransaction(t){const{blockNumber:e,hash:r,network:n}=await o.resolveProperties({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:t}),network:this.getNetwork()}),i=Wr.from(t);if(i.hash!==r)throw new Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(i,n).replaceableTransaction(e)}async getBlock(t,e){const{network:r,params:n}=await o.resolveProperties({network:this.getNetwork(),params:N(this,D,Bn).call(this,t,!!e)});return n==null?null:this._wrapBlock(n,r)}async getTransaction(t){const{network:e,params:r}=await o.resolveProperties({network:this.getNetwork(),params:N(this,D,it).call(this,{method:"getTransaction",hash:t})});return r==null?null:this._wrapTransactionResponse(r,e)}async getTransactionReceipt(t){const{network:e,params:r}=await o.resolveProperties({network:this.getNetwork(),params:N(this,D,it).call(this,{method:"getTransactionReceipt",hash:t})});if(r==null)return null;if(r.gasPrice==null&&r.effectiveGasPrice==null){const n=await N(this,D,it).call(this,{method:"getTransaction",hash:t});if(n==null)throw new Error("report this; could not find tx or effectiveGasPrice");r.effectiveGasPrice=n.gasPrice}return this._wrapTransactionReceipt(r,e)}async getTransactionResult(t){const{result:e}=await o.resolveProperties({network:this.getNetwork(),result:N(this,D,it).call(this,{method:"getTransactionResult",hash:t})});return e==null?null:o.hexlify(e)}async getLogs(t){let e=this._getFilter(t);ms(e)&&(e=await e);const{network:r,params:n}=await o.resolveProperties({network:this.getNetwork(),params:N(this,D,it).call(this,{method:"getLogs",filter:e})});return n.map(i=>this._wrapLog(i,r))}_getProvider(t){o.assert(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(t){return await Rs.fromName(this,t)}async getAvatar(t){const e=await this.getResolver(t);return e?await e.getAvatar():null}async resolveName(t){const e=await this.getResolver(t);return e?await e.getAddress():null}async lookupAddress(t){t=o.getAddress(t);const e=mn(t.substring(2).toLowerCase()+".addr.reverse");try{const r=await Rs.getEnsAddress(this),i=await new A.Contract(r,["function resolver(bytes32) view returns (address)"],this).resolver(e);if(i==null||i===Tr)return null;const c=await new A.Contract(i,["function name(bytes32) view returns (string)"],this).name(e);return await this.resolveName(c)!==t?null:c}catch(r){if(o.isError(r,"BAD_DATA")&&r.value==="0x"||o.isError(r,"CALL_EXCEPTION"))return null;throw r}return null}async waitForTransaction(t,e,r){const n=e??1;return n===0?this.getTransactionReceipt(t):new Promise(async(i,a)=>{let c=null;const l=async h=>{try{const g=await this.getTransactionReceipt(t);if(g!=null&&h-g.blockNumber+1>=n){i(g),c&&(clearTimeout(c),c=null);return}}catch(g){console.log("EEE",g)}this.once("block",l)};r!=null&&(c=setTimeout(()=>{c!=null&&(c=null,this.off("block",l),a(o.makeError("timeout","TIMEOUT",{reason:"timeout"})))},r)),l(await this.getBlockNumber())})}async waitForBlock(t){o.assert(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(t){const e=u(this,dt).get(t);e&&(e.timer&&clearTimeout(e.timer),u(this,dt).delete(t))}_setTimeout(t,e){e==null&&(e=0);const r=hs(this,ns)._++,n=()=>{u(this,dt).delete(r),t()};if(this.paused)u(this,dt).set(r,{timer:null,func:n,time:e});else{const i=setTimeout(n,e);u(this,dt).set(r,{timer:i,func:n,time:nn()})}return r}_forEachSubscriber(t){for(const e of u(this,_).values())t(e.subscriber)}_getSubscriber(t){switch(t.type){case"debug":case"error":case"network":return new Fo(t.type);case"block":{const e=new hl(this);return e.pollingInterval=this.pollingInterval,e}case"safe":case"finalized":return new fl(this,t.type);case"event":return new Jn(this,t.filter);case"transaction":return new gl(this,t.hash);case"orphan":return new dl(this,t.filter)}throw new Error(`unsupported event: ${t.type}`)}_recoverSubscriber(t,e){for(const r of u(this,_).values())if(r.subscriber===t){r.started&&r.subscriber.stop(),r.subscriber=e,r.started&&e.start(),u(this,$)!=null&&e.pause(u(this,$));break}}async on(t,e){const r=await N(this,D,Bs).call(this,t);return r.listeners.push({listener:e,once:!1}),r.started||(r.subscriber.start(),r.started=!0,u(this,$)!=null&&r.subscriber.pause(u(this,$))),this}async once(t,e){const r=await N(this,D,Bs).call(this,t);return r.listeners.push({listener:e,once:!0}),r.started||(r.subscriber.start(),r.started=!0,u(this,$)!=null&&r.subscriber.pause(u(this,$))),this}async emit(t,...e){const r=await N(this,D,Jr).call(this,t,e);if(!r||r.listeners.length===0)return!1;const n=r.listeners.length;return r.listeners=r.listeners.filter(({listener:i,once:a})=>{const c=new A.EventPayload(this,a?null:i,t);try{i.call(this,...e,c)}catch{}return!a}),r.listeners.length===0&&(r.started&&r.subscriber.stop(),u(this,_).delete(r.tag)),n>0}async listenerCount(t){if(t){const r=await N(this,D,Jr).call(this,t);return r?r.listeners.length:0}let e=0;for(const{listeners:r}of u(this,_).values())e+=r.length;return e}async listeners(t){if(t){const r=await N(this,D,Jr).call(this,t);return r?r.listeners.map(({listener:n})=>n):[]}let e=[];for(const{listeners:r}of u(this,_).values())e=e.concat(r.map(({listener:n})=>n));return e}async off(t,e){const r=await N(this,D,Jr).call(this,t);if(!r)return this;if(e){const n=r.listeners.map(({listener:i})=>i).indexOf(e);n>=0&&r.listeners.splice(n,1)}return(!e||r.listeners.length===0)&&(r.started&&r.subscriber.stop(),u(this,_).delete(r.tag)),this}async removeAllListeners(t){if(t){const{tag:e,started:r,subscriber:n}=await N(this,D,Bs).call(this,t);r&&n.stop(),u(this,_).delete(e)}else for(const[e,{started:r,subscriber:n}]of u(this,_))r&&n.stop(),u(this,_).delete(e);return this}async addListener(t,e){return await this.on(t,e)}async removeListener(t,e){return this.off(t,e)}get destroyed(){return u(this,Cr)}destroy(){this.removeAllListeners();for(const t of u(this,dt).keys())this._clearTimeout(t);f(this,Cr,!0)}get paused(){return u(this,$)!=null}set paused(t){!!t!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(t){if(f(this,Ht,-1),u(this,$)!=null){if(u(this,$)==!!t)return;o.assert(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}this._forEachSubscriber(e=>e.pause(t)),f(this,$,!!t);for(const e of u(this,dt).values())e.timer&&clearTimeout(e.timer),e.time=nn()-e.time}resume(){if(u(this,$)!=null){this._forEachSubscriber(t=>t.resume()),f(this,$,null);for(const t of u(this,dt).values()){let e=t.time;e<0&&(e=0),t.time=nn(),setTimeout(t.func,e)}}}}_=new WeakMap,ae=new WeakMap,$=new WeakMap,Cr=new WeakMap,ct=new WeakMap,ve=new WeakMap,ce=new WeakMap,Ht=new WeakMap,ns=new WeakMap,dt=new WeakMap,Ir=new WeakMap,Pr=new WeakMap,D=new WeakSet,it=async function(t){const e=u(this,Pr).cacheTimeout;if(e<0)return await this._perform(t);const r=Es(t.method,t);let n=u(this,ce).get(r);return n||(n=this._perform(t),u(this,ce).set(r,n),setTimeout(()=>{u(this,ce).get(r)===n&&u(this,ce).delete(r)},e)),await n},bn=async function(t,e,r){o.assert(r<pl,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},t,{blockTag:e,enableCcipRead:!0})});const n=A.copyRequest(t);try{return o.hexlify(await this._perform({method:"call",transaction:n,blockTag:e}))}catch(i){if(!this.disableCcipRead&&o.isCallException(i)&&i.data&&r>=0&&e==="latest"&&n.to!=null&&o.dataSlice(i.data,0,4)==="0x556f1830"){const a=i.data,c=await o.resolveAddress(n.to,this);let l;try{l=Cl(o.dataSlice(i.data,4))}catch(d){o.assert(!1,d.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:n,info:{data:a}})}o.assert(l.sender.toLowerCase()===c.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:a,reason:"OffchainLookup",transaction:n,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:l.errorArgs}});const h=await this.ccipReadFetch(n,l.calldata,l.urls);o.assert(h!=null,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:n,info:{data:i.data,errorArgs:l.errorArgs}});const g={to:c,data:o.concat([l.selector,xl([h,l.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:g});try{const d=await N(this,D,bn).call(this,g,e,r+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},g),result:d}),d}catch(d){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},g),error:d}),d}}throw i}},En=async function(t){const{value:e}=await o.resolveProperties({network:this.getNetwork(),value:t});return e},Vr=async function(t,e,r){let n=this._getAddress(e),i=this._getBlockTag(r);return(typeof n!="string"||typeof i!="string")&&([n,i]=await Promise.all([n,i])),await N(this,D,En).call(this,N(this,D,it).call(this,Object.assign(t,{address:n,blockTag:i})))},Bn=async function(t,e){if(o.isHexString(t,32))return await N(this,D,it).call(this,{method:"getBlock",blockHash:t,includeTransactions:e});let r=this._getBlockTag(t);return typeof r!="string"&&(r=await r),await N(this,D,it).call(this,{method:"getBlock",blockTag:r,includeTransactions:e})},Jr=async function(t,e){let r=await sn(t,this);return r.type==="event"&&e&&e.length>0&&e[0].removed===!0&&(r=await sn({orphan:"drop-log",log:e[0]},this)),u(this,_).get(r.tag)||null},Bs=async function(t){const e=await sn(t,this),r=e.tag;let n=u(this,_).get(r);return n||(n={subscriber:this._getSubscriber(e),tag:r,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},u(this,_).set(r,n)),n};function bl(s,t){try{const e=xn(s,t);if(e)return A.toUtf8String(e)}catch{}return null}function xn(s,t){if(s==="0x")return null;try{const e=A.getNumber(o.dataSlice(s,t,t+32)),r=A.getNumber(o.dataSlice(s,e,e+32));return o.dataSlice(s,e+32,e+32+r)}catch{}return null}function Di(s){const t=A.toBeArray(s);if(t.length>32)throw new Error("internal; should not happen");const e=new Uint8Array(32);return e.set(t,32-t.length),e}function El(s){if(s.length%32===0)return s;const t=new Uint8Array(Math.ceil(s.length/32)*32);return t.set(s),t}const Bl=new Uint8Array([]);function xl(s){const t=[];let e=0;for(let r=0;r<s.length;r++)t.push(Bl),e+=32;for(let r=0;r<s.length;r++){const n=o.getBytes(s[r]);t[r]=Di(e),t.push(Di(n.length)),t.push(El(n)),e+=32+Math.ceil(n.length/32)*32}return o.concat(t)}const Ti="0x0000000000000000000000000000000000000000000000000000000000000000";function Cl(s){const t={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};o.assert(o.dataLength(s)>=5*32,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});const e=o.dataSlice(s,0,32);o.assert(o.dataSlice(e,0,12)===o.dataSlice(Ti,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),t.sender=o.dataSlice(e,12);try{const r=[],n=A.getNumber(o.dataSlice(s,32,64)),i=A.getNumber(o.dataSlice(s,n,n+32)),a=o.dataSlice(s,n+32);for(let c=0;c<i;c++){const l=bl(a,c*32);if(l==null)throw new Error("abort");r.push(l)}t.urls=r}catch{o.assert(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{const r=xn(s,64);if(r==null)throw new Error("abort");t.calldata=r}catch{o.assert(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}o.assert(o.dataSlice(s,100,128)===o.dataSlice(Ti,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),t.selector=o.dataSlice(s,96,100);try{const r=xn(s,128);if(r==null)throw new Error("abort");t.extraData=r}catch{o.assert(!1,"corrupt OffchainLookup extraData","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup extraData"})}return t.errorArgs="sender,urls,calldata,selector,extraData".split(/,/).map(r=>t[r]),t}function Je(s,t){if(s.provider)return s.provider;o.assert(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:t})}async function Fi(s,t){let e=A.copyRequest(t);if(e.to!=null&&(e.to=o.resolveAddress(e.to,s)),e.from!=null){const r=e.from;e.from=Promise.all([s.getAddress(),o.resolveAddress(r,s)]).then(([n,i])=>(o.assertArgument(n.toLowerCase()===i.toLowerCase(),"transaction from mismatch","tx.from",i),n))}else e.from=s.getAddress();return await o.resolveProperties(e)}class zn{constructor(t){z(this,"provider");o.defineProperties(this,{provider:t||null})}async getNonce(t){return Je(this,"getTransactionCount").getTransactionCount(await this.getAddress(),t)}async populateCall(t){return await Fi(this,t)}async populateTransaction(t){const e=Je(this,"populateTransaction"),r=await Fi(this,t);r.nonce==null&&(r.nonce=await this.getNonce("pending")),r.gasLimit==null&&(r.gasLimit=await this.estimateGas(r));const n=await this.provider.getNetwork();if(r.chainId!=null){const a=A.getBigInt(r.chainId);o.assertArgument(a===n.chainId,"transaction chainId mismatch","tx.chainId",t.chainId)}else r.chainId=n.chainId;const i=r.maxFeePerGas!=null||r.maxPriorityFeePerGas!=null;if(r.gasPrice!=null&&(r.type===2||i)?o.assertArgument(!1,"eip-1559 transaction do not support gasPrice","tx",t):(r.type===0||r.type===1)&&i&&o.assertArgument(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",t),(r.type===2||r.type==null)&&r.maxFeePerGas!=null&&r.maxPriorityFeePerGas!=null)r.type=2;else if(r.type===0||r.type===1){const a=await e.getFeeData();o.assert(a.gasPrice!=null,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),r.gasPrice==null&&(r.gasPrice=a.gasPrice)}else{const a=await e.getFeeData();if(r.type==null)if(a.maxFeePerGas!=null&&a.maxPriorityFeePerGas!=null)if(r.type=2,r.gasPrice!=null){const c=r.gasPrice;delete r.gasPrice,r.maxFeePerGas=c,r.maxPriorityFeePerGas=c}else r.maxFeePerGas==null&&(r.maxFeePerGas=a.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=a.maxPriorityFeePerGas);else a.gasPrice!=null?(o.assert(!i,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),r.gasPrice==null&&(r.gasPrice=a.gasPrice),r.type=0):o.assert(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else(r.type===2||r.type===3)&&(r.maxFeePerGas==null&&(r.maxFeePerGas=a.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=a.maxPriorityFeePerGas))}return await o.resolveProperties(r)}async estimateGas(t){return Je(this,"estimateGas").estimateGas(await this.populateCall(t))}async call(t){return Je(this,"call").call(await this.populateCall(t))}async resolveName(t){return await Je(this,"resolveName").resolveName(t)}async sendTransaction(t){const e=Je(this,"sendTransaction"),r=await this.populateTransaction(t);delete r.from;const n=Wr.from(r);return await e.broadcastTransaction(await this.signTransaction(n))}}var Nr,xs;const jn=class jn extends zn{constructor(e,r){super(r);w(this,Nr);z(this,"address");o.defineProperties(this,{address:e})}async getAddress(){return this.address}connect(e){return new jn(this.address,e)}async signTransaction(e){N(this,Nr,xs).call(this,"transactions","signTransaction")}async signMessage(e){N(this,Nr,xs).call(this,"messages","signMessage")}async signTypedData(e,r,n){N(this,Nr,xs).call(this,"typed-data","signTypedData")}};Nr=new WeakSet,xs=function(e,r){o.assert(!1,`VoidSigner cannot sign ${e}`,"UNSUPPORTED_OPERATION",{operation:r})};let Cn=jn;function Il(s){return JSON.parse(JSON.stringify(s))}var tt,Nt,Re,le,Oe,kr,fe,In,Pn;class Lo{constructor(t){w(this,fe);w(this,tt);w(this,Nt);w(this,Re);w(this,le);w(this,Oe);w(this,kr);f(this,tt,t),f(this,Nt,null),f(this,Re,N(this,fe,In).bind(this)),f(this,le,!1),f(this,Oe,null),f(this,kr,!1)}_subscribe(t){throw new Error("subclasses must override this")}_emitResults(t,e){throw new Error("subclasses must override this")}_recover(t){throw new Error("subclasses must override this")}start(){u(this,le)||(f(this,le,!0),N(this,fe,In).call(this,-2))}stop(){u(this,le)&&(f(this,le,!1),f(this,kr,!0),N(this,fe,Pn).call(this),u(this,tt).off("block",u(this,Re)))}pause(t){t&&N(this,fe,Pn).call(this),u(this,tt).off("block",u(this,Re))}resume(){this.start()}}tt=new WeakMap,Nt=new WeakMap,Re=new WeakMap,le=new WeakMap,Oe=new WeakMap,kr=new WeakMap,fe=new WeakSet,In=async function(t){try{u(this,Nt)==null&&f(this,Nt,this._subscribe(u(this,tt)));let e=null;try{e=await u(this,Nt)}catch(i){if(!o.isError(i,"UNSUPPORTED_OPERATION")||i.operation!=="eth_newFilter")throw i}if(e==null){f(this,Nt,null),u(this,tt)._recoverSubscriber(this,this._recover(u(this,tt)));return}const r=await u(this,tt).getNetwork();if(u(this,Oe)||f(this,Oe,r),u(this,Oe).chainId!==r.chainId)throw new Error("chaid changed");if(u(this,kr))return;const n=await u(this,tt).send("eth_getFilterChanges",[e]);await this._emitResults(u(this,tt),n)}catch(e){console.log("@TODO",e)}u(this,tt).once("block",u(this,Re))},Pn=function(){const t=u(this,Nt);t&&(f(this,Nt,null),t.then(e=>{u(this,tt).destroyed||u(this,tt).send("eth_uninstallFilter",[e])}))};var De;class Pl extends Lo{constructor(e,r){super(e);w(this,De);f(this,De,Il(r))}_recover(e){return new Jn(e,u(this,De))}async _subscribe(e){return await e.send("eth_newFilter",[u(this,De)])}async _emitResults(e,r){for(const n of r)e.emit(u(this,De),e._wrapLog(n,e._network))}}De=new WeakMap;class Nl extends Lo{async _subscribe(t){return await t.send("eth_newPendingTransactionFilter",[])}async _emitResults(t,e){for(const r of e)t.emit("pending",r)}}const kl="bigint,boolean,function,number,string,symbol".split(/,/g);function Cs(s){if(s==null||kl.indexOf(typeof s)>=0||typeof s.getAddress=="function")return s;if(Array.isArray(s))return s.map(Cs);if(typeof s=="object")return Object.keys(s).reduce((t,e)=>(t[e]=s[e],t),{});throw new Error(`should not happen: ${s} (${typeof s})`)}function Sl(s){return new Promise(t=>{setTimeout(t,s)})}function ze(s){return s&&s.toLowerCase()}function Li(s){return s&&typeof s.pollingInterval=="number"}const Uo={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1<<20,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3};class on extends zn{constructor(e,r){super(e);z(this,"address");r=o.getAddress(r),o.defineProperties(this,{address:r})}connect(e){o.assert(!1,"cannot reconnect JsonRpcSigner","UNSUPPORTED_OPERATION",{operation:"signer.connect"})}async getAddress(){return this.address}async populateTransaction(e){return await this.populateCall(e)}async sendUncheckedTransaction(e){const r=Cs(e),n=[];if(r.from){const a=r.from;n.push((async()=>{const c=await o.resolveAddress(a,this.provider);o.assertArgument(c!=null&&c.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",e),r.from=c})())}else r.from=this.address;if(r.gasLimit==null&&n.push((async()=>{r.gasLimit=await this.provider.estimateGas({...r,from:this.address})})()),r.to!=null){const a=r.to;n.push((async()=>{r.to=await o.resolveAddress(a,this.provider)})())}n.length&&await Promise.all(n);const i=this.provider.getRpcTransaction(r);return this.provider.send("eth_sendTransaction",[i])}async sendTransaction(e){const r=await this.provider.getBlockNumber(),n=await this.sendUncheckedTransaction(e);return await new Promise((i,a)=>{const c=[1e3,100];let l=0;const h=async()=>{try{const g=await this.provider.getTransaction(n);if(g!=null){i(g.replaceableTransaction(r));return}}catch(g){if(o.isError(g,"CANCELLED")||o.isError(g,"BAD_DATA")||o.isError(g,"NETWORK_ERROR")||o.isError(g,"UNSUPPORTED_OPERATION")){g.info==null&&(g.info={}),g.info.sendTransactionHash=n,a(g);return}if(o.isError(g,"INVALID_ARGUMENT")&&(l++,g.info==null&&(g.info={}),g.info.sendTransactionHash=n,l>10)){a(g);return}this.provider.emit("error",o.makeError("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:g}))}this.provider._setTimeout(()=>{h()},c.pop()||4e3)};h()})}async signTransaction(e){const r=Cs(e);if(r.from){const i=await o.resolveAddress(r.from,this.provider);o.assertArgument(i!=null&&i.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",e),r.from=i}else r.from=this.address;const n=this.provider.getRpcTransaction(r);return await this.provider.send("eth_signTransaction",[n])}async signMessage(e){const r=typeof e=="string"?A.toUtf8Bytes(e):e;return await this.provider.send("personal_sign",[o.hexlify(r),this.address.toLowerCase()])}async signTypedData(e,r,n){const i=Cs(n),a=await Xr.resolveNames(e,r,i,async c=>{const l=await o.resolveAddress(c);return o.assertArgument(l!=null,"TypedData does not support null address","value",c),l});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(Xr.getPayload(a.domain,r,a.value))])}async unlock(e){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),e,null])}async _legacySignMessage(e){const r=typeof e=="string"?A.toUtf8Bytes(e):e;return await this.provider.send("eth_sign",[this.address.toLowerCase(),o.hexlify(r)])}}var Te,Sr,Qt,kt,Et,gt,et,is,Nn;class vl extends yl{constructor(e,r){super(e,r);w(this,is);w(this,Te);w(this,Sr);w(this,Qt);w(this,kt);w(this,Et);w(this,gt);w(this,et);f(this,Sr,1),f(this,Te,Object.assign({},Uo,r||{})),f(this,Qt,[]),f(this,kt,null),f(this,gt,null),f(this,et,null);{let i=null;const a=new Promise(c=>{i=c});f(this,Et,{promise:a,resolve:i})}const n=this._getOption("staticNetwork");typeof n=="boolean"?(o.assertArgument(!n||e!=="any","staticNetwork cannot be used on special network 'any'","options",r),n&&e!=null&&f(this,gt,St.from(e))):n&&(o.assertArgument(e==null||n.matches(e),"staticNetwork MUST match network object","options",r),f(this,gt,n))}_getOption(e){return u(this,Te)[e]}get _network(){return o.assert(u(this,gt),"network is not available yet","NETWORK_ERROR"),u(this,gt)}async _perform(e){if(e.method==="call"||e.method==="estimateGas"){let n=e.transaction;if(n&&n.type!=null&&A.getBigInt(n.type)&&n.maxFeePerGas==null&&n.maxPriorityFeePerGas==null){const i=await this.getFeeData();i.maxFeePerGas==null&&i.maxPriorityFeePerGas==null&&(e=Object.assign({},e,{transaction:Object.assign({},n,{type:void 0})}))}}const r=this.getRpcRequest(e);return r!=null?await this.send(r.method,r.args):super._perform(e)}async _detectNetwork(){const e=this._getOption("staticNetwork");if(e)if(e===!0){if(u(this,gt))return u(this,gt)}else return e;return u(this,et)?await u(this,et):this.ready?(f(this,et,(async()=>{try{const r=St.from(A.getBigInt(await this.send("eth_chainId",[])));return f(this,et,null),r}catch(r){throw f(this,et,null),r}})()),await u(this,et)):(f(this,et,(async()=>{const r={id:hs(this,Sr)._++,method:"eth_chainId",params:[],jsonrpc:"2.0"};this.emit("debug",{action:"sendRpcPayload",payload:r});let n;try{n=(await this._send(r))[0],f(this,et,null)}catch(i){throw f(this,et,null),this.emit("debug",{action:"receiveRpcError",error:i}),i}if(this.emit("debug",{action:"receiveRpcResult",result:n}),"result"in n)return St.from(A.getBigInt(n.result));throw this.getRpcError(r,n)})()),await u(this,et))}_start(){u(this,Et)==null||u(this,Et).resolve==null||(u(this,Et).resolve(),f(this,Et,null),(async()=>{for(;u(this,gt)==null&&!this.destroyed;)try{f(this,gt,await this._detectNetwork())}catch(e){if(this.destroyed)break;console.log("JsonRpcProvider failed to detect network and cannot start up; retry in 1s (perhaps the URL is wrong or the node is not started)"),this.emit("error",o.makeError("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:e}})),await Sl(1e3)}N(this,is,Nn).call(this)})())}async _waitUntilReady(){if(u(this,Et)!=null)return await u(this,Et).promise}_getSubscriber(e){return e.type==="pending"?new Nl(this):e.type==="event"?this._getOption("polling")?new Jn(this,e.filter):new Pl(this,e.filter):e.type==="orphan"&&e.filter.orphan==="drop-log"?new Fo("orphan"):super._getSubscriber(e)}get ready(){return u(this,Et)==null}getRpcTransaction(e){const r={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(n=>{if(e[n]==null)return;let i=n;n==="gasLimit"&&(i="gas"),r[i]=A.toQuantity(A.getBigInt(e[n],`tx.${n}`))}),["from","to","data"].forEach(n=>{e[n]!=null&&(r[n]=o.hexlify(e[n]))}),e.accessList&&(r.accessList=A.accessListify(e.accessList)),e.blobVersionedHashes&&(r.blobVersionedHashes=e.blobVersionedHashes.map(n=>n.toLowerCase())),r}getRpcRequest(e){switch(e.method){case"chainId":return{method:"eth_chainId",args:[]};case"getBlockNumber":return{method:"eth_blockNumber",args:[]};case"getGasPrice":return{method:"eth_gasPrice",args:[]};case"getPriorityFee":return{method:"eth_maxPriorityFeePerGas",args:[]};case"getBalance":return{method:"eth_getBalance",args:[ze(e.address),e.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[ze(e.address),e.blockTag]};case"getCode":return{method:"eth_getCode",args:[ze(e.address),e.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[ze(e.address),"0x"+e.position.toString(16),e.blockTag]};case"broadcastTransaction":return{method:"eth_sendRawTransaction",args:[e.signedTransaction]};case"getBlock":if("blockTag"in e)return{method:"eth_getBlockByNumber",args:[e.blockTag,!!e.includeTransactions]};if("blockHash"in e)return{method:"eth_getBlockByHash",args:[e.blockHash,!!e.includeTransactions]};break;case"getTransaction":return{method:"eth_getTransactionByHash",args:[e.hash]};case"getTransactionReceipt":return{method:"eth_getTransactionReceipt",args:[e.hash]};case"call":return{method:"eth_call",args:[this.getRpcTransaction(e.transaction),e.blockTag]};case"estimateGas":return{method:"eth_estimateGas",args:[this.getRpcTransaction(e.transaction)]};case"getLogs":return e.filter&&e.filter.address!=null&&(Array.isArray(e.filter.address)?e.filter.address=e.filter.address.map(ze):e.filter.address=ze(e.filter.address)),{method:"eth_getLogs",args:[e.filter]}}return null}getRpcError(e,r){const{method:n}=e,{error:i}=r;if(n==="eth_estimateGas"&&i.message){const l=i.message;if(!l.match(/revert/i)&&l.match(/insufficient funds/i))return o.makeError("insufficient funds","INSUFFICIENT_FUNDS",{transaction:e.params[0],info:{payload:e,error:i}})}if(n==="eth_call"||n==="eth_estimateGas"){const l=kn(i),h=A.AbiCoder.getBuiltinCallException(n==="eth_call"?"call":"estimateGas",e.params[0],l?l.data:null);return h.info={error:i,payload:e},h}const a=JSON.stringify(Ol(i));if(typeof i.message=="string"&&i.message.match(/user denied|ethers-user-denied/i)){const l={eth_sign:"signMessage",personal_sign:"signMessage",eth_signTypedData_v4:"signTypedData",eth_signTransaction:"signTransaction",eth_sendTransaction:"sendTransaction",eth_requestAccounts:"requestAccess",wallet_requestAccounts:"requestAccess"};return o.makeError("user rejected action","ACTION_REJECTED",{action:l[n]||"unknown",reason:"rejected",info:{payload:e,error:i}})}if(n==="eth_sendRawTransaction"||n==="eth_sendTransaction"){const l=e.params[0];if(a.match(/insufficient funds|base fee exceeds gas limit/i))return o.makeError("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:l,info:{error:i}});if(a.match(/nonce/i)&&a.match(/too low/i))return o.makeError("nonce has already been used","NONCE_EXPIRED",{transaction:l,info:{error:i}});if(a.match(/replacement transaction/i)&&a.match(/underpriced/i))return o.makeError("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:l,info:{error:i}});if(a.match(/only replay-protected/i))return o.makeError("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:n,info:{transaction:l,info:{error:i}}})}let c=!!a.match(/the method .* does not exist/i);return c||i&&i.details&&i.details.startsWith("Unauthorized method:")&&(c=!0),c?o.makeError("unsupported operation","UNSUPPORTED_OPERATION",{operation:e.method,info:{error:i,payload:e}}):o.makeError("could not coalesce error","UNKNOWN_ERROR",{error:i,payload:e})}send(e,r){if(this.destroyed)return Promise.reject(o.makeError("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:e}));const n=hs(this,Sr)._++,i=new Promise((a,c)=>{u(this,Qt).push({resolve:a,reject:c,payload:{method:e,params:r,id:n,jsonrpc:"2.0"}})});return N(this,is,Nn).call(this),i}async getSigner(e){e==null&&(e=0);const r=this.send("eth_accounts",[]);if(typeof e=="number"){const i=await r;if(e>=i.length)throw new Error("no such account");return new on(this,i[e])}const{accounts:n}=await o.resolveProperties({network:this.getNetwork(),accounts:r});e=o.getAddress(e);for(const i of n)if(o.getAddress(i)===e)return new on(this,e);throw new Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(r=>new on(this,r))}destroy(){u(this,kt)&&(clearTimeout(u(this,kt)),f(this,kt,null));for(const{payload:e,reject:r}of u(this,Qt))r(o.makeError("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:e.method}));f(this,Qt,[]),super.destroy()}}Te=new WeakMap,Sr=new WeakMap,Qt=new WeakMap,kt=new WeakMap,Et=new WeakMap,gt=new WeakMap,et=new WeakMap,is=new WeakSet,Nn=function(){if(u(this,kt))return;const e=this._getOption("batchMaxCount")===1?0:this._getOption("batchStallTime");f(this,kt,setTimeout(()=>{f(this,kt,null);const r=u(this,Qt);for(f(this,Qt,[]);r.length;){const n=[r.shift()];for(;r.length&&n.length!==u(this,Te).batchMaxCount;)if(n.push(r.shift()),JSON.stringify(n.map(a=>a.payload)).length>u(this,Te).batchMaxSize){r.unshift(n.pop());break}(async()=>{const i=n.length===1?n[0].payload:n.map(a=>a.payload);this.emit("debug",{action:"sendRpcPayload",payload:i});try{const a=await this._send(i);this.emit("debug",{action:"receiveRpcResult",result:a});for(const{resolve:c,reject:l,payload:h}of n){if(this.destroyed){l(o.makeError("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:h.method}));continue}const g=a.filter(d=>d.id===h.id)[0];if(g==null){const d=o.makeError("missing response for request","BAD_DATA",{value:a,info:{payload:h}});this.emit("error",d),l(d);continue}if("error"in g){l(this.getRpcError(h,g));continue}c(g.result)}}catch(a){this.emit("debug",{action:"receiveRpcError",error:a});for(const{reject:c}of n)c(a)}})()}},e))};var ue;class Mo extends vl{constructor(e,r){super(e,r);w(this,ue);let n=this._getOption("pollingInterval");n==null&&(n=Uo.pollingInterval),f(this,ue,n)}_getSubscriber(e){const r=super._getSubscriber(e);return Li(r)&&(r.pollingInterval=u(this,ue)),r}get pollingInterval(){return u(this,ue)}set pollingInterval(e){if(!Number.isInteger(e)||e<0)throw new Error("invalid interval");f(this,ue,e),this._forEachSubscriber(r=>{Li(r)&&(r.pollingInterval=u(this,ue))})}}ue=new WeakMap;var vr;class Rl extends Mo{constructor(e,r,n){e==null&&(e="http://localhost:8545");super(r,n);w(this,vr);typeof e=="string"?f(this,vr,new Vt(e)):f(this,vr,e.clone())}_getConnection(){return u(this,vr).clone()}async send(e,r){return await this._start(),await super.send(e,r)}async _send(e){const r=this._getConnection();r.body=JSON.stringify(e),r.setHeader("content-type","application/json");const n=await r.send();n.assertOk();let i=n.bodyJson;return Array.isArray(i)||(i=[i]),i}}vr=new WeakMap;function kn(s){if(s==null)return null;if(typeof s.message=="string"&&s.message.match(/revert/i)&&o.isHexString(s.data))return{message:s.message,data:s.data};if(typeof s=="object"){for(const t in s){const e=kn(s[t]);if(e)return e}return null}if(typeof s=="string")try{return kn(JSON.parse(s))}catch{}return null}function Sn(s,t){if(s!=null){if(typeof s.message=="string"&&t.push(s.message),typeof s=="object")for(const e in s)Sn(s[e],t);if(typeof s=="string")try{return Sn(JSON.parse(s),t)}catch{}}}function Ol(s){const t=[];return Sn(s,t),t}exports.AbstractSigner=zn;exports.JsonRpcApiPollingProvider=Mo;exports.JsonRpcProvider=Rl;exports.SHA2=vn;exports.SigningKey=Fr;exports.Transaction=Wr;exports.TypedDataEncoder=Xr;exports.VoidSigner=Cn;exports.ZeroAddress=Tr;exports.computeAddress=Po;exports.createHmac=fa;exports.decodeBase58=Jo;exports.encodeBase58=Ui;exports.getCreateAddress=so;exports.pbkdf2=Ki;exports.pbkdf2Sync=da;exports.randomBytes=ga;exports.sha256=os;exports.sha256$1=Ue;
@@ -1 +0,0 @@
1
- "use strict";var B=Object.defineProperty;var I=(i,t,e)=>t in i?B(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var f=(i,t,e)=>I(i,typeof t!="symbol"?t+"":t,e);const g=require("./address-BGujeWtN.js"),p=require("./unsignedTransaction-dN_5EJf5.js"),F=.5,b=1,E=1,T=1e8,w=5,x=25e4;async function R(i,t,e){const[n,r]=await p.SolanaPlatform.chainFromRpc(i),s=typeof t=="string"?g.Keypair.fromSecretKey(g.b58.decode(t)):t;if(e!=null&&e.priorityFee&&e.priorityFee.percentile&&e.priorityFee.percentile>1)throw new Error("priorityFeePercentile must be a number between 0 and 1");return new A(i,r,s,(e==null?void 0:e.debug)??!1,(e==null?void 0:e.priorityFee)??{},(e==null?void 0:e.retries)??w,e==null?void 0:e.sendOpts)}class A{constructor(t,e,n,r=!1,s,a=w,u){f(this,"_rpc");f(this,"_chain");f(this,"_keypair");f(this,"_debug");f(this,"_priorityFee");f(this,"_maxResubmits");f(this,"_sendOpts");this._rpc=t,this._chain=e,this._keypair=n,this._debug=r,this._priorityFee=s,this._maxResubmits=a,this._sendOpts=u,this._sendOpts=this._sendOpts??{preflightCommitment:this._rpc.commitment}}chain(){return this._chain}address(){return this._keypair.publicKey.toBase58()}retryable(t){var n;if(t instanceof g.TransactionExpiredBlockheightExceededError)return!0;if(!(t instanceof g.SendTransactionError)||!t.message.includes("Transaction simulation failed"))return!1;if(t.message.includes("Blockhash not found"))return!0;const e=(n=t.logs)==null?void 0:n.find(r=>r.startsWith("Program log: Error: "));return e?!!(e.includes("Not enough bytes")||e.includes("Unexpected length of input")):!1}async signAndSend(t){var u;let{blockhash:e,lastValidBlockHeight:n}=await p.SolanaPlatform.latestBlock(this._rpc);const r=[];for(const c of t){const{description:d,transaction:{transaction:o,signers:l}}=c;this._debug&&console.log(`Signing: ${d} for ${this.address()}`);let h;(u=this._priorityFee)!=null&&u.percentile&&this._priorityFee.percentile>0&&(h=await L(this._rpc,o,this._priorityFee.percentile,this._priorityFee.percentileMultiple,this._priorityFee.min,this._priorityFee.max)),this._debug&&M(o);for(let m=0;m<this._maxResubmits;m++)try{if(p.isVersionedTransaction(o)){if(h&&m===0){const y=g.TransactionMessage.decompile(o.message);y.instructions.push(...h),o.message=y.compileToV0Message()}o.message.recentBlockhash=e,o.sign([this._keypair,...l??[]])}else h&&m===0&&o.add(...h),o.recentBlockhash=e,o.lastValidBlockHeight=n,o.partialSign(this._keypair,...l??[]);this._debug&&console.log("Submitting transactions ");const{signature:_}=await p.SolanaPlatform.sendTxWithRetry(this._rpc,o.serialize(),this._sendOpts);r.push(_);break}catch(_){if(m===this._maxResubmits-1||!this.retryable(_))throw _;this._debug&&console.log(`Failed to send transaction on attempt ${m}, retrying: `,_);const{blockhash:y,lastValidBlockHeight:k}=await p.SolanaPlatform.latestBlock(this._rpc);n=k,e=y}}this._debug&&console.log("Waiting for confirmation for: ",r);const a=(await Promise.all(r.map(async c=>{try{return await this._rpc.confirmTransaction({signature:c,blockhash:e,lastValidBlockHeight:n},this._rpc.commitment)}catch(d){throw console.error("Failed to confirm transaction: ",d),d}}))).filter(c=>c.value.err).map(c=>c.value.err);if(a.length>0)throw new Error(`Failed to confirm transaction: ${a}`);return r}}function M(i){if(p.isVersionedTransaction(i)){console.log(i.signatures);const t=i.message,e=t.getAccountKeys();t.compiledInstructions.forEach(n=>{console.log("Program",e.get(n.programIdIndex).toBase58()),console.log("Data: ",g.hex.encode(n.data)),console.log("Keys: ",n.accountKeyIndexes.map(r=>[r,e.get(r).toBase58()]))})}else console.log(i.signatures),console.log(i.feePayer),i.instructions.forEach(t=>{console.log("Program",t.programId.toBase58()),console.log("Data: ",t.data.toString("hex")),console.log("Keys: ",t.keys.map(e=>[e,e.pubkey.toBase58()]))})}async function L(i,t,e=F,n=b,r=E,s=T){const[a,u]=await Promise.all([U(i,t),S(i,t,e,n,r,s)]);return[g.ComputeBudgetProgram.setComputeUnitLimit({units:a}),g.ComputeBudgetProgram.setComputeUnitPrice({microLamports:u})]}async function U(i,t){var n;let e=x;try{const r=await(p.isVersionedTransaction(t),i.simulateTransaction(t));r.value.err&&console.error(`Error simulating Solana transaction: ${r.value.err}`),(n=r==null?void 0:r.value)!=null&&n.unitsConsumed&&(e=Math.round(r.value.unitsConsumed*1.2))}catch(r){console.error(`Failed to calculate compute unit limit for Solana transaction: ${r}`)}return e}async function P(i,t){if(p.isVersionedTransaction(t)){const e=(await Promise.all(t.message.addressTableLookups.map(s=>i.getAddressLookupTable(s.accountKey)))).map(s=>s.value).filter(s=>s!==null),n=t.message,r=n.getAccountKeys({addressLookupTableAccounts:e??void 0});return n.compiledInstructions.flatMap(s=>s.accountKeyIndexes).map(s=>n.isAccountWritable(s)?r.get(s):null).filter(Boolean)}else return t.instructions.flatMap(e=>e.keys).map(e=>e.isWritable?e.pubkey:null).filter(Boolean)}async function S(i,t,e=F,n=b,r=E,s=T){let a=r;const u=await P(i,t);try{const c=await i.getRecentPrioritizationFees({lockedWritableAccounts:u});if(c){const d=c.map(l=>l.prioritizationFee).sort((l,h)=>l-h),o=Math.ceil(d.length*e);if(d.length>o){let l=d[o];n>0&&(l*=n),a=Math.max(a,l)}}}catch(c){console.error("Error fetching Solana recent fees",c)}return Math.min(Math.max(a,r),s)}async function O(i,t,e=F,n=b,r=E,s=T){const a=e*1e4;if(a<1||a>1e4)throw new Error("percentile must be between 0.0001 and 1");const u=i._rpcRequest,d=[await P(i,t),{percentile:a}],o=await u("getRecentPrioritizationFees",d);if(o.error)throw new Error(o.error);const l=o.result.map(m=>m.prioritizationFee);if(l.length===0)return r;const h=Math.floor(g.median(l)*(n>0?n:1));return g.bound(h,r,s)}exports.determinePriorityFee=S;exports.determinePriorityFeeTritonOne=O;exports.getSolanaSignAndSendSigner=R;
@@ -1,18 +0,0 @@
1
- import { b as i, a as r } from "./unsignedTransaction-DwcUilyN.mjs";
2
- import { g as n } from "./signer-N_ccpPOz.mjs";
3
- import { aN as t, bO as s, aP as m } from "./address-B-XN4tFw.mjs";
4
- const d = {
5
- Address: t,
6
- Platform: r,
7
- getSigner: n,
8
- protocols: {
9
- WormholeCore: () => import("./index-BzJcFdt_.mjs").then((o) => o.p),
10
- TokenBridge: () => import("./index-DzYjoSJp.mjs"),
11
- CircleBridge: () => import("./index-MOwE6ses.mjs"),
12
- TBTCBridge: () => import("./index-CJnRWlFf.mjs")
13
- },
14
- getChain: (o, a, e) => new i(a, new r(o, s(o, m, { [a]: e })))
15
- };
16
- export {
17
- d as default
18
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./unsignedTransaction-dN_5EJf5.js"),s=require("./signer-CCa6npZ3.js"),o=require("./address-BGujeWtN.js"),a={Address:o.SolanaAddress,Platform:r.SolanaPlatform,getSigner:s.getSolanaSignAndSendSigner,protocols:{WormholeCore:()=>Promise.resolve().then(()=>require("./index-DprM_IpB.js")).then(e=>e.index),TokenBridge:()=>Promise.resolve().then(()=>require("./index-DRv3ZpVL.js")),CircleBridge:()=>Promise.resolve().then(()=>require("./index-JrM783SN.js")),TBTCBridge:()=>Promise.resolve().then(()=>require("./index-BHfUgvSV.js"))},getChain:(e,n,i)=>new r.SolanaChain(n,new r.SolanaPlatform(e,o.applyChainsConfigConfigOverrides(e,o._platform$1,{[n]:i})))};exports.default=a;