@wormhole-foundation/wormhole-connect 4.1.0-beta.1-development → 5.0.0

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 (352) hide show
  1. package/dist/assets/{aptos-C9pj8h2Q.js → aptos-DgUCX7ng.js} +3 -3
  2. package/dist/assets/{evm-DCydYqBI.js → evm-B6bqAPTR.js} +4 -4
  3. package/dist/assets/{evm-CJXv6IQV.js → evm-Ve5nG8Fs.js} +1 -1
  4. package/dist/assets/{index-LvDsy6wR.js → index-BJokXZAc.js} +1 -1
  5. package/dist/assets/{index-BqxX-Ey7.js → index-BJv9sngo.js} +1 -1
  6. package/dist/assets/{index-C9cy4cDs.js → index-BjZMFLjq.js} +1 -1
  7. package/dist/assets/{index-FJ-n91Op.js → index-BwbPlAQZ.js} +1 -1
  8. package/dist/assets/{index-Clu5I99l.js → index-Bzg4DNh9.js} +1 -1
  9. package/dist/assets/{index-ezhfpCvx.js → index-CKXa657f.js} +1 -1
  10. package/dist/assets/index-CXiuP738.js +1 -0
  11. package/dist/assets/{index-CNExx9Zb.js → index-CvTvoHH-.js} +1 -1
  12. package/dist/assets/{index-C25bHdOM.js → index-D1ULRVbZ.js} +1 -1
  13. package/dist/assets/{index-DpabQJOX.js → index-DlH9IMQl.js} +1 -1
  14. package/dist/assets/{index-C8u74RER.js → index-Dsb-5apv.js} +1 -1
  15. package/dist/assets/{index-D9ApKauA.js → index-_YFUWLUM.js} +1 -1
  16. package/dist/assets/{index-CoIvdDsX.js → index-jg26xdEi.js} +1 -1
  17. package/dist/assets/{provider-jsonrpc-DuMpLBV0.js → provider-jsonrpc-DNgUKjG6.js} +1 -1
  18. package/dist/assets/{solana-DWuIx6gK.js → solana-D4RepnSA.js} +2 -2
  19. package/dist/assets/{sui-BcTGBE_4.js → sui-Du5h-f8S.js} +3 -3
  20. package/dist/main.mjs +185 -140
  21. package/dist/src/components/ConfigurablePageHeader.d.ts +1 -1
  22. package/dist/src/components/ConfigurablePageHeader.d.ts.map +1 -1
  23. package/dist/src/components/Header.d.ts +1 -0
  24. package/dist/src/components/Header.d.ts.map +1 -1
  25. package/dist/src/components/PageHeader.d.ts +1 -3
  26. package/dist/src/components/PageHeader.d.ts.map +1 -1
  27. package/dist/src/components/SampleApp/index.d.ts.map +1 -1
  28. package/dist/src/components/v3/BackButton.d.ts +6 -0
  29. package/dist/src/components/v3/BackButton.d.ts.map +1 -0
  30. package/dist/src/components/v3/FormContent.d.ts +5 -0
  31. package/dist/src/components/v3/FormContent.d.ts.map +1 -0
  32. package/dist/src/config/constants.d.ts.map +1 -1
  33. package/dist/src/config/events.d.ts +2 -1
  34. package/dist/src/config/events.d.ts.map +1 -1
  35. package/dist/src/config/mainnet/chains.d.ts.map +1 -1
  36. package/dist/src/config/mainnet/rpcs.d.ts.map +1 -1
  37. package/dist/src/config/mainnet/tokens.d.ts.map +1 -1
  38. package/dist/src/config/mainnet/wrappedTokens.d.ts +6 -0
  39. package/dist/src/config/mainnet/wrappedTokens.d.ts.map +1 -1
  40. package/dist/src/config/types.d.ts +6 -11
  41. package/dist/src/config/types.d.ts.map +1 -1
  42. package/dist/src/config/ui.d.ts +9 -0
  43. package/dist/src/config/ui.d.ts.map +1 -1
  44. package/dist/src/consts/wallet.d.ts.map +1 -1
  45. package/dist/src/hooks/useAutoEnableGasDropoff.d.ts +3 -1
  46. package/dist/src/hooks/useAutoEnableGasDropoff.d.ts.map +1 -1
  47. package/dist/src/hooks/useConnectToLastUsedWallet.d.ts.map +1 -1
  48. package/dist/src/hooks/useSortedRoutesWithQuotes.d.ts.map +1 -1
  49. package/dist/src/hooks/useTransactionHistory.d.ts.map +1 -1
  50. package/dist/src/hooks/useTransactionHistoryLiFi.d.ts +2 -0
  51. package/dist/src/hooks/useTransactionHistoryLiFi.d.ts.map +1 -1
  52. package/dist/src/hooks/useTransactionHistoryMayan.d.ts +2 -0
  53. package/dist/src/hooks/useTransactionHistoryMayan.d.ts.map +1 -1
  54. package/dist/src/hooks/useTransactionHistoryWHScan.d.ts +2 -1
  55. package/dist/src/hooks/useTransactionHistoryWHScan.d.ts.map +1 -1
  56. package/dist/src/icons/PoweredBy.d.ts.map +1 -1
  57. package/dist/src/icons/TokenIcons.d.ts.map +1 -1
  58. package/dist/src/icons/Tokens/AUSD.d.ts +4 -0
  59. package/dist/src/icons/Tokens/AUSD.d.ts.map +1 -0
  60. package/dist/src/routes/lifi/LiFiRoute.d.ts.map +1 -1
  61. package/dist/src/routes/mayan/utils.d.ts.map +1 -1
  62. package/dist/src/routes/monad/consts.d.ts +1 -0
  63. package/dist/src/routes/monad/consts.d.ts.map +1 -1
  64. package/dist/src/routes/monad/monad.test.d.ts +1 -0
  65. package/dist/src/routes/monad/monad.test.d.ts.map +1 -0
  66. package/dist/src/routes/monad/utils.d.ts.map +1 -1
  67. package/dist/src/sdklegacy/config/MAINNET.d.ts.map +1 -1
  68. package/dist/src/telemetry/types.d.ts +5 -2
  69. package/dist/src/telemetry/types.d.ts.map +1 -1
  70. package/dist/src/theme.d.ts +4 -3
  71. package/dist/src/theme.d.ts.map +1 -1
  72. package/dist/src/utils/errors.d.ts +1 -0
  73. package/dist/src/utils/errors.d.ts.map +1 -1
  74. package/dist/src/utils/fees.d.ts.map +1 -1
  75. package/dist/src/utils/index.d.ts.map +1 -1
  76. package/dist/src/utils/sdkv2.d.ts.map +1 -1
  77. package/dist/src/utils/wallet/index.d.ts +1 -0
  78. package/dist/src/utils/wallet/index.d.ts.map +1 -1
  79. package/dist/src/views/Terms.d.ts.map +1 -1
  80. package/dist/src/views/TxSearch.d.ts.map +1 -1
  81. package/dist/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts.map +1 -1
  82. package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts +17 -0
  83. package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts.map +1 -0
  84. package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts +8 -0
  85. package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts.map +1 -0
  86. package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts +2 -0
  87. package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts.map +1 -0
  88. package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts +2 -0
  89. package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts.map +1 -0
  90. package/dist/src/views/v3/Bridge/AssetPicker/index.d.ts.map +1 -1
  91. package/dist/src/views/v3/Bridge/GasSlider/index.d.ts.map +1 -1
  92. package/dist/src/views/v3/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  93. package/dist/src/views/v3/Bridge/Routes/index.d.ts +2 -1
  94. package/dist/src/views/v3/Bridge/Routes/index.d.ts.map +1 -1
  95. package/dist/src/views/v3/Bridge/WalletConnector/Controller.d.ts.map +1 -1
  96. package/dist/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts.map +1 -1
  97. package/dist/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts +9 -0
  98. package/dist/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts.map +1 -0
  99. package/dist/src/views/v3/Bridge/WalletConnector/WalletPickerContent.d.ts.map +1 -1
  100. package/dist/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts +2 -0
  101. package/dist/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts.map +1 -0
  102. package/dist/src/views/v3/Bridge/index.d.ts.map +1 -1
  103. package/dist/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -1
  104. package/dist/src/views/v3/Redeem/index.d.ts.map +1 -1
  105. package/dist/src/views/v3/TxHistory/Item/index.d.ts.map +1 -1
  106. package/dist/src/views/v3/TxHistory/Widget/Item.d.ts.map +1 -1
  107. package/lib/{account-cIQhxn1E.js → account-K005OXgL.js} +1 -1
  108. package/lib/{account-BVl6Reot.mjs → account-TXlxMyv4.mjs} +2 -2
  109. package/lib/{address-rVHWlcKQ.mjs → address-CX0E32ut.mjs} +1 -1
  110. package/lib/{address-W9jn6Qdk.js → address-DqbIfKOu.js} +1 -1
  111. package/lib/{aptos-DWDR5o78.js → aptos-BnjZOhUE.js} +1 -1
  112. package/lib/{aptos-CNHYHK9c.js → aptos-CnswqE-C.js} +2 -2
  113. package/lib/{aptos-D1WFzBMy.mjs → aptos-DRfXJ8Ba.mjs} +7 -7
  114. package/lib/{aptos-B84P9rJZ.mjs → aptos-fTiHvXXE.mjs} +5 -5
  115. package/lib/{associatedTokenAccount-C4vEEbG5.js → associatedTokenAccount-CeqdaO2m.js} +1 -1
  116. package/lib/{associatedTokenAccount-DF6phO3l.mjs → associatedTokenAccount-Dsm4Hq32.mjs} +3 -3
  117. package/lib/{basic-BERCwt2M.mjs → basic-BqusrmRE.mjs} +3 -3
  118. package/lib/{basic-NhXxxbR1.js → basic-BrW22Cj9.js} +1 -1
  119. package/lib/{basic-CukRIaOD.mjs → basic-CK5Bsf0B.mjs} +3 -3
  120. package/lib/{basic-DJXXfABO.js → basic-ChOmeQQk.js} +1 -1
  121. package/lib/{chunk-KJH4KKG6-Brt4fyqz.mjs → chunk-KJH4KKG6-BfVMUPsB.mjs} +3 -3
  122. package/lib/{chunk-KJH4KKG6-BbF5W1_N.js → chunk-KJH4KKG6-CJx-rDa6.js} +1 -1
  123. package/lib/constants-C1w_RyOP.js +1 -0
  124. package/lib/{constants-VaoVbllu.mjs → constants-DcDpDarO.mjs} +6 -5
  125. package/lib/{core-BCZrVb_s.mjs → core-DQ-6Q1F1.mjs} +6 -6
  126. package/lib/{core-BE6SS7Ye.js → core-FA2gBc-s.js} +3 -3
  127. package/lib/{create-CChLkbGc.mjs → create-C5dhTMHL.mjs} +1 -1
  128. package/lib/{create-4w0DrcRO.js → create-bA3Gyivs.js} +1 -1
  129. package/lib/{evm-CmmnpcFD.mjs → evm-BJ4Lx-r9.mjs} +5 -5
  130. package/lib/{evm--K7mr7Kr.js → evm-BTgO_HRP.js} +2 -2
  131. package/lib/{evm-DKaWm7eC.mjs → evm-C-vXMfGr.mjs} +7 -7
  132. package/lib/{evm-C5BixKBn.js → evm-qxndAh3z.js} +1 -1
  133. package/lib/executor.js +1 -1
  134. package/lib/executor.mjs +13 -15
  135. package/lib/hosted.js +1 -1
  136. package/lib/hosted.mjs +1 -1
  137. package/lib/hypercore-D7kZiwbe.js +4 -0
  138. package/lib/{hypercore-birmbh9T.mjs → hypercore-DKqayfki.mjs} +4858 -3107
  139. package/lib/{index-qL4D-cpk.js → index-1T4sIL8n.js} +1 -1
  140. package/lib/{index-Ap7250Gf.mjs → index-39tU5Y5t.mjs} +6 -6
  141. package/lib/{index-BUbUhbMe.js → index-3Zg1AdoI.js} +1 -1
  142. package/lib/{index-D7gCsil9.js → index-6m7yero0.js} +1 -1
  143. package/lib/{index-CH0iw38J.mjs → index-B1URQBlH.mjs} +3 -3
  144. package/lib/{index-C5I7QiZ7.mjs → index-B6Ppg6EZ.mjs} +3 -3
  145. package/lib/{index-CED5jdrg.js → index-B7b8sctd.js} +1 -1
  146. package/lib/{index-xvG6cxNx.js → index-BEIFBxtP.js} +1 -1
  147. package/lib/{index-zIzzPp6D.mjs → index-BHpJUZne.mjs} +3 -3
  148. package/lib/{index-BTcij9Np.js → index-BJ0xVutl.js} +1 -1
  149. package/lib/{index-C61IKE_V.mjs → index-BSIPYyeZ.mjs} +2 -2
  150. package/lib/{index-EbSw7SbC.js → index-BTjUHY0e.js} +1 -1
  151. package/lib/{index-C8YhpD9T.mjs → index-BVciucyT.mjs} +4 -4
  152. package/lib/{index-BuHdMHLz.mjs → index-Ba1zbu3Q.mjs} +2 -2
  153. package/lib/{index-BU35GfG0.mjs → index-Bdtj4LUz.mjs} +2 -2
  154. package/lib/{index-Bs28m4ya.js → index-BfzaCmg7.js} +1 -1
  155. package/lib/{index-CN7M4gwf.mjs → index-BviSNDV7.mjs} +5 -5
  156. package/lib/{index-BRFbmsc_.js → index-C-F8_8dY.js} +1 -1
  157. package/lib/{index-Cys9e11O.js → index-C-SMuVS3.js} +1 -1
  158. package/lib/{index-pYTU7pQK.mjs → index-C6MalNd5.mjs} +4 -3
  159. package/lib/{index-Cg1Xo1eZ.js → index-C85u3Gj5.js} +1 -1
  160. package/lib/{index-Da9rvmCc.js → index-Cb0UWLGI.js} +1 -1
  161. package/lib/{index-HrZv1SyT.js → index-Cb_8WAm1.js} +8 -8
  162. package/lib/{index-DHnmtpvA.mjs → index-CcbY14s5.mjs} +4 -4
  163. package/lib/{index-CR1itkLl.mjs → index-CgqBQ88K.mjs} +3248 -3055
  164. package/lib/{index-Txz5xwr6.mjs → index-CowAVUcg.mjs} +1 -1
  165. package/lib/{index-BKgliEPZ.mjs → index-CrWTw0Se.mjs} +2 -2
  166. package/lib/{index-B_JJ50Y-.mjs → index-D-HUNEka.mjs} +4 -4
  167. package/lib/{index-BhMcIAHt.js → index-DJ2w1fz1.js} +1 -1
  168. package/lib/{index-BN_2mA2n.mjs → index-DcFL403C.mjs} +1 -1
  169. package/lib/{index-CO4ZoIAU.mjs → index-DjmVBSGQ.mjs} +4 -4
  170. package/lib/{index-Co3mm7UN.mjs → index-DrJE8udd.mjs} +1 -1
  171. package/lib/{index-fTUcaKb4.js → index-DuhYwr0t.js} +1 -1
  172. package/lib/{index-BQ0lWQfT.mjs → index-DwEx1Hn-.mjs} +2 -2
  173. package/lib/{index-DBofyYkS.js → index-DziujHu1.js} +1 -1
  174. package/lib/{index-Dou5sFku.js → index-JWbF-m3e.js} +1 -1
  175. package/lib/index-Oxm0y6-t.js +1 -0
  176. package/lib/{index-D1odbjeH.mjs → index-VnJcNK62.mjs} +3 -3
  177. package/lib/{index-DVxmRy4C.js → index-WrXSs0ic.js} +1 -1
  178. package/lib/{index-Cw0jWBks.js → index-XjDX4fWv.js} +1 -1
  179. package/lib/{index-CsdD1TNi.js → index-aMKUba1k.js} +1 -1
  180. package/lib/{index-DSnylejH.mjs → index-dufPAW5T.mjs} +292 -269
  181. package/lib/{index-lZY5fTXF.js → index-lAqXlt-a.js} +1 -1
  182. package/lib/{index-N4FkpEh9.mjs → index-mNO1mk2F.mjs} +4 -4
  183. package/lib/{index-BScgBddV.mjs → index-o1SAPXm_.mjs} +3 -3
  184. package/lib/{index-DNZ-Pkpm.mjs → index-rxQSA9t0.mjs} +6 -6
  185. package/lib/{index-DALvn9lg.js → index-v7w8krM0.js} +1 -1
  186. package/lib/{index-japympio.js → index-wadjmD_G.js} +1 -1
  187. package/lib/{index.es-DmmqAOLD.js → index.es-B9kBDkCQ.js} +3 -3
  188. package/lib/{index.es-Dg6IFrL4.js → index.es-BZRO-bNH.js} +1 -1
  189. package/lib/{index.es-B0fk_42a.mjs → index.es-CF3YY88z.mjs} +4 -4
  190. package/lib/{index.es-CDqFguL5.mjs → index.es-CaAL5X4E.mjs} +4 -4
  191. package/lib/index.js +78 -33
  192. package/lib/index.mjs +9158 -8833
  193. package/lib/{keypair-DWucLGoA.js → keypair-DCgXFOw5.js} +1 -1
  194. package/lib/{keypair-CP7syX9B.mjs → keypair-vpG2fl-q.mjs} +3 -3
  195. package/lib/lifi.js +1 -1
  196. package/lib/lifi.mjs +75 -76
  197. package/lib/mayan.js +2 -2
  198. package/lib/mayan.mjs +11 -10
  199. package/lib/{mint-CoNdQTGM.mjs → mint-BPrKG-Zc.mjs} +3 -3
  200. package/lib/{mint-CxQ6P5lT.js → mint-DW-XgF68.js} +1 -1
  201. package/lib/monad.js +1 -1
  202. package/lib/monad.mjs +91 -58
  203. package/lib/multiToken-B9BoSxdr.js +1 -0
  204. package/lib/{multiToken-Bm-K5dRJ.mjs → multiToken-DMllgxzT.mjs} +4 -3
  205. package/lib/ntt.js +2 -2
  206. package/lib/ntt.mjs +77 -86
  207. package/lib/{platform-Cil_UtAQ.mjs → platform-CSpAb386.mjs} +2788 -2748
  208. package/lib/{platform-BMKYxqvv.js → platform-Csj1Outc.js} +1 -1
  209. package/lib/platform-DCcL7jHP.js +11 -0
  210. package/lib/{platform-vRQufc6j.mjs → platform-YzJZdSCf.mjs} +3 -3
  211. package/lib/{secp256k1-LTcmQEQ5.mjs → secp256k1-1o6o1kFy.mjs} +1 -1
  212. package/lib/{secp256k1-DzRCmd6a.mjs → secp256k1-BjlnTj1_.mjs} +1 -1
  213. package/lib/{secp256k1-CglUNI04.js → secp256k1-CeYT4ndf.js} +1 -1
  214. package/lib/{secp256k1-DROP2Lhv.mjs → secp256k1-Cw_BiEuN.mjs} +1 -1
  215. package/lib/{secp256k1-BkoM1Jum.js → secp256k1-D5cKS6q_.js} +1 -1
  216. package/lib/{secp256k1-CcVQkYNr.js → secp256k1-_QlJc7sK.js} +1 -1
  217. package/lib/{signer-0hWrZ5BZ.mjs → signer-D2GRgRrw.mjs} +2 -2
  218. package/lib/{signer-DyqulDUM.js → signer-gjSiV5v3.js} +1 -1
  219. package/lib/solana-DfW5T_64.mjs +18 -0
  220. package/lib/{solana-C4k_Yg7w.js → solana-DvHFhri3.js} +4 -4
  221. package/lib/solana-Edd9tIkX.js +1 -0
  222. package/lib/{solana-D1LVIhGd.mjs → solana-TgPr9kpk.mjs} +10 -10
  223. package/lib/{solanaEmbed.esm-AvWQUA9e.mjs → solanaEmbed.esm-Bh1-aAL4.mjs} +4 -4
  224. package/lib/{solanaEmbed.esm--Ac-IlRA.js → solanaEmbed.esm-C8TjRcIV.js} +1 -1
  225. package/lib/{solidity-CbDkqHjE.js → solidity-BW7c8rFv.js} +1 -1
  226. package/lib/{solidity-Dk_mvceo.mjs → solidity-D9gSgFcp.mjs} +1 -1
  227. package/lib/src/components/ConfigurablePageHeader.d.ts +1 -1
  228. package/lib/src/components/ConfigurablePageHeader.d.ts.map +1 -1
  229. package/lib/src/components/Header.d.ts +1 -0
  230. package/lib/src/components/Header.d.ts.map +1 -1
  231. package/lib/src/components/PageHeader.d.ts +1 -3
  232. package/lib/src/components/PageHeader.d.ts.map +1 -1
  233. package/lib/src/components/SampleApp/index.d.ts.map +1 -1
  234. package/lib/src/components/v3/BackButton.d.ts +6 -0
  235. package/lib/src/components/v3/BackButton.d.ts.map +1 -0
  236. package/lib/src/components/v3/FormContent.d.ts +5 -0
  237. package/lib/src/components/v3/FormContent.d.ts.map +1 -0
  238. package/lib/src/config/constants.d.ts.map +1 -1
  239. package/lib/src/config/events.d.ts +2 -1
  240. package/lib/src/config/events.d.ts.map +1 -1
  241. package/lib/src/config/mainnet/chains.d.ts.map +1 -1
  242. package/lib/src/config/mainnet/rpcs.d.ts.map +1 -1
  243. package/lib/src/config/mainnet/tokens.d.ts.map +1 -1
  244. package/lib/src/config/mainnet/wrappedTokens.d.ts +6 -0
  245. package/lib/src/config/mainnet/wrappedTokens.d.ts.map +1 -1
  246. package/lib/src/config/types.d.ts +6 -11
  247. package/lib/src/config/types.d.ts.map +1 -1
  248. package/lib/src/config/ui.d.ts +9 -0
  249. package/lib/src/config/ui.d.ts.map +1 -1
  250. package/lib/src/consts/wallet.d.ts.map +1 -1
  251. package/lib/src/hooks/useAutoEnableGasDropoff.d.ts +3 -1
  252. package/lib/src/hooks/useAutoEnableGasDropoff.d.ts.map +1 -1
  253. package/lib/src/hooks/useConnectToLastUsedWallet.d.ts.map +1 -1
  254. package/lib/src/hooks/useSortedRoutesWithQuotes.d.ts.map +1 -1
  255. package/lib/src/hooks/useTransactionHistory.d.ts.map +1 -1
  256. package/lib/src/hooks/useTransactionHistoryLiFi.d.ts +2 -0
  257. package/lib/src/hooks/useTransactionHistoryLiFi.d.ts.map +1 -1
  258. package/lib/src/hooks/useTransactionHistoryMayan.d.ts +2 -0
  259. package/lib/src/hooks/useTransactionHistoryMayan.d.ts.map +1 -1
  260. package/lib/src/hooks/useTransactionHistoryWHScan.d.ts +2 -1
  261. package/lib/src/hooks/useTransactionHistoryWHScan.d.ts.map +1 -1
  262. package/lib/src/icons/PoweredBy.d.ts.map +1 -1
  263. package/lib/src/icons/TokenIcons.d.ts.map +1 -1
  264. package/lib/src/icons/Tokens/AUSD.d.ts +4 -0
  265. package/lib/src/icons/Tokens/AUSD.d.ts.map +1 -0
  266. package/lib/src/routes/lifi/LiFiRoute.d.ts.map +1 -1
  267. package/lib/src/routes/mayan/utils.d.ts.map +1 -1
  268. package/lib/src/routes/monad/consts.d.ts +1 -0
  269. package/lib/src/routes/monad/consts.d.ts.map +1 -1
  270. package/lib/src/routes/monad/monad.test.d.ts +1 -0
  271. package/lib/src/routes/monad/monad.test.d.ts.map +1 -0
  272. package/lib/src/routes/monad/utils.d.ts.map +1 -1
  273. package/lib/src/sdklegacy/config/MAINNET.d.ts.map +1 -1
  274. package/lib/src/telemetry/types.d.ts +5 -2
  275. package/lib/src/telemetry/types.d.ts.map +1 -1
  276. package/lib/src/theme.d.ts +4 -3
  277. package/lib/src/theme.d.ts.map +1 -1
  278. package/lib/src/utils/errors.d.ts +1 -0
  279. package/lib/src/utils/errors.d.ts.map +1 -1
  280. package/lib/src/utils/fees.d.ts.map +1 -1
  281. package/lib/src/utils/index.d.ts.map +1 -1
  282. package/lib/src/utils/sdkv2.d.ts.map +1 -1
  283. package/lib/src/utils/wallet/index.d.ts +1 -0
  284. package/lib/src/utils/wallet/index.d.ts.map +1 -1
  285. package/lib/src/views/Terms.d.ts.map +1 -1
  286. package/lib/src/views/TxSearch.d.ts.map +1 -1
  287. package/lib/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts.map +1 -1
  288. package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts +17 -0
  289. package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts.map +1 -0
  290. package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts +8 -0
  291. package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts.map +1 -0
  292. package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts +2 -0
  293. package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts.map +1 -0
  294. package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts +2 -0
  295. package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts.map +1 -0
  296. package/lib/src/views/v3/Bridge/AssetPicker/index.d.ts.map +1 -1
  297. package/lib/src/views/v3/Bridge/GasSlider/index.d.ts.map +1 -1
  298. package/lib/src/views/v3/Bridge/Routes/SingleRoute.d.ts.map +1 -1
  299. package/lib/src/views/v3/Bridge/Routes/index.d.ts +2 -1
  300. package/lib/src/views/v3/Bridge/Routes/index.d.ts.map +1 -1
  301. package/lib/src/views/v3/Bridge/WalletConnector/Controller.d.ts.map +1 -1
  302. package/lib/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts.map +1 -1
  303. package/lib/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts +9 -0
  304. package/lib/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts.map +1 -0
  305. package/lib/src/views/v3/Bridge/WalletConnector/WalletPickerContent.d.ts.map +1 -1
  306. package/lib/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts +2 -0
  307. package/lib/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts.map +1 -0
  308. package/lib/src/views/v3/Bridge/index.d.ts.map +1 -1
  309. package/lib/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -1
  310. package/lib/src/views/v3/Redeem/index.d.ts.map +1 -1
  311. package/lib/src/views/v3/TxHistory/Item/index.d.ts.map +1 -1
  312. package/lib/src/views/v3/TxHistory/Widget/Item.d.ts.map +1 -1
  313. package/lib/{sui-LiXjD27c.js → sui-BtyZE8YC.js} +1 -1
  314. package/lib/{sui-BPAb7kcs.mjs → sui-CoWRa3vr.mjs} +4 -4
  315. package/lib/{sui-CgmDTkXK.js → sui-DwFrGd2Y.js} +1 -1
  316. package/lib/{sui-cpCvd7RC.mjs → sui-QP4AZGNc.mjs} +6 -6
  317. package/lib/{tokenHelpers-CbE0g9BP.js → tokenHelpers-CeTyb4rG.js} +1 -1
  318. package/lib/{tokenHelpers-DvWQs1tu.mjs → tokenHelpers-VYjmKUxj.mjs} +1 -1
  319. package/lib/{tokens-BJDttoCp.mjs → tokens-D6uJqrsR.mjs} +3 -3
  320. package/lib/{tokens-CvZuVW-g.js → tokens-mXZqt-qL.js} +1 -1
  321. package/lib/types-CgveSjsw.js +1 -0
  322. package/lib/{types-iFgwQ7vG.mjs → types-Dxx2g1wS.mjs} +170 -168
  323. package/lib/{unsignedTransaction-DCDxTFq8.mjs → unsignedTransaction-D2Ja0SuN.mjs} +2 -2
  324. package/lib/{unsignedTransaction-DA4tlY5u.js → unsignedTransaction-qRBv5Cnd.js} +2 -2
  325. package/lib/{utils-DMf7wRGI.js → utils-BEljbqMf.js} +1 -1
  326. package/lib/{utils-BSxsyW2c.mjs → utils-mBHX3Jpu.mjs} +4 -4
  327. package/lib/{w3m-modal-DM5Pf8SH.mjs → w3m-modal-BEe8ji9_.mjs} +2 -2
  328. package/lib/{w3m-modal-CtQ0TPA4.mjs → w3m-modal-D3eqrCT1.mjs} +2 -2
  329. package/lib/{w3m-modal-k23UDiov.js → w3m-modal-Duc13ei7.js} +1 -1
  330. package/lib/{w3m-modal-ByamyZny.js → w3m-modal-f_sUVzPx.js} +1 -1
  331. package/lib/{wallet-CMTEE6Oa.mjs → wallet-Cyosy4Hc.mjs} +1 -1
  332. package/lib/{wallet-BMli0fbu.js → wallet-a0_jwP8j.js} +1 -1
  333. package/lib/{web3-CUwFm9Lx.mjs → web3-CdErAVj5.mjs} +2 -2
  334. package/lib/{web3-DdUeM7iQ.js → web3-x1WCGDiy.js} +1 -1
  335. package/package.json +49 -47
  336. package/dist/assets/index-_UMHESh0.js +0 -1
  337. package/dist/src/components/Button.d.ts +0 -13
  338. package/dist/src/components/Button.d.ts.map +0 -1
  339. package/dist/src/icons/Down.d.ts +0 -5
  340. package/dist/src/icons/Down.d.ts.map +0 -1
  341. package/lib/constants-B9TBfA4z.js +0 -1
  342. package/lib/hypercore-4R7JGmbr.js +0 -4
  343. package/lib/index-C8eqQ_7p.js +0 -1
  344. package/lib/multiToken-YoNvxjur.js +0 -1
  345. package/lib/platform-CCG_jgOO.js +0 -11
  346. package/lib/solana-DKFJvqX8.mjs +0 -18
  347. package/lib/solana-Dmje_Si8.js +0 -1
  348. package/lib/src/components/Button.d.ts +0 -13
  349. package/lib/src/components/Button.d.ts.map +0 -1
  350. package/lib/src/icons/Down.d.ts +0 -5
  351. package/lib/src/icons/Down.d.ts.map +0 -1
  352. package/lib/types-CjNs2oB0.js +0 -1
@@ -0,0 +1,11 @@
1
+ "use strict";function Zm(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Fu={exports:{}},Le=Fu.exports={},Kt,Qt;function Oo(){throw new Error("setTimeout has not been defined")}function Mo(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?Kt=setTimeout:Kt=Oo}catch{Kt=Oo}try{typeof clearTimeout=="function"?Qt=clearTimeout:Qt=Mo}catch{Qt=Mo}})();function Su(t){if(Kt===setTimeout)return setTimeout(t,0);if((Kt===Oo||!Kt)&&setTimeout)return Kt=setTimeout,setTimeout(t,0);try{return Kt(t,0)}catch{try{return Kt.call(null,t,0)}catch{return Kt.call(this,t,0)}}}function eb(t){if(Qt===clearTimeout)return clearTimeout(t);if((Qt===Mo||!Qt)&&clearTimeout)return Qt=clearTimeout,clearTimeout(t);try{return Qt(t)}catch{try{return Qt.call(null,t)}catch{return Qt.call(this,t)}}}var fn=[],Lr=!1,Qn,Ii=-1;function tb(){!Lr||!Qn||(Lr=!1,Qn.length?fn=Qn.concat(fn):Ii=-1,fn.length&&Tu())}function Tu(){if(!Lr){var t=Su(tb);Lr=!0;for(var e=fn.length;e;){for(Qn=fn,fn=[];++Ii<e;)Qn&&Qn[Ii].run();Ii=-1,e=fn.length}Qn=null,Lr=!1,eb(t)}}Le.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];fn.push(new vu(t,e)),fn.length===1&&!Lr&&Su(Tu)};function vu(t,e){this.fun=t,this.array=e}vu.prototype.run=function(){this.fun.apply(null,this.array)};Le.title="browser";Le.browser=!0;Le.env={};Le.argv=[];Le.version="";Le.versions={};function wn(){}Le.on=wn;Le.addListener=wn;Le.once=wn;Le.off=wn;Le.removeListener=wn;Le.removeAllListeners=wn;Le.emit=wn;Le.prependListener=wn;Le.prependOnceListener=wn;Le.listeners=function(t){return[]};Le.binding=function(t){throw new Error("process.binding is not supported")};Le.cwd=function(){return"/"};Le.chdir=function(t){throw new Error("process.chdir is not supported")};Le.umask=function(){return 0};var nb=Fu.exports;const vs=Zm(nb),Ji=t=>[...Array(t).keys()],Iu=(t,e)=>t.map(n=>n[e]),$n=t=>Ji(t[0].length).map(e=>Ji(t.length).map(n=>t[n][e])),rb=(t,e,n)=>{const r=new Set(Array.isArray(e)?e:[e]);return t.filter((s,i)=>r.has(i)!==n)};function sb(t,e=!1){if(t.length===0)throw new Error("Can't calculate median of empty array");const n=e?t:[...t].sort((a,o)=>a>o?1:a<o?-1:0),r=Math.floor(n.length/2);if(n.length%2===1)return n[r];const s=n[r-1],i=n[r];if(typeof s=="bigint"&&typeof i=="bigint")return(s+i)/2n;if(typeof s=="number"&&typeof i=="number")return(s+i)/2;throw new Error("Can't calculate median of array with mixed number and bigint")}function ib(t){return["string","number","symbol","bigint","boolean"].includes(typeof t)}const ed=t=>t.length===2&&!Array.isArray(t[0])&&Array.isArray(t[1]),Xi=t=>t.length===0?[]:Array.isArray(t[0])?t.map(([e,n])=>Array.isArray(n)?(ed(n)?Xi(n):n).map(r=>[e,r].flat()):[[e,n]]).flat():ed(t)?Xi(t[1]).map(e=>[t[0],e]):t,ab=(t,e)=>{const n=Xi(t);if(n.length===0)throw new Error("Invalid mapping: empty");const r=e===void 0?[Ji(n[0].length-1),[n[0].length-1]]:e.map(m=>typeof m=="number"?[m]:m);let s=[],i=!0;const a=(m,b)=>{const w=Array.from(new Set(m[0]).values()),E=new Map(w.map(p=>[p,[]]));for(const[p,x]of m[0].entries())E.get(x).push(p);if(m.length===1){const p=Object.fromEntries(w.map(x=>[x,E.get(x).map(A=>b[A].length===1?b[A][0]:b[A])]));if(i){for(const x of E.values())if(x.length>1)return i=!1,p;s.push(p)}return p}const y=$n(m.slice(1));return Object.fromEntries(w.map(p=>{const x=E.get(p),A=$n(x.map(T=>y[T])),S=x.map(T=>b[T]);return[p,a(A,S)]}))},o=$n(n),c=m=>{const b=o[m];if(b===void 0)throw new Error(`Invalid shape: column ${m} does not exist`);return b},[d,l]=r.map(m=>m.map(b=>c(b)));if(d.length===0)throw new Error("Invalid shape: empty key set");if(l.length===0)throw new Error("Invalid shape: empty value set");for(const m of d)for(const b of m)if(!ib(b))throw new Error(`Invalid key: ${b} in ${m}`);const f=a(d,$n(l));if(i)for(const m of s)for(const b of Object.keys(m))m[b]=m[b][0];return f};function ne(t,e){const n=r=>{const s=((...i)=>i.reduce((a,o)=>a?a[o.toString()]??void 0:void 0,r));return Object.assign(s,{has:(...i)=>s(...i)!==void 0,get:(...i)=>s(...i),subMap:i=>n(r[i.toString()])})};return n(ab(t,e))}function Oc(t){let e=null;return()=>(e||(e=t()),e)}function ob(t){try{return t(),!1}catch{return!0}}function cb(t,e,n){return t<e?e:t>n?n:t}var lb=["int","uint","bytes","array","switch"],ku="big",Aa=6,hr=t=>typeof t=="number"||typeof t=="bigint",ss=t=>t instanceof Uint8Array,db=t=>hr(t)||ss(t),Is=t=>lb.includes(t?.binary),ub=t=>Is(t)||Array.isArray(t)&&t.every(Is),fb=t=>typeof t?.from=="number",hb=t=>typeof t?.from=="bigint",mb=t=>fb(t)||hb(t),is=t=>ss(t?.from),bb=t=>mb(t)||is(t),Uu=(t,e)=>{if(t!==e)throw new Error(`size mismatch: layout size: ${t}, data size: ${e}`);return e},_r=t=>"layout"in t&&t.layout!==void 0,Lo=(t,e)=>"size"in t&&t.size!==void 0?Uu(t.size,e):e,Wo=(t,e)=>{if(t!=e)throw new Error(`value mismatch: (constant) layout value: ${t}, data value: ${e}`)},Ho=(t,e,n)=>{const r=(d,l)=>l===void 0?[0,d.length]:Array.isArray(l)?l:[l,d.length],[s,i]=r(t,n?.customSlice),[a,o]=r(e,n?.dataSlice),c=i-s;Uu(c,o-a);for(let d=0;d<t.length;++d)if(t[d+s]!==e[d+a])throw new Error(`binary data mismatch: layout value: ${t}, offset: ${s}, data value: ${e}, offset: ${a}`)};function Pu(t,e){const n=e[t.idTag??"id"];return t.layouts.find(([r])=>(Array.isArray(r)?r[1]:r)==n)}function Nu(t){return jn(t,St)}var St=Symbol("staticCalc");function pb(t,e){const n=[],r=jn(t,e,n);if(r===null)throw new Error(`coding error: couldn't calculate layout size for layout ${t} with data ${e}`);return[r,n]}function td(t,e,n){const r=s=>(n!==void 0&&n.push(s),s);switch(t.binary){case"int":case"uint":return t.size;case"bytes":{if("size"in t&&e===St)return t.size;const s="lengthSize"in t?t.lengthSize|0:0;if(_r(t)){const{custom:a}=t,o=jn(t.layout,a===void 0?e:typeof a.from=="function"?e!==St?r(a.from(e)):St:a.from,n);return o===null?"size"in t?t.size??null:null:s+Lo(t,o)}const{custom:i}=t;return ss(i)?s+i.length:is(i)?s+i.from.length:e===St?null:s+Lo(t,i!==void 0?r(i.from(e)).length:e.length)}case"array":{const s="length"in t?t.length:void 0;if(e===St){if(s!==void 0){const a=jn(t.layout,St,n);return a!==null?s*a:null}return null}let i=0;if(s!==void 0&&s!==e.length)throw new Error(`array length mismatch: layout length: ${s}, data length: ${e.length}`);"lengthSize"in t&&t.lengthSize!==void 0&&(i+=t.lengthSize);for(let a=0;a<e.length;++a){const o=jn(t.layout,e[a],n);if(o===null)return null;i+=o}return i}case"switch":{if(e!==St){const[i,a]=Pu(t,e),o=jn(a,e,n);return o!==null?t.idSize+o:null}let s=null;for(const[i,a]of t.layouts){const o=jn(a,St,n);if(s===null)s=o;else if(o!==s)return null}return t.idSize+s}}}function jn(t,e,n){if(Is(t))return td(t,e,n);let r=0;for(const s of t){let i;if(e===St)i=St;else if(!("omit"in s)||!s.omit){if(!(s.name in e))throw new Error(`missing data for layout item: ${s.name}`);i=e[s.name]}const a=td(s,i,n);if(a===null){if(e!==St)throw new Error(`coding error: couldn't calculate size for layout item: ${s.name}`);return null}r+=a}return r}var oo=(t,e)=>{t.bytes.set(e,t.offset),t.offset+=e.length},nd=t=>t.bytesConversions[t.position++];function Ot(t,e,n){const[r,s]=pb(t,e),i={bytes:new Uint8Array(r),offset:0};if(ki(t,e,i,{bytesConversions:s,position:0}),i.offset!==i.bytes.length)throw new Error(`encoded data is shorter than expected: ${i.bytes.length} > ${i.offset}`);return i.bytes}var rd=2**(Aa*8);function Jn(t,e,n,r=ku,s=!1){if(!s&&t<0)throw new Error(`Value ${t} is negative but unsigned`);if(typeof t=="number"){if(!Number.isInteger(t))throw new Error(`Value ${t} is not an integer`);if(e>Aa){if(t>=rd)throw new Error(`Value ${t} is too large to be safely converted into an integer`);if(s&&t<-rd)throw new Error(`Value ${t} is too small to be safely converted into an integer`)}}const i=2n**BigInt(e*8-(s?1:0));if(t>=i)throw new Error(`Value ${t} is too large for ${e} bytes`);if(s&&t<-i)throw new Error(`Value ${t} is too small for ${e} bytes`);for(let a=0;a<e;++a)n.bytes[n.offset+a]=Number(BigInt(t)>>BigInt(8*(r==="big"?e-a-1:a))&0xffn);n.offset+=e}function ki(t,e,n,r){if(Is(t))sd(t,e,n,r);else for(const s of t)try{sd(s,e[s.name],n,r)}catch(i){throw i.message=`when serializing item '${s.name}': ${i.message}`,i}}function sd(t,e,n,r){switch(t.binary){case"int":case"uint":{const s=hr(t.custom)?("omit"in t&&t.omit||Wo(t.custom,e),t.custom):hr(t?.custom?.from)?t.custom.from:t.custom!==void 0?t.custom.from(e):e;Jn(s,t.size,n,t.endianness,t.binary==="int");break}case"bytes":{const s=n.offset;if("lengthSize"in t&&t.lengthSize!==void 0&&(n.offset+=t.lengthSize),_r(t)){const{custom:i}=t;let a;i===void 0?a=e:typeof i.from!="function"?a=i.from:a=nd(r),ki(t.layout,a,n,r)}else{const{custom:i}=t;ss(i)?("omit"in t&&t.omit||Ho(i,e),oo(n,i)):is(i)?oo(n,i.from):oo(n,i!==void 0?nd(r):e)}if("lengthSize"in t&&t.lengthSize!==void 0){const i=n.offset-s-t.lengthSize,a=n.offset;n.offset=s,Jn(i,t.lengthSize,n,t.lengthEndianness),n.offset=a}else Lo(t,n.offset-s);break}case"array":{if("length"in t&&t.length!==e.length)throw new Error(`array length mismatch: layout length: ${t.length}, data length: ${e.length}`);"lengthSize"in t&&t.lengthSize!==void 0&&Jn(e.length,t.lengthSize,n,t.lengthEndianness);for(let s=0;s<e.length;++s)ki(t.layout,e[s],n,r);break}case"switch":{const[s,i]=Pu(t,e),a=Array.isArray(s)?s[0]:s;Jn(a,t.idSize,n,t.idEndianness),ki(i,e,n,r);break}}}function Ru(t){const e=t.custom;if(!("cachedSerializedFrom"in e)&&(e.cachedSerializedFrom=Ot(t.layout,e.from),"size"in t&&t.size!==void 0&&t.size!==e.cachedSerializedFrom.length))throw new Error("Layout specification error: custom.from does not serialize to specified size");return e.cachedSerializedFrom}function Mt(t,e,n){const r=n??!0,s={bytes:e,offset:0,end:e.length},i=Es(t,s);if(r&&s.offset!==s.end)throw new Error(`encoded data is longer than expected: ${s.end} > ${s.offset}`);return r?i:[i,s.offset]}function Ui(t,e){const n=t.offset+e;if(n>t.end)throw new Error(`chunk is shorter than expected: ${t.end} < ${n}`);t.offset=n}function Es(t,e){if(!Array.isArray(t))return id(t,e);let n={};for(const r of t)try{(r.omit?{}:n)[r.name]=id(r,e)}catch(s){throw s.message=`when deserializing item '${r.name}': ${s.message}`,s}return n}function mi(t,e,n=ku,r=!1){let s=0n;for(let i=0;i<e;++i)s|=BigInt(t.bytes[t.offset+i])<<BigInt(8*(n==="big"?e-i-1:i));return r&&t.bytes[t.offset+(n==="big"?0:e-1)]&128&&(s-=1n<<BigInt(8*e)),Ui(t,e),e>Aa?s:Number(s)}function id(t,e){switch(t.binary){case"int":case"uint":{const n=mi(e,t.size,t.endianness,t.binary==="int"),{custom:r}=t;return hr(r)?(Wo(r,n),r):hr(r?.from)?(Wo(r.from,n),r.to):r!==void 0?r.to(n):n}case"bytes":{const n="lengthSize"in t&&t.lengthSize!==void 0?mi(e,t.lengthSize,t.lengthEndianness):t?.size;if(_r(t)){const{custom:o}=t,c=e.offset;let d;if(n===void 0)d=Es(t.layout,e);else{const l={...e,end:e.offset+n};if(Ui(e,n),d=Es(t.layout,l),l.offset!==l.end)throw new Error(`read less data than expected: ${l.offset-e.offset} < ${n}`)}return o!==void 0?typeof o.from!="function"?(Ho(Ru(t),e.bytes,{dataSlice:[c,e.offset]}),o.to):o.to(d):d}const{custom:r}=t;{let o,c;if(ss(r)?o=r:is(r)&&(o=r.from,c=r.to),o!==void 0){const d=n??o.length,l=e.bytes.subarray(e.offset,e.offset+d);return Ho(o,l),Ui(e,d),c??o}}const s=e.offset,i=n!==void 0?e.offset+n:e.end;Ui(e,i-s);const a=e.bytes.subarray(s,i);return r!==void 0?r.to(a):a}case"array":{let n=[];const{layout:r}=t,s=()=>{const a=Es(r,e);n.push(a)};let i=null;if("length"in t&&t.length!==void 0?i=t.length:"lengthSize"in t&&t.lengthSize!==void 0&&(i=mi(e,t.lengthSize,t.lengthEndianness)),i!==null)for(let a=0;a<i;++a)s();else for(;e.offset<e.end;)s();return n}case"switch":{const n=mi(e,t.idSize,t.idEndianness),{layouts:r}=t;if(r.length===0)throw new Error("switch item has no layouts");const s=typeof r[0][0]=="number",i=r.find(([d])=>s?d===n:d[0]===n);if(i===void 0)throw new Error(`unknown id value: ${n}`);const[a,o]=i,c=Es(o,e);return{[t.idTag??"id"]:s?n:a[1],...c}}}}function gb(t,e){return Pi(t,e)}function ad(t,e){switch(t.binary){case"bytes":if(_r(t)){const{custom:n}=t;return n===void 0||typeof n.from!="function"?Pi(t.layout,n?n.from:e):e}case"int":case"uint":{const{custom:n}=t;return t?.omit?void 0:db(n)?n:bb(n)?n.to:e}case"array":return Array.isArray(e)?e.map(n=>Pi(t.layout,n)):void 0;case"switch":{const n=e[t.idTag??"id"],[r,s]=t.layouts.find(([i])=>(Array.isArray(i)?i[1]:i)==n);return{[t.idTag??"id"]:n,...Pi(s,e)}}}}function Pi(t,e){if(e=e??{},Is(t))return ad(t,e);const n={};for(const r of t){const s=ad(r,e[r.name]??{});s!==void 0&&(n[r.name]=s)}return n}function yb(t,e){const[n,r]=Eb(t);if(!n)throw new Error("Cannot uniquely distinguished the given layouts");return s=>{const i=r(s);return i.length===0?null:i[0]}}function zo(t){return t.reduce((e,n)=>e|BigInt(1)<<BigInt(n),BigInt(0))}function bi(t){const e=[];for(let n=0n;t>0n;t>>=1n,++n)t&1n&&e.push(Number(n));return e}function ze(t){let e=0;for(;t>0n;t>>=1n)e+=Number(t&1n);return e}var od=t=>t>0?2**(8*t)-1:1/0;function cd(t,e,n){switch(t.binary){case"int":case"uint":{const r=hr(t.custom)?t.custom:hr(t?.custom?.from)?t.custom.from:null;if(r!==null&&e!==null){const s={bytes:new Uint8Array(t.size),offset:0};Jn(r,t.size,s,t.endianness,t.binary==="int"),n.push([e,s.bytes])}return[t.size,t.size]}case"bytes":{const r="lengthSize"in t?t.lengthSize|0:0;let s,i;if(_r(t)){const{custom:o}=t;if(o!==void 0&&typeof o.from!="function")s=Ru(t),i=s.length;else{const c=Nu(t.layout);c!==null&&(i=c)}}else{const{custom:o}=t;ss(o)?(s=o,i=o.length):is(o)&&(s=o.from,i=o.from.length)}if(r>0&&e!==null){if(i!==void 0){const o={bytes:new Uint8Array(r),offset:0},c=t.lengthEndianness;Jn(i,r,o,c,!1),n.push([e,o.bytes])}e+=r}if(s!==void 0)return e!==null&&n.push([e,s]),[r+s.length,r+s.length];const a="size"in t&&t.size!==void 0?[t.size,t.size]:void 0;if(_r(t)){const o=Ni(t.layout,e,n);return a??[r+o[0],r+o[1]]}return a??[r,od(r)]}case"array":{if("length"in t){let s=[];const i=Ni(t.layout,0,s);if(e!==null)if(i[0]!==i[1]){if(t.length>0)for(const[a,o]of s)n.push([e+a,o])}else for(let a=0;a<t.length;++a)for(const[o,c]of s)n.push([e+o+a*i[0],c]);return[t.length*i[0],t.length*i[1]]}const r=t.lengthSize|0;return[r,od(r)]}case"switch":{const r=t.layouts.map(o=>[]),{idSize:s,idEndianness:i}=t,a=t.layouts.map(([o,c],d)=>{const l=Array.isArray(o)?o[0]:o;if(e!==null){const m={bytes:new Uint8Array(s),offset:0};Jn(l,s,m,i),r[d].push([0,m.bytes])}const f=Ni(c,e!==null?s:null,r[d]);return[f[0]+s,f[1]+s]});return e!==null&&r.every(o=>o.length>0)&&(()=>{const o=Math.min(...r.map(d=>d.at(-1)[0]+d.at(-1)[1].length)),c=r.map(d=>0);for(let d=0;d<o;){let l=null,f=0;for(;f<r.length;){let m=c[f];const b=r[f],[w,E]=b[m];if(w+E.length<=d){if(++m,m===b.length)return;c[f]=m,d=b[m][0];break}const y=E[d-w];if(l===null&&(l=y),y!==l){++d;break}++f}f===r.length&&(n.push([e+d,new Uint8Array([l])]),++d)}})(),[Math.min(...a.map(([o])=>o)),Math.max(...a.map(([o,c])=>c))]}}}function Ni(t,e,n){if(!Array.isArray(t))return cd(t,e,n);let r=[0,0];for(const s of t){const i=cd(s,e,n);r[0]+=i[0],r[1]+=i[1],e!==null&&(e=i[0]===i[1]?e+i[0]:null)}return r}function Ab(t){const e=new Map;let n=[];const r=s=>{for(;n.length>0&&n[0][0]<s;){const i=n[0][0]+1,a=n.findIndex(([o])=>i<=o);a===-1?n=[]:n.splice(0,a),e.set(i,zo(n.map(([,o])=>o)))}};for(const[[s,i],a]of t){r(s);const o=n.findIndex(([c])=>c>i);o===-1?n.push([i,a]):n.splice(o,0,[i,a]),e.set(s,zo(n.map(([,c])=>c)))}return r(1/0),e}function Eb(t){if(t.length===0)throw new Error("Cannot discriminate empty set of layouts");const e=0n,n=(1n<<BigInt(t.length))-1n,r=t.map(()=>[]),s=t.map((A,S)=>Ni(A,0,r[S])),i=s.map((A,S)=>[A,S]).sort(([[A]],[[S]])=>A-S),a=(()=>{let A=n;const S=new Map;for(const[[T],U]of i)A^=1n<<BigInt(U),S.set(T,A);return S})(),o=Ab(i),c=t.length-Math.max(...[...o.values()].map(A=>ze(A))),d=A=>{let S=n;for(const[T,U]of a){if(A<T)break;S=U}return S},l=A=>{let S=e;for(const[T,U]of o){if(A<T)break;S=U}return S},f=Array.from({length:Math.max(...r.map(A=>A.length>0?A.at(-1)[0]+A.at(-1)[1].length:0))}).map(()=>[]);for(let A=0;A<r.length;++A)for(const[S,T]of r[A])for(let U=0;U<T.length;++U)f[S+U].push([T[U],A]);let m=[];for(const[A,S]of f.entries()){const T=d(A),U=T^zo(S.map(([,V])=>V)),R=n^T,v=new Map;for(const[V,Q]of S)v.has(V)||v.set(V,e),v.set(V,v.get(V)|1n<<BigInt(Q));let M=t.length-Math.max(ze(U),ze(R));for(const V of v.values()){const Q=S.length-ze(V)+ze(R);M=Math.min(M,Q)}if(M!==0){if(M===t.length-1)return[!0,V=>bi(V.length<=A?R:v.get(V[A])??e)];m.push([M,A,R,v,U])}}if(c===t.length-1)return[!0,A=>bi(l(A.length))];m.sort(([A],[S])=>S-A);let b=!0;const w=new Map,E=new Map,y=(A,S)=>{w.set(A,S),E.has(ze(A))||E.set(ze(A),[]),E.get(ze(A)).push(A)},p=(A,S)=>{if(ze(A)<=1||w.has(A))return;let T=0;const U=new Map;for(const v of bi(A)){const M=s[v][0],V=o.get(M)&A;U.set(M,V),T=Math.max(T,ze(V))}T=ze(A)-T;const R=[];for(const[v,M,V,Q,q]of S){const N=new Map;let O=0;for(const[H,G]of Q){const z=G&A;ze(z)>0&&(N.set(H,z),O+=ze(z))}const C=V&A;let k=N.size>0?v:0;for(const H of N.values()){const G=O-ze(H)+ze(C);k=Math.min(k,G)}if(k!==0){if(k===ze(A)-1){y(A,[M,C,N]);return}R.push([k,M,C,N,q&A])}}if(T===ze(A)-1){y(A,"size");return}if(R.sort(([v],[M])=>M-v),R.length>0&&R[0][0]>=T){const[,v,M,V,Q]=R[0];y(A,[v,M,V]),p(M,R);for(const q of V.values())p(q|Q,R.slice(1));return}if(T>0){y(A,"size");for(const v of U.values())p(v,R);return}y(A,"indistinguishable"),b=!1};p(n,m);const x=A=>{for(let S=ze(A)+1;S<t.length-2;++S)for(const T of E.get(S)??[])if((A&T)==A)return w.get(T);throw new Error("Implementation error in layout discrimination algorithm")};return[b,A=>{let S=n,T=w.get(S);for(;T!=="indistinguishable";){if(T==="size")S&=l(A.length);else{const[U,R,v]=T;if(A.length<=U)S&=R;else{const M=A[U];for(const[V,Q]of v)V!==M&&(S^=S&Q);S^=S&R}}if(ze(S)<=1)break;T=w.get(S)??x(S)}return bi(S)}]}var Ea=(t,e)=>({...t,binary:"bytes",...e===void 0?{}:ub(e)?{layout:e}:e instanceof Uint8Array||is(e)||!Array.isArray(e)?{custom:e}:{layout:e[0],custom:e[1]}});function wb(t,e){const n=Object.fromEntries(t.map(([s,i])=>[i,s])),r=Object.fromEntries(t);return{binary:"uint",size:e?.size??1,endianness:e?.endianness??"big",custom:{to:s=>{const i=n[s];if(i===void 0)throw new Error(`Invalid enum value: ${s}`);return i},from:s=>r[s]}}}function Bb(t,e){return{binary:"uint",size:Math.ceil(t.length/8),custom:{to:n=>{const r={};for(let s=0;s<t.length;++s)t[s]&&(r[t[s]]=(BigInt(n)&1n<<BigInt(s))!==0n);return r},from:n=>{let r=0n;for(let s=0;s<t.length;++s)t[s]&&n[t[s]]&&(r|=1n<<BigInt(s));return t.length>Aa?r:Number(r)}}}}function Cb(t,e){return Number(Number(t).toFixed(e))}function Ri(t,e){if(xb(t,e),t=t.toString(),t.includes("e"))throw new Error("Scientific notation is not supported yet by Amount");const n=t.split(".");if(n.length>2)throw"Too many decimals";let[r,s]=n.length===0?["0",""]:n.length===1?[n[0],""]:n;if(s=s.padEnd(e,"0"),s.length>e){if(BigInt(s.substring(e))!==0n)throw new Error("Amount: invalid input. Decimals too low.");s=s.substring(0,e)}return{amount:BigInt(r+s).toString(),decimals:e}}function Oi(t,e){if(t.decimals<=e)return t;const n=BigInt(t.decimals-e);return{amount:(Qe(t)/10n**n*10n**n).toString(),decimals:t.decimals}}function Ur(t,e){if(t.decimals===e)return t;if(t.amount==="0")return{amount:t.amount,decimals:e};const n=e-t.decimals;if(n>0)return{amount:t.amount+"0".repeat(n),decimals:e};if(BigInt(t.amount.substring(t.amount.length+n))===0n)return{amount:t.amount.substring(0,t.amount.length+n),decimals:e};throw new Error(`scaleAmount(${JSON.stringify(t)}, ${e}) would result in altered amount. Use truncateAmount first if you intended to truncate it.`)}function ln(t,e){return{amount:t.toString(),decimals:e}}function Qe(t){return Ou(t),BigInt(t.amount)}function wa(t,e){Ou(t);let n=t.amount.substring(0,t.amount.length-t.decimals).padStart(1,"0"),r=t.amount.substring(t.amount.length-t.decimals).padStart(t.decimals,"0");if(e!==void 0){for(;r.length>e&&r[r.length-1]==="0";)r=r.substring(0,r.length-1);r=r.padEnd(e,"0")}else r=r.replace(/0+$/,"");return r.length>0?`${n}.${r}`:n}function Fs(t){return Number(wa(t))}function ld(t,e){return wa(ln(t,e))}function xb(t,e){if(typeof t=="number"){if(!isFinite(t))throw new Error("Amount: invalid input. Amount must be finite");if(t<0)throw new Error("Amount: invalid input. Amount cannot be negative")}else if(!/^[0-9\.]*$/.test(t))throw new Error("Amount: invalid input. Must only contain digits.");if(!isFinite(e))throw new Error("Amount: invalid input. Decimals must be finite")}function Ou(t){if(!/^[0-9]*$/.test(t.amount))throw new Error("Amount: invalid input. Must only contain digits.");if(t.decimals<0)throw new Error("Amount: invalid input. Decimals must be >= 0");if(!isFinite(t.decimals))throw new Error("Amount: invalid input. Decimals must be a finite number.")}function Mu(t,e){const r=Qe(t)*e/100000n;return ln(r,t.decimals)}const ks=(t=0,e=0,n=0)=>new Date(Date.now()+(t*60*60+e*60+n)*1e3);/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function jr(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Db(t,...e){if(!jr(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Lu(t,e){return Array.isArray(e)?e.length===0?!0:t?e.every(n=>typeof n=="string"):e.every(n=>Number.isSafeInteger(n)):!1}function Wu(t){if(typeof t!="function")throw new Error("function expected");return!0}function mr(t,e){if(typeof e!="string")throw new Error(`${t}: string expected`);return!0}function as(t){if(!Number.isSafeInteger(t))throw new Error(`invalid integer: ${t}`)}function Yi(t){if(!Array.isArray(t))throw new Error("array expected")}function Zi(t,e){if(!Lu(!0,e))throw new Error(`${t}: array of strings expected`)}function Mc(t,e){if(!Lu(!1,e))throw new Error(`${t}: array of numbers expected`)}function qs(...t){const e=i=>i,n=(i,a)=>o=>i(a(o)),r=t.map(i=>i.encode).reduceRight(n,e),s=t.map(i=>i.decode).reduce(n,e);return{encode:r,decode:s}}function Ba(t){const e=typeof t=="string"?t.split(""):t,n=e.length;Zi("alphabet",e);const r=new Map(e.map((s,i)=>[s,i]));return{encode:s=>(Yi(s),s.map(i=>{if(!Number.isSafeInteger(i)||i<0||i>=n)throw new Error(`alphabet.encode: digit index outside alphabet "${i}". Allowed: ${t}`);return e[i]})),decode:s=>(Yi(s),s.map(i=>{mr("alphabet.decode",i);const a=r.get(i);if(a===void 0)throw new Error(`Unknown letter: "${i}". Allowed: ${t}`);return a}))}}function Ca(t=""){return mr("join",t),{encode:e=>(Zi("join.decode",e),e.join(t)),decode:e=>(mr("join.decode",e),e.split(t))}}function Fb(t,e="="){return as(t),mr("padding",e),{encode(n){for(Zi("padding.encode",n);n.length*t%8;)n.push(e);return n},decode(n){Zi("padding.decode",n);let r=n.length;if(r*t%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;r>0&&n[r-1]===e;r--)if((r-1)*t%8===0)throw new Error("padding: invalid, string has too much padding");return n.slice(0,r)}}}function dd(t,e,n){if(e<2)throw new Error(`convertRadix: invalid from=${e}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: invalid to=${n}, base cannot be less than 2`);if(Yi(t),!t.length)return[];let r=0;const s=[],i=Array.from(t,o=>{if(as(o),o<0||o>=e)throw new Error(`invalid integer: ${o}`);return o}),a=i.length;for(;;){let o=0,c=!0;for(let d=r;d<a;d++){const l=i[d],f=e*o,m=f+l;if(!Number.isSafeInteger(m)||f/e!==o||m-l!==f)throw new Error("convertRadix: carry overflow");const b=m/n;o=m%n;const w=Math.floor(b);if(i[d]=w,!Number.isSafeInteger(w)||w*n+o!==m)throw new Error("convertRadix: carry overflow");if(c)w?c=!1:r=d;else continue}if(s.push(o),c)break}for(let o=0;o<t.length-1&&t[o]===0;o++)s.push(0);return s.reverse()}const Hu=(t,e)=>e===0?t:Hu(e,t%e),ea=(t,e)=>t+(e-Hu(t,e)),Mi=(()=>{let t=[];for(let e=0;e<40;e++)t.push(2**e);return t})();function Go(t,e,n,r){if(Yi(t),e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(ea(e,n)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${n} carryBits=${ea(e,n)}`);let s=0,i=0;const a=Mi[e],o=Mi[n]-1,c=[];for(const d of t){if(as(d),d>=a)throw new Error(`convertRadix2: invalid data word=${d} from=${e}`);if(s=s<<e|d,i+e>32)throw new Error(`convertRadix2: carry overflow pos=${i} from=${e}`);for(i+=e;i>=n;i-=n)c.push((s>>i-n&o)>>>0);const l=Mi[i];if(l===void 0)throw new Error("invalid carry");s&=l-1}if(s=s<<n-i&o,!r&&i>=e)throw new Error("Excess padding");if(!r&&s>0)throw new Error(`Non-zero padding: ${s}`);return r&&i>0&&c.push(s>>>0),c}function Sb(t){as(t);const e=2**8;return{encode:n=>{if(!jr(n))throw new Error("radix.encode input should be Uint8Array");return dd(Array.from(n),e,t)},decode:n=>(Mc("radix.decode",n),Uint8Array.from(dd(n,t,e)))}}function Lc(t,e=!1){if(as(t),t<=0||t>32)throw new Error("radix2: bits should be in (0..32]");if(ea(8,t)>32||ea(t,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!jr(n))throw new Error("radix2.encode input should be Uint8Array");return Go(Array.from(n),8,t,!e)},decode:n=>(Mc("radix2.decode",n),Uint8Array.from(Go(n,t,8,e)))}}function ud(t){return Wu(t),function(...e){try{return t.apply(null,e)}catch{}}}function Tb(t,e){return as(t),Wu(e),{encode(n){if(!jr(n))throw new Error("checksum.encode: input should be Uint8Array");const r=e(n).slice(0,t),s=new Uint8Array(n.length+t);return s.set(n),s.set(r,n.length),s},decode(n){if(!jr(n))throw new Error("checksum.decode: input should be Uint8Array");const r=n.slice(0,-t),s=n.slice(-t),i=e(r).slice(0,t);for(let a=0;a<t;a++)if(i[a]!==s[a])throw new Error("Invalid checksum");return r}}}const fd=qs(Lc(4),Ba("0123456789ABCDEF"),Ca("")),vb=typeof Uint8Array.from([]).toBase64=="function"&&typeof Uint8Array.fromBase64=="function",Ib=(t,e)=>{mr("base64",t);const n=/^[A-Za-z0-9=+/]+$/,r="base64";if(t.length>0&&!n.test(t))throw new Error("invalid base64");return Uint8Array.fromBase64(t,{alphabet:r,lastChunkHandling:"strict"})},hd=vb?{encode(t){return Db(t),t.toBase64()},decode(t){return Ib(t)}}:qs(Lc(6),Ba("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Fb(6),Ca("")),kb=t=>qs(Sb(58),Ba(t),Ca("")),ta=kb("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),Ub=t=>qs(Tb(4,e=>t(t(e))),ta),Vo=qs(Ba("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Ca("")),md=[996825010,642813549,513874426,1027748829,705979059];function bs(t){const e=t>>25;let n=(t&33554431)<<5;for(let r=0;r<md.length;r++)(e>>r&1)===1&&(n^=md[r]);return n}function bd(t,e,n=1){const r=t.length;let s=1;for(let i=0;i<r;i++){const a=t.charCodeAt(i);if(a<33||a>126)throw new Error(`Invalid prefix (${t})`);s=bs(s)^a>>5}s=bs(s);for(let i=0;i<r;i++)s=bs(s)^t.charCodeAt(i)&31;for(let i of e)s=bs(s)^i;for(let i=0;i<6;i++)s=bs(s);return s^=n,Vo.encode(Go([s%Mi[30]],30,5,!1))}function Pb(t){const e=t==="bech32"?1:734539939,n=Lc(5),r=n.decode,s=n.encode,i=ud(r);function a(f,m,b=90){mr("bech32.encode prefix",f),jr(m)&&(m=Array.from(m)),Mc("bech32.encode",m);const w=f.length;if(w===0)throw new TypeError(`Invalid prefix length ${w}`);const E=w+7+m.length;if(b!==!1&&E>b)throw new TypeError(`Length ${E} exceeds limit ${b}`);const y=f.toLowerCase(),p=bd(y,m,e);return`${y}1${Vo.encode(m)}${p}`}function o(f,m=90){mr("bech32.decode input",f);const b=f.length;if(b<8||m!==!1&&b>m)throw new TypeError(`invalid string length: ${b} (${f}). Expected (8..${m})`);const w=f.toLowerCase();if(f!==w&&f!==f.toUpperCase())throw new Error("String must be lowercase or uppercase");const E=w.lastIndexOf("1");if(E===0||E===-1)throw new Error('Letter "1" must be present between prefix and data only');const y=w.slice(0,E),p=w.slice(E+1);if(p.length<6)throw new Error("Data must be at least 6 characters long");const x=Vo.decode(p).slice(0,-6),A=bd(y,x,e);if(!p.endsWith(A))throw new Error(`Invalid checksum in ${f}: expected "${A}"`);return{prefix:y,words:x}}const c=ud(o);function d(f){const{prefix:m,words:b}=o(f,!1);return{prefix:m,words:b,bytes:r(b)}}function l(f,m){return a(f,s(m))}return{encode:a,decode:o,encodeFromBytes:l,decodeToBytes:d,decodeUnsafe:c,fromWords:r,fromWordsUnsafe:i,toWords:s}}const zu=Pb("bech32"),Wc=(t,e)=>e.startsWith(t)?e.slice(t.length):e,Nb=/^(?:0x)?[0-9a-fA-F]+$/,Xe={valid:t=>Nb.test(t),decode:t=>fd.decode(Wc("0x",t).toUpperCase()),encode:(t,e=!1)=>(t=typeof t=="string"?at.encode(t):t,(e?"0x":"")+fd.encode(t).toLowerCase())},Rb=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,xa={valid:t=>Rb.test(t),decode:hd.decode,encode:t=>hd.encode(typeof t=="string"?at.encode(t):t)},Gu={decode:ta.decode,encode:t=>ta.encode(typeof t=="string"?at.encode(t):t)},rr={decode:t=>(typeof t!="string"&&(t=Xe.encode(t,!0)),t===""||t==="0x"?0n:BigInt(t)),encode:(t,e=!1)=>rr.toString(t,e),toString:(t,e=!1)=>{let n=t.toString(16);return n=n.length%2===1?n="0"+n:n,e?"0x"+n:n},toBytes:(t,e)=>{typeof t=="number"&&(t=rr.toBigInt(t));const n=Xe.decode(rr.toString(t));if(!e)return n;if(e<n.length)throw new Error(`Can't fit ${t} into ${e} bytes.`);return at.zpad(n,e)},toNumber:t=>{if(t>BigInt(Number.MAX_SAFE_INTEGER))throw new Error(`Invalid cast: ${t} exceeds MAX_SAFE_INTEGER`);return Number(t)},toBigInt:t=>{if(t>Number.MAX_SAFE_INTEGER)throw new Error(`Invalid cast: ${t} exceeds MAX_SAFE_INTEGER`);return BigInt(t)}},at={encode:t=>new TextEncoder().encode(t),decode:t=>new TextDecoder().decode(t),equals:(t,e)=>t.length===e.length&&t.every((n,r)=>n===e[r]),zpad:(t,e,n=!0)=>n?at.concat(new Uint8Array(e-t.length),t):at.concat(t,new Uint8Array(e-t.length)),concat:(...t)=>{const e=t.reduce((s,i)=>s+i.length,0),n=new Uint8Array(e);let r=0;return t.forEach(s=>{n.set(s,r),r+=s.length}),n}},Hc=[[1,"Solana"],[2,"Ethereum"],[4,"Bsc"],[5,"Polygon"],[6,"Avalanche"],[8,"Algorand"],[10,"Fantom"],[13,"Klaytn"],[14,"Celo"],[15,"Near"],[16,"Moonbeam"],[19,"Injective"],[20,"Osmosis"],[21,"Sui"],[22,"Aptos"],[23,"Arbitrum"],[24,"Optimism"],[26,"Pythnet"],[29,"Btc"],[30,"Base"],[32,"Sei"],[34,"Scroll"],[35,"Mantle"],[37,"Xlayer"],[38,"Linea"],[39,"Berachain"],[40,"Seievm"],[44,"Unichain"],[45,"Worldchain"],[46,"Ink"],[47,"HyperEVM"],[48,"Monad"],[50,"Mezo"],[51,"Fogo"],[52,"Sonic"],[53,"Converge"],[55,"Plume"],[57,"XRPLEVM"],[58,"Plasma"],[59,"CreditCoin"],[60,"Stacks"],[63,"Moca"],[3104,"Wormchain"],[4e3,"Cosmoshub"],[4001,"Evmos"],[4002,"Kujira"],[4003,"Neutron"],[4004,"Celestia"],[4005,"Stargaze"],[4006,"Seda"],[4007,"Dymension"],[4008,"Provenance"],[4009,"Noble"],[10002,"Sepolia"],[10003,"ArbitrumSepolia"],[10004,"BaseSepolia"],[10005,"OptimismSepolia"],[10006,"Holesky"],[10007,"PolygonSepolia"],[65e3,"HyperCore"]],[oA,Vu]=$n(Hc),Ks=ne(Hc,[1,0]),na=ne(Hc),Qs=t=>Ks.has(t),_o=t=>na.has(t),Rt=t=>{switch(typeof t){case"string":if(Qs(t))return Ks(t);break;case"number":if(_o(t))return t;break}throw Error(`Cannot convert to ChainId: ${t}`)},os=t=>{switch(typeof t){case"string":if(Qs(t))return t;break;case"number":if(_o(t))return na(t);break;case"bigint":if(_o(Number(t)))return na.get(Number(t));break}throw Error(`Cannot convert to Chain: ${t}`)},zc=[["Evm",["Arbitrum","Avalanche","Base","Bsc","Celo","Ethereum","Fantom","Klaytn","Moonbeam","Optimism","Polygon","Sepolia","ArbitrumSepolia","BaseSepolia","OptimismSepolia","Holesky","PolygonSepolia","Mantle","Scroll","Xlayer","Linea","Berachain","Seievm","Unichain","Worldchain","Ink","HyperEVM","Monad","Mezo","Sonic","Converge","Plume","XRPLEVM","Plasma","CreditCoin","HyperCore","Moca"]],["Solana",["Solana","Pythnet","Fogo"]],["Cosmwasm",["Cosmoshub","Evmos","Injective","Kujira","Osmosis","Sei","Wormchain","Dymension","Neutron","Stargaze","Celestia","Seda","Provenance","Noble"]],["Btc",["Btc"]],["Algorand",["Algorand"]],["Sui",["Sui"]],["Aptos",["Aptos"]],["Near",["Near"]],["Stacks",["Stacks"]]];Iu(zc,0);const _u=ne(zc),vt=ne(zc,[1,0]),Ob=[["Evm","hex"],["Solana","base58"],["Cosmwasm","bech32"],["Btc","bech32"],["Algorand","algorandAppId"],["Sui","hex"],["Aptos","hex"],["Near","sha256"],["Stacks","keccak256"]],Mb=ne(Ob),cs={byAddress:(t,e)=>Object.values(t).find(n=>ju(n.address,e)),native:t=>cs.byAddress(t,"native"),bySymbol:(t,e)=>{const n=Object.values(t).filter(r=>r.symbol===e);return n&&n.length>0?n:void 0},byKey:(t,e)=>{const n=Object.entries(t).find(([r])=>e===r);return n?n[1]:void 0}},ju=(t,e)=>t.toLowerCase()===e.toLowerCase();var pd;(function(t){t[t.Finalized=1]="Finalized",t[t.Immediate=200]="Immediate",t[t.Safe=201]="Safe"})(pd||(pd={}));const Lb=[["Ethereum",32]];ne(Lb);const Wb=[["Solana",32],["Ethereum",72],["Bsc",15],["Optimism",512],["Base",512],["Arbitrum",4096],["Xlayer",300],["Scroll",999],["Mantle",512],["Worldchain",512],["Polygon",2],["Fantom",1],["Celo",1],["Moonbeam",1],["Avalanche",0],["Sui",0],["Algorand",0],["Aptos",0],["Klaytn",0],["Sei",0],["Near",0],["Osmosis",0],["Injective",0],["Berachain",1],["Seievm",1],["Unichain",1024],["Ink",512],["HyperEVM",1],["Monad",1],["Mezo",1],["Sonic",1],["Converge",4096],["Fogo",32],["Plume",4096],["Plasma",2],["XRPLEVM",1],["CreditCoin",3],["Cosmoshub",0],["Evmos",0],["Kujira",0],["Neutron",0],["Celestia",0],["Stargaze",0],["Dymension",0],["Provenance",0],["Noble",0],["Stacks",240],["Moca",0],["Sepolia",72],["ArbitrumSepolia",4096],["BaseSepolia",512],["OptimismSepolia",512],["PolygonSepolia",2]],qu=ne(Wb),Hb=[["Algorand",3300],["Aptos",4e3],["Arbitrum",260],["ArbitrumSepolia",260],["Avalanche",2e3],["Base",2e3],["BaseSepolia",2e3],["Bsc",750],["Celo",5e3],["Cosmoshub",5e3],["Ethereum",15e3],["Evmos",2e3],["Fantom",2500],["Holesky",15e3],["HyperEVM",1e3],["HyperCore",1e3],["Injective",2500],["Klaytn",1e3],["Kujira",3e3],["Mantle",2e3],["Moonbeam",12e3],["Monad",1e3],["Near",1500],["Optimism",2e3],["OptimismSepolia",2e3],["Osmosis",6e3],["Polygon",2e3],["PolygonSepolia",2e3],["Scroll",3e3],["Sei",400],["Sepolia",15e3],["Solana",400],["Sui",3e3],["Unichain",1e3],["Xlayer",3e3],["Worldchain",2e3],["Ink",1e3],["Wormchain",5e3],["Btc",6e5],["Pythnet",400],["Dymension",5e3],["Celestia",5e3],["Neutron",5e3],["Stargaze",5e3],["Seda",7500],["Berachain",2e3],["Mezo",4e3],["Sonic",330],["Converge",100],["Fogo",400],["Plume",250],["Plasma",1e3],["XRPLEVM",5e3],["Seievm",400],["CreditCoin",15e3],["Stacks",15e3],["Moca",1e3]],Ku=ne(Hb);function Gc(t){const e=qu.get(t);if(e===void 0)throw new Error("Cannot find finality for "+t);const n=Ku.get(t);if(n===void 0)throw new Error("Cannot find block time for "+t);return e*n}const zb=[["Evm",18],["Solana",9],["Sui",9],["Aptos",8],["Cosmwasm",6],["Algorand",6],["Btc",8],["Near",12],["Stacks",6]],Vc=ne(zb),Gb=[["Mainnet",[["Ethereum",{name:"Etherscan",baseUrl:"https://etherscan.io/",endpoints:{tx:"tx/",account:"address/"}}],["Solana",{name:"Solana Explorer",baseUrl:"https://explorer.solana.com/",endpoints:{tx:"tx/",account:"address/"}}],["Polygon",{name:"PolygonScan",baseUrl:"https://polygonscan.com/",endpoints:{tx:"tx/",account:"address/"}}],["Bsc",{name:"BscScan",baseUrl:"https://bscscan.com/",endpoints:{tx:"tx/",account:"address/"}}],["Avalanche",{name:"Snowtrace",baseUrl:"https://snowtrace.io/",endpoints:{tx:"tx/",account:"address/"}}],["Fantom",{name:"FTMscan",baseUrl:"https://ftmscan.com/",endpoints:{tx:"tx/",account:"address/"}}],["Celo",{name:"Celo Explorer",baseUrl:"https://explorer.celo.org/mainnet/",endpoints:{tx:"tx/",account:"address/"}}],["Moonbeam",{name:"Moonscan",baseUrl:"https://moonscan.io/",endpoints:{tx:"tx/",account:"address/"}}],["Sui",{name:"Sui Explorer",baseUrl:"https://explorer.sui.io/",endpoints:{tx:"txblock/",account:"address/"}}],["Aptos",{name:"Aptos Explorer",baseUrl:"https://explorer.aptoslabs.com/",endpoints:{tx:"txn/",account:"account/"}}],["Sei",{name:"Sei Explorer",baseUrl:"https://sei.explorers.guru/",endpoints:{tx:"transaction/",account:"address/"}}],["Ink",{name:"Ink Explorer",baseUrl:"https://explorer.inkonchain.com/",endpoints:{tx:"tx/",account:"address/"}}],["Mezo",{name:"Mezo Explorer",baseUrl:"https://explorer.mezo.org/",endpoints:{tx:"tx/",account:"address/"}}],["HyperEVM",{name:"HyperEVMScan",baseUrl:"https://hyperevmscan.io/",endpoints:{tx:"tx/",account:"address/"}}],["HyperCore",{name:"HyperLiquid Explorer",baseUrl:"https://app.hyperliquid.xyz/explorer/",endpoints:{tx:"tx/",account:"address/"}}],["XRPLEVM",{name:"XRPL Explorer",baseUrl:"https://explorer.xrplevm.org/",endpoints:{tx:"tx/",account:"address/"}}],["Plume",{name:"Plume Explorer",baseUrl:"https://explorer.plume.org/",endpoints:{tx:"tx/",account:"address/"}}],["CreditCoin",{name:"CreditCoin Explorer",baseUrl:"https://creditcoin.blockscout.com/",endpoints:{tx:"tx/",account:"address/"}}],["Plasma",{name:"Plasma Explorer",baseUrl:"https://plasmascan.to/",endpoints:{tx:"tx/",account:"address/"}}],["Stacks",{name:"Stacks Explorer",baseUrl:"https://explorer.hiro.so/",endpoints:{tx:"txid/",account:"address/"}}],["Monad",{name:"Monad Explorer",baseUrl:"https://monadexplorer.com/",endpoints:{tx:"tx/",account:"address/"}}],["Moca",{name:"Moca Explorer",baseUrl:"https://scan.mocachain.org/",endpoints:{tx:"tx/",account:"address/"}}]]],["Testnet",[["Ethereum",{name:"Etherscan",baseUrl:"https://goerli.etherscan.io/",endpoints:{tx:"tx/",account:"address/"}}],["Polygon",{name:"PolygonScan",baseUrl:"https://mumbai.polygonscan.com/",endpoints:{tx:"tx/",account:"address/"}}],["Bsc",{name:"BscScan",baseUrl:"https://testnet.bscscan.com/",endpoints:{tx:"tx/",account:"address/"}}],["Avalanche",{name:"Snowtrace",baseUrl:"https://testnet.snowtrace.io/",endpoints:{tx:"tx/",account:"address/"}}],["Fantom",{name:"FTMscan",baseUrl:"https://testnet.ftmscan.com/",endpoints:{tx:"tx/",account:"address/"}}],["Celo",{name:"Celo Explorer",baseUrl:"https://explorer.celo.org/alfajores/",endpoints:{tx:"tx/",account:"address/"}}],["Moonbeam",{name:"Moonscan",baseUrl:"https://moonbase.moonscan.io/",endpoints:{tx:"tx/",account:"address/"}}],["Solana",{name:"Solana Explorer",baseUrl:"https://explorer.solana.com/",endpoints:{tx:"tx/",account:"address/"},networkQuery:{default:"Devnet",Testnet:"?cluster=testnet",Devnet:"?cluster=devnet"}}],["Sui",{name:"Sui Explorer",baseUrl:"https://explorer.sui.io/",endpoints:{tx:"txblock/",account:"address/"},networkQuery:{default:"Testnet",Testnet:"?network=testnet",Devnet:"?network=devnet"}}],["Aptos",{name:"Aptos Explorer",baseUrl:"https://explorer.aptoslabs.com/",endpoints:{tx:"txn/",account:"account/"},networkQuery:{default:"Testnet",Testnet:"?network=testnet",Devnet:"?network=devnet"}}],["Sei",{name:"Sei Explorer",baseUrl:"https://sei.explorers.guru/",endpoints:{tx:"transaction/",account:"address/"}}],["Ink",{name:"Ink Sepolia Explorer",baseUrl:"https://explorer-sepolia.inkonchain.com/",endpoints:{tx:"tx/",account:"address/"}}],["Mezo",{name:"Mezo Explorer",baseUrl:"https://explorer.test.mezo.org/",endpoints:{tx:"tx/",account:"address/"}}],["XRPLEVM",{name:"XRPL Explorer",baseUrl:"https://explorer.testnet.xrplevm.org/",endpoints:{tx:"tx/",account:"address/"}}],["Plume",{name:"Plume Explorer",baseUrl:"https://testnet-explorer.plume.org/",endpoints:{tx:"tx/",account:"address/"}}],["Plasma",{name:"Plasma Testnet Explorer",baseUrl:"https://testnet.plasmascan.to/",endpoints:{tx:"tx/",account:"address/"}}],["CreditCoin",{name:"CreditCoin Explorer",baseUrl:"https://creditcoin-testnet.blockscout.com/",endpoints:{tx:"tx/",account:"address/"}}],["Moca",{name:"Moca Explorer",baseUrl:"https://testnet-scan.mocachain.org/",endpoints:{tx:"tx/",account:"address/"}}]]]],Vb=ne(Gb),_b=(t,e)=>t==="Devnet"?void 0:Vb.get(t,e),jb=[["Mainnet",[["Ethereum","https://ethereum-rpc.publicnode.com"],["Solana","https://api.mainnet-beta.solana.com"],["Polygon","https://polygon-bor-rpc.publicnode.com"],["Bsc","https://bsc-rpc.publicnode.com"],["Avalanche","https://avalanche-c-chain-rpc.publicnode.com"],["Fantom","https://rpcapi.fantom.network"],["Celo","https://forno.celo.org"],["Moonbeam","https://moonbeam-rpc.publicnode.com"],["Sui","https://rpc.mainnet.sui.io"],["Aptos","https://fullnode.mainnet.aptoslabs.com/v1"],["Arbitrum","https://arb1.arbitrum.io/rpc"],["Optimism","https://mainnet.optimism.io"],["Base","https://mainnet.base.org"],["Osmosis","https://osmosis-rpc.polkachu.com"],["Cosmoshub","https://cosmos-rpc.publicnode.com:443"],["Evmos","https://evmos-rpc.polkachu.com"],["Injective","https://sentry.tm.injective.network"],["Wormchain","https://wormchain-rpc.quickapi.com"],["Sei","https://sei-rpc.polkachu.com/"],["Algorand","https://mainnet-api.algonode.cloud"],["Dymension","https://dymension-rpc.polkachu.com/"],["Stargaze","https://stargaze-rpc.polkachu.com/"],["Celestia","https://celestia-rpc.polkachu.com/"],["Neutron","https://neutron-rpc.polkachu.com/"],["Provenance","https://rpc.provenance.io/"],["Noble","https://noble-rpc.polkachu.com/"],["Linea","https://rpc.linea.build"],["Scroll","https://scroll-rpc.publicnode.com"],["Xlayer","https://xlayerrpc.okx.com/"],["Mantle","https://rpc.mantle.xyz"],["Klaytn","https://public-en.node.kaia.io"],["Berachain","https://rpc.berachain.com"],["Seievm","https://evm-rpc.sei-apis.com"],["Unichain","https://mainnet.unichain.org"],["Worldchain","https://worldchain-mainnet.g.alchemy.com/public"],["Ink","https://rpc-qnd.inkonchain.com"],["Sonic","https://rpc.soniclabs.com"],["HyperEVM","https://rpc.hyperliquid.xyz/evm"],["Mezo","https://jsonrpc-mezo.boar.network/"],["Plume","https://rpc.plume.org/"],["XRPLEVM","https://rpc.xrplevm.org/"],["Plasma","https://rpc.plasma.to/"],["CreditCoin","https://mainnet3.creditcoin.network/"],["Stacks","https://api.mainnet.hiro.so"],["Monad","https://rpc.monad.xyz"],["Fogo","https://mainnet.fogo.io"],["Moca","https://rpc.mocachain.org/"]]],["Testnet",[["Bsc","https://data-seed-prebsc-1-s3.binance.org:8545"],["Avalanche","https://api.avax-test.network/ext/bc/C/rpc"],["Fantom","https://rpc.testnet.fantom.network"],["Celo","https://alfajores-forno.celo-testnet.org"],["Solana","https://api.devnet.solana.com"],["Moonbeam","https://rpc.api.moonbase.moonbeam.network"],["Sui","https://fullnode.testnet.sui.io"],["Aptos","https://fullnode.testnet.aptoslabs.com/v1"],["Sei","https://sei-testnet-rpc.polkachu.com"],["Injective","https://testnet.sentry.tm.injective.network"],["Osmosis","https://rpc.testnet.osmosis.zone"],["Cosmoshub","https://rpc.sentry-02.theta-testnet.polypore.xyz"],["Evmos","https://evmos-testnet-rpc.polkachu.com"],["Wormchain","https://gateway.testnet.xlabs.xyz/"],["Sepolia","https://ethereum-sepolia.publicnode.com"],["Algorand","https://testnet-api.algonode.cloud"],["ArbitrumSepolia","https://sepolia-rollup.arbitrum.io/rpc"],["OptimismSepolia","https://sepolia.optimism.io"],["BaseSepolia","https://sepolia.base.org"],["PolygonSepolia","https://rpc-amoy.polygon.technology/"],["Mantle","https://rpc.testnet.mantle.xyz"],["Berachain","https://bepolia.rpc.berachain.com/"],["Seievm","https://evm-rpc-testnet.sei-apis.com/"],["Linea","https://rpc.sepolia.linea.build"],["Xlayer","https://testrpc.xlayer.tech/"],["Scroll","https://scroll-sepolia-rpc.publicnode.com"],["Klaytn","https://public-en-kairos.node.kaia.io"],["Unichain","https://sepolia.unichain.org"],["Worldchain","https://worldchain-sepolia.g.alchemy.com/public"],["Ink","https://rpc-qnd-sepolia.inkonchain.com"],["HyperEVM","https://api.hyperliquid-testnet.xyz/evm"],["Monad","https://testnet-rpc.monad.xyz"],["Noble","https://noble-testnet-rpc.polkachu.com/"],["Mezo","https://rpc.test.mezo.org"],["Sonic","https://rpc.blaze.soniclabs.com"],["Converge","https://rpc-converge-testnet-1.t.conduit.xyz"],["Fogo","https://testnet.fogo.io"],["Plume","https://testnet-rpc.plume.org"],["XRPLEVM","https://rpc.testnet.xrplevm.org/"],["Plasma","https://testnet-rpc.plasma.to"],["CreditCoin","https://rpc.cc3-testnet.creditcoin.network"],["Stacks","https://api.testnet.hiro.so"],["Moca","https://testnet-rpc.mocachain.org/"]]],["Devnet",[["Ethereum","http://eth-devnet:8545"],["Bsc","http://eth-devnet2:8545"],["Solana","http://solana-devnet:8899"],["Stacks","http://localhost:3999"]]]],qb=ne(jb),Qu=(t,e)=>qb.get(t,e)??"",$u=[["Mainnet",[["Aptos",1n],["Algorand","mainnet-v1.0"],["Near","mainnet"],["Cosmoshub","cosmoshub-4"],["Evmos","evmos_9001-2"],["Injective","injective-1"],["Osmosis","osmosis-1"],["Sei","pacific-1"],["Wormchain","wormchain"],["Kujira","kaiyo-1"],["Solana","5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d"],["Sui","35834a8a"],["Arbitrum",42161n],["Avalanche",43114n],["Base",8453n],["Bsc",56n],["Celo",42220n],["Ethereum",1n],["Fantom",250n],["Klaytn",8217n],["Moonbeam",1284n],["Optimism",10n],["Polygon",137n],["Neutron","neutron-1"],["Stargaze","stargaze-1"],["Celestia","celestia"],["Dymension","dymension_1100-1"],["Provenance","pio-mainnet-1"],["Noble","noble-1"],["Xlayer",196n],["Mantle",5000n],["Scroll",534352n],["Linea",59144n],["Berachain",80094n],["Seievm",1329n],["Unichain",130n],["Worldchain",480n],["Ink",57073n],["Sonic",146n],["HyperEVM",999n],["HyperCore",65000n],["Mezo",31612n],["Plume",98866n],["XRPLEVM",1440000n],["Stacks",1n],["CreditCoin",102030n],["Monad",143n],["Fogo","CDLtwKnaCoK157uaHQDj4fHu72AyD2519Cphmpiq6hvT"],["Moca",2288n]]],["Testnet",[["Aptos",2n],["Algorand","testnet-v1.0"],["Near","testnet"],["Cosmoshub","theta-testnet-001"],["Evmos","evmos_9000-4"],["Injective","injective-888"],["Osmosis","osmo-test-5"],["Sei","atlantic-2"],["Wormchain","wormchain-testnet-0"],["Kujira","harpoon-4"],["Solana","EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG"],["Sui","4c78adac"],["Arbitrum",421613n],["Avalanche",43113n],["Base",84531n],["Bsc",97n],["Celo",44787n],["Ethereum",5n],["Fantom",4002n],["Klaytn",1001n],["Moonbeam",1287n],["Optimism",420n],["Polygon",80001n],["Sepolia",11155111n],["ArbitrumSepolia",421614n],["BaseSepolia",84532n],["OptimismSepolia",11155420n],["PolygonSepolia",80002n],["Holesky",17000n],["Neutron","pion-1"],["Celestia","mocha-4"],["Seda","seda-1-testnet"],["Noble","grand-1"],["Mantle",5003n],["Scroll",534351n],["Berachain",80069n],["Seievm",1328n],["Unichain",1301n],["Worldchain",4801n],["Ink",763373n],["HyperEVM",998n],["HyperCore",65000n],["Xlayer",195n],["Linea",59141n],["Monad",10143n],["Mezo",31611n],["Sonic",57054n],["Converge",52085145n],["Fogo","9GGSFo95raqzZxWqKM5tGYvJp5iv4Dm565S4r8h5PEu9"],["Plume",98867n],["XRPLEVM",1449000n],["Stacks",2147483648n],["Moca",222888n]]],["Devnet",[["Aptos",0n],["Algorand","sandnet-v1.0"],["Bsc",1397n],["Ethereum",1337n],["Injective","injective_devnet_fake"],["Solana","8wF6jKV3cKwyaVkWcoV9KpDqmkjvEYno9hKZrKx8TbZn"],["Stacks",2147483648n]]]],_c=ne($u),Kb=ne($u,[2,[0,1]]);function Ju(t,e){const r=Kb(e).filter(([s,i])=>vt(i)===t);if(r.length!==1)throw new Error(`Platform ${t} has multiple chains with native chain id ${e}`);return r[0]}const Qb=[["Mainnet","https://iris-api.circle.com/v1/attestations"],["Testnet","https://iris-api-sandbox.circle.com/v1/attestations"]],gd=ne(Qb),$b=[["Mainnet",[["Ethereum","0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"],["Avalanche","0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"],["Optimism","0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"],["Arbitrum","0xaf88d065e77c8cC2239327C5EDb3A432268e5831"],["Solana","EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"],["Base","0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"],["Polygon","0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"],["Sui","0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC"],["Aptos","0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b"],["Unichain","0x078D782b760474a361dDA0AF3839290b0EF57AD6"],["Sonic","0x29219dd400f2Bf60E5a23d13Be72B486D4038894"],["Linea","0x176211869cA2b568f2A7D4EE941E073a821EE1ff"],["Worldchain","0x79A02482A880bCE3F13e09Da970dC34db4CD24d1"],["Seievm","0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392"],["HyperEVM","0xb88339CB7199b77E23DB6E890353E22632Ba630f"],["Plume","0x222365EF19F7947e5484218551B56bb3965Aa7aF"],["Ink","0x2D270e6886d130D724215A266106e6832161EAEd"],["HyperCore","0xaf88d065e77c8cC2239327C5EDb3A432268e5831"],["Monad","0x754704Bc059F8C67012fEd69BC8A327a5aafb603"]]],["Testnet",[["Sepolia","0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238"],["Avalanche","0x5425890298aed601595a70AB815c96711a31Bc65"],["OptimismSepolia","0x5fd84259d66Cd46123540766Be93DFE6D43130D7"],["ArbitrumSepolia","0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d"],["Solana","4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU"],["BaseSepolia","0x036CbD53842c5426634e7929541eC2318f3dCF7e"],["Polygon","0x9999f7Fea5938fD3b1E26A12c3f2fb024e194f97"],["Sui","0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29::usdc::USDC"],["Aptos","0x69091fbab5f7d635ee7ac5098cf0c1efbe31d68fec0f2cd565e8d168daf52832"],["Unichain","0x31d0220469e10c4E71834a79b1f276d740d3768F"],["Sonic","0xA4879Fed32Ecbef99399e5cbC247E533421C4eC6"],["Linea","0xFEce4462D57bD51A6A552365A011b95f0E16d9B7"],["Seievm","0x4fCF1784B31630811181f670Aea7A7bEF803eaED"],["HyperEVM","0x2B3370eE501B4a559b57D449569354196457D8Ab"]]]],Ss=ne($b),jc=[["Mainnet",[["Ethereum",0],["Avalanche",1],["Optimism",2],["Arbitrum",3],["Solana",5],["Base",6],["Polygon",7],["Sui",8],["Aptos",9],["Unichain",10]]],["Testnet",[["Sepolia",0],["Avalanche",1],["OptimismSepolia",2],["ArbitrumSepolia",3],["Solana",5],["BaseSepolia",6],["Polygon",7],["Sui",8],["Aptos",9],["Unichain",10]]]],Xu=ne(jc,[[0,1],2]),jo=ne(jc,[[0,2],1]),[cA,lA]=$n(jc),Us=(t,e)=>Xu.has(t,e),yd=(t,e)=>jo.has(t,e),Ad=(t,e)=>Ss.has(t,e),Li=(t,e)=>{switch(typeof e){case"string":if(Us(t,e))return e;break;case"number":if(yd(t,e))return jo(t,e);break;case"bigint":const n=Number(e);if(yd(t,n))return jo(t,n);break}throw Error(`Cannot convert to Chain: ${e}`)},Jb=[["Mainnet",[["Solana","worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth"],["Ethereum","0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B"],["Bsc","0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B"],["Polygon","0x7A4B5a56256163F07b2C80A7cA55aBE66c4ec4d7"],["Avalanche","0x54a8e5f9c4CbA08F9943965859F6c34eAF03E26c"],["Algorand","842125965"],["Fantom","0x126783A6Cb203a3E35344528B26ca3a0489a1485"],["Klaytn","0x0C21603c4f3a6387e241c0091A7EA39E43E90bb7"],["Celo","0xa321448d90d4e5b0A732867c18eA198e75CAC48E"],["Near","contract.wormhole_crypto.near"],["Injective","inj17p9rzwnnfxcjp32un9ug7yhhzgtkhvl9l2q74d"],["Aptos","0x5bc11445584a763c1fa7ed39081f1b920954da14e04b32440cba863d03e19625"],["Sui","0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c"],["Moonbeam","0xC8e2b0cD52Cf01b0Ce87d389Daa3d414d4cE29f3"],["Arbitrum","0xa5f208e072434bC67592E4C49C1B991BA79BCA46"],["Optimism","0xEe91C335eab126dF5fDB3797EA9d6aD93aeC9722"],["Pythnet","H3fxXJ86ADW2PNuDDmZJg6mzTtPxkYCpNuQUTgmJ7AjU"],["Base","0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6"],["Xlayer","0x194B123c5E96B9b2E49763619985790Dc241CAC0"],["Sei","sei1gjrrme22cyha4ht2xapn3f08zzw6z3d4uxx6fyy9zd5dyr3yxgzqqncdqn"],["Wormchain","wormhole1ufs3tlq4umljk0qfe8k5ya0x6hpavn897u2cnf9k0en9jr7qarqqaqfk2j"],["Neutron","neutron16rerygcpahqcxx5t8vjla46ym8ccn7xz7rtc6ju5ujcd36cmc7zs9zrunh"],["Scroll","0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6"],["Mantle","0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6"],["Berachain","0xCa1D5a146B03f6303baF59e5AD5615ae0b9d146D"],["Seievm","0xCa1D5a146B03f6303baF59e5AD5615ae0b9d146D"],["Unichain","0xCa1D5a146B03f6303baF59e5AD5615ae0b9d146D"],["Worldchain","0xcbcEe4e081464A15d8Ad5f58BB493954421eB506"],["Ink","0xCa1D5a146B03f6303baF59e5AD5615ae0b9d146D"],["HyperEVM","0x7C0faFc4384551f063e05aee704ab943b8B53aB3"],["Mezo","0xaBf89de706B583424328B54dD05a8fC986750Da8"],["Plume","0xaBf89de706B583424328B54dD05a8fC986750Da8"],["Linea","0x0C56aebD76E6D9e4a1Ec5e94F4162B4CBbf77b32"],["XRPLEVM","0xaBf89de706B583424328B54dD05a8fC986750Da8"],["CreditCoin","0xaBf89de706B583424328B54dD05a8fC986750Da8"],["Monad","0x194B123c5E96B9b2E49763619985790Dc241CAC0"],["Fogo","worm2mrQkG1B1KTz37erMfWN8anHkSK24nzca7UD8BB"]]],["Testnet",[["Solana","3u8hJUVTA4jH1wYAyUur7FFZVQ8H635K3tSHHF4ssjQ5"],["Ethereum","0x706abc4E45D419950511e474C7B9Ed348A4a716c"],["Bsc","0x68605AD7b15c732a30b1BbC62BE8F2A509D74b4D"],["Polygon","0x0CBE91CF822c73C2315FB05100C2F714765d5c20"],["Avalanche","0x7bbcE28e64B3F8b84d876Ab298393c38ad7aac4C"],["Algorand","86525623"],["Fantom","0x1BB3B4119b7BA9dfad76B0545fb3F531383c3bB7"],["Klaytn","0x1830CC6eE66c84D2F177B94D544967c774E624cA"],["Celo","0x88505117CA88e7dd2eC6EA1E13f0948db2D50D56"],["Near","wormhole.wormhole.testnet"],["Injective","inj1xx3aupmgv3ce537c0yce8zzd3sz567syuyedpg"],["Osmosis","osmo1hggkxr0hpw83f8vuft7ruvmmamsxmwk2hzz6nytdkzyup9krt0dq27sgyx"],["Aptos","0x5bc11445584a763c1fa7ed39081f1b920954da14e04b32440cba863d03e19625"],["Sui","0x31358d198147da50db32eda2562951d53973a0c0ad5ed738e9b17d88b213d790"],["Moonbeam","0xa5B7D85a8f27dd7907dc8FdC21FA5657D5E2F901"],["Arbitrum","0xC7A204bDBFe983FCD8d8E61D02b475D4073fF97e"],["Optimism","0x6b9C8671cdDC8dEab9c719bB87cBd3e782bA6a35"],["Pythnet","EUrRARh92Cdc54xrDn6qzaqjA77NRrCcfbr8kPwoTL4z"],["Base","0x23908A62110e21C04F3A4e011d24F901F911744A"],["Sei","sei1nna9mzp274djrgzhzkac2gvm3j27l402s4xzr08chq57pjsupqnqaj0d5s"],["Sepolia","0x4a8bc80Ed5a4067f1CCf107057b8270E0cC11A78"],["Wormchain","wormhole16jzpxp0e8550c9aht6q9svcux30vtyyyyxv5w2l2djjra46580wsazcjwp"],["ArbitrumSepolia","0x6b9C8671cdDC8dEab9c719bB87cBd3e782bA6a35"],["BaseSepolia","0x79A1027a6A159502049F10906D333EC57E95F083"],["OptimismSepolia","0x31377888146f3253211EFEf5c676D41ECe7D58Fe"],["Holesky","0xa10f2eF61dE1f19f586ab8B6F2EbA89bACE63F7a"],["Neutron","neutron1enf63k37nnv9cugggpm06mg70emcnxgj9p64v2s8yx7a2yhhzk2q6xesk4"],["Mantle","0x376428e7f26D5867e69201b275553C45B09EE090"],["PolygonSepolia","0x6b9C8671cdDC8dEab9c719bB87cBd3e782bA6a35"],["Scroll","0x055F47F1250012C6B20c436570a76e52c17Af2D5"],["Berachain","0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd"],["Seievm","0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd"],["Unichain","0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd"],["Worldchain","0xe5E02cD12B6FcA153b0d7fF4bF55730AE7B3C93A"],["Ink","0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd"],["HyperEVM","0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd"],["Xlayer","0xA31aa3FDb7aF7Db93d18DDA4e19F811342EDF780"],["Linea","0x79A1027a6A159502049F10906D333EC57E95F083"],["Monad","0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd"],["Mezo","0x268557122Ffd64c85750d630b716471118F323c8"],["Converge","0x556B259cFaCd9896B2773310080c7c3bcE90Ff01"],["Fogo","BhnQyKoQQgpuRTRo6D8Emz93PvXCYfVgHhnrR4T3qhw4"],["Plume","0x81705b969cDcc6FbFde91a0C6777bE0EF3A75855"],["XRPLEVM","0xaBf89de706B583424328B54dD05a8fC986750Da8"],["Plasma","0xaBf89de706B583424328B54dD05a8fC986750Da8"],["CreditCoin","0xaBf89de706B583424328B54dD05a8fC986750Da8"],["Moca","0xaBf89de706B583424328B54dD05a8fC986750Da8"]]],["Devnet",[["Solana","Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o"],["Ethereum","0xC89Ce4735882C9F0f0FE26686c53074E09B0D550"],["Bsc","0xC89Ce4735882C9F0f0FE26686c53074E09B0D550"],["Algorand","1004"],["Near","wormhole.test.near"],["Aptos","0xde0036a9600559e295d5f6802ef6f3f802f510366e0c23912b0655d972166017"],["Sui","0x5a5160ca3c2037f4b4051344096ef7a48ebf4400b3f385e57ea90e1628a8bde0"],["Wormchain","wormhole17p9rzwnnfxcjp32un9ug7yhhzgtkhvl9jfksztgw5uh69wac2pgshdnj3k"],["Stacks","ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM"]]]],Yu=[["Mainnet",[["Solana","wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb"],["Ethereum","0x3ee18B2214AFF97000D974cf647E7C347E8fa585"],["Bsc","0xB6F6D86a8f9879A9c87f643768d9efc38c1Da6E7"],["Polygon","0x5a58505a96D1dbf8dF91cB21B54419FC36e93fdE"],["Avalanche","0x0e082F06FF657D94310cB8cE8B0D9a04541d8052"],["Algorand","842126029"],["Fantom","0x7C9Fc5741288cDFdD83CeB07f3ea7e22618D79D2"],["Klaytn","0x5b08ac39EAED75c0439FC750d9FE7E1F9dD0193F"],["Celo","0x796Dff6D74F3E27060B71255Fe517BFb23C93eed"],["Near","contract.portalbridge.near"],["Injective","inj1ghd753shjuwexxywmgs4xz7x2q732vcnxxynfn"],["Aptos","0x576410486a2da45eee6c949c995670112ddf2fbeedab20350d506328eefc9d4f"],["Sui","0xc57508ee0d4595e5a8728974a4a93a787d38f339757230d441e895422c07aba9"],["Moonbeam","0xb1731c586ca89a23809861c6103f0b96b3f57d92"],["Arbitrum","0x0b2402144Bb366A632D14B83F244D2e0e21bD39c"],["Optimism","0x1D68124e65faFC907325e3EDbF8c4d84499DAa8b"],["Base","0x8d2de8d2f73F1F4cAB472AC9A881C9b123C79627"],["Xlayer","0x5537857664B0f9eFe38C9f320F75fEf23234D904"],["Sei","sei1smzlm9t79kur392nu9egl8p8je9j92q4gzguewj56a05kyxxra0qy0nuf3"],["Wormchain","wormhole1466nf3zuxpya8q9emxukd7vftaf6h4psr0a07srl5zw74zh84yjq4lyjmh"],["Scroll","0x24850c6f61C438823F01B7A3BF2B89B72174Fa9d"],["Mantle","0x24850c6f61C438823F01B7A3BF2B89B72174Fa9d"],["Berachain","0x3Ff72741fd67D6AD0668d93B41a09248F4700560"],["Seievm","0x3Ff72741fd67D6AD0668d93B41a09248F4700560"],["Unichain","0x3Ff72741fd67D6AD0668d93B41a09248F4700560"],["Worldchain","0xc309275443519adca74c9136b02A38eF96E3a1f6"],["Ink","0x3Ff72741fd67D6AD0668d93B41a09248F4700560"],["XRPLEVM","0x47F5195163270345fb4d7B9319Eda8C64C75E278"],["Linea","0x167E0752de62cb76EFc0Fbb165Bd342c6e2Bb251"],["Monad","0x0B2719cdA2F10595369e6673ceA3Ee2EDFa13BA7"],["Fogo","wormQuCVWSSmPdjVmEzAWxAXViVyTSWnLyhff5hVYGS"]]],["Testnet",[["Solana","DZnkkTmCiFWfYTfT41X3Rd1kDgozqzxWaHqsw6W4x2oe"],["Ethereum","0xF890982f9310df57d00f659cf4fd87e65adEd8d7"],["Bsc","0x9dcF9D205C9De35334D646BeE44b2D2859712A09"],["Polygon","0x377D55a7928c046E18eEbb61977e714d2a76472a"],["Avalanche","0x61E44E506Ca5659E6c0bba9b678586fA2d729756"],["Algorand","86525641"],["Fantom","0x599CEa2204B4FaECd584Ab1F2b6aCA137a0afbE8"],["Klaytn","0xC7A13BE098720840dEa132D860fDfa030884b09A"],["Celo","0x05ca6037eC51F8b712eD2E6Fa72219FEaE74E153"],["Near","token.wormhole.testnet"],["Injective","inj1q0e70vhrv063eah90mu97sazhywmeegp7myvnh"],["Aptos","0x576410486a2da45eee6c949c995670112ddf2fbeedab20350d506328eefc9d4f"],["Sui","0x6fb10cdb7aa299e9a4308752dadecb049ff55a892de92992a1edbd7912b3d6da"],["Moonbeam","0xbc976D4b9D57E57c3cA52e1Fd136C45FF7955A96"],["Arbitrum","0x23908A62110e21C04F3A4e011d24F901F911744A"],["ArbitrumSepolia","0xC7A204bDBFe983FCD8d8E61D02b475D4073fF97e"],["Optimism","0xC7A204bDBFe983FCD8d8E61D02b475D4073fF97e"],["OptimismSepolia","0x99737Ec4B815d816c49A385943baf0380e75c0Ac"],["Base","0xA31aa3FDb7aF7Db93d18DDA4e19F811342EDF780"],["BaseSepolia","0x86F55A04690fd7815A3D802bD587e83eA888B239"],["Sei","sei1jv5xw094mclanxt5emammy875qelf3v62u4tl4lp5nhte3w3s9ts9w9az2"],["Sepolia","0xDB5492265f6038831E89f495670FF909aDe94bd9"],["Wormchain","wormhole1aaf9r6s7nxhysuegqrxv0wpm27ypyv4886medd3mrkrw6t4yfcnst3qpex"],["Holesky","0x76d093BbaE4529a342080546cAFEec4AcbA59EC6"],["Mantle","0x75Bfa155a9D7A3714b0861c8a8aF0C4633c45b5D"],["PolygonSepolia","0xC7A204bDBFe983FCD8d8E61D02b475D4073fF97e"],["Scroll","0x22427d90B7dA3fA4642F7025A854c7254E4e45BF"],["Xlayer","0xdA91a06299BBF302091B053c6B9EF86Eff0f930D"],["Berachain","0xa10f2eF61dE1f19f586ab8B6F2EbA89bACE63F7a"],["Seievm","0x23908A62110e21C04F3A4e011d24F901F911744A"],["Unichain","0xa10f2eF61dE1f19f586ab8B6F2EbA89bACE63F7a"],["Worldchain","0x430855B4D43b8AEB9D2B9869B74d58dda79C0dB2"],["Ink","0x376428e7f26D5867e69201b275553C45B09EE090"],["HyperEVM","0x4a8bc80Ed5a4067f1CCf107057b8270E0cC11A78"],["Linea","0xC7A204bDBFe983FCD8d8E61D02b475D4073fF97e"],["Monad","0xF323dcDe4d33efe83cf455F78F9F6cc656e6B659"],["Mezo","0xA31aa3FDb7aF7Db93d18DDA4e19F811342EDF780"],["Fogo","78HdStBqCMioGii9D8mF3zQaWDqDZBQWTUwjjpdmbJKX"],["XRPLEVM","0x7d8eBc211C4221eA18E511E4f0fD50c5A539f275"],["Moca","0xF97B81E513f53c7a6B57Bd0b103a6c295b3096C5"]]],["Devnet",[["Solana","B6RHG3mfcckmrYN1UhmJzyS1XX3fZKbkeUcpJe9Sy3FE"],["Ethereum","0x0290FB167208Af455bB137780163b7B7a9a10C16"],["Bsc","0x0290FB167208Af455bB137780163b7B7a9a10C16"],["Algorand","1006"],["Near","token.test.near"],["Aptos","0x84a5f374d29fc77e370014dce4fd6a55b58ad608de8074b0be5571701724da31"],["Sui","0xa6a3da85bbe05da5bfd953708d56f1a3a023e7fb58e5a824a3d4de3791e8f690"],["Wormchain","wormhole1ghd753shjuwexxywmgs4xz7x2q732vcnkm6h2pyv9s6ah3hylvrqtm7t3h"]]]],Zu=[["Mainnet",[["Ethereum","0xcafd2f0a35a4459fa40c0517e17e6fa2939441ca"],["Bsc","0xcafd2f0a35a4459fa40c0517e17e6fa2939441ca"],["Polygon","0xcafd2f0a35a4459fa40c0517e17e6fa2939441ca"],["Avalanche","0xcafd2f0a35a4459fa40c0517e17e6fa2939441ca"],["Fantom","0xcafd2f0a35a4459fa40c0517e17e6fa2939441ca"],["Celo","0xcafd2f0a35a4459fa40c0517e17e6fa2939441ca"],["Sui","0x57f4e0ba41a7045e29d435bc66cc4175f381eb700e6ec16d4fdfe92e5a4dff9f"],["Solana","3vxKRPwUTiEkeUVyoZ9MXFe1V71sRLbLqu1gRYaWmehQ"],["Base","0xaE8dc4a7438801Ec4edC0B035EcCCcF3807F4CC1"],["Moonbeam","0xcafd2f0a35a4459fa40c0517e17e6fa2939441ca"],["Arbitrum","0xaE8dc4a7438801Ec4edC0B035EcCCcF3807F4CC1"],["Optimism","0xaE8dc4a7438801Ec4edC0B035EcCCcF3807F4CC1"]]],["Testnet",[["Ethereum","0x9563a59c15842a6f322b10f69d1dd88b41f2e97b"],["Bsc","0x9563a59c15842a6f322b10f69d1dd88b41f2e97b"],["Polygon","0x9563a59c15842a6f322b10f69d1dd88b41f2e97b"],["Avalanche","0x9563a59c15842a6f322b10f69d1dd88b41f2e97b"],["Fantom","0x9563a59c15842a6f322b10f69d1dd88b41f2e97b"],["Celo","0x9563a59c15842a6f322b10f69d1dd88b41f2e97b"],["Sui","0xb30040e5120f8cb853b691cb6d45981ae884b1d68521a9dc7c3ae881c0031923"],["Base","0xae8dc4a7438801ec4edc0b035eccccf3807f4cc1"],["Moonbeam","0x9563a59c15842a6f322b10f69d1dd88b41f2e97b"],["Solana","3bPRWXqtSfUaCw3S4wdgvypQtsSzcmvDeaqSqPDkncrg"],["Sepolia",""],["ArbitrumSepolia","0xaE8dc4a7438801Ec4edC0B035EcCCcF3807F4CC1"],["OptimismSepolia","0xaE8dc4a7438801Ec4edC0B035EcCCcF3807F4CC1"],["BaseSepolia",""]]]],ef=[["Mainnet",[["Arbitrum",{relayer:"0x04C98824a64d75CD1E9Bc418088b4c9A99048153",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Avalanche",{relayer:"0x8849F05675E034b54506caB84450c8C82694a786",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Base",{relayer:"0xD8B736EF27Fc997b1d00F22FE37A58145D3BDA07",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Berachain",{relayer:"0xFAeFa20CB3759AEd2310E25015F05d62D8567A3F",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Bsc",{relayer:"0x2513515340fF71DD5AF02fC1BdB9615704d91524",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Celo",{relayer:"0xe478DEe705BEae591395B08934FA19F54df316BE",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Ethereum",{relayer:"0xa8969F3f8D97b3Ed89D4e2EC19B6B0CfD504b212",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Ink",{relayer:"0x4bFB47F4c8A904d2C24e73601D175FE3a38aAb5B",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Moonbeam",{relayer:"0xF6b9616C63Fa48D07D82c93CE02B5d9111c51a3d",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Optimism",{relayer:"0x37aC29617AE74c750a1e4d55990296BAF9b8De73",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Polygon",{relayer:"0x1d98CA4221516B9ac4869F5CeA7E6bb9C41609D6",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Scroll",{relayer:"0x05129e142e7d5A518D81f19Db342fBF5f7E26A18",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Seievm",{relayer:"0x7C129bc8F6188d12c0d1BBDE247F134148B97618",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Solana",{relayer:"tbr7Qje6qBzPwfM52csL5KFi8ps5c5vDyiVVBLYVdRf"}],["Unichain",{relayer:"0x9Bca817F67f01557aeD615130825A28F4C5f3b87",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Worldchain",{relayer:"0xc0565Bd29b34603C0383598E16843d95Ae9c4f65",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["XRPLEVM",{relayer:"0x37bCc9d175124F77Bfce68589d2a8090eF846B85",relayerWithReferrer:"0x13a35c075D6Acc1Fb9BddFE5FE38e7672789e4db"}],["Monad",{relayer:"0xf7E051f93948415952a2239582823028DacA948e",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Fogo",{relayer:"tbr7Qje6qBzPwfM52csL5KFi8ps5c5vDyiVVBLYVdRf"}]]],["Testnet",[["Avalanche",{relayer:"0x10Ce9a35883C44640e8B12fea4Cc1e77F77D8c52",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["BaseSepolia",{relayer:"0x523d25D33B975ad72283f73B1103354352dBCBb8",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Fogo",{relayer:"tbr7Qje6qBzPwfM52csL5KFi8ps5c5vDyiVVBLYVdRf"}],["Monad",{relayer:"0x5Ba2c39cF0624BB5fBe94E919519aEA0DdD68454",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Sepolia",{relayer:"0xb0b2119067cF04fa959f654250BD49fE1BD6F53c",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}],["Solana",{relayer:"tbr7Qje6qBzPwfM52csL5KFi8ps5c5vDyiVVBLYVdRf"}],["XRPLEVM",{relayer:"0xb00224c60fe6ab134c8544dc29350286545f8dcc",relayerWithReferrer:"0x17CFAAf9e8a5ABb1eee758dB9040F945c9EAC907"}],["Mezo",{relayer:"0x2002a44b1106DF83671Fb419A2079a75e2a34808",relayerWithReferrer:"0x412f30e9f8B4a1e99eaE90209A6b00f5C3cc8739"}]]]],tf=[["Mainnet",[["Aptos","0x11aa75c059e1a7855be66b931bf340a2e0973274ac16b5f519c02ceafaf08a18"],["Arbitrum","0x3980f8318fc03d79033Bbb421A622CDF8d2Eeab4"],["Avalanche","0x4661F0E629E4ba8D04Ee90080Aee079740B00381"],["Base","0x9E1936E91A4a5AE5A5F75fFc472D6cb8e93597ea"],["Berachain","0x0Dd7a5a32311b8D87A615Cc7f079B632D3d5e2D3"],["Bsc","0xeC8cCCD058DbF28e5D002869Aa9aFa3992bf4ee0"],["Celo","0xe6Ea5087c6860B94Cf098a403506262D8F28cF05"],["CreditCoin","0xd2e420188f17607Aa6344ee19c3e76Cf86CA7BDe"],["Ethereum","0x84EEe8dBa37C36947397E1E11251cA9A06Fc6F8a"],["HyperEVM","0xd7717899cc4381033Bc200431286D0AC14265F78"],["Ink","0x3e44a5F45cbD400acBEF534F51e616043B211Ddd"],["Linea","0x23aF2B5296122544A9A7861da43405D5B15a9bD3"],["Mezo","0x0f9b8E144Cc5C5e7C0073829Afd30F26A50c5606"],["Moonbeam","0x85D06449C78064c2E02d787e9DC71716786F8D19"],["Optimism","0x85B704501f6AE718205C0636260768C4e72ac3e7"],["Polygon","0x0B23efA164aB3eD08e9a39AC7aD930Ff4F5A5e81"],["Scroll","0xcFAdDE24640e395F5A71456A825D0D7C3741F075"],["Seievm","0x25f1c923fb7a5aefa5f0a2b419fc70f2368e66e5"],["Solana","execXUrAsMnqMmTHj5m7N1YQgsDz3cwGLYCYyuDRciV"],["Sonic","0x3Fdc36b4260Da38fBDba1125cCBD33DD0AC74812"],["Sui","0xdb0fe8bb1e2b5be628adbea0636063325073e1070ee11e4281457dfd7f158235"],["Unichain","0x764dD868eAdD27ce57BCB801E4ca4a193d231Aed"],["Worldchain","0x8689b4E6226AdC8fa8FF80aCc3a60AcE31e8804B"],["XRPLEVM","0x8345E90Dcd92f5Cf2FAb0C8E2A56A5bc2c30d896"],["Monad","0xC04dE634982cAdF2A677310b73630B7Ac56A3f65"],["Fogo","execXUrAsMnqMmTHj5m7N1YQgsDz3cwGLYCYyuDRciV"]]],["Testnet",[["Aptos","0x139717c339f08af674be77143507a905aa28cbc67a0e53e7095c07b630d73815"],["ArbitrumSepolia","0xBF161de6B819c8af8f2230Bcd99a9B3592f6F87b"],["Avalanche","0x4661F0E629E4ba8D04Ee90080Aee079740B00381"],["BaseSepolia","0x51B47D493CBA7aB97e3F8F163D6Ce07592CE4482"],["Converge","0xAab9935349B9c08e0e970720F6D640d5B91C293E"],["Fogo","execXUrAsMnqMmTHj5m7N1YQgsDz3cwGLYCYyuDRciV"],["Monad","0xC04dE634982cAdF2A677310b73630B7Ac56A3f65"],["OptimismSepolia","0x5856651eB82aeb6979B4954317194d48e1891b3c"],["Plume","0x8fc2FbA8F962fbE89a9B02f03557a011c335A455"],["Seievm","0x25f1c923Fb7A5aEFA5F0A2b419fC70f2368e66e5"],["Sepolia","0xD0fb39f5a3361F21457653cB70F9D0C9bD86B66B"],["Solana","execXUrAsMnqMmTHj5m7N1YQgsDz3cwGLYCYyuDRciV"],["Sui","0x4000cfe2955d8355b3d3cf186f854fea9f787a457257056926fde1ec977670eb"],["XRPLEVM","0x4d9525D94D275dEB495b7C8840b154Ae04cfaC2A"],["Mezo","0x0f9b8E144Cc5C5e7C0073829Afd30F26A50c5606"]]]],Xb=[["Mainnet",[["Solana","WnFt12ZrnzZrFZkt2xsNsaNWoQribnuQ5B5FrDbwDhD"],["Ethereum","0x6FFd7EdE62328b3Af38FCD61461Bbfc52F5651fE"],["Bsc","0x5a58505a96D1dbf8dF91cB21B54419FC36e93fdE"],["Polygon","0x90BBd86a6Fe93D3bc3ed6335935447E75fAb7fCf"],["Avalanche","0xf7B6737Ca9c4e08aE573F75A97B73D7a813f5De5"],["Fantom","0xA9c7119aBDa80d4a4E0C06C8F4d8cF5893234535"],["Klaytn","0x3c3c561757BAa0b78c5C025CdEAa4ee24C1dFfEf"],["Celo","0xA6A377d75ca5c9052c9a77ED1e865Cc25Bd97bf3"],["Aptos","0x1bdffae984043833ed7fe223f7af7a3f8902d04129b14f801823e64827da7130"],["Moonbeam","0x453cfbe096c0f8d763e8c5f24b441097d577bde2"],["Arbitrum","0x3dD14D553cFD986EAC8e3bddF629d82073e188c8"],["Base","0xDA3adC6621B2677BEf9aD26598e6939CF0D92f88"],["Optimism","0xfE8cD454b4A1CA468B57D79c0cc77Ef5B6f64585"]]],["Testnet",[["Solana","2rHhojZ7hpu1zA91nvZmT8TqWWvMcKmmNBCr2mKTtMq4"],["Ethereum","0xD8E4C2DbDd2e2bd8F1336EA691dBFF6952B1a6eB"],["Bsc","0xcD16E5613EF35599dc82B24Cb45B5A93D779f1EE"],["Polygon","0x51a02d0dcb5e52F5b92bdAA38FA013C91c7309A9"],["Avalanche","0xD601BAf2EEE3C028344471684F6b27E789D9075D"],["Fantom","0x63eD9318628D26BdCB15df58B53BB27231D1B227"],["Klaytn","0x94c994fC51c13101062958b567e743f1a04432dE"],["Celo","0xaCD8190F647a31E56A656748bC30F69259f245Db"],["Moonbeam","0x98A0F4B96972b32Fcb3BD03cAeB66A44a6aB9Edb"],["Arbitrum","0xEe3dB83916Ccdc3593b734F7F2d16D630F39F1D0"],["Optimism","0x23908A62110e21C04F3A4e011d24F901F911744A"],["Base","0xF681d1cc5F25a3694E348e7975d7564Aa581db59"],["Sepolia","0x6a0B52ac198e4870e5F3797d5B403838a5bbFD99"],["Aptos","0x1bdffae984043833ed7fe223f7af7a3f8902d04129b14f801823e64827da7130"],["ArbitrumSepolia","0x23908A62110e21C04F3A4e011d24F901F911744A"],["BaseSepolia","0x268557122Ffd64c85750d630b716471118F323c8"],["OptimismSepolia","0x27812285fbe85BA1DF242929B906B31EE3dd1b9f"],["Holesky","0xc8941d483c45eF8FB72E4d1F9dDE089C95fF8171"],["PolygonSepolia","0x23908A62110e21C04F3A4e011d24F901F911744A"],["Mantle","0xD7D732C8Bf5eBF620EA55b5828eae20418eEF083"],["Scroll","0x47B9a1406BEe29a3001BFEB7e45aE45fFFB40c18"]]],["Devnet",[["Solana","NFTWqJR8YnRVqPDvTJrYuLrQDitTG5AScqbeghi4zSA"],["Ethereum","0x26b4afb60d6c903165150c6f0aa14f8016be4aec"],["Bsc","0x26b4afb60d6c903165150c6f0aa14f8016be4aec"],["Aptos","0x46da3d4c569388af61f951bdd1153f4c875f90c2991f6b2d0a38e2161a40852c"]]]],Yb=[["Mainnet",[["Ethereum","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Bsc","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Polygon","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Avalanche","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Fantom","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Klaytn","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Celo","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Moonbeam","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Base","0x706f82e9bb5b0813501714ab5974216704980e31"],["Arbitrum","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Optimism","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Scroll","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Mantle","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Xlayer","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Berachain","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Seievm","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Ink","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Worldchain","0x1520cc9e779c56dab5866bebfb885c86840c33d3"],["Unichain","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Mezo","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"],["Plume","0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"]]],["Testnet",[["Ethereum","0x28D8F1Be96f97C1387e94A53e00eCcFb4E75175a"],["Bsc","0x80aC94316391752A193C1c47E27D382b507c93F3"],["Polygon","0x0591C25ebd0580E0d4F27A82Fc2e24E7489CB5e0"],["Avalanche","0xA3cF45939bD6260bcFe3D66bc73d60f19e49a8BB"],["Fantom","0x7B1bD7a6b4E61c2a123AC6BC2cbfC614437D0470"],["Celo","0x306B68267Deb7c5DfCDa3619E22E9Ca39C374f84"],["Seievm","0x362fca37E45fe1096b42021b543f462D49a5C8df"],["Moonbeam","0x0591C25ebd0580E0d4F27A82Fc2e24E7489CB5e0"],["Arbitrum","0xAd753479354283eEE1b86c9470c84D42f229FF43"],["Optimism","0x01A957A525a5b7A72808bA9D10c389674E459891"],["Base","0xea8029CD7FCAEFFcD1F53686430Db0Fc8ed384E1"],["Sepolia","0x7B1bD7a6b4E61c2a123AC6BC2cbfC614437D0470"],["ArbitrumSepolia","0x7B1bD7a6b4E61c2a123AC6BC2cbfC614437D0470"],["BaseSepolia","0x93BAD53DDfB6132b0aC8E37f6029163E63372cEE"],["OptimismSepolia","0x93BAD53DDfB6132b0aC8E37f6029163E63372cEE"],["Berachain","0x362fca37E45fe1096b42021b543f462D49a5C8df"],["Unichain","0x362fca37E45fe1096b42021b543f462D49a5C8df"],["Ink","0x362fca37E45fe1096b42021b543f462D49a5C8df"],["Mezo","0x362fca37E45fe1096b42021b543f462D49a5C8df"],["XRPLEVM","0x362fca37E45fe1096b42021b543f462D49a5C8df"],["Monad","0x362fca37E45fe1096b42021b543f462D49a5C8df"],["PolygonSepolia","0x362fca37E45fe1096b42021b543f462D49a5C8df"]]],["Devnet",[["Ethereum","0xcC680D088586c09c3E0E099a676FA4b6e42467b4"],["Bsc","0xcC680D088586c09c3E0E099a676FA4b6e42467b4"]]]],nf=[["Mainnet",[["Ethereum",{tokenMessenger:"0xbd3fa81b58ba92a82136038b25adec7066af3155",messageTransmitter:"0x0a992d191deec32afe36203ad87d7d289a738f81",wormholeRelayer:"0x4cb69FaE7e7Af841e44E1A1c30Af640739378bb2",wormhole:"0xAaDA05BD399372f0b0463744C09113c137636f6a"}],["Avalanche",{tokenMessenger:"0x6b25532e1060ce10cc3b0a99e5683b91bfde6982",messageTransmitter:"0x8186359af5f57fbb40c6b14a588d2a59c0c29880",wormholeRelayer:"0x4cb69FaE7e7Af841e44E1A1c30Af640739378bb2",wormhole:"0x09Fb06A271faFf70A651047395AaEb6265265F13"}],["Optimism",{tokenMessenger:"0x2B4069517957735bE00ceE0fadAE88a26365528f",messageTransmitter:"0x4d41f22c5a0e5c74090899e5a8fb597a8842b3e8",wormholeRelayer:"0x4cb69FaE7e7Af841e44E1A1c30Af640739378bb2",wormhole:"0x2703483B1a5a7c577e8680de9Df8Be03c6f30e3c"}],["Arbitrum",{tokenMessenger:"0x19330d10D9Cc8751218eaf51E8885D058642E08A",messageTransmitter:"0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca",wormholeRelayer:"0x4cb69FaE7e7Af841e44E1A1c30Af640739378bb2",wormhole:"0x2703483B1a5a7c577e8680de9Df8Be03c6f30e3c"}],["Base",{tokenMessenger:"0x1682Ae6375C4E4A97e4B583BC394c861A46D8962",messageTransmitter:"0xAD09780d193884d503182aD4588450C416D6F9D4",wormholeRelayer:"0x4cb69FaE7e7Af841e44E1A1c30Af640739378bb2",wormhole:"0x03faBB06Fa052557143dC28eFCFc63FC12843f1D"}],["Solana",{tokenMessenger:"CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3",messageTransmitter:"CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd",wormholeRelayer:"",wormhole:""}],["Polygon",{tokenMessenger:"0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE",messageTransmitter:"0xF3be9355363857F3e001be68856A2f96b4C39Ba9",wormholeRelayer:"0x4cb69FaE7e7Af841e44E1A1c30Af640739378bb2",wormhole:"0x0FF28217dCc90372345954563486528aa865cDd6"}],["Sui",{tokenMessenger:"0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e",messageTransmitter:"0x08d87d37ba49e785dde270a83f8e979605b03dc552b5548f26fdf2f49bf7ed1b",wormholeRelayer:"",wormhole:""}],["Aptos",{tokenMessenger:"0x9e6702a472080ea3caaf6ba9dfaa6effad2290a9ba9adaacd5af5c618e42782d",messageTransmitter:"0x177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f1772",wormholeRelayer:"",wormhole:""}],["Unichain",{tokenMessenger:"0x4e744b28E787c3aD0e810eD65A24461D4ac5a762",messageTransmitter:"0x353bE9E2E38AB1D19104534e4edC21c643Df86f4",wormholeRelayer:"",wormhole:""}]]],["Testnet",[["Sepolia",{tokenMessenger:"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",messageTransmitter:"0x7865fAfC2db2093669d92c0F33AeEF291086BEFD",wormholeRelayer:"0x4cb69FaE7e7Af841e44E1A1c30Af640739378bb2",wormhole:"0x2703483B1a5a7c577e8680de9Df8Be03c6f30e3c"}],["Avalanche",{tokenMessenger:"0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0",messageTransmitter:"0xa9fb1b3009dcb79e2fe346c16a604b8fa8ae0a79",wormholeRelayer:"0x774a70bbd03327c21460b60f25b677d9e46ab458",wormhole:"0x58f4c17449c90665891c42e14d34aae7a26a472e"}],["OptimismSepolia",{tokenMessenger:"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",messageTransmitter:"0x7865fAfC2db2093669d92c0F33AeEF291086BEFD",wormholeRelayer:"0x4cb69FaE7e7Af841e44E1A1c30Af640739378bb2",wormhole:"0x2703483B1a5a7c577e8680de9Df8Be03c6f30e3c"}],["ArbitrumSepolia",{tokenMessenger:"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",messageTransmitter:"0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872",wormholeRelayer:"0x4cb69FaE7e7Af841e44E1A1c30Af640739378bb2",wormhole:"0x2703483B1a5a7c577e8680de9Df8Be03c6f30e3c"}],["Solana",{tokenMessenger:"CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3",messageTransmitter:"CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd",wormholeRelayer:"",wormhole:""}],["BaseSepolia",{tokenMessenger:"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",messageTransmitter:"0x7865fAfC2db2093669d92c0F33AeEF291086BEFD",wormholeRelayer:"0x4cb69FaE7e7Af841e44E1A1c30Af640739378bb2",wormhole:"0x2703483B1a5a7c577e8680de9Df8Be03c6f30e3c"}],["Polygon",{tokenMessenger:"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",messageTransmitter:"0xe09A679F56207EF33F5b9d8fb4499Ec00792eA73",wormholeRelayer:"0x4cb69FaE7e7Af841e44E1A1c30Af640739378bb2",wormhole:"0x2703483B1a5a7c577e8680de9Df8Be03c6f30e3c"}],["Sui",{tokenMessenger:"0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb",messageTransmitter:"0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5",wormholeRelayer:"",wormhole:""}],["Aptos",{tokenMessenger:"0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9",messageTransmitter:"0x081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d9",wormholeRelayer:"",wormhole:""}],["Unichain",{tokenMessenger:"0x8ed94B8dAd2Dc5453862ea5e316A8e71AAed9782",messageTransmitter:"0xbc498c326533d675cf571B90A2Ced265ACb7d086",wormholeRelayer:"",wormhole:""}]]]],Zb=[["Mainnet",[["Wormchain","wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx"]]],["Testnet",[["Wormchain","wormhole1ctnjk7an90lz5wjfvr3cf6x984a8cjnv8dpmztmlpcq4xteaa2xs9pwmzk"]]]],e2=[["Mainnet",[["Sei","sei189adguawugk3e55zn63z8r9ll29xrjwca636ra7v7gxuzn98sxyqwzt47l"]]],["Testnet",[["Sei","sei1dkdwdvknx0qav5cp5kw68mkn3r99m3svkyjfvkztwh97dv2lm0ksj6xrak"]]]],t2=[["Mainnet",[["Polygon",["Ethereum","0x86E4Dc95c7FBdBf52e33D563BbDB00823894C287"]],["Optimism",["Ethereum","0xdfe97868233d1aa22e815a266982f2cf17685a27"]],["Arbitrum",["Ethereum","0x1c479675ad559dc151f6ec7ed3fbf8cee79582b6"]]]],["Testnet",[["Polygon",["Ethereum","0x2890ba17efe978480615e330ecb65333b880928e"]],["Optimism",["Ethereum","0xe6dfba0953616bacab0c9a8ecb3a9bba77fc15c0"]],["Arbitrum",["Ethereum","0x45af9ed1d03703e480ce7d328fb684bb67da5049"]]]]],rf=[["Mainnet",[["Ethereum",{porticoUniswap:"0x48b6101128C0ed1E208b7C910e60542A2ee6f476",uniswapQuoterV2:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",porticoPancakeSwap:"0x4db1683d60e0a933A9A477a19FA32F472bB9d06e",pancakeSwapQuoterV2:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997"}],["Polygon",{porticoUniswap:"0x227bABe533fa9a1085f5261210E0B7137E44437B",uniswapQuoterV2:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",porticoPancakeSwap:void 0,pancakeSwapQuoterV2:void 0}],["Bsc",{porticoUniswap:"0x05498574BD0Fa99eeCB01e1241661E7eE58F8a85",uniswapQuoterV2:"0x78D78E420Da98ad378D7799bE8f4AF69033EB077",porticoPancakeSwap:"0xF352DC165783538A26e38A536e76DceF227d90F2",pancakeSwapQuoterV2:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997"}],["Avalanche",{porticoUniswap:"0xE565E118e75304dD3cF83dff409c90034b7EA18a",uniswapQuoterV2:"0xbe0F5544EC67e9B3b2D979aaA43f18Fd87E6257F",porticoPancakeSwap:void 0,pancakeSwapQuoterV2:void 0}],["Arbitrum",{porticoUniswap:"0x48fa7528bFD6164DdF09dF0Ed22451cF59c84130",uniswapQuoterV2:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",porticoPancakeSwap:"0xE70946692E2e56ae47BfAe2d93d31bd60952B090",pancakeSwapQuoterV2:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997"}],["Optimism",{porticoUniswap:"0x9ae506cDDd27DEe1275fd1fe6627E5dc65257061",uniswapQuoterV2:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",porticoPancakeSwap:void 0,pancakeSwapQuoterV2:void 0}],["Base",{porticoUniswap:"0x610d4DFAC3EC32e0be98D18DDb280DACD76A1889",uniswapQuoterV2:"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a",porticoPancakeSwap:"0x4568aa1eA0ED54db666c58B4526B3FC9BD9be9bf",pancakeSwapQuoterV2:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997"}],["Celo",{porticoUniswap:"0xE565E118e75304dD3cF83dff409c90034b7EA18a",uniswapQuoterV2:"0x82825d0554fA07f7FC52Ab63c961F330fdEFa8E8",porticoPancakeSwap:void 0,pancakeSwapQuoterV2:void 0}]]]],n2=[["Mainnet",[["Solana","87MEvHZCXE3ML5rrmh5uX1FbShHmRXXS32xJDGbQ7h5t"],["Polygon","0x09959798B95d00a3183d20FaC298E4594E599eab"],["Arbitrum","0x1293a54e160D1cd7075487898d65266081A15458"],["Optimism","0x1293a54e160D1cd7075487898d65266081A15458"],["Base","0x09959798B95d00a3183d20FaC298E4594E599eab"]]]],r2=ne(Jb),s2=ne(Yu),i2=ne(Zu),qo=ne(ef),a2=ne(tf),o2=ne(Xb),c2=ne(Yb),Ed=ne(Zb),wd=ne(e2),Bd=ne(rf),Wi=ne(n2),Ko=ne(nf);ne(t2);const l2=ne(Yu,[0,1]),d2=ne(Zu,[0,1]),u2=ne(ef,[0,1]);ne(tf,[0,1]);const f2=ne(nf,[0,1]),h2=ne(rf,[0,1]),qc=[["Mainnet",[["0x58CC3AE5C097b213cE3c81979e1B9f9570746AA5","JumpCrypto"],["0xfF6CB952589BDE862c25Ef4392132fb9D4A42157","Staked"],["0x114De8460193bdf3A2fCf81f86a09765F4762fD1","Figment"],["0x107A0086b32d7A0977926A205131d8731D39cbEB","ChainodeTech"],["0x8C82B2fd82FaeD2711d59AF0F2499D16e726f6b2","Inotel"],["0x11b39756C042441BE6D8650b69b54EbE715E2343","HashQuark"],["0x54Ce5B4D348fb74B958e8966e2ec3dBd4958a7cd","Chainlayer"],["0x15e7cAF07C4e3DC8e7C469f92C8Cd88FB8005a20","xLabs"],["0x74a3bf913953D695260D88BC1aA25A4eeE363ef0","Forbole"],["0x000aC0076727b35FBea2dAc28fEE5cCB0fEA768e","StakingFund"],["0xAF45Ced136b9D9e24903464AE889F5C8a723FC14","MoonletWallet"],["0xf93124b7c738843CBB89E864c862c38cddCccF95","P2PValidator"],["0xD2CC37A4dc036a8D232b48f62cDD4731412f4890","01Node"],["0xDA798F6896A3331F64b48c12D1D57Fd9cbe70811","MCF"],["0x71AA1BE1D36CaFE3867910F99C09e347899C19C3","Everstake"],["0x8192b6E7387CCd768277c17DAb1b7a5027c0b3Cf","ChorusOne"],["0x178e21ad2E77AE06711549CFBB1f9c7a9d8096e8","Syncnode"],["0x5E1487F35515d02A92753504a8D75471b9f49EdB","Triton"],["0x6FbEBc898F403E4773E95feB15E80C9A99c8348d","StakingFacilities"]]],["Testnet",[["0x13947Bd48b18E53fdAeEe77F3473391aC727C638","Testnet guardian"]]]],[dA,uA]=rb($n(Xi(qc)),[1,2]);ne(qc,[[0,2],1]);ne(qc,[1,[0,2]]);const Kc=5,m2=[["Mainnet",[["Ethereum","0x18084fbA666a33d37592fA2633fD49a74DD93a88"],["Solana","6DNSN2BJsaPFdFFc1zP37kkeNe4Usc1Sqkzr9C9vPWcU"],["Polygon","0x236aa50979D5f3De3Bd1Eeb40E81137F22ab794b"],["Arbitrum","0x6c84a8f1c29108F47a79964b5Fe888D4f4D0dE40"],["Optimism","0x6c84a8f1c29108F47a79964b5Fe888D4f4D0dE40"],["Base","0x236aa50979D5f3De3Bd1Eeb40E81137F22ab794b"]]]],b2=ne(m2),p2=[["Mainnet","https://executor.labsapis.com/v0"],["Testnet","https://executor-testnet.labsapis.com/v0"]],Cd=ne(p2),g2=[["Mainnet",[["Sui","https://graphql.mainnet.sui.io/graphql"]]],["Testnet",[["Sui","https://graphql.testnet.sui.io/graphql"]]],["Devnet",[]]],y2=ne(g2),sf=(t,e)=>y2.get(t,e)??"",Fr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function $s(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function qr(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Lt(t,...e){if(!$s(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Qc(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");qr(t.outputLen),qr(t.blockLen)}function br(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function $c(t,e){Lt(t);const n=e.outputLen;if(t.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function af(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function gn(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function Hi(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Vt(t,e){return t<<32-e|t>>>e}function A2(t,e){return t<<e|t>>>32-e>>>0}const of=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function cf(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}const E2=of?t=>t:t=>cf(t);function w2(t){for(let e=0;e<t.length;e++)t[e]=cf(t[e]);return t}const Qo=of?t=>t:w2,lf=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",B2=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function sr(t){if(Lt(t),lf)return t.toHex();let e="";for(let n=0;n<t.length;n++)e+=B2[t[n]];return e}const sn={_0:48,_9:57,A:65,F:70,a:97,f:102};function xd(t){if(t>=sn._0&&t<=sn._9)return t-sn._0;if(t>=sn.A&&t<=sn.F)return t-(sn.A-10);if(t>=sn.a&&t<=sn.f)return t-(sn.a-10)}function Ps(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(lf)return Uint8Array.fromHex(t);const e=t.length,n=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const r=new Uint8Array(n);for(let s=0,i=0;s<n;s++,i+=2){const a=xd(t.charCodeAt(i)),o=xd(t.charCodeAt(i+1));if(a===void 0||o===void 0){const c=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}r[s]=a*16+o}return r}function Jc(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function ls(t){return typeof t=="string"&&(t=Jc(t)),Lt(t),t}function C2(t){return typeof t=="string"&&(t=Jc(t)),Lt(t),t}function dn(...t){let e=0;for(let r=0;r<t.length;r++){const s=t[r];Lt(s),e+=s.length}const n=new Uint8Array(e);for(let r=0,s=0;r<t.length;r++){const i=t[r];n.set(i,s),s+=i.length}return n}function x2(t,e){if(e!==void 0&&{}.toString.call(e)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(t,e)}let Da=class{};function Js(t){const e=r=>t().update(ls(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function D2(t){const e=(r,s)=>t(s).update(ls(r)).digest(),n=t({});return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=r=>t(r),e}function Xc(t=32){if(Fr&&typeof Fr.getRandomValues=="function")return Fr.getRandomValues(new Uint8Array(t));if(Fr&&typeof Fr.randomBytes=="function")return Uint8Array.from(Fr.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}function F2(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const s=BigInt(32),i=BigInt(4294967295),a=Number(n>>s&i),o=Number(n&i),c=r?4:0,d=r?0:4;t.setUint32(e+c,a,r),t.setUint32(e+d,o,r)}function S2(t,e,n){return t&e^~t&n}function T2(t,e,n){return t&e^t&n^e&n}class Yc extends Da{constructor(e,n,r,s){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=s,this.buffer=new Uint8Array(e),this.view=Hi(this.buffer)}update(e){br(this),e=ls(e),Lt(e);const{view:n,buffer:r,blockLen:s}=this,i=e.length;for(let a=0;a<i;){const o=Math.min(s-this.pos,i-a);if(o===s){const c=Hi(e);for(;s<=i-a;a+=s)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){br(this),$c(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:s,isLE:i}=this;let{pos:a}=this;n[a++]=128,gn(this.buffer.subarray(a)),this.padOffset>s-a&&(this.process(r,0),a=0);for(let f=a;f<s;f++)n[f]=0;F2(r,s-8,BigInt(this.length*8),i),this.process(r,0);const o=Hi(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const d=c/4,l=this.get();if(d>l.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<d;f++)o.setUint32(4*f,l[f],i)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:s,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=s,e.pos=o,s%n&&e.buffer.set(r),e}clone(){return this._cloneInto()}}const Dn=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ze=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),pi=BigInt(2**32-1),Dd=BigInt(32);function df(t,e=!1){return e?{h:Number(t&pi),l:Number(t>>Dd&pi)}:{h:Number(t>>Dd&pi)|0,l:Number(t&pi)|0}}function uf(t,e=!1){const n=t.length;let r=new Uint32Array(n),s=new Uint32Array(n);for(let i=0;i<n;i++){const{h:a,l:o}=df(t[i],e);[r[i],s[i]]=[a,o]}return[r,s]}const Fd=(t,e,n)=>t>>>n,Sd=(t,e,n)=>t<<32-n|e>>>n,Gn=(t,e,n)=>t>>>n|e<<32-n,Vn=(t,e,n)=>t<<32-n|e>>>n,ws=(t,e,n)=>t<<64-n|e>>>n-32,Bs=(t,e,n)=>t>>>n-32|e<<64-n,v2=(t,e)=>e,I2=(t,e)=>t,k2=(t,e,n)=>t<<n|e>>>32-n,U2=(t,e,n)=>e<<n|t>>>32-n,P2=(t,e,n)=>e<<n-32|t>>>64-n,N2=(t,e,n)=>t<<n-32|e>>>64-n;function qt(t,e,n,r){const s=(e>>>0)+(r>>>0);return{h:t+n+(s/2**32|0)|0,l:s|0}}const ff=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),hf=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,R2=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),O2=(t,e,n,r,s)=>e+n+r+s+(t/2**32|0)|0,M2=(t,e,n,r,s)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(s>>>0),L2=(t,e,n,r,s,i)=>e+n+r+s+i+(t/2**32|0)|0,W2=Uint32Array.from([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]),Fn=new Uint32Array(64);let H2=class extends Yc{constructor(e=32){super(64,e,8,!1),this.A=Dn[0]|0,this.B=Dn[1]|0,this.C=Dn[2]|0,this.D=Dn[3]|0,this.E=Dn[4]|0,this.F=Dn[5]|0,this.G=Dn[6]|0,this.H=Dn[7]|0}get(){const{A:e,B:n,C:r,D:s,E:i,F:a,G:o,H:c}=this;return[e,n,r,s,i,a,o,c]}set(e,n,r,s,i,a,o,c){this.A=e|0,this.B=n|0,this.C=r|0,this.D=s|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0}process(e,n){for(let f=0;f<16;f++,n+=4)Fn[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){const m=Fn[f-15],b=Fn[f-2],w=Vt(m,7)^Vt(m,18)^m>>>3,E=Vt(b,17)^Vt(b,19)^b>>>10;Fn[f]=E+Fn[f-7]+w+Fn[f-16]|0}let{A:r,B:s,C:i,D:a,E:o,F:c,G:d,H:l}=this;for(let f=0;f<64;f++){const m=Vt(o,6)^Vt(o,11)^Vt(o,25),b=l+m+S2(o,c,d)+W2[f]+Fn[f]|0,E=(Vt(r,2)^Vt(r,13)^Vt(r,22))+T2(r,s,i)|0;l=d,d=c,c=o,o=a+b|0,a=i,i=s,s=r,r=b+E|0}r=r+this.A|0,s=s+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,d=d+this.G|0,l=l+this.H|0,this.set(r,s,i,a,o,c,d,l)}roundClean(){gn(Fn)}destroy(){this.set(0,0,0,0,0,0,0,0),gn(this.buffer)}};const mf=uf(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),z2=mf[0],G2=mf[1],Sn=new Uint32Array(80),Tn=new Uint32Array(80);let bf=class extends Yc{constructor(e=64){super(128,e,16,!1),this.Ah=Ze[0]|0,this.Al=Ze[1]|0,this.Bh=Ze[2]|0,this.Bl=Ze[3]|0,this.Ch=Ze[4]|0,this.Cl=Ze[5]|0,this.Dh=Ze[6]|0,this.Dl=Ze[7]|0,this.Eh=Ze[8]|0,this.El=Ze[9]|0,this.Fh=Ze[10]|0,this.Fl=Ze[11]|0,this.Gh=Ze[12]|0,this.Gl=Ze[13]|0,this.Hh=Ze[14]|0,this.Hl=Ze[15]|0}get(){const{Ah:e,Al:n,Bh:r,Bl:s,Ch:i,Cl:a,Dh:o,Dl:c,Eh:d,El:l,Fh:f,Fl:m,Gh:b,Gl:w,Hh:E,Hl:y}=this;return[e,n,r,s,i,a,o,c,d,l,f,m,b,w,E,y]}set(e,n,r,s,i,a,o,c,d,l,f,m,b,w,E,y){this.Ah=e|0,this.Al=n|0,this.Bh=r|0,this.Bl=s|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=d|0,this.El=l|0,this.Fh=f|0,this.Fl=m|0,this.Gh=b|0,this.Gl=w|0,this.Hh=E|0,this.Hl=y|0}process(e,n){for(let A=0;A<16;A++,n+=4)Sn[A]=e.getUint32(n),Tn[A]=e.getUint32(n+=4);for(let A=16;A<80;A++){const S=Sn[A-15]|0,T=Tn[A-15]|0,U=Gn(S,T,1)^Gn(S,T,8)^Fd(S,T,7),R=Vn(S,T,1)^Vn(S,T,8)^Sd(S,T,7),v=Sn[A-2]|0,M=Tn[A-2]|0,V=Gn(v,M,19)^ws(v,M,61)^Fd(v,M,6),Q=Vn(v,M,19)^Bs(v,M,61)^Sd(v,M,6),q=R2(R,Q,Tn[A-7],Tn[A-16]),N=O2(q,U,V,Sn[A-7],Sn[A-16]);Sn[A]=N|0,Tn[A]=q|0}let{Ah:r,Al:s,Bh:i,Bl:a,Ch:o,Cl:c,Dh:d,Dl:l,Eh:f,El:m,Fh:b,Fl:w,Gh:E,Gl:y,Hh:p,Hl:x}=this;for(let A=0;A<80;A++){const S=Gn(f,m,14)^Gn(f,m,18)^ws(f,m,41),T=Vn(f,m,14)^Vn(f,m,18)^Bs(f,m,41),U=f&b^~f&E,R=m&w^~m&y,v=M2(x,T,R,G2[A],Tn[A]),M=L2(v,p,S,U,z2[A],Sn[A]),V=v|0,Q=Gn(r,s,28)^ws(r,s,34)^ws(r,s,39),q=Vn(r,s,28)^Bs(r,s,34)^Bs(r,s,39),N=r&i^r&o^i&o,O=s&a^s&c^a&c;p=E|0,x=y|0,E=b|0,y=w|0,b=f|0,w=m|0,{h:f,l:m}=qt(d|0,l|0,M|0,V|0),d=o|0,l=c|0,o=i|0,c=a|0,i=r|0,a=s|0;const C=ff(V,q,O);r=hf(C,M,Q,N),s=C|0}({h:r,l:s}=qt(this.Ah|0,this.Al|0,r|0,s|0)),{h:i,l:a}=qt(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=qt(this.Ch|0,this.Cl|0,o|0,c|0),{h:d,l}=qt(this.Dh|0,this.Dl|0,d|0,l|0),{h:f,l:m}=qt(this.Eh|0,this.El|0,f|0,m|0),{h:b,l:w}=qt(this.Fh|0,this.Fl|0,b|0,w|0),{h:E,l:y}=qt(this.Gh|0,this.Gl|0,E|0,y|0),{h:p,l:x}=qt(this.Hh|0,this.Hl|0,p|0,x|0),this.set(r,s,i,a,o,c,d,l,f,m,b,w,E,y,p,x)}roundClean(){gn(Sn,Tn)}destroy(){gn(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};const et=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]);class V2 extends bf{constructor(){super(32),this.Ah=et[0]|0,this.Al=et[1]|0,this.Bh=et[2]|0,this.Bl=et[3]|0,this.Ch=et[4]|0,this.Cl=et[5]|0,this.Dh=et[6]|0,this.Dl=et[7]|0,this.Eh=et[8]|0,this.El=et[9]|0,this.Fh=et[10]|0,this.Fl=et[11]|0,this.Gh=et[12]|0,this.Gl=et[13]|0,this.Hh=et[14]|0,this.Hl=et[15]|0}}const Zc=Js(()=>new H2),pf=Js(()=>new bf),_2=Js(()=>new V2),gf=Zc,j2=BigInt(0),ps=BigInt(1),q2=BigInt(2),K2=BigInt(7),Q2=BigInt(256),$2=BigInt(113),yf=[],Af=[],Ef=[];for(let t=0,e=ps,n=1,r=0;t<24;t++){[n,r]=[r,(2*n+3*r)%5],yf.push(2*(5*r+n)),Af.push((t+1)*(t+2)/2%64);let s=j2;for(let i=0;i<7;i++)e=(e<<ps^(e>>K2)*$2)%Q2,e&q2&&(s^=ps<<(ps<<BigInt(i))-ps);Ef.push(s)}const wf=uf(Ef,!0),J2=wf[0],X2=wf[1],Td=(t,e,n)=>n>32?P2(t,e,n):k2(t,e,n),vd=(t,e,n)=>n>32?N2(t,e,n):U2(t,e,n);function Y2(t,e=24){const n=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let a=0;a<10;a++)n[a]=t[a]^t[a+10]^t[a+20]^t[a+30]^t[a+40];for(let a=0;a<10;a+=2){const o=(a+8)%10,c=(a+2)%10,d=n[c],l=n[c+1],f=Td(d,l,1)^n[o],m=vd(d,l,1)^n[o+1];for(let b=0;b<50;b+=10)t[a+b]^=f,t[a+b+1]^=m}let s=t[2],i=t[3];for(let a=0;a<24;a++){const o=Af[a],c=Td(s,i,o),d=vd(s,i,o),l=yf[a];s=t[l],i=t[l+1],t[l]=c,t[l+1]=d}for(let a=0;a<50;a+=10){for(let o=0;o<10;o++)n[o]=t[a+o];for(let o=0;o<10;o++)t[a+o]^=~n[(o+2)%10]&n[(o+4)%10]}t[0]^=J2[r],t[1]^=X2[r]}gn(n)}let Z2=class Bf extends Da{constructor(e,n,r,s=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=n,this.outputLen=r,this.enableXOF=s,this.rounds=i,qr(r),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=af(this.state)}clone(){return this._cloneInto()}keccak(){Qo(this.state32),Y2(this.state32,this.rounds),Qo(this.state32),this.posOut=0,this.pos=0}update(e){br(this),e=ls(e),Lt(e);const{blockLen:n,state:r}=this,s=e.length;for(let i=0;i<s;){const a=Math.min(n-this.pos,s-i);for(let o=0;o<a;o++)r[this.pos++]^=e[i++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:n,pos:r,blockLen:s}=this;e[r]^=n,(n&128)!==0&&r===s-1&&this.keccak(),e[s-1]^=128,this.keccak()}writeInto(e){br(this,!1),Lt(e),this.finish();const n=this.state,{blockLen:r}=this;for(let s=0,i=e.length;s<i;){this.posOut>=r&&this.keccak();const a=Math.min(r-this.posOut,i-s);e.set(n.subarray(this.posOut,this.posOut+a),s),this.posOut+=a,s+=a}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return qr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if($c(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,gn(this.state)}_cloneInto(e){const{blockLen:n,suffix:r,outputLen:s,rounds:i,enableXOF:a}=this;return e||(e=new Bf(n,r,s,a,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=s,e.enableXOF=a,e.destroyed=this.destroyed,e}};const Cf=(t,e,n)=>Js(()=>new Z2(e,t,n)),ep=Cf(6,136,256/8),Fa=Cf(1,136,256/8),tp=pf,np=_2;let xf=class extends Da{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,Qc(e);const r=ls(n);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const s=this.blockLen,i=new Uint8Array(s);i.set(r.length>s?e.create().update(r).digest():r);for(let a=0;a<i.length;a++)i[a]^=54;this.iHash.update(i),this.oHash=e.create();for(let a=0;a<i.length;a++)i[a]^=106;this.oHash.update(i),gn(i)}update(e){return br(this),this.iHash.update(e),this}digestInto(e){br(this),Lt(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:s,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const el=(t,e,n)=>new xf(t,e).update(n).digest();el.create=(t,e)=>new xf(t,e);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const tl=BigInt(0),ra=BigInt(1);function Ns(t,e=""){if(typeof t!="boolean"){const n=e&&`"${e}"`;throw new Error(n+"expected boolean, got type="+typeof t)}return t}function Nn(t,e,n=""){const r=$s(t),s=t?.length,i=e!==void 0;if(!r||i&&s!==e){const a=n&&`"${n}" `,o=i?` of length ${e}`:"",c=r?`length=${s}`:`type=${typeof t}`;throw new Error(a+"expected Uint8Array"+o+", got "+c)}return t}function gi(t){const e=t.toString(16);return e.length&1?"0"+e:e}function Df(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?tl:BigInt("0x"+t)}function Xs(t){return Df(sr(t))}function nl(t){return Lt(t),Df(sr(Uint8Array.from(t).reverse()))}function rl(t,e){return Ps(t.toString(16).padStart(e*2,"0"))}function Ff(t,e){return rl(t,e).reverse()}function ct(t,e,n){let r;if(typeof e=="string")try{r=Ps(e)}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if($s(e))r=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");const s=r.length;if(typeof n=="number"&&s!==n)throw new Error(t+" of length "+n+" expected, got "+s);return r}function rp(t){return Uint8Array.from(t)}const co=t=>typeof t=="bigint"&&tl<=t;function Sf(t,e,n){return co(t)&&co(e)&&co(n)&&e<=t&&t<n}function Tf(t,e,n,r){if(!Sf(e,n,r))throw new Error("expected valid "+t+": "+n+" <= n < "+r+", got "+e)}function sl(t){let e;for(e=0;t>tl;t>>=ra,e+=1);return e}function sp(t,e){return t>>BigInt(e)&ra}const Ys=t=>(ra<<BigInt(t))-ra;function ip(t,e,n){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");const r=b=>new Uint8Array(b),s=b=>Uint8Array.of(b);let i=r(t),a=r(t),o=0;const c=()=>{i.fill(1),a.fill(0),o=0},d=(...b)=>n(a,i,...b),l=(b=r(0))=>{a=d(s(0),b),i=d(),b.length!==0&&(a=d(s(1),b),i=d())},f=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let b=0;const w=[];for(;b<e;){i=d();const E=i.slice();w.push(E),b+=i.length}return dn(...w)};return(b,w)=>{c(),l(b);let E;for(;!(E=w(f()));)l();return c(),E}}function ap(t){return typeof t=="function"&&Number.isSafeInteger(t.outputLen)}function Sa(t,e,n={}){if(!t||typeof t!="object")throw new Error("expected valid options object");function r(s,i,a){const o=t[s];if(a&&o===void 0)return;const c=typeof o;if(c!==i||o===null)throw new Error(`param "${s}" is invalid: expected ${i}, got ${c}`)}Object.entries(e).forEach(([s,i])=>r(s,i,!1)),Object.entries(n).forEach(([s,i])=>r(s,i,!0))}const op=()=>{throw new Error("not implemented")};function $o(t){const e=new WeakMap;return(n,...r)=>{const s=e.get(n);if(s!==void 0)return s;const i=t(n,...r);return e.set(n,i),i}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const bt=BigInt(0),Ye=BigInt(1),Xn=BigInt(2),vf=BigInt(3),If=BigInt(4),kf=BigInt(5),cp=BigInt(7),Uf=BigInt(8),lp=BigInt(9),Pf=BigInt(16);function wt(t,e){const n=t%e;return n>=bt?n:e+n}function At(t,e,n){let r=t;for(;e-- >bt;)r*=r,r%=n;return r}function Id(t,e){if(t===bt)throw new Error("invert: expected non-zero number");if(e<=bt)throw new Error("invert: expected positive modulus, got "+e);let n=wt(t,e),r=e,s=bt,i=Ye;for(;n!==bt;){const o=r/n,c=r%n,d=s-i*o;r=n,n=c,s=i,i=d}if(r!==Ye)throw new Error("invert: does not exist");return wt(s,e)}function il(t,e,n){if(!t.eql(t.sqr(e),n))throw new Error("Cannot find square root")}function Nf(t,e){const n=(t.ORDER+Ye)/If,r=t.pow(e,n);return il(t,r,e),r}function dp(t,e){const n=(t.ORDER-kf)/Uf,r=t.mul(e,Xn),s=t.pow(r,n),i=t.mul(e,s),a=t.mul(t.mul(i,Xn),s),o=t.mul(i,t.sub(a,t.ONE));return il(t,o,e),o}function up(t){const e=ds(t),n=Rf(t),r=n(e,e.neg(e.ONE)),s=n(e,r),i=n(e,e.neg(r)),a=(t+cp)/Pf;return(o,c)=>{let d=o.pow(c,a),l=o.mul(d,r);const f=o.mul(d,s),m=o.mul(d,i),b=o.eql(o.sqr(l),c),w=o.eql(o.sqr(f),c);d=o.cmov(d,l,b),l=o.cmov(m,f,w);const E=o.eql(o.sqr(l),c),y=o.cmov(d,l,E);return il(o,y,c),y}}function Rf(t){if(t<vf)throw new Error("sqrt is not defined for small field");let e=t-Ye,n=0;for(;e%Xn===bt;)e/=Xn,n++;let r=Xn;const s=ds(t);for(;Jo(s,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return Nf;let i=s.pow(r,e);const a=(e+Ye)/Xn;return function(c,d){if(c.is0(d))return d;if(Jo(c,d)!==1)throw new Error("Cannot find square root");let l=n,f=c.mul(c.ONE,i),m=c.pow(d,e),b=c.pow(d,a);for(;!c.eql(m,c.ONE);){if(c.is0(m))return c.ZERO;let w=1,E=c.sqr(m);for(;!c.eql(E,c.ONE);)if(w++,E=c.sqr(E),w===l)throw new Error("Cannot find square root");const y=Ye<<BigInt(l-w-1),p=c.pow(f,y);l=w,f=c.sqr(p),m=c.mul(m,f),b=c.mul(b,p)}return b}}function fp(t){return t%If===vf?Nf:t%Uf===kf?dp:t%Pf===lp?up(t):Rf(t)}const hp=(t,e)=>(wt(t,e)&Ye)===Ye,mp=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function bp(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},n=mp.reduce((r,s)=>(r[s]="function",r),e);return Sa(t,n),t}function Of(t,e,n){if(n<bt)throw new Error("invalid exponent, negatives unsupported");if(n===bt)return t.ONE;if(n===Ye)return e;let r=t.ONE,s=e;for(;n>bt;)n&Ye&&(r=t.mul(r,s)),s=t.sqr(s),n>>=Ye;return r}function al(t,e,n=!1){const r=new Array(e.length).fill(n?t.ZERO:void 0),s=e.reduce((a,o,c)=>t.is0(o)?a:(r[c]=a,t.mul(a,o)),t.ONE),i=t.inv(s);return e.reduceRight((a,o,c)=>t.is0(o)?a:(r[c]=t.mul(a,r[c]),t.mul(a,o)),i),r}function Jo(t,e){const n=(t.ORDER-Ye)/Xn,r=t.pow(e,n),s=t.eql(r,t.ONE),i=t.eql(r,t.ZERO),a=t.eql(r,t.neg(t.ONE));if(!s&&!i&&!a)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function Mf(t,e){e!==void 0&&qr(e);const n=e!==void 0?e:t.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function ds(t,e,n=!1,r={}){if(t<=bt)throw new Error("invalid field: expected ORDER > 0, got "+t);let s,i,a=!1,o;if(typeof e=="object"&&e!=null){if(r.sqrt||n)throw new Error("cannot specify opts in two arguments");const m=e;m.BITS&&(s=m.BITS),m.sqrt&&(i=m.sqrt),typeof m.isLE=="boolean"&&(n=m.isLE),typeof m.modFromBytes=="boolean"&&(a=m.modFromBytes),o=m.allowedLengths}else typeof e=="number"&&(s=e),r.sqrt&&(i=r.sqrt);const{nBitLength:c,nByteLength:d}=Mf(t,s);if(d>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let l;const f=Object.freeze({ORDER:t,isLE:n,BITS:c,BYTES:d,MASK:Ys(c),ZERO:bt,ONE:Ye,allowedLengths:o,create:m=>wt(m,t),isValid:m=>{if(typeof m!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof m);return bt<=m&&m<t},is0:m=>m===bt,isValidNot0:m=>!f.is0(m)&&f.isValid(m),isOdd:m=>(m&Ye)===Ye,neg:m=>wt(-m,t),eql:(m,b)=>m===b,sqr:m=>wt(m*m,t),add:(m,b)=>wt(m+b,t),sub:(m,b)=>wt(m-b,t),mul:(m,b)=>wt(m*b,t),pow:(m,b)=>Of(f,m,b),div:(m,b)=>wt(m*Id(b,t),t),sqrN:m=>m*m,addN:(m,b)=>m+b,subN:(m,b)=>m-b,mulN:(m,b)=>m*b,inv:m=>Id(m,t),sqrt:i||(m=>(l||(l=fp(t)),l(f,m))),toBytes:m=>n?Ff(m,d):rl(m,d),fromBytes:(m,b=!0)=>{if(o){if(!o.includes(m.length)||m.length>d)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+m.length);const E=new Uint8Array(d);E.set(m,n?0:E.length-m.length),m=E}if(m.length!==d)throw new Error("Field.fromBytes: expected "+d+" bytes, got "+m.length);let w=n?nl(m):Xs(m);if(a&&(w=wt(w,t)),!b&&!f.isValid(w))throw new Error("invalid field element: outside of range 0..ORDER");return w},invertBatch:m=>al(f,m),cmov:(m,b,w)=>w?b:m});return Object.freeze(f)}function Lf(t){if(typeof t!="bigint")throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function ol(t){const e=Lf(t);return e+Math.ceil(e/2)}function Wf(t,e,n=!1){const r=t.length,s=Lf(e),i=ol(e);if(r<16||r<i||r>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);const a=n?nl(t):Xs(t),o=wt(a,e-Ye)+Ye;return n?Ff(o,s):rl(o,s)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Kr=BigInt(0),Yn=BigInt(1);function sa(t,e){const n=e.negate();return t?n:e}function zi(t,e){const n=al(t.Fp,e.map(r=>r.Z));return e.map((r,s)=>t.fromAffine(r.toAffine(n[s])))}function Hf(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function lo(t,e){Hf(t,e);const n=Math.ceil(e/t)+1,r=2**(t-1),s=2**t,i=Ys(t),a=BigInt(t);return{windows:n,windowSize:r,mask:i,maxNumber:s,shiftBy:a}}function kd(t,e,n){const{windowSize:r,mask:s,maxNumber:i,shiftBy:a}=n;let o=Number(t&s),c=t>>a;o>r&&(o-=i,c+=Yn);const d=e*r,l=d+Math.abs(o)-1,f=o===0,m=o<0,b=e%2!==0;return{nextN:c,offset:l,isZero:f,isNeg:m,isNegF:b,offsetF:d}}function pp(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((n,r)=>{if(!(n instanceof e))throw new Error("invalid point at index "+r)})}function gp(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((n,r)=>{if(!e.isValid(n))throw new Error("invalid scalar at index "+r)})}const uo=new WeakMap,zf=new WeakMap;function fo(t){return zf.get(t)||1}function Ud(t){if(t!==Kr)throw new Error("invalid wNAF")}let Gf=class{constructor(e,n){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=n}_unsafeLadder(e,n,r=this.ZERO){let s=e;for(;n>Kr;)n&Yn&&(r=r.add(s)),s=s.double(),n>>=Yn;return r}precomputeWindow(e,n){const{windows:r,windowSize:s}=lo(n,this.bits),i=[];let a=e,o=a;for(let c=0;c<r;c++){o=a,i.push(o);for(let d=1;d<s;d++)o=o.add(a),i.push(o);a=o.double()}return i}wNAF(e,n,r){if(!this.Fn.isValid(r))throw new Error("invalid scalar");let s=this.ZERO,i=this.BASE;const a=lo(e,this.bits);for(let o=0;o<a.windows;o++){const{nextN:c,offset:d,isZero:l,isNeg:f,isNegF:m,offsetF:b}=kd(r,o,a);r=c,l?i=i.add(sa(m,n[b])):s=s.add(sa(f,n[d]))}return Ud(r),{p:s,f:i}}wNAFUnsafe(e,n,r,s=this.ZERO){const i=lo(e,this.bits);for(let a=0;a<i.windows&&r!==Kr;a++){const{nextN:o,offset:c,isZero:d,isNeg:l}=kd(r,a,i);if(r=o,!d){const f=n[c];s=s.add(l?f.negate():f)}}return Ud(r),s}getPrecomputes(e,n,r){let s=uo.get(n);return s||(s=this.precomputeWindow(n,e),e!==1&&(typeof r=="function"&&(s=r(s)),uo.set(n,s))),s}cached(e,n,r){const s=fo(e);return this.wNAF(s,this.getPrecomputes(s,e,r),n)}unsafe(e,n,r,s){const i=fo(e);return i===1?this._unsafeLadder(e,n,s):this.wNAFUnsafe(i,this.getPrecomputes(i,e,r),n,s)}createCache(e,n){Hf(n,this.bits),zf.set(e,n),uo.delete(e)}hasCache(e){return fo(e)!==1}};function yp(t,e,n,r){let s=e,i=t.ZERO,a=t.ZERO;for(;n>Kr||r>Kr;)n&Yn&&(i=i.add(s)),r&Yn&&(a=a.add(s)),s=s.double(),n>>=Yn,r>>=Yn;return{p1:i,p2:a}}function Vf(t,e,n,r){pp(n,t),gp(r,e);const s=n.length,i=r.length;if(s!==i)throw new Error("arrays of points and scalars must have equal length");const a=t.ZERO,o=sl(BigInt(s));let c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);const d=Ys(c),l=new Array(Number(d)+1).fill(a),f=Math.floor((e.BITS-1)/c)*c;let m=a;for(let b=f;b>=0;b-=c){l.fill(a);for(let E=0;E<i;E++){const y=r[E],p=Number(y>>BigInt(b)&d);l[p]=l[p].add(n[E])}let w=a;for(let E=l.length-1,y=a;E>0;E--)y=y.add(l[E]),w=w.add(y);if(m=m.add(w),b!==0)for(let E=0;E<c;E++)m=m.double()}return m}function Pd(t,e,n){if(e){if(e.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return bp(e),e}else return ds(t,{isLE:n})}function _f(t,e,n={},r){if(r===void 0&&(r=t==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${t} CURVE object`);for(const c of["p","n","h"]){const d=e[c];if(!(typeof d=="bigint"&&d>Kr))throw new Error(`CURVE.${c} must be positive bigint`)}const s=Pd(e.p,n.Fp,r),i=Pd(e.n,n.Fn,r),o=["Gx","Gy","a",t==="weierstrass"?"b":"d"];for(const c of o)if(!s.isValid(e[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:s,Fn:i}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Nd=(t,e)=>(t+(t>=0?e:-e)/jf)/e;function Ap(t,e,n){const[[r,s],[i,a]]=e,o=Nd(a*t,n),c=Nd(-s*t,n);let d=t-o*r-c*i,l=-o*s-c*a;const f=d<hn,m=l<hn;f&&(d=-d),m&&(l=-l);const b=Ys(Math.ceil(sl(n)/2))+ir;if(d<hn||d>=b||l<hn||l>=b)throw new Error("splitScalar (endomorphism): failed, k="+t);return{k1neg:f,k1:d,k2neg:m,k2:l}}function Xo(t){if(!["compact","recovered","der"].includes(t))throw new Error('Signature format must be "compact", "recovered", or "der"');return t}function ho(t,e){const n={};for(let r of Object.keys(e))n[r]=t[r]===void 0?e[r]:t[r];return Ns(n.lowS,"lowS"),Ns(n.prehash,"prehash"),n.format!==void 0&&Xo(n.format),n}class Ep extends Error{constructor(e=""){super(e)}}const on={Err:Ep,_tlv:{encode:(t,e)=>{const{Err:n}=on;if(t<0||t>256)throw new n("tlv.encode: wrong tag");if(e.length&1)throw new n("tlv.encode: unpadded data");const r=e.length/2,s=gi(r);if(s.length/2&128)throw new n("tlv.encode: long form length too big");const i=r>127?gi(s.length/2|128):"";return gi(t)+i+s+e},decode(t,e){const{Err:n}=on;let r=0;if(t<0||t>256)throw new n("tlv.encode: wrong tag");if(e.length<2||e[r++]!==t)throw new n("tlv.decode: wrong tlv");const s=e[r++],i=!!(s&128);let a=0;if(!i)a=s;else{const c=s&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");const d=e.subarray(r,r+c);if(d.length!==c)throw new n("tlv.decode: length bytes not complete");if(d[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(const l of d)a=a<<8|l;if(r+=c,a<128)throw new n("tlv.decode(long): not minimal encoding")}const o=e.subarray(r,r+a);if(o.length!==a)throw new n("tlv.decode: wrong value length");return{v:o,l:e.subarray(r+a)}}},_int:{encode(t){const{Err:e}=on;if(t<hn)throw new e("integer: negative integers are not allowed");let n=gi(t);if(Number.parseInt(n[0],16)&8&&(n="00"+n),n.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return n},decode(t){const{Err:e}=on;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Xs(t)}},toSig(t){const{Err:e,_int:n,_tlv:r}=on,s=ct("signature",t),{v:i,l:a}=r.decode(48,s);if(a.length)throw new e("invalid signature: left bytes after parsing");const{v:o,l:c}=r.decode(2,i),{v:d,l}=r.decode(2,c);if(l.length)throw new e("invalid signature: left bytes after parsing");return{r:n.decode(o),s:n.decode(d)}},hexFromSig(t){const{_tlv:e,_int:n}=on,r=e.encode(2,n.encode(t.r)),s=e.encode(2,n.encode(t.s)),i=r+s;return e.encode(48,i)}},hn=BigInt(0),ir=BigInt(1),jf=BigInt(2),yi=BigInt(3),wp=BigInt(4);function Rn(t,e){const{BYTES:n}=t;let r;if(typeof e=="bigint")r=e;else{let s=ct("private key",e);try{r=t.fromBytes(s)}catch{throw new Error(`invalid private key: expected ui8a of size ${n}, got ${typeof e}`)}}if(!t.isValidNot0(r))throw new Error("invalid private key: out of range [1..N-1]");return r}function qf(t,e={}){const n=_f("weierstrass",t,e),{Fp:r,Fn:s}=n;let i=n.CURVE;const{h:a,n:o}=i;Sa(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:c}=e;if(c&&(!r.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const d=Qf(r,s);function l(){if(!r.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function f(q,N,O){const{x:C,y:k}=N.toAffine(),H=r.toBytes(C);if(Ns(O,"isCompressed"),O){l();const G=!r.isOdd(k);return dn(Kf(G),H)}else return dn(Uint8Array.of(4),H,r.toBytes(k))}function m(q){Nn(q,void 0,"Point");const{publicKey:N,publicKeyUncompressed:O}=d,C=q.length,k=q[0],H=q.subarray(1);if(C===N&&(k===2||k===3)){const G=r.fromBytes(H);if(!r.isValid(G))throw new Error("bad point: is not on curve, wrong x");const z=E(G);let j;try{j=r.sqrt(z)}catch(me){const Z=me instanceof Error?": "+me.message:"";throw new Error("bad point: is not on curve, sqrt error"+Z)}l();const J=r.isOdd(j);return(k&1)===1!==J&&(j=r.neg(j)),{x:G,y:j}}else if(C===O&&k===4){const G=r.BYTES,z=r.fromBytes(H.subarray(0,G)),j=r.fromBytes(H.subarray(G,G*2));if(!y(z,j))throw new Error("bad point: is not on curve");return{x:z,y:j}}else throw new Error(`bad point: got length ${C}, expected compressed=${N} or uncompressed=${O}`)}const b=e.toBytes||f,w=e.fromBytes||m;function E(q){const N=r.sqr(q),O=r.mul(N,q);return r.add(r.add(O,r.mul(q,i.a)),i.b)}function y(q,N){const O=r.sqr(N),C=E(q);return r.eql(O,C)}if(!y(i.Gx,i.Gy))throw new Error("bad curve params: generator point");const p=r.mul(r.pow(i.a,yi),wp),x=r.mul(r.sqr(i.b),BigInt(27));if(r.is0(r.add(p,x)))throw new Error("bad curve params: a or b");function A(q,N,O=!1){if(!r.isValid(N)||O&&r.is0(N))throw new Error(`bad point coordinate ${q}`);return N}function S(q){if(!(q instanceof M))throw new Error("ProjectivePoint expected")}function T(q){if(!c||!c.basises)throw new Error("no endo");return Ap(q,c.basises,s.ORDER)}const U=$o((q,N)=>{const{X:O,Y:C,Z:k}=q;if(r.eql(k,r.ONE))return{x:O,y:C};const H=q.is0();N==null&&(N=H?r.ONE:r.inv(k));const G=r.mul(O,N),z=r.mul(C,N),j=r.mul(k,N);if(H)return{x:r.ZERO,y:r.ZERO};if(!r.eql(j,r.ONE))throw new Error("invZ was invalid");return{x:G,y:z}}),R=$o(q=>{if(q.is0()){if(e.allowInfinityPoint&&!r.is0(q.Y))return;throw new Error("bad point: ZERO")}const{x:N,y:O}=q.toAffine();if(!r.isValid(N)||!r.isValid(O))throw new Error("bad point: x or y not field elements");if(!y(N,O))throw new Error("bad point: equation left != right");if(!q.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function v(q,N,O,C,k){return O=new M(r.mul(O.X,q),O.Y,O.Z),N=sa(C,N),O=sa(k,O),N.add(O)}class M{constructor(N,O,C){this.X=A("x",N),this.Y=A("y",O,!0),this.Z=A("z",C),Object.freeze(this)}static CURVE(){return i}static fromAffine(N){const{x:O,y:C}=N||{};if(!N||!r.isValid(O)||!r.isValid(C))throw new Error("invalid affine point");if(N instanceof M)throw new Error("projective point not allowed");return r.is0(O)&&r.is0(C)?M.ZERO:new M(O,C,r.ONE)}static fromBytes(N){const O=M.fromAffine(w(Nn(N,void 0,"point")));return O.assertValidity(),O}static fromHex(N){return M.fromBytes(ct("pointHex",N))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(N=8,O=!0){return Q.createCache(this,N),O||this.multiply(yi),this}assertValidity(){R(this)}hasEvenY(){const{y:N}=this.toAffine();if(!r.isOdd)throw new Error("Field doesn't support isOdd");return!r.isOdd(N)}equals(N){S(N);const{X:O,Y:C,Z:k}=this,{X:H,Y:G,Z:z}=N,j=r.eql(r.mul(O,z),r.mul(H,k)),J=r.eql(r.mul(C,z),r.mul(G,k));return j&&J}negate(){return new M(this.X,r.neg(this.Y),this.Z)}double(){const{a:N,b:O}=i,C=r.mul(O,yi),{X:k,Y:H,Z:G}=this;let z=r.ZERO,j=r.ZERO,J=r.ZERO,Y=r.mul(k,k),me=r.mul(H,H),Z=r.mul(G,G),_=r.mul(k,H);return _=r.add(_,_),J=r.mul(k,G),J=r.add(J,J),z=r.mul(N,J),j=r.mul(C,Z),j=r.add(z,j),z=r.sub(me,j),j=r.add(me,j),j=r.mul(z,j),z=r.mul(_,z),J=r.mul(C,J),Z=r.mul(N,Z),_=r.sub(Y,Z),_=r.mul(N,_),_=r.add(_,J),J=r.add(Y,Y),Y=r.add(J,Y),Y=r.add(Y,Z),Y=r.mul(Y,_),j=r.add(j,Y),Z=r.mul(H,G),Z=r.add(Z,Z),Y=r.mul(Z,_),z=r.sub(z,Y),J=r.mul(Z,me),J=r.add(J,J),J=r.add(J,J),new M(z,j,J)}add(N){S(N);const{X:O,Y:C,Z:k}=this,{X:H,Y:G,Z:z}=N;let j=r.ZERO,J=r.ZERO,Y=r.ZERO;const me=i.a,Z=r.mul(i.b,yi);let _=r.mul(O,H),te=r.mul(C,G),le=r.mul(k,z),ge=r.add(O,C),oe=r.add(H,G);ge=r.mul(ge,oe),oe=r.add(_,te),ge=r.sub(ge,oe),oe=r.add(O,k);let ye=r.add(H,z);return oe=r.mul(oe,ye),ye=r.add(_,le),oe=r.sub(oe,ye),ye=r.add(C,k),j=r.add(G,z),ye=r.mul(ye,j),j=r.add(te,le),ye=r.sub(ye,j),Y=r.mul(me,oe),j=r.mul(Z,le),Y=r.add(j,Y),j=r.sub(te,Y),Y=r.add(te,Y),J=r.mul(j,Y),te=r.add(_,_),te=r.add(te,_),le=r.mul(me,le),oe=r.mul(Z,oe),te=r.add(te,le),le=r.sub(_,le),le=r.mul(me,le),oe=r.add(oe,le),_=r.mul(te,oe),J=r.add(J,_),_=r.mul(ye,oe),j=r.mul(ge,j),j=r.sub(j,_),_=r.mul(ge,te),Y=r.mul(ye,Y),Y=r.add(Y,_),new M(j,J,Y)}subtract(N){return this.add(N.negate())}is0(){return this.equals(M.ZERO)}multiply(N){const{endo:O}=e;if(!s.isValidNot0(N))throw new Error("invalid scalar: out of range");let C,k;const H=G=>Q.cached(this,G,z=>zi(M,z));if(O){const{k1neg:G,k1:z,k2neg:j,k2:J}=T(N),{p:Y,f:me}=H(z),{p:Z,f:_}=H(J);k=me.add(_),C=v(O.beta,Y,Z,G,j)}else{const{p:G,f:z}=H(N);C=G,k=z}return zi(M,[C,k])[0]}multiplyUnsafe(N){const{endo:O}=e,C=this;if(!s.isValid(N))throw new Error("invalid scalar: out of range");if(N===hn||C.is0())return M.ZERO;if(N===ir)return C;if(Q.hasCache(this))return this.multiply(N);if(O){const{k1neg:k,k1:H,k2neg:G,k2:z}=T(N),{p1:j,p2:J}=yp(M,C,H,z);return v(O.beta,j,J,k,G)}else return Q.unsafe(C,N)}multiplyAndAddUnsafe(N,O,C){const k=this.multiplyUnsafe(O).add(N.multiplyUnsafe(C));return k.is0()?void 0:k}toAffine(N){return U(this,N)}isTorsionFree(){const{isTorsionFree:N}=e;return a===ir?!0:N?N(M,this):Q.unsafe(this,o).is0()}clearCofactor(){const{clearCofactor:N}=e;return a===ir?this:N?N(M,this):this.multiplyUnsafe(a)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}toBytes(N=!0){return Ns(N,"isCompressed"),this.assertValidity(),b(M,this,N)}toHex(N=!0){return sr(this.toBytes(N))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(N=!0){return this.toBytes(N)}_setWindowSize(N){this.precompute(N)}static normalizeZ(N){return zi(M,N)}static msm(N,O){return Vf(M,s,N,O)}static fromPrivateKey(N){return M.BASE.multiply(Rn(s,N))}}M.BASE=new M(i.Gx,i.Gy,r.ONE),M.ZERO=new M(r.ZERO,r.ONE,r.ZERO),M.Fp=r,M.Fn=s;const V=s.BITS,Q=new Gf(M,e.endo?Math.ceil(V/2):V);return M.BASE.precompute(8),M}function Kf(t){return Uint8Array.of(t?2:3)}function Qf(t,e){return{secretKey:e.BYTES,publicKey:1+t.BYTES,publicKeyUncompressed:1+2*t.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function Bp(t,e={}){const{Fn:n}=t,r=e.randomBytes||Xc,s=Object.assign(Qf(t.Fp,n),{seed:ol(n.ORDER)});function i(b){try{return!!Rn(n,b)}catch{return!1}}function a(b,w){const{publicKey:E,publicKeyUncompressed:y}=s;try{const p=b.length;return w===!0&&p!==E||w===!1&&p!==y?!1:!!t.fromBytes(b)}catch{return!1}}function o(b=r(s.seed)){return Wf(Nn(b,s.seed,"seed"),n.ORDER)}function c(b,w=!0){return t.BASE.multiply(Rn(n,b)).toBytes(w)}function d(b){const w=o(b);return{secretKey:w,publicKey:c(w)}}function l(b){if(typeof b=="bigint")return!1;if(b instanceof t)return!0;const{secretKey:w,publicKey:E,publicKeyUncompressed:y}=s;if(n.allowedLengths||w===E)return;const p=ct("key",b).length;return p===E||p===y}function f(b,w,E=!0){if(l(b)===!0)throw new Error("first arg must be private key");if(l(w)===!1)throw new Error("second arg must be public key");const y=Rn(n,b);return t.fromHex(w).multiply(y).toBytes(E)}return Object.freeze({getPublicKey:c,getSharedSecret:f,keygen:d,Point:t,utils:{isValidSecretKey:i,isValidPublicKey:a,randomSecretKey:o,isValidPrivateKey:i,randomPrivateKey:o,normPrivateKeyToScalar:b=>Rn(n,b),precompute(b=8,w=t.BASE){return w.precompute(b,!1)}},lengths:s})}function Cp(t,e,n={}){Qc(e),Sa(n,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const r=n.randomBytes||Xc,s=n.hmac||((O,...C)=>el(e,O,dn(...C))),{Fp:i,Fn:a}=t,{ORDER:o,BITS:c}=a,{keygen:d,getPublicKey:l,getSharedSecret:f,utils:m,lengths:b}=Bp(t,n),w={prehash:!1,lowS:typeof n.lowS=="boolean"?n.lowS:!1,format:void 0,extraEntropy:!1},E="compact";function y(O){const C=o>>ir;return O>C}function p(O,C){if(!a.isValidNot0(C))throw new Error(`invalid signature ${O}: out of range 1..Point.Fn.ORDER`);return C}function x(O,C){Xo(C);const k=b.signature,H=C==="compact"?k:C==="recovered"?k+1:void 0;return Nn(O,H,`${C} signature`)}class A{constructor(C,k,H){this.r=p("r",C),this.s=p("s",k),H!=null&&(this.recovery=H),Object.freeze(this)}static fromBytes(C,k=E){x(C,k);let H;if(k==="der"){const{r:J,s:Y}=on.toSig(Nn(C));return new A(J,Y)}k==="recovered"&&(H=C[0],k="compact",C=C.subarray(1));const G=a.BYTES,z=C.subarray(0,G),j=C.subarray(G,G*2);return new A(a.fromBytes(z),a.fromBytes(j),H)}static fromHex(C,k){return this.fromBytes(Ps(C),k)}addRecoveryBit(C){return new A(this.r,this.s,C)}recoverPublicKey(C){const k=i.ORDER,{r:H,s:G,recovery:z}=this;if(z==null||![0,1,2,3].includes(z))throw new Error("recovery id invalid");if(o*jf<k&&z>1)throw new Error("recovery id is ambiguous for h>1 curve");const J=z===2||z===3?H+o:H;if(!i.isValid(J))throw new Error("recovery id 2 or 3 invalid");const Y=i.toBytes(J),me=t.fromBytes(dn(Kf((z&1)===0),Y)),Z=a.inv(J),_=T(ct("msgHash",C)),te=a.create(-_*Z),le=a.create(G*Z),ge=t.BASE.multiplyUnsafe(te).add(me.multiplyUnsafe(le));if(ge.is0())throw new Error("point at infinify");return ge.assertValidity(),ge}hasHighS(){return y(this.s)}toBytes(C=E){if(Xo(C),C==="der")return Ps(on.hexFromSig(this));const k=a.toBytes(this.r),H=a.toBytes(this.s);if(C==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return dn(Uint8Array.of(this.recovery),k,H)}return dn(k,H)}toHex(C){return sr(this.toBytes(C))}assertValidity(){}static fromCompact(C){return A.fromBytes(ct("sig",C),"compact")}static fromDER(C){return A.fromBytes(ct("sig",C),"der")}normalizeS(){return this.hasHighS()?new A(this.r,a.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return sr(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return sr(this.toBytes("compact"))}}const S=n.bits2int||function(C){if(C.length>8192)throw new Error("input is too large");const k=Xs(C),H=C.length*8-c;return H>0?k>>BigInt(H):k},T=n.bits2int_modN||function(C){return a.create(S(C))},U=Ys(c);function R(O){return Tf("num < 2^"+c,O,hn,U),a.toBytes(O)}function v(O,C){return Nn(O,void 0,"message"),C?Nn(e(O),void 0,"prehashed message"):O}function M(O,C,k){if(["recovered","canonical"].some(te=>te in k))throw new Error("sign() legacy options not supported");const{lowS:H,prehash:G,extraEntropy:z}=ho(k,w);O=v(O,G);const j=T(O),J=Rn(a,C),Y=[R(J),R(j)];if(z!=null&&z!==!1){const te=z===!0?r(b.secretKey):z;Y.push(ct("extraEntropy",te))}const me=dn(...Y),Z=j;function _(te){const le=S(te);if(!a.isValidNot0(le))return;const ge=a.inv(le),oe=t.BASE.multiply(le).toAffine(),ye=a.create(oe.x);if(ye===hn)return;const Ke=a.create(ge*a.create(Z+ye*J));if(Ke===hn)return;let He=(oe.x===ye?0:2)|Number(oe.y&ir),ot=Ke;return H&&y(Ke)&&(ot=a.neg(Ke),He^=1),new A(ye,ot,He)}return{seed:me,k2sig:_}}function V(O,C,k={}){O=ct("message",O);const{seed:H,k2sig:G}=M(O,C,k);return ip(e.outputLen,a.BYTES,s)(H,G)}function Q(O){let C;const k=typeof O=="string"||$s(O),H=!k&&O!==null&&typeof O=="object"&&typeof O.r=="bigint"&&typeof O.s=="bigint";if(!k&&!H)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(H)C=new A(O.r,O.s);else if(k){try{C=A.fromBytes(ct("sig",O),"der")}catch(G){if(!(G instanceof on.Err))throw G}if(!C)try{C=A.fromBytes(ct("sig",O),"compact")}catch{return!1}}return C||!1}function q(O,C,k,H={}){const{lowS:G,prehash:z,format:j}=ho(H,w);if(k=ct("publicKey",k),C=v(ct("message",C),z),"strict"in H)throw new Error("options.strict was renamed to lowS");const J=j===void 0?Q(O):A.fromBytes(ct("sig",O),j);if(J===!1)return!1;try{const Y=t.fromBytes(k);if(G&&J.hasHighS())return!1;const{r:me,s:Z}=J,_=T(C),te=a.inv(Z),le=a.create(_*te),ge=a.create(me*te),oe=t.BASE.multiplyUnsafe(le).add(Y.multiplyUnsafe(ge));return oe.is0()?!1:a.create(oe.x)===me}catch{return!1}}function N(O,C,k={}){const{prehash:H}=ho(k,w);return C=v(C,H),A.fromBytes(O,"recovered").recoverPublicKey(C).toBytes()}return Object.freeze({keygen:d,getPublicKey:l,getSharedSecret:f,utils:m,lengths:b,Point:t,sign:V,verify:q,recoverPublicKey:N,Signature:A,hash:e})}function xp(t){const{CURVE:e,curveOpts:n}=$f(t),r=qf(e,n);return Sp(t,r)}function $f(t){const e={a:t.a,b:t.b,p:t.Fp.ORDER,n:t.n,h:t.h,Gx:t.Gx,Gy:t.Gy},n=t.Fp;let r=t.allowedPrivateKeyLengths?Array.from(new Set(t.allowedPrivateKeyLengths.map(a=>Math.ceil(a/2)))):void 0;const s=ds(e.n,{BITS:t.nBitLength,allowedLengths:r,modFromBytes:t.wrapPrivateKey}),i={Fp:n,Fn:s,allowInfinityPoint:t.allowInfinityPoint,endo:t.endo,isTorsionFree:t.isTorsionFree,clearCofactor:t.clearCofactor,fromBytes:t.fromBytes,toBytes:t.toBytes};return{CURVE:e,curveOpts:i}}function Dp(t){const{CURVE:e,curveOpts:n}=$f(t),r={hmac:t.hmac,randomBytes:t.randomBytes,lowS:t.lowS,bits2int:t.bits2int,bits2int_modN:t.bits2int_modN};return{CURVE:e,curveOpts:n,hash:t.hash,ecdsaOpts:r}}function Fp(t,e,n){function r(s){const i=t.sqr(s),a=t.mul(i,s);return t.add(t.add(a,t.mul(s,e)),n)}return r}function Sp(t,e){const{Fp:n,Fn:r}=e;function s(a){return Sf(a,ir,r.ORDER)}const i=Fp(n,t.a,t.b);return Object.assign({},{CURVE:t,Point:e,ProjectivePoint:e,normPrivateKeyToScalar:a=>Rn(r,a),weierstrassEquation:i,isWithinCurveOrder:s})}function Tp(t,e){const n=e.Point;return Object.assign({},e,{ProjectivePoint:n,CURVE:Object.assign({},t,Mf(n.Fn.ORDER,n.Fn.BITS))})}function Jf(t){const{CURVE:e,curveOpts:n,hash:r,ecdsaOpts:s}=Dp(t),i=qf(e,n),a=Cp(i,r,s);return Tp(t,a)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function vp(t,e){const n=r=>Jf({...t,hash:r});return{...n(e),create:n}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const cl={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Ip={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},Rd=BigInt(2);function kp(t){const e=cl.p,n=BigInt(3),r=BigInt(6),s=BigInt(11),i=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),d=t*t*t%e,l=d*d*t%e,f=At(l,n,e)*l%e,m=At(f,n,e)*l%e,b=At(m,Rd,e)*d%e,w=At(b,s,e)*b%e,E=At(w,i,e)*w%e,y=At(E,o,e)*E%e,p=At(y,c,e)*y%e,x=At(p,o,e)*E%e,A=At(x,n,e)*l%e,S=At(A,a,e)*w%e,T=At(S,r,e)*d%e,U=At(T,Rd,e);if(!Yo.eql(Yo.sqr(U),t))throw new Error("Cannot find square root");return U}const Yo=ds(cl.p,{sqrt:kp}),Cs=vp({...cl,Fp:Yo,lowS:!0,endo:Ip},Zc),Up=[{name:"appIdPrefix",binary:"bytes",custom:at.encode("appID"),omit:!0},{name:"appId",binary:"uint",size:8}];class Fe{static byteSize=32;static type="Universal";address;constructor(e,n="hex"){this.address=typeof e=="string"?Fe.stringToUint8Array(e,n):e}toNative(e){return yn(e,this)}unwrap(){return this.address}toString(){return Xe.encode(this.address,!0)}toUint8Array(){return this.address}toUniversalAddress(){return this}equals(e){return at.equals(this.address,e.address)}static isValidAddress(e,n="hex"){return!ob(()=>Fe.stringToUint8Array(e,n))}static instanceof(e){return typeof e=="object"&&"constructor"in e&&e.constructor.type===Fe.type}static ZERO=new Fe(new Uint8Array(Fe.byteSize));static stringToUint8Array(e,n){const r=(()=>{switch(n){case"hex":if(![40,2*this.byteSize].includes(e.length-(e.startsWith("0x")?2:0)))throw new Error(`string ${e} has invalid length for format ${n}`);return Xe.decode(e);case"base58":return Gu.decode(e);case"bech32":return zu.decodeToBytes(e).bytes;case"algorandAppId":return np(Ot(Up,{appId:BigInt(e)}));case"sha256":return gf(e);case"keccak256":return Fa(e)}})();if(!r)throw new Error(`string ${e} could not be decoded for format ${n}`);if(r.length>Fe.byteSize)throw new Error(`string ${e} has invalid length for format ${n}`);return r.length<Fe.byteSize?at.zpad(r,Fe.byteSize):r}}function Pp(t){return typeof t=="object"&&"setChain"in t}const Zo=new Map;function Xf(t,e){Zo.has(t)||Zo.set(t,e)}function yn(t,e){const n=vt.get(t),r=Zo.get(n);if(!r)throw new Error(`No native address type registered for platform ${n}, import the platform directly or, if using sdk package, import the addresses conditional export`);try{const s=new r(e);return Pp(s)&&s.setChain(t),s}catch(s){const i=`Error parsing address as a native ${t} address: ${s.message}`;if(Fe.instanceof(e))throw i;return new Fe(e).toNative(t)}}function Yf(t,e){const n=vt.get(t);return new Fe(e,Mb.get(n))}function Np(t){return"getVersion"in t}const On={};function Rp(t,e,n){e in On||(On[e]={});const r=On[e];if(t in r)throw new Error(`Protocol ${t} for protocol ${e} has already registered`);On[e][t]=n}function Op(t,e){const n=Qs(t)?vt.get(t):t;return e in On?n in On[e]:!1}function Zf(t,e){if(e in On){const n=On[e];if(n&&t in n){const r=n[t];if(r)return r}}throw new Error(`No protocols registered for ${t}:${e}. This may be because the platform specific protocol implementation is not registered (by installing and importing it) or no implementation exists for this platform`)}const Mp=(t,e,n,r)=>Zf(t,e).fromRpc(n,r),ec=(t,e)=>t?`${t}:${e}`:e,tc=new Map;function Lp(t,e,n){const r=ec(t,e);if(tc.has(r))throw new Error(`Payload type ${r} already registered`);tc.set(r,n)}function We(t,e){for(const[n,r]of e)Lp(t,n,r)}const Te={binary:"uint",size:32},eh={binary:"uint",size:2},ut=t=>({...eh,custom:{to:e=>{if(e===0){if(!t?.allowNull)throw new Error("ChainId 0 is not valid for this protocol and action");return null}const n=os(e),r=t?.allowedChains??Vu;if(!r.includes(n))throw new Error(`Chain ${n} not in allowed chains ${r}`);return n},from:e=>e==null?0:Ks(e)}}),Wp=t=>({...eh,custom:{to:t,from:Ks(t)}}),Qr={binary:"uint",size:4},Ta={binary:"uint",size:8},th={to:t=>new Date(Number(t*1000n)),from:t=>BigInt(t.getTime())/1000n},ll={binary:"uint",size:4},Bn=t=>({name:"payloadId",binary:"uint",size:1,custom:t,omit:!0}),va={binary:"uint",size:8};let Hp=class{r;s;v;constructor(e,n,r){this.r=e,this.s=n,this.v=r}encode(){return Ot(ia,this)}static decode(e){return Mt(ia,e)}};var Od;(function(t){function e(i){return Cs.getPublicKey(i)}t.toPubkey=e;function n(i,a){if(a.length!=32)throw new Error("hash.length != 32");return Cs.sign(a,i)}t.sign=n;function r(i,a,o){const{r:c,s:d}=i;return Cs.verify({r:c,s:d},o,a)}t.validate=r;function s(i,a){const{r:o,s:c,v:d}=i,l=new Cs.Signature(o,c);return l.recovery=d,l.recoverPublicKey(a).toRawBytes()}t.recover=s})(Od||(Od={}));const zp=[{name:"r",binary:"uint",size:32},{name:"s",binary:"uint",size:32},{name:"v",binary:"uint",size:1}],ia={binary:"bytes",layout:zp,custom:{to:t=>new Hp(t.r,t.s,t.v),from:t=>({r:t.r,s:t.s,v:t.v})}},se={binary:"bytes",size:32,custom:{to:t=>new Fe(t),from:t=>t.toUint8Array()}},Gp=t=>{const e=t.findIndex(n=>n!==0);return-1<e?t.slice(e):new Uint8Array([])},nh={to:at.decode,from:at.encode},dl=t=>({binary:"bytes",size:t,custom:{to:e=>at.decode(Gp(e)),from:e=>at.zpad(at.encode(e),t)}});function rh(t){const e=t.indexOf(":");return e!==-1?[t.slice(0,e),t.slice(e+1)]:[null,t]}const Vp=[{name:"guardianIndex",binary:"uint",size:1},{name:"signature",...ia}],ul=[{name:"version",binary:"uint",size:1,custom:1,omit:!0},{name:"guardianSet",...ll},{name:"signatures",binary:"array",lengthSize:1,layout:Vp}],fl=[{name:"timestamp",binary:"uint",size:4},{name:"nonce",binary:"uint",size:4},{name:"emitterChain",...ut()},{name:"emitterAddress",...se},{name:"sequence",...va},{name:"consistencyLevel",binary:"uint",size:1}],_p=[...ul,...fl];function Rs(t){const e=tc.get(t);if(!e)throw new Error(`No layout registered for payload type ${t}`);return e}function sh(t){return{name:"payload",binary:"bytes",...t==="Uint8Array"?{}:{layout:Rs(t)}}}function Gi(t){const e=[..._p,sh(t.payloadLiteral)];return Ot(e,t)}function jp(t,e){if(t==="Uint8Array")return e;const n=Rs(t);return Ot(n,e)}function hl(t,e){const n=(()=>{if(Array.isArray(t[0]))return t.flatMap(([a,o])=>o.map(c=>ec(a,c)));if(typeof t[1]=="string")return t;const[s,i]=t;return i.map(a=>ec(s,a))})(),r=yb(n.map(s=>Rs(s)));return(s=>{typeof s=="string"&&(s=Xe.decode(s));const i=r(s);return Array.isArray(i)?i.map(a=>n[a]):i!==null?n[i]:null})}function Wr(t,e){typeof e=="string"&&(e=Xe.decode(e));const[n,r]=Mt(ul,e,!1);for(let b=1;b<n.signatures.length;++b)if(n.signatures[b].guardianIndex<=n.signatures[b-1].guardianIndex)throw new Error("Guardian signatures must be in ascending order of guardian set index");const s=r,[i,a]=Mt(fl,e.subarray(s),!1),o=s+a,[c,d]=typeof t=="string"?[t,Md(t,e.subarray(o))]:Md(t,e.subarray(o)),[l,f]=rh(c),m=Fa(e.slice(s));return{protocolName:l,payloadName:f,payloadLiteral:c,...n,...i,payload:d,hash:m}}function Md(t,e,n=0){return(()=>{if(typeof e=="string"&&(e=Xe.decode(e)),t==="Uint8Array")return e.slice(n);if(typeof t=="string")return Mt(Rs(t),e.subarray(n));const r=t(e.slice(n));if(r===null)throw new Error(`Encoded data does not match any of the given payload types - ${e}`);return[r,Mt(Rs(r),e.subarray(n))]})()}function qp(t){return t.getBalances!==void 0}class ih{network;config;constructor(e,n){this.network=e,this.config=n}utils(){return this.constructor}getProtocol(e,n){return Mp(this.utils()._platform,e,n,this.config)}getProtocolInitializer(e){return Zf(this.utils()._platform,e)}async parseWormholeMessages(e,n,r){return(await this.getProtocol("WormholeCore",n)).parseTransaction(r)}}const Kp=[["Ethereum",[["ETH",{symbol:"ETH",decimals:18,address:"native",wrappedKey:"WETH"}],["WETH",{symbol:"WETH",decimals:18,address:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"}],["WBTC",{symbol:"WBTC",decimals:8,address:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"}],["USDT",{symbol:"USDT",decimals:6,address:"0xdac17f958d2ee523a2206206994597c13d831ec7"}],["DAI",{symbol:"DAI",decimals:18,address:"0x6b175474e89094c44da98b954eedeac495271d0f"}],["BUSD",{symbol:"BUSD",decimals:18,address:"0x4fabb145d64652a948d72533023f6e7a623c7c53"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0x7c9f4C87d911613Fe9ca58b579f737911AAD2D43",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0x418D75f65a02b3D53B2418FB8E1fe493759c7605",original:"Bsc"}],["USDCbnb",{symbol:"USDC",decimals:18,address:"0x7cd167B101D2808Cfd2C45d17b2E7EA9F46b74B6",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0x85f138bfEE4ef8e540890CFb48F620571d67Eda3",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0x39EbF69137D98FB7659Ef8D4ea21ec26394389d7",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0x4cD2690d86284e044cb63E60F1EB218a825a7e92",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0x3294395e62F4eB6aF3f1Fcf89f5602D90Fb3Ef69",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0x93d3696A9F879b331f40CB5059e37015423A3Bd0",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0xD31a59c85aE9D8edEFeC411D448f90841571b89c",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"0x41f7B8b9b897276b7AAE926a9016935280b44E97",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0x84074EA631dEc7a4edcD5303d164D5dEa4c653D6",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0x8CDf7AF57E4c8B930e1B23c477c22f076530585e",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0xb945E3F853B5f8033C8513Cf3cE9F8AD9beBB1c9",original:"Arbitrum"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0xCFc006a32a98031C2338BF9d5ff8ED2c0Cae4a9e",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0x8B5653Ae095529155462eDa8CF664eD96773F557",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0x1D4241F7370253C0f12EFC536B7e16E462Fb3526",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0x18084fbA666a33d37592fA2633fD49a74DD93a88"}],["tBTCpolygon",{symbol:"tBTC",decimals:18,address:"0xb4c624dBC50804dA086cf2380cD55dEBC0d22E96",original:"Polygon"}],["tBTCoptimism",{symbol:"tBTC",decimals:18,address:"0xB8d1E0642bFD3744CaBd2ca8830cFabE19b2Ca54",original:"Optimism"}],["tBTCarbitrum",{symbol:"tBTC",decimals:18,address:"0x4F3819A6cfF717BFfE801a75c73A984141c76589",original:"Arbitrum"}],["tBTCbase",{symbol:"tBTC",decimals:18,address:"0x733F28B3e315046Db01dAbC292D6F0F7F26C4551",original:"Base"}],["wstETH",{symbol:"wstETH",decimals:18,address:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"}],["WKLAY",{symbol:"WKLAY",decimals:18,address:"0x9AEA32B459e96C8eF5010f69130bf95fd129ac05",original:"Klaytn"}],["PYTH",{symbol:"PYTH",decimals:6,address:"0xeFc0CED4B3D536103e76a1c4c74F0385C8F4Bdd3",original:"Solana"}]]],["Bsc",[["WETH",{symbol:"WETH",decimals:18,address:"0x4DB5a66E937A9F4473fA95b1cAF1d1E1D62E29EA",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0xB04906e95AB5D797aDA81508115611fee694c2b3",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"0x43359676E1A3F9FbB5de095333f8e9c1B46dFA44",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0x524bC91Dc82d6b90EF29F76A3ECAaBAffFD490Bc",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0x3413a030EF81a3dD5a302F4B4D11d911e12ed337",original:"Ethereum"}],["BUSD",{symbol:"BUSD",decimals:18,address:"0x035de3679E692C471072d1A09bEb9298fBB2BD31",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0xc836d8dC361E44DbE64c4862D55BA041F88Ddd39",original:"Polygon"}],["USDCpolygon",{symbol:"USDC",decimals:6,address:"0xe6d82Bbe75041E42E51d755e922cE1BA91af9c4d",original:"Polygon"}],["BNB",{symbol:"BNB",decimals:18,address:"native",wrappedKey:"WBNB"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c"}],["USDCbnb",{symbol:"USDC",decimals:18,address:"0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0x96412902aa9aFf61E13f085e70D3152C6ef2a817",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0xc88Dc63bf0c8c8198C97Db0945E3eF25Ca89A8e4",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0xbF8413EE8612E0E4f66Aa63B5ebE27f3C5883d47",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0x2A335e327a55b177f5B40132fEC5D7298aa0D7e6",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0x1C063db3c621BF901FC6C1D03328b08b2F9bbfba",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0xfA54fF1a158B5189Ebba6ae130CEd6bbd3aEA76e",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"0x91Ca579B0D47E5cfD5D0862c21D5659d39C8eCf0",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0x8314f6Bf1B4dd8604A0fC33C84F9AF2fc07AABC8",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0x2Ba98cf7Edd2c5C794e21bc3Dc6973D3C2585eE3",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0xaA1eEdABC48D078350ccBdD620bD088848e299E5",original:"Arbitrum"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0x5caa170b465122D15a6D20FD9A804a9613CE7882",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0x94AEc09B5e2CE591e39DC6aa58A3A6E85Ed45265",original:"Optimism"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0xa41ae127D04F7ee73B5058E2C60Fb7c7A2D21F79",original:"Optimism"}],["WETHbsc",{symbol:"WETH",decimals:18,address:"0x2170Ed0880ac9A755fd29B2688956BD959F933F8"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0x9dc152F4941cE1A138326e70c3600385bf0C22dD",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0x55CaD531c8E303Cab8B3BE4bB4744Db4f896ac81",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0x94c97dd3Bde5bC1406BCe82E7941A6365968521D",original:"Ethereum"}],["wstETH",{symbol:"wstETH",decimals:18,address:"0xad80E1A9B5824234afA9dE1F3bbDb8a994796169",original:"Ethereum"}],["WKLAY",{symbol:"WKLAY",decimals:18,address:"0xEA970e7b7D131Ea36c3051C9Ca11e785462fE00c",original:"Klaytn"}],["PYTH",{symbol:"PYTH",decimals:6,address:"0xb0188B0bb2cD4a6D2744637fC83C94a284B247Da",original:"Solana"}],["USDTbsc",{symbol:"USDT",decimals:18,address:"0x55d398326f99059fF775485246999027B3197955"}]]],["Polygon",[["WETH",{symbol:"WETH",decimals:18,address:"0x11CD37bb86F65419713f30673A480EA33c826872",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0x4318CB63A2b8edf2De971E2F17F77097e499459D",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"0x5D49c278340655B56609FdF8976eb0612aF3a0C3",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0x9417669fBF23357D2774e9D421307bd5eA1006d2",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0x732EB1747ecCFC431fF19bc359ffc83755B1918c",original:"Ethereum"}],["BUSD",{symbol:"BUSD",decimals:18,address:"0x95ea750420da26bE1Ab0891e209e921bCd84763f",original:"Ethereum"}],["MATIC",{symbol:"MATIC",decimals:18,address:"native",wrappedKey:"WMATIC"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270"}],["WETHpolygon",{symbol:"WETH",decimals:18,address:"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619"}],["USDCpolygon",{symbol:"USDC",decimals:6,address:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0xeCDCB5B88F8e3C15f95c720C51c71c9E2080525d",original:"Bsc"}],["USDCbnb",{symbol:"USDC",decimals:18,address:"0x4B3a922c773BDCF3BA8f1A4FDAc2029E1D0E9868",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0x7Bb11E7f8b10E9e571E5d8Eace04735fDFB2358a",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0xAEA5CC14DefbC1b845FDE729E563B717Ee6825ae",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0x3726831304D77f585f1Aca9d9841cc3Ef80dAa62",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0x922F49a9911effc034eE756196E59BE7b90D43b3",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0xcC48d6CF842083fEc0E01d913fB964b585975F05",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0xd93f7E271cB87c23AaA73edC008A79646d1F9912",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"0x576Cf361711cd940CD9C397BB98C4C896cBd38De",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0x34bE049fEbfc6C64Ffd82Da08a8931A9a45f2cc8",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0xa4ef199d3ad524E9C3C51Ac46B303B103A307Cef",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0x6a5c59AB16268d2c872916054C50440B999e417C",original:"Arbitrum"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0x7800FE8951cdc1cDea748d878fAce63018D97960",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0x8182De59485Bb646542Db8C7E5958148Dc699319",original:"Optimism"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0x31F12aCb60C3c32EE884F3894a873347C097D925",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0x5BCf8d8c097FbB35C371F921E3FF3e6F6Eb54B41",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0x1eeCaB0F75fE93abbFa0cDFfb4fB13d1dC8706c8",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0x3362b2B92b331925F09F9E5bCA3E8C43921a435C",original:"Ethereum"}],["tBTCpolygon",{symbol:"tBTC",decimals:18,address:"0x236aa50979D5f3De3Bd1Eeb40E81137F22ab794b"}],["tBTCoptimism",{symbol:"tBTC",decimals:18,address:"0x68A8797da1c8ED592600d70A5151886A92D2183C",original:"Optimism"}],["tBTCarbitrum",{symbol:"tBTC",decimals:18,address:"0x045D8c62D5326aa51a31518ECF3aF80C17421Aba",original:"Arbitrum"}],["wstETH",{symbol:"wstETH",decimals:18,address:"0xe082a7Fc696De18172Ad08D956569Ee80BC37f06",original:"Ethereum"}],["wstETHpolygon",{symbol:"wstETH",decimals:18,address:"0x03b54A6e9a984069379fae1a4fC4dBAE93B3bCCD"}],["WKLAY",{symbol:"WKLAY",decimals:18,address:"0x415ce980fde17F1FF102e1c6e4ce860Acc615D74",original:"Klaytn"}],["PYTH",{symbol:"PYTH",decimals:6,address:"0xFa4B761A1e07909Ba31331a5dfa12390E3ff5583",original:"Solana"}],["USDTpolygon",{symbol:"USDT",decimals:6,address:"0xc2132D05D31c914a87C6611C10748AEb04B58e8F"}]]],["Avalanche",[["WETH",{symbol:"WETH",decimals:18,address:"0x8b82A291F83ca07Af22120ABa21632088fC92931",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0xB24CA28D4e2742907115fECda335b40dbda07a4C",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"0x1C0e79C5292c59bbC13C9F9f209D204cf4d65aD6",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0x9d228444FC4B7E15A2C481b48E10247A03351FD8",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0xca319f81D147559e19A522A0a0310Dd43A96cA0F",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0xf2f13f0B7008ab2FA4A2418F4ccC3684E49D20Eb",original:"Polygon"}],["USDCpolygon",{symbol:"USDC",decimals:6,address:"0xDb2d08f5A9C9ADBBA0DE5a69bbB1E9Ca03411692",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0x442F7f22b1EE2c842bEAFf52880d4573E9201158",original:"Bsc"}],["USDCbnb",{symbol:"USDC",decimals:18,address:"0x6145E8a910aE937913426BF32De2b26039728ACF",original:"Bsc"}],["AVAX",{symbol:"AVAX",decimals:18,address:"native",wrappedKey:"WAVAX"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"}],["WETHavax",{symbol:"WETH",decimals:18,address:"0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0xd19abc09B7b36F7558929b97a866f499a26c2f83",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0x494317B8521c5a5287a06DEE467dd6fe285dA4a8",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0x375aA6C67BF499fBf01804A9f92C03c0776F372d",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0xFE6B19286885a4F7F55AdAD09C3Cd1f906D2478F",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"0x0950Fc1AD509358dAeaD5eB8020a3c7d8b43b9DA",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0x1703CB0F762D2a435199B64Ea47E5349B7C17480",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0x43c588459b3243fA541B98CC4B2E995b3de553A2",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0xDfDA518A1612030536bD77Fd67eAcbe90dDC52Ab",original:"Arbitrum"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0x4b5fE357Eb11c735078e47526D6e853DBff18541",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0xDf11535274c0FD2Fe41A88bd1bBF802D72296037",original:"Optimism"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0xBe04f76A0ba2100c3F2d6Aa1FD8484F415469573",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0xFA83178c66fE51ee99109b5cC912f8098Ff812eF",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0xab933e939a9236BD439F7d29b87CE712f42bAC06",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0x3F531c038A0D2d9c7D19FC3554cd0439791526c4",original:"Ethereum"}],["WKLAY",{symbol:"WKLAY",decimals:18,address:"0x126C03982Ad6D7ef7E6aF020bF219e87185a6BC3",original:"Klaytn"}],["PYTH",{symbol:"PYTH",decimals:6,address:"0x8A0691e602B7a5FCc51a27E4a08376dE50889B42",original:"Solana"}],["USDTavax",{symbol:"USDT",decimals:6,address:"0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7"}]]],["Fantom",[["WETH",{symbol:"WETH",decimals:18,address:"0x2A126f043BDEBe5A0A9841c51915E562D9B07289",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0x2Ec752329c3EB419136ca5e4432Aa2CDb1eA23e6",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"0x87e9E225aD8a0755B9958fd95BE43DD6A91FF3A7",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0x14BCb86aEed6a74D3452550a25D37f1c30AA0A66",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0xEE786D3D73Ea645365c7248E4e40eDba08B1169F",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0xb88A6064B1F3FF5B9AE4A82fFD52560b0dF9FBD3",original:"Polygon"}],["USDCpolygon",{symbol:"USDC",decimals:6,address:"0xB4DcfD221048a1Dad989D39456BBd87762c26F06",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0xc033551e05907Ddd643AE14b6D4a9CA72BfF509B",original:"Bsc"}],["USDCbnb",{symbol:"USDC",decimals:18,address:"0x0FcbDAC44c67A43607D3E95886dB19871ADc985F",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0x358CE030DC6116Cc296E8B9F002728e65459C146",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0xEfE7701cb2B80664385Be226d0300912CA92f66A",original:"Avalanche"}],["FTM",{symbol:"FTM",decimals:18,address:"native",wrappedKey:"WFTM"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83"}],["CELO",{symbol:"CELO",decimals:18,address:"0xF432490C6c96C9d3bF523a499a1CEaFd8208A373",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0xBF227E92D6754EB4BFE26C40cb299ff2809Da45f",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0xd99021C2A33e4Cf243010539c9e9b7c52E0236c1",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"0xb8398DA4FB3BC4306B9D9d9d13d9573e7d0E299f",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0xC277423a21F6e32D886BF85Ef6cCB945d5D28347",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0x3Cd9162Ca5256b8E26A0e3Ad14CCfF7C0Da0F174",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0xE8367853A0823515D37b1538331B4704089becb4",original:"Arbitrum"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0x2228703672906fEe5eD681Ec28e42B4506b8c336",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0xe8E8f941377A955bFA72880ec0dc2319dbC827a8",original:"Optimism"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0x385b219f0C4fa2e84EfE5aaf9692a821C57B8248",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0xd3365E7355230c78098b44B172eE27DAB95B041A",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0xd9E4C283d8A49Dc3767A6F5a4dFdc1d0cEf21604",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0xeE27799cF29D7F64647B92f47d543B382B49f83E",original:"Ethereum"}],["WKLAY",{symbol:"WKLAY",decimals:18,address:"0x787e2F3509583C0F03A339Be0826463C839CBE5E",original:"Klaytn"}],["PYTH",{symbol:"PYTH",decimals:6,address:"0x77ad3B2dA29FBd208F12c3C701E969F4422aAD79",original:"Solana"}]]],["Celo",[["WETH",{symbol:"WETH",decimals:18,address:"0x66803FB87aBd4aaC3cbB3fAd7C3aa01f6F3FB207",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0x37f750B7cC259A2f741AF45294f6a16572CF5cAd",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"0xd71Ffd0940c920786eC4DbB5A12306669b5b81EF",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0x617f3112bf5397D0467D315cC709EF968D9ba546",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0x97926a82930bb7B33178E3c2f4ED1BFDc91A9FBF",original:"Ethereum"}],["BUSD",{symbol:"BUSD",decimals:18,address:"0x1dd42c0785ca90B677adc2ABad01dfc5ECcD0b4d",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0x9C234706292b1144133ED509ccc5B3CD193BF712",original:"Polygon"}],["USDCpolygon",{symbol:"USDC",decimals:6,address:"0x42c76808f3179A091Ee007A2955aF2522978ADE7",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0xBf2554ce8A4D1351AFeB1aC3E5545AaF7591042d",original:"Bsc"}],["USDCbnb",{symbol:"USDC",decimals:18,address:"0x9d9abAE97a9344e3854527b4efbB366a1564bfEb",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0xFFdb274b4909fC2efE26C8e4Ddc9fe91963cAA4d",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0x62FFf2D2D1692D52eAf043AeeC727F7918d269D3",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0xd1A342eE2210238233a347FEd61EE7Faf9f251ce",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0x471ece3750da237f93b8e339c536989b8978a438"}],["USDT",{symbol:"USDT",decimals:6,address:"0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0x383A5513AbE4Fe36e0E00d484F710148E348Aa9D",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0x4581E64115d46CcdeE65Be2336bEc86c9BA54C01",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"0x8B6eef6C449D3Ac723a9C06a9eaE2dCd7d308BA9",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0x1Cb9859B1A16A67ef83A0c7b9A21eeC17d9a97Dc",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0x89F2b718Ca518db39d377F0ABBa6B42582b549F7",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0xc6F962fCcb140ece554AfD0E589f971532A57f14",original:"Arbitrum"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0xA41a62567d9eb960D84b72663FdaeBE0BCdE2683",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0x8d53771b1Ec7461f8e45Bca2609c45bC0bbd0677",original:"Optimism"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0xEe48963C003e21EaCEdFA8a0A19BB3cbF7E776Fe",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0x905CADB645684140E285e2D09D39dF5a2082BC87",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0x2e2acb1782Aad0490f8446b6fD4626C467987bD6",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0xFaED7314060FCEc652ED91D9eac6c980DCA9D3B8",original:"Ethereum"}],["tBTCarbitrum",{symbol:"tBTC",decimals:18,address:"0x72878E7d3A8746e0c91b9F16F0b8ee4fDE9DDc06",original:"Arbitrum"}],["WKLAY",{symbol:"WKLAY",decimals:18,address:"0xe304254de5c2048F9bFb042dDFB54f84d1d77730",original:"Klaytn"}],["PYTH",{symbol:"PYTH",decimals:6,address:"0x985aa4814419ba338379A634785216301e51113D",original:"Solana"}]]],["Moonbeam",[["WETH",{symbol:"WETH",decimals:18,address:"0xab3f0245B83feB11d15AAffeFD7AD465a59817eD",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0x931715FEE2d06333043d11F658C8CE934aC61D0c",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"0xE57eBd2d67B462E9926e04a8e33f01cD0D64346D",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0xc30E9cA94CF52f3Bf5692aaCF81353a27052c46f",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0x06e605775296e851FF43b4dAa541Bb0984E9D6fD",original:"Ethereum"}],["BUSD",{symbol:"BUSD",decimals:18,address:"0xa2284e1F98E4d0B7Eb6a6b4f3C57f1b209C755F3",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0x82DbDa803bb52434B1f4F41A6F0Acb1242A7dFa3",original:"Polygon"}],["USDCpolygon",{symbol:"USDC",decimals:6,address:"0x4415BfBDee669446550d55c749007EF60B520FC8",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0xE3b841C3f96e647E6dc01b468d6D0AD3562a9eeb",original:"Bsc"}],["USDCbnb",{symbol:"USDC",decimals:18,address:"0x7f433E22366E03a3758CE22cCf82887d828078f8",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0xd4937A95BeC789CC1AE1640714C61c160279B22F",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0xd4918c40cA9f02d42Cb53d06587aF42017Bc345D",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0x609AedD990bf45926bca9E4eE988b4Fb98587D3A",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0xc1a792041985F65c17Eb65E66E254DC879CF380b",original:"Celo"}],["GLMR",{symbol:"GLMR",decimals:18,address:"native",wrappedKey:"WGLMR"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0xAcc15dC74880C9944775448304B263D191c6077F"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0x99Fec54a5Ad36D50A4Bba3a41CAB983a5BB86A7d",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"0x098d6eE48341D6a0a0A72dE5baaF80A10E0F6082",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0x484eCCE6775143D3335Ed2C7bCB22151C53B9F49",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0x25331575641d35D9765e1934acC8F0991c58e904",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0x18872b45c603eD2EbC508b9C5514a85c2e2791FB",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0xd4870F7F5AD8Ae5139E1a5D8AD4ac55204aE4490",original:"Optimism"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0x7143e8EA96e158381057a58AfdDF44601c7e532C",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0x6C6f83366A42fcA4D30a2D3f1914284de995Ac3a",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0xE6d02a875CcC153c076fe418f33De3A5C420f505",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0xeCd65E4B89495Ae63b4f11cA872a23680A7c419c",original:"Ethereum"}],["WKLAY",{symbol:"WKLAY",decimals:18,address:"0xf0a9476E4712123A807859f9Fd25fe98213379BD",original:"Klaytn"}]]],["Solana",[["WETH",{symbol:"WETH",decimals:8,address:"7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"A9mUU4qviSctJVPJdBJWkb28deg915LYJKrzQ19ji3FM",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"Dn4noZ5jgGfkntzcQSUZ8czkreiZ1ForXYoV2H8Dm7S1",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:8,address:"EjmyN6qEC1Tf1JxiG1ae7UTJhUxSwk1TCWNWqxWV4J6o",original:"Ethereum"}],["BUSD",{symbol:"BUSD",decimals:8,address:"33fsBLA8djQm82RpHmE3SuVrPGtZBWNYExsEUeKX1HXX",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:8,address:"Gz7VkD4MacbEB6yC5XD3HcumEiYx2EtDYYrfikGsvopG",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:8,address:"9gP2kCy3wA1ctvYWQk75guqXuHfrEomqydHLtcTCqiLa",original:"Bsc"}],["USDCbnb",{symbol:"USDC",decimals:8,address:"FCqfQSujuPxy6V42UvafBhsysWtEq1vhjfMN1PUbgaxA",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:8,address:"KgV1GvrHQmRBY8sHQQeUKwTm2r2h8t4C8qt12Cw1HVE",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"FHfba3ov5P3RjaiLVgh8FTv4oirxQDoVXuoUUDvHuXax",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:8,address:"DRQBDBEWmwWGK13fRTLhSPzjbvMSUavhV6nW4RUH8W6T",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:8,address:"9kvAcwQbqejuJMd59mKuw2bfSsLRaQ7zuvaTVHEeBBec",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:8,address:"7ixSaXGsHAFy34wogPk2YXiUX3BMmQMFdercdaHLnBby",original:"Moonbeam"}],["SOL",{symbol:"SOL",decimals:9,address:"native",wrappedKey:"WSOL"}],["WSOL",{symbol:"WSOL",decimals:9,address:"So11111111111111111111111111111111111111112"}],["USDCsol",{symbol:"USDC",decimals:6,address:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"}],["SUI",{symbol:"SUI",decimals:8,address:"G1vJEgzepqhnVu35BN4jrkv3wVwkujYWFFCxhbEZ1CZr",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"6LNeTYMqtNm1pBFN8PfhQaoLyegAH8GD32WmHU9erXKN",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:8,address:"CSD6JQMvLi46psjHdpfFdr826mF336pEVMJgjwcoS1m4",original:"Arbitrum"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"CR4xnGrhsu1fWNPoX4KbTUUtqGMF3mzRLfj4S6YEs1Yo",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:8,address:"8M6d63oL7dvMZ1gNbgGe3h8afMSWJEKEhtPTFM2u8h3c",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:8,address:"DWXe1hxpnb8LAH21iyXcjvMbiAGzoYyuCVQtRLvZdLYd",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"EfqRM8ZGWhDTKJ7BHmFvNagKVu3AxQRDQs8WMMaoBCu6",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:8,address:"25rXTx9zDZcHyTav5sRqM6YBvTGu9pPH9yv83uAEqbgG",original:"Ethereum"}],["tBTCsol",{symbol:"tBTC",decimals:8,address:"6DNSN2BJsaPFdFFc1zP37kkeNe4Usc1Sqkzr9C9vPWcU"}],["wstETH",{symbol:"wstETH",decimals:8,address:"ZScHuTtqZukUrtZS43teTKGs2VqkKL8k4QCouR2n6Uo",original:"Ethereum"}],["PYTH",{symbol:"PYTH",decimals:6,address:"HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3"}]]],["Sui",[["WETH",{symbol:"WETH",decimals:8,address:"0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"0x27792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:8,address:"0xdbe380b13a6d0f5cdedd58de8f04625263f113b3f9db32b3e1983f49e2841676::coin::COIN",original:"Polygon"}],["USDCpolygon",{symbol:"USDC",decimals:6,address:"0x5c8c9082401982e8c2519a5c12883a5475295bf5cec4a0a13c26d35dd9a20d73::coin::COIN",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:8,address:"0xb848cce11ef3a8f62eccea6eb5b35a12c4c2b1ee1af7755d02d7bd6218e8226f::coin::COIN",original:"Bsc"}],["USDCbnb",{symbol:"USDC",decimals:8,address:"0x909cba62ce96d54de25bec9502de5ca7b4f28901747bbf96b76c2e63ec5f1cba::coin::COIN",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:8,address:"0x1e8b532cca6569cab9f9b9ebc73f8c13885012ade714729aa3b450e0339ac766::coin::COIN",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0xe596782fbaebef51ae99ffac8731aed98a80642b9dc193ed659c97fbc2cc0f84::coin::COIN",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:8,address:"0x6081300950a4f1e2081580e919c210436a1bed49080502834950d31ee55a2396::coin::COIN",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:8,address:"0xa198f3be41cda8c07b3bf3fee02263526e535d682499806979a111e88a5a8d0f::coin::COIN",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:8,address:"0x66f87084e49c38f76502d17f87d17f943f183bb94117561eb573e075fdc5ff75::coin::COIN",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:8,address:"0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8::coin::COIN",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"0xb231fcda8bbddb31f2ef02e6161444aec64a514e2c89279584ac9806ce9cf037::coin::COIN",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0x2::sui::SUI"}],["APT",{symbol:"APT",decimals:8,address:"0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37::coin::COIN",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:8,address:"0x33744e7df340a4d01c23f6b18c13563f767545ea95f976f8045f056358419da3::coin::COIN",original:"Arbitrum"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0xc3f8927de33d3deb52c282a836082a413bc73c6ee0bd4d7ec7e3b6b4c28e9abf::coin::COIN",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:8,address:"0xaab14ec22908de73d1b0619f5e03842398f8e68262981bd35ef44b42d22b23a::coin::COIN",original:"Optimism"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0x6037801f060f0f54b3817bca05e3c8b9b9ffaa2da8e93fd5b80fa662aa3c9e55::coin::COIN",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:8,address:"0xaecbc804fa7ca7cffc74c9a05eb6ae86fda0c68375b5c1724204a1065bcb239a::coin::COIN",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0x7e3e74afcc1913aa9491c8cee89b02131a6e5519b090f16b54321835c1241cfb::coin::COIN",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:8,address:"0xbc3a676894871284b3ccfb2eec66f428612000e2a6e6d23f592ce8833c27c973::coin::COIN",original:"Ethereum"}],["WKLAY",{symbol:"WKLAY",decimals:8,address:"0xa5ec915864d7f37b25ca9144b2db6ebcf29e73603c2ccf9d0e765adcd9049a98::coin::COIN",original:"Klaytn"}],["PYTH",{symbol:"PYTH",decimals:6,address:"0x9c6d76eb273e6b5ba2ec8d708b7fa336a5531f6be59f326b5be8d4d8b12348a4::coin::COIN",original:"Solana"}]]],["Aptos",[["WETH",{symbol:"WETH",decimals:8,address:"0xcc8a89c8dce9693d354449f1f73e60e14e347417854f029db5bc8e7454008abb::coin::T",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0x5e156f1207d0ebfa19a9eeff00d62a282278fb8719f4fab3a586a0a2c0fffbea::coin::T",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"0xae478ff7d83ed072dbc5e264250e67ef58f57c99d89b447efd8a0a2e8b2be76e::coin::T",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0xa2eda21a58856fda86451436513b867c97eecb4ba099da5775520e0f7492e852::coin::T",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:8,address:"0x407a220699982ebb514568d007938d2447d33667e4418372ffec1ddb24491b6c::coin::T",original:"Ethereum"}],["BUSD",{symbol:"BUSD",decimals:8,address:"0x77400d2f56a01bad2d7c8c6fa282f62647ce3c03f43f2a8742e47ea01a91e24a::coin::T",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:8,address:"0x6781088e2a1629d38eda521467af4a8ca7bfa7e5516338017940389595c85c0f::coin::T",original:"Polygon"}],["USDCpolygon",{symbol:"USDC",decimals:6,address:"0xc5fd7820e9f053e6dd8e7dd8ca3ce8e9b10d200ba1692bdeb7a035217180ad4a::coin::T",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:8,address:"0x6312bc0a484bc4e37013befc9949df2d7c8a78e01c6fe14a34018449d136ba86::coin::T",original:"Bsc"}],["USDCbnb",{symbol:"USDC",decimals:8,address:"0x79a6ed7a0607fdad2d18d67d1a0e552d4b09ebce5951f1e5c851732c02437595::coin::T",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:8,address:"0x5b1bbc25524d41b17a95dac402cf2f584f56400bf5cc06b53c36b331b1ec6e8f::coin::T",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0x39d84c2af3b0c9895b45d4da098049e382c451ba63bec0ce0396ff7af4bb5dff::coin::T",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:8,address:"0xd1aa2ff36a0e93e1b4e4fecdecf8bb95bc5de399061c5e84b515281f48718842::coin::T",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:8,address:"0xac0c3c35d50f6ef00e3b4db6998732fe9ed6331384925fe8ec95fcd7745a9112::coin::T",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:8,address:"0x7ab1283a7b13c4254d4e1f803d7ce6578442c1d7a40d0faee41cd48ba4884c8a::coin::T",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:8,address:"0xdd89c0e695df0692205912fb69fc290418bed0dbe6e4573d744a6d5e6bab6c13::coin::T",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"0xc91d826e29a3183eb3b6f6aa3a722089fdffb8e9642b94c5fcd4c48d035c0080::coin::T",original:"Solana"}],["SUI",{symbol:"SUI",decimals:8,address:"0xa72a97e872be9ee3d2f14d56fd511eb7e4a53f4055be3a267d8602e7685b41c0::coin::T",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0x1::aptos_coin::AptosCoin"}],["WETHarbitrum",{symbol:"WETH",decimals:8,address:"0x0e977796d7bfb3263609b90dffd264c7bd078ce35dac42b55302858d9fa3452b::coin::T",original:"Arbitrum"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0xca3a2c28bc8c6c762f752dd2a4ebbfd00356ca99977ce6636e3af5897124a87a::coin::T",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:8,address:"0x6a7a7f36ef5e2d0e65fcf72669c20d514d68298b0f76c7554517208f73260aaf::coin::T",original:"Optimism"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0x4f6ecb05a797902d472abc2f5804bde93a53d8b75f14f767824cdb1623a4ee83::coin::T",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:8,address:"0x5b5f14781164cf77185a7b6acd8e4f3cbb7e7cfb1cd5760d2b8af81075fc153d::coin::T",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0xfcc4fcd734d5b8578fb629d238d15264a49eca6165c7444c21feec3b4962eb88::coin::T",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:8,address:"0x9d5a0f8215301fa8096df332b1533f6328f18c32fbac2a7089cfbea73b3068a7::coin::T",original:"Ethereum"}],["WKLAY",{symbol:"WKLAY",decimals:8,address:"0x539b652f8230a0e42adaeda4706b5639893d22362eda6ea897493c210cb48219::coin::T",original:"Klaytn"}],["PYTH",{symbol:"PYTH",decimals:6,address:"0x770211b47954e15bec1a4271bf33bacebc2d2adb43b7dc1ca45efa787615dd4c::coin::T",original:"Solana"}]]],["Base",[["WETH",{symbol:"WETH",decimals:18,address:"0x71b35ECb35104773537f849FBC353F81303A5860",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0xec267C53f53807c2337C257f8AC3Fc3cC07cc0ed",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"0xE6396f780b543dF16ee3b784D789c75B68319db0",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0xFf0C62A4979400841eFaA6faADb07Ac7d5C98b27",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0x617Edadb51BfB43A44Bb91C7402129C23bA52381",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0xc863399E5c5C4011B1DC3fB602902C77BA72B709",original:"Polygon"}],["USDCpolygon",{symbol:"USDC",decimals:6,address:"0xFe1579BAc60363c8572CB30Bf4DD1Fd85811BBF8",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0x7fdAa50d7399ac436943028edA6ed9a1BD89509f",original:"Bsc"}],["USDCbnb",{symbol:"USDC",decimals:18,address:"0x68E2b07F92ed506f92935d7359ECA84D5342dbb4",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0xc449A60A31E1eebFE83c42E9465fd4Dc318aE9a7",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0xD83385fE100E20c269a5975D4Bf92525BcE09F87",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0x936Fa2DE8380Dc5BF34C80F1BaD53a9f3630263B",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0x74df3823aA29D278cAD0A3632fCB56C896a38eD4",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0xfdB7311BeC3b2CcCF8407d0585f81B97b3b5eff1",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0x1C61629598e4a901136a81BC138E5828dc150d67",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"0xe8CE40EBBB844142400D21558a2F1c9683d69139",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0x36c6FBF7B49bF65f5F82b674af219C05b2a4aDD1",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0x1d36126289Be1658297A35CC3EB2BB80A7D7A04b",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0x9D36e0edb8BBaBeec5edE8a218dc2B9a6Fce494F",original:"Arbitrum"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0xb96B82Cd6D45d98Fb6897D16A5E4EE888329C513",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0xCb725aC8d9985D3bE306Dd9e1517d3702929176c",original:"Optimism"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0xc6bfBeb3002aD563D2d1f72614C61C83Bf147Acd",original:"Optimism"}],["ETHbase",{symbol:"ETH",decimals:18,address:"native",wrappedKey:"WETHbase"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0x4200000000000000000000000000000000000006"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}],["wstETHbase",{symbol:"wstETH",decimals:18,address:"0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0x9EE95E6Bd1B3C5740F105d6fb06b8BDeF64Eec70",original:"Ethereum"}],["tBTCarbitrum",{symbol:"tBTC",decimals:18,address:"0x56D0873e0eCA4a56063e1BF945788365666CFBFC",original:"Arbitrum"}],["tBTCbase",{symbol:"tBTC",decimals:18,address:"0x236aa50979D5f3De3Bd1Eeb40E81137F22ab794b"}],["wstETH",{symbol:"wstETH",decimals:18,address:"0xEd4e2FD35161c3c0e33cA187fce64C70d44Ce32b",original:"Ethereum"}],["WKLAY",{symbol:"WKLAY",decimals:18,address:"0x41c433c146c47Dc53FC48cDc69e406e365e298E1",original:"Klaytn"}],["PYTH",{symbol:"PYTH",decimals:6,address:"0x4c5d8A75F3762c1561D96f177694f67378705E98",original:"Solana"}],["USDTbase",{symbol:"USDT",decimals:6,address:"0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2"}]]],["Arbitrum",[["WETH",{symbol:"WETH",decimals:18,address:"0xD8369C2EDA18dD6518eABb1F85BD60606dEb39Ec",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0xC96F2715E2a242d50D1b0bC923dbe1740b8eCf18",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"0x397846a8078d4845c7f5c6Ca76aeBbcFDc044fAe",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0xE4728F3E48E94C6DA2B53610E677cc241DAFB134",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0x5c4f2FEFB97F7DF09E762d95C83f0Ccf8bCe8234",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0x3ab0E28C3F56616aD7061b4db38aE337E3809AEA",original:"Polygon"}],["USDCpolygon",{symbol:"USDC",decimals:6,address:"0x599ADB10E6A012dF34935D47407450f6D7170e3C",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0x7AF00405916D823eDb1121546EfA6F4972B51b84",original:"Bsc"}],["USDCbnb",{symbol:"USDC",decimals:18,address:"0x1a0590F951bc9C3818Ce75ba5Bbe92831b2cf57e",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0x565609fAF65B92F7be02468acF86f8979423e514",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0x93e0FcbEd43CD6fC30DF00CcBD4669718dc74e77",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0x7f7dcDb91930033a4Eb269196EBb6fd5f0644E4B",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0x4E51aC49bC5e2d87e0EF713E9e5AB2D71EF4F336",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0x944C5b67a03e6Cb93Ae1E4B70081f13b04CDB6Bd",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0x2bcC6D6CdBbDC0a4071e48bb3B969b06B3330c07",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"0x3870546cfd600ba87e4180686d29dC993A45d3B7",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0xCF79d86B8a830030aF6D835737d6eac3bE823fD7",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0x4EdeF400eDe5309240814b5FC403F224504604e9",original:"Aptos"}],["ETHarbitrum",{symbol:"ETH",decimals:18,address:"native",wrappedKey:"WETHarbitrum"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0x82af49447d8a07e3bd95bd0d56f35241523fbab1"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0xB1fC645a86fB5085e12D8BDDb77702F728D2A26F",original:"Optimism"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0x3A5C2Da9E30741cb59a5e9446A23A86886fC9DC2",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0xBAfbCB010D920e0Dab9DFdcF634De1B777028a85",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0x8619F97D4d08382548F536E5CE1D3e0D9bA40326",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0x57723abc582DBfE11Ea01f1A1f48aEE20bD65D73",original:"Ethereum"}],["tBTCpolygon",{symbol:"tBTC",decimals:18,address:"0x3bab04bDFd2Dc3640c2B9390A2Da05bC1192D482",original:"Polygon"}],["tBTCoptimism",{symbol:"tBTC",decimals:18,address:"0x2519010b6585247BcDC8BcDa5C8730Be754b8c76",original:"Optimism"}],["tBTCarbitrum",{symbol:"tBTC",decimals:18,address:"0x6c84a8f1c29108F47a79964b5Fe888D4f4D0dE40"}],["wstETH",{symbol:"wstETH",decimals:18,address:"0xf2717122Dfdbe988ae811E7eFB157aAa07Ff9D0F",original:"Ethereum"}],["wstETHarbitrum",{symbol:"wstETH",decimals:18,address:"0x5979D7b546E38E414F7E9822514be443A4800529"}],["WKLAY",{symbol:"WKLAY",decimals:18,address:"0xFA95f6c796E54F9C4a99392CAE84410a25794BB3",original:"Klaytn"}],["PYTH",{symbol:"PYTH",decimals:6,address:"0xE4D5c6aE46ADFAF04313081e8C0052A30b6Dd724",original:"Solana"}],["USDTarbitrum",{symbol:"USDT",decimals:6,address:"0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"}]]],["Optimism",[["WETH",{symbol:"WETH",decimals:18,address:"0xb47bC3ed6D70F04fe759b2529c9bc7377889678f",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0x711e53D031ea9B0bb0C24dD506df11b41AEA419e",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"0xB214C19d81c99E75e84706a3aa0A757319023e26",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0xf6B4185FCf8aF291c0E3927fbEab7046b4f6A8CA",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0x098EA47D630b46df1E08e389e5e4466119c7dd30",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0x8f02B6a32cebcAe44D2Fd17d87966f5B5dD14c6d",original:"Polygon"}],["USDCpolygon",{symbol:"USDC",decimals:6,address:"0xbB1EaB9Eb8fDf65F0E291D013DA07B4b65a27a01",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0x6A09fE65ACa27C12573F04aAFa290bD75497E1BC",original:"Bsc"}],["USDCbnb",{symbol:"USDC",decimals:18,address:"0x1C15057d1F3794C934a6cBC1f7EceE934050F219",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0x8418C1d909842f458c9394886b83F19d62bF1A0D",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0x355f0a8a7ecAeD971b8Fbd50994558291ff2413a",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0x0b0ecbe5C3995541876d27633B63296570FB34Af",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0x9b88D293b7a791E40d36A39765FFd5A1B9b5c349",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0xbffD46DFDb8d3a02b8D2E0F864a2cD712090a4D3",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0xba1Cf949c382A32a09A17B2AdF3587fc7fA664f1",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"0x6F974A6dfD5B166731704Be226795901c45Bb815",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0x27A533e438892DA192725b4C9AcA51447F457212",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0xC5B3AC2DF8D8D7AC851F763a5b3Ff23B4A696d59",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0x825206E1D29456337769e6f1384101E997C6A732",original:"Arbitrum"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0xa6252F56cc6eEA21165d56744C795F91c8a3Cf68",original:"Arbitrum"}],["ETHoptimism",{symbol:"ETH",decimals:18,address:"native",wrappedKey:"WETHoptimism"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0x4200000000000000000000000000000000000006"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0x0b2c639c533813f4aa9d7837caf62653d097ff85"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0x3F369a664fa665e01e8EB9f20bFcE03A0CAb8971",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0xb931c7BbD87A6e249EaA7355B13927F9c99Bce87",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0xeC0a755664271b87002dDa33CA2484B24aF68912",original:"Ethereum"}],["tBTCpolygon",{symbol:"tBTC",decimals:18,address:"0xE4C32B9eA749fa0342B1C42C01E80028B97c3917",original:"Polygon"}],["tBTCoptimism",{symbol:"tBTC",decimals:18,address:"0x6c84a8f1c29108F47a79964b5Fe888D4f4D0dE40"}],["tBTCarbitrum",{symbol:"tBTC",decimals:18,address:"0x2390a5131fcba6e47f702172cF4876589E4161c6",original:"Arbitrum"}],["wstETH",{symbol:"wstETH",decimals:18,address:"0x855CFcEEe998c8ca34F9c914F584AbF72dC88B87",original:"Ethereum"}],["wstETHoptimism",{symbol:"wstETH",decimals:18,address:"0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb"}],["WKLAY",{symbol:"WKLAY",decimals:18,address:"0xbbeF8233a0d10EEAb84E913FaDB337ab9b62F683",original:"Klaytn"}],["PYTH",{symbol:"PYTH",decimals:6,address:"0x99C59ACeBFEF3BBFB7129DC90D1a11DB0E91187f",original:"Solana"}],["USDToptimism",{symbol:"USDT",decimals:6,address:"0x94b008aA00579c1307B0EF2c499aD98a8ce58e58"}]]],["Wormchain",[["WETH",{symbol:"WETH",decimals:8,address:"wormhole18csycs4vm6varkp00apuqlsm7v4twg8jsljk8wfdd7cghr7g4rtslwqndm",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"wormhole1utjx3594tlvfw4375esgu72wa4sdgf0q7x4ye27husf5kvuzp5rsr72gdq",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"wormhole1nz0r0au8aj6dc00wmm3ufy4g4k86rjzlr8wkf92cktdlps5lgfcqxnx9yk",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"wormhole1w27ekqvvtzfanfxnkw4jx2f8gdfeqwd3drkee3e64xat6phwjg0savgmhw",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:8,address:"wormhole1chejx4qqtvwxy6684yrsmf6pylancxqhk3vsmtleg5ta3zrffljqfscg87",original:"Ethereum"}],["BUSD",{symbol:"BUSD",decimals:8,address:"wormhole1msyushf6d76u9wupuvm6jdvc0x4trmv5w5kxr0hyt7n9npp233usg7pkhm",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:8,address:"wormhole1xmpenz0ykxfy8rxr3yc3d4dtqq4dpas4zz3xl6sh873us3vajlpszn4ph7",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:8,address:"wormhole169nr66h9gcsfljvsnxnqfjakskcjt6ac8f58wqjuagu79m540teqfvaal4",original:"Bsc"}],["USDCbnb",{symbol:"USDC",decimals:8,address:"wormhole1g3acw7aumaj3r348cqn4kazrehlmn822w9p46sqwztnke27h3lysxj4ddr",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:8,address:"wormhole1ml922hnp59jtq9a87arekvx60ezehwlg2v3j5pduplwkenfa68ksgmzxwr",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"wormhole1gwm6mrnse9atzf4mer4dnrz64mp6pa75wpsxywu8gymt9fwsk46sfr372u",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:8,address:"wormhole1e0cwfmla7exa578xddl87paxexw9ymwrzysfjms8c2mstxjkldlqn45jqa",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:8,address:"wormhole1kqey3a6k26kyensq7elcpx229tlj4d3qlshwhjq5xjm8dcdvu60qtef8k9",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:8,address:"wormhole1gzuv84xrwwhxhf0f62av279vfyrfrm7x58fcnadlr5m90gnx223ses2st0",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:8,address:"wormhole1wn625s4jcmvk0szpl85rj5azkfc6suyvf75q6vrddscjdphtve8sca0pvl",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"wormhole17fr8awnysyv3nt5je4strczdupssl8u9jqam890jfv72sh32yyqqhtg3ry",original:"Solana"}],["SUI",{symbol:"SUI",decimals:8,address:"wormhole19hlynxzedrlqv99v6qscww7d3crhl86qtd0vprpltg5g9xx6jk9q6ya33y",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"wormhole1f9sxjn0qu8xylcpzlvnhrefnatndqxnrajfrnr5h97hegnmsdqhsh6juc0",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:8,address:"wormhole18nlwscr7290j463vcptqlgqudycry2rdnw2ysltpc2nqefk3353s808rl9",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:8,address:"wormhole1ev8rhdflmlq6de5g7ttj585fhuv3jfhnuhfzyh7qrswhzaq2tkqswxz6y3",original:"Optimism"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"wormhole1snw0qugpjcxwtxzzkqt5guwavq85eumxzeagql2u2m662xrtnjuqyj3pkj",original:"Optimism"}],["USDCbase",{symbol:"USDC",decimals:6,address:"wormhole1edkult6zudk6ld23fesjfrehux35q86engsq5jlycl0e4upkz8mqkgcprf",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:8,address:"wormhole1nu9wf9dw384attnpu0pwfet5fajn05w2ex4r07mghvk3xcwrt2yq5uutp5",original:"Ethereum"}],["tBTCpolygon",{symbol:"tBTC",decimals:8,address:"wormhole1uj24zecnaxz7ftz0sh6dsayfene4w3yptwg0422kves9duel67vsr7hlyz",original:"Polygon"}],["tBTCarbitrum",{symbol:"tBTC",decimals:8,address:"wormhole1q8ynvqvtw49ln73mn70v4me4q03fvvmhkf2lh4ueam5w4362s2asjmvxtd",original:"Arbitrum"}],["wstETH",{symbol:"wstETH",decimals:8,address:"wormhole1gg6f95cymcfrfzhpek7cf5wl53t5kng52cd2m0krgdlu8k58vd8qezy8pt",original:"Ethereum"}],["WKLAY",{symbol:"WKLAY",decimals:8,address:"wormhole1kyy876kye7k79fuzat532yyqkrzhlr6l7hc7lfa2rk5tygzhy00qrhjgkc",original:"Klaytn"}]]],["Osmosis",[["WETH",{symbol:"WETH",decimals:8,address:"ibc/62F82550D0B96522361C89B0DA1119DE262FBDFB25E5502BC5101B5C0D0DBAAC",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"ibc/6B99DB46AA9FF47162148C1726866919E44A6A5E0274B90912FD17E19A337695",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"ibc/E4CD61E1FA3EB04EF1BF924D676AB9FD55E84A0DCF4E78C11CCA0E14E5B42672",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"ibc/2108F2D81CBE328F371AD0CEF56691B18A86E08C3651504E42487D9EE92DDE9C",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:8,address:"ibc/898ACF6F5DEBF535103BBD52E3E5B70A311AD097B198A152483F69290B4210C0",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:8,address:"ibc/03B6D1925A09B3033AA6FA8772202719ABDC51F8CC2A5C26D0A9B19832F2C023",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:8,address:"ibc/5394BB30B3C9BD1EE84C9531E5094DDE2490964F518CBE8A4C91F748CE559AF5",original:"Bsc"}],["USDCbnb",{symbol:"USDC",decimals:8,address:"ibc/B28ACEF11D063FA8B1DA73C2F7DA3A1CFCCBC13E96B671698D4860E9367B55BB",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:8,address:"ibc/22B44C7369EED16089B9840ADE399B80D9483B4E459E67643C96C681D7C463D0",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"ibc/0B3C3D06228578334B66B57FBFBA4033216CEB8119B27ACDEE18D92DA5B28D43",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:8,address:"ibc/397DFE63D87F6940ECA583DFF5461E48BF0BA6554CBBE70278E307DDFDC8E9D5",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:8,address:"ibc/83300733052AB5F6E0F0C221E24189B6DF26CC94C73D2F44627627F9DEF4A9C8",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:8,address:"ibc/0F2941B0168D8DB77DA1B6A2D3A95EC04026D3C97FA3BFE8FD1D5D3F983AA518",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:8,address:"ibc/1E43D59E565D41FB4E54CA639B838FFD5BCFC20003D330A56CB1396231AA1CBA",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"ibc/F08DE332018E8070CC4C68FE06E04E254F527556A614F5F8F9A68AF38D367E45",original:"Solana"}],["SUI",{symbol:"SUI",decimals:8,address:"ibc/B1C287C2701774522570010EEBCD864BCB7AB714711B3AA218699FDD75E832F5",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"ibc/A4D176906C1646949574B48C1928D475F2DF56DE0AC04E1C99B08F90BC21ABDE",original:"Aptos"}],["USDCbase",{symbol:"USDC",decimals:6,address:"ibc/8AC0F990290BBEF3AEBFCBF70F902AD954781BB40D07EB76341272800D48D05F",original:"Base"}],["OSMO",{symbol:"OSMO",decimals:6,address:"uosmo"}],["tBTC",{symbol:"tBTC",decimals:8,address:"ibc/6207D35D2C08F2162575C3C4BFD524226E50639121A273045F1B393AF67DCEB3",original:"Ethereum"}],["wstETH",{symbol:"wstETH",decimals:8,address:"ibc/BF75AE1500CB7EC458E91A11731F1B6AC1F1FE1FA937A88564955ED6A83CA2FB",original:"Ethereum"}]]],["Evmos",[["WETH",{symbol:"WETH",decimals:8,address:"ibc/4442A8E0D487A49E76EA6606F5DADCF8D0DBDD8499112340C964970DB745EDA2",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"ibc/0C19171CDC59451F91D2749CDEA63355532DCD5D8904CCBAC4953290E16AB8FD",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"ibc/46C5DA1CB61C5BAA8730ABA467ADD58DE0333B075CACE28BC87E64AE8C9CA051",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"ibc/C9072A294F5649D64E87A6998DD750576881E454CACCDAF7376EFC0FA243808D",original:"Ethereum"}],["USDCbnb",{symbol:"USDC",decimals:8,address:"ibc/8E08C01546EF346F7E9A3600DDBC88943ADF3B20A67F1F2DD7B83D85613BCCAB",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:8,address:"ibc/2EA2FE172078576E62DA20F14EEED12B26611D93150FE1D68E1AAE00479AC335",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"ibc/39913E647C3549D663B1ED7F0745E1779515170C5215B98B2C8410B4C073AD30",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:8,address:"ibc/9EFE5F5D75A87197DD257BA7A96A3BCCEC9DB59D257C742FB5AA9D3DF612D476",original:"Fantom"}],["WSOL",{symbol:"WSOL",decimals:8,address:"ibc/4443218F584A7AB2DFBCF93872D6E5B6967A11C53515DDF45A2CF387C54BD73A",original:"Solana"}],["WETHarbitrum",{symbol:"WETH",decimals:8,address:"ibc/9E2E7B4A53409267CD686F4EB67969C2602A0F5FF9BDB1082B00E71CC4815DDE",original:"Arbitrum"}],["EVMOS",{symbol:"EVMOS",decimals:18,address:"aevmos"}]]],["Kujira",[["WETH",{symbol:"WETH",decimals:8,address:"ibc/7D9D28CABB49A4BB1A50C3B7E4544BFDBC5DDFAEB84A7787755A34CE7196CE15",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"ibc/C5EADE2C526B9629D230AC02A97644984ACB7C2F9A6C85126D1025CB0DA42588",original:"Ethereum"}],["WBTC",{symbol:"WBTC",decimals:8,address:"ibc/B2C7F21B604E3974A7DA5DAA9395905F2F3C85392F8A221CFDF62E4A9F4E48E4",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:8,address:"ibc/3CE8A3DE4AE5AE2B4B8C03B2B227CC284732EDC849E506615FF2AA3D8EB1BAFC",original:"Ethereum"}],["WAVAX",{symbol:"WAVAX",decimals:8,address:"ibc/28E7241F6508EB4692C721E91201377323796EF2758CCD83D220A40EAD32601E",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"ibc/F9F41DB8DA49EA6AB9EB4B2C9E0ECDC2502ABDA2FE728B85994BF31240CBC163",original:"Avalanche"}],["CELO",{symbol:"CELO",decimals:8,address:"ibc/4ACD155D71182398277CBD2C630A7C8C5F0F16FFF77965FDE4C845A4CDE2D60C",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:8,address:"ibc/3D337ECC89A8421DD6F33C4B7DDE9D4A18D728A4A688BA30E41F466EC8DD3869",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:8,address:"ibc/E5CA126979E2FFB4C70C072F8094D07ECF27773B37623AD2BF7582AD0726F0F3",original:"Solana"}],["SUI",{symbol:"SUI",decimals:8,address:"ibc/EBA52E7239CC1BC7F8ECF4F41523B6DD477FF067FD953315704A9A4FD2131B48",original:"Sui"}],["KUJI",{symbol:"KUJI",decimals:6,address:"ukuji"}]]],["Klaytn",[["KLAY",{symbol:"KLAY",decimals:18,address:"native",wrappedKey:"WKLAY"}],["WKLAY",{symbol:"WKLAY",decimals:18,address:"0xe4f05A66Ec68B54A58B17c22107b02e0232cC817"}]]],["XRPLEVM",[["XRP",{symbol:"XRP",decimals:18,address:"native",wrappedKey:"WXRP"}],["WXRP",{symbol:"WXRP",decimals:18,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"}]]]],Ld=ne(Kp,[0,[1,2]]),Qp=[["Ethereum",[["ETH",{symbol:"ETH",decimals:18,address:"native",wrappedKey:"WETH"}],["WETH",{symbol:"WETH",decimals:18,address:"0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0x07865c6e87b9f70255377e024ace6630c1eaa37f"}],["WBTC",{symbol:"WBTC",decimals:8,address:"0xC04B0d3107736C32e19F1c62b2aF67BE61d63a05"}],["USDT",{symbol:"USDT",decimals:6,address:"0xC2C527C0CACF457746Bd31B2a698Fe89de2b6d49"}],["DAI",{symbol:"DAI",decimals:18,address:"0x11fE4B6AE13d2a6055C8D9cF65c55bac32B5d844"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0x7cd0e8ff09cEB653813bD3d63d0554c1CB4BFdf6",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0xB19693FEB013Bab65866dE0a845a9511064230cE",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0x4C1b727f6df3B075E682C41a25687A69846aaC04",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0xF6699D3f725C4b64Cc6010F2DF77B4B05C76Cd5C",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0x0d7A9Cdbb7C21E64825cF81750A5081a32aFb5d4",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0xe092525a787CD56B901279b5864a224c22B95B72",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0x0dc83BB61008A5E1194fe50fA9E474713C1AEcD7",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0x494701CE895389d917a938f0ea202D4eB9684Eab",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0x70F7360C49D227ccBbb98fB7B69B7CDB651195bb",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0xd7A89a8DD20Cb4F252c7FB96B6421b37d82cE506",original:"Aptos"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0xd962F26D93c4eF609Ba00Ed6101326A1490B9489",original:"Arbitrum"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0x76e39239e40857030D6f4D8545EFbd71F904d344",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0x5aA392243437dDC8b4d86bfC90DF296908740A41",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0x679874fBE6D4E7Cc54A59e315FF1eB266686a937"}],["tBTCarbitrum",{symbol:"tBTC",decimals:18,address:"0x575D93A2278FbF4E8Bd3d51B539a6E237C3F17c5",original:"Arbitrum"}],["tBTCsol",{symbol:"tBTC",decimals:8,address:"0x57A52B6F0b393AF7d36116183cA83E584e636eA4",original:"Solana"}],["wstETH",{symbol:"wstETH",decimals:18,address:"0x6320cD32aA674d2898A68ec82e869385Fc5f7E2f"}],["SEI",{symbol:"SEI",decimals:6,address:"0xd68df72136207E9471C915cf1B6Cf43D587D4E0A",original:"Sei"}],["WKLAY",{symbol:"WKLAY",decimals:18,address:"0x327e0c7D5cFa65d4f9E358dC9fA4446C49dBcB6C",original:"Klaytn"}]]],["Polygon",[["WETH",{symbol:"WETH",decimals:18,address:"0xc6735cc74553Cc2caeB9F5e1Ea0A4dAe12ef4632",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0x543237045a106D7fd2eE3e2B44b5728e70BDe9c3",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0x02E30E84161BE1aBfcBB2b154B11De4C2b5E0a32",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0x87374d35C5F1bD78c2b1da383F460e154e7D3E5e",original:"Ethereum"}],["MATIC",{symbol:"MATIC",decimals:18,address:"native",wrappedKey:"WMATIC"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889"}],["USDCpolygon",{symbol:"USDC",decimals:6,address:"0x9999f7fea5938fd3b1e26a12c3f2fb024e194f97"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0x0C63D8ADB69204b2946DcB945a6f16d97C255eE2",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0x51f3D34651523dD8CC4872ee261A1B0B3f73AceF",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0xcc048C353Fdc2f5c378B7BCab9B240Ca2b619f1c",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0x84aa9100a36D6c3514605F62342abF3cE77D5b97",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0xAd027790A64331A11bd1b651739450cC9Dc0098F",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0x693b9AC2199d989bDA8C9C5b5d7A3680B4f40dAa",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0x0284B4994456Fae4cb56E4d33228d51B674EAD1b",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0x3dadA6f29f80A0427C4989E17a5a2ada17441841",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0x226B436043B537BD158e84fA199E2Aa36bf364f8",original:"Aptos"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0xC77d781f38Cf52F8Ea0b4c0F22312bB9A34911b5",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0x68C4365d5229A44D9A59058B65500365492b5307",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0xf6CC0Cc8D54a4b1A63a0E9745663e0c844Ee4D48",original:"Ethereum"}],["tBTCpolygon",{symbol:"tBTC",decimals:18,address:"0xBcD7917282E529BAA6f232DdDc75F3901245A492"}],["SEI",{symbol:"SEI",decimals:6,address:"0xc5C0229B38564E1E8083031405Be8d6E6e3Bc462",original:"Sei"}],["WKLAY",{symbol:"WKLAY",decimals:18,address:"0x7b34f3711705eB2963fB856cda063C979de4749e",original:"Klaytn"}]]],["Bsc",[["WETH",{symbol:"WETH",decimals:18,address:"0x064a85eac6b4Bd7190BCAd3458dBD9459989c37B",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0x861B5C16A2EcED022241072A7beA9D530b99EB6f",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0xe94AaBAdB6F833f65B8A9AdDD030985B775188c9",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0x45082C9Fc6BBCa72288F47Fad21dE0BECC75759E",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0x7FCDA925f0994121752ca14C334297BeC3d0eA9E",original:"Polygon"}],["BNB",{symbol:"BNB",decimals:18,address:"native",wrappedKey:"WBNB"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0x6cE9E2c8b59bbcf65dA375D3d8AB503c8524caf7",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0x1cfeCf72bcBE1E429A21A5B11E708C7c397AaC54",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0x9aB305B792DBdb8253bEE909E7006611Cb45175b",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0x1471698cBD9cAB0228F2EEA9303A2b3aA0ABDC2B",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0x5C31B36599ED7f06b09c0ffC7A2F928cE496F046",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0x30f19eBba919954FDc020B8A20aEF13ab5e02Af0",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"0x51a3cc54eA30Da607974C5D07B8502599801AC08",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0x5A73D76e09Af2E428EC64aE10F91B78AC990B298",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0x4A7Bd5E135f421057F97BbA8BCeeE5c18334f454",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0x60845E2503Fcd945b3A6f0bC077a31CC913E654D",original:"Arbitrum"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0xe3aA397cb6d93Cce4fAd9Cc9E796CCa5E50FB5ED",original:"Arbitrum"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0x63108fC941F3cCE0B484De19746B5Af949EAF6eE",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0xE7176110261ef2FfC885dd568C1093f58F0aEee9",original:"Ethereum"}],["SEI",{symbol:"SEI",decimals:6,address:"0x79A8FFFCED130314eCC8782C846c4d8d4867A900",original:"Sei"}],["WKLAY",{symbol:"WKLAY",decimals:18,address:"0x79D34FDb686B5D139949E4F92D83EEe376489176",original:"Klaytn"}]]],["Avalanche",[["WETH",{symbol:"WETH",decimals:18,address:"0xbB5A2dC896Ec4E2fa77F40FA630582ed9c6D0172",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0x63A30f239DC8d1c17Bf6653a68Fc6C2F83641E6d",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0x3989C9c4bdd30400E6Aa90990683EAd6a1638A16",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0x78554394273957d7e55afC841aeA27Cce469AEd4",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0x10F1053bF2884b28ee0Bd7a2dDBa237Af3511d29",original:"Bsc"}],["AVAX",{symbol:"AVAX",decimals:18,address:"native",wrappedKey:"WAVAX"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0xd00ae08403B9bbb9124bB305C09058E32C39A48c"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0x5425890298aed601595a70AB815c96711a31Bc65"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0x094cB577C21Ab1360178beE74B9591fa12216dAD",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0xC66d9c2b33c347d4A4441975f4688fcD5DD4c441",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0xf080782DF38eD5228D2FC2882d13D56c8f1D6f21",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0xb10563644a6AB8948ee6d7f5b0a1fb15AaEa1E03",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0xfc5128F8556a6F059466E67740e6cC31EE5C2C47",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0x996a3f12C1FcD7339Ea8801f629201e4d42EAD04",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0x36Bd1562F874941eE62Ebb2b3A45B4A88A9df90e",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0x301587BF484756441de43E522027e3751871237B",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0xc07c754ef7473d315D973F7D9F7858C2eCe0a0a6",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0x7E1779F65B644E5f98DdC4D2cB0A0106a7E6d9e1",original:"Ethereum"}],["tBTCarbitrum",{symbol:"tBTC",decimals:18,address:"0x4beDc7471374d7479120E44ea9593eBB85f48AD9",original:"Arbitrum"}],["SEI",{symbol:"SEI",decimals:6,address:"0xfe2eCDD1708aaebf1cF802C6124fAFb18B22dfEE",original:"Sei"}]]],["Fantom",[["WETH",{symbol:"WETH",decimals:18,address:"0x758FEebDDeC06f4bCcEc8F756C8efBD35d5b7124",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0xDF7928AF5B33F7de592594958D8d6Ff8472Eb407",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0x32eF19C4b3DF65a24972A489e70AdDef5E54262C",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0xE4FE5DF2084f9D81595e4fcba2399020FBE7b233",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0x47a4C4c0f96D6CBe5b5C0A46CB0E22d6A17F1430",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0xfB174b43228950C2055CFc25AE93f2DCe8E2beF0",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0x0f545Be981C37fB15ab7c65404648761e99016e4",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0x6BC4E8D8c1d54656D1DeBCa96efc53aFd1408aD2",original:"Avalanche"}],["FTM",{symbol:"FTM",decimals:18,address:"native",wrappedKey:"WFTM"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0xf1277d1Ed8AD466beddF92ef448A132661956621"}],["CELO",{symbol:"CELO",decimals:18,address:"0xB18E73a69c3Aaea39a610372537Cf8482622d199",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0x41E3CFDFC255A4bF3C8D3560Bc8D3D9b5080338e",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0xED1a08Fc69A7008d225890A96aaE258c465CC7ad",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0xd882AB49372eC093E8697B5153f54ab5e7738e3b",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0xAb2297E8994149BA91737944E40891881aF762a4",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0x456e08952f9091B6c268dC0cECad53d141152C59",original:"Arbitrum"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0x685B29e17440c42758Ab3F80FD3603EF01bebe9A",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0x01950A33DfFa63E6Bc23b5dB440505581A4cc0e7",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0x66E080407407620844fE2083c33108BE55E087bc",original:"Ethereum"}],["SEI",{symbol:"SEI",decimals:6,address:"0x832e8050D6c64724500DE9B0ffe1CAc6c570a26d",original:"Sei"}]]],["Celo",[["WETH",{symbol:"WETH",decimals:18,address:"0x898471a82737dFFfB61915F9e8381e279076D72b",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0xB0524bEF6c61c6150B340b2828a890fD8dEa60C0",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0xeBB3fF6E5d61d3793Fdb60f7942BA78E636019f6",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0x7a56409988BBF8758b3ba412b9c7E3FE504C8544",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0xa8050be9389466c3c524F10F131f244ACbf21A0D",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0x502c8C83008D9Dd812a7C5fB886C063060C73Dbf",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0xDDB349c976cA2C873644F21f594767Eb5390C831",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0xE6F8710cA14CFe7F5aAAD3A799C3d1D92dCba938",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0xF194afDf50B03e69Bd7D057c1Aa9e10c9954E4C9"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0x132D2172D89cd9CfD480A8887c6bF92360fB460e",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0x05EEF2AE1A7A938D78598F7d9e8b97A9bED0c9eC",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0xa40d9E69ca9867C4bFbeC11Ce79C939991e9bf26",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0xAC0a2fF7DD597de863878a3372142b07B614C125",original:"Aptos"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0x0C4AbF95Ff3d82d1F02f55e65050eA5bA062606E",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0x28E768a51D19dcB753a24B79D1e89c92fee094Ba",original:"Optimism"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0x01a050Fc725F4E99aAD43Eb6f8481f38ee6231aD",original:"Ethereum"}],["SEI",{symbol:"SEI",decimals:6,address:"0x05Efb4aC79ef48a4830f517834c6f5f039F16832",original:"Sei"}]]],["Moonbeam",[["WETH",{symbol:"WETH",decimals:18,address:"0xd27d8883E31FAA11B2613b14BE83ad8951C8783C",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0xE5dE10C4b744bac6b783fAF8d9B9fDFF14Acc3c9",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0x7f5Ca1bcFb38fDF4c0E0646FCbf3FA87740ff65D",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0xc31EC0108D8e886be58808B4C2C53f8365f1885D",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0xD2888f015BcB76CE3d27b6024cdEFA16836d0dbb",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0x6097E80331B0c6aF4F74D7F2363E70Cb2Fd078A5",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0x2E8afeCC19842229358f3650cc3F091908dcbaB4",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0x6533CE14804D113b1F494dC56c5D60A43cb5C3b5",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0x566c1cebc6A4AFa1C122E039C4BEBe77043148Ee",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0x3406a9b09adf0cb36DC04c1523C4b294C6b79513",original:"Celo"}],["GLMR",{symbol:"GLMR",decimals:18,address:"native",wrappedKey:"WGLMR"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0xD909178CC99d318e4D46e7E66a972955859670E1"}],["SUI",{symbol:"SUI",decimals:9,address:"0x2ed4B5B1071A3C676664E9085C0e3826542C1b27",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0xCaa2A1d3BbbA0D1466571e83b4E2CbE04252593D",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0x15025b956969DD8F1d0CD69959Ad97128F8f6D69",original:"Arbitrum"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0xf98E630a3DD4F21Cab7a37Bb01209cb62959169D",original:"Optimism"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0x7480641F5B00b4Fc39d6AaeC4Cd851EdEA7f31CF",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0xf82E21cE03471983Afb9c2E3789Aa13a2d7242E8",original:"Ethereum"}],["SEI",{symbol:"SEI",decimals:6,address:"0x1EdDe35B7e058194B457B8621285EaFA710f01ea",original:"Sei"}]]],["Solana",[["WETH",{symbol:"WETH",decimals:8,address:"7VPWjBhCXrpYYBiRKZh1ubh9tLZZNkZGp2ReRphEV4Mc",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"2BAqec7Qof3Y7VJatwFsRHUNSQBSkzaEsT1V5bW6dbZY",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:8,address:"3WK3mEDNPrNuQReBvM28NcsqrExMnPxD9pPJmgrUeKKH",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:8,address:"ACbmcQxbbhiXWM1GmapUSMmBYKMvnFLfAAXKqdo8xKwo",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:8,address:"BaGfF51MQ3a61papTRDYaNefBgTQ9ywnVne5fCff4bxT",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:8,address:"3Ftc5hTz9sG4huk79onufGiebJNDMZNL8HYgdMJ9E7JR",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"GQtMXZxnuacCFTXVeTvyHi6P9F6chbtzhVc8JgD8hv7c",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:8,address:"DMw2tLaq1bVoAEKtkoUtieSk9bfCPUvubYLatTMsSVop",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:8,address:"84F2QX9278ToDmA98u4A86xSV9hz1ovazr8zwGaX6qjS",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:8,address:"8987WGkYa5viiZ9DD8sS3PB5XghKmWjkEgmzvwDuoAEc",original:"Moonbeam"}],["SOL",{symbol:"SOL",decimals:9,address:"native",wrappedKey:"WSOL"}],["WSOL",{symbol:"WSOL",decimals:9,address:"So11111111111111111111111111111111111111112"}],["USDCsol",{symbol:"USDC",decimals:6,address:"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU"}],["SUI",{symbol:"SUI",decimals:8,address:"BJZ72CjPQojVoH68mzrd4VQ4nr6KuhbAGnhZEZCujKxY",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"7EvFD3JKCJVdtkAYdaSVKJsrPEJCzy2neJha7TREGrCa",original:"Aptos"}],["WETHbase",{symbol:"WETH",decimals:8,address:"EKZqcBZ3Y7YTDinpecA7SxRp9B4s1m99VHJ9jpvyTwzW",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:8,address:"FMYvcyMJJ22whB9m3T5g1oPKwM6jpLnFBXnrY6eXmCrp",original:"Ethereum"}],["tBTCoptimism",{symbol:"tBTC",decimals:8,address:"HsPvRT3J7kuitNvNHogyZeSEagcqAqwwq2FPgrGfgApy",original:"Optimism"}],["tBTCsol",{symbol:"tBTC",decimals:8,address:"6DNSN2BJsaPFdFFc1zP37kkeNe4Usc1Sqkzr9C9vPWcU"}],["SEI",{symbol:"SEI",decimals:6,address:"8LFdfuhbfdH8oBzSKDgfPAxvLW24dCM9ttjBrBobURuk",original:"Sei"}]]],["Sui",[["WETH",{symbol:"WETH",decimals:8,address:"0x72831f626b1f0e11be201893d5cb641917730b1ccac778e4a77f8ab2052f0784::coin::COIN",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0x9e4396c19ec1c5f2214c79d3af3f31e59869640305560f8f2499c36fa9c8e0f2::coin::COIN",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:8,address:"0xe6fc78aa2b52b785bdcb67901cd85793a0b593248f315cb755974d23d0fcb837::coin::COIN",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:8,address:"0xa516bcbf83b29a2944bb53ec9f934ea7d78c3626d3ae411d2fb9dcb977522e67::coin::COIN",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:8,address:"0xddcf8680a8a4b8a527d8c85ec203274991590c2ea898d1c4635b70164d9c584b::coin::COIN",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:8,address:"0xa600741c469fb57ed01497ddf101e798fa79a9c529bd176675c5c4d970811f80::coin::COIN",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0x2aa8c885d04e676c4e87b7d0f94d4f3b243b1b5d93239d1cc41d5528ce1714c1::coin::COIN",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:8,address:"0x14e756ff65e0ac810a5f69ca5276ef5b899a6df3c4717de1f85559d8b5ae6ea6::coin::COIN",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:8,address:"0x81868174a6b11e1acc337b3414f9912455435d486609fb8d50b34312865085f2::coin::COIN",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:8,address:"0xeffae382de96981f7ddd2d294429924827e8f325d612487a12d6a0b249171002::coin::COIN",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:8,address:"0xbc03aaab4c11eb84df8bf39fdc714fa5d5b65b16eb7d155e22c74a68c8d4e17f::coin::COIN",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0x2::sui::SUI"}],["APT",{symbol:"APT",decimals:8,address:"0x812d6feb8b84e55d47a0bfcae9fb6a4e7e09be5ec86ce0a729e0f67d5f59f477::coin::COIN",original:"Aptos"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0xbbc39df58a11072ceeac1f685393ca912d1a1bfd6e772053ec5a544f36124da::coin::COIN",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:8,address:"0x7b442b988864149dedfb9b6a75a88c7c33b9ddd3d15a87bf25104e1fcdd680ab::coin::COIN",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0x4125940814a0ca87465a1a59092a7344633ad03b48ad7cda36d799d8558012c1::coin::COIN",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:8,address:"0xacf6784120b221a077ab0b84acc0b76930779eb55f157ea2492be4a60b808f6::coin::COIN",original:"Ethereum"}],["SEI",{symbol:"SEI",decimals:6,address:"0x22c5cdaabaae4b6d3351f9bba9511b0aebb0662a6c209a360f0776e1e77a8438::coin::COIN",original:"Sei"}]]],["Aptos",[["WETH",{symbol:"WETH",decimals:8,address:"0x381775005cb32cdd3dbf935ae1b978ed40d309c72b009cd4a812aab6d991418a::coin::T",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:8,address:"0x5f229253e2b2d03fb909f565feca49452582bd633a5816e5ce30aa593cb49d8a::coin::T",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:8,address:"0xa5894f5ddb8647e6143102aa336ff07374f7b32e88c1c703aef5b7c9a370bf80::coin::T",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:8,address:"0xbe8f4301c0b54e870902b9a23eeb95ce74ac190531782aa3262337ceb145401a::coin::T",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0x02ef7697bdb33361ca39d228671203afc0dea3202e792d79d2072b761d87c834::coin::T",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:8,address:"0x533c6ade00d15d1e014c41e29e34853e87df92c4e01a6a3f41318dbd098048d6::coin::T",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:8,address:"0xecbb0f7e7d049499ca83ca1358344f56557886f6f7adc740d6734cce7bfc9a14::coin::T",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:8,address:"0x338373b6694f71dbeac5ca4a30503bf5f083888d71678aed31255de416be37c0::coin::T",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:8,address:"0xdd89c0e695df0692205912fb69fc290418bed0dbe6e4573d744a6d5e6bab6c13::coin::T",original:"Solana"}],["SUI",{symbol:"SUI",decimals:8,address:"0x7b22d0e02f653d4fd1caddcfa4719a2b329da56eb81d8f27db703f02466c26a5::coin::T",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0x1::aptos_coin::AptosCoin"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0x3f0fdd44d96dae888d6c576218cf655458316a27c7bdc46537f61e531b10d3df::coin::T",original:"Arbitrum"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0xcff1d9820851201436ad225dcc4374a2d15f52a74109283eb9881be799677e92::coin::T",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:8,address:"0x5b5f14781164cf77185a7b6acd8e4f3cbb7e7cfb1cd5760d2b8af81075fc153d::coin::T",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0xcfaabb3cb08ad612905dd6b2593d044ce857dfe5360148333b4635fb57d4d13f::coin::T",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:8,address:"0x6e2d5d1a6d6d0e0c5db506ce64ead0530847a48b96516abbb08cdebe43fe3036::coin::T",original:"Ethereum"}],["SEI",{symbol:"SEI",decimals:6,address:"0xcae0ba0b7a435730ab65f1c8357d213e5cf9d4b377b96761745a8edaf9c9df6d::coin::T",original:"Sei"}]]],["Base",[["WETH",{symbol:"WETH",decimals:18,address:"0x44D627f900da8AdaC7561bD73aA745F132450798",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0x5010B0988a035915C91a2a432085824FcB3D8d3f",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:18,address:"0x31B2BAEE47Dc5Fc06baEC1BF73C124031b44fB97",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0xFFB5d863d5132523d013338845A1Bb01EDd440f4",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0x9DeF11E63C23c71dE3716b81dD2Fdad2B24b8b7F",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0x410B0EE532EFfB18fa4d90cc095B1CD58aC43d5a",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0x4C5208246676486064c501E1DAF2dD21596Bc5f5",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0xB4808E58713112AbAbB8167C7187F8988df38bbD",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0x72C56041ea5fe8bDE99b2A123fb5964cDE8C7FE9",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0xCEc03b5710a464F4354AF35ebD0310238F656DFf",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0x6Fb1dE2372e48fe66c84cf37cc2fb54EaEe62988",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0xEe0fC8BECD593B41AACBd93936fDAbc2A444370A",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0xd934A15FfA3945DD0Ba2cb7b4174024261A14874",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0x8eD43aBdc4f836aa60933177B31AC358ea09f27E",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0x5c443C05C72F0660502d88642c807020cc9b71A2",original:"Optimism"}],["ETHbase",{symbol:"ETH",decimals:18,address:"native",wrappedKey:"WETHbase"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0x4200000000000000000000000000000000000006"}],["USDCbase",{symbol:"USDC",decimals:6,address:"0xf175520c52418dfe19c8098071a252da48cd1c19"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0x0219441240d89fAc3fD708d06d8fD3A072C02FB6",original:"Ethereum"}],["tBTCbase",{symbol:"tBTC",decimals:18,address:"0x783349cd20f26CE12e747b1a17bC38D252c9e119"}],["tBTCsol",{symbol:"tBTC",decimals:8,address:"0x9dA16Ae62De05bcb4606c4BFbB54046872501Bd0",original:"Solana"}],["SEI",{symbol:"SEI",decimals:6,address:"0x7B5edB2B3d2BeA8057a736B82AC6EF35c70bdadD",original:"Sei"}]]],["Sei",[["WETH",{symbol:"WETH",decimals:8,address:"sei13pzlt9etk44hj22lckncvampq2qu2gxv6r6774f3hma4vc07wqgsmftjx7",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"sei1nj32y0h0vzam33ay42h2majlfk7tdkqcuk84srn0v2a52kmujgfsyfe78f",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:8,address:"sei1dc94as3vgxn3qkr5h0lnnrep69mtfku6jg4t94gfkunuyzr5g5eqyqvj9p",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:8,address:"sei10a7see3f9t2j9l8fdweur3aqy4zgvz583a268hhhln3yzps6l5mqnl4ua6",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:8,address:"sei1mgpq67pj7p2acy5x7r5lz7fulxmuxr3uh5f0szyvqgvru3glufzsxk8tnx",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"sei1uyce5s6cc8hveg0maq2lg7wm6v6fvwqmznypj559nzf9wr9tmw3qnd3ce7",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:8,address:"sei1cr3j7rxq0dhq04ksftmj8n2w096w9g7ck8fngkvk2lrmy3qwz56q9thu9u",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:8,address:"sei1yw4wv2zqg9xkn67zvq3azye0t8h0x9kgyg3d53jym24gxt49vdyswk5upj",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:8,address:"sei140m6xagmw0zesejzhsvk46zprgscr7tu94h36rwsutcsxcs4fmds9sevym",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:8,address:"sei1at3xuugacwgu3ppx7fxzmtr3q6m3ztjuean9r2mwcnqupw28yezs7unxgz",original:"Solana"}],["SUI",{symbol:"SUI",decimals:8,address:"sei1rhpcprr2pffe6ydf078a0qeslhnlywxh2t3wjax4489z0m29cj9swj5khc",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"sei1em74y5sts4h8y5zuhfdn4w5g8zs285qld3kczpk6rh32jpvjyqqsvv0pdt",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:8,address:"sei1pf5j3dgngm8yj2xkwmvmvt87g4vyc0szpjz92q8ly9erh23ytn4s983htv",original:"Arbitrum"}],["WETHbase",{symbol:"WETH",decimals:8,address:"sei1kdqylzcv86t7slg8m30mlfgna9xsrusghdgnavvurkv0rku7jvqqta7lka",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"sei1lf6ghmrkd7gn5jlj6xw64suycpjy7g4s5q92fc2gef4f8q3znanq95mmgv",original:"Base"}],["tBTCsol",{symbol:"tBTC",decimals:8,address:"sei1aj3uu9ejt8fk6rpjfhzluqnzqmv3enlndjmt8llkr7dn2dtz55xst4s3mn",original:"Solana"}],["SEI",{symbol:"SEI",decimals:6,address:"usei"}]]],["Arbitrum",[["WETH",{symbol:"WETH",decimals:18,address:"0x285d75E04D78F53f4Ed29A506a7e8479EEf3035f",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0x42A212A2E7eA8feF4ED28F439F16A6ABDd34DA35",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"0x2B732F5ad6117818Ad3b7aC73C16033F6ECD78E5",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0x50FD4064cC536a964E2E0Dc7B3fE2313Ab386bEA",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:18,address:"0xB039aC4Fa8Ed99d30C2f7D791294A9d5FAd698eF",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:18,address:"0x92b0C4D27a05921Ded4BB117755990F567aEe049",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"0xb39697B8BA5df91A169690DfEf88B911436619F2",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0xa507f7566B8aDE000E886166B95964677ef3b3Ef",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:18,address:"0x9592eE6eD1D9E611b7aa6F20CCbD7Ba571Be8bdd",original:"Celo"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0xF8cbdc4E54281b801f182039c250Ad6d13818250",original:"Solana"}],["SUI",{symbol:"SUI",decimals:9,address:"0xe64e2139fdf6Ee7e3795FE51955e21bA3d9eB9F7",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"0xa81C3BEf2d6f10213b860458DC119666C0ba13bf",original:"Aptos"}],["ETHarbitrum",{symbol:"ETH",decimals:18,address:"native",wrappedKey:"WETHarbitrum"}],["WETHarbitrum",{symbol:"WETH",decimals:18,address:"0xee01c0cd76354c383b8c7b4e65ea88d00b06f36f"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"0xfd064A18f3BF249cf1f87FC203E90D8f650f2d63"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0xFd903eA23Bf65f26FdAf2eeb589cf007b108882E",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0xbC4CB3CD7186fD457C072298C48d0eDf7213CAEa",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0x97B5fE27a82b2B187D9a19C5782d9eB93B82DaC3",original:"Ethereum"}],["tBTCarbitrum",{symbol:"tBTC",decimals:18,address:"0x85727F4725A4B2834e00Db1AA8e1b843a188162F"}],["tBTCsol",{symbol:"tBTC",decimals:8,address:"0x227115F659f7c2939D23FedE68583F5291c395A6",original:"Solana"}],["SEI",{symbol:"SEI",decimals:6,address:"0x90eC817A1f7C1Eb18dD2985C534A78dD88747F47",original:"Sei"}]]],["Optimism",[["WETH",{symbol:"WETH",decimals:18,address:"0x33Db338718aC89Cd8DB13B56af05be3a3029BBE5",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"0x0382F518AcE1a86224c78B7CDfa67B9774055A1b",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:18,address:"0x427B5a0b0384D7FD3AF81805A166a2d9C1116D7d",original:"Polygon"}],["WFTM",{symbol:"WFTM",decimals:18,address:"0x81BA80f5820273AA965086e710042d737993f12c",original:"Fantom"}],["WGLMR",{symbol:"WGLMR",decimals:18,address:"0x99436d62259532E0407A7aE78A3b48D119B13903",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:9,address:"0x06EcAF6638070Ccf3b3dEA421b3becAA57f3e559",original:"Solana"}],["ETHoptimism",{symbol:"ETH",decimals:18,address:"native",wrappedKey:"WETHoptimism"}],["WETHoptimism",{symbol:"WETH",decimals:18,address:"0x4200000000000000000000000000000000000006"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"0xe05606174bac4A6364B31bd0eCA4bf4dD368f8C6"}],["WETHbase",{symbol:"WETH",decimals:18,address:"0x04b559971c90Dfb12D9795E95883e55f2fcf34Ed",original:"Base"}],["tBTC",{symbol:"tBTC",decimals:18,address:"0x5D89a5BcB86F15a2CCAb05e7E3bEE23fDF246a64",original:"Ethereum"}],["tBTCpolygon",{symbol:"tBTC",decimals:18,address:"0xE04e0F5f2C6ce45A40482C3AB92CA91D6741D717",original:"Polygon"}],["tBTCoptimism",{symbol:"tBTC",decimals:18,address:"0x1a53759DE2eADf73bd0b05c07a4F1F5B7912dA3d"}],["SEI",{symbol:"SEI",decimals:6,address:"0xE12be3D96fE101246bF2d290184B0eC6D35d02CA",original:"Sei"}]]],["Wormchain",[["WETH",{symbol:"WETH",decimals:8,address:"wormhole1vguuxez2h5ekltfj9gjd62fs5k4rl2zy5hfrncasykzw08rezpfs63pmq2",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"wormhole1rl8su3hadqqq2v86lscpuklsh2mh84cxqvjdew4jt9yd07dzekyqkmcy3p",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"wormhole1v2efcqkp2qtev06t0ksjnx6trxdd0f7fxg2zdrtzr8cr9wdpjkyqkv9ch6",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:8,address:"wormhole1uuwad4khwek2h05gmkktzmh8l4t0ep54yydlsqg0l4y2uh3tqfyq3an9k6",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:8,address:"wormhole1vhjnzk9ly03dugffvzfcwgry4dgc8x0sv0nqqtfxj3ajn7rn5ghq6whn2p",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:8,address:"wormhole1335rlmhujm0gj5e9gh7at9jpqvqckz0mpe4v284ar4lw5mlkryzsnetfsj",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:8,address:"wormhole1tqwwyth34550lg2437m05mjnjp8w7h5ka7m70jtzpxn4uh2ktsmq8dv649",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"wormhole1qum2tr7hh4y7ruzew68c64myjec0dq2s2njf6waja5t0w879lutqv2exs9",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:8,address:"wormhole1808lz8dp2c39vhm9gnemt7zzj95nvrmjepxp7v3w4skzrlyzcmnsxkduxf",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:8,address:"wormhole1e8z2wjelypwxw5sey62jvwjyup88w55q3h6m0x8jtwjf6sx5c7ys4mzydk",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:8,address:"wormhole10sfpr8ykh9xn93u8xec4ed3990nmvh86e0vaegkauqhlkxspysyqwavrxx",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:8,address:"wormhole1gryz69gzl6mz2m66a4twg922jtlc47nlx73sxv88lvq86du5zvyqz3mt23",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"wormhole1ced9v4plkf25q8c6k9gz0guq6l4xyjujpjlvxfg8lpaqywkmamashswq7p",original:"Solana"}],["SUI",{symbol:"SUI",decimals:8,address:"wormhole1yf4p93xu68j5fseupm4laj4k6f60gy7ynx6r5vvyr9c0hl3uy8vqpqd6h0",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"wormhole1u8rft0gee23fa6a0t4t88ualrza5lj8ses4aur0l66c7efpvjezqchv34j",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:8,address:"wormhole186k0cp83c3wyvapgh8fxf66ededemzrfujvjfsx0xw3vr0u9g8sq2y30vx",original:"Arbitrum"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"wormhole1s3pk90ccfl6ueehnj8s9pdgyjjlspmr3m5rv46arjh5v4g08dd0qrchjrk",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:8,address:"wormhole12eu6c7f67l8gdl2lt0hz0dgdh24dhune6wjgy5t0es3tpfzhc3yspwnpfy",original:"Optimism"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"wormhole1u5z7097gm57zvun9wqsx6jxej2gpdjhg9l9xfe58rhpm29rtjmfqfnl4yv",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:8,address:"wormhole10p89p4zh00dwdg8h52sysrqm0l2j47jj3kmg93pnz2a039ucw7esgl5vl9",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"wormhole1ja4txt6m0jjq0gmjtmv442f8wk0r5f5apaya0z55wwlrpg3p5xaq3qxw7h",original:"Base"}],["tBTCarbitrum",{symbol:"tBTC",decimals:8,address:"wormhole1rm8ztmk20lrd6ex8uqq3yu7a6eyfjwvg53pcuuj22ffe2y8r3yzqr8j4v9",original:"Arbitrum"}],["wstETH",{symbol:"wstETH",decimals:8,address:"wormhole1u2zdjcczjrenwmf57fmrpensk4the84azdm05m3unm387rm8asdsxqwfeu",original:"Ethereum"}]]],["Osmosis",[["WETH",{symbol:"WETH",decimals:8,address:"ibc/A4A8B6AE885DACD75B228031C0D18AD7EE1B914CED30C9F6F4230DDBD4A1CF2B",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"ibc/3BB8C4BD1C90599B2FA5B5839DD0813EF7B94B0BD0904C4C5A61498AE81E0EE9",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"ibc/1941ED1147121BA7DF35559597B6EB3251844DBBBE4557337D957CB95E0978C2",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:8,address:"ibc/2864B3418775DDB90EE1410EFF822FDA94E9F0FF77FC8771644761C79EDFE7A3",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:8,address:"ibc/43F15553F8598186394E81E18604B8B4532B2D7E855D9FFE68A2EF6802C18BE4",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:8,address:"ibc/65A67BA10DE2378B32AC5A822321E370966D3D4E180DEFB4C3C5245B21088DDF",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:8,address:"ibc/99EAD53D49EC7CC4E2E2EB26C22CF81C16727DF0C4BF7F7ACBF0D22D910DB5DE",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"ibc/EC9FA5074F34F0644A025BB0263FDAE8F364C5E08523F6464465EF1010FF5A3A",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:8,address:"ibc/145C6B688F70B0C2F6D87546A5974A75CE75B3A2940275B750E65797B2996157",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:8,address:"ibc/3A4EA3F8096856C0802F86B218DD74213B4C10224AA44BBD54AEAAA2ABF078BA",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:8,address:"ibc/7DB06BB67428510AFC3967DC90F5632C679D55D8C487A951A0EEC3160AF492A6",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:8,address:"ibc/B5D53105A7AA2BEC4DA4B3304228F3856219AE7CF84A9023043C481629E3E319",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"ibc/35A0467DE5744662078DE8B36CBBE0CF0EAA022565A3E6630CB375DDEBB96E05",original:"Solana"}],["SUI",{symbol:"SUI",decimals:8,address:"ibc/30778BA41ADF2D8A70B90DB53C2E0251731A40276EF6737215BB1A6ED9E90078",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"ibc/7C495BD95757ED662A897C139F1C9F18275A86EE7203A0B073E2DB12B1E19D63",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:8,address:"ibc/221A4AADF7972F3BB8F48A6CA984FF0AE65B5D973FF1A695B9642AD702F51789",original:"Arbitrum"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"ibc/06ED2700071B5A9C582F51A556537DA94E69EF547E7E6CCD8BFA3D95C818A525",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:8,address:"ibc/80B3FECB24A4CE94537444E5BF937AC4C08A39BF90D59620D278FA185BD2B148",original:"Optimism"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"ibc/0A98A3947189D7C368170C76C3EF49486DDBE095F34B72A3C7F92AEBE1013A1D",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:8,address:"ibc/A45069EA82C933945973E66E4222EEE4624498D4483508FE9BEBF9D519F2132F",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"ibc/2E4F8BC7F7AF33752CF7E290CAD4417EE67CD18FFC0D099E6519A440E588E0CE",original:"Base"}],["OSMO",{symbol:"OSMO",decimals:6,address:"uosmo"}],["wstETH",{symbol:"wstETH",decimals:8,address:"ibc/C66B7DB3ED665D2F5FE8ED15E88B5913A37D80601E161C5E53A743DE12C0FB85",original:"Ethereum"}]]],["Cosmoshub",[["WETH",{symbol:"WETH",decimals:8,address:"ibc/77FE9153FA76C3107CB9F6633AC33509A58529E9622327F216BA8107C79C2DE3",original:"Ethereum"}],["USDCeth",{symbol:"USDC",decimals:6,address:"ibc/D0EC31D1176BB69EA1A7CF7172CA0380B7AF488AFC6D55B101B8363C2141CD4F",original:"Ethereum"}],["USDT",{symbol:"USDT",decimals:6,address:"ibc/755FBC53FFB46FB505B5269F9BEDF47041F2A0EF2FF8D0520315403E5925C80A",original:"Ethereum"}],["DAI",{symbol:"DAI",decimals:8,address:"ibc/5F21E975410DA22AF565B1772DC45AD0BD5F6DA004981EBE291763F3D2C72A96",original:"Ethereum"}],["WMATIC",{symbol:"WMATIC",decimals:8,address:"ibc/37FB599287C6963C413E915FDE83EFA69A3CE8147675DD5A7F974B45F39C8A31",original:"Polygon"}],["WBNB",{symbol:"WBNB",decimals:8,address:"ibc/5B0D5974A56332468DD4B2D07C96A7386FCF8FE7303FF41234F90E410EF51937",original:"Bsc"}],["WAVAX",{symbol:"WAVAX",decimals:8,address:"ibc/BAEAC83736444C09656FBE666FB625974FCCDEE566EB700EBFD2642C5F6CF13A",original:"Avalanche"}],["USDCavax",{symbol:"USDC",decimals:6,address:"ibc/F09E98FA8682FF39130F171E9D89A948B0C3A452F2A31F22B6CC54A3AAE1CD4A",original:"Avalanche"}],["WFTM",{symbol:"WFTM",decimals:8,address:"ibc/919D8F138B7E71BB067C7301AB5C2D48415E8C3A2D9187861245CEC668F88E3C",original:"Fantom"}],["CELO",{symbol:"CELO",decimals:8,address:"ibc/009206915358A002C852A2A2CBEDB8446D2D02E519C815087A01F8BDB4DF77BA",original:"Celo"}],["WGLMR",{symbol:"WGLMR",decimals:8,address:"ibc/1EEDF447A6B046B20C00B1497BED5947219AEEBE0D9A85235C85133A554DF7A4",original:"Moonbeam"}],["WSOL",{symbol:"WSOL",decimals:8,address:"ibc/D3EA463A51E31B2B30BED1978575CAC145DBAB354B8A0EA5D4CFB12D737AF790",original:"Solana"}],["USDCsol",{symbol:"USDC",decimals:6,address:"ibc/26D8D6C63C8D37A5127591DDA905E04CC69CBD3A64F9DA3B1DA3FB0B6A7D9FA5",original:"Solana"}],["SUI",{symbol:"SUI",decimals:8,address:"ibc/129EC6B8A41BE07F94DD267F552F4AE1D5EAEBB51634A1468556AF06C10C2692",original:"Sui"}],["APT",{symbol:"APT",decimals:8,address:"ibc/0CCA5EB15BC2FE474E71DBC9698302CDE260B6F6548F91C30002F7CBF228197B",original:"Aptos"}],["WETHarbitrum",{symbol:"WETH",decimals:8,address:"ibc/AB4046AF5B6F146C006DE4DECAD929D24F762A701E09EC8B29000EC63A6E649B",original:"Arbitrum"}],["USDCarbitrum",{symbol:"USDC",decimals:6,address:"ibc/6D1B6A7A9EF692A279A6B5994C98C0D598D003D9203BE8309F14B6E57A58506E",original:"Arbitrum"}],["WETHoptimism",{symbol:"WETH",decimals:8,address:"ibc/A0298483510D803A045AA7F49CCBD0F9D01010FE0B1A346EBDFFF4BA820C3D21",original:"Optimism"}],["USDCoptimism",{symbol:"USDC",decimals:6,address:"ibc/CE3F2FE630DA6A1187F085CDC8D59BA8B20DA48F4866F2D71C5AB7A1D5859933",original:"Optimism"}],["WETHbase",{symbol:"WETH",decimals:8,address:"ibc/97035986A4BD0AF555713355A02EA31A4526616B6543E019E0D750007FABE06C",original:"Base"}],["USDCbase",{symbol:"USDC",decimals:6,address:"ibc/8560BA5F45C95AE716C05978E364F50C98347ACBEC745840C30F91611FA36698",original:"Base"}],["wstETH",{symbol:"wstETH",decimals:8,address:"ibc/5BB02667F9F0C8284FCF7716065C2779039817FBCB91E937F5149FE89FD8F202",original:"Ethereum"}],["ATOM",{symbol:"ATOM",decimals:6,address:"uatom"}]]],["Evmos",[["EVMOS",{symbol:"EVMOS",decimals:18,address:"atevmos"}]]],["Kujira",[["KUJI",{symbol:"KUJI",decimals:6,address:"ukuji"}]]],["Klaytn",[["KLAY",{symbol:"KLAY",decimals:18,address:"native",wrappedKey:"WKLAY"}],["WKLAY",{symbol:"WKLAY",decimals:18,address:"0x0339d5Eb6D195Ba90B13ed1BCeAa97EbD198b106"}]]],["XRPLEVM",[["XRP",{symbol:"XRP",decimals:18,address:"native",wrappedKey:"WXRP"}],["WXRP",{symbol:"WXRP",decimals:18,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"}]]],["Sepolia",[["ETHsepolia",{symbol:"ETH",decimals:18,address:"native",wrappedKey:"WETHsepolia"}],["WETHsepolia",{symbol:"WETH",decimals:18,address:"0xeef12A83EE5b7161D3873317c8E0E7B76e0B5D9c"}]]],["ArbitrumSepolia",[["ETHarbitrum_sepolia",{symbol:"ETH",decimals:18,address:"native",wrappedKey:"WETHarbitrum_sepolia"}],["WETHarbitrum_sepolia",{symbol:"WETH",decimals:18,address:"0x980B62Da83eFf3D4576C647993b0c1D7faf17c73"}]]],["BaseSepolia",[["ETHbase_sepolia",{symbol:"ETH",decimals:18,address:"native",wrappedKey:"WETHbase_sepolia"}],["WETHbase_sepolia",{symbol:"WETH",decimals:18,address:"0x4200000000000000000000000000000000000006"}]]],["OptimismSepolia",[["ETHoptimism_sepolia",{symbol:"ETH",decimals:18,address:"native",wrappedKey:"WETHoptimism_sepolia"}],["WETHoptimism_sepolia",{symbol:"WETH",decimals:18,address:"0x4200000000000000000000000000000000000006"}]]]],Wd=ne(Qp,[0,[1,2]]);function Ia(t,e){if(t!=="Devnet"){if(t==="Mainnet"){if(!Ld.has(e))return;const n=Ld.get(e);return Object.fromEntries(n.map(([r,s])=>[r,{...s,chain:e,key:r}]))}if(t==="Testnet"){if(!Wd.has(e))return;const n=Wd.get(e);return Object.fromEntries(n.map(([r,s])=>[r,{...s,chain:e,key:r}]))}throw new Error("Unsupported network: "+t)}}function $p(t,e){const n=Ia(t,e);return n?cs.native(n):void 0}function Jp(t,e,n){const r=Ia(t,e);return r?cs.byAddress(r,n):void 0}function Xp(t,e,n){const r=Ia(t,e);return r?cs.byKey(r,n):void 0}function Yp(t,e){const n={coreBridge:r2.get(t,e),tokenBridge:s2.get(t,e),nftBridge:o2.get(t,e),relayer:c2.get(t,e),tokenBridgeRelayer:i2.get(t,e),tbtc:Wi.get(t,e),executor:a2.get(t,e)};return qo.has(t,e)&&(n.executorTokenBridge=qo.get(t,e)),Ko.has(t,e)&&(n.cctp=Ko.get(t,e)),Ed.has(t,e)&&(n.gateway=Ed.get(t,e)),wd.has(t,e)&&(n.translator=wd.get(t,e)),Bd.has(t,e)&&(n.portico=Bd.get(t,e)),Wi.has(t,e)&&(n.tbtc=Wi.get(t,e)),n}function Ve(t){return typeof t=="string"&&t==="native"}function ml(t){return{chain:t,address:"native"}}function Zs(t){return typeof t=="object"&&t.address!==void 0&&t.chain!==void 0&&Qs(t.chain)}function Zp(t){return Zs(t)&&t.isUnattested===!0&&t.decimals!==void 0&&t.originalTokenId!==void 0}function ah(t,e){return t.chain!==e.chain?!1:Ve(t.address)&&Ve(e.address)?!0:Wt(t)===Wt(e)}function Wt(t){return Zs(t)&&Ve(t.address)?t.address:t.address.toNative(t.chain).toString()}function e6(t){if(Ve(t.address))throw new Error("Invalid address, cannot convert the string literal `native` to a Universal Address");return t.address.toUniversalAddress().toString()}function oh(t,e,n){let r;if(Zs(n)){if(!Ve(n.address))return[!1,n];r=n.address}else r=n;if(Ve(r)){const i=$p(t,e);if(!i)throw new Error("Invalid destination token");const a=i.wrappedKey,o=Xp(t,e,a);if(!o)throw new Error("Invalid wrapped token key: "+a);return[!0,{chain:e,address:yn(e,o.address)}]}return[!1,{chain:e,address:r}]}function ch(t){return t.chain!==void 0&&t.txid!==void 0}function mo(t){return Vu.map(n=>{const r=vt(n);let s="";try{s=_c.get(t,n)}catch{}const i=Ia(t,n),a=i?Object.values(i).find(c=>Ve(c.address)&&c.wrappedKey):void 0,o=a?i[a.wrappedKey]:void 0;return{key:n,platform:r,network:t,chainId:Rt(n),finalityThreshold:qu.get(n)??0,blockTime:Ku.get(n)??0,contracts:Yp(t,n),nativeTokenDecimals:Vc(r),nativeChainId:s,tokenMap:i,wrappedNative:o,explorer:_b(t,n),rpc:Qu(t,n),graphQL:sf(t,n)}}).reduce((n,r)=>({...n,[r.key]:r}),{})}class lh{network;chain;config;platform;rpc;protocols=new Map;constructor(e,n,r){this.config=n.config[e],this.platform=n,this.chain=this.config.key,this.network=this.config.network,this.rpc=r}getRpc(){return this.rpc=this.rpc?this.rpc:this.platform.getRpc(this.chain),this.rpc}async getDecimals(e){if(Ve(e))return this.config.nativeTokenDecimals;if(this.config.tokenMap){const n=Wt({chain:this.chain,address:e}),r=Jp(this.network,this.chain,n);if(r)return r.decimals}return this.platform.utils().getDecimals(this.network,this.chain,await this.getRpc(),e)}async getBalance(e,n){return this.platform.utils().getBalance(this.network,this.chain,await this.getRpc(),e,n)}async getLatestBlock(){return this.platform.utils().getLatestBlock(await this.getRpc())}async getLatestFinalizedBlock(){return this.platform.utils().getLatestFinalizedBlock(await this.getRpc())}async parseTransaction(e){return this.platform.parseWormholeMessages(this.chain,await this.getRpc(),e)}async sendWait(e){return this.platform.utils().sendWait(this.chain,await this.getRpc(),e)}getToken(e){if(this.config.tokenMap&&e in this.config.tokenMap)return this.config.tokenMap[e]}async getNativeWrappedTokenId(){if(this.config.wrappedNative){const{address:n}=this.config.wrappedNative;return{chain:this.chain,address:yn(this.chain,n)}}const e=await this.getTokenBridge();return{chain:this.chain,address:await e.getWrappedNative()}}async getTokenAccount(e,n){return{chain:this.chain,address:e}}async isToken2022(e){return!1}supportsProtocol(e){return Op(this.chain,e)}async getProtocol(e,n,r){if(!n&&this.protocols.has(e))return this.protocols.get(e);const s=n?{...this.config.contracts,...n}:this.config.contracts,i=r??await this.getRpc(),a=this.platform.getProtocolInitializer(e);let o;if(r){if(n)throw new Error("Custom contracts are currently not supported with custom rpc connection. Add the contracts to the base config.");o=await this.platform.getProtocol(e,i)}else if(Np(a)){const c=await a.getVersion(i,s);o=new a(this.network,this.chain,i,s,c)}else o=new a(this.network,this.chain,i,s);return n||this.protocols.set(e,o),o}supportsWormholeCore=()=>this.supportsProtocol("WormholeCore");getWormholeCore=()=>this.getProtocol("WormholeCore");supportsTokenBridge=()=>this.supportsProtocol("TokenBridge");getTokenBridge=()=>this.getProtocol("TokenBridge");supportsAutomaticTokenBridge=()=>this.supportsProtocol("AutomaticTokenBridge");getAutomaticTokenBridge=()=>this.getProtocol("AutomaticTokenBridge");supportsExecutorTokenBridge=()=>this.supportsProtocol("ExecutorTokenBridge");getExecutorTokenBridge=()=>this.getProtocol("ExecutorTokenBridge");supportsCircleBridge=()=>this.supportsProtocol("CircleBridge");getCircleBridge=()=>this.getProtocol("CircleBridge");supportsAutomaticCircleBridge=()=>this.supportsProtocol("AutomaticCircleBridge");getAutomaticCircleBridge=()=>this.getProtocol("AutomaticCircleBridge");supportsIbcBridge=()=>this.supportsProtocol("IbcBridge");getIbcBridge=()=>this.getProtocol("IbcBridge");supportsPorticoBridge=()=>this.supportsProtocol("PorticoBridge");getPorticoBridge=()=>this.getProtocol("PorticoBridge");supportsTBTCBridge=()=>this.supportsProtocol("TBTCBridge");getTBTCBridge=()=>this.getProtocol("TBTCBridge")}function t6(t){return dh(t)||bl(t)}function dh(t){return typeof t=="object"&&"chain"in t&&typeof t.chain=="function"&&"address"in t&&typeof t.address=="function"&&"sign"in t&&typeof t.sign=="function"}function bl(t){return typeof t=="object"&&"chain"in t&&typeof t.chain=="function"&&"address"in t&&typeof t.address=="function"&&"signAndSend"in t&&typeof t.signAndSend=="function"}class n6{_chain;_address;_signer;constructor(e,n,r){this._chain=e,this._address=n,this._signer=r}unwrap(){return this._signer}}function ar(t){return t.sequence!==void 0&&t.emitter!==void 0&&t.chain!==void 0}function aa(t){return t.hash!==void 0}const Hd=t=>[Bn(1),{name:"token",binary:"bytes",layout:[{name:"address",...se},{name:"amount",...Te}]},{name:"sourceDomain",...Qr},{name:"targetDomain",...Qr},{name:"nonce",...Ta},{name:"caller",...se},{name:"mintRecipient",...se},Ea({name:"payload",lengthSize:2},t)],r6=[Bn(1),{name:"targetRelayerFee",...Te},{name:"toNativeTokenAmount",...Te},{name:"targetRecipient",...se}],s6=[["DepositWithPayload",Hd()],["TransferWithRelay",Hd(r6)]];We("AutomaticCircleBridge",s6);const uh={binary:"uint",size:4,custom:0,omit:!0},i6=[{name:"messageBodyVersion",...uh},{name:"burnToken",...se},{name:"mintRecipient",...se},{name:"amount",...Te},{name:"messageSender",...se}],nc=[{name:"version",...uh},{name:"sourceDomain",...Qr},{name:"destinationDomain",...Qr},{name:"nonce",...Ta},{name:"sender",...se},{name:"recipient",...se},{name:"destinationCaller",...se},{name:"payload",binary:"bytes",layout:i6}],a6=[["Message",nc]];We("CircleBridge",a6);exports.CircleBridge=void 0;(function(t){t.isCircleAttestation=e=>e.message!==void 0,t.deserialize=e=>{const n=Mt(nc,e),r=Xe.encode(Fa(e),!0);return[n,r]},t.serialize=e=>Ot(nc,e)})(exports.CircleBridge||(exports.CircleBridge={}));var zd;(function(t){const e="AutomaticCircleBridge",n=["DepositWithPayload","TransferWithRelay"];t.getTransferDiscriminator=Oc(()=>hl([e,n]))})(zd||(zd={}));function o6(t){return t.amount!==void 0&&t.from!==void 0&&t.to!==void 0}const Gd={binary:"bytes",size:32,custom:{to:t=>Ji(t.byteLength).map(e=>String.fromCharCode(t[e])).join(""),from:t=>new Uint8Array(t.split("").map(e=>e.charCodeAt(0)))}},fh=[{name:"token",binary:"bytes",layout:[{name:"amount",...Te},{name:"address",...se},{name:"chain",...ut()}]},{name:"to",binary:"bytes",layout:[{name:"address",...se},{name:"chain",...ut()}]}],hh=[Bn(1),...fh,{name:"fee",...Te}],ei=t=>[Bn(3),...fh,{name:"from",...se},Ea({name:"payload"},t)],c6=[["AttestMeta",[Bn(2),{name:"token",binary:"bytes",layout:[{name:"address",...se},{name:"chain",...ut()}]},{name:"decimals",binary:"uint",size:1},{name:"symbol",...Gd},{name:"name",...Gd}]],["Transfer",hh],["TransferWithPayload",ei()]];We("TokenBridge",c6);const l6=Bb(["shouldWrapNative","shouldUnwrapNative"]),oa=[{name:"recipientChain",binary:"uint",endianness:"little",size:2},{name:"bridgeNonce",binary:"uint",endianness:"little",size:4},{name:"feeTierStart",binary:"uint",endianness:"little",size:3},{name:"feeTierFinish",binary:"uint",endianness:"little",size:3},{name:"padding",binary:"bytes",size:19},{name:"flags",...l6}];({...se},{...Te}),{...se},{...se},{...se},{...Te},{...Te},{...Te},{...Te};const rc=[{name:"flagSet",binary:"bytes",layout:oa},{name:"finalTokenAddress",...se},{name:"recipientAddress",...se},{name:"cannonAssetAmount",...Te},{name:"minAmountFinish",...Te},{name:"relayerFee",...Te}],d6=[["Transfer",ei(rc)]];We("PorticoBridge",d6);exports.PorticoBridge=void 0;(function(t){t.deserializePayload=e=>Mt(rc,e),t.serializePayload=e=>Ot(rc,e),t.deserializeFlagSet=e=>Mt(oa,e),t.serializeFlagSet=e=>Ot(oa,e)})(exports.PorticoBridge||(exports.PorticoBridge={}));const mh={binary:"bytes",layout:[{name:"size",binary:"uint",size:4,custom:96,omit:!0},{name:"waste",binary:"uint",size:31,custom:0n,omit:!0},{name:"version",binary:"uint",size:1,custom:0,omit:!0},{name:"gasLimit",...Te},{name:"targetChainRefundPerGasUnused",...Te}]},Vd={binary:"bytes",layout:[{name:"chain",...ut()},{name:"address",...se}]},u6=[{name:"chain",...ut()},{name:"emitterAddress",...se},{name:"sequence",...va}],f6=[{name:"size",binary:"uint",size:4,custom:12,omit:!0},{name:"domain",...Qr},{name:"nonce",...Ta}],bh={binary:"switch",idSize:1,idTag:"keyType",layouts:[[[1,"VAA"],u6],[[2,"CCTP"],f6]]},ph=t=>[Bn(1),{name:"target",...Vd},Ea({name:"payload",lengthSize:4},t),{name:"requestedReceiverValue",...Te},{name:"extraReceiverValue",...Te},{name:"executionInfo",...mh},{name:"refund",...Vd},{name:"refundDeliveryProvider",...se},{name:"sourceDeliveryProvider",...se},{name:"senderAddress",...se},{name:"messageKeys",binary:"array",lengthSize:1,layout:bh}],h6=[["DeliveryInstruction",ph()],["RedeliveryInstruction",[Bn(2),{name:"deliveryVaaKey",binary:"bytes",layout:bh},{name:"targetChain",...ut()},{name:"newRequestedReceiverValue",...Te},{name:"newEncodedExecutionInfo",...mh},{name:"newSourceDeliveryProvider",...se},{name:"newSenderAddress",...se}]]];We("Relayer",h6);const m6=[Bn(1),{name:"targetRelayerFee",...Te},{name:"toNativeTokenAmount",...Te},{name:"targetRecipient",...se}],b6=[["TransferWithRelay",ei(m6)]];We("AutomaticTokenBridge",b6);const p6=t=>new Error(`Token ${t} is not a wrapped asset`);var sc;(function(t){const e="TokenBridge",n=["Transfer","TransferWithPayload"],r=["AttestMeta"];[...n,...r],t.getTransferDiscriminator=Oc(()=>hl([e,n]))})(sc||(sc={}));function g6(t){return t.token!==void 0&&t.amount!==void 0&&t.from!==void 0&&t.to!==void 0}const y6=[{name:"targetRecipient",...se}],A6=[["TransferWithExecutorRelay",ei(y6)]];We("ExecutorTokenBridge",A6);const E6=[["Add",1],["Subtract",2],["Unknown",3]],ic={binary:"bytes",size:20,custom:{to:t=>Xe.encode(t,!0),from:t=>Xe.decode(t)}},w6=[["UpgradeContract",[!1,[{name:"newContract",...se}]]],["RegisterChain",[!0,[{name:"foreignChain",...ut()},{name:"foreignAddress",...se}]]],["RecoverChainId",[!1,[{name:"evmChainId",binary:"uint",size:32},{name:"newChainId",...ut({allowedChains:_u("Evm")})}]]],["GuardianSetUpgrade",[!0,[{name:"guardianSet",...ll},{name:"guardians",binary:"array",lengthSize:1,layout:ic}]]],["SetMessageFee",[!1,[{name:"messageFee",binary:"uint",size:32}]]],["TransferFees",[!0,[{name:"amount",binary:"uint",size:32},{name:"recipient",...se}]]],["UpdateDefaultProvider",[!1,[{name:"defaultProvider",...se}]]],["RegisterEmitterAndDomain",[!0,[{name:"emitterChain",...ut()},{name:"emitterAddress",...se},{name:"domain",binary:"uint",size:4}]]],["UpdateFinality",[!1,[{name:"finality",binary:"uint",size:1}]]]],bo={binary:"bytes",size:32},_d=[{name:"contractAddr",...se},{name:"codeId",binary:"uint",size:8}],B6=[["StoreCode",[!1,[{name:"wasmHash",...bo}]]],["InstantiateContract",[!1,[{name:"instantiationParamsHash",...bo}]]],["MigrateContract",[!1,[{name:"migrationParamsHash",...bo}]]],["AddWasmInstantiateAllowlist",[!1,_d]],["DeleteWasmInstantiateAllowlist",[!1,_d]]],C6=(()=>{const t=s=>({binary:"bytes",size:s,custom:nh}),e=[{name:"height",binary:"uint",size:8}],n=Nu(e),r=s=>[{name:"name",...t(s)},...e];return{binary:"bytes",custom:{to:s=>Mt(r(s.length-n),s),from:s=>Ot(r(s.name.length),s)}}})(),x6=[["ScheduleUpgrade",[!1,C6]],["CancelUpgrade",[!0,[]]],["SetIbcComposabilityMwContract",[!1,[{name:"contractAddress",...se}]]]],D6=[["ModifyBalance",[!1,[{name:"sequence",...va},{name:"modifiedChain",...ut()},{name:"tokenChain",...ut()},{name:"tokenAddress",...se},{name:"kind",...wb(E6)},{name:"amount",...Te},{name:"reason",...dl(32)}]]]],F6=[["ActionUpdateChannelChain",[!1,[{name:"channelId",...dl(64)},{name:"channelChain",...ut({allowedChains:_u("Cosmwasm")})}]]]],S6=[["GeneralPurposeEvm",[!1,[{name:"governanceContract",...ic},{name:"targetContract",...ic},{name:"payload",binary:"bytes",lengthSize:2}]]],["GeneralPurposeSolana",[!1,[{name:"governanceContract",...se},{name:"payload",binary:"bytes"}]]]],gh=[...w6,...B6,...x6,...D6,...F6,...S6];Iu(gh,0);const jd=Object.fromEntries(gh),T6=[["WormholeCore","Core"],["TokenBridge","TokenBridge"],["NftBridge","NftBridge"],["Relayer","WormholeRelayer"],["CircleBridge","CircleIntegration"],["IbcBridge","IbcTranslator"],["IbcReceiver","IbcReceiver"],["GlobalAccountant","GlobalAccountant"],["GeneralPurposeGovernance","GeneralPurposeGovernance"],["WormchainGovernance","WasmdModule"],["GatewayGovernance","GatewayModule"]],v6=ne(T6),I6=t=>({to:t,from:(()=>{const n=new Uint8Array(32),r=v6(t);for(let s=1;s<=r.length;++s)n[32-s]=r.charCodeAt(r.length-s);return n})()}),k6=(t,e)=>({to:t,from:e}),U6=(t,e,n)=>[{name:"protocol",binary:"bytes",custom:I6(t)},{name:"action",binary:"uint",size:1,custom:k6(e,n)},{name:"chain",...ut({allowNull:jd[e][0]})},{name:"actionArgs",binary:"bytes",layout:jd[e][1]}],pe=(t,e,n)=>[e,U6(t,e,n)],P6=[pe("WormholeCore","UpgradeContract",1),pe("WormholeCore","GuardianSetUpgrade",2),pe("WormholeCore","SetMessageFee",3),pe("WormholeCore","TransferFees",4),pe("WormholeCore","RecoverChainId",5)],N6=[pe("TokenBridge","RegisterChain",1),pe("TokenBridge","UpgradeContract",2),pe("TokenBridge","RecoverChainId",3)],R6=[pe("NftBridge","RegisterChain",1),pe("NftBridge","UpgradeContract",2),pe("NftBridge","RecoverChainId",3)],O6=[pe("Relayer","RegisterChain",1),pe("Relayer","UpgradeContract",2),pe("Relayer","UpdateDefaultProvider",3)],M6=[pe("CircleBridge","UpdateFinality",1),pe("CircleBridge","RegisterEmitterAndDomain",2),pe("CircleBridge","UpgradeContract",3)],L6=[pe("IbcBridge","ActionUpdateChannelChain",1)],W6=[pe("IbcReceiver","ActionUpdateChannelChain",1)],H6=[pe("GlobalAccountant","ModifyBalance",1)],z6=[pe("GeneralPurposeGovernance","GeneralPurposeEvm",1),pe("GeneralPurposeGovernance","GeneralPurposeSolana",2)],G6=[pe("WormchainGovernance","StoreCode",1),pe("WormchainGovernance","InstantiateContract",2),pe("WormchainGovernance","MigrateContract",3),pe("WormchainGovernance","AddWasmInstantiateAllowlist",4),pe("WormchainGovernance","DeleteWasmInstantiateAllowlist",5)],V6=[pe("GatewayGovernance","ScheduleUpgrade",1),pe("GatewayGovernance","CancelUpgrade",2),pe("GatewayGovernance","SetIbcComposabilityMwContract",3)];We("WormholeCore",P6);We("TokenBridge",N6);We("NftBridge",R6);We("Relayer",O6);We("CircleBridge",M6);We("IbcBridge",L6);We("IbcReceiver",W6);We("GlobalAccountant",H6);We("GeneralPurposeGovernance",z6);We("WormchainGovernance",G6);We("GatewayGovernance",V6);exports.TBTCBridge=void 0;(function(t){const e="TBTCBridge",n=["GatewayTransfer","Transfer"];[...n],t.getTransferDiscriminator=Oc(()=>hl([e,n])),t.getNativeTbtcToken=r=>{const s=b2.get("Mainnet",r);if(s)return{chain:r,address:yn(r,s)}}})(exports.TBTCBridge||(exports.TBTCBridge={}));const _6=[{name:"recipient",...se}],j6=[["GatewayTransfer",ei(_6)],["Transfer",hh]];We("TBTCBridge",j6);const q6=[{name:"gasLimit",binary:"uint",size:16},{name:"msgValue",binary:"uint",size:16}],K6=[{name:"dropOff",binary:"uint",size:16},{name:"recipient",...se}],Q6=[{name:"request",binary:"switch",idSize:1,idTag:"type",layouts:[[[1,"GasInstruction"],q6],[[2,"GasDropOffInstruction"],K6]]}],yh=[{name:"requests",binary:"array",layout:Q6}],$6=[{name:"quote",binary:"switch",idSize:4,idTag:"prefix",layouts:[[[1162948657,"EQ01"],[{name:"quoterAddress",binary:"bytes",size:20},{name:"payeeAddress",binary:"bytes",size:32},{name:"srcChain",binary:"uint",size:2},{name:"dstChain",binary:"uint",size:2},{name:"expiryTime",binary:"uint",size:8,custom:th},{name:"baseFee",binary:"uint",size:8},{name:"dstGasPrice",binary:"uint",size:8},{name:"srcPrice",binary:"uint",size:8},{name:"dstPrice",binary:"uint",size:8}]]]}],Ah=[...$6,{name:"signature",binary:"bytes",size:65}];var Pr;(function(t){t.Pending="pending",t.Failed="failed",t.Unsupported="unsupported",t.Submitted="submitted",t.Underpaid="underpaid",t.Aborted="aborted"})(Pr||(Pr={}));var qd;(function(t){t.ERM1="ERM1",t.ERV1="ERV1",t.ERN1="ERN1",t.ERC1="ERC1",t.ERC2="ERC2"})(qd||(qd={}));async function J6(t){const e=`${t}/capabilities`;try{const n=await fetch(e,{method:"GET",headers:{"Content-Type":"application/json"}});if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);return await n.json()}catch{throw new Error("Failed to fetch capabilities.")}}async function X6(t,e,n,r){const s=`${t}/quote`;try{const i=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({srcChain:Rt(e),dstChain:Rt(n),relayInstructions:r})});if(!i.ok)throw new Error(`HTTP error! status: ${i.status}`);return await i.json()}catch{throw new Error("Failed to fetch signed quote.")}}async function Y6(t,e,n){const r=`${t}/status/tx`;try{const s=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({txHash:e,chainId:Rt(n)})});if(!s.ok)throw new Error(`HTTP error! status: ${s.status}`);return await s.json()}catch{throw new Error(`Failed to fetch status for txHash: ${e}.`)}}const ca=globalThis||void 0||self;function Eh(t,e){return function(){return t.apply(e,arguments)}}const{toString:Z6}=Object.prototype,{getPrototypeOf:pl}=Object,{iterator:ka,toStringTag:wh}=Symbol,Ua=(t=>e=>{const n=Z6.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Ht=t=>(t=t.toLowerCase(),e=>Ua(e)===t),Pa=t=>e=>typeof e===t,{isArray:us}=Array,Os=Pa("undefined");function ti(t){return t!==null&&!Os(t)&&t.constructor!==null&&!Os(t.constructor)&&pt(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const Bh=Ht("ArrayBuffer");function e8(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&Bh(t.buffer),e}const t8=Pa("string"),pt=Pa("function"),Ch=Pa("number"),ni=t=>t!==null&&typeof t=="object",n8=t=>t===!0||t===!1,Vi=t=>{if(Ua(t)!=="object")return!1;const e=pl(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(wh in t)&&!(ka in t)},r8=t=>{if(!ni(t)||ti(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},s8=Ht("Date"),i8=Ht("File"),a8=Ht("Blob"),o8=Ht("FileList"),c8=t=>ni(t)&&pt(t.pipe),l8=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||pt(t.append)&&((e=Ua(t))==="formdata"||e==="object"&&pt(t.toString)&&t.toString()==="[object FormData]"))},d8=Ht("URLSearchParams"),[u8,f8,h8,m8]=["ReadableStream","Request","Response","Headers"].map(Ht),b8=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ri(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let r,s;if(typeof t!="object"&&(t=[t]),us(t))for(r=0,s=t.length;r<s;r++)e.call(null,t[r],r,t);else{if(ti(t))return;const i=n?Object.getOwnPropertyNames(t):Object.keys(t),a=i.length;let o;for(r=0;r<a;r++)o=i[r],e.call(null,t[o],o,t)}}function xh(t,e){if(ti(t))return null;e=e.toLowerCase();const n=Object.keys(t);let r=n.length,s;for(;r-- >0;)if(s=n[r],e===s.toLowerCase())return s;return null}const Zn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:ca,Dh=t=>!Os(t)&&t!==Zn;function ac(){const{caseless:t}=Dh(this)&&this||{},e={},n=(r,s)=>{const i=t&&xh(e,s)||s;Vi(e[i])&&Vi(r)?e[i]=ac(e[i],r):Vi(r)?e[i]=ac({},r):us(r)?e[i]=r.slice():e[i]=r};for(let r=0,s=arguments.length;r<s;r++)arguments[r]&&ri(arguments[r],n);return e}const p8=(t,e,n,{allOwnKeys:r}={})=>(ri(e,(s,i)=>{n&&pt(s)?t[i]=Eh(s,n):t[i]=s},{allOwnKeys:r}),t),g8=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),y8=(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},A8=(t,e,n,r)=>{let s,i,a;const o={};if(e=e||{},t==null)return e;do{for(s=Object.getOwnPropertyNames(t),i=s.length;i-- >0;)a=s[i],(!r||r(a,t,e))&&!o[a]&&(e[a]=t[a],o[a]=!0);t=n!==!1&&pl(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},E8=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return r!==-1&&r===n},w8=t=>{if(!t)return null;if(us(t))return t;let e=t.length;if(!Ch(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},B8=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&pl(Uint8Array)),C8=(t,e)=>{const r=(t&&t[ka]).call(t);let s;for(;(s=r.next())&&!s.done;){const i=s.value;e.call(t,i[0],i[1])}},x8=(t,e)=>{let n;const r=[];for(;(n=t.exec(e))!==null;)r.push(n);return r},D8=Ht("HTMLFormElement"),F8=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),Kd=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),S8=Ht("RegExp"),Fh=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};ri(n,(s,i)=>{let a;(a=e(s,i,t))!==!1&&(r[i]=a||s)}),Object.defineProperties(t,r)},T8=t=>{Fh(t,(e,n)=>{if(pt(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=t[n];if(pt(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},v8=(t,e)=>{const n={},r=s=>{s.forEach(i=>{n[i]=!0})};return us(t)?r(t):r(String(t).split(e)),n},I8=()=>{},k8=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function U8(t){return!!(t&&pt(t.append)&&t[wh]==="FormData"&&t[ka])}const P8=t=>{const e=new Array(10),n=(r,s)=>{if(ni(r)){if(e.indexOf(r)>=0)return;if(ti(r))return r;if(!("toJSON"in r)){e[s]=r;const i=us(r)?[]:{};return ri(r,(a,o)=>{const c=n(a,s+1);!Os(c)&&(i[o]=c)}),e[s]=void 0,i}}return r};return n(t,0)},N8=Ht("AsyncFunction"),R8=t=>t&&(ni(t)||pt(t))&&pt(t.then)&&pt(t.catch),Sh=((t,e)=>t?setImmediate:e?((n,r)=>(Zn.addEventListener("message",({source:s,data:i})=>{s===Zn&&i===n&&r.length&&r.shift()()},!1),s=>{r.push(s),Zn.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",pt(Zn.postMessage)),O8=typeof queueMicrotask<"u"?queueMicrotask.bind(Zn):typeof vs<"u"&&vs.nextTick||Sh,M8=t=>t!=null&&pt(t[ka]),P={isArray:us,isArrayBuffer:Bh,isBuffer:ti,isFormData:l8,isArrayBufferView:e8,isString:t8,isNumber:Ch,isBoolean:n8,isObject:ni,isPlainObject:Vi,isEmptyObject:r8,isReadableStream:u8,isRequest:f8,isResponse:h8,isHeaders:m8,isUndefined:Os,isDate:s8,isFile:i8,isBlob:a8,isRegExp:S8,isFunction:pt,isStream:c8,isURLSearchParams:d8,isTypedArray:B8,isFileList:o8,forEach:ri,merge:ac,extend:p8,trim:b8,stripBOM:g8,inherits:y8,toFlatObject:A8,kindOf:Ua,kindOfTest:Ht,endsWith:E8,toArray:w8,forEachEntry:C8,matchAll:x8,isHTMLForm:D8,hasOwnProperty:Kd,hasOwnProp:Kd,reduceDescriptors:Fh,freezeMethods:T8,toObjectSet:v8,toCamelCase:F8,noop:I8,toFiniteNumber:k8,findKey:xh,global:Zn,isContextDefined:Dh,isSpecCompliantForm:U8,toJSONObject:P8,isAsyncFn:N8,isThenable:R8,setImmediate:Sh,asap:O8,isIterable:M8};var gl={},Na={};Na.byteLength=H8;Na.toByteArray=G8;Na.fromByteArray=j8;var $t=[],Ft=[],L8=typeof Uint8Array<"u"?Uint8Array:Array,po="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var Sr=0,W8=po.length;Sr<W8;++Sr)$t[Sr]=po[Sr],Ft[po.charCodeAt(Sr)]=Sr;Ft[45]=62;Ft[95]=63;function Th(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");n===-1&&(n=e);var r=n===e?0:4-n%4;return[n,r]}function H8(t){var e=Th(t),n=e[0],r=e[1];return(n+r)*3/4-r}function z8(t,e,n){return(e+n)*3/4-n}function G8(t){var e,n=Th(t),r=n[0],s=n[1],i=new L8(z8(t,r,s)),a=0,o=s>0?r-4:r,c;for(c=0;c<o;c+=4)e=Ft[t.charCodeAt(c)]<<18|Ft[t.charCodeAt(c+1)]<<12|Ft[t.charCodeAt(c+2)]<<6|Ft[t.charCodeAt(c+3)],i[a++]=e>>16&255,i[a++]=e>>8&255,i[a++]=e&255;return s===2&&(e=Ft[t.charCodeAt(c)]<<2|Ft[t.charCodeAt(c+1)]>>4,i[a++]=e&255),s===1&&(e=Ft[t.charCodeAt(c)]<<10|Ft[t.charCodeAt(c+1)]<<4|Ft[t.charCodeAt(c+2)]>>2,i[a++]=e>>8&255,i[a++]=e&255),i}function V8(t){return $t[t>>18&63]+$t[t>>12&63]+$t[t>>6&63]+$t[t&63]}function _8(t,e,n){for(var r,s=[],i=e;i<n;i+=3)r=(t[i]<<16&16711680)+(t[i+1]<<8&65280)+(t[i+2]&255),s.push(V8(r));return s.join("")}function j8(t){for(var e,n=t.length,r=n%3,s=[],i=16383,a=0,o=n-r;a<o;a+=i)s.push(_8(t,a,a+i>o?o:a+i));return r===1?(e=t[n-1],s.push($t[e>>2]+$t[e<<4&63]+"==")):r===2&&(e=(t[n-2]<<8)+t[n-1],s.push($t[e>>10]+$t[e>>4&63]+$t[e<<2&63]+"=")),s.join("")}var yl={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */yl.read=function(t,e,n,r,s){var i,a,o=s*8-r-1,c=(1<<o)-1,d=c>>1,l=-7,f=n?s-1:0,m=n?-1:1,b=t[e+f];for(f+=m,i=b&(1<<-l)-1,b>>=-l,l+=o;l>0;i=i*256+t[e+f],f+=m,l-=8);for(a=i&(1<<-l)-1,i>>=-l,l+=r;l>0;a=a*256+t[e+f],f+=m,l-=8);if(i===0)i=1-d;else{if(i===c)return a?NaN:(b?-1:1)*(1/0);a=a+Math.pow(2,r),i=i-d}return(b?-1:1)*a*Math.pow(2,i-r)};yl.write=function(t,e,n,r,s,i){var a,o,c,d=i*8-s-1,l=(1<<d)-1,f=l>>1,m=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,b=r?0:i-1,w=r?1:-1,E=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=l):(a=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-a))<1&&(a--,c*=2),a+f>=1?e+=m/c:e+=m*Math.pow(2,1-f),e*c>=2&&(a++,c/=2),a+f>=l?(o=0,a=l):a+f>=1?(o=(e*c-1)*Math.pow(2,s),a=a+f):(o=e*Math.pow(2,f-1)*Math.pow(2,s),a=0));s>=8;t[n+b]=o&255,b+=w,o/=256,s-=8);for(a=a<<s|o,d+=s;d>0;t[n+b]=a&255,b+=w,a/=256,d-=8);t[n+b-w]|=E*128};/*!
2
+ * The buffer module from node.js, for the browser.
3
+ *
4
+ * @author Feross Aboukhadijeh <https://feross.org>
5
+ * @license MIT
6
+ */(function(t){const e=Na,n=yl,r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=T,t.INSPECT_MAX_BYTES=50;const s=2147483647;t.kMaxLength=s;const{Uint8Array:i,ArrayBuffer:a,SharedArrayBuffer:o}=globalThis;l.TYPED_ARRAY_SUPPORT=c(),!l.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function c(){try{const g=new i(1),u={foo:function(){return 42}};return Object.setPrototypeOf(u,i.prototype),Object.setPrototypeOf(g,u),g.foo()===42}catch{return!1}}Object.defineProperty(l.prototype,"parent",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.buffer}}),Object.defineProperty(l.prototype,"offset",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.byteOffset}});function d(g){if(g>s)throw new RangeError('The value "'+g+'" is invalid for option "size"');const u=new i(g);return Object.setPrototypeOf(u,l.prototype),u}function l(g,u,h){if(typeof g=="number"){if(typeof u=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return w(g)}return f(g,u,h)}l.poolSize=8192;function f(g,u,h){if(typeof g=="string")return E(g,u);if(a.isView(g))return p(g);if(g==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof g);if(Gt(g,a)||g&&Gt(g.buffer,a)||typeof o<"u"&&(Gt(g,o)||g&&Gt(g.buffer,o)))return x(g,u,h);if(typeof g=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const B=g.valueOf&&g.valueOf();if(B!=null&&B!==g)return l.from(B,u,h);const F=A(g);if(F)return F;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof g[Symbol.toPrimitive]=="function")return l.from(g[Symbol.toPrimitive]("string"),u,h);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof g)}l.from=function(g,u,h){return f(g,u,h)},Object.setPrototypeOf(l.prototype,i.prototype),Object.setPrototypeOf(l,i);function m(g){if(typeof g!="number")throw new TypeError('"size" argument must be of type number');if(g<0)throw new RangeError('The value "'+g+'" is invalid for option "size"')}function b(g,u,h){return m(g),g<=0?d(g):u!==void 0?typeof h=="string"?d(g).fill(u,h):d(g).fill(u):d(g)}l.alloc=function(g,u,h){return b(g,u,h)};function w(g){return m(g),d(g<0?0:S(g)|0)}l.allocUnsafe=function(g){return w(g)},l.allocUnsafeSlow=function(g){return w(g)};function E(g,u){if((typeof u!="string"||u==="")&&(u="utf8"),!l.isEncoding(u))throw new TypeError("Unknown encoding: "+u);const h=U(g,u)|0;let B=d(h);const F=B.write(g,u);return F!==h&&(B=B.slice(0,F)),B}function y(g){const u=g.length<0?0:S(g.length)|0,h=d(u);for(let B=0;B<u;B+=1)h[B]=g[B]&255;return h}function p(g){if(Gt(g,i)){const u=new i(g);return x(u.buffer,u.byteOffset,u.byteLength)}return y(g)}function x(g,u,h){if(u<0||g.byteLength<u)throw new RangeError('"offset" is outside of buffer bounds');if(g.byteLength<u+(h||0))throw new RangeError('"length" is outside of buffer bounds');let B;return u===void 0&&h===void 0?B=new i(g):h===void 0?B=new i(g,u):B=new i(g,u,h),Object.setPrototypeOf(B,l.prototype),B}function A(g){if(l.isBuffer(g)){const u=S(g.length)|0,h=d(u);return h.length===0||g.copy(h,0,0,u),h}if(g.length!==void 0)return typeof g.length!="number"||ao(g.length)?d(0):y(g);if(g.type==="Buffer"&&Array.isArray(g.data))return y(g.data)}function S(g){if(g>=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return g|0}function T(g){return+g!=g&&(g=0),l.alloc(+g)}l.isBuffer=function(u){return u!=null&&u._isBuffer===!0&&u!==l.prototype},l.compare=function(u,h){if(Gt(u,i)&&(u=l.from(u,u.offset,u.byteLength)),Gt(h,i)&&(h=l.from(h,h.offset,h.byteLength)),!l.isBuffer(u)||!l.isBuffer(h))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(u===h)return 0;let B=u.length,F=h.length;for(let I=0,L=Math.min(B,F);I<L;++I)if(u[I]!==h[I]){B=u[I],F=h[I];break}return B<F?-1:F<B?1:0},l.isEncoding=function(u){switch(String(u).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(u,h){if(!Array.isArray(u))throw new TypeError('"list" argument must be an Array of Buffers');if(u.length===0)return l.alloc(0);let B;if(h===void 0)for(h=0,B=0;B<u.length;++B)h+=u[B].length;const F=l.allocUnsafe(h);let I=0;for(B=0;B<u.length;++B){let L=u[B];if(Gt(L,i))I+L.length>F.length?(l.isBuffer(L)||(L=l.from(L)),L.copy(F,I)):i.prototype.set.call(F,L,I);else if(l.isBuffer(L))L.copy(F,I);else throw new TypeError('"list" argument must be an Array of Buffers');I+=L.length}return F};function U(g,u){if(l.isBuffer(g))return g.length;if(a.isView(g)||Gt(g,a))return g.byteLength;if(typeof g!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof g);const h=g.length,B=arguments.length>2&&arguments[2]===!0;if(!B&&h===0)return 0;let F=!1;for(;;)switch(u){case"ascii":case"latin1":case"binary":return h;case"utf8":case"utf-8":return io(g).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return h*2;case"hex":return h>>>1;case"base64":return Zl(g).length;default:if(F)return B?-1:io(g).length;u=(""+u).toLowerCase(),F=!0}}l.byteLength=U;function R(g,u,h){let B=!1;if((u===void 0||u<0)&&(u=0),u>this.length||((h===void 0||h>this.length)&&(h=this.length),h<=0)||(h>>>=0,u>>>=0,h<=u))return"";for(g||(g="utf8");;)switch(g){case"hex":return Y(this,u,h);case"utf8":case"utf-8":return H(this,u,h);case"ascii":return j(this,u,h);case"latin1":case"binary":return J(this,u,h);case"base64":return k(this,u,h);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,u,h);default:if(B)throw new TypeError("Unknown encoding: "+g);g=(g+"").toLowerCase(),B=!0}}l.prototype._isBuffer=!0;function v(g,u,h){const B=g[u];g[u]=g[h],g[h]=B}l.prototype.swap16=function(){const u=this.length;if(u%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let h=0;h<u;h+=2)v(this,h,h+1);return this},l.prototype.swap32=function(){const u=this.length;if(u%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let h=0;h<u;h+=4)v(this,h,h+3),v(this,h+1,h+2);return this},l.prototype.swap64=function(){const u=this.length;if(u%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let h=0;h<u;h+=8)v(this,h,h+7),v(this,h+1,h+6),v(this,h+2,h+5),v(this,h+3,h+4);return this},l.prototype.toString=function(){const u=this.length;return u===0?"":arguments.length===0?H(this,0,u):R.apply(this,arguments)},l.prototype.toLocaleString=l.prototype.toString,l.prototype.equals=function(u){if(!l.isBuffer(u))throw new TypeError("Argument must be a Buffer");return this===u?!0:l.compare(this,u)===0},l.prototype.inspect=function(){let u="";const h=t.INSPECT_MAX_BYTES;return u=this.toString("hex",0,h).replace(/(.{2})/g,"$1 ").trim(),this.length>h&&(u+=" ... "),"<Buffer "+u+">"},r&&(l.prototype[r]=l.prototype.inspect),l.prototype.compare=function(u,h,B,F,I){if(Gt(u,i)&&(u=l.from(u,u.offset,u.byteLength)),!l.isBuffer(u))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof u);if(h===void 0&&(h=0),B===void 0&&(B=u?u.length:0),F===void 0&&(F=0),I===void 0&&(I=this.length),h<0||B>u.length||F<0||I>this.length)throw new RangeError("out of range index");if(F>=I&&h>=B)return 0;if(F>=I)return-1;if(h>=B)return 1;if(h>>>=0,B>>>=0,F>>>=0,I>>>=0,this===u)return 0;let L=I-F,de=B-h;const ve=Math.min(L,de),Ce=this.slice(F,I),Ie=u.slice(h,B);for(let Ae=0;Ae<ve;++Ae)if(Ce[Ae]!==Ie[Ae]){L=Ce[Ae],de=Ie[Ae];break}return L<de?-1:de<L?1:0};function M(g,u,h,B,F){if(g.length===0)return-1;if(typeof h=="string"?(B=h,h=0):h>2147483647?h=2147483647:h<-2147483648&&(h=-2147483648),h=+h,ao(h)&&(h=F?0:g.length-1),h<0&&(h=g.length+h),h>=g.length){if(F)return-1;h=g.length-1}else if(h<0)if(F)h=0;else return-1;if(typeof u=="string"&&(u=l.from(u,B)),l.isBuffer(u))return u.length===0?-1:V(g,u,h,B,F);if(typeof u=="number")return u=u&255,typeof i.prototype.indexOf=="function"?F?i.prototype.indexOf.call(g,u,h):i.prototype.lastIndexOf.call(g,u,h):V(g,[u],h,B,F);throw new TypeError("val must be string, number or Buffer")}function V(g,u,h,B,F){let I=1,L=g.length,de=u.length;if(B!==void 0&&(B=String(B).toLowerCase(),B==="ucs2"||B==="ucs-2"||B==="utf16le"||B==="utf-16le")){if(g.length<2||u.length<2)return-1;I=2,L/=2,de/=2,h/=2}function ve(Ie,Ae){return I===1?Ie[Ae]:Ie.readUInt16BE(Ae*I)}let Ce;if(F){let Ie=-1;for(Ce=h;Ce<L;Ce++)if(ve(g,Ce)===ve(u,Ie===-1?0:Ce-Ie)){if(Ie===-1&&(Ie=Ce),Ce-Ie+1===de)return Ie*I}else Ie!==-1&&(Ce-=Ce-Ie),Ie=-1}else for(h+de>L&&(h=L-de),Ce=h;Ce>=0;Ce--){let Ie=!0;for(let Ae=0;Ae<de;Ae++)if(ve(g,Ce+Ae)!==ve(u,Ae)){Ie=!1;break}if(Ie)return Ce}return-1}l.prototype.includes=function(u,h,B){return this.indexOf(u,h,B)!==-1},l.prototype.indexOf=function(u,h,B){return M(this,u,h,B,!0)},l.prototype.lastIndexOf=function(u,h,B){return M(this,u,h,B,!1)};function Q(g,u,h,B){h=Number(h)||0;const F=g.length-h;B?(B=Number(B),B>F&&(B=F)):B=F;const I=u.length;B>I/2&&(B=I/2);let L;for(L=0;L<B;++L){const de=parseInt(u.substr(L*2,2),16);if(ao(de))return L;g[h+L]=de}return L}function q(g,u,h,B){return hi(io(u,g.length-h),g,h,B)}function N(g,u,h,B){return hi($m(u),g,h,B)}function O(g,u,h,B){return hi(Zl(u),g,h,B)}function C(g,u,h,B){return hi(Jm(u,g.length-h),g,h,B)}l.prototype.write=function(u,h,B,F){if(h===void 0)F="utf8",B=this.length,h=0;else if(B===void 0&&typeof h=="string")F=h,B=this.length,h=0;else if(isFinite(h))h=h>>>0,isFinite(B)?(B=B>>>0,F===void 0&&(F="utf8")):(F=B,B=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const I=this.length-h;if((B===void 0||B>I)&&(B=I),u.length>0&&(B<0||h<0)||h>this.length)throw new RangeError("Attempt to write outside buffer bounds");F||(F="utf8");let L=!1;for(;;)switch(F){case"hex":return Q(this,u,h,B);case"utf8":case"utf-8":return q(this,u,h,B);case"ascii":case"latin1":case"binary":return N(this,u,h,B);case"base64":return O(this,u,h,B);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,u,h,B);default:if(L)throw new TypeError("Unknown encoding: "+F);F=(""+F).toLowerCase(),L=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function k(g,u,h){return u===0&&h===g.length?e.fromByteArray(g):e.fromByteArray(g.slice(u,h))}function H(g,u,h){h=Math.min(g.length,h);const B=[];let F=u;for(;F<h;){const I=g[F];let L=null,de=I>239?4:I>223?3:I>191?2:1;if(F+de<=h){let ve,Ce,Ie,Ae;switch(de){case 1:I<128&&(L=I);break;case 2:ve=g[F+1],(ve&192)===128&&(Ae=(I&31)<<6|ve&63,Ae>127&&(L=Ae));break;case 3:ve=g[F+1],Ce=g[F+2],(ve&192)===128&&(Ce&192)===128&&(Ae=(I&15)<<12|(ve&63)<<6|Ce&63,Ae>2047&&(Ae<55296||Ae>57343)&&(L=Ae));break;case 4:ve=g[F+1],Ce=g[F+2],Ie=g[F+3],(ve&192)===128&&(Ce&192)===128&&(Ie&192)===128&&(Ae=(I&15)<<18|(ve&63)<<12|(Ce&63)<<6|Ie&63,Ae>65535&&Ae<1114112&&(L=Ae))}}L===null?(L=65533,de=1):L>65535&&(L-=65536,B.push(L>>>10&1023|55296),L=56320|L&1023),B.push(L),F+=de}return z(B)}const G=4096;function z(g){const u=g.length;if(u<=G)return String.fromCharCode.apply(String,g);let h="",B=0;for(;B<u;)h+=String.fromCharCode.apply(String,g.slice(B,B+=G));return h}function j(g,u,h){let B="";h=Math.min(g.length,h);for(let F=u;F<h;++F)B+=String.fromCharCode(g[F]&127);return B}function J(g,u,h){let B="";h=Math.min(g.length,h);for(let F=u;F<h;++F)B+=String.fromCharCode(g[F]);return B}function Y(g,u,h){const B=g.length;(!u||u<0)&&(u=0),(!h||h<0||h>B)&&(h=B);let F="";for(let I=u;I<h;++I)F+=Xm[g[I]];return F}function me(g,u,h){const B=g.slice(u,h);let F="";for(let I=0;I<B.length-1;I+=2)F+=String.fromCharCode(B[I]+B[I+1]*256);return F}l.prototype.slice=function(u,h){const B=this.length;u=~~u,h=h===void 0?B:~~h,u<0?(u+=B,u<0&&(u=0)):u>B&&(u=B),h<0?(h+=B,h<0&&(h=0)):h>B&&(h=B),h<u&&(h=u);const F=this.subarray(u,h);return Object.setPrototypeOf(F,l.prototype),F};function Z(g,u,h){if(g%1!==0||g<0)throw new RangeError("offset is not uint");if(g+u>h)throw new RangeError("Trying to access beyond buffer length")}l.prototype.readUintLE=l.prototype.readUIntLE=function(u,h,B){u=u>>>0,h=h>>>0,B||Z(u,h,this.length);let F=this[u],I=1,L=0;for(;++L<h&&(I*=256);)F+=this[u+L]*I;return F},l.prototype.readUintBE=l.prototype.readUIntBE=function(u,h,B){u=u>>>0,h=h>>>0,B||Z(u,h,this.length);let F=this[u+--h],I=1;for(;h>0&&(I*=256);)F+=this[u+--h]*I;return F},l.prototype.readUint8=l.prototype.readUInt8=function(u,h){return u=u>>>0,h||Z(u,1,this.length),this[u]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(u,h){return u=u>>>0,h||Z(u,2,this.length),this[u]|this[u+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(u,h){return u=u>>>0,h||Z(u,2,this.length),this[u]<<8|this[u+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(u,h){return u=u>>>0,h||Z(u,4,this.length),(this[u]|this[u+1]<<8|this[u+2]<<16)+this[u+3]*16777216},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(u,h){return u=u>>>0,h||Z(u,4,this.length),this[u]*16777216+(this[u+1]<<16|this[u+2]<<8|this[u+3])},l.prototype.readBigUInt64LE=xn(function(u){u=u>>>0,rn(u,"offset");const h=this[u],B=this[u+7];(h===void 0||B===void 0)&&ms(u,this.length-8);const F=h+this[++u]*2**8+this[++u]*2**16+this[++u]*2**24,I=this[++u]+this[++u]*2**8+this[++u]*2**16+B*2**24;return BigInt(F)+(BigInt(I)<<BigInt(32))}),l.prototype.readBigUInt64BE=xn(function(u){u=u>>>0,rn(u,"offset");const h=this[u],B=this[u+7];(h===void 0||B===void 0)&&ms(u,this.length-8);const F=h*2**24+this[++u]*2**16+this[++u]*2**8+this[++u],I=this[++u]*2**24+this[++u]*2**16+this[++u]*2**8+B;return(BigInt(F)<<BigInt(32))+BigInt(I)}),l.prototype.readIntLE=function(u,h,B){u=u>>>0,h=h>>>0,B||Z(u,h,this.length);let F=this[u],I=1,L=0;for(;++L<h&&(I*=256);)F+=this[u+L]*I;return I*=128,F>=I&&(F-=Math.pow(2,8*h)),F},l.prototype.readIntBE=function(u,h,B){u=u>>>0,h=h>>>0,B||Z(u,h,this.length);let F=h,I=1,L=this[u+--F];for(;F>0&&(I*=256);)L+=this[u+--F]*I;return I*=128,L>=I&&(L-=Math.pow(2,8*h)),L},l.prototype.readInt8=function(u,h){return u=u>>>0,h||Z(u,1,this.length),this[u]&128?(255-this[u]+1)*-1:this[u]},l.prototype.readInt16LE=function(u,h){u=u>>>0,h||Z(u,2,this.length);const B=this[u]|this[u+1]<<8;return B&32768?B|4294901760:B},l.prototype.readInt16BE=function(u,h){u=u>>>0,h||Z(u,2,this.length);const B=this[u+1]|this[u]<<8;return B&32768?B|4294901760:B},l.prototype.readInt32LE=function(u,h){return u=u>>>0,h||Z(u,4,this.length),this[u]|this[u+1]<<8|this[u+2]<<16|this[u+3]<<24},l.prototype.readInt32BE=function(u,h){return u=u>>>0,h||Z(u,4,this.length),this[u]<<24|this[u+1]<<16|this[u+2]<<8|this[u+3]},l.prototype.readBigInt64LE=xn(function(u){u=u>>>0,rn(u,"offset");const h=this[u],B=this[u+7];(h===void 0||B===void 0)&&ms(u,this.length-8);const F=this[u+4]+this[u+5]*2**8+this[u+6]*2**16+(B<<24);return(BigInt(F)<<BigInt(32))+BigInt(h+this[++u]*2**8+this[++u]*2**16+this[++u]*2**24)}),l.prototype.readBigInt64BE=xn(function(u){u=u>>>0,rn(u,"offset");const h=this[u],B=this[u+7];(h===void 0||B===void 0)&&ms(u,this.length-8);const F=(h<<24)+this[++u]*2**16+this[++u]*2**8+this[++u];return(BigInt(F)<<BigInt(32))+BigInt(this[++u]*2**24+this[++u]*2**16+this[++u]*2**8+B)}),l.prototype.readFloatLE=function(u,h){return u=u>>>0,h||Z(u,4,this.length),n.read(this,u,!0,23,4)},l.prototype.readFloatBE=function(u,h){return u=u>>>0,h||Z(u,4,this.length),n.read(this,u,!1,23,4)},l.prototype.readDoubleLE=function(u,h){return u=u>>>0,h||Z(u,8,this.length),n.read(this,u,!0,52,8)},l.prototype.readDoubleBE=function(u,h){return u=u>>>0,h||Z(u,8,this.length),n.read(this,u,!1,52,8)};function _(g,u,h,B,F,I){if(!l.isBuffer(g))throw new TypeError('"buffer" argument must be a Buffer instance');if(u>F||u<I)throw new RangeError('"value" argument is out of bounds');if(h+B>g.length)throw new RangeError("Index out of range")}l.prototype.writeUintLE=l.prototype.writeUIntLE=function(u,h,B,F){if(u=+u,h=h>>>0,B=B>>>0,!F){const de=Math.pow(2,8*B)-1;_(this,u,h,B,de,0)}let I=1,L=0;for(this[h]=u&255;++L<B&&(I*=256);)this[h+L]=u/I&255;return h+B},l.prototype.writeUintBE=l.prototype.writeUIntBE=function(u,h,B,F){if(u=+u,h=h>>>0,B=B>>>0,!F){const de=Math.pow(2,8*B)-1;_(this,u,h,B,de,0)}let I=B-1,L=1;for(this[h+I]=u&255;--I>=0&&(L*=256);)this[h+I]=u/L&255;return h+B},l.prototype.writeUint8=l.prototype.writeUInt8=function(u,h,B){return u=+u,h=h>>>0,B||_(this,u,h,1,255,0),this[h]=u&255,h+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(u,h,B){return u=+u,h=h>>>0,B||_(this,u,h,2,65535,0),this[h]=u&255,this[h+1]=u>>>8,h+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(u,h,B){return u=+u,h=h>>>0,B||_(this,u,h,2,65535,0),this[h]=u>>>8,this[h+1]=u&255,h+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(u,h,B){return u=+u,h=h>>>0,B||_(this,u,h,4,4294967295,0),this[h+3]=u>>>24,this[h+2]=u>>>16,this[h+1]=u>>>8,this[h]=u&255,h+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(u,h,B){return u=+u,h=h>>>0,B||_(this,u,h,4,4294967295,0),this[h]=u>>>24,this[h+1]=u>>>16,this[h+2]=u>>>8,this[h+3]=u&255,h+4};function te(g,u,h,B,F){hs(u,B,F,g,h,7);let I=Number(u&BigInt(4294967295));g[h++]=I,I=I>>8,g[h++]=I,I=I>>8,g[h++]=I,I=I>>8,g[h++]=I;let L=Number(u>>BigInt(32)&BigInt(4294967295));return g[h++]=L,L=L>>8,g[h++]=L,L=L>>8,g[h++]=L,L=L>>8,g[h++]=L,h}function le(g,u,h,B,F){hs(u,B,F,g,h,7);let I=Number(u&BigInt(4294967295));g[h+7]=I,I=I>>8,g[h+6]=I,I=I>>8,g[h+5]=I,I=I>>8,g[h+4]=I;let L=Number(u>>BigInt(32)&BigInt(4294967295));return g[h+3]=L,L=L>>8,g[h+2]=L,L=L>>8,g[h+1]=L,L=L>>8,g[h]=L,h+8}l.prototype.writeBigUInt64LE=xn(function(u,h=0){return te(this,u,h,BigInt(0),BigInt("0xffffffffffffffff"))}),l.prototype.writeBigUInt64BE=xn(function(u,h=0){return le(this,u,h,BigInt(0),BigInt("0xffffffffffffffff"))}),l.prototype.writeIntLE=function(u,h,B,F){if(u=+u,h=h>>>0,!F){const ve=Math.pow(2,8*B-1);_(this,u,h,B,ve-1,-ve)}let I=0,L=1,de=0;for(this[h]=u&255;++I<B&&(L*=256);)u<0&&de===0&&this[h+I-1]!==0&&(de=1),this[h+I]=(u/L>>0)-de&255;return h+B},l.prototype.writeIntBE=function(u,h,B,F){if(u=+u,h=h>>>0,!F){const ve=Math.pow(2,8*B-1);_(this,u,h,B,ve-1,-ve)}let I=B-1,L=1,de=0;for(this[h+I]=u&255;--I>=0&&(L*=256);)u<0&&de===0&&this[h+I+1]!==0&&(de=1),this[h+I]=(u/L>>0)-de&255;return h+B},l.prototype.writeInt8=function(u,h,B){return u=+u,h=h>>>0,B||_(this,u,h,1,127,-128),u<0&&(u=255+u+1),this[h]=u&255,h+1},l.prototype.writeInt16LE=function(u,h,B){return u=+u,h=h>>>0,B||_(this,u,h,2,32767,-32768),this[h]=u&255,this[h+1]=u>>>8,h+2},l.prototype.writeInt16BE=function(u,h,B){return u=+u,h=h>>>0,B||_(this,u,h,2,32767,-32768),this[h]=u>>>8,this[h+1]=u&255,h+2},l.prototype.writeInt32LE=function(u,h,B){return u=+u,h=h>>>0,B||_(this,u,h,4,2147483647,-2147483648),this[h]=u&255,this[h+1]=u>>>8,this[h+2]=u>>>16,this[h+3]=u>>>24,h+4},l.prototype.writeInt32BE=function(u,h,B){return u=+u,h=h>>>0,B||_(this,u,h,4,2147483647,-2147483648),u<0&&(u=4294967295+u+1),this[h]=u>>>24,this[h+1]=u>>>16,this[h+2]=u>>>8,this[h+3]=u&255,h+4},l.prototype.writeBigInt64LE=xn(function(u,h=0){return te(this,u,h,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),l.prototype.writeBigInt64BE=xn(function(u,h=0){return le(this,u,h,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ge(g,u,h,B,F,I){if(h+B>g.length)throw new RangeError("Index out of range");if(h<0)throw new RangeError("Index out of range")}function oe(g,u,h,B,F){return u=+u,h=h>>>0,F||ge(g,u,h,4),n.write(g,u,h,B,23,4),h+4}l.prototype.writeFloatLE=function(u,h,B){return oe(this,u,h,!0,B)},l.prototype.writeFloatBE=function(u,h,B){return oe(this,u,h,!1,B)};function ye(g,u,h,B,F){return u=+u,h=h>>>0,F||ge(g,u,h,8),n.write(g,u,h,B,52,8),h+8}l.prototype.writeDoubleLE=function(u,h,B){return ye(this,u,h,!0,B)},l.prototype.writeDoubleBE=function(u,h,B){return ye(this,u,h,!1,B)},l.prototype.copy=function(u,h,B,F){if(!l.isBuffer(u))throw new TypeError("argument should be a Buffer");if(B||(B=0),!F&&F!==0&&(F=this.length),h>=u.length&&(h=u.length),h||(h=0),F>0&&F<B&&(F=B),F===B||u.length===0||this.length===0)return 0;if(h<0)throw new RangeError("targetStart out of bounds");if(B<0||B>=this.length)throw new RangeError("Index out of range");if(F<0)throw new RangeError("sourceEnd out of bounds");F>this.length&&(F=this.length),u.length-h<F-B&&(F=u.length-h+B);const I=F-B;return this===u&&typeof i.prototype.copyWithin=="function"?this.copyWithin(h,B,F):i.prototype.set.call(u,this.subarray(B,F),h),I},l.prototype.fill=function(u,h,B,F){if(typeof u=="string"){if(typeof h=="string"?(F=h,h=0,B=this.length):typeof B=="string"&&(F=B,B=this.length),F!==void 0&&typeof F!="string")throw new TypeError("encoding must be a string");if(typeof F=="string"&&!l.isEncoding(F))throw new TypeError("Unknown encoding: "+F);if(u.length===1){const L=u.charCodeAt(0);(F==="utf8"&&L<128||F==="latin1")&&(u=L)}}else typeof u=="number"?u=u&255:typeof u=="boolean"&&(u=Number(u));if(h<0||this.length<h||this.length<B)throw new RangeError("Out of range index");if(B<=h)return this;h=h>>>0,B=B===void 0?this.length:B>>>0,u||(u=0);let I;if(typeof u=="number")for(I=h;I<B;++I)this[I]=u;else{const L=l.isBuffer(u)?u:l.from(u,F),de=L.length;if(de===0)throw new TypeError('The value "'+u+'" is invalid for argument "value"');for(I=0;I<B-h;++I)this[I+h]=L[I%de]}return this};const Ke={};function He(g,u,h){Ke[g]=class extends h{constructor(){super(),Object.defineProperty(this,"message",{value:u.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${g}]`,this.stack,delete this.name}get code(){return g}set code(F){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:F,writable:!0})}toString(){return`${this.name} [${g}]: ${this.message}`}}}He("ERR_BUFFER_OUT_OF_BOUNDS",function(g){return g?`${g} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),He("ERR_INVALID_ARG_TYPE",function(g,u){return`The "${g}" argument must be of type number. Received type ${typeof u}`},TypeError),He("ERR_OUT_OF_RANGE",function(g,u,h){let B=`The value of "${g}" is out of range.`,F=h;return Number.isInteger(h)&&Math.abs(h)>2**32?F=ot(String(h)):typeof h=="bigint"&&(F=String(h),(h>BigInt(2)**BigInt(32)||h<-(BigInt(2)**BigInt(32)))&&(F=ot(F)),F+="n"),B+=` It must be ${u}. Received ${F}`,B},RangeError);function ot(g){let u="",h=g.length;const B=g[0]==="-"?1:0;for(;h>=B+4;h-=3)u=`_${g.slice(h-3,h)}${u}`;return`${g.slice(0,h)}${u}`}function Dr(g,u,h){rn(u,"offset"),(g[u]===void 0||g[u+h]===void 0)&&ms(u,g.length-(h+1))}function hs(g,u,h,B,F,I){if(g>h||g<u){const L=typeof u=="bigint"?"n":"";let de;throw u===0||u===BigInt(0)?de=`>= 0${L} and < 2${L} ** ${(I+1)*8}${L}`:de=`>= -(2${L} ** ${(I+1)*8-1}${L}) and < 2 ** ${(I+1)*8-1}${L}`,new Ke.ERR_OUT_OF_RANGE("value",de,g)}Dr(B,F,I)}function rn(g,u){if(typeof g!="number")throw new Ke.ERR_INVALID_ARG_TYPE(u,"number",g)}function ms(g,u,h){throw Math.floor(g)!==g?(rn(g,h),new Ke.ERR_OUT_OF_RANGE("offset","an integer",g)):u<0?new Ke.ERR_BUFFER_OUT_OF_BOUNDS:new Ke.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${u}`,g)}const Km=/[^+/0-9A-Za-z-_]/g;function Qm(g){if(g=g.split("=")[0],g=g.trim().replace(Km,""),g.length<2)return"";for(;g.length%4!==0;)g=g+"=";return g}function io(g,u){u=u||1/0;let h;const B=g.length;let F=null;const I=[];for(let L=0;L<B;++L){if(h=g.charCodeAt(L),h>55295&&h<57344){if(!F){if(h>56319){(u-=3)>-1&&I.push(239,191,189);continue}else if(L+1===B){(u-=3)>-1&&I.push(239,191,189);continue}F=h;continue}if(h<56320){(u-=3)>-1&&I.push(239,191,189),F=h;continue}h=(F-55296<<10|h-56320)+65536}else F&&(u-=3)>-1&&I.push(239,191,189);if(F=null,h<128){if((u-=1)<0)break;I.push(h)}else if(h<2048){if((u-=2)<0)break;I.push(h>>6|192,h&63|128)}else if(h<65536){if((u-=3)<0)break;I.push(h>>12|224,h>>6&63|128,h&63|128)}else if(h<1114112){if((u-=4)<0)break;I.push(h>>18|240,h>>12&63|128,h>>6&63|128,h&63|128)}else throw new Error("Invalid code point")}return I}function $m(g){const u=[];for(let h=0;h<g.length;++h)u.push(g.charCodeAt(h)&255);return u}function Jm(g,u){let h,B,F;const I=[];for(let L=0;L<g.length&&!((u-=2)<0);++L)h=g.charCodeAt(L),B=h>>8,F=h%256,I.push(F),I.push(B);return I}function Zl(g){return e.toByteArray(Qm(g))}function hi(g,u,h,B){let F;for(F=0;F<B&&!(F+h>=u.length||F>=g.length);++F)u[F+h]=g[F];return F}function Gt(g,u){return g instanceof u||g!=null&&g.constructor!=null&&g.constructor.name!=null&&g.constructor.name===u.name}function ao(g){return g!==g}const Xm=(function(){const g="0123456789abcdef",u=new Array(256);for(let h=0;h<16;++h){const B=h*16;for(let F=0;F<16;++F)u[B+F]=g[h]+g[F]}return u})();function xn(g){return typeof BigInt>"u"?Ym:g}function Ym(){throw new Error("BigInt not supported")}})(gl);const vh=gl.Buffer,q8=gl.Buffer;function re(t,e,n,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),s&&(this.response=s,this.status=s.status?s.status:null)}P.inherits(re,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:P.toJSONObject(this.config),code:this.code,status:this.status}}});const Ih=re.prototype,kh={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{kh[t]={value:t}});Object.defineProperties(re,kh);Object.defineProperty(Ih,"isAxiosError",{value:!0});re.from=(t,e,n,r,s,i)=>{const a=Object.create(Ih);return P.toFlatObject(t,a,function(c){return c!==Error.prototype},o=>o!=="isAxiosError"),re.call(a,t.message,e,n,r,s),a.cause=t,a.name=t.name,i&&Object.assign(a,i),a};const K8=null;function oc(t){return P.isPlainObject(t)||P.isArray(t)}function Uh(t){return P.endsWith(t,"[]")?t.slice(0,-2):t}function Qd(t,e,n){return t?t.concat(e).map(function(s,i){return s=Uh(s),!n&&i?"["+s+"]":s}).join(n?".":""):e}function Q8(t){return P.isArray(t)&&!t.some(oc)}const $8=P.toFlatObject(P,{},null,function(e){return/^is[A-Z]/.test(e)});function Ra(t,e,n){if(!P.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=P.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(E,y){return!P.isUndefined(y[E])});const r=n.metaTokens,s=n.visitor||l,i=n.dots,a=n.indexes,c=(n.Blob||typeof Blob<"u"&&Blob)&&P.isSpecCompliantForm(e);if(!P.isFunction(s))throw new TypeError("visitor must be a function");function d(w){if(w===null)return"";if(P.isDate(w))return w.toISOString();if(P.isBoolean(w))return w.toString();if(!c&&P.isBlob(w))throw new re("Blob is not supported. Use a Buffer instead.");return P.isArrayBuffer(w)||P.isTypedArray(w)?c&&typeof Blob=="function"?new Blob([w]):vh.from(w):w}function l(w,E,y){let p=w;if(w&&!y&&typeof w=="object"){if(P.endsWith(E,"{}"))E=r?E:E.slice(0,-2),w=JSON.stringify(w);else if(P.isArray(w)&&Q8(w)||(P.isFileList(w)||P.endsWith(E,"[]"))&&(p=P.toArray(w)))return E=Uh(E),p.forEach(function(A,S){!(P.isUndefined(A)||A===null)&&e.append(a===!0?Qd([E],S,i):a===null?E:E+"[]",d(A))}),!1}return oc(w)?!0:(e.append(Qd(y,E,i),d(w)),!1)}const f=[],m=Object.assign($8,{defaultVisitor:l,convertValue:d,isVisitable:oc});function b(w,E){if(!P.isUndefined(w)){if(f.indexOf(w)!==-1)throw Error("Circular reference detected in "+E.join("."));f.push(w),P.forEach(w,function(p,x){(!(P.isUndefined(p)||p===null)&&s.call(e,p,P.isString(x)?x.trim():x,E,m))===!0&&b(p,E?E.concat(x):[x])}),f.pop()}}if(!P.isObject(t))throw new TypeError("data must be an object");return b(t),e}function $d(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function Al(t,e){this._pairs=[],t&&Ra(t,this,e)}const Ph=Al.prototype;Ph.append=function(e,n){this._pairs.push([e,n])};Ph.toString=function(e){const n=e?function(r){return e.call(this,r,$d)}:$d;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function J8(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Nh(t,e,n){if(!e)return t;const r=n&&n.encode||J8;P.isFunction(n)&&(n={serialize:n});const s=n&&n.serialize;let i;if(s?i=s(e,n):i=P.isURLSearchParams(e)?e.toString():new Al(e,n).toString(r),i){const a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+i}return t}class Jd{constructor(){this.handlers=[]}use(e,n,r){return this.handlers.push({fulfilled:e,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){P.forEach(this.handlers,function(r){r!==null&&e(r)})}}const Rh={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},X8=typeof URLSearchParams<"u"?URLSearchParams:Al,Y8=typeof FormData<"u"?FormData:null,Z8=typeof Blob<"u"?Blob:null,eg={isBrowser:!0,classes:{URLSearchParams:X8,FormData:Y8,Blob:Z8},protocols:["http","https","file","blob","url","data"]},El=typeof window<"u"&&typeof document<"u",cc=typeof navigator=="object"&&navigator||void 0,tg=El&&(!cc||["ReactNative","NativeScript","NS"].indexOf(cc.product)<0),ng=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",rg=El&&window.location.href||"http://localhost",sg=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:El,hasStandardBrowserEnv:tg,hasStandardBrowserWebWorkerEnv:ng,navigator:cc,origin:rg},Symbol.toStringTag,{value:"Module"})),nt={...sg,...eg};function ig(t,e){return Ra(t,new nt.classes.URLSearchParams,{visitor:function(n,r,s,i){return nt.isNode&&P.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...e})}function ag(t){return P.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function og(t){const e={},n=Object.keys(t);let r;const s=n.length;let i;for(r=0;r<s;r++)i=n[r],e[i]=t[i];return e}function Oh(t){function e(n,r,s,i){let a=n[i++];if(a==="__proto__")return!0;const o=Number.isFinite(+a),c=i>=n.length;return a=!a&&P.isArray(s)?s.length:a,c?(P.hasOwnProp(s,a)?s[a]=[s[a],r]:s[a]=r,!o):((!s[a]||!P.isObject(s[a]))&&(s[a]=[]),e(n,r,s[a],i)&&P.isArray(s[a])&&(s[a]=og(s[a])),!o)}if(P.isFormData(t)&&P.isFunction(t.entries)){const n={};return P.forEachEntry(t,(r,s)=>{e(ag(r),s,n,0)}),n}return null}function cg(t,e,n){if(P.isString(t))try{return(e||JSON.parse)(t),P.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(t)}const si={transitional:Rh,adapter:["xhr","http","fetch"],transformRequest:[function(e,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,i=P.isObject(e);if(i&&P.isHTMLForm(e)&&(e=new FormData(e)),P.isFormData(e))return s?JSON.stringify(Oh(e)):e;if(P.isArrayBuffer(e)||P.isBuffer(e)||P.isStream(e)||P.isFile(e)||P.isBlob(e)||P.isReadableStream(e))return e;if(P.isArrayBufferView(e))return e.buffer;if(P.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let o;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return ig(e,this.formSerializer).toString();if((o=P.isFileList(e))||r.indexOf("multipart/form-data")>-1){const c=this.env&&this.env.FormData;return Ra(o?{"files[]":e}:e,c&&new c,this.formSerializer)}}return i||s?(n.setContentType("application/json",!1),cg(e)):e}],transformResponse:[function(e){const n=this.transitional||si.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(P.isResponse(e)||P.isReadableStream(e))return e;if(e&&P.isString(e)&&(r&&!this.responseType||s)){const a=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(e)}catch(o){if(a)throw o.name==="SyntaxError"?re.from(o,re.ERR_BAD_RESPONSE,this,null,this.response):o}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:nt.classes.FormData,Blob:nt.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};P.forEach(["delete","get","head","post","put","patch"],t=>{si.headers[t]={}});const lg=P.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),dg=t=>{const e={};let n,r,s;return t&&t.split(`
7
+ `).forEach(function(a){s=a.indexOf(":"),n=a.substring(0,s).trim().toLowerCase(),r=a.substring(s+1).trim(),!(!n||e[n]&&lg[n])&&(n==="set-cookie"?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e},Xd=Symbol("internals");function gs(t){return t&&String(t).trim().toLowerCase()}function _i(t){return t===!1||t==null?t:P.isArray(t)?t.map(_i):String(t)}function ug(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}const fg=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function go(t,e,n,r,s){if(P.isFunction(r))return r.call(this,e,n);if(s&&(e=n),!!P.isString(e)){if(P.isString(r))return e.indexOf(r)!==-1;if(P.isRegExp(r))return r.test(e)}}function hg(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,r)=>n.toUpperCase()+r)}function mg(t,e){const n=P.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{value:function(s,i,a){return this[r].call(this,e,s,i,a)},configurable:!0})})}let gt=class{constructor(e){e&&this.set(e)}set(e,n,r){const s=this;function i(o,c,d){const l=gs(c);if(!l)throw new Error("header name must be a non-empty string");const f=P.findKey(s,l);(!f||s[f]===void 0||d===!0||d===void 0&&s[f]!==!1)&&(s[f||c]=_i(o))}const a=(o,c)=>P.forEach(o,(d,l)=>i(d,l,c));if(P.isPlainObject(e)||e instanceof this.constructor)a(e,n);else if(P.isString(e)&&(e=e.trim())&&!fg(e))a(dg(e),n);else if(P.isObject(e)&&P.isIterable(e)){let o={},c,d;for(const l of e){if(!P.isArray(l))throw TypeError("Object iterator must return a key-value pair");o[d=l[0]]=(c=o[d])?P.isArray(c)?[...c,l[1]]:[c,l[1]]:l[1]}a(o,n)}else e!=null&&i(n,e,r);return this}get(e,n){if(e=gs(e),e){const r=P.findKey(this,e);if(r){const s=this[r];if(!n)return s;if(n===!0)return ug(s);if(P.isFunction(n))return n.call(this,s,r);if(P.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=gs(e),e){const r=P.findKey(this,e);return!!(r&&this[r]!==void 0&&(!n||go(this,this[r],r,n)))}return!1}delete(e,n){const r=this;let s=!1;function i(a){if(a=gs(a),a){const o=P.findKey(r,a);o&&(!n||go(r,r[o],o,n))&&(delete r[o],s=!0)}}return P.isArray(e)?e.forEach(i):i(e),s}clear(e){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const i=n[r];(!e||go(this,this[i],i,e,!0))&&(delete this[i],s=!0)}return s}normalize(e){const n=this,r={};return P.forEach(this,(s,i)=>{const a=P.findKey(r,i);if(a){n[a]=_i(s),delete n[i];return}const o=e?hg(i):String(i).trim();o!==i&&delete n[i],n[o]=_i(s),r[o]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const n=Object.create(null);return P.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=e&&P.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join(`
8
+ `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const r=new this(e);return n.forEach(s=>r.set(s)),r}static accessor(e){const r=(this[Xd]=this[Xd]={accessors:{}}).accessors,s=this.prototype;function i(a){const o=gs(a);r[o]||(mg(s,a),r[o]=!0)}return P.isArray(e)?e.forEach(i):i(e),this}};gt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);P.reduceDescriptors(gt.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[n]=r}}});P.freezeMethods(gt);function yo(t,e){const n=this||si,r=e||n,s=gt.from(r.headers);let i=r.data;return P.forEach(t,function(o){i=o.call(n,i,s.normalize(),e?e.status:void 0)}),s.normalize(),i}function Mh(t){return!!(t&&t.__CANCEL__)}function fs(t,e,n){re.call(this,t??"canceled",re.ERR_CANCELED,e,n),this.name="CanceledError"}P.inherits(fs,re,{__CANCEL__:!0});function Lh(t,e,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?t(n):e(new re("Request failed with status code "+n.status,[re.ERR_BAD_REQUEST,re.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function bg(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function pg(t,e){t=t||10;const n=new Array(t),r=new Array(t);let s=0,i=0,a;return e=e!==void 0?e:1e3,function(c){const d=Date.now(),l=r[i];a||(a=d),n[s]=c,r[s]=d;let f=i,m=0;for(;f!==s;)m+=n[f++],f=f%t;if(s=(s+1)%t,s===i&&(i=(i+1)%t),d-a<e)return;const b=l&&d-l;return b?Math.round(m*1e3/b):void 0}}function gg(t,e){let n=0,r=1e3/e,s,i;const a=(d,l=Date.now())=>{n=l,s=null,i&&(clearTimeout(i),i=null),t(...d)};return[(...d)=>{const l=Date.now(),f=l-n;f>=r?a(d,l):(s=d,i||(i=setTimeout(()=>{i=null,a(s)},r-f)))},()=>s&&a(s)]}const la=(t,e,n=3)=>{let r=0;const s=pg(50,250);return gg(i=>{const a=i.loaded,o=i.lengthComputable?i.total:void 0,c=a-r,d=s(c),l=a<=o;r=a;const f={loaded:a,total:o,progress:o?a/o:void 0,bytes:c,rate:d||void 0,estimated:d&&o&&l?(o-a)/d:void 0,event:i,lengthComputable:o!=null,[e?"download":"upload"]:!0};t(f)},n)},Yd=(t,e)=>{const n=t!=null;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},Zd=t=>(...e)=>P.asap(()=>t(...e)),yg=nt.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,nt.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(nt.origin),nt.navigator&&/(msie|trident)/i.test(nt.navigator.userAgent)):()=>!0,Ag=nt.hasStandardBrowserEnv?{write(t,e,n,r,s,i){const a=[t+"="+encodeURIComponent(e)];P.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),P.isString(r)&&a.push("path="+r),P.isString(s)&&a.push("domain="+s),i===!0&&a.push("secure"),document.cookie=a.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Eg(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function wg(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function Wh(t,e,n){let r=!Eg(e);return t&&(r||n==!1)?wg(t,e):e}const e0=t=>t instanceof gt?{...t}:t;function pr(t,e){e=e||{};const n={};function r(d,l,f,m){return P.isPlainObject(d)&&P.isPlainObject(l)?P.merge.call({caseless:m},d,l):P.isPlainObject(l)?P.merge({},l):P.isArray(l)?l.slice():l}function s(d,l,f,m){if(P.isUndefined(l)){if(!P.isUndefined(d))return r(void 0,d,f,m)}else return r(d,l,f,m)}function i(d,l){if(!P.isUndefined(l))return r(void 0,l)}function a(d,l){if(P.isUndefined(l)){if(!P.isUndefined(d))return r(void 0,d)}else return r(void 0,l)}function o(d,l,f){if(f in e)return r(d,l);if(f in t)return r(void 0,d)}const c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:o,headers:(d,l,f)=>s(e0(d),e0(l),f,!0)};return P.forEach(Object.keys({...t,...e}),function(l){const f=c[l]||s,m=f(t[l],e[l],l);P.isUndefined(m)&&f!==o||(n[l]=m)}),n}const Hh=t=>{const e=pr({},t);let{data:n,withXSRFToken:r,xsrfHeaderName:s,xsrfCookieName:i,headers:a,auth:o}=e;e.headers=a=gt.from(a),e.url=Nh(Wh(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),o&&a.set("Authorization","Basic "+btoa((o.username||"")+":"+(o.password?unescape(encodeURIComponent(o.password)):"")));let c;if(P.isFormData(n)){if(nt.hasStandardBrowserEnv||nt.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if((c=a.getContentType())!==!1){const[d,...l]=c?c.split(";").map(f=>f.trim()).filter(Boolean):[];a.setContentType([d||"multipart/form-data",...l].join("; "))}}if(nt.hasStandardBrowserEnv&&(r&&P.isFunction(r)&&(r=r(e)),r||r!==!1&&yg(e.url))){const d=s&&i&&Ag.read(i);d&&a.set(s,d)}return e},Bg=typeof XMLHttpRequest<"u",Cg=Bg&&function(t){return new Promise(function(n,r){const s=Hh(t);let i=s.data;const a=gt.from(s.headers).normalize();let{responseType:o,onUploadProgress:c,onDownloadProgress:d}=s,l,f,m,b,w;function E(){b&&b(),w&&w(),s.cancelToken&&s.cancelToken.unsubscribe(l),s.signal&&s.signal.removeEventListener("abort",l)}let y=new XMLHttpRequest;y.open(s.method.toUpperCase(),s.url,!0),y.timeout=s.timeout;function p(){if(!y)return;const A=gt.from("getAllResponseHeaders"in y&&y.getAllResponseHeaders()),T={data:!o||o==="text"||o==="json"?y.responseText:y.response,status:y.status,statusText:y.statusText,headers:A,config:t,request:y};Lh(function(R){n(R),E()},function(R){r(R),E()},T),y=null}"onloadend"in y?y.onloadend=p:y.onreadystatechange=function(){!y||y.readyState!==4||y.status===0&&!(y.responseURL&&y.responseURL.indexOf("file:")===0)||setTimeout(p)},y.onabort=function(){y&&(r(new re("Request aborted",re.ECONNABORTED,t,y)),y=null)},y.onerror=function(){r(new re("Network Error",re.ERR_NETWORK,t,y)),y=null},y.ontimeout=function(){let S=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const T=s.transitional||Rh;s.timeoutErrorMessage&&(S=s.timeoutErrorMessage),r(new re(S,T.clarifyTimeoutError?re.ETIMEDOUT:re.ECONNABORTED,t,y)),y=null},i===void 0&&a.setContentType(null),"setRequestHeader"in y&&P.forEach(a.toJSON(),function(S,T){y.setRequestHeader(T,S)}),P.isUndefined(s.withCredentials)||(y.withCredentials=!!s.withCredentials),o&&o!=="json"&&(y.responseType=s.responseType),d&&([m,w]=la(d,!0),y.addEventListener("progress",m)),c&&y.upload&&([f,b]=la(c),y.upload.addEventListener("progress",f),y.upload.addEventListener("loadend",b)),(s.cancelToken||s.signal)&&(l=A=>{y&&(r(!A||A.type?new fs(null,t,y):A),y.abort(),y=null)},s.cancelToken&&s.cancelToken.subscribe(l),s.signal&&(s.signal.aborted?l():s.signal.addEventListener("abort",l)));const x=bg(s.url);if(x&&nt.protocols.indexOf(x)===-1){r(new re("Unsupported protocol "+x+":",re.ERR_BAD_REQUEST,t));return}y.send(i||null)})},xg=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let r=new AbortController,s;const i=function(d){if(!s){s=!0,o();const l=d instanceof Error?d:this.reason;r.abort(l instanceof re?l:new fs(l instanceof Error?l.message:l))}};let a=e&&setTimeout(()=>{a=null,i(new re(`timeout ${e} of ms exceeded`,re.ETIMEDOUT))},e);const o=()=>{t&&(a&&clearTimeout(a),a=null,t.forEach(d=>{d.unsubscribe?d.unsubscribe(i):d.removeEventListener("abort",i)}),t=null)};t.forEach(d=>d.addEventListener("abort",i));const{signal:c}=r;return c.unsubscribe=()=>P.asap(o),c}},Dg=function*(t,e){let n=t.byteLength;if(n<e){yield t;return}let r=0,s;for(;r<n;)s=r+e,yield t.slice(r,s),r=s},Fg=async function*(t,e){for await(const n of Sg(t))yield*Dg(n,e)},Sg=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:n,value:r}=await e.read();if(n)break;yield r}}finally{await e.cancel()}},t0=(t,e,n,r)=>{const s=Fg(t,e);let i=0,a,o=c=>{a||(a=!0,r&&r(c))};return new ReadableStream({async pull(c){try{const{done:d,value:l}=await s.next();if(d){o(),c.close();return}let f=l.byteLength;if(n){let m=i+=f;n(m)}c.enqueue(new Uint8Array(l))}catch(d){throw o(d),d}},cancel(c){return o(c),s.return()}},{highWaterMark:2})},Oa=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",zh=Oa&&typeof ReadableStream=="function",Tg=Oa&&(typeof TextEncoder=="function"?(t=>e=>t.encode(e))(new TextEncoder):async t=>new Uint8Array(await new Response(t).arrayBuffer())),Gh=(t,...e)=>{try{return!!t(...e)}catch{return!1}},vg=zh&&Gh(()=>{let t=!1;const e=new Request(nt.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),n0=64*1024,lc=zh&&Gh(()=>P.isReadableStream(new Response("").body)),da={stream:lc&&(t=>t.body)};Oa&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!da[e]&&(da[e]=P.isFunction(t[e])?n=>n[e]():(n,r)=>{throw new re(`Response type '${e}' is not supported`,re.ERR_NOT_SUPPORT,r)})})})(new Response);const Ig=async t=>{if(t==null)return 0;if(P.isBlob(t))return t.size;if(P.isSpecCompliantForm(t))return(await new Request(nt.origin,{method:"POST",body:t}).arrayBuffer()).byteLength;if(P.isArrayBufferView(t)||P.isArrayBuffer(t))return t.byteLength;if(P.isURLSearchParams(t)&&(t=t+""),P.isString(t))return(await Tg(t)).byteLength},kg=async(t,e)=>{const n=P.toFiniteNumber(t.getContentLength());return n??Ig(e)},Ug=Oa&&(async t=>{let{url:e,method:n,data:r,signal:s,cancelToken:i,timeout:a,onDownloadProgress:o,onUploadProgress:c,responseType:d,headers:l,withCredentials:f="same-origin",fetchOptions:m}=Hh(t);d=d?(d+"").toLowerCase():"text";let b=xg([s,i&&i.toAbortSignal()],a),w;const E=b&&b.unsubscribe&&(()=>{b.unsubscribe()});let y;try{if(c&&vg&&n!=="get"&&n!=="head"&&(y=await kg(l,r))!==0){let T=new Request(e,{method:"POST",body:r,duplex:"half"}),U;if(P.isFormData(r)&&(U=T.headers.get("content-type"))&&l.setContentType(U),T.body){const[R,v]=Yd(y,la(Zd(c)));r=t0(T.body,n0,R,v)}}P.isString(f)||(f=f?"include":"omit");const p="credentials"in Request.prototype;w=new Request(e,{...m,signal:b,method:n.toUpperCase(),headers:l.normalize().toJSON(),body:r,duplex:"half",credentials:p?f:void 0});let x=await fetch(w,m);const A=lc&&(d==="stream"||d==="response");if(lc&&(o||A&&E)){const T={};["status","statusText","headers"].forEach(M=>{T[M]=x[M]});const U=P.toFiniteNumber(x.headers.get("content-length")),[R,v]=o&&Yd(U,la(Zd(o),!0))||[];x=new Response(t0(x.body,n0,R,()=>{v&&v(),E&&E()}),T)}d=d||"text";let S=await da[P.findKey(da,d)||"text"](x,t);return!A&&E&&E(),await new Promise((T,U)=>{Lh(T,U,{data:S,headers:gt.from(x.headers),status:x.status,statusText:x.statusText,config:t,request:w})})}catch(p){throw E&&E(),p&&p.name==="TypeError"&&/Load failed|fetch/i.test(p.message)?Object.assign(new re("Network Error",re.ERR_NETWORK,t,w),{cause:p.cause||p}):re.from(p,p&&p.code,t,w)}}),dc={http:K8,xhr:Cg,fetch:Ug};P.forEach(dc,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const r0=t=>`- ${t}`,Pg=t=>P.isFunction(t)||t===null||t===!1,Vh={getAdapter:t=>{t=P.isArray(t)?t:[t];const{length:e}=t;let n,r;const s={};for(let i=0;i<e;i++){n=t[i];let a;if(r=n,!Pg(n)&&(r=dc[(a=String(n)).toLowerCase()],r===void 0))throw new re(`Unknown adapter '${a}'`);if(r)break;s[a||"#"+i]=r}if(!r){const i=Object.entries(s).map(([o,c])=>`adapter ${o} `+(c===!1?"is not supported by the environment":"is not available in the build"));let a=e?i.length>1?`since :
9
+ `+i.map(r0).join(`
10
+ `):" "+r0(i[0]):"as no adapter specified";throw new re("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return r},adapters:dc};function Ao(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new fs(null,t)}function s0(t){return Ao(t),t.headers=gt.from(t.headers),t.data=yo.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Vh.getAdapter(t.adapter||si.adapter)(t).then(function(r){return Ao(t),r.data=yo.call(t,t.transformResponse,r),r.headers=gt.from(r.headers),r},function(r){return Mh(r)||(Ao(t),r&&r.response&&(r.response.data=yo.call(t,t.transformResponse,r.response),r.response.headers=gt.from(r.response.headers))),Promise.reject(r)})}const _h="1.11.0",Ma={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Ma[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});const i0={};Ma.transitional=function(e,n,r){function s(i,a){return"[Axios v"+_h+"] Transitional option '"+i+"'"+a+(r?". "+r:"")}return(i,a,o)=>{if(e===!1)throw new re(s(a," has been removed"+(n?" in "+n:"")),re.ERR_DEPRECATED);return n&&!i0[a]&&(i0[a]=!0,console.warn(s(a," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(i,a,o):!0}};Ma.spelling=function(e){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),!0)};function Ng(t,e,n){if(typeof t!="object")throw new re("options must be an object",re.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let s=r.length;for(;s-- >0;){const i=r[s],a=e[i];if(a){const o=t[i],c=o===void 0||a(o,i,t);if(c!==!0)throw new re("option "+i+" must be "+c,re.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new re("Unknown option "+i,re.ERR_BAD_OPTION)}}const ji={assertOptions:Ng,validators:Ma},_t=ji.validators;let or=class{constructor(e){this.defaults=e||{},this.interceptors={request:new Jd,response:new Jd}}async request(e,n){try{return await this._request(e,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const i=s.stack?s.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=`
11
+ `+i):r.stack=i}catch{}}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=pr(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:i}=n;r!==void 0&&ji.assertOptions(r,{silentJSONParsing:_t.transitional(_t.boolean),forcedJSONParsing:_t.transitional(_t.boolean),clarifyTimeoutError:_t.transitional(_t.boolean)},!1),s!=null&&(P.isFunction(s)?n.paramsSerializer={serialize:s}:ji.assertOptions(s,{encode:_t.function,serialize:_t.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),ji.assertOptions(n,{baseUrl:_t.spelling("baseURL"),withXsrfToken:_t.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=i&&P.merge(i.common,i[n.method]);i&&P.forEach(["delete","get","head","post","put","patch","common"],w=>{delete i[w]}),n.headers=gt.concat(a,i);const o=[];let c=!0;this.interceptors.request.forEach(function(E){typeof E.runWhen=="function"&&E.runWhen(n)===!1||(c=c&&E.synchronous,o.unshift(E.fulfilled,E.rejected))});const d=[];this.interceptors.response.forEach(function(E){d.push(E.fulfilled,E.rejected)});let l,f=0,m;if(!c){const w=[s0.bind(this),void 0];for(w.unshift(...o),w.push(...d),m=w.length,l=Promise.resolve(n);f<m;)l=l.then(w[f++],w[f++]);return l}m=o.length;let b=n;for(f=0;f<m;){const w=o[f++],E=o[f++];try{b=w(b)}catch(y){E.call(this,y);break}}try{l=s0.call(this,b)}catch(w){return Promise.reject(w)}for(f=0,m=d.length;f<m;)l=l.then(d[f++],d[f++]);return l}getUri(e){e=pr(this.defaults,e);const n=Wh(e.baseURL,e.url,e.allowAbsoluteUrls);return Nh(n,e.params,e.paramsSerializer)}};P.forEach(["delete","get","head","options"],function(e){or.prototype[e]=function(n,r){return this.request(pr(r||{},{method:e,url:n,data:(r||{}).data}))}});P.forEach(["post","put","patch"],function(e){function n(r){return function(i,a,o){return this.request(pr(o||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:a}))}}or.prototype[e]=n(),or.prototype[e+"Form"]=n(!0)});let Rg=class jh{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(i){n=i});const r=this;this.promise.then(s=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](s);r._listeners=null}),this.promise.then=s=>{let i;const a=new Promise(o=>{r.subscribe(o),i=o}).then(s);return a.cancel=function(){r.unsubscribe(i)},a},e(function(i,a,o){r.reason||(r.reason=new fs(i,a,o),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new jh(function(s){e=s}),cancel:e}}};function Og(t){return function(n){return t.apply(null,n)}}function Mg(t){return P.isObject(t)&&t.isAxiosError===!0}const uc={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(uc).forEach(([t,e])=>{uc[e]=t});function qh(t){const e=new or(t),n=Eh(or.prototype.request,e);return P.extend(n,or.prototype,e,{allOwnKeys:!0}),P.extend(n,e,null,{allOwnKeys:!0}),n.create=function(s){return qh(pr(t,s))},n}const ue=qh(si);ue.Axios=or;ue.CanceledError=fs;ue.CancelToken=Rg;ue.isCancel=Mh;ue.VERSION=_h;ue.toFormData=Ra;ue.AxiosError=re;ue.Cancel=ue.CanceledError;ue.all=function(e){return Promise.all(e)};ue.spread=Og;ue.isAxiosError=Mg;ue.mergeConfig=pr;ue.AxiosHeaders=gt;ue.formToJSON=t=>Oh(P.isHTMLForm(t)?new FormData(t):t);ue.getAdapter=Vh.getAdapter;ue.HttpStatusCode=uc;ue.default=ue;const{Axios:wA,AxiosError:Lg,CanceledError:BA,isCancel:CA,CancelToken:xA,VERSION:DA,all:FA,Cancel:SA,isAxiosError:Wg,spread:TA,toFormData:vA,AxiosHeaders:IA,HttpStatusCode:kA,formToJSON:UA,getAdapter:PA,mergeConfig:NA}=ue,Jt=60*1e3,Kh={Mainnet:{api:"https://api.wormholescan.io",circleAPI:gd("Mainnet"),executorAPI:Cd("Mainnet"),chains:mo("Mainnet")},Testnet:{api:"https://api.testnet.wormholescan.io",circleAPI:gd("Testnet"),executorAPI:Cd("Testnet"),chains:mo("Testnet")},Devnet:{api:"http://guardian:7071",circleAPI:"",executorAPI:"",chains:mo("Devnet")}};function wl(t,e){return Object.fromEntries(Object.entries(Kh[t].chains).filter(([n,r])=>r.platform==e))}function Hg(t,e){let n=Kh[t];return e?Bl(n,e):n}function zg(t,e,n){const r=wl(t,e);return n?Bl(r,n):r}function Bl(t,e){t||(t={});for(const[n,r]of Object.entries(e))typeof r=="object"&&!Array.isArray(r)?t[n]=Bl(t[n],r):t[n]=r;return t}const Gg=typeof vs<"u";Gg&&vs.env.NETWORK;async function Br(t,e,n=Jt,r){const s=Math.floor(n/e);let i=0;return new Promise((a,o)=>{t().then(c=>{if(c!==null){a(c);return}let d=setInterval(async()=>{if(i>=s){clearInterval(d),a(null);return}const l=await t();l!==null?(clearInterval(d),a(l)):r&&console.log(`Retrying ${r}, attempt ${i}/${s} `),i++},e)})})}const Vg=2e3;var a0;(function(t){t.complete="complete",t.pending_confirmations="pending_confirmations"})(a0||(a0={}));const _g=t=>({message:t.attestation,status:t.status});async function jg(t,e){const n=`${t}/${e}`;try{const r=await ue.get(n),s=_g(r?.data);return s.message==="PENDING"?null:s.message}catch(r){if(!r||typeof r=="object"&&(ue.isAxiosError(r)&&r.response?.status===404||"status"in r&&r.status===404))return null;throw r}}async function qg(t,e,n){return Br(()=>jg(t,e),Vg,n,"Circle:GetAttestation")}async function Kg(){try{return await ue.get("https://iris-api.circle.com/ping",{timeout:5e3}),null}catch(t){return ue.isAxiosError(t)&&(t.response?.status===403||t.response?.status===451)?{success:!1,error:new Error("You are attempting a transfer from a location that is restricted by Circle.")}:null}}async function Ms(t,e,n){if(!t6(n))throw new Error("Invalid signer, not SignAndSendSigner or SignOnlySigner");return(await Qg(e,async i=>bl(n)?n.signAndSend(i):t.sendWait(await n.sign(i)))).map(i=>({chain:t.chain,txid:i}))}async function Qg(t,e){const n=[];let r=[];for await(const s of t)s.parallelizable?r.push(s):(r.length>0&&(n.push(...await e(r)),r=[]),n.push(...await e([s])));return r.length>0&&n.push(...await e(r)),n}class $g extends Error{min;constructor(e){super(`Minimum transfer amount is ${wa(e)}`),this.min=e}minAmount(){return this.min}}class Jg extends Error{internalError;constructor(e){super("Unable to fetch a quote"),this.internalError=e}}class Cl extends Error{relayExplorer;constructor(e,n){super(e),this.relayExplorer=n}}exports.TransferState=void 0;(function(t){t[t.Failed=-1]="Failed",t[t.Created=0]="Created",t[t.SourceInitiated=1]="SourceInitiated",t[t.SourceFinalized=2]="SourceFinalized",t[t.InReview=3]="InReview",t[t.Attested=4]="Attested",t[t.Refunded=5]="Refunded",t[t.DestinationInitiated=6]="DestinationInitiated",t[t.DestinationQueued=7]="DestinationQueued",t[t.DestinationFinalized=8]="DestinationFinalized"})(exports.TransferState||(exports.TransferState={}));function xl(t){return t.state===exports.TransferState.SourceInitiated}function Ls(t){return t.state===exports.TransferState.SourceFinalized}function o0(t){return t.state===exports.TransferState.InReview}function Hr(t){return t.state===exports.TransferState.Attested}function Xg(t){return t.state===exports.TransferState.Refunded}function Dl(t){return t.state===exports.TransferState.DestinationInitiated}function Yg(t){return t.state===exports.TransferState.DestinationQueued}function Zg(t){return t.state===exports.TransferState.DestinationFinalized}function Qh(t){return t.state<0}function c0(t){return Qh(t)&&t.error instanceof Cl}class _e{wh;fromChain;toChain;_state;transfer;txids=[];attestations;constructor(e,n,r,s){this._state=exports.TransferState.Created,this.wh=e,this.transfer=n,this.fromChain=r??e.getChain(n.from.chain),this.toChain=s??e.getChain(n.to.chain)}getTransferState(){return this._state}static async from(e,n,r=Jt,s,i){if(o6(n))return n={...n,...await _e.destinationOverrides(e.getChain(n.from.chain),e.getChain(n.to.chain),n)},new _e(e,n,s,i);let a;if(ar(n))a=await _e.fromWormholeMessageId(e,n,r);else if(ch(n))a=await _e.fromTransaction(e,n,r,s);else if(aa(n))a=await _e.fromCircleMessage(e,n);else throw new Error("Invalid `from` parameter for CircleTransfer");return a.fromChain=s??e.getChain(a.transfer.from.chain),a.toChain=i??e.getChain(a.transfer.to.chain),await a.fetchAttestation(r),a}static async fromWormholeMessageId(e,n,r){const{chain:s,emitter:i}=n,a=await _e.getTransferVaa(e,n),o=a.payload.mintRecipient,c=Li(e.network,a.payload.targetDomain),{wormholeRelayer:d}=e.config.chains[c].contracts.cctp;let l=!1;if(d){const b=xt.chainAddress(s,d).address.toUniversalAddress();l=a.payloadName==="TransferWithRelay"&&o.equals(b)}const f={from:{chain:n.chain,address:a.payload.caller},to:{chain:c,address:o},amount:a.payload.token.amount,automatic:l},m=new _e(e,f);return m.attestations=[{id:{emitter:i,sequence:a.sequence,chain:s},attestation:a}],m._state=exports.TransferState.Attested,m}static async fromCircleMessage(e,n){const[r,s]=exports.CircleBridge.deserialize(Xe.decode(n)),{payload:i}=r,a=i.messageSender,o=i.mintRecipient,c=Li(e.network,r.sourceDomain),d=Li(e.network,r.destinationDomain),l={from:{chain:c,address:a},to:{chain:d,address:o},amount:i.amount,automatic:!1},f=new _e(e,l);return f.attestations=[{id:{hash:s},attestation:{message:r}}],f._state=exports.TransferState.SourceInitiated,f}static async fromTransaction(e,n,r,s){const{chain:i,txid:a}=n;s=s??e.getChain(i);let o=[];try{o=await s.parseTransaction(a)}catch(d){if(!(d.message.includes("no bridge messages found")||d.message.includes("not found")))throw d}let c;if(o.length>0)c=await _e.fromWormholeMessageId(e,o[0],r);else{const l=await(await s.getCircleBridge()).parseTransactionDetails(a),f={...l,automatic:!1};c=new _e(e,f),c.attestations=[{id:l.id,attestation:{message:l.message}}]}return c._state=exports.TransferState.SourceInitiated,c.txids=[n],c}async initiateTransfer(e){if(this._state!==exports.TransferState.Created)throw new Error("Invalid state transition in `start`");return this.txids=await _e.transfer(this.fromChain,this.transfer,e),this._state=exports.TransferState.SourceInitiated,this.txids.map(({txid:n})=>n)}async _fetchWormholeAttestation(e){let n=this.attestations??[];if(!n||n.length==0)throw new Error("No VAA details available");for(const r in n)n[r].attestation||(n[r].attestation=await _e.getTransferVaa(this.wh,n[r].id,e));return this.attestations=n,n.map(r=>r.id)}async _fetchCircleAttestation(e){let n=this.attestations??[];if(!n||n.length==0){if(this.txids.length===0)throw new Error("No circle attestations or transactions to fetch");const r=this.txids[this.txids?.length-1],a=await(await this.wh.getChain(this.transfer.from.chain).getCircleBridge()).parseTransactionDetails(r.txid);n=[{id:a.id,attestation:{message:a.message}}]}for(const r in n){const s=n[r];if(s.attestation?.attestation)continue;const i=await this.wh.getCircleAttestation(s.id.hash,e);if(i===null)throw new Error("No attestation available after timeout exhausted");n[r].attestation.attestation=i}return this.attestations=n,n.map(r=>r.id)}async fetchAttestation(e){if(this._state<exports.TransferState.SourceInitiated)throw new Error("Invalid state transition in `fetchAttestation`");const n=this.transfer.automatic?(await Promise.all([this._fetchWormholeAttestation(e),this._fetchCircleAttestation(e)])).flat():await this._fetchCircleAttestation(e);if(this._state=exports.TransferState.Attested,this.attestations&&this.attestations.length>0)for(const r of this.attestations){const{attestation:s}=r;if(!exports.CircleBridge.isCircleAttestation(s))continue;await _e.isTransferComplete(this.toChain,s)&&(this._state=exports.TransferState.DestinationFinalized)}return n}async completeTransfer(e){if(this._state<exports.TransferState.Attested)throw new Error("Invalid state transition in `finish`");if(this.transfer.automatic)throw this.attestations?this.attestations.find(m=>ar(m.id))?new Error("No method to redeem auto circle bridge tx (yet)"):new Error("No VAA found"):new Error("No VAA details available");if(!this.attestations)throw new Error("No Circle Attestations found");const n=this.attestations.filter(f=>aa(f.id));if(n.length>1)throw new Error(`Expected a single circle attestation, found ${n.length}`);const{id:r,attestation:s}=n[0];if(!s)throw new Error(`No Circle Attestation for ${r.hash}`);const{message:i,attestation:a}=s;if(!a)throw new Error(`No Circle Attestation for ${r.hash}`);const o=await this.toChain.getCircleBridge(),c=xt.parseAddress(e.chain(),e.address()),d=o.redeem(c,i,a),l=await Ms(this.toChain,d,e);return this.txids?.push(...l),l.map(({txid:f})=>f)}}(function(t){async function e(d,l,f){let m;return l.automatic?m=(await d.getAutomaticCircleBridge()).transfer(l.from.address,{chain:l.to.chain,address:l.to.address},l.amount,l.nativeGas):m=(await d.getCircleBridge()).transfer(l.from.address,{chain:l.to.chain,address:l.to.address},l.amount),await Ms(d,m,f)}t.transfer=e;async function*n(d,l,f=Jt,m,b){const w=Date.now(),E=(y,p)=>Math.max(p-(Date.now()-y),0);if(m=m??d.getChain(l.from),b=b??d.getChain(l.to),xl(l)){if(l.originTxs.length===0)throw"Invalid state transition: no originating transactions";const y=l.originTxs[l.originTxs.length-1],p=await t.getTransferMessage(m,y.txid);l={...l,attestation:{id:p.id,attestation:{message:p.message}},state:exports.TransferState.SourceFinalized},yield l}if(Ls(l)){if(!l.attestation)throw"Invalid state transition: no attestation id";if(ar(l.attestation.id)){let y=l.attestation.attestation?l.attestation.attestation:void 0;y||(y=await t.getTransferVaa(d,l.attestation.id,E(w,f)),l={...l,attestation:{id:l.attestation.id,attestation:y},state:exports.TransferState.Attested},yield l)}else if(aa(l.attestation.id)){const y=await d.getCircleAttestation(l.attestation.id.hash,f),p=l.originTxs[l.originTxs.length-1],A=await(await m.getCircleBridge()).parseTransactionDetails(p.txid);y&&(l={...l,attestation:{id:l.attestation.id,attestation:{attestation:y,message:A.message}},state:exports.TransferState.Attested},yield l)}}if(Hr(l)||Ls(l)){if(!l.attestation)throw"Invalid state transition";if(ar(l.attestation.id)){const y=await d.getTransactionStatus(l.attestation.id,E(w,f));if(y&&y.globalTx?.destinationTx?.txHash){const{chainId:p,txHash:x}=y.globalTx.destinationTx;l={...l,destinationTxs:[{chain:os(p),txid:x}],state:exports.TransferState.DestinationInitiated},yield l}}}(Hr(l)||Dl(l))&&(await t.isTransferComplete(b,l.attestation.attestation)&&(l={...l,state:exports.TransferState.DestinationFinalized,destinationTxs:[]}),yield l)}t.track=n;async function r(d,l,f){const m={...f};if(vt(l.chain)==="Solana"&&!m.automatic){const b=xt.parseAddress(l.chain,Ss.get(l.network,l.chain));m.to=await l.getTokenAccount(m.to.address,b)}return m}t.destinationOverrides=r;async function s(d,l,f){if(!Us(l.network,l.chain))throw new Error(`Invalid destination chain ${l.chain} for Circle transfer`);const m=Ss.get(l.network,l.chain);if(!m)throw"Invalid transfer, no USDC contract on destination";if(!Us(d.network,d.chain))throw new Error(`Invalid source chain ${d.chain} for Circle transfer`);const b=Ss.get(d.network,d.chain);if(!b)throw"Invalid transfer, no USDC contract on source";const w=xt.chainAddress(l.chain,m),E=xt.chainAddress(d.chain,b),y=(d.chain==="Polygon"?2e3*200:Gc(d.chain))+Kc,p=f.automatic?ks(0,5,0):ks(24,0,0);if(!f.automatic)return{sourceToken:{token:E,amount:f.amount},destinationToken:{token:w,amount:f.amount},eta:y,expires:p};let x=f.amount;const A=f.nativeGas?f.nativeGas:0n;x-=A;const T=await(await d.getAutomaticCircleBridge()).getRelayerFee(l.chain);x-=T;let U=0n;return f.nativeGas&&(U=await(await l.getAutomaticCircleBridge()).nativeTokenAmount(A)),{sourceToken:{token:E,amount:f.amount},destinationToken:{token:w,amount:x},relayFee:{token:E,amount:T},destinationNativeGas:U,eta:y,expires:p}}t.quoteTransfer=s;async function i(d,l){if(!exports.CircleBridge.isCircleAttestation(l))throw new Error("Must check for completion with circle message");return await(await d.getCircleBridge()).isTransferCompleted(l.message)}t.isTransferComplete=i;async function a(d,l,f){const m=await d.getVaa(l,"AutomaticCircleBridge:TransferWithRelay",f);if(!m)throw new Error("No VAA available after timeout exhausted");return m}t.getTransferVaa=a;async function o(d,l){return await(await d.getCircleBridge()).parseTransactionDetails(l)}t.getTransferMessage=o;function c(d){const{from:l,to:f}=d.transfer;let m={from:l.chain,to:f.chain,state:exports.TransferState.Created};const b=d.txids.filter(x=>x.chain===d.transfer.from.chain);b.length>0&&(m={...m,state:exports.TransferState.SourceInitiated,originTxs:b});const w=d.attestations?.filter(x=>ar(x.id))??[],E=d.attestations?.filter(x=>aa(x.id))??[],y=E.length>0?E[0]:w.length>0?w[0]:void 0;y&&y.id&&(m={...m,state:exports.TransferState.SourceFinalized,attestation:y},y.attestation&&(m={...m,state:exports.TransferState.Attested,attestation:{id:y.id,attestation:y.attestation}}));const p=d.txids.filter(x=>x.chain===d.transfer.to.chain);return p.length>0&&(m={...m,state:exports.TransferState.DestinationInitiated,destinationTxs:p}),m}t.getReceipt=c})(_e||(_e={}));const La=2e3;async function $h(t,e){const{chain:n,emitter:r,sequence:s}=e,i=Rt(n),a=Wc("0x",r.toString()),o=`${t}/v1/signed_vaa/${i}/${a}/${s}`;try{const{data:{vaaBytes:c}}=await ue.get(o);return xa.decode(c)}catch(c){if(!c||typeof c=="object"&&(ue.isAxiosError(c)&&c.response?.status===404||"status"in c&&c.status===404))return null;throw c}}async function e5(t,e,n){return await Br(()=>$h(t,e),La,n,"Wormholescan:GetVaaBytes")}async function t5(t,e,n){const r=await $h(t,e);return r?Wr(n,r):null}async function n5(t,e,n,r){return await Br(()=>t5(t,e,n),La,r,"Wormholescan:GetVaaBytes")}async function r5(t,e){const{chain:n,emitter:r,sequence:s}=e,i=Rt(n),a=r.toUniversalAddress().toString(),o=`${t}/api/v1/transactions/${i}/${a}/${s}`;try{return(await ue.get(o)).data}catch(c){if(!c||typeof c=="object"&&(ue.isAxiosError(c)&&c.response?.status===404||"status"in c&&c.status===404))return null;throw c}}async function s5(t,e,n){return await Br(()=>r5(t,e),La,n,"Wormholescan:GetTransactionStatus")}async function i5(t,e){const n=`${t}/api/v1/vaas?txHash=${e}`;try{const r=await ue.get(n);if(r.data.data.length>0)return r.data.data[0]}catch(r){if(!r||typeof r=="object"&&(ue.isAxiosError(r)&&r.response?.status===404||"status"in r&&r.status===404))return null;throw r}return null}async function l0(t,e,n,r){const i=await Br(()=>i5(t,e),La,r,"Wormholescan:GetVaaByTxHash");return i?Wr(n,xa.decode(i.vaa)):null}async function a5(t,e,n=50,r=0){const s=`${t}/api/v1/transactions?address=${e}&pageSize=${n}&page=${r}`;try{const i=await ue.get(s);if(i.data.transactions.length>0)return i.data.transactions}catch(i){if(!i||typeof i=="object"&&(ue.isAxiosError(i)&&i.response?.status===404||"status"in i&&i.status===404))return null;throw i}return null}async function o5(t){const e=`${t}/v1/governor/token_list`;try{const n=await ue.get(e);if(n.data&&n.data.entries.length>0)return n.data.entries.reduce((r,s)=>{const i=os(s.originChainId);return r[i]=r[i]||{},r[i][s.originAddress]=s.price,r},{})}catch{}return null}async function c5(t){const e=`${t}/v1/governor/available_notional_by_chain`;try{const n=await ue.get(e);if(n.data&&n.data.entries.length>0)return n.data.entries.reduce((r,s)=>{const i=s.bigTransactionSize==="0"?void 0:Fs(Ri(s.bigTransactionSize,2));return r[os(s.chainId)]={available:Fs(Ri(s.remainingAvailableNotional,2)),limit:Fs(Ri(s.notionalLimit,2)),maxSize:i},r},{})}catch{}return null}async function l5(t,e){const{chain:n,emitter:r,sequence:s}=e,i=Rt(n),a=r.toUniversalAddress().toString(),o=`${t}/v1/governor/is_vaa_enqueued/${i}/${a}/${s}`;return(await ue.get(o)).data.isEnqueued}class ke{wh;fromChain;toChain;_state;transfer;txids=[];attestations;constructor(e,n,r,s){this._state=exports.TransferState.Created,this.wh=e,this.transfer=n,this.fromChain=r??e.getChain(n.from.chain),this.toChain=s??e.getChain(n.to.chain)}getTransferState(){return this._state}static async from(e,n,r=6e3,s,i){if(g6(n))return s=s??e.getChain(n.from.chain),i=i??e.getChain(n.to.chain),ke.validateTransferDetails(e,n,s,i),n=await ke.destinationOverrides(s,i,n),new ke(e,n,s,i);let a;if(ar(n))a=await ke.fromIdentifier(e,n,r);else if(ch(n))a=await ke.fromTransaction(e,n,r,s);else throw new Error("Invalid `from` parameter for TokenTransfer");return a.fromChain=s??e.getChain(a.transfer.from.chain),a.toChain=i??e.getChain(a.transfer.to.chain),await a.fetchAttestation(r),a}static async fromIdentifier(e,n,r){const s=await ke.getTransferVaa(e,n,r);if(!s)throw new Error("VAA not found");const i=s.protocolName;let a={chain:s.emitterChain,address:s.emitterAddress},{token:o,to:c}=s.payload,d;if(o.chain===a.chain)d=await e.getTokenNativeAddress(a.chain,o.chain,o.address);else{const y=await(await(await e.getChain(a.chain)).getTokenBridge()).getWrappedAsset(o);d=yn(a.chain,y.toString())}const l=await e.getDecimals(a.chain,d),f=Ur(ln(o.amount,Math.min(l,ke.MAX_DECIMALS)),l);(i==="AutomaticTokenBridge"||i==="ExecutorTokenBridge")&&(a={chain:s.emitterChain,address:s.payload.from},c={chain:s.payload.to.chain,address:s.payload.payload.targetRecipient});const m={token:o,amount:Qe(f),from:a,to:c,protocol:i,nativeGas:i==="AutomaticTokenBridge"?s.payload.payload.toNativeTokenAmount:0n},b=new ke(e,m);return b.attestations=[{id:n,attestation:s}],b._state=exports.TransferState.Attested,b}static async fromTransaction(e,n,r,s){s=s??e.getChain(n.chain);const i=await ke.getTransferMessage(s,n.txid,r),a=await ke.fromIdentifier(e,i,r);return a.txids=[n],a}async initiateTransfer(e){if(this._state!==exports.TransferState.Created)throw new Error("Invalid state transition in `initiateTransfer`");return this.txids=await ke.transfer(this.fromChain,this.transfer,e),this._state=exports.TransferState.SourceInitiated,this.txids.map(({txid:n})=>n)}async fetchAttestation(e){if(this._state<exports.TransferState.SourceInitiated||this._state>exports.TransferState.Attested)throw new Error("Invalid state transition in `fetchAttestation`, expected at least `SourceInitiated`");if(!this.attestations||this.attestations.length===0){if(this.txids.length===0)throw new Error("No VAAs set and txids available to look them up");const n=this.txids[this.txids.length-1],r=await ke.getTransferMessage(this.fromChain,n.txid,e);this.attestations=[{id:r}]}for(const n in this.attestations){if(this.attestations[n].attestation)continue;const r=await ke.getTransferVaa(this.wh,this.attestations[n].id,e);if(!r)throw new Error("VAA not found");this.attestations[n].attestation=r}if(this._state=exports.TransferState.Attested,this.attestations.length>0){const{attestation:n}=this.attestations[0];await ke.isTransferComplete(this.toChain,n)&&(this._state=exports.TransferState.DestinationFinalized)}return this.attestations.map(n=>n.id)}async completeTransfer(e){if(this._state<exports.TransferState.Attested)throw new Error("Invalid state transition, must be attested prior to calling `completeTransfer`.");if(!this.attestations)throw new Error("No VAA details available");const{attestation:n}=this.attestations[0];if(!n)throw new Error(`No VAA found for ${this.attestations[0].id.sequence}`);const r=await ke.redeem(this.toChain,n,e);return this.txids.push(...r),this._state=exports.TransferState.DestinationInitiated,r.map(({txid:s})=>s)}}(function(t){t.MAX_DECIMALS=8;async function e(y,p,x){const A=yn(x.chain(),x.address()),S=Zs(p.token)?p.token.address:p.token;let T;if(p.protocol==="AutomaticTokenBridge")T=(await y.getAutomaticTokenBridge()).transfer(A,p.to,S,p.amount,p.nativeGas);else if(p.protocol==="TokenBridge")T=(await y.getTokenBridge()).transfer(A,p.to,S,p.amount,p.payload);else if(p.protocol==="ExecutorTokenBridge"){if(!p.executorQuote)throw new Error("ExecutorTokenBridge transfer requires an executorQuote");const U=p.executorQuote.relayInstructions.requests.find(v=>v.request.type==="GasDropOffInstruction");U&&U.request.type==="GasDropOffInstruction"&&U.request.recipient.equals(Fe.ZERO)&&(U.request.recipient=p.to.address.toUniversalAddress()),T=(await y.getExecutorTokenBridge()).transfer(A,p.to,S,p.amount,p.executorQuote,p.referrerFee)}else throw new Error("Unknown token transfer protocol");return Ms(y,T,x)}t.transfer=e;async function n(y,p,x){const A=yn(x.chain(),x.address()),S=p.protocolName==="AutomaticTokenBridge"?(await y.getAutomaticTokenBridge()).redeem(A,p):p.protocolName==="ExecutorTokenBridge"?(await y.getExecutorTokenBridge()).redeem(A,p):(await y.getTokenBridge()).redeem(A,p);return Ms(y,S,x)}t.redeem=n;async function*r(y,p,x=Jt,A,S){const T=Date.now(),U=(R,v)=>Math.max(v-(Date.now()-R),0);if(A=A??y.getChain(p.from),xl(p)){if(p.originTxs.length===0)throw"Origin transactions required to fetch message id";const{txid:R}=p.originTxs[p.originTxs.length-1],v=await t.getTransferMessage(A,R,U(T,x));p={...p,state:exports.TransferState.SourceFinalized,attestation:{id:v}},yield p}if(Ls(p)||o0(p)){if(!p.attestation.id)throw"Attestation id required to fetch attestation";const{id:R}=p.attestation,v=await t.getTransferVaa(y,R,U(T,x));throw v?(p={...p,attestation:{id:R,attestation:v},state:exports.TransferState.Attested},yield p):await t.isTransferEnqueued(y,R)&&(p={...p,state:exports.TransferState.InReview},yield p),new Error("Attestation not found")}if(Hr(p)||Ls(p)||o0(p)||c0(p)){if(!p.attestation?.id)throw"Attestation id required to fetch redeem tx";const{id:R}=p.attestation,v=await y.getTransactionStatus(R,U(T,x));if(v&&v.globalTx?.destinationTx?.txHash){const{chainId:M,txHash:V}=v.globalTx.destinationTx;p={...p,destinationTxs:[{chain:os(M),txid:V}],state:exports.TransferState.DestinationInitiated,attestation:p.attestation}}yield p}if(Hr(p)||Dl(p)||c0(p)){if(!p.attestation?.attestation)throw"Signed Attestation required to check for redeem";if(p.attestation.attestation.payloadName==="AttestMeta")throw new Error("Unable to track an AttestMeta receipt");await t.isTransferComplete(S??y.getChain(p.attestation.attestation.payload.to.chain),p.attestation.attestation)&&(p={...p,state:exports.TransferState.DestinationFinalized,attestation:p.attestation}),yield p}if(Hr(p)&&p.attestation.attestation.protocolName==="ExecutorTokenBridge"){const[R]=await y.getExecutorTxStatus(p.originTxs.at(-1).txid,p.from);if(!R)throw new Error("No transaction status found");const v=R.status;(v===Pr.Failed||v===Pr.Underpaid||v===Pr.Unsupported||v===Pr.Aborted)&&(p={...p,state:exports.TransferState.Failed,error:new Cl(`Relay failed with status: ${v}`)},yield p)}yield p}t.track=r;function s(y){const{transfer:p}=y,x=p.from.chain,A=p.to.chain;let S={from:x,to:A,state:exports.TransferState.Created};const T=y.txids.filter(M=>M.chain===p.from.chain);T.length>0&&(S={...S,state:exports.TransferState.SourceInitiated,originTxs:T});const U=y.attestations&&y.attestations.length>0?y.attestations[0]:void 0,R=U&&U.id?{id:U.id,attestation:U.attestation}:void 0;R&&R.id&&(S={...S,state:exports.TransferState.SourceFinalized,attestation:{id:R.id}},R.attestation&&(S={...S,state:exports.TransferState.Attested,attestation:{id:R.id,attestation:R.attestation}}));const v=y.txids.filter(M=>M.chain===p.to.chain);return v.length>0&&(S={...S,state:exports.TransferState.DestinationFinalized,destinationTxs:v}),S}t.getReceipt=s;async function i(y,p,x){let A;const S=await y.getTokenBridge();if(Ve(x.address)){const R=await S.getWrappedNative();A={chain:x.chain,address:await S.getTokenUniversalAddress(R)}}else try{let R;Fe.instanceof(x.address)?R=await S.getWrappedAsset(x):R=x.address,A=await S.getOriginalAsset(R)}catch(R){if(!R.message.includes("not a wrapped asset"))throw R;let v;Fe.instanceof(x.address)?v=await S.getTokenNativeAddress(y.chain,x.address):v=x.address,A={chain:x.chain,address:await S.getTokenUniversalAddress(v)}}const T=await p.getTokenBridge();if(A.chain===p.chain){const R=await T.getTokenNativeAddress(A.chain,A.address),v=await T.getWrappedNative();return Wt({chain:p.chain,address:v})===Wt({chain:p.chain,address:R})?{chain:p.chain,address:"native"}:{chain:p.chain,address:R}}const U=await T.getWrappedAsset(A);return{chain:p.chain,address:U}}t.lookupDestinationToken=i;async function a(y,p){return(p.protocolName==="AutomaticTokenBridge"||p.protocolName==="ExecutorTokenBridge")&&(p=Wr("TokenBridge:TransferWithPayload",Gi(p))),(await y.getTokenBridge()).isTransferCompleted(p)}t.isTransferComplete=a;async function o(y,p,x){const A=await xt.parseMessageFromTx(y,p,x);if(A.length!==1)throw new Error("Expected a single Wormhole Message, got: "+A.length);return A[0]}t.getTransferMessage=o;async function c(y,p,x){const A=await y.getVaa(p,sc.getTransferDiscriminator(),x);if(!A)return null;if(A.payloadName==="TransferWithPayload"){const{chain:S,address:T}=A.payload.to,{tokenBridgeRelayer:U}=y.config.chains[S].contracts,R=U?Yf(S,U):null;if(R&&T.equals(R))return Wr("AutomaticTokenBridge:TransferWithRelay",Gi(A));try{return Wr("ExecutorTokenBridge:TransferWithExecutorRelay",Gi(A))}catch{}}return A}t.getTransferVaa=c;async function d(y,p){return await y.getIsVaaEnqueued(p)}t.isTransferEnqueued=d;function l(y,p,x,A){if(p.amount===0n)throw new Error("Amount cannot be 0");if(p.from.chain===p.to.chain)throw new Error("Cannot transfer to the same chain");if(x=x??y.getChain(p.from.chain),A=A??y.getChain(p.to.chain),p.protocol==="AutomaticTokenBridge"){if(!x.supportsAutomaticTokenBridge())throw new Error(`Automatic Token Bridge not supported on ${p.from.chain}`);if(!A.supportsAutomaticTokenBridge())throw new Error(`Automatic Token Bridge not supported on ${p.to.chain}`);const S=p.nativeGas??0n;if(S>p.amount)throw new Error(`Native gas amount > amount (${S} > ${p.amount})`)}else if(p.protocol==="TokenBridge"){if(!x.supportsTokenBridge())throw new Error(`Token Bridge not supported on ${p.from.chain}`);if(!A.supportsTokenBridge())throw new Error(`Token Bridge not supported on ${p.to.chain}`)}else if(p.protocol==="ExecutorTokenBridge"){if(!x.supportsExecutorTokenBridge())throw new Error(`Token Bridge Executor not supported on ${p.from.chain}`);if(!A.supportsExecutorTokenBridge())throw new Error(`Token Bridge Executor not supported on ${p.to.chain}`)}else throw new Error("Unknown token transfer protocol")}t.validateTransferDetails=l;async function f(y,p,x,A){const S=await p.getTokenBridge();let T;if(Ve(A.token.address))T=await S.getWrappedNative();else if(Fe.instanceof(A.token.address))try{T=await S.getWrappedAsset(A.token)}catch(_){if(!_.message.includes("not a wrapped asset"))throw _;T=await S.getTokenNativeAddress(p.chain,A.token.address)}else T=A.token.address;xt.tokenId(p.chain,T.toString());const U=await p.getDecimals(T),R=ln(A.amount,U),v=Oi(R,t.MAX_DECIMALS),[M,V]=await Promise.all([o5(y.config.api),c5(y.config.api)]),Q=[];if(V!==null&&p.chain in V&&M!==null){let _;if(Ve(A.token.address))_={chain:p.chain,address:await S.getTokenUniversalAddress(T)};else try{_=await S.getOriginalAsset(A.token.address)}catch(te){if(!te.message.includes("not a wrapped asset"))throw te;_={chain:p.chain,address:await S.getTokenUniversalAddress(T)}}if(_.chain in M&&_.address.toString()in M[_.chain]){const te=V[p.chain],ge=M[_.chain][_.address.toString()]*Fs(v);te.maxSize&&ge>te.maxSize&&Q.push({type:"GovernorLimitWarning",reason:"ExceedsLargeTransferLimit"}),ge>te.available&&Q.push({type:"GovernorLimitWarning",reason:"ExceedsRemainingNotional"})}}const q=await t.lookupDestinationToken(p,x,A.token),N=await x.getDecimals(q.address),O=Ur(v,N),C=Gc(p.chain)+Kc,k={sourceToken:{token:A.token,amount:Qe(v)},destinationToken:{token:q,amount:Qe(O)},warnings:Q.length>0?Q:void 0,eta:C};if(A.protocol==="TokenBridge")return{...k,expires:ks(24,0,0)};if(A.protocol==="ExecutorTokenBridge"){const _=await b(y,p,x,A.gasLimit,A.msgValue,A.nativeGas),te=_.relayInstructions.requests.find(oe=>oe.request.type==="GasDropOffInstruction"),le=te?.request.type==="GasDropOffInstruction"?te.request.dropOff:void 0;let ge;if(A.referrerFee&&A.referrerFee.feeDbps>0n){const{feeDbps:oe,referrer:ye}=A.referrerFee,Ke=t.calculateReferrerFee(v,oe),He=Qe(Ke.fee),ot=Qe(Ke.remaining);if(ot<=0n)throw new Error("Remaining amount after referrer fee is <= 0");ge={feeDbps:oe,feeAmount:He,remainingAmount:ot,referrer:ye}}return{...k,destinationToken:{token:q,amount:ge?.remainingAmount?Qe(Ur(ln(ge.remainingAmount,U),N)):Qe(O)},expires:_.signedQuote.quote.expiryTime,relayFee:{token:ml(p.chain),amount:_.estimatedCost},destinationNativeGas:le,details:{executorQuote:_,referrerFee:ge}}}if(A.protocol!=="AutomaticTokenBridge")throw new Error("Unknown token transfer protocol");const G=await(await p.getAutomaticTokenBridge()).getRelayerFee(x.chain,T),z=Ur(Oi(ln(G,U),t.MAX_DECIMALS),N),j=A.nativeGas??0n,J=Qe(Ur(Oi(ln(j,U),t.MAX_DECIMALS),N)),Y=890880n;let me=0n;if(A.nativeGas){const _=await x.getAutomaticTokenBridge(),[te,le]=await Promise.all([_.maxSwapAmount(q.address),_.nativeTokenAmount(q.address,J)]);if(J>te)throw new Error(`Native gas amount exceeds maximum swap amount: ${ld(J,N)}>${ld(te,N)}`);if(vt(x.chain)==="Solana"&&le<Y)throw new Error(`Native gas amount must be at least ${Y} lamports`);me=le}const Z=Qe(O)-J-Qe(z);if(vt(q.chain)==="Solana"){const _=await x.getNativeWrappedTokenId();if((Ve(q.address)||ah(q,_))&&Z<Y)throw new Error(`Destination amount must be at least ${Y} lamports`)}return{sourceToken:{token:A.token,amount:Qe(v)},destinationToken:{token:q,amount:Z},relayFee:{token:q,amount:Qe(z)},destinationNativeGas:me,warnings:Q.length>0?Q:void 0,eta:C,expires:ks(0,5,0)}}t.quoteTransfer=f;async function m(y,p){const A=(await y.getExecutorCapabilities())[Rt(p.chain)];if(!A)throw new Error(`No executor capabilities found for destination chain ${p.chain}`);return BigInt(A.gasDropOffLimit)}t.getExecutorGasDropOffLimit=m;async function b(y,p,x,A,S,T){const U=await y.getExecutorCapabilities();if(!U[Rt(p.chain)])throw new Error(`No executor capabilities found for source chain ${p.chain}`);const v=U[Rt(x.chain)];if(!v||!v.requestPrefixes.includes("ERV1"))throw new Error(`No executor capabilities found for destination chain ${x.chain}`);const M=T??0n;if(M>BigInt(v.gasDropOffLimit))throw new Error(`Native gas amount ${M} exceeds limit ${BigInt(v.gasDropOffLimit)} for destination chain ${x.chain}`);const V=[];V.push({request:{type:"GasInstruction",gasLimit:A,msgValue:S}}),M>0n&&V.push({request:{type:"GasDropOffInstruction",dropOff:M,recipient:Fe.ZERO}});const Q={requests:V},q=Ot(yh,Q),N=await y.getExecutorQuote(p.chain,x.chain,Xe.encode(q,!0));if(!N.estimatedCost)throw new Error("No estimated cost");const O=BigInt(N.estimatedCost);return{signedQuote:Mt(Ah,Xe.decode(N.signedQuote)),estimatedCost:O,relayInstructions:Q}}t.getExecutorQuote=b;async function w(y,p,x){const A={...x};if(vt(x.to.chain)==="Solana"&&A.protocol==="TokenBridge"){const S=await t.lookupDestinationToken(y,p,A.token);if(Ve(S.address)){const T=await p.getNativeWrappedTokenId();A.to=await p.getTokenAccount(A.to.address,T.address)}else A.to=await p.getTokenAccount(A.to.address,S.address)}if(A.to.chain==="Sei"&&A.protocol==="TokenBridge"){if(A.to.chain==="Sei"&&A.payload)throw new Error("Arbitrary payloads unsupported for Sei");A.payload=at.encode(JSON.stringify({basic_recipient:{recipient:xa.encode(A.to.address.toString())}}));const S=p.config.contracts.translator;if(S===void 0||S==="")throw new Error("Unexpected empty translator address");A.to=xt.chainAddress(A.to.chain,S)}return A}t.destinationOverrides=w;function E(y,p){if(p>65535n)throw new Error("dBps exceeds max u16");const A=Mu(y,p),S=Qe(A),U=Qe(y)-S;return{fee:A,remaining:ln(U,y.decimals)}}t.calculateReferrerFee=E})(ke||(ke={}));function d5(t){if(t.length===0)return[];const{chain:e}=t[0];if(!t.every(n=>n.chain===e))throw new Error("Not every chain is equal");return Array.from(new Set(t.map(n=>Wt(n)))).map(n=>xt.tokenId(e,n))}async function u5(t,e,n){const r=Wt(e),s=t.config.tokenMap?cs.byAddress(t.config.tokenMap,r):void 0,i=s?s.symbol:void 0;let a;if(Ve(e.address))try{a=await t.getNativeWrappedTokenId()}catch{}return n=n??await t.getDecimals(e.address),{id:e,decimals:n,wrapped:a,symbol:i}}class Jh{wh;routeConstructors;inputTokenList;constructor(e,n){this.wh=e,this.routeConstructors=n}async supportedDestinationTokens(e,n,r){const[,s]=oh(n.network,n.chain,e),i=await Promise.all(this.routeConstructors.map(async a=>{if(!a.supportedNetworks().includes(n.network))return[];const c=a.supportedChains(n.network);if(!c.includes(n.chain)||!c.includes(r.chain))return[];try{return await a.supportedDestinationTokens(s,n,r)}catch{return[]}}));return d5(i.flat())}async findRoutes(e){return(await Promise.all(this.routeConstructors.map(async r=>{try{const s=r.supportedNetworks().includes(this.wh.network)&&r.supportedChains(this.wh.network).includes(e.toChain.chain)&&r.supportedChains(this.wh.network).includes(e.fromChain.chain),i=Wt(Ve(e.destination.id.address)?e.destination.wrapped:e.destination.id),a=(await r.supportedDestinationTokens(e.source.id,e.fromChain,e.toChain)).filter(o=>Wt(o)===i).length>0;return s&&a}catch{return!1}})).then(r=>this.routeConstructors.filter((s,i)=>r[i]))).map(r=>new r(this.wh))}}class xt{_network;_platforms;_chains;config;constructor(e,n,r){this._network=e,this.config=Hg(e,r),this._chains=new Map,this._platforms=new Map;for(const s of n)this._platforms.set(s._platform,new s(e,this.config.chains))}get network(){return this._network}async circleTransfer(e,n,r,s,i,a){if(s&&i)throw new Error("Payload with automatic delivery is not supported");if(!Us(this.network,n.chain)||!Us(this.network,r.chain)||!Ad(this.network,n.chain)||!Ad(this.network,r.chain))throw new Error(`Network and chain not supported: ${this.network} ${n.chain} `);if(s){const d=await(await this.getChain(n.chain).getAutomaticCircleBridge()).getRelayerFee(r.chain)+(a||0n);if(e<d)throw new Error(`Amount must be > ${d} (relayerFee + nativeGas)`)}return await _e.from(this,{amount:e,from:n,to:r,automatic:s,payload:i,nativeGas:a})}async tokenTransfer(e,n,r,s,i,a){switch(i){case"TokenBridge":return await ke.from(this,{token:e,amount:n,from:r,to:s,protocol:i,payload:a});case"AutomaticTokenBridge":return await ke.from(this,{token:e,amount:n,from:r,to:s,protocol:i,nativeGas:a});case"ExecutorTokenBridge":return await ke.from(this,{token:e,amount:n,from:r,to:s,protocol:i});default:throw new Error(`Protocol ${i} is not supported`)}}resolver(e){return new Jh(this,e)}getContracts(e){return this.config.chains[e]?.contracts}getPlatform(e){const n=this._platforms.get(e);if(!n)throw new Error(`Not able to retrieve platform ${e}. Did it get registered in the constructor?`);return n}getChain(e){const n=vt(e);return this._chains.has(e)||this._chains.set(e,this.getPlatform(n).getChain(e)),this._chains.get(e)}async getWrappedAsset(e,n){const s=await this.getChain(e).getTokenBridge();return{chain:e,address:await s.getWrappedAsset(n)}}async getOriginalAsset(e){return await(await this.getChain(e.chain).getTokenBridge()).getOriginalAsset(e.address)}async getTokenUniversalAddress(e,n){return await(await this.getChain(e).getTokenBridge()).getTokenUniversalAddress(n)}async getTokenNativeAddress(e,n,r){return await(await this.getChain(e).getTokenBridge()).getTokenNativeAddress(n,r)}async getDecimals(e,n){return await this.getChain(e).getDecimals(n)}async getBalance(e,n,r){return this.getChain(e).getBalance(r,n)}async getTokenAccount(e,n){return this.getChain(e.chain).getTokenAccount(e.address,n.address)}async getVaaBytes(e,n=Jt){return await e5(this.config.api,e,n)}async getVaa(e,n,r=Jt){return typeof e=="string"?await l0(this.config.api,e,n,r):await n5(this.config.api,e,n,r)}async getIsVaaEnqueued(e){return await l5(this.config.api,e)}async getCircleAttestation(e,n=Jt){return qg(this.config.circleAPI,e,n)}async getTransactionStatus(e,n=Jt){let r;if(typeof e=="string"){const s=await l0(this.config.api,e,"Uint8Array",n);if(!s)return null;r={emitter:s.emitterAddress,chain:s.emitterChain,sequence:s.sequence}}else r=e;return await s5(this.config.api,r,n)}async getExecutorCapabilities(){return await J6(this.config.executorAPI)}async getExecutorQuote(e,n,r){return await X6(this.config.executorAPI,e,n,r)}async getExecutorTxStatus(e,n){return await Y6(this.config.executorAPI,e,n)}async getTransactionsForAddress(e,n=50,r=0){return a5(this.config.api,e,n,r)}static parseAddress(e,n){return yn(e,n)}static canonicalAddress(e){return Wt(e)}static chainAddress(e,n){return{chain:e,address:xt.parseAddress(e,n)}}static tokenId(e,n){return Ve(n)?ml(e):this.chainAddress(e,n)}static async parseMessageFromTx(e,n,r=Jt){const i=await Br(async()=>{try{const a=await e.parseTransaction(n);return a.length===0?null:a}catch(a){return console.error(a),null}},e.config.blockTime,r,"WormholeCore:ParseMessageFromTransaction");if(!i)throw new Error(`No WormholeMessageId found for ${n}`);return i}}class Wa{wh;constructor(e){this.wh=e}transferUrl(e){return`https://wormholescan.io/#/tx/${e}?network=${this.wh.network}`}}class f5 extends Wa{static IS_AUTOMATIC=!0}function h5(t){return!!t.constructor.IS_AUTOMATIC}class m5 extends Wa{static NATIVE_GAS_DROPOFF_SUPPORTED=!1;static IS_AUTOMATIC=!1}function b5(t){return t.complete!==void 0}class p5 extends Wa{}function g5(t){return t.finalize!==void 0}function fc(t){try{return t?rr.decode(t.trim()):null}catch{return null}}const d0={Mainnet:{Ethereum:"eth-mainnet",Base:"base-mainnet",Arbitrum:"arb-mainnet",Optimism:"opt-mainnet",Polygon:"polygon-mainnet",Worldchain:"worldchain-mainnet",Ink:"ink-mainnet",Unichain:"unichain-mainnet",Berachain:"berachain-mainnet",Celo:"celo-mainnet",Linea:"linea-mainnet"},Testnet:{Ethereum:"eth-sepolia",Base:"base-sepolia",Arbitrum:"arb-sepolia",Optimism:"opt-sepolia",Polygon:"polygon-amoy",Worldchain:"worldchain-sepolia",Ink:"ink-sepolia",Unichain:"unichain-sepolia",Berachain:"berachain-bartio",Monad:"monad-testnet"},Devnet:{}},u0=1,f0=2;class y5{key;constructor(e){this.key=e}supportsChain(e,n){return d0[e][n]!==void 0}async batchFetchFromAlchemy(e,n,r){const s=`https://${e}.g.alchemy.com/v2/${this.key}`,i=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n.map(o=>({jsonrpc:"2.0",id:o.id,method:o.method,params:o.params}))),signal:r});if(!i.ok)throw new Error(`Alchemy API request failed with status ${i.status}`);return await i.json()}parseEthTokenResponse(e,n){for(let r of e){const s=fc(r.tokenBalance||r.balance);s!==null&&(n[r.contractAddress]=s)}}parseEthNativeResponse(e,n){const r=fc(e);r!==null&&(n.native=r)}async getBalances(e,n,r,s){const i=d0[e][n];if(!i)throw new Error("Chain not supported by Alchemy indexer");const a=await this.batchFetchFromAlchemy(i,[{method:"alchemy_getTokenBalances",params:[r,"erc20"],id:u0},{method:"eth_getBalance",params:[r,"latest"],id:f0}],s),o={};for(const c of a)c&&(c.id===u0&&c.result?.tokenBalances?this.parseEthTokenResponse(c.result.tokenBalances,o):c.id===f0&&c.result&&this.parseEthNativeResponse(c.result,o));return o}}const h0={Mainnet:{Ethereum:"eth-mainnet",Polygon:"matic-mainnet",Bsc:"bsc-mainnet",Optimism:"optimism-mainnet",Base:"base-mainnet",Worldchain:"world-mainnet",Sei:"sei-mainnet",Ink:"ink-mainnet",Solana:"solana-mainnet",Arbitrum:"arbitrum-mainnet",Berachain:"berachain-mainnet",Linea:"linea-mainnet",Scroll:"scroll-mainnet",Seievm:"sei-mainnet",Unichain:"unichain-mainnet",HyperEVM:"hyperevm-mainnet",Moonbeam:"moonbeam-mainnet",Mantle:"mantle-mainnet",Celo:"celo-mainnet",Fantom:"fantom-mainnet"},Testnet:{Ethereum:"eth-sepolia",Polygon:"polygon-amoy-testnet",Bsc:"bsc-testnet",Optimism:"optimism-sepolia",Base:"base-sepolia-testnet",Worldchain:"world-sepolia-testnet",Unichain:"unichain-sepolia-testnet",Berachain:"berachain-testnet",Ink:"ink-sepolia-testnet",Arbitrum:"arbitrum-sepolia",Linea:"linea-sepolia-testnet",Scroll:"scroll-sepolia-testnet",Monad:"monad-testnet",Mantle:"mantle-sepolia-testnet",Fantom:"fantom-testnet"},Devnet:{}};class A5{key;constructor(e){this.key=e}supportsChain(e,n){return h0[e][n]!==void 0}async getBalances(e,n,r,s){const i=h0[e][n];if(!i)throw new Error("Chain not supported by GoldRush indexer");const a=await fetch(`https://api.covalenthq.com/v1/${i}/address/${r}/balances_v2/?key=${this.key}`,{signal:s});if(!a.ok)throw new Error(`GoldRush API request failed with status ${a.status}`);const{data:o}=await a.json(),c={};for(let d of o.items){const l=d.contract_address.toLowerCase(),m=l==="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"||l==="11111111111111111111111111111111"?"native":l,b=fc(d.balance);b!==null&&(c[m]=b)}return c}}const E5=5e3;async function w5({client:t,network:e,chain:n,walletAddr:r,name:s,timeoutMs:i=E5}){if(!t)return null;try{if(!t.supportsChain(e,n))return console.info(`Network=${e} Chain=${n} not supported by ${s} indexer API`),null;const a=new AbortController,o=setTimeout(()=>{a.abort(new Error(`${s} request timed out after ${i}ms`))},i);let c;try{c=await t.getBalances(e,n,r,a.signal)}finally{clearTimeout(o)}return c}catch(a){return console.info(`Error querying ${s} indexer API: ${a}`),null}}async function B5(t,e,n,r){if(!r)throw new Error("Can't get balances without an indexer.");const{goldRush:s,alchemy:i}=r,a={network:e,chain:n,walletAddr:t},o=[{...a,client:s?.apiKey?new A5(s.apiKey):void 0,name:"Gold Rush",timeoutMs:s?.timeoutMs},{...a,client:i?.apiKey?new y5(i.apiKey):void 0,name:"Alchemy",timeoutMs:i?.timeoutMs}];for(const c of o){const d=await w5(c);if(d)return d}throw new Error("Failed to get a successful response from indexers")}const Xh="6.13.5";function C5(t,e,n){const r=e.split("|").map(i=>i.trim());for(let i=0;i<r.length;i++)switch(e){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof t===e)return}const s=new Error(`invalid value for type ${e}`);throw s.code="INVALID_ARGUMENT",s.argument=`value.${n}`,s.value=t,s}async function tt(t){const e=Object.keys(t);return(await Promise.all(e.map(r=>Promise.resolve(t[r])))).reduce((r,s,i)=>(r[e[i]]=s,r),{})}function ee(t,e,n){for(let r in e){let s=e[r];const i=n?n[r]:null;i&&C5(s,i,r),Object.defineProperty(t,r,{enumerable:!0,value:s,writable:!1})}}function Nr(t){if(t==null)return"null";if(Array.isArray(t))return"[ "+t.map(Nr).join(", ")+" ]";if(t instanceof Uint8Array){const e="0123456789abcdef";let n="0x";for(let r=0;r<t.length;r++)n+=e[t[r]>>4],n+=e[t[r]&15];return n}if(typeof t=="object"&&typeof t.toJSON=="function")return Nr(t.toJSON());switch(typeof t){case"boolean":case"symbol":return t.toString();case"bigint":return BigInt(t).toString();case"number":return t.toString();case"string":return JSON.stringify(t);case"object":{const e=Object.keys(t);return e.sort(),"{ "+e.map(n=>`${Nr(n)}: ${Nr(t[n])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function Je(t,e){return t&&t.code===e}function Fl(t){return Je(t,"CALL_EXCEPTION")}function Ue(t,e,n){let r=t;{const i=[];if(n){if("message"in n||"code"in n||"name"in n)throw new Error(`value will overwrite populated values: ${Nr(n)}`);for(const a in n){if(a==="shortMessage")continue;const o=n[a];i.push(a+"="+Nr(o))}}i.push(`code=${e}`),i.push(`version=${Xh}`),i.length&&(t+=" ("+i.join(", ")+")")}let s;switch(e){case"INVALID_ARGUMENT":s=new TypeError(t);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":s=new RangeError(t);break;default:s=new Error(t)}return ee(s,{code:e}),n&&Object.assign(s,n),s.shortMessage==null&&ee(s,{shortMessage:r}),s}function W(t,e,n,r){if(!t)throw Ue(e,n,r)}function D(t,e,n,r){W(t,e,"INVALID_ARGUMENT",{argument:n,value:r})}function Yh(t,e,n){n==null&&(n=""),n&&(n=": "+n),W(t>=e,"missing argument"+n,"MISSING_ARGUMENT",{count:t,expectedCount:e}),W(t<=e,"too many arguments"+n,"UNEXPECTED_ARGUMENT",{count:t,expectedCount:e})}const x5=["NFD","NFC","NFKD","NFKC"].reduce((t,e)=>{try{if("test".normalize(e)!=="test")throw new Error("bad");if(e==="NFD"&&"é".normalize("NFD")!=="é")throw new Error("broken");t.push(e)}catch{}return t},[]);function Zh(t){W(x5.indexOf(t)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:t}})}function ii(t,e,n){if(n==null&&(n=""),t!==e){let r=n,s="new";n&&(r+=".",s+=" "+n),W(!1,`private constructor; use ${r}from* methods`,"UNSUPPORTED_OPERATION",{operation:s})}}function e1(t,e,n){if(t instanceof Uint8Array)return n?new Uint8Array(t):t;if(typeof t=="string"&&t.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)){const r=new Uint8Array((t.length-2)/2);let s=2;for(let i=0;i<r.length;i++)r[i]=parseInt(t.substring(s,s+2),16),s+=2;return r}D(!1,"invalid BytesLike value",e||"value",t)}function ce(t,e){return e1(t,e,!1)}function rt(t,e){return e1(t,e,!0)}function Ee(t,e){return!(typeof t!="string"||!t.match(/^0x[0-9A-Fa-f]*$/)||typeof e=="number"&&t.length!==2+2*e||e===!0&&t.length%2!==0)}function Ha(t){return Ee(t,!0)||t instanceof Uint8Array}const m0="0123456789abcdef";function K(t){const e=ce(t);let n="0x";for(let r=0;r<e.length;r++){const s=e[r];n+=m0[(s&240)>>4]+m0[s&15]}return n}function De(t){return"0x"+t.map(e=>K(e).substring(2)).join("")}function cr(t){return Ee(t,!0)?(t.length-2)/2:ce(t).length}function xe(t,e,n){const r=ce(t);return n!=null&&n>r.length&&W(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:n}),K(r.slice(e??0,n??r.length))}function t1(t,e,n){const r=ce(t);W(e>=r.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(r),length:e,offset:e+1});const s=new Uint8Array(e);return s.fill(0),n?s.set(r,e-r.length):s.set(r,0),K(s)}function Wn(t,e){return t1(t,e,!0)}function n1(t,e){return t1(t,e,!1)}const za=BigInt(0),Nt=BigInt(1),Rr=9007199254740991;function r1(t,e){const n=Ga(t,"value"),r=BigInt(ae(e,"width"));if(W(n>>r===za,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:t}),n>>r-Nt){const s=(Nt<<r)-Nt;return-((~n&s)+Nt)}return n}function Sl(t,e){let n=X(t,"value");const r=BigInt(ae(e,"width")),s=Nt<<r-Nt;if(n<za){n=-n,W(n<=s,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:t});const i=(Nt<<r)-Nt;return(~n&i)+Nt}else W(n<s,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:t});return n}function Or(t,e){const n=Ga(t,"value"),r=BigInt(ae(e,"bits"));return n&(Nt<<r)-Nt}function X(t,e){switch(typeof t){case"bigint":return t;case"number":return D(Number.isInteger(t),"underflow",e||"value",t),D(t>=-Rr&&t<=Rr,"overflow",e||"value",t),BigInt(t);case"string":try{if(t==="")throw new Error("empty string");return t[0]==="-"&&t[1]!=="-"?-BigInt(t.substring(1)):BigInt(t)}catch(n){D(!1,`invalid BigNumberish string: ${n.message}`,e||"value",t)}}D(!1,"invalid BigNumberish value",e||"value",t)}function Ga(t,e){const n=X(t,e);return W(n>=za,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:t}),n}const b0="0123456789abcdef";function Va(t){if(t instanceof Uint8Array){let e="0x0";for(const n of t)e+=b0[n>>4],e+=b0[n&15];return BigInt(e)}return X(t)}function ae(t,e){switch(typeof t){case"bigint":return D(t>=-Rr&&t<=Rr,"overflow",e||"value",t),Number(t);case"number":return D(Number.isInteger(t),"underflow",e||"value",t),D(t>=-Rr&&t<=Rr,"overflow",e||"value",t),t;case"string":try{if(t==="")throw new Error("empty string");return ae(BigInt(t),e)}catch(n){D(!1,`invalid numeric string: ${n.message}`,e||"value",t)}}D(!1,"invalid numeric value",e||"value",t)}function D5(t){return ae(Va(t))}function An(t,e){let r=Ga(t,"value").toString(16);if(e==null)r.length%2&&(r="0"+r);else{const s=ae(e,"width");for(W(s*2>=r.length,`value exceeds width (${s} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:t});r.length<s*2;)r="0"+r}return"0x"+r}function st(t){const e=Ga(t,"value");if(e===za)return new Uint8Array([]);let n=e.toString(16);n.length%2&&(n="0"+n);const r=new Uint8Array(n.length/2);for(let s=0;s<r.length;s++){const i=s*2;r[s]=parseInt(n.substring(i,i+2),16)}return r}function Mr(t){let e=K(Ha(t)?t:st(t)).substring(2);for(;e.startsWith("0");)e=e.substring(1);return e===""&&(e="0"),"0x"+e}const ua="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";let Ai=null;function F5(t){if(Ai==null){Ai={};for(let n=0;n<ua.length;n++)Ai[ua[n]]=BigInt(n)}const e=Ai[t];return D(e!=null,"invalid base58 value","letter",t),e}const S5=BigInt(0),hc=BigInt(58);function s1(t){const e=ce(t);let n=Va(e),r="";for(;n;)r=ua[Number(n%hc)]+r,n/=hc;for(let s=0;s<e.length&&!e[s];s++)r=ua[0]+r;return r}function T5(t){let e=S5;for(let n=0;n<t.length;n++)e*=hc,e+=F5(t[n]);return e}function v5(t){t=atob(t);const e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=t.charCodeAt(n);return ce(e)}function I5(t){const e=ce(t);let n="";for(let r=0;r<e.length;r++)n+=String.fromCharCode(e[r]);return btoa(n)}class i1{filter;emitter;#e;constructor(e,n,r){this.#e=n,ee(this,{emitter:e,filter:r})}async removeListener(){this.#e!=null&&await this.emitter.off(this.filter,this.#e)}}function k5(t,e,n,r,s){D(!1,`invalid codepoint at offset ${e}; ${t}`,"bytes",n)}function a1(t,e,n,r,s){if(t==="BAD_PREFIX"||t==="UNEXPECTED_CONTINUE"){let i=0;for(let a=e+1;a<n.length&&n[a]>>6===2;a++)i++;return i}return t==="OVERRUN"?n.length-e-1:0}function U5(t,e,n,r,s){return t==="OVERLONG"?(D(typeof s=="number","invalid bad code point for replacement","badCodepoint",s),r.push(s),0):(r.push(65533),a1(t,e,n))}const P5=Object.freeze({error:k5,ignore:a1,replace:U5});function N5(t,e){e==null&&(e=P5.error);const n=ce(t,"bytes"),r=[];let s=0;for(;s<n.length;){const i=n[s++];if(i>>7===0){r.push(i);continue}let a=null,o=null;if((i&224)===192)a=1,o=127;else if((i&240)===224)a=2,o=2047;else if((i&248)===240)a=3,o=65535;else{(i&192)===128?s+=e("UNEXPECTED_CONTINUE",s-1,n,r):s+=e("BAD_PREFIX",s-1,n,r);continue}if(s-1+a>=n.length){s+=e("OVERRUN",s-1,n,r);continue}let c=i&(1<<8-a-1)-1;for(let d=0;d<a;d++){let l=n[s];if((l&192)!=128){s+=e("MISSING_CONTINUE",s,n,r),c=null;break}c=c<<6|l&63,s++}if(c!==null){if(c>1114111){s+=e("OUT_OF_RANGE",s-1-a,n,r,c);continue}if(c>=55296&&c<=57343){s+=e("UTF16_SURROGATE",s-1-a,n,r,c);continue}if(c<=o){s+=e("OVERLONG",s-1-a,n,r,c);continue}r.push(c)}}return r}function tn(t,e){D(typeof t=="string","invalid string value","str",t),e!=null&&(Zh(e),t=t.normalize(e));let n=[];for(let r=0;r<t.length;r++){const s=t.charCodeAt(r);if(s<128)n.push(s);else if(s<2048)n.push(s>>6|192),n.push(s&63|128);else if((s&64512)==55296){r++;const i=t.charCodeAt(r);D(r<t.length&&(i&64512)===56320,"invalid surrogate pair","str",t);const a=65536+((s&1023)<<10)+(i&1023);n.push(a>>18|240),n.push(a>>12&63|128),n.push(a>>6&63|128),n.push(a&63|128)}else n.push(s>>12|224),n.push(s>>6&63|128),n.push(s&63|128)}return new Uint8Array(n)}function R5(t){return t.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function fa(t,e){return R5(N5(t,e))}function o1(t){async function e(n,r){W(r==null||!r.cancelled,"request cancelled before sending","CANCELLED");const s=n.url.split(":")[0].toLowerCase();W(s==="http"||s==="https",`unsupported protocol ${s}`,"UNSUPPORTED_OPERATION",{info:{protocol:s},operation:"request"}),W(s==="https"||!n.credentials||n.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let i=null;const a=new AbortController,o=setTimeout(()=>{i=Ue("request timeout","TIMEOUT"),a.abort()},n.timeout);r&&r.addListener(()=>{i=Ue("request cancelled","CANCELLED"),a.abort()});const c={method:n.method,headers:new Headers(Array.from(n)),body:n.body||void 0,signal:a.signal};let d;try{d=await fetch(n.url,c)}catch(b){throw clearTimeout(o),i||b}clearTimeout(o);const l={};d.headers.forEach((b,w)=>{l[w.toLowerCase()]=b});const f=await d.arrayBuffer(),m=f==null?null:new Uint8Array(f);return{statusCode:d.status,statusMessage:d.statusText,headers:l,body:m}}return e}const O5=12,M5=250;let p0=o1();const L5=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),W5=new RegExp("^ipfs://(ipfs/)?(.*)$","i");let Eo=!1;async function c1(t,e){try{const n=t.match(L5);if(!n)throw new Error("invalid data");return new Mn(200,"OK",{"content-type":n[1]||"text/plain"},n[2]?v5(n[3]):z5(n[3]))}catch{return new Mn(599,"BAD REQUEST (invalid data: URI)",{},null,new nn(t))}}function l1(t){async function e(n,r){try{const s=n.match(W5);if(!s)throw new Error("invalid link");return new nn(`${t}${s[2]}`)}catch{return new Mn(599,"BAD REQUEST (invalid IPFS URI)",{},null,new nn(n))}}return e}const Ei={data:c1,ipfs:l1("https://gateway.ipfs.io/ipfs/")},d1=new WeakMap;class H5{#e;#t;constructor(e){this.#e=[],this.#t=!1,d1.set(e,()=>{if(!this.#t){this.#t=!0;for(const n of this.#e)setTimeout(()=>{n()},0);this.#e=[]}})}addListener(e){W(!this.#t,"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),this.#e.push(e)}get cancelled(){return this.#t}checkSignal(){W(!this.cancelled,"cancelled","CANCELLED",{})}}function wi(t){if(t==null)throw new Error("missing signal; should not happen");return t.checkSignal(),t}class nn{#e;#t;#n;#r;#s;#a;#i;#o;#h;#l;#m;#b;#c;#d;#u;get url(){return this.#a}set url(e){this.#a=String(e)}get body(){return this.#i==null?null:new Uint8Array(this.#i)}set body(e){if(e==null)this.#i=void 0,this.#o=void 0;else if(typeof e=="string")this.#i=tn(e),this.#o="text/plain";else if(e instanceof Uint8Array)this.#i=e,this.#o="application/octet-stream";else if(typeof e=="object")this.#i=tn(JSON.stringify(e)),this.#o="application/json";else throw new Error("invalid body")}hasBody(){return this.#i!=null}get method(){return this.#r?this.#r:this.hasBody()?"POST":"GET"}set method(e){e==null&&(e=""),this.#r=String(e).toUpperCase()}get headers(){const e=Object.assign({},this.#n);return this.#h&&(e.authorization=`Basic ${I5(tn(this.#h))}`),this.allowGzip&&(e["accept-encoding"]="gzip"),e["content-type"]==null&&this.#o&&(e["content-type"]=this.#o),this.body&&(e["content-length"]=String(this.body.length)),e}getHeader(e){return this.headers[e.toLowerCase()]}setHeader(e,n){this.#n[String(e).toLowerCase()]=String(n)}clearHeaders(){this.#n={}}[Symbol.iterator](){const e=this.headers,n=Object.keys(e);let r=0;return{next:()=>{if(r<n.length){const s=n[r++];return{value:[s,e[s]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return this.#h||null}setCredentials(e,n){D(!e.match(/:/),"invalid basic authentication username","username","[REDACTED]"),this.#h=`${e}:${n}`}get allowGzip(){return this.#t}set allowGzip(e){this.#t=!!e}get allowInsecureAuthentication(){return!!this.#e}set allowInsecureAuthentication(e){this.#e=!!e}get timeout(){return this.#s}set timeout(e){D(e>=0,"timeout must be non-zero","timeout",e),this.#s=e}get preflightFunc(){return this.#l||null}set preflightFunc(e){this.#l=e}get processFunc(){return this.#m||null}set processFunc(e){this.#m=e}get retryFunc(){return this.#b||null}set retryFunc(e){this.#b=e}get getUrlFunc(){return this.#u||p0}set getUrlFunc(e){this.#u=e}constructor(e){this.#a=String(e),this.#e=!1,this.#t=!0,this.#n={},this.#r="",this.#s=3e5,this.#d={slotInterval:M5,maxAttempts:O5},this.#u=null}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${this.#i?K(this.#i):"null"}>`}setThrottleParams(e){e.slotInterval!=null&&(this.#d.slotInterval=e.slotInterval),e.maxAttempts!=null&&(this.#d.maxAttempts=e.maxAttempts)}async#f(e,n,r,s,i){if(e>=this.#d.maxAttempts)return i.makeServerError("exceeded maximum retry limit");W(g0()<=n,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:s}),r>0&&await G5(r);let a=this.clone();const o=(a.url.split(":")[0]||"").toLowerCase();if(o in Ei){const l=await Ei[o](a.url,wi(s.#c));if(l instanceof Mn){let f=l;if(this.processFunc){wi(s.#c);try{f=await this.processFunc(a,f)}catch(m){(m.throttle==null||typeof m.stall!="number")&&f.makeServerError("error in post-processing function",m).assertOk()}}return f}a=l}this.preflightFunc&&(a=await this.preflightFunc(a));const c=await this.getUrlFunc(a,wi(s.#c));let d=new Mn(c.statusCode,c.statusMessage,c.headers,c.body,s);if(d.statusCode===301||d.statusCode===302){try{const l=d.headers.location||"";return a.redirect(l).#f(e+1,n,0,s,d)}catch{}return d}else if(d.statusCode===429&&(this.retryFunc==null||await this.retryFunc(a,d,e))){const l=d.headers["retry-after"];let f=this.#d.slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return typeof l=="string"&&l.match(/^[1-9][0-9]*$/)&&(f=parseInt(l)),a.clone().#f(e+1,n,f,s,d)}if(this.processFunc){wi(s.#c);try{d=await this.processFunc(a,d)}catch(l){(l.throttle==null||typeof l.stall!="number")&&d.makeServerError("error in post-processing function",l).assertOk();let f=this.#d.slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return l.stall>=0&&(f=l.stall),a.clone().#f(e+1,n,f,s,d)}}return d}send(){return W(this.#c==null,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),this.#c=new H5(this),this.#f(0,g0()+this.timeout,0,this,new Mn(0,"",{},null,this))}cancel(){W(this.#c!=null,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});const e=d1.get(this);if(!e)throw new Error("missing signal; should not happen");e()}redirect(e){const n=this.url.split(":")[0].toLowerCase(),r=e.split(":")[0].toLowerCase();W(this.method==="GET"&&(n!=="https"||r!=="http")&&e.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(e)})`});const s=new nn(e);return s.method="GET",s.allowGzip=this.allowGzip,s.timeout=this.timeout,s.#n=Object.assign({},this.#n),this.#i&&(s.#i=new Uint8Array(this.#i)),s.#o=this.#o,s}clone(){const e=new nn(this.url);return e.#r=this.#r,this.#i&&(e.#i=this.#i),e.#o=this.#o,e.#n=Object.assign({},this.#n),e.#h=this.#h,this.allowGzip&&(e.allowGzip=!0),e.timeout=this.timeout,this.allowInsecureAuthentication&&(e.allowInsecureAuthentication=!0),e.#l=this.#l,e.#m=this.#m,e.#b=this.#b,e.#d=Object.assign({},this.#d),e.#u=this.#u,e}static lockConfig(){Eo=!0}static getGateway(e){return Ei[e.toLowerCase()]||null}static registerGateway(e,n){if(e=e.toLowerCase(),e==="http"||e==="https")throw new Error(`cannot intercept ${e}; use registerGetUrl`);if(Eo)throw new Error("gateways locked");Ei[e]=n}static registerGetUrl(e){if(Eo)throw new Error("gateways locked");p0=e}static createGetUrlFunc(e){return o1()}static createDataGateway(){return c1}static createIpfsGatewayFunc(e){return l1(e)}}class Mn{#e;#t;#n;#r;#s;#a;toString(){return`<FetchResponse status=${this.statusCode} body=${this.#r?K(this.#r):"null"}>`}get statusCode(){return this.#e}get statusMessage(){return this.#t}get headers(){return Object.assign({},this.#n)}get body(){return this.#r==null?null:new Uint8Array(this.#r)}get bodyText(){try{return this.#r==null?"":fa(this.#r)}catch{W(!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{W(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){const e=this.headers,n=Object.keys(e);let r=0;return{next:()=>{if(r<n.length){const s=n[r++];return{value:[s,e[s]],done:!1}}return{value:void 0,done:!0}}}}constructor(e,n,r,s,i){this.#e=e,this.#t=n,this.#n=Object.keys(r).reduce((a,o)=>(a[o.toLowerCase()]=String(r[o]),a),{}),this.#r=s==null?null:new Uint8Array(s),this.#s=i||null,this.#a={message:""}}makeServerError(e,n){let r;e?r=`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${e})`:(e=`${this.statusCode} ${this.statusMessage}`,r=`CLIENT ESCALATED SERVER ERROR (${e})`);const s=new Mn(599,r,this.headers,this.body,this.#s||void 0);return s.#a={message:e,error:n},s}throwThrottleError(e,n){n==null?n=-1:D(Number.isInteger(n)&&n>=0,"invalid stall timeout","stall",n);const r=new Error(e||"throttling requests");throw ee(r,{stall:n,throttle:!0}),r}getHeader(e){return this.headers[e.toLowerCase()]}hasBody(){return this.#r!=null}get request(){return this.#s}ok(){return this.#a.message===""&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:e,error:n}=this.#a;e===""&&(e=`server response ${this.statusCode} ${this.statusMessage}`);let r=null;this.request&&(r=this.request.url);let s=null;try{this.#r&&(s=fa(this.#r))}catch{}W(!1,e,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:n,info:{requestUrl:r,responseBody:s,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}}function g0(){return new Date().getTime()}function z5(t){return tn(t.replace(/%([0-9a-f][0-9a-f])/gi,(e,n)=>String.fromCharCode(parseInt(n,16))))}function G5(t){return new Promise(e=>setTimeout(e,t))}function V5(t){let e=t.toString(16);for(;e.length<2;)e="0"+e;return"0x"+e}function y0(t,e,n){let r=0;for(let s=0;s<n;s++)r=r*256+t[e+s];return r}function A0(t,e,n,r){const s=[];for(;n<e+1+r;){const i=u1(t,n);s.push(i.result),n+=i.consumed,W(n<=e+1+r,"child data too short","BUFFER_OVERRUN",{buffer:t,length:r,offset:e})}return{consumed:1+r,result:s}}function u1(t,e){W(t.length!==0,"data too short","BUFFER_OVERRUN",{buffer:t,length:0,offset:1});const n=r=>{W(r<=t.length,"data short segment too short","BUFFER_OVERRUN",{buffer:t,length:t.length,offset:r})};if(t[e]>=248){const r=t[e]-247;n(e+1+r);const s=y0(t,e+1,r);return n(e+1+r+s),A0(t,e,e+1+r,r+s)}else if(t[e]>=192){const r=t[e]-192;return n(e+1+r),A0(t,e,e+1,r)}else if(t[e]>=184){const r=t[e]-183;n(e+1+r);const s=y0(t,e+1,r);n(e+1+r+s);const i=K(t.slice(e+1+r,e+1+r+s));return{consumed:1+r+s,result:i}}else if(t[e]>=128){const r=t[e]-128;n(e+1+r);const s=K(t.slice(e+1,e+1+r));return{consumed:1+r,result:s}}return{consumed:1,result:V5(t[e])}}function _a(t){const e=ce(t,"data"),n=u1(e,0);return D(n.consumed===e.length,"unexpected junk after rlp payload","data",t),n.result}function E0(t){const e=[];for(;t;)e.unshift(t&255),t>>=8;return e}function f1(t){if(Array.isArray(t)){let r=[];if(t.forEach(function(i){r=r.concat(f1(i))}),r.length<=55)return r.unshift(192+r.length),r;const s=E0(r.length);return s.unshift(247+s.length),s.concat(r)}const e=Array.prototype.slice.call(ce(t,"object"));if(e.length===1&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;const n=E0(e.length);return n.unshift(183+n.length),n.concat(e)}const w0="0123456789abcdef";function gr(t){let e="0x";for(const n of f1(t))e+=w0[n>>4],e+=w0[n&15];return e}const lt=32,mc=new Uint8Array(lt),_5=["then"],Bi={},h1=new WeakMap;function qn(t){return h1.get(t)}function B0(t,e){h1.set(t,e)}function ys(t,e){const n=new Error(`deferred error during ABI decoding triggered accessing ${t}`);throw n.error=e,n}function bc(t,e,n){return t.indexOf(null)>=0?e.map((r,s)=>r instanceof mn?bc(qn(r),r,n):r):t.reduce((r,s,i)=>{let a=e.getValue(s);return s in r||(n&&a instanceof mn&&(a=bc(qn(a),a,n)),r[s]=a),r},{})}class mn extends Array{#e;constructor(...e){const n=e[0];let r=e[1],s=(e[2]||[]).slice(),i=!0;n!==Bi&&(r=e,s=[],i=!1),super(r.length),r.forEach((c,d)=>{this[d]=c});const a=s.reduce((c,d)=>(typeof d=="string"&&c.set(d,(c.get(d)||0)+1),c),new Map);if(B0(this,Object.freeze(r.map((c,d)=>{const l=s[d];return l!=null&&a.get(l)===1?l:null}))),this.#e=[],this.#e==null&&this.#e,!i)return;Object.freeze(this);const o=new Proxy(this,{get:(c,d,l)=>{if(typeof d=="string"){if(d.match(/^[0-9]+$/)){const m=ae(d,"%index");if(m<0||m>=this.length)throw new RangeError("out of result range");const b=c[m];return b instanceof Error&&ys(`index ${m}`,b),b}if(_5.indexOf(d)>=0)return Reflect.get(c,d,l);const f=c[d];if(f instanceof Function)return function(...m){return f.apply(this===l?c:this,m)};if(!(d in c))return c.getValue.apply(this===l?c:this,[d])}return Reflect.get(c,d,l)}});return B0(o,qn(this)),o}toArray(e){const n=[];return this.forEach((r,s)=>{r instanceof Error&&ys(`index ${s}`,r),e&&r instanceof mn&&(r=r.toArray(e)),n.push(r)}),n}toObject(e){const n=qn(this);return n.reduce((r,s,i)=>(W(s!=null,`value at index ${i} unnamed`,"UNSUPPORTED_OPERATION",{operation:"toObject()"}),bc(n,this,e)),{})}slice(e,n){e==null&&(e=0),e<0&&(e+=this.length,e<0&&(e=0)),n==null&&(n=this.length),n<0&&(n+=this.length,n<0&&(n=0)),n>this.length&&(n=this.length);const r=qn(this),s=[],i=[];for(let a=e;a<n;a++)s.push(this[a]),i.push(r[a]);return new mn(Bi,s,i)}filter(e,n){const r=qn(this),s=[],i=[];for(let a=0;a<this.length;a++){const o=this[a];o instanceof Error&&ys(`index ${a}`,o),e.call(n,o,a,this)&&(s.push(o),i.push(r[a]))}return new mn(Bi,s,i)}map(e,n){const r=[];for(let s=0;s<this.length;s++){const i=this[s];i instanceof Error&&ys(`index ${s}`,i),r.push(e.call(n,i,s,this))}return r}getValue(e){const n=qn(this).indexOf(e);if(n===-1)return;const r=this[n];return r instanceof Error&&ys(`property ${JSON.stringify(e)}`,r.error),r}static fromItems(e,n){return new mn(Bi,e,n)}}function C0(t){let e=st(t);return W(e.length<=lt,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:lt,offset:e.length}),e.length!==lt&&(e=rt(De([mc.slice(e.length%lt),e]))),e}class Cn{name;type;localName;dynamic;constructor(e,n,r,s){ee(this,{name:e,type:n,localName:r,dynamic:s},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(e,n){D(!1,e,this.localName,n)}}class pc{#e;#t;constructor(){this.#e=[],this.#t=0}get data(){return De(this.#e)}get length(){return this.#t}#n(e){return this.#e.push(e),this.#t+=e.length,e.length}appendWriter(e){return this.#n(rt(e.data))}writeBytes(e){let n=rt(e);const r=n.length%lt;return r&&(n=rt(De([n,mc.slice(r)]))),this.#n(n)}writeValue(e){return this.#n(C0(e))}writeUpdatableValue(){const e=this.#e.length;return this.#e.push(mc),this.#t+=lt,n=>{this.#e[e]=C0(n)}}}class Tl{allowLoose;#e;#t;#n;#r;#s;constructor(e,n,r){ee(this,{allowLoose:!!n}),this.#e=rt(e),this.#n=0,this.#r=null,this.#s=r??1024,this.#t=0}get data(){return K(this.#e)}get dataLength(){return this.#e.length}get consumed(){return this.#t}get bytes(){return new Uint8Array(this.#e)}#a(e){if(this.#r)return this.#r.#a(e);this.#n+=e,W(this.#s<1||this.#n<=this.#s*this.dataLength,`compressed ABI data exceeds inflation ratio of ${this.#s} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:rt(this.#e),offset:this.#t,length:e,info:{bytesRead:this.#n,dataLength:this.dataLength}})}#i(e,n,r){let s=Math.ceil(n/lt)*lt;return this.#t+s>this.#e.length&&(this.allowLoose&&r&&this.#t+n<=this.#e.length?s=n:W(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:rt(this.#e),length:this.#e.length,offset:this.#t+s})),this.#e.slice(this.#t,this.#t+s)}subReader(e){const n=new Tl(this.#e.slice(this.#t+e),this.allowLoose,this.#s);return n.#r=this,n}readBytes(e,n){let r=this.#i(0,e,!!n);return this.#a(e),this.#t+=r.length,r.slice(0,e)}readValue(){return Va(this.readBytes(lt))}readIndex(){return D5(this.readBytes(lt))}}function Ln(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function vl(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function m1(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Ln(t.outputLen),Ln(t.blockLen)}function $r(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function b1(t,e){vl(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const wo=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const p1=t=>t instanceof Uint8Array,g1=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),qi=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),jt=(t,e)=>t<<32-e|t>>>e,j5=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!j5)throw new Error("Non little-endian hardware is not supported");const q5=async()=>{};async function K5(t,e,n){let r=Date.now();for(let s=0;s<t;s++){n(s);const i=Date.now()-r;i>=0&&i<e||(await q5(),r+=i)}}function Q5(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Jr(t){if(typeof t=="string"&&(t=Q5(t)),!p1(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function $5(...t){const e=new Uint8Array(t.reduce((r,s)=>r+s.length,0));let n=0;return t.forEach(r=>{if(!p1(r))throw new Error("Uint8Array expected");e.set(r,n),n+=r.length}),e}class Il{clone(){return this._cloneInto()}}const J5={}.toString;function y1(t,e){if(e!==void 0&&J5.call(e)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(t,e)}function ja(t){const e=r=>t().update(Jr(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function X5(t=32){if(wo&&typeof wo.getRandomValues=="function")return wo.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}class A1 extends Il{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,m1(e);const r=Jr(n);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const s=this.blockLen,i=new Uint8Array(s);i.set(r.length>s?e.create().update(r).digest():r);for(let a=0;a<i.length;a++)i[a]^=54;this.iHash.update(i),this.oHash=e.create();for(let a=0;a<i.length;a++)i[a]^=106;this.oHash.update(i),i.fill(0)}update(e){return $r(this),this.iHash.update(e),this}digestInto(e){$r(this),vl(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:s,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const qa=(t,e,n)=>new A1(t,e).update(n).digest();qa.create=(t,e)=>new A1(t,e);function Y5(t,e,n,r){m1(t);const s=y1({dkLen:32,asyncTick:10},r),{c:i,dkLen:a,asyncTick:o}=s;if(Ln(i),Ln(a),Ln(o),i<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const c=Jr(e),d=Jr(n),l=new Uint8Array(a),f=qa.create(t,c),m=f._cloneInto().update(d);return{c:i,dkLen:a,asyncTick:o,DK:l,PRF:f,PRFSalt:m}}function Z5(t,e,n,r,s){return t.destroy(),e.destroy(),r&&r.destroy(),s.fill(0),n}function E1(t,e,n,r){const{c:s,dkLen:i,DK:a,PRF:o,PRFSalt:c}=Y5(t,e,n,r);let d;const l=new Uint8Array(4),f=qi(l),m=new Uint8Array(o.outputLen);for(let b=1,w=0;w<i;b++,w+=o.outputLen){const E=a.subarray(w,w+o.outputLen);f.setInt32(0,b,!1),(d=c._cloneInto(d)).update(l).digestInto(m),E.set(m.subarray(0,E.length));for(let y=1;y<s;y++){o._cloneInto(d).update(m).digestInto(m);for(let p=0;p<E.length;p++)E[p]^=m[p]}}return Z5(o,c,a,d,m)}function ey(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const s=BigInt(32),i=BigInt(4294967295),a=Number(n>>s&i),o=Number(n&i),c=r?4:0,d=r?0:4;t.setUint32(e+c,a,r),t.setUint32(e+d,o,r)}class kl extends Il{constructor(e,n,r,s){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=qi(this.buffer)}update(e){$r(this);const{view:n,buffer:r,blockLen:s}=this;e=Jr(e);const i=e.length;for(let a=0;a<i;){const o=Math.min(s-this.pos,i-a);if(o===s){const c=qi(e);for(;s<=i-a;a+=s)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){$r(this),b1(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:s,isLE:i}=this;let{pos:a}=this;n[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>s-a&&(this.process(r,0),a=0);for(let f=a;f<s;f++)n[f]=0;ey(r,s-8,BigInt(this.length*8),i),this.process(r,0);const o=qi(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const d=c/4,l=this.get();if(d>l.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<d;f++)o.setUint32(4*f,l[f],i)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:s,finished:i,destroyed:a,pos:o}=this;return e.length=s,e.pos=o,e.finished=i,e.destroyed=a,s%n&&e.buffer.set(r),e}}const ty=(t,e,n)=>t&e^~t&n,ny=(t,e,n)=>t&e^t&n^e&n,ry=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]),vn=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),In=new Uint32Array(64);class sy extends kl{constructor(){super(64,32,8,!1),this.A=vn[0]|0,this.B=vn[1]|0,this.C=vn[2]|0,this.D=vn[3]|0,this.E=vn[4]|0,this.F=vn[5]|0,this.G=vn[6]|0,this.H=vn[7]|0}get(){const{A:e,B:n,C:r,D:s,E:i,F:a,G:o,H:c}=this;return[e,n,r,s,i,a,o,c]}set(e,n,r,s,i,a,o,c){this.A=e|0,this.B=n|0,this.C=r|0,this.D=s|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0}process(e,n){for(let f=0;f<16;f++,n+=4)In[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){const m=In[f-15],b=In[f-2],w=jt(m,7)^jt(m,18)^m>>>3,E=jt(b,17)^jt(b,19)^b>>>10;In[f]=E+In[f-7]+w+In[f-16]|0}let{A:r,B:s,C:i,D:a,E:o,F:c,G:d,H:l}=this;for(let f=0;f<64;f++){const m=jt(o,6)^jt(o,11)^jt(o,25),b=l+m+ty(o,c,d)+ry[f]+In[f]|0,E=(jt(r,2)^jt(r,13)^jt(r,22))+ny(r,s,i)|0;l=d,d=c,c=o,o=a+b|0,a=i,i=s,s=r,r=b+E|0}r=r+this.A|0,s=s+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,d=d+this.G|0,l=l+this.H|0,this.set(r,s,i,a,o,c,d,l)}roundClean(){In.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const ai=ja(()=>new sy),Ci=BigInt(2**32-1),gc=BigInt(32);function w1(t,e=!1){return e?{h:Number(t&Ci),l:Number(t>>gc&Ci)}:{h:Number(t>>gc&Ci)|0,l:Number(t&Ci)|0}}function B1(t,e=!1){let n=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let s=0;s<t.length;s++){const{h:i,l:a}=w1(t[s],e);[n[s],r[s]]=[i,a]}return[n,r]}const iy=(t,e)=>BigInt(t>>>0)<<gc|BigInt(e>>>0),ay=(t,e,n)=>t>>>n,oy=(t,e,n)=>t<<32-n|e>>>n,cy=(t,e,n)=>t>>>n|e<<32-n,ly=(t,e,n)=>t<<32-n|e>>>n,dy=(t,e,n)=>t<<64-n|e>>>n-32,uy=(t,e,n)=>t>>>n-32|e<<64-n,fy=(t,e)=>e,hy=(t,e)=>t,C1=(t,e,n)=>t<<n|e>>>32-n,x1=(t,e,n)=>e<<n|t>>>32-n,D1=(t,e,n)=>e<<n-32|t>>>64-n,F1=(t,e,n)=>t<<n-32|e>>>64-n;function my(t,e,n,r){const s=(e>>>0)+(r>>>0);return{h:t+n+(s/2**32|0)|0,l:s|0}}const by=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),py=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,gy=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),yy=(t,e,n,r,s)=>e+n+r+s+(t/2**32|0)|0,Ay=(t,e,n,r,s)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(s>>>0),Ey=(t,e,n,r,s,i)=>e+n+r+s+i+(t/2**32|0)|0,ie={fromBig:w1,split:B1,toBig:iy,shrSH:ay,shrSL:oy,rotrSH:cy,rotrSL:ly,rotrBH:dy,rotrBL:uy,rotr32H:fy,rotr32L:hy,rotlSH:C1,rotlSL:x1,rotlBH:D1,rotlBL:F1,add:my,add3L:by,add3H:py,add4L:gy,add4H:yy,add5H:Ey,add5L:Ay},[wy,By]=ie.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),kn=new Uint32Array(80),Un=new Uint32Array(80);class Cy extends kl{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:n,Bh:r,Bl:s,Ch:i,Cl:a,Dh:o,Dl:c,Eh:d,El:l,Fh:f,Fl:m,Gh:b,Gl:w,Hh:E,Hl:y}=this;return[e,n,r,s,i,a,o,c,d,l,f,m,b,w,E,y]}set(e,n,r,s,i,a,o,c,d,l,f,m,b,w,E,y){this.Ah=e|0,this.Al=n|0,this.Bh=r|0,this.Bl=s|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=d|0,this.El=l|0,this.Fh=f|0,this.Fl=m|0,this.Gh=b|0,this.Gl=w|0,this.Hh=E|0,this.Hl=y|0}process(e,n){for(let A=0;A<16;A++,n+=4)kn[A]=e.getUint32(n),Un[A]=e.getUint32(n+=4);for(let A=16;A<80;A++){const S=kn[A-15]|0,T=Un[A-15]|0,U=ie.rotrSH(S,T,1)^ie.rotrSH(S,T,8)^ie.shrSH(S,T,7),R=ie.rotrSL(S,T,1)^ie.rotrSL(S,T,8)^ie.shrSL(S,T,7),v=kn[A-2]|0,M=Un[A-2]|0,V=ie.rotrSH(v,M,19)^ie.rotrBH(v,M,61)^ie.shrSH(v,M,6),Q=ie.rotrSL(v,M,19)^ie.rotrBL(v,M,61)^ie.shrSL(v,M,6),q=ie.add4L(R,Q,Un[A-7],Un[A-16]),N=ie.add4H(q,U,V,kn[A-7],kn[A-16]);kn[A]=N|0,Un[A]=q|0}let{Ah:r,Al:s,Bh:i,Bl:a,Ch:o,Cl:c,Dh:d,Dl:l,Eh:f,El:m,Fh:b,Fl:w,Gh:E,Gl:y,Hh:p,Hl:x}=this;for(let A=0;A<80;A++){const S=ie.rotrSH(f,m,14)^ie.rotrSH(f,m,18)^ie.rotrBH(f,m,41),T=ie.rotrSL(f,m,14)^ie.rotrSL(f,m,18)^ie.rotrBL(f,m,41),U=f&b^~f&E,R=m&w^~m&y,v=ie.add5L(x,T,R,By[A],Un[A]),M=ie.add5H(v,p,S,U,wy[A],kn[A]),V=v|0,Q=ie.rotrSH(r,s,28)^ie.rotrBH(r,s,34)^ie.rotrBH(r,s,39),q=ie.rotrSL(r,s,28)^ie.rotrBL(r,s,34)^ie.rotrBL(r,s,39),N=r&i^r&o^i&o,O=s&a^s&c^a&c;p=E|0,x=y|0,E=b|0,y=w|0,b=f|0,w=m|0,{h:f,l:m}=ie.add(d|0,l|0,M|0,V|0),d=o|0,l=c|0,o=i|0,c=a|0,i=r|0,a=s|0;const C=ie.add3L(V,q,O);r=ie.add3H(C,M,Q,N),s=C|0}({h:r,l:s}=ie.add(this.Ah|0,this.Al|0,r|0,s|0)),{h:i,l:a}=ie.add(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=ie.add(this.Ch|0,this.Cl|0,o|0,c|0),{h:d,l}=ie.add(this.Dh|0,this.Dl|0,d|0,l|0),{h:f,l:m}=ie.add(this.Eh|0,this.El|0,f|0,m|0),{h:b,l:w}=ie.add(this.Fh|0,this.Fl|0,b|0,w|0),{h:E,l:y}=ie.add(this.Gh|0,this.Gl|0,E|0,y|0),{h:p,l:x}=ie.add(this.Hh|0,this.Hl|0,p|0,x|0),this.set(r,s,i,a,o,c,d,l,f,m,b,w,E,y,p,x)}roundClean(){kn.fill(0),Un.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 Ul=ja(()=>new Cy);function xy(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof ca<"u")return ca;throw new Error("unable to locate global object")}const x0=xy(),D0=x0.crypto||x0.msCrypto;function Dy(t){switch(t){case"sha256":return ai.create();case"sha512":return Ul.create()}D(!1,"invalid hashing algorithm name","algorithm",t)}function Fy(t,e){const n={sha256:ai,sha512:Ul}[t];return D(n!=null,"invalid hmac algorithm","algorithm",t),qa.create(n,e)}function Sy(t,e,n,r,s){const i={sha256:ai,sha512:Ul}[s];return D(i!=null,"invalid pbkdf2 algorithm","algorithm",s),E1(i,t,e,{c:n,dkLen:r})}function Ty(t){W(D0!=null,"platform does not support secure random numbers","UNSUPPORTED_OPERATION",{operation:"randomBytes"}),D(Number.isInteger(t)&&t>0&&t<=1024,"invalid length","length",t);const e=new Uint8Array(t);return D0.getRandomValues(e),e}const[S1,T1,v1]=[[],[],[]],vy=BigInt(0),As=BigInt(1),Iy=BigInt(2),ky=BigInt(7),Uy=BigInt(256),Py=BigInt(113);for(let t=0,e=As,n=1,r=0;t<24;t++){[n,r]=[r,(2*n+3*r)%5],S1.push(2*(5*r+n)),T1.push((t+1)*(t+2)/2%64);let s=vy;for(let i=0;i<7;i++)e=(e<<As^(e>>ky)*Py)%Uy,e&Iy&&(s^=As<<(As<<BigInt(i))-As);v1.push(s)}const[Ny,Ry]=B1(v1,!0),F0=(t,e,n)=>n>32?D1(t,e,n):C1(t,e,n),S0=(t,e,n)=>n>32?F1(t,e,n):x1(t,e,n);function Oy(t,e=24){const n=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let a=0;a<10;a++)n[a]=t[a]^t[a+10]^t[a+20]^t[a+30]^t[a+40];for(let a=0;a<10;a+=2){const o=(a+8)%10,c=(a+2)%10,d=n[c],l=n[c+1],f=F0(d,l,1)^n[o],m=S0(d,l,1)^n[o+1];for(let b=0;b<50;b+=10)t[a+b]^=f,t[a+b+1]^=m}let s=t[2],i=t[3];for(let a=0;a<24;a++){const o=T1[a],c=F0(s,i,o),d=S0(s,i,o),l=S1[a];s=t[l],i=t[l+1],t[l]=c,t[l+1]=d}for(let a=0;a<50;a+=10){for(let o=0;o<10;o++)n[o]=t[a+o];for(let o=0;o<10;o++)t[a+o]^=~n[(o+2)%10]&n[(o+4)%10]}t[0]^=Ny[r],t[1]^=Ry[r]}n.fill(0)}class Pl extends Il{constructor(e,n,r,s=!1,i=24){if(super(),this.blockLen=e,this.suffix=n,this.outputLen=r,this.enableXOF=s,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Ln(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=g1(this.state)}keccak(){Oy(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){$r(this);const{blockLen:n,state:r}=this;e=Jr(e);const s=e.length;for(let i=0;i<s;){const a=Math.min(n-this.pos,s-i);for(let o=0;o<a;o++)r[this.pos++]^=e[i++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:n,pos:r,blockLen:s}=this;e[r]^=n,(n&128)!==0&&r===s-1&&this.keccak(),e[s-1]^=128,this.keccak()}writeInto(e){$r(this,!1),vl(e),this.finish();const n=this.state,{blockLen:r}=this;for(let s=0,i=e.length;s<i;){this.posOut>=r&&this.keccak();const a=Math.min(r-this.posOut,i-s);e.set(n.subarray(this.posOut,this.posOut+a),s),this.posOut+=a,s+=a}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Ln(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(b1(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:n,suffix:r,outputLen:s,rounds:i,enableXOF:a}=this;return e||(e=new Pl(n,r,s,a,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=s,e.enableXOF=a,e.destroyed=this.destroyed,e}}const My=(t,e,n)=>ja(()=>new Pl(e,t,n)),Ly=My(1,136,256/8);let I1=!1;const k1=function(t){return Ly(t)};let U1=k1;function Ne(t){const e=ce(t,"data");return K(U1(e))}Ne._=k1;Ne.lock=function(){I1=!0};Ne.register=function(t){if(I1)throw new TypeError("keccak256 is locked");U1=t};Object.freeze(Ne);const P1=function(t){return Dy("sha256").update(t).digest()};let N1=P1,R1=!1;function Cr(t){const e=ce(t,"data");return K(N1(e))}Cr._=P1;Cr.lock=function(){R1=!0};Cr.register=function(t){if(R1)throw new Error("sha256 is locked");N1=t};Object.freeze(Cr);Object.freeze(Cr);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const O1=BigInt(0),Ka=BigInt(1),Wy=BigInt(2),Qa=t=>t instanceof Uint8Array,Hy=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Xr(t){if(!Qa(t))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=Hy[t[n]];return e}function M1(t){const e=t.toString(16);return e.length&1?`0${e}`:e}function Nl(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function Yr(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(e/2);for(let r=0;r<n.length;r++){const s=r*2,i=t.slice(s,s+2),a=Number.parseInt(i,16);if(Number.isNaN(a)||a<0)throw new Error("Invalid byte sequence");n[r]=a}return n}function lr(t){return Nl(Xr(t))}function Rl(t){if(!Qa(t))throw new Error("Uint8Array expected");return Nl(Xr(Uint8Array.from(t).reverse()))}function Zr(t,e){return Yr(t.toString(16).padStart(e*2,"0"))}function Ol(t,e){return Zr(t,e).reverse()}function zy(t){return Yr(M1(t))}function Ut(t,e,n){let r;if(typeof e=="string")try{r=Yr(e)}catch(i){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${i}`)}else if(Qa(e))r=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);const s=r.length;if(typeof n=="number"&&s!==n)throw new Error(`${t} expected ${n} bytes, got ${s}`);return r}function Ws(...t){const e=new Uint8Array(t.reduce((r,s)=>r+s.length,0));let n=0;return t.forEach(r=>{if(!Qa(r))throw new Error("Uint8Array expected");e.set(r,n),n+=r.length}),e}function Gy(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}function Vy(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function _y(t){let e;for(e=0;t>O1;t>>=Ka,e+=1);return e}function jy(t,e){return t>>BigInt(e)&Ka}const qy=(t,e,n)=>t|(n?Ka:O1)<<BigInt(e),Ml=t=>(Wy<<BigInt(t-1))-Ka,Bo=t=>new Uint8Array(t),T0=t=>Uint8Array.from(t);function L1(t,e,n){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");let r=Bo(t),s=Bo(t),i=0;const a=()=>{r.fill(1),s.fill(0),i=0},o=(...f)=>n(s,r,...f),c=(f=Bo())=>{s=o(T0([0]),f),r=o(),f.length!==0&&(s=o(T0([1]),f),r=o())},d=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let f=0;const m=[];for(;f<e;){r=o();const b=r.slice();m.push(b),f+=r.length}return Ws(...m)};return(f,m)=>{a(),c(f);let b;for(;!(b=m(d()));)c();return a(),b}}const Ky={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function oi(t,e,n={}){const r=(s,i,a)=>{const o=Ky[i];if(typeof o!="function")throw new Error(`Invalid validator "${i}", expected function`);const c=t[s];if(!(a&&c===void 0)&&!o(c,t))throw new Error(`Invalid param ${String(s)}=${c} (${typeof c}), expected ${i}`)};for(const[s,i]of Object.entries(e))r(s,i,!1);for(const[s,i]of Object.entries(n))r(s,i,!0);return t}const Qy=Object.freeze(Object.defineProperty({__proto__:null,bitGet:jy,bitLen:_y,bitMask:Ml,bitSet:qy,bytesToHex:Xr,bytesToNumberBE:lr,bytesToNumberLE:Rl,concatBytes:Ws,createHmacDrbg:L1,ensureBytes:Ut,equalBytes:Gy,hexToBytes:Yr,hexToNumber:Nl,numberToBytesBE:Zr,numberToBytesLE:Ol,numberToHexUnpadded:M1,numberToVarBytesBE:zy,utf8ToBytes:Vy,validateObject:oi},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const qe=BigInt(0),Oe=BigInt(1),Kn=BigInt(2),$y=BigInt(3),yc=BigInt(4),v0=BigInt(5),I0=BigInt(8);BigInt(9);BigInt(16);function ht(t,e){const n=t%e;return n>=qe?n:e+n}function Jy(t,e,n){if(n<=qe||e<qe)throw new Error("Expected power/modulo > 0");if(n===Oe)return qe;let r=Oe;for(;e>qe;)e&Oe&&(r=r*t%n),t=t*t%n,e>>=Oe;return r}function Dt(t,e,n){let r=t;for(;e-- >qe;)r*=r,r%=n;return r}function Ac(t,e){if(t===qe||e<=qe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let n=ht(t,e),r=e,s=qe,i=Oe;for(;n!==qe;){const o=r/n,c=r%n,d=s-i*o;r=n,n=c,s=i,i=d}if(r!==Oe)throw new Error("invert: does not exist");return ht(s,e)}function Xy(t){const e=(t-Oe)/Kn;let n,r,s;for(n=t-Oe,r=0;n%Kn===qe;n/=Kn,r++);for(s=Kn;s<t&&Jy(s,e,t)!==t-Oe;s++);if(r===1){const a=(t+Oe)/yc;return function(c,d){const l=c.pow(d,a);if(!c.eql(c.sqr(l),d))throw new Error("Cannot find square root");return l}}const i=(n+Oe)/Kn;return function(o,c){if(o.pow(c,e)===o.neg(o.ONE))throw new Error("Cannot find square root");let d=r,l=o.pow(o.mul(o.ONE,s),n),f=o.pow(c,i),m=o.pow(c,n);for(;!o.eql(m,o.ONE);){if(o.eql(m,o.ZERO))return o.ZERO;let b=1;for(let E=o.sqr(m);b<d&&!o.eql(E,o.ONE);b++)E=o.sqr(E);const w=o.pow(l,Oe<<BigInt(d-b-1));l=o.sqr(w),f=o.mul(f,w),m=o.mul(m,l),d=b}return f}}function Yy(t){if(t%yc===$y){const e=(t+Oe)/yc;return function(r,s){const i=r.pow(s,e);if(!r.eql(r.sqr(i),s))throw new Error("Cannot find square root");return i}}if(t%I0===v0){const e=(t-v0)/I0;return function(r,s){const i=r.mul(s,Kn),a=r.pow(i,e),o=r.mul(s,a),c=r.mul(r.mul(o,Kn),a),d=r.mul(o,r.sub(c,r.ONE));if(!r.eql(r.sqr(d),s))throw new Error("Cannot find square root");return d}}return Xy(t)}const Zy=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function e3(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},n=Zy.reduce((r,s)=>(r[s]="function",r),e);return oi(t,n)}function t3(t,e,n){if(n<qe)throw new Error("Expected power > 0");if(n===qe)return t.ONE;if(n===Oe)return e;let r=t.ONE,s=e;for(;n>qe;)n&Oe&&(r=t.mul(r,s)),s=t.sqr(s),n>>=Oe;return r}function n3(t,e){const n=new Array(e.length),r=e.reduce((i,a,o)=>t.is0(a)?i:(n[o]=i,t.mul(i,a)),t.ONE),s=t.inv(r);return e.reduceRight((i,a,o)=>t.is0(a)?i:(n[o]=t.mul(i,n[o]),t.mul(i,a)),s),n}function W1(t,e){const n=e!==void 0?e:t.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function r3(t,e,n=!1,r={}){if(t<=qe)throw new Error(`Expected Field ORDER > 0, got ${t}`);const{nBitLength:s,nByteLength:i}=W1(t,e);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");const a=Yy(t),o=Object.freeze({ORDER:t,BITS:s,BYTES:i,MASK:Ml(s),ZERO:qe,ONE:Oe,create:c=>ht(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return qe<=c&&c<t},is0:c=>c===qe,isOdd:c=>(c&Oe)===Oe,neg:c=>ht(-c,t),eql:(c,d)=>c===d,sqr:c=>ht(c*c,t),add:(c,d)=>ht(c+d,t),sub:(c,d)=>ht(c-d,t),mul:(c,d)=>ht(c*d,t),pow:(c,d)=>t3(o,c,d),div:(c,d)=>ht(c*Ac(d,t),t),sqrN:c=>c*c,addN:(c,d)=>c+d,subN:(c,d)=>c-d,mulN:(c,d)=>c*d,inv:c=>Ac(c,t),sqrt:r.sqrt||(c=>a(o,c)),invertBatch:c=>n3(o,c),cmov:(c,d,l)=>l?d:c,toBytes:c=>n?Ol(c,i):Zr(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return n?Rl(c):lr(c)}});return Object.freeze(o)}function H1(t){if(typeof t!="bigint")throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function z1(t){const e=H1(t);return e+Math.ceil(e/2)}function s3(t,e,n=!1){const r=t.length,s=H1(e),i=z1(e);if(r<16||r<i||r>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${r}`);const a=n?lr(t):Rl(t),o=ht(a,e-Oe)+Oe;return n?Ol(o,s):Zr(o,s)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const i3=BigInt(0),Co=BigInt(1);function a3(t,e){const n=(s,i)=>{const a=i.negate();return s?a:i},r=s=>{const i=Math.ceil(e/s)+1,a=2**(s-1);return{windows:i,windowSize:a}};return{constTimeNegate:n,unsafeLadder(s,i){let a=t.ZERO,o=s;for(;i>i3;)i&Co&&(a=a.add(o)),o=o.double(),i>>=Co;return a},precomputeWindow(s,i){const{windows:a,windowSize:o}=r(i),c=[];let d=s,l=d;for(let f=0;f<a;f++){l=d,c.push(l);for(let m=1;m<o;m++)l=l.add(d),c.push(l);d=l.double()}return c},wNAF(s,i,a){const{windows:o,windowSize:c}=r(s);let d=t.ZERO,l=t.BASE;const f=BigInt(2**s-1),m=2**s,b=BigInt(s);for(let w=0;w<o;w++){const E=w*c;let y=Number(a&f);a>>=b,y>c&&(y-=m,a+=Co);const p=E,x=E+Math.abs(y)-1,A=w%2!==0,S=y<0;y===0?l=l.add(n(A,i[p])):d=d.add(n(S,i[x]))}return{p:d,f:l}},wNAFCached(s,i,a,o){const c=s._WINDOW_SIZE||1;let d=i.get(s);return d||(d=this.precomputeWindow(s,c),c!==1&&i.set(s,o(d))),this.wNAF(c,d,a)}}}function G1(t){return e3(t.Fp),oi(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...W1(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function o3(t){const e=G1(t);oi(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a:s}=e;if(n){if(!r.eql(s,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof n!="object"||typeof n.beta!="bigint"||typeof n.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}const{bytesToNumberBE:c3,hexToBytes:l3}=Qy,er={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){const{Err:e}=er;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");const n=t[1],r=t.subarray(2,n+2);if(!n||r.length!==n)throw new e("Invalid signature integer: wrong length");if(r[0]&128)throw new e("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:c3(r),l:t.subarray(n+2)}},toSig(t){const{Err:e}=er,n=typeof t=="string"?l3(t):t;if(!(n instanceof Uint8Array))throw new Error("ui8a expected");let r=n.length;if(r<2||n[0]!=48)throw new e("Invalid signature tag");if(n[1]!==r-2)throw new e("Invalid signature: incorrect length");const{d:s,l:i}=er._parseInt(n.subarray(2)),{d:a,l:o}=er._parseInt(i);if(o.length)throw new e("Invalid signature: left bytes after parsing");return{r:s,s:a}},hexFromSig(t){const e=d=>Number.parseInt(d[0],16)&8?"00"+d:d,n=d=>{const l=d.toString(16);return l.length&1?`0${l}`:l},r=e(n(t.s)),s=e(n(t.r)),i=r.length/2,a=s.length/2,o=n(i),c=n(a);return`30${n(a+i+4)}02${c}${s}02${o}${r}`}},un=BigInt(0),Tt=BigInt(1);BigInt(2);const k0=BigInt(3);BigInt(4);function d3(t){const e=o3(t),{Fp:n}=e,r=e.toBytes||((w,E,y)=>{const p=E.toAffine();return Ws(Uint8Array.from([4]),n.toBytes(p.x),n.toBytes(p.y))}),s=e.fromBytes||(w=>{const E=w.subarray(1),y=n.fromBytes(E.subarray(0,n.BYTES)),p=n.fromBytes(E.subarray(n.BYTES,2*n.BYTES));return{x:y,y:p}});function i(w){const{a:E,b:y}=e,p=n.sqr(w),x=n.mul(p,w);return n.add(n.add(x,n.mul(w,E)),y)}if(!n.eql(n.sqr(e.Gy),i(e.Gx)))throw new Error("bad generator point: equation left != right");function a(w){return typeof w=="bigint"&&un<w&&w<e.n}function o(w){if(!a(w))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(w){const{allowedPrivateKeyLengths:E,nByteLength:y,wrapPrivateKey:p,n:x}=e;if(E&&typeof w!="bigint"){if(w instanceof Uint8Array&&(w=Xr(w)),typeof w!="string"||!E.includes(w.length))throw new Error("Invalid key");w=w.padStart(y*2,"0")}let A;try{A=typeof w=="bigint"?w:lr(Ut("private key",w,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof w}`)}return p&&(A=ht(A,x)),o(A),A}const d=new Map;function l(w){if(!(w instanceof f))throw new Error("ProjectivePoint expected")}class f{constructor(E,y,p){if(this.px=E,this.py=y,this.pz=p,E==null||!n.isValid(E))throw new Error("x required");if(y==null||!n.isValid(y))throw new Error("y required");if(p==null||!n.isValid(p))throw new Error("z required")}static fromAffine(E){const{x:y,y:p}=E||{};if(!E||!n.isValid(y)||!n.isValid(p))throw new Error("invalid affine point");if(E instanceof f)throw new Error("projective point not allowed");const x=A=>n.eql(A,n.ZERO);return x(y)&&x(p)?f.ZERO:new f(y,p,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(E){const y=n.invertBatch(E.map(p=>p.pz));return E.map((p,x)=>p.toAffine(y[x])).map(f.fromAffine)}static fromHex(E){const y=f.fromAffine(s(Ut("pointHex",E)));return y.assertValidity(),y}static fromPrivateKey(E){return f.BASE.multiply(c(E))}_setWindowSize(E){this._WINDOW_SIZE=E,d.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!n.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:E,y}=this.toAffine();if(!n.isValid(E)||!n.isValid(y))throw new Error("bad point: x or y not FE");const p=n.sqr(y),x=i(E);if(!n.eql(p,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:E}=this.toAffine();if(n.isOdd)return!n.isOdd(E);throw new Error("Field doesn't support isOdd")}equals(E){l(E);const{px:y,py:p,pz:x}=this,{px:A,py:S,pz:T}=E,U=n.eql(n.mul(y,T),n.mul(A,x)),R=n.eql(n.mul(p,T),n.mul(S,x));return U&&R}negate(){return new f(this.px,n.neg(this.py),this.pz)}double(){const{a:E,b:y}=e,p=n.mul(y,k0),{px:x,py:A,pz:S}=this;let T=n.ZERO,U=n.ZERO,R=n.ZERO,v=n.mul(x,x),M=n.mul(A,A),V=n.mul(S,S),Q=n.mul(x,A);return Q=n.add(Q,Q),R=n.mul(x,S),R=n.add(R,R),T=n.mul(E,R),U=n.mul(p,V),U=n.add(T,U),T=n.sub(M,U),U=n.add(M,U),U=n.mul(T,U),T=n.mul(Q,T),R=n.mul(p,R),V=n.mul(E,V),Q=n.sub(v,V),Q=n.mul(E,Q),Q=n.add(Q,R),R=n.add(v,v),v=n.add(R,v),v=n.add(v,V),v=n.mul(v,Q),U=n.add(U,v),V=n.mul(A,S),V=n.add(V,V),v=n.mul(V,Q),T=n.sub(T,v),R=n.mul(V,M),R=n.add(R,R),R=n.add(R,R),new f(T,U,R)}add(E){l(E);const{px:y,py:p,pz:x}=this,{px:A,py:S,pz:T}=E;let U=n.ZERO,R=n.ZERO,v=n.ZERO;const M=e.a,V=n.mul(e.b,k0);let Q=n.mul(y,A),q=n.mul(p,S),N=n.mul(x,T),O=n.add(y,p),C=n.add(A,S);O=n.mul(O,C),C=n.add(Q,q),O=n.sub(O,C),C=n.add(y,x);let k=n.add(A,T);return C=n.mul(C,k),k=n.add(Q,N),C=n.sub(C,k),k=n.add(p,x),U=n.add(S,T),k=n.mul(k,U),U=n.add(q,N),k=n.sub(k,U),v=n.mul(M,C),U=n.mul(V,N),v=n.add(U,v),U=n.sub(q,v),v=n.add(q,v),R=n.mul(U,v),q=n.add(Q,Q),q=n.add(q,Q),N=n.mul(M,N),C=n.mul(V,C),q=n.add(q,N),N=n.sub(Q,N),N=n.mul(M,N),C=n.add(C,N),Q=n.mul(q,C),R=n.add(R,Q),Q=n.mul(k,C),U=n.mul(O,U),U=n.sub(U,Q),Q=n.mul(O,q),v=n.mul(k,v),v=n.add(v,Q),new f(U,R,v)}subtract(E){return this.add(E.negate())}is0(){return this.equals(f.ZERO)}wNAF(E){return b.wNAFCached(this,d,E,y=>{const p=n.invertBatch(y.map(x=>x.pz));return y.map((x,A)=>x.toAffine(p[A])).map(f.fromAffine)})}multiplyUnsafe(E){const y=f.ZERO;if(E===un)return y;if(o(E),E===Tt)return this;const{endo:p}=e;if(!p)return b.unsafeLadder(this,E);let{k1neg:x,k1:A,k2neg:S,k2:T}=p.splitScalar(E),U=y,R=y,v=this;for(;A>un||T>un;)A&Tt&&(U=U.add(v)),T&Tt&&(R=R.add(v)),v=v.double(),A>>=Tt,T>>=Tt;return x&&(U=U.negate()),S&&(R=R.negate()),R=new f(n.mul(R.px,p.beta),R.py,R.pz),U.add(R)}multiply(E){o(E);let y=E,p,x;const{endo:A}=e;if(A){const{k1neg:S,k1:T,k2neg:U,k2:R}=A.splitScalar(y);let{p:v,f:M}=this.wNAF(T),{p:V,f:Q}=this.wNAF(R);v=b.constTimeNegate(S,v),V=b.constTimeNegate(U,V),V=new f(n.mul(V.px,A.beta),V.py,V.pz),p=v.add(V),x=M.add(Q)}else{const{p:S,f:T}=this.wNAF(y);p=S,x=T}return f.normalizeZ([p,x])[0]}multiplyAndAddUnsafe(E,y,p){const x=f.BASE,A=(T,U)=>U===un||U===Tt||!T.equals(x)?T.multiplyUnsafe(U):T.multiply(U),S=A(this,y).add(A(E,p));return S.is0()?void 0:S}toAffine(E){const{px:y,py:p,pz:x}=this,A=this.is0();E==null&&(E=A?n.ONE:n.inv(x));const S=n.mul(y,E),T=n.mul(p,E),U=n.mul(x,E);if(A)return{x:n.ZERO,y:n.ZERO};if(!n.eql(U,n.ONE))throw new Error("invZ was invalid");return{x:S,y:T}}isTorsionFree(){const{h:E,isTorsionFree:y}=e;if(E===Tt)return!0;if(y)return y(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:E,clearCofactor:y}=e;return E===Tt?this:y?y(f,this):this.multiplyUnsafe(e.h)}toRawBytes(E=!0){return this.assertValidity(),r(f,this,E)}toHex(E=!0){return Xr(this.toRawBytes(E))}}f.BASE=new f(e.Gx,e.Gy,n.ONE),f.ZERO=new f(n.ZERO,n.ONE,n.ZERO);const m=e.nBitLength,b=a3(f,e.endo?Math.ceil(m/2):m);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:a}}function u3(t){const e=G1(t);return oi(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function f3(t){const e=u3(t),{Fp:n,n:r}=e,s=n.BYTES+1,i=2*n.BYTES+1;function a(C){return un<C&&C<n.ORDER}function o(C){return ht(C,r)}function c(C){return Ac(C,r)}const{ProjectivePoint:d,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:m}=d3({...e,toBytes(C,k,H){const G=k.toAffine(),z=n.toBytes(G.x),j=Ws;return H?j(Uint8Array.from([k.hasEvenY()?2:3]),z):j(Uint8Array.from([4]),z,n.toBytes(G.y))},fromBytes(C){const k=C.length,H=C[0],G=C.subarray(1);if(k===s&&(H===2||H===3)){const z=lr(G);if(!a(z))throw new Error("Point is not on curve");const j=f(z);let J=n.sqrt(j);const Y=(J&Tt)===Tt;return(H&1)===1!==Y&&(J=n.neg(J)),{x:z,y:J}}else if(k===i&&H===4){const z=n.fromBytes(G.subarray(0,n.BYTES)),j=n.fromBytes(G.subarray(n.BYTES,2*n.BYTES));return{x:z,y:j}}else throw new Error(`Point of length ${k} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}}),b=C=>Xr(Zr(C,e.nByteLength));function w(C){const k=r>>Tt;return C>k}function E(C){return w(C)?o(-C):C}const y=(C,k,H)=>lr(C.slice(k,H));class p{constructor(k,H,G){this.r=k,this.s=H,this.recovery=G,this.assertValidity()}static fromCompact(k){const H=e.nByteLength;return k=Ut("compactSignature",k,H*2),new p(y(k,0,H),y(k,H,2*H))}static fromDER(k){const{r:H,s:G}=er.toSig(Ut("DER",k));return new p(H,G)}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(k){return new p(this.r,this.s,k)}recoverPublicKey(k){const{r:H,s:G,recovery:z}=this,j=R(Ut("msgHash",k));if(z==null||![0,1,2,3].includes(z))throw new Error("recovery id invalid");const J=z===2||z===3?H+e.n:H;if(J>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const Y=(z&1)===0?"02":"03",me=d.fromHex(Y+b(J)),Z=c(J),_=o(-j*Z),te=o(G*Z),le=d.BASE.multiplyAndAddUnsafe(me,_,te);if(!le)throw new Error("point at infinify");return le.assertValidity(),le}hasHighS(){return w(this.s)}normalizeS(){return this.hasHighS()?new p(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return Yr(this.toDERHex())}toDERHex(){return er.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Yr(this.toCompactHex())}toCompactHex(){return b(this.r)+b(this.s)}}const x={isValidPrivateKey(C){try{return l(C),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{const C=z1(e.n);return s3(e.randomBytes(C),e.n)},precompute(C=8,k=d.BASE){return k._setWindowSize(C),k.multiply(BigInt(3)),k}};function A(C,k=!0){return d.fromPrivateKey(C).toRawBytes(k)}function S(C){const k=C instanceof Uint8Array,H=typeof C=="string",G=(k||H)&&C.length;return k?G===s||G===i:H?G===2*s||G===2*i:C instanceof d}function T(C,k,H=!0){if(S(C))throw new Error("first arg must be private key");if(!S(k))throw new Error("second arg must be public key");return d.fromHex(k).multiply(l(C)).toRawBytes(H)}const U=e.bits2int||function(C){const k=lr(C),H=C.length*8-e.nBitLength;return H>0?k>>BigInt(H):k},R=e.bits2int_modN||function(C){return o(U(C))},v=Ml(e.nBitLength);function M(C){if(typeof C!="bigint")throw new Error("bigint expected");if(!(un<=C&&C<v))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Zr(C,e.nByteLength)}function V(C,k,H=Q){if(["recovered","canonical"].some(oe=>oe in H))throw new Error("sign() legacy options not supported");const{hash:G,randomBytes:z}=e;let{lowS:j,prehash:J,extraEntropy:Y}=H;j==null&&(j=!0),C=Ut("msgHash",C),J&&(C=Ut("prehashed msgHash",G(C)));const me=R(C),Z=l(k),_=[M(Z),M(me)];if(Y!=null){const oe=Y===!0?z(n.BYTES):Y;_.push(Ut("extraEntropy",oe))}const te=Ws(..._),le=me;function ge(oe){const ye=U(oe);if(!m(ye))return;const Ke=c(ye),He=d.BASE.multiply(ye).toAffine(),ot=o(He.x);if(ot===un)return;const Dr=o(Ke*o(le+ot*Z));if(Dr===un)return;let hs=(He.x===ot?0:2)|Number(He.y&Tt),rn=Dr;return j&&w(Dr)&&(rn=E(Dr),hs^=1),new p(ot,rn,hs)}return{seed:te,k2sig:ge}}const Q={lowS:e.lowS,prehash:!1},q={lowS:e.lowS,prehash:!1};function N(C,k,H=Q){const{seed:G,k2sig:z}=V(C,k,H),j=e;return L1(j.hash.outputLen,j.nByteLength,j.hmac)(G,z)}d.BASE._setWindowSize(8);function O(C,k,H,G=q){const z=C;if(k=Ut("msgHash",k),H=Ut("publicKey",H),"strict"in G)throw new Error("options.strict was renamed to lowS");const{lowS:j,prehash:J}=G;let Y,me;try{if(typeof z=="string"||z instanceof Uint8Array)try{Y=p.fromDER(z)}catch(He){if(!(He instanceof er.Err))throw He;Y=p.fromCompact(z)}else if(typeof z=="object"&&typeof z.r=="bigint"&&typeof z.s=="bigint"){const{r:He,s:ot}=z;Y=new p(He,ot)}else throw new Error("PARSE");me=d.fromHex(H)}catch(He){if(He.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(j&&Y.hasHighS())return!1;J&&(k=e.hash(k));const{r:Z,s:_}=Y,te=R(k),le=c(_),ge=o(te*le),oe=o(Z*le),ye=d.BASE.multiplyAndAddUnsafe(me,ge,oe)?.toAffine();return ye?o(ye.x)===Z:!1}return{CURVE:e,getPublicKey:A,getSharedSecret:T,sign:N,verify:O,ProjectivePoint:d,Signature:p,utils:x}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function h3(t){return{hash:t,hmac:(e,...n)=>qa(t,e,$5(...n)),randomBytes:X5}}function m3(t,e){const n=r=>f3({...t,...h3(r)});return Object.freeze({...n(e),create:n})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const V1=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),U0=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),b3=BigInt(1),Ec=BigInt(2),P0=(t,e)=>(t+e/Ec)/e;function p3(t){const e=V1,n=BigInt(3),r=BigInt(6),s=BigInt(11),i=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),d=t*t*t%e,l=d*d*t%e,f=Dt(l,n,e)*l%e,m=Dt(f,n,e)*l%e,b=Dt(m,Ec,e)*d%e,w=Dt(b,s,e)*b%e,E=Dt(w,i,e)*w%e,y=Dt(E,o,e)*E%e,p=Dt(y,c,e)*y%e,x=Dt(p,o,e)*E%e,A=Dt(x,n,e)*l%e,S=Dt(A,a,e)*w%e,T=Dt(S,r,e)*d%e,U=Dt(T,Ec,e);if(!wc.eql(wc.sqr(U),t))throw new Error("Cannot find square root");return U}const wc=r3(V1,void 0,void 0,{sqrt:p3}),Pn=m3({a:BigInt(0),b:BigInt(7),Fp:wc,n:U0,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{const e=U0,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-b3*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=n,a=BigInt("0x100000000000000000000000000000000"),o=P0(i*t,e),c=P0(-r*t,e);let d=ht(t-o*n-c*s,e),l=ht(-o*r-c*i,e);const f=d>a,m=l>a;if(f&&(d=e-d),m&&(l=e-l),d>a||l>a)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:f,k1:d,k2neg:m,k2:l}}}},ai);BigInt(0);Pn.ProjectivePoint;const es="0x0000000000000000000000000000000000000000",N0="0x0000000000000000000000000000000000000000000000000000000000000000",R0=BigInt(0),O0=BigInt(1),M0=BigInt(2),L0=BigInt(27),W0=BigInt(28),xi=BigInt(35),Tr={};function H0(t){return Wn(st(t),32)}class Ge{#e;#t;#n;#r;get r(){return this.#e}set r(e){D(cr(e)===32,"invalid r","value",e),this.#e=K(e)}get s(){return this.#t}set s(e){D(cr(e)===32,"invalid s","value",e);const n=K(e);D(parseInt(n.substring(0,3))<8,"non-canonical s","value",n),this.#t=n}get v(){return this.#n}set v(e){const n=ae(e,"value");D(n===27||n===28,"invalid v","v",e),this.#n=n}get networkV(){return this.#r}get legacyChainId(){const e=this.networkV;return e==null?null:Ge.getChainId(e)}get yParity(){return this.v===27?0:1}get yParityAndS(){const e=ce(this.s);return this.yParity&&(e[0]|=128),K(e)}get compactSerialized(){return De([this.r,this.yParityAndS])}get serialized(){return De([this.r,this.s,this.yParity?"0x1c":"0x1b"])}constructor(e,n,r,s){ii(e,Tr,"Signature"),this.#e=n,this.#t=r,this.#n=s,this.#r=null}[Symbol.for("nodejs.util.inspect.custom")](){return`Signature { r: "${this.r}", s: "${this.s}", yParity: ${this.yParity}, networkV: ${this.networkV} }`}clone(){const e=new Ge(Tr,this.r,this.s,this.v);return this.networkV&&(e.#r=this.networkV),e}toJSON(){const e=this.networkV;return{_type:"signature",networkV:e!=null?e.toString():null,r:this.r,s:this.s,v:this.v}}static getChainId(e){const n=X(e,"v");return n==L0||n==W0?R0:(D(n>=xi,"invalid EIP-155 v","v",e),(n-xi)/M0)}static getChainIdV(e,n){return X(e)*M0+BigInt(35+n-27)}static getNormalizedV(e){const n=X(e);return n===R0||n===L0?27:n===O0||n===W0?28:(D(n>=xi,"invalid v","v",e),n&O0?27:28)}static from(e){function n(d,l){D(d,l,"signature",e)}if(e==null)return new Ge(Tr,N0,N0,27);if(typeof e=="string"){const d=ce(e,"signature");if(d.length===64){const l=K(d.slice(0,32)),f=d.slice(32,64),m=f[0]&128?28:27;return f[0]&=127,new Ge(Tr,l,K(f),m)}if(d.length===65){const l=K(d.slice(0,32)),f=d.slice(32,64);n((f[0]&128)===0,"non-canonical s");const m=Ge.getNormalizedV(d[64]);return new Ge(Tr,l,K(f),m)}n(!1,"invalid raw signature length")}if(e instanceof Ge)return e.clone();const r=e.r;n(r!=null,"missing r");const s=H0(r),i=(function(d,l){if(d!=null)return H0(d);if(l!=null){n(Ee(l,32),"invalid yParityAndS");const f=ce(l);return f[0]&=127,K(f)}n(!1,"missing s")})(e.s,e.yParityAndS);n((ce(i)[0]&128)==0,"non-canonical s");const{networkV:a,v:o}=(function(d,l,f){if(d!=null){const m=X(d);return{networkV:m>=xi?m:void 0,v:Ge.getNormalizedV(m)}}if(l!=null)return n(Ee(l,32),"invalid yParityAndS"),{v:ce(l)[0]&128?28:27};if(f!=null){switch(ae(f,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}n(!1,"invalid yParity")}n(!1,"missing v")})(e.v,e.yParityAndS,e.yParity),c=new Ge(Tr,s,i,o);return a&&(c.#r=a),n(e.yParity==null||ae(e.yParity,"sig.yParity")===c.yParity,"yParity mismatch"),n(e.yParityAndS==null||e.yParityAndS===c.yParityAndS,"yParityAndS mismatch"),c}}class Xt{#e;constructor(e){D(cr(e)===32,"invalid private key","privateKey","[REDACTED]"),this.#e=K(e)}get privateKey(){return this.#e}get publicKey(){return Xt.computePublicKey(this.#e)}get compressedPublicKey(){return Xt.computePublicKey(this.#e,!0)}sign(e){D(cr(e)===32,"invalid digest length","digest",e);const n=Pn.sign(rt(e),rt(this.#e),{lowS:!0});return Ge.from({r:An(n.r,32),s:An(n.s,32),v:n.recovery?28:27})}computeSharedSecret(e){const n=Xt.computePublicKey(e);return K(Pn.getSharedSecret(rt(this.#e),ce(n),!1))}static computePublicKey(e,n){let r=ce(e,"key");if(r.length===32){const i=Pn.getPublicKey(r,!!n);return K(i)}if(r.length===64){const i=new Uint8Array(65);i[0]=4,i.set(r,1),r=i}const s=Pn.ProjectivePoint.fromHex(r);return K(s.toRawBytes(n))}static recoverPublicKey(e,n){D(cr(e)===32,"invalid digest length","digest",e);const r=Ge.from(n);let s=Pn.Signature.fromCompact(rt(De([r.r,r.s])));s=s.addRecoveryBit(r.yParity);const i=s.recoverPublicKey(rt(e));return D(i!=null,"invalid signautre for digest","signature",n),"0x"+i.toHex(!1)}static addPoints(e,n,r){const s=Pn.ProjectivePoint.fromHex(Xt.computePublicKey(e).substring(2)),i=Pn.ProjectivePoint.fromHex(Xt.computePublicKey(n).substring(2));return"0x"+s.add(i).toHex(!!r)}}const g3=BigInt(0),y3=BigInt(36);function z0(t){t=t.toLowerCase();const e=t.substring(2).split(""),n=new Uint8Array(40);for(let s=0;s<40;s++)n[s]=e[s].charCodeAt(0);const r=ce(Ne(n));for(let s=0;s<40;s+=2)r[s>>1]>>4>=8&&(e[s]=e[s].toUpperCase()),(r[s>>1]&15)>=8&&(e[s+1]=e[s+1].toUpperCase());return"0x"+e.join("")}const Ll={};for(let t=0;t<10;t++)Ll[String(t)]=String(t);for(let t=0;t<26;t++)Ll[String.fromCharCode(65+t)]=String(10+t);const G0=15;function A3(t){t=t.toUpperCase(),t=t.substring(4)+t.substring(0,2)+"00";let e=t.split("").map(r=>Ll[r]).join("");for(;e.length>=G0;){let r=e.substring(0,G0);e=parseInt(r,10)%97+e.substring(r.length)}let n=String(98-parseInt(e,10)%97);for(;n.length<2;)n="0"+n;return n}const E3=(function(){const t={};for(let e=0;e<36;e++){const n="0123456789abcdefghijklmnopqrstuvwxyz"[e];t[n]=BigInt(e)}return t})();function w3(t){t=t.toLowerCase();let e=g3;for(let n=0;n<t.length;n++)e=e*y3+E3[t[n]];return e}function fe(t){if(D(typeof t=="string","invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/)){t.startsWith("0x")||(t="0x"+t);const e=z0(t);return D(!t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||e===t,"bad address checksum","address",t),e}if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){D(t.substring(2,4)===A3(t),"bad icap checksum","address",t);let e=w3(t.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return z0("0x"+e)}D(!1,"invalid address","address",t)}function _1(t){const e=fe(t.from);let r=X(t.nonce,"tx.nonce").toString(16);return r==="0"?r="0x":r.length%2?r="0x0"+r:r="0x"+r,fe(xe(Ne(gr([e,r])),12))}function B3(t,e,n){const r=fe(t),s=ce(e,"salt"),i=ce(n,"initCodeHash");return D(s.length===32,"salt must be 32 bytes","salt",e),D(i.length===32,"initCodeHash must be 32 bytes","initCodeHash",n),fe(xe(Ne(De(["0xff",r,s,i])),12))}function j1(t){return t&&typeof t.getAddress=="function"}function C3(t){try{return fe(t),!0}catch{}return!1}async function xo(t,e){const n=await e;return(n==null||n==="0x0000000000000000000000000000000000000000")&&(W(typeof t!="string","unconfigured name","UNCONFIGURED_NAME",{value:t}),D(!1,"invalid AddressLike value; did not resolve to a value address","target",t)),fe(n)}function it(t,e){if(typeof t=="string")return t.match(/^0x[0-9a-f]{40}$/i)?fe(t):(W(e!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),xo(t,e.resolveName(t)));if(j1(t))return xo(t,t.getAddress());if(t&&typeof t.then=="function")return xo(t,t);D(!1,"unsupported addressable value","target",t)}const an={};function $(t,e){let n=!1;return e<0&&(n=!0,e*=-1),new Pe(an,`${n?"":"u"}int${e}`,t,{signed:n,width:e})}function be(t,e){return new Pe(an,`bytes${e||""}`,t,{size:e})}const V0=Symbol.for("_ethers_typed");class Pe{type;value;#e;_typedSymbol;constructor(e,n,r,s){s==null&&(s=null),ii(an,e,"Typed"),ee(this,{_typedSymbol:V0,type:n,value:r}),this.#e=s,this.format()}format(){if(this.type==="array")throw new Error("");if(this.type==="dynamicArray")throw new Error("");return this.type==="tuple"?`tuple(${this.value.map(e=>e.format()).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return this.type==="string"}get tupleName(){if(this.type!=="tuple")throw TypeError("not a tuple");return this.#e}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return this.#e===!0?-1:this.#e===!1?this.value.length:null}static from(e,n){return new Pe(an,e,n)}static uint8(e){return $(e,8)}static uint16(e){return $(e,16)}static uint24(e){return $(e,24)}static uint32(e){return $(e,32)}static uint40(e){return $(e,40)}static uint48(e){return $(e,48)}static uint56(e){return $(e,56)}static uint64(e){return $(e,64)}static uint72(e){return $(e,72)}static uint80(e){return $(e,80)}static uint88(e){return $(e,88)}static uint96(e){return $(e,96)}static uint104(e){return $(e,104)}static uint112(e){return $(e,112)}static uint120(e){return $(e,120)}static uint128(e){return $(e,128)}static uint136(e){return $(e,136)}static uint144(e){return $(e,144)}static uint152(e){return $(e,152)}static uint160(e){return $(e,160)}static uint168(e){return $(e,168)}static uint176(e){return $(e,176)}static uint184(e){return $(e,184)}static uint192(e){return $(e,192)}static uint200(e){return $(e,200)}static uint208(e){return $(e,208)}static uint216(e){return $(e,216)}static uint224(e){return $(e,224)}static uint232(e){return $(e,232)}static uint240(e){return $(e,240)}static uint248(e){return $(e,248)}static uint256(e){return $(e,256)}static uint(e){return $(e,256)}static int8(e){return $(e,-8)}static int16(e){return $(e,-16)}static int24(e){return $(e,-24)}static int32(e){return $(e,-32)}static int40(e){return $(e,-40)}static int48(e){return $(e,-48)}static int56(e){return $(e,-56)}static int64(e){return $(e,-64)}static int72(e){return $(e,-72)}static int80(e){return $(e,-80)}static int88(e){return $(e,-88)}static int96(e){return $(e,-96)}static int104(e){return $(e,-104)}static int112(e){return $(e,-112)}static int120(e){return $(e,-120)}static int128(e){return $(e,-128)}static int136(e){return $(e,-136)}static int144(e){return $(e,-144)}static int152(e){return $(e,-152)}static int160(e){return $(e,-160)}static int168(e){return $(e,-168)}static int176(e){return $(e,-176)}static int184(e){return $(e,-184)}static int192(e){return $(e,-192)}static int200(e){return $(e,-200)}static int208(e){return $(e,-208)}static int216(e){return $(e,-216)}static int224(e){return $(e,-224)}static int232(e){return $(e,-232)}static int240(e){return $(e,-240)}static int248(e){return $(e,-248)}static int256(e){return $(e,-256)}static int(e){return $(e,-256)}static bytes1(e){return be(e,1)}static bytes2(e){return be(e,2)}static bytes3(e){return be(e,3)}static bytes4(e){return be(e,4)}static bytes5(e){return be(e,5)}static bytes6(e){return be(e,6)}static bytes7(e){return be(e,7)}static bytes8(e){return be(e,8)}static bytes9(e){return be(e,9)}static bytes10(e){return be(e,10)}static bytes11(e){return be(e,11)}static bytes12(e){return be(e,12)}static bytes13(e){return be(e,13)}static bytes14(e){return be(e,14)}static bytes15(e){return be(e,15)}static bytes16(e){return be(e,16)}static bytes17(e){return be(e,17)}static bytes18(e){return be(e,18)}static bytes19(e){return be(e,19)}static bytes20(e){return be(e,20)}static bytes21(e){return be(e,21)}static bytes22(e){return be(e,22)}static bytes23(e){return be(e,23)}static bytes24(e){return be(e,24)}static bytes25(e){return be(e,25)}static bytes26(e){return be(e,26)}static bytes27(e){return be(e,27)}static bytes28(e){return be(e,28)}static bytes29(e){return be(e,29)}static bytes30(e){return be(e,30)}static bytes31(e){return be(e,31)}static bytes32(e){return be(e,32)}static address(e){return new Pe(an,"address",e)}static bool(e){return new Pe(an,"bool",!!e)}static bytes(e){return new Pe(an,"bytes",e)}static string(e){return new Pe(an,"string",e)}static array(e,n){throw new Error("not implemented yet")}static tuple(e,n){throw new Error("not implemented yet")}static overrides(e){return new Pe(an,"overrides",Object.assign({},e))}static isTyped(e){return e&&typeof e=="object"&&"_typedSymbol"in e&&e._typedSymbol===V0}static dereference(e,n){if(Pe.isTyped(e)){if(e.type!==n)throw new Error(`invalid type: expecetd ${n}, got ${e.type}`);return e.value}return e}}class x3 extends Cn{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,n){let r=Pe.dereference(n,"string");try{r=fe(r)}catch(s){return this._throwError(s.message,n)}return e.writeValue(r)}decode(e){return fe(An(e.readValue(),20))}}class D3 extends Cn{coder;constructor(e){super(e.name,e.type,"_",e.dynamic),this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,n){return this.coder.encode(e,n)}decode(e){return this.coder.decode(e)}}function q1(t,e,n){let r=[];if(Array.isArray(n))r=n;else if(n&&typeof n=="object"){let c={};r=e.map(d=>{const l=d.localName;return W(l,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:d},value:n}),W(!c[l],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:d},value:n}),c[l]=!0,n[l]})}else D(!1,"invalid tuple value","tuple",n);D(e.length===r.length,"types/value length mismatch","tuple",n);let s=new pc,i=new pc,a=[];e.forEach((c,d)=>{let l=r[d];if(c.dynamic){let f=i.length;c.encode(i,l);let m=s.writeUpdatableValue();a.push(b=>{m(b+f)})}else c.encode(s,l)}),a.forEach(c=>{c(s.length)});let o=t.appendWriter(s);return o+=t.appendWriter(i),o}function K1(t,e){let n=[],r=[],s=t.subReader(0);return e.forEach(i=>{let a=null;if(i.dynamic){let o=t.readIndex(),c=s.subReader(o);try{a=i.decode(c)}catch(d){if(Je(d,"BUFFER_OVERRUN"))throw d;a=d,a.baseType=i.name,a.name=i.localName,a.type=i.type}}else try{a=i.decode(t)}catch(o){if(Je(o,"BUFFER_OVERRUN"))throw o;a=o,a.baseType=i.name,a.name=i.localName,a.type=i.type}if(a==null)throw new Error("investigate");n.push(a),r.push(i.localName||null)}),mn.fromItems(n,r)}class F3 extends Cn{coder;length;constructor(e,n,r){const s=e.type+"["+(n>=0?n:"")+"]",i=n===-1||e.dynamic;super("array",s,r,i),ee(this,{coder:e,length:n})}defaultValue(){const e=this.coder.defaultValue(),n=[];for(let r=0;r<this.length;r++)n.push(e);return n}encode(e,n){const r=Pe.dereference(n,"array");Array.isArray(r)||this._throwError("expected array value",r);let s=this.length;s===-1&&(s=r.length,e.writeValue(r.length)),Yh(r.length,s,"coder array"+(this.localName?" "+this.localName:""));let i=[];for(let a=0;a<r.length;a++)i.push(this.coder);return q1(e,i,r)}decode(e){let n=this.length;n===-1&&(n=e.readIndex(),W(n*lt<=e.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:e.bytes,offset:n*lt,length:e.dataLength}));let r=[];for(let s=0;s<n;s++)r.push(new D3(this.coder));return K1(e,r)}}class S3 extends Cn{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,n){const r=Pe.dereference(n,"bool");return e.writeValue(r?1:0)}decode(e){return!!e.readValue()}}class Q1 extends Cn{constructor(e,n){super(e,e,n,!0)}defaultValue(){return"0x"}encode(e,n){n=rt(n);let r=e.writeValue(n.length);return r+=e.writeBytes(n),r}decode(e){return e.readBytes(e.readIndex(),!0)}}class T3 extends Q1{constructor(e){super("bytes",e)}decode(e){return K(super.decode(e))}}class v3 extends Cn{size;constructor(e,n){let r="bytes"+String(e);super(r,r,n,!1),ee(this,{size:e},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(e,n){let r=rt(Pe.dereference(n,this.type));return r.length!==this.size&&this._throwError("incorrect data length",n),e.writeBytes(r)}decode(e){return K(e.readBytes(this.size))}}const I3=new Uint8Array([]);class k3 extends Cn{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,n){return n!=null&&this._throwError("not null",n),e.writeBytes(I3)}decode(e){return e.readBytes(0),null}}const U3=BigInt(0),P3=BigInt(1),N3=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class R3 extends Cn{size;signed;constructor(e,n,r){const s=(n?"int":"uint")+e*8;super(s,s,r,!1),ee(this,{size:e,signed:n},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(e,n){let r=X(Pe.dereference(n,this.type)),s=Or(N3,lt*8);if(this.signed){let i=Or(s,this.size*8-1);(r>i||r<-(i+P3))&&this._throwError("value out-of-bounds",n),r=Sl(r,8*lt)}else(r<U3||r>Or(s,this.size*8))&&this._throwError("value out-of-bounds",n);return e.writeValue(r)}decode(e){let n=Or(e.readValue(),this.size*8);return this.signed&&(n=r1(n,this.size*8)),n}}class O3 extends Q1{constructor(e){super("string",e)}defaultValue(){return""}encode(e,n){return super.encode(e,tn(Pe.dereference(n,"string")))}decode(e){return fa(super.decode(e))}}class Di extends Cn{coders;constructor(e,n){let r=!1;const s=[];e.forEach(a=>{a.dynamic&&(r=!0),s.push(a.type)});const i="tuple("+s.join(",")+")";super("tuple",i,n,r),ee(this,{coders:Object.freeze(e.slice())})}defaultValue(){const e=[];this.coders.forEach(r=>{e.push(r.defaultValue())});const n=this.coders.reduce((r,s)=>{const i=s.localName;return i&&(r[i]||(r[i]=0),r[i]++),r},{});return this.coders.forEach((r,s)=>{let i=r.localName;!i||n[i]!==1||(i==="length"&&(i="_length"),e[i]==null&&(e[i]=e[s]))}),Object.freeze(e)}encode(e,n){const r=Pe.dereference(n,"tuple");return q1(e,this.coders,r)}decode(e){return K1(e,this.coders)}}function Hn(t){return Ne(tn(t))}var M3="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";const _0=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]),j0=4;function L3(t){let e=0;function n(){return t[e++]<<8|t[e++]}let r=n(),s=1,i=[0,1];for(let T=1;T<r;T++)i.push(s+=n());let a=n(),o=e;e+=a;let c=0,d=0;function l(){return c==0&&(d=d<<8|t[e++],c=8),d>>--c&1}const f=31,m=2**f,b=m>>>1,w=b>>1,E=m-1;let y=0;for(let T=0;T<f;T++)y=y<<1|l();let p=[],x=0,A=m;for(;;){let T=Math.floor(((y-x+1)*s-1)/A),U=0,R=r;for(;R-U>1;){let V=U+R>>>1;T<i[V]?R=V:U=V}if(U==0)break;p.push(U);let v=x+Math.floor(A*i[U]/s),M=x+Math.floor(A*i[U+1]/s)-1;for(;((v^M)&b)==0;)y=y<<1&E|l(),v=v<<1&E,M=M<<1&E|1;for(;v&~M&w;)y=y&b|y<<1&E>>>1|l(),v=v<<1^b,M=(M^b)<<1|b|1;x=v,A=1+M-v}let S=r-4;return p.map(T=>{switch(T-S){case 3:return S+65792+(t[o++]<<16|t[o++]<<8|t[o++]);case 2:return S+256+(t[o++]<<8|t[o++]);case 1:return S+t[o++];default:return T-1}})}function W3(t){let e=0;return()=>t[e++]}function $1(t){return W3(L3(H3(t)))}function H3(t){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((s,i)=>e[s.charCodeAt(0)]=i);let n=t.length,r=new Uint8Array(6*n>>3);for(let s=0,i=0,a=0,o=0;s<n;s++)o=o<<6|e[t.charCodeAt(s)],a+=6,a>=8&&(r[i++]=o>>(a-=8));return r}function z3(t){return t&1?~t>>1:t>>1}function G3(t,e){let n=Array(t);for(let r=0,s=0;r<t;r++)n[r]=s+=z3(e());return n}function Hs(t,e=0){let n=[];for(;;){let r=t(),s=t();if(!s)break;e+=r;for(let i=0;i<s;i++)n.push(e+i);e+=s+1}return n}function J1(t){return zs(()=>{let e=Hs(t);if(e.length)return e})}function X1(t){let e=[];for(;;){let n=t();if(n==0)break;e.push(V3(n,t))}for(;;){let n=t()-1;if(n<0)break;e.push(_3(n,t))}return e.flat()}function zs(t){let e=[];for(;;){let n=t(e.length);if(!n)break;e.push(n)}return e}function Y1(t,e,n){let r=Array(t).fill().map(()=>[]);for(let s=0;s<e;s++)G3(t,n).forEach((i,a)=>r[a].push(i));return r}function V3(t,e){let n=1+e(),r=e(),s=zs(e);return Y1(s.length,1+t,e).flatMap((a,o)=>{let[c,...d]=a;return Array(s[o]).fill().map((l,f)=>{let m=f*r;return[c+f*n,d.map(b=>b+m)]})})}function _3(t,e){let n=1+e();return Y1(n,1+t,e).map(s=>[s[0],s.slice(1)])}function j3(t){let e=[],n=Hs(t);return s(r([]),[]),e;function r(i){let a=t(),o=zs(()=>{let c=Hs(t).map(d=>n[d]);if(c.length)return r(c)});return{S:a,B:o,Q:i}}function s({S:i,B:a},o,c){if(!(i&4&&c===o[o.length-1])){i&2&&(c=o[o.length-1]),i&1&&e.push(o);for(let d of a)for(let l of d.Q)s(d,[...o,l],c)}}}function q3(t){return t.toString(16).toUpperCase().padStart(2,"0")}function Z1(t){return`{${q3(t)}}`}function K3(t){let e=[];for(let n=0,r=t.length;n<r;){let s=t.codePointAt(n);n+=s<65536?1:2,e.push(s)}return e}function ts(t){let n=t.length;if(n<4096)return String.fromCodePoint(...t);let r=[];for(let s=0;s<n;)r.push(String.fromCodePoint(...t.slice(s,s+=4096)));return r.join("")}function Q3(t,e){let n=t.length,r=n-e.length;for(let s=0;r==0&&s<n;s++)r=t[s]-e[s];return r}var $3="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";const Gs=44032,ha=4352,ma=4449,ba=4519,em=19,tm=21,ns=28,pa=tm*ns,J3=em*pa,X3=Gs+J3,Y3=ha+em,Z3=ma+tm,e4=ba+ns;function xs(t){return t>>24&255}function nm(t){return t&16777215}let Bc,q0,Cc,Ki;function t4(){let t=$1($3);Bc=new Map(J1(t).flatMap((e,n)=>e.map(r=>[r,n+1<<24]))),q0=new Set(Hs(t)),Cc=new Map,Ki=new Map;for(let[e,n]of X1(t)){if(!q0.has(e)&&n.length==2){let[r,s]=n,i=Ki.get(r);i||(i=new Map,Ki.set(r,i)),i.set(s,e)}Cc.set(e,n.reverse())}}function rm(t){return t>=Gs&&t<X3}function n4(t,e){if(t>=ha&&t<Y3&&e>=ma&&e<Z3)return Gs+(t-ha)*pa+(e-ma)*ns;if(rm(t)&&e>ba&&e<e4&&(t-Gs)%ns==0)return t+(e-ba);{let n=Ki.get(t);return n&&(n=n.get(e),n)?n:-1}}function sm(t){Bc||t4();let e=[],n=[],r=!1;function s(i){let a=Bc.get(i);a&&(r=!0,i|=a),e.push(i)}for(let i of t)for(;;){if(i<128)e.push(i);else if(rm(i)){let a=i-Gs,o=a/pa|0,c=a%pa/ns|0,d=a%ns;s(ha+o),s(ma+c),d>0&&s(ba+d)}else{let a=Cc.get(i);a?n.push(...a):s(i)}if(!n.length)break;i=n.pop()}if(r&&e.length>1){let i=xs(e[0]);for(let a=1;a<e.length;a++){let o=xs(e[a]);if(o==0||i<=o){i=o;continue}let c=a-1;for(;;){let d=e[c+1];if(e[c+1]=e[c],e[c]=d,!c||(i=xs(e[--c]),i<=o))break}i=xs(e[a])}}return e}function r4(t){let e=[],n=[],r=-1,s=0;for(let i of t){let a=xs(i),o=nm(i);if(r==-1)a==0?r=o:e.push(o);else if(s>0&&s>=a)a==0?(e.push(r,...n),n.length=0,r=o):n.push(o),s=a;else{let c=n4(r,o);c>=0?r=c:s==0&&a==0?(e.push(r),r=o):(n.push(o),s=a)}}return r>=0&&e.push(r,...n),e}function im(t){return sm(t).map(nm)}function s4(t){return r4(sm(t))}const K0=45,am=".",om=65039,cm=1,ga=t=>Array.from(t);function Vs(t,e){return t.P.has(e)||t.Q.has(e)}class i4 extends Array{get is_emoji(){return!0}}let xc,lm,tr,Dc,dm,zr,Do,kr,_n,Q0,Fc;function Wl(){if(xc)return;let t=$1(M3);const e=()=>Hs(t),n=()=>new Set(e()),r=(l,f)=>f.forEach(m=>l.add(m));xc=new Map(X1(t)),lm=n(),tr=e(),Dc=new Set(e().map(l=>tr[l])),tr=new Set(tr),dm=n(),n();let s=J1(t),i=t();const a=()=>{let l=new Set;return e().forEach(f=>r(l,s[f])),r(l,e()),l};zr=zs(l=>{let f=zs(t).map(m=>m+96);if(f.length){let m=l>=i;f[0]-=32,f=ts(f),m&&(f=`Restricted[${f}]`);let b=a(),w=a(),E=!t();return{N:f,P:b,Q:w,M:E,R:m}}}),Do=n(),kr=new Map;let o=e().concat(ga(Do)).sort((l,f)=>l-f);o.forEach((l,f)=>{let m=t(),b=o[f]=m?o[f-m]:{V:[],M:new Map};b.V.push(l),Do.has(l)||kr.set(l,b)});for(let{V:l,M:f}of new Set(kr.values())){let m=[];for(let w of l){let E=zr.filter(p=>Vs(p,w)),y=m.find(({G:p})=>E.some(x=>p.has(x)));y||(y={G:new Set,V:[]},m.push(y)),y.V.push(w),r(y.G,E)}let b=m.flatMap(w=>ga(w.G));for(let{G:w,V:E}of m){let y=new Set(b.filter(p=>!w.has(p)));for(let p of E)f.set(p,y)}}_n=new Set;let c=new Set;const d=l=>_n.has(l)?c.add(l):_n.add(l);for(let l of zr){for(let f of l.P)d(f);for(let f of l.Q)d(f)}for(let l of _n)!kr.has(l)&&!c.has(l)&&kr.set(l,cm);r(_n,im(_n)),Q0=j3(t).map(l=>i4.from(l)).sort(Q3),Fc=new Map;for(let l of Q0){let f=[Fc];for(let m of l){let b=f.map(w=>{let E=w.get(m);return E||(E=new Map,w.set(m,E)),E});m===om?f.push(...b):f=b}for(let m of f)m.V=l}}function Hl(t){return(um(t)?"":`${zl($a([t]))} `)+Z1(t)}function zl(t){return`"${t}"‎`}function a4(t){if(t.length>=4&&t[2]==K0&&t[3]==K0)throw new Error(`invalid label extension: "${ts(t.slice(0,4))}"`)}function o4(t){for(let n=t.lastIndexOf(95);n>0;)if(t[--n]!==95)throw new Error("underscore allowed only at start")}function c4(t){let e=t[0],n=_0.get(e);if(n)throw Ts(`leading ${n}`);let r=t.length,s=-1;for(let i=1;i<r;i++){e=t[i];let a=_0.get(e);if(a){if(s==i)throw Ts(`${n} + ${a}`);s=i+1,n=a}}if(s==r)throw Ts(`trailing ${n}`)}function $a(t,e=1/0,n=Z1){let r=[];l4(t[0])&&r.push("◌"),t.length>e&&(e>>=1,t=[...t.slice(0,e),8230,...t.slice(-e)]);let s=0,i=t.length;for(let a=0;a<i;a++){let o=t[a];um(o)&&(r.push(ts(t.slice(s,a))),r.push(n(o)),s=a+1)}return r.push(ts(t.slice(s,i))),r.join("")}function l4(t){return Wl(),tr.has(t)}function um(t){return Wl(),dm.has(t)}function d4(t){return m4(u4(t,s4,g4))}function u4(t,e,n){if(!t)return[];Wl();let r=0;return t.split(am).map(s=>{let i=K3(s),a={input:i,offset:r};r+=i.length+1;try{let o=a.tokens=p4(i,e,n),c=o.length,d;if(!c)throw new Error("empty label");let l=a.output=o.flat();if(o4(l),!(a.emoji=c>1||o[0].is_emoji)&&l.every(m=>m<128))a4(l),d="ASCII";else{let m=o.flatMap(b=>b.is_emoji?[]:b);if(!m.length)d="Emoji";else{if(tr.has(l[0]))throw Ts("leading combining mark");for(let E=1;E<c;E++){let y=o[E];if(!y.is_emoji&&tr.has(y[0]))throw Ts(`emoji + combining mark: "${ts(o[E-1])} + ${$a([y[0]])}"`)}c4(l);let b=ga(new Set(m)),[w]=h4(b);b4(w,m),f4(w,b),d=w.N}}a.type=d}catch(o){a.error=o}return a})}function f4(t,e){let n,r=[];for(let s of e){let i=kr.get(s);if(i===cm)return;if(i){let a=i.M.get(s);if(n=n?n.filter(o=>a.has(o)):ga(a),!n.length)return}else r.push(s)}if(n){for(let s of n)if(r.every(i=>Vs(s,i)))throw new Error(`whole-script confusable: ${t.N}/${s.N}`)}}function h4(t){let e=zr;for(let n of t){let r=e.filter(s=>Vs(s,n));if(!r.length)throw zr.some(s=>Vs(s,n))?hm(e[0],n):fm(n);if(e=r,r.length==1)break}return e}function m4(t){return t.map(({input:e,error:n,output:r})=>{if(n){let s=n.message;throw new Error(t.length==1?s:`Invalid label ${zl($a(e,63))}: ${s}`)}return ts(r)}).join(am)}function fm(t){return new Error(`disallowed character: ${Hl(t)}`)}function hm(t,e){let n=Hl(e),r=zr.find(s=>s.P.has(e));return r&&(n=`${r.N} ${n}`),new Error(`illegal mixture: ${t.N} + ${n}`)}function Ts(t){return new Error(`illegal placement: ${t}`)}function b4(t,e){for(let n of e)if(!Vs(t,n))throw hm(t,n);if(t.M){let n=im(e);for(let r=1,s=n.length;r<s;r++)if(Dc.has(n[r])){let i=r+1;for(let a;i<s&&Dc.has(a=n[i]);i++)for(let o=r;o<i;o++)if(n[o]==a)throw new Error(`duplicate non-spacing marks: ${Hl(a)}`);if(i-r>j0)throw new Error(`excessive non-spacing marks: ${zl($a(n.slice(r-1,i)))} (${i-r}/${j0})`);r=i}}}function p4(t,e,n){let r=[],s=[];for(t=t.slice().reverse();t.length;){let i=y4(t);if(i)s.length&&(r.push(e(s)),s=[]),r.push(n(i));else{let a=t.pop();if(_n.has(a))s.push(a);else{let o=xc.get(a);if(o)s.push(...o);else if(!lm.has(a))throw fm(a)}}}return s.length&&r.push(e(s)),r}function g4(t){return t.filter(e=>e!=om)}function y4(t,e){let n=Fc,r,s=t.length;for(;s&&(n=n.get(t[--s]),!!n);){let{V:i}=n;i&&(r=i,t.length=s)}return r}const mm=new Uint8Array(32);mm.fill(0);function $0(t){return D(t.length!==0,"invalid ENS name; empty component","comp",t),t}function bm(t){const e=tn(A4(t)),n=[];if(t.length===0)return n;let r=0;for(let s=0;s<e.length;s++)e[s]===46&&(n.push($0(e.slice(r,s))),r=s+1);return D(r<e.length,"invalid ENS name; empty component","name",t),n.push($0(e.slice(r))),n}function A4(t){try{if(t.length===0)throw new Error("empty label");return d4(t)}catch(e){D(!1,`invalid ENS name (${e.message})`,"name",t)}}function Sc(t){D(typeof t=="string","invalid ENS name; not a string","name",t),D(t.length,"invalid ENS name (empty label)","name",t);let e=mm;const n=bm(t);for(;n.length;)e=Ne(De([e,Ne(n.pop())]));return K(e)}function E4(t,e){const n=e;return D(n<=255,"DNS encoded label cannot exceed 255","length",n),K(De(bm(t).map(r=>{D(r.length<=n,`label ${JSON.stringify(t)} exceeds ${n} bytes`,"name",t);const s=new Uint8Array(r.length+1);return s.set(r,1),s[0]=s.length-1,s})))+"00"}function Fo(t,e){return{address:fe(t),storageKeys:e.map((n,r)=>(D(Ee(n,32),"invalid slot",`storageKeys[${r}]`,n),n.toLowerCase()))}}function xr(t){if(Array.isArray(t))return t.map((n,r)=>Array.isArray(n)?(D(n.length===2,"invalid slot set",`value[${r}]`,n),Fo(n[0],n[1])):(D(n!=null&&typeof n=="object","invalid address-slot set","value",t),Fo(n.address,n.storageKeys)));D(t!=null&&typeof t=="object","invalid access list","value",t);const e=Object.keys(t).map(n=>{const r=t[n].reduce((s,i)=>(s[i]=!0,s),{});return Fo(n,Object.keys(r).sort())});return e.sort((n,r)=>n.address.localeCompare(r.address)),e}function pm(t){let e;return typeof t=="string"?e=Xt.computePublicKey(t,!1):e=t.publicKey,fe(Ne("0x"+e.substring(4)).substring(26))}function w4(t,e){return pm(Xt.recoverPublicKey(t,e))}const je=BigInt(0),B4=BigInt(2),C4=BigInt(27),x4=BigInt(28),D4=BigInt(35),F4=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),So=4096*32;function J0(t,e){let n=t.toString(16);for(;n.length<2;)n="0"+n;return n+=Cr(e).substring(4),"0x"+n}function Ja(t){return t==="0x"?null:fe(t)}function Gl(t,e){try{return xr(t)}catch(n){D(!1,n.message,e,t)}}function ci(t,e){return t==="0x"?0:ae(t,e)}function Me(t,e){if(t==="0x")return je;const n=X(t,e);return D(n<=F4,"value exceeds uint size",e,n),n}function Be(t,e){const n=X(t,"value"),r=st(n);return D(r.length<=32,"value too large",`tx.${e}`,n),r}function Vl(t){return xr(t).map(e=>[e.address,e.storageKeys])}function S4(t,e){D(Array.isArray(t),`invalid ${e}`,"value",t);for(let n=0;n<t.length;n++)D(Ee(t[n],32),"invalid ${ param } hash",`value[${n}]`,t[n]);return t}function T4(t){const e=_a(t);D(Array.isArray(e)&&(e.length===9||e.length===6),"invalid field count for legacy transaction","data",t);const n={type:0,nonce:ci(e[0],"nonce"),gasPrice:Me(e[1],"gasPrice"),gasLimit:Me(e[2],"gasLimit"),to:Ja(e[3]),value:Me(e[4],"value"),data:K(e[5]),chainId:je};if(e.length===6)return n;const r=Me(e[6],"v"),s=Me(e[7],"r"),i=Me(e[8],"s");if(s===je&&i===je)n.chainId=r;else{let a=(r-D4)/B4;a<je&&(a=je),n.chainId=a,D(a!==je||r===C4||r===x4,"non-canonical legacy v","v",e[6]),n.signature=Ge.from({r:Wn(e[7],32),s:Wn(e[8],32),v:r})}return n}function v4(t,e){const n=[Be(t.nonce,"nonce"),Be(t.gasPrice||0,"gasPrice"),Be(t.gasLimit,"gasLimit"),t.to||"0x",Be(t.value,"value"),t.data];let r=je;if(t.chainId!=je)r=X(t.chainId,"tx.chainId"),D(!e||e.networkV==null||e.legacyChainId===r,"tx.chainId/sig.v mismatch","sig",e);else if(t.signature){const i=t.signature.legacyChainId;i!=null&&(r=i)}if(!e)return r!==je&&(n.push(st(r)),n.push("0x"),n.push("0x")),gr(n);let s=BigInt(27+e.yParity);return r!==je?s=Ge.getChainIdV(r,e.v):BigInt(e.v)!==s&&D(!1,"tx.chainId/sig.v mismatch","sig",e),n.push(st(s)),n.push(st(e.r)),n.push(st(e.s)),gr(n)}function _l(t,e){let n;try{if(n=ci(e[0],"yParity"),n!==0&&n!==1)throw new Error("bad yParity")}catch{D(!1,"invalid yParity","yParity",e[0])}const r=Wn(e[1],32),s=Wn(e[2],32),i=Ge.from({r,s,yParity:n});t.signature=i}function I4(t){const e=_a(ce(t).slice(1));D(Array.isArray(e)&&(e.length===9||e.length===12),"invalid field count for transaction type: 2","data",K(t));const n={type:2,chainId:Me(e[0],"chainId"),nonce:ci(e[1],"nonce"),maxPriorityFeePerGas:Me(e[2],"maxPriorityFeePerGas"),maxFeePerGas:Me(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:Me(e[4],"gasLimit"),to:Ja(e[5]),value:Me(e[6],"value"),data:K(e[7]),accessList:Gl(e[8],"accessList")};return e.length===9||_l(n,e.slice(9)),n}function k4(t,e){const n=[Be(t.chainId,"chainId"),Be(t.nonce,"nonce"),Be(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),Be(t.maxFeePerGas||0,"maxFeePerGas"),Be(t.gasLimit,"gasLimit"),t.to||"0x",Be(t.value,"value"),t.data,Vl(t.accessList||[])];return e&&(n.push(Be(e.yParity,"yParity")),n.push(st(e.r)),n.push(st(e.s))),De(["0x02",gr(n)])}function U4(t){const e=_a(ce(t).slice(1));D(Array.isArray(e)&&(e.length===8||e.length===11),"invalid field count for transaction type: 1","data",K(t));const n={type:1,chainId:Me(e[0],"chainId"),nonce:ci(e[1],"nonce"),gasPrice:Me(e[2],"gasPrice"),gasLimit:Me(e[3],"gasLimit"),to:Ja(e[4]),value:Me(e[5],"value"),data:K(e[6]),accessList:Gl(e[7],"accessList")};return e.length===8||_l(n,e.slice(8)),n}function P4(t,e){const n=[Be(t.chainId,"chainId"),Be(t.nonce,"nonce"),Be(t.gasPrice||0,"gasPrice"),Be(t.gasLimit,"gasLimit"),t.to||"0x",Be(t.value,"value"),t.data,Vl(t.accessList||[])];return e&&(n.push(Be(e.yParity,"recoveryParam")),n.push(st(e.r)),n.push(st(e.s))),De(["0x01",gr(n)])}function N4(t){let e=_a(ce(t).slice(1)),n="3",r=null;if(e.length===4&&Array.isArray(e[0])){n="3 (network format)";const i=e[1],a=e[2],o=e[3];D(Array.isArray(i),"invalid network format: blobs not an array","fields[1]",i),D(Array.isArray(a),"invalid network format: commitments not an array","fields[2]",a),D(Array.isArray(o),"invalid network format: proofs not an array","fields[3]",o),D(i.length===a.length,"invalid network format: blobs/commitments length mismatch","fields",e),D(i.length===o.length,"invalid network format: blobs/proofs length mismatch","fields",e),r=[];for(let c=0;c<e[1].length;c++)r.push({data:i[c],commitment:a[c],proof:o[c]});e=e[0]}D(Array.isArray(e)&&(e.length===11||e.length===14),`invalid field count for transaction type: ${n}`,"data",K(t));const s={type:3,chainId:Me(e[0],"chainId"),nonce:ci(e[1],"nonce"),maxPriorityFeePerGas:Me(e[2],"maxPriorityFeePerGas"),maxFeePerGas:Me(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:Me(e[4],"gasLimit"),to:Ja(e[5]),value:Me(e[6],"value"),data:K(e[7]),accessList:Gl(e[8],"accessList"),maxFeePerBlobGas:Me(e[9],"maxFeePerBlobGas"),blobVersionedHashes:e[10]};r&&(s.blobs=r),D(s.to!=null,`invalid address for transaction type: ${n}`,"data",t),D(Array.isArray(s.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",t);for(let i=0;i<s.blobVersionedHashes.length;i++)D(Ee(s.blobVersionedHashes[i],32),`invalid blobVersionedHash at index ${i}: must be length 32`,"data",t);return e.length===11||_l(s,e.slice(11)),s}function R4(t,e,n){const r=[Be(t.chainId,"chainId"),Be(t.nonce,"nonce"),Be(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),Be(t.maxFeePerGas||0,"maxFeePerGas"),Be(t.gasLimit,"gasLimit"),t.to||es,Be(t.value,"value"),t.data,Vl(t.accessList||[]),Be(t.maxFeePerBlobGas||0,"maxFeePerBlobGas"),S4(t.blobVersionedHashes||[],"blobVersionedHashes")];return e&&(r.push(Be(e.yParity,"yParity")),r.push(st(e.r)),r.push(st(e.s)),n)?De(["0x03",gr([r,n.map(s=>s.data),n.map(s=>s.commitment),n.map(s=>s.proof)])]):De(["0x03",gr(r)])}class Pt{#e;#t;#n;#r;#s;#a;#i;#o;#h;#l;#m;#b;#c;#d;#u;#f;get type(){return this.#e}set type(e){switch(e){case null:this.#e=null;break;case 0:case"legacy":this.#e=0;break;case 1:case"berlin":case"eip-2930":this.#e=1;break;case 2:case"london":case"eip-1559":this.#e=2;break;case 3:case"cancun":case"eip-4844":this.#e=3;break;default:D(!1,"unsupported transaction type","type",e)}}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 e=this.#t;return e==null&&this.type===3?es:e}set to(e){this.#t=e==null?null:fe(e)}get nonce(){return this.#r}set nonce(e){this.#r=ae(e,"value")}get gasLimit(){return this.#s}set gasLimit(e){this.#s=X(e)}get gasPrice(){const e=this.#a;return e==null&&(this.type===0||this.type===1)?je:e}set gasPrice(e){this.#a=e==null?null:X(e,"gasPrice")}get maxPriorityFeePerGas(){const e=this.#i;return e??(this.type===2||this.type===3?je:null)}set maxPriorityFeePerGas(e){this.#i=e==null?null:X(e,"maxPriorityFeePerGas")}get maxFeePerGas(){const e=this.#o;return e??(this.type===2||this.type===3?je:null)}set maxFeePerGas(e){this.#o=e==null?null:X(e,"maxFeePerGas")}get data(){return this.#n}set data(e){this.#n=K(e)}get value(){return this.#h}set value(e){this.#h=X(e,"value")}get chainId(){return this.#l}set chainId(e){this.#l=X(e)}get signature(){return this.#m||null}set signature(e){this.#m=e==null?null:Ge.from(e)}get accessList(){const e=this.#b||null;return e??(this.type===1||this.type===2||this.type===3?[]:null)}set accessList(e){this.#b=e==null?null:xr(e)}get maxFeePerBlobGas(){const e=this.#c;return e==null&&this.type===3?je:e}set maxFeePerBlobGas(e){this.#c=e==null?null:X(e,"maxFeePerBlobGas")}get blobVersionedHashes(){let e=this.#d;return e==null&&this.type===3?[]:e}set blobVersionedHashes(e){if(e!=null){D(Array.isArray(e),"blobVersionedHashes must be an Array","value",e),e=e.slice();for(let n=0;n<e.length;n++)D(Ee(e[n],32),"invalid blobVersionedHash",`value[${n}]`,e[n])}this.#d=e}get blobs(){return this.#f==null?null:this.#f.map(e=>Object.assign({},e))}set blobs(e){if(e==null){this.#f=null;return}const n=[],r=[];for(let s=0;s<e.length;s++){const i=e[s];if(Ha(i)){W(this.#u,"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let a=ce(i);if(D(a.length<=So,"blob is too large",`blobs[${s}]`,i),a.length!==So){const d=new Uint8Array(So);d.set(a),a=d}const o=this.#u.blobToKzgCommitment(a),c=K(this.#u.computeBlobKzgProof(a,o));n.push({data:K(a),commitment:K(o),proof:c}),r.push(J0(1,o))}else{const a=K(i.commitment);n.push({data:K(i.data),commitment:a,proof:K(i.proof)}),r.push(J0(1,a))}}this.#f=n,this.#d=r}get kzg(){return this.#u}set kzg(e){this.#u=e}constructor(){this.#e=null,this.#t=null,this.#r=0,this.#s=je,this.#a=null,this.#i=null,this.#o=null,this.#n="0x",this.#h=je,this.#l=je,this.#m=null,this.#b=null,this.#c=null,this.#d=null,this.#f=null,this.#u=null}get hash(){return this.signature==null?null:Ne(this.#p(!0,!1))}get unsignedHash(){return Ne(this.unsignedSerialized)}get from(){return this.signature==null?null:w4(this.unsignedHash,this.signature)}get fromPublicKey(){return this.signature==null?null:Xt.recoverPublicKey(this.unsignedHash,this.signature)}isSigned(){return this.signature!=null}#p(e,n){W(!e||this.signature!=null,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});const r=e?this.signature:null;switch(this.inferType()){case 0:return v4(this,r);case 1:return P4(this,r);case 2:return k4(this,r);case 3:return R4(this,r,n?this.blobs:null)}W(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})}get serialized(){return this.#p(!0,!0)}get unsignedSerialized(){return this.#p(!1,!1)}inferType(){const e=this.inferTypes();return e.indexOf(2)>=0?2:e.pop()}inferTypes(){const e=this.gasPrice!=null,n=this.maxFeePerGas!=null||this.maxPriorityFeePerGas!=null,r=this.accessList!=null,s=this.#c!=null||this.#d;this.maxFeePerGas!=null&&this.maxPriorityFeePerGas!=null&&W(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),W(!n||this.type!==0&&this.type!==1,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),W(this.type!==0||!r,"legacy transaction cannot have accessList","BAD_DATA",{value:this});const i=[];return this.type!=null?i.push(this.type):n?i.push(2):e?(i.push(1),r||i.push(0)):r?(i.push(1),i.push(2)):(s&&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 Pt.from(this)}toJSON(){const e=n=>n==null?null:n.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:e(this.gasLimit),gasPrice:e(this.gasPrice),maxPriorityFeePerGas:e(this.maxPriorityFeePerGas),maxFeePerGas:e(this.maxFeePerGas),value:e(this.value),chainId:e(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}static from(e){if(e==null)return new Pt;if(typeof e=="string"){const r=ce(e);if(r[0]>=127)return Pt.from(T4(r));switch(r[0]){case 1:return Pt.from(U4(r));case 2:return Pt.from(I4(r));case 3:return Pt.from(N4(r))}W(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}const n=new Pt;return e.type!=null&&(n.type=e.type),e.to!=null&&(n.to=e.to),e.nonce!=null&&(n.nonce=e.nonce),e.gasLimit!=null&&(n.gasLimit=e.gasLimit),e.gasPrice!=null&&(n.gasPrice=e.gasPrice),e.maxPriorityFeePerGas!=null&&(n.maxPriorityFeePerGas=e.maxPriorityFeePerGas),e.maxFeePerGas!=null&&(n.maxFeePerGas=e.maxFeePerGas),e.maxFeePerBlobGas!=null&&(n.maxFeePerBlobGas=e.maxFeePerBlobGas),e.data!=null&&(n.data=e.data),e.value!=null&&(n.value=e.value),e.chainId!=null&&(n.chainId=e.chainId),e.signature!=null&&(n.signature=Ge.from(e.signature)),e.accessList!=null&&(n.accessList=e.accessList),e.blobVersionedHashes!=null&&(n.blobVersionedHashes=e.blobVersionedHashes),e.kzg!=null&&(n.kzg=e.kzg),e.blobs!=null&&(n.blobs=e.blobs),e.hash!=null&&(D(n.isSigned(),"unsigned transaction cannot define '.hash'","tx",e),D(n.hash===e.hash,"hash mismatch","tx",e)),e.from!=null&&(D(n.isSigned(),"unsigned transaction cannot define '.from'","tx",e),D(n.from.toLowerCase()===(e.from||"").toLowerCase(),"from mismatch","tx",e)),n}}const gm=new Uint8Array(32);gm.fill(0);const O4=BigInt(-1),ym=BigInt(0),Am=BigInt(1),M4=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function L4(t){const e=ce(t),n=e.length%32;return n?De([e,gm.slice(n)]):K(e)}const W4=An(Am,32),H4=An(ym,32),X0={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},To=["name","version","chainId","verifyingContract","salt"];function Y0(t){return function(e){return D(typeof e=="string",`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}const z4={name:Y0("name"),version:Y0("version"),chainId:function(t){const e=X(t,"domain.chainId");return D(e>=0,"invalid chain ID","domain.chainId",t),Number.isSafeInteger(e)?Number(e):Mr(e)},verifyingContract:function(t){try{return fe(t).toLowerCase()}catch{}D(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){const e=ce(t,"domain.salt");return D(e.length===32,'invalid domain value "salt"',"domain.salt",t),K(e)}};function vo(t){{const e=t.match(/^(u?)int(\d+)$/);if(e){const n=e[1]==="",r=parseInt(e[2]);D(r%8===0&&r!==0&&r<=256&&e[2]===String(r),"invalid numeric width","type",t);const s=Or(M4,n?r-1:r),i=n?(s+Am)*O4:ym;return function(a){const o=X(a,"value");return D(o>=i&&o<=s,`value out-of-bounds for ${t}`,"value",o),An(n?Sl(o,256):o,32)}}}{const e=t.match(/^bytes(\d+)$/);if(e){const n=parseInt(e[1]);return D(n!==0&&n<=32&&e[1]===String(n),"invalid bytes width","type",t),function(r){const s=ce(r);return D(s.length===n,`invalid length for ${t}`,"value",r),L4(r)}}}switch(t){case"address":return function(e){return Wn(fe(e),32)};case"bool":return function(e){return e?W4:H4};case"bytes":return function(e){return Ne(e)};case"string":return function(e){return Hn(e)}}return null}function Z0(t,e){return`${t}(${e.map(({name:n,type:r})=>r+" "+n).join(",")})`}function Fi(t){const e=t.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return e?{base:e[1],index:e[2]+e[4],array:{base:e[1],prefix:e[1]+e[2],count:e[5]?parseInt(e[5]):-1}}:{base:t}}class ft{primaryType;#e;get types(){return JSON.parse(this.#e)}#t;#n;constructor(e){this.#t=new Map,this.#n=new Map;const n=new Map,r=new Map,s=new Map,i={};Object.keys(e).forEach(c=>{i[c]=e[c].map(({name:d,type:l})=>{let{base:f,index:m}=Fi(l);return f==="int"&&!e.int&&(f="int256"),f==="uint"&&!e.uint&&(f="uint256"),{name:d,type:f+(m||"")}}),n.set(c,new Set),r.set(c,[]),s.set(c,new Set)}),this.#e=JSON.stringify(i);for(const c in i){const d=new Set;for(const l of i[c]){D(!d.has(l.name),`duplicate variable name ${JSON.stringify(l.name)} in ${JSON.stringify(c)}`,"types",e),d.add(l.name);const f=Fi(l.type).base;D(f!==c,`circular type reference to ${JSON.stringify(f)}`,"types",e),!vo(f)&&(D(r.has(f),`unknown type ${JSON.stringify(f)}`,"types",e),r.get(f).push(c),n.get(c).add(f))}}const a=Array.from(r.keys()).filter(c=>r.get(c).length===0);D(a.length!==0,"missing primary type","types",e),D(a.length===1,`ambiguous primary types or unused types: ${a.map(c=>JSON.stringify(c)).join(", ")}`,"types",e),ee(this,{primaryType:a[0]});function o(c,d){D(!d.has(c),`circular type reference to ${JSON.stringify(c)}`,"types",e),d.add(c);for(const l of n.get(c))if(r.has(l)){o(l,d);for(const f of d)s.get(f).add(l)}d.delete(c)}o(this.primaryType,new Set);for(const[c,d]of s){const l=Array.from(d);l.sort(),this.#t.set(c,Z0(c,i[c])+l.map(f=>Z0(f,i[f])).join(""))}}getEncoder(e){let n=this.#n.get(e);return n||(n=this.#r(e),this.#n.set(e,n)),n}#r(e){{const s=vo(e);if(s)return s}const n=Fi(e).array;if(n){const s=n.prefix,i=this.getEncoder(s);return a=>{D(n.count===-1||n.count===a.length,`array length mismatch; expected length ${n.count}`,"value",a);let o=a.map(i);return this.#t.has(s)&&(o=o.map(Ne)),Ne(De(o))}}const r=this.types[e];if(r){const s=Hn(this.#t.get(e));return i=>{const a=r.map(({name:o,type:c})=>{const d=this.getEncoder(c)(i[o]);return this.#t.has(c)?Ne(d):d});return a.unshift(s),De(a)}}D(!1,`unknown type: ${e}`,"type",e)}encodeType(e){const n=this.#t.get(e);return D(n,`unknown type: ${JSON.stringify(e)}`,"name",e),n}encodeData(e,n){return this.getEncoder(e)(n)}hashStruct(e,n){return Ne(this.encodeData(e,n))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,n,r){if(vo(e))return r(e,n);const s=Fi(e).array;if(s)return D(s.count===-1||s.count===n.length,`array length mismatch; expected length ${s.count}`,"value",n),n.map(a=>this._visit(s.prefix,a,r));const i=this.types[e];if(i)return i.reduce((a,{name:o,type:c})=>(a[o]=this._visit(c,n[o],r),a),{});D(!1,`unknown type: ${e}`,"type",e)}visit(e,n){return this._visit(this.primaryType,e,n)}static from(e){return new ft(e)}static getPrimaryType(e){return ft.from(e).primaryType}static hashStruct(e,n,r){return ft.from(n).hashStruct(e,r)}static hashDomain(e){const n=[];for(const r in e){if(e[r]==null)continue;const s=X0[r];D(s,`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",e),n.push({name:r,type:s})}return n.sort((r,s)=>To.indexOf(r.name)-To.indexOf(s.name)),ft.hashStruct("EIP712Domain",{EIP712Domain:n},e)}static encode(e,n,r){return De(["0x1901",ft.hashDomain(e),ft.from(n).hash(r)])}static hash(e,n,r){return Ne(ft.encode(e,n,r))}static async resolveNames(e,n,r,s){e=Object.assign({},e);for(const o in e)e[o]==null&&delete e[o];const i={};e.verifyingContract&&!Ee(e.verifyingContract,20)&&(i[e.verifyingContract]="0x");const a=ft.from(n);a.visit(r,(o,c)=>(o==="address"&&!Ee(c,20)&&(i[c]="0x"),c));for(const o in i)i[o]=await s(o);return e.verifyingContract&&i[e.verifyingContract]&&(e.verifyingContract=i[e.verifyingContract]),r=a.visit(r,(o,c)=>o==="address"&&i[c]?i[c]:c),{domain:e,value:r}}static getPayload(e,n,r){ft.hashDomain(e);const s={},i=[];To.forEach(c=>{const d=e[c];d!=null&&(s[c]=z4[c](d),i.push({name:c,type:X0[c]}))});const a=ft.from(n);n=a.types;const o=Object.assign({},n);return D(o.EIP712Domain==null,"types must not contain EIP712Domain type","types.EIP712Domain",n),o.EIP712Domain=i,a.encode(r),{types:o,domain:s,primaryType:a.primaryType,message:a.visit(r,(c,d)=>{if(c.match(/^bytes(\d*)/))return K(ce(d));if(c.match(/^u?int/))return X(d).toString();switch(c){case"address":return d.toLowerCase();case"bool":return!!d;case"string":return D(typeof d=="string","invalid string","value",d),d}D(!1,"unsupported type","type",c)})}}}function dt(t){const e=new Set;return t.forEach(n=>e.add(n)),Object.freeze(e)}const G4="external public payable override",V4=dt(G4.split(" ")),Em="constant external internal payable private public pure view override",_4=dt(Em.split(" ")),wm="constructor error event fallback function receive struct",Bm=dt(wm.split(" ")),Cm="calldata memory storage payable indexed",j4=dt(Cm.split(" ")),q4="tuple returns",K4=[wm,Cm,q4,Em].join(" "),Q4=dt(K4.split(" ")),$4={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},J4=new RegExp("^(\\s*)"),X4=new RegExp("^([0-9]+)"),Y4=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),xm=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),Dm=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$");class It{#e;#t;get offset(){return this.#e}get length(){return this.#t.length-this.#e}constructor(e){this.#e=0,this.#t=e.slice()}clone(){return new It(this.#t)}reset(){this.#e=0}#n(e=0,n=0){return new It(this.#t.slice(e,n).map(r=>Object.freeze(Object.assign({},r,{match:r.match-e,linkBack:r.linkBack-e,linkNext:r.linkNext-e}))))}popKeyword(e){const n=this.peek();if(n.type!=="KEYWORD"||!e.has(n.text))throw new Error(`expected keyword ${n.text}`);return this.pop().text}popType(e){if(this.peek().type!==e){const n=this.peek();throw new Error(`expected ${e}; got ${n.type} ${JSON.stringify(n.text)}`)}return this.pop().text}popParen(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const n=this.#n(this.#e+1,e.match+1);return this.#e=e.match+1,n}popParams(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const n=[];for(;this.#e<e.match-1;){const r=this.peek().linkNext;n.push(this.#n(this.#e+1,r)),this.#e=r}return this.#e=e.match+1,n}peek(){if(this.#e>=this.#t.length)throw new Error("out-of-bounds");return this.#t[this.#e]}peekKeyword(e){const n=this.peekType("KEYWORD");return n!=null&&e.has(n)?n:null}peekType(e){if(this.length===0)return null;const n=this.peek();return n.type===e?n.text:null}pop(){const e=this.peek();return this.#e++,e}toString(){const e=[];for(let n=this.#e;n<this.#t.length;n++){const r=this.#t[n];e.push(`${r.type}:${r.text}`)}return`<TokenString ${e.join(" ")}>`}}function zn(t){const e=[],n=a=>{const o=i<t.length?JSON.stringify(t[i]):"$EOI";throw new Error(`invalid token ${o} at ${i}: ${a}`)};let r=[],s=[],i=0;for(;i<t.length;){let a=t.substring(i),o=a.match(J4);o&&(i+=o[1].length,a=t.substring(i));const c={depth:r.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:i,value:-1};e.push(c);let d=$4[a[0]]||"";if(d){if(c.type=d,c.text=a[0],i++,d==="OPEN_PAREN")r.push(e.length-1),s.push(e.length-1);else if(d=="CLOSE_PAREN")r.length===0&&n("no matching open bracket"),c.match=r.pop(),e[c.match].match=e.length-1,c.depth--,c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1;else if(d==="COMMA")c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1,s.push(e.length-1);else if(d==="OPEN_BRACKET")c.type="BRACKET";else if(d==="CLOSE_BRACKET"){let l=e.pop().text;if(e.length>0&&e[e.length-1].type==="NUMBER"){const f=e.pop().text;l=f+l,e[e.length-1].value=ae(f)}if(e.length===0||e[e.length-1].type!=="BRACKET")throw new Error("missing opening bracket");e[e.length-1].text+=l}continue}if(o=a.match(Y4),o){if(c.text=o[1],i+=c.text.length,Q4.has(c.text)){c.type="KEYWORD";continue}if(c.text.match(Dm)){c.type="TYPE";continue}c.type="ID";continue}if(o=a.match(X4),o){c.text=o[1],c.type="NUMBER",i+=c.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(a[0])} at position ${i}`)}return new It(e.map(a=>Object.freeze(a)))}function eu(t,e){let n=[];for(const r in e.keys())t.has(r)&&n.push(r);if(n.length>1)throw new Error(`conflicting types: ${n.join(", ")}`)}function Xa(t,e){if(e.peekKeyword(Bm)){const n=e.pop().text;if(n!==t)throw new Error(`expected ${t}, got ${n}`)}return e.popType("ID")}function En(t,e){const n=new Set;for(;;){const r=t.peekType("KEYWORD");if(r==null||e&&!e.has(r))break;if(t.pop(),n.has(r))throw new Error(`duplicate keywords: ${JSON.stringify(r)}`);n.add(r)}return Object.freeze(n)}function Fm(t){let e=En(t,_4);return eu(e,dt("constant payable nonpayable".split(" "))),eu(e,dt("pure view payable nonpayable".split(" "))),e.has("view")?"view":e.has("pure")?"pure":e.has("payable")?"payable":e.has("nonpayable")?"nonpayable":e.has("constant")?"view":"nonpayable"}function pn(t,e){return t.popParams().map(n=>we.from(n,e))}function Sm(t){if(t.peekType("AT")){if(t.pop(),t.peekType("NUMBER"))return X(t.pop().text);throw new Error("invalid gas")}return null}function yr(t){if(t.length)throw new Error(`unexpected tokens at offset ${t.offset}: ${t.toString()}`)}const Z4=new RegExp(/^(.*)\[([0-9]*)\]$/);function tu(t){const e=t.match(Dm);if(D(e,"invalid type","type",t),t==="uint")return"uint256";if(t==="int")return"int256";if(e[2]){const n=parseInt(e[2]);D(n!==0&&n<=32,"invalid bytes length","type",t)}else if(e[3]){const n=parseInt(e[3]);D(n!==0&&n<=256&&n%8===0,"invalid numeric width","type",t)}return t}const Se={},yt=Symbol.for("_ethers_internal"),nu="_ParamTypeInternal",ru="_ErrorInternal",su="_EventInternal",iu="_ConstructorInternal",au="_FallbackInternal",ou="_FunctionInternal",cu="_StructInternal";class we{name;type;baseType;indexed;components;arrayLength;arrayChildren;constructor(e,n,r,s,i,a,o,c){if(ii(e,Se,"ParamType"),Object.defineProperty(this,yt,{value:nu}),a&&(a=Object.freeze(a.slice())),s==="array"){if(o==null||c==null)throw new Error("")}else if(o!=null||c!=null)throw new Error("");if(s==="tuple"){if(a==null)throw new Error("")}else if(a!=null)throw new Error("");ee(this,{name:n,type:r,baseType:s,indexed:i,components:a,arrayLength:o,arrayChildren:c})}format(e){if(e==null&&(e="sighash"),e==="json"){const r=this.name||"";if(this.isArray()){const i=JSON.parse(this.arrayChildren.format("json"));return i.name=r,i.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(i)}const s={type:this.baseType==="tuple"?"tuple":this.type,name:r};return typeof this.indexed=="boolean"&&(s.indexed=this.indexed),this.isTuple()&&(s.components=this.components.map(i=>JSON.parse(i.format(e)))),JSON.stringify(s)}let n="";return this.isArray()?(n+=this.arrayChildren.format(e),n+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?n+="("+this.components.map(r=>r.format(e)).join(e==="full"?", ":",")+")":n+=this.type,e!=="sighash"&&(this.indexed===!0&&(n+=" indexed"),e==="full"&&this.name&&(n+=" "+this.name)),n}isArray(){return this.baseType==="array"}isTuple(){return this.baseType==="tuple"}isIndexable(){return this.indexed!=null}walk(e,n){if(this.isArray()){if(!Array.isArray(e))throw new Error("invalid array value");if(this.arrayLength!==-1&&e.length!==this.arrayLength)throw new Error("array is wrong length");const r=this;return e.map(s=>r.arrayChildren.walk(s,n))}if(this.isTuple()){if(!Array.isArray(e))throw new Error("invalid tuple value");if(e.length!==this.components.length)throw new Error("array is wrong length");const r=this;return e.map((s,i)=>r.components[i].walk(s,n))}return n(this.type,e)}#e(e,n,r,s){if(this.isArray()){if(!Array.isArray(n))throw new Error("invalid array value");if(this.arrayLength!==-1&&n.length!==this.arrayLength)throw new Error("array is wrong length");const a=this.arrayChildren,o=n.slice();o.forEach((c,d)=>{a.#e(e,c,r,l=>{o[d]=l})}),s(o);return}if(this.isTuple()){const a=this.components;let o;if(Array.isArray(n))o=n.slice();else{if(n==null||typeof n!="object")throw new Error("invalid tuple value");o=a.map(c=>{if(!c.name)throw new Error("cannot use object value with unnamed components");if(!(c.name in n))throw new Error(`missing value for component ${c.name}`);return n[c.name]})}if(o.length!==this.components.length)throw new Error("array is wrong length");o.forEach((c,d)=>{a[d].#e(e,c,r,l=>{o[d]=l})}),s(o);return}const i=r(this.type,n);i.then?e.push((async function(){s(await i)})()):s(i)}async walkAsync(e,n){const r=[],s=[e];return this.#e(r,e,n,i=>{s[0]=i}),r.length&&await Promise.all(r),s[0]}static from(e,n){if(we.isParamType(e))return e;if(typeof e=="string")try{return we.from(zn(e),n)}catch{D(!1,"invalid param type","obj",e)}else if(e instanceof It){let o="",c="",d=null;En(e,dt(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(c="tuple",d=e.popParams().map(E=>we.from(E)),o=`tuple(${d.map(E=>E.format()).join(",")})`):(o=tu(e.popType("TYPE")),c=o);let l=null,f=null;for(;e.length&&e.peekType("BRACKET");){const E=e.pop();l=new we(Se,"",o,c,null,d,f,l),f=E.value,o+=E.text,c="array",d=null}let m=null;if(En(e,j4).has("indexed")){if(!n)throw new Error("");m=!0}const w=e.peekType("ID")?e.pop().text:"";if(e.length)throw new Error("leftover tokens");return new we(Se,w,o,c,m,d,f,l)}const r=e.name;D(!r||typeof r=="string"&&r.match(xm),"invalid name","obj.name",r);let s=e.indexed;s!=null&&(D(n,"parameter cannot be indexed","obj.indexed",e.indexed),s=!!s);let i=e.type,a=i.match(Z4);if(a){const o=parseInt(a[2]||"-1"),c=we.from({type:a[1],components:e.components});return new we(Se,r||"",i,"array",s,null,o,c)}if(i==="tuple"||i.startsWith("tuple(")||i.startsWith("(")){const o=e.components!=null?e.components.map(d=>we.from(d)):null;return new we(Se,r||"",i,"tuple",s,o,null,null)}return i=tu(e.type),new we(Se,r||"",i,i,s,null,null,null)}static isParamType(e){return e&&e[yt]===nu}}class Ar{type;inputs;constructor(e,n,r){ii(e,Se,"Fragment"),r=Object.freeze(r.slice()),ee(this,{type:n,inputs:r})}static from(e){if(typeof e=="string"){try{Ar.from(JSON.parse(e))}catch{}return Ar.from(zn(e))}if(e instanceof It)switch(e.peekKeyword(Bm)){case"constructor":return bn.from(e);case"error":return mt.from(e);case"event":return Yt.from(e);case"fallback":case"receive":return cn.from(e);case"function":return Zt.from(e);case"struct":return dr.from(e)}else if(typeof e=="object"){switch(e.type){case"constructor":return bn.from(e);case"error":return mt.from(e);case"event":return Yt.from(e);case"fallback":case"receive":return cn.from(e);case"function":return Zt.from(e);case"struct":return dr.from(e)}W(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}D(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return bn.isFragment(e)}static isError(e){return mt.isFragment(e)}static isEvent(e){return Yt.isFragment(e)}static isFunction(e){return Zt.isFragment(e)}static isStruct(e){return dr.isFragment(e)}}class Ya extends Ar{name;constructor(e,n,r,s){super(e,n,s),D(typeof r=="string"&&r.match(xm),"invalid identifier","name",r),s=Object.freeze(s.slice()),ee(this,{name:r})}}function _s(t,e){return"("+e.map(n=>n.format(t)).join(t==="full"?", ":",")+")"}class mt extends Ya{constructor(e,n,r){super(e,"error",n,r),Object.defineProperty(this,yt,{value:ru})}get selector(){return Hn(this.format("sighash")).substring(0,10)}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(r=>JSON.parse(r.format(e)))});const n=[];return e!=="sighash"&&n.push("error"),n.push(this.name+_s(e,this.inputs)),n.join(" ")}static from(e){if(mt.isFragment(e))return e;if(typeof e=="string")return mt.from(zn(e));if(e instanceof It){const n=Xa("error",e),r=pn(e);return yr(e),new mt(Se,n,r)}return new mt(Se,e.name,e.inputs?e.inputs.map(we.from):[])}static isFragment(e){return e&&e[yt]===ru}}class Yt extends Ya{anonymous;constructor(e,n,r,s){super(e,"event",n,r),Object.defineProperty(this,yt,{value:su}),ee(this,{anonymous:s})}get topicHash(){return Hn(this.format("sighash"))}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(r=>JSON.parse(r.format(e)))});const n=[];return e!=="sighash"&&n.push("event"),n.push(this.name+_s(e,this.inputs)),e!=="sighash"&&this.anonymous&&n.push("anonymous"),n.join(" ")}static getTopicHash(e,n){return n=(n||[]).map(s=>we.from(s)),new Yt(Se,e,n,!1).topicHash}static from(e){if(Yt.isFragment(e))return e;if(typeof e=="string")try{return Yt.from(zn(e))}catch{D(!1,"invalid event fragment","obj",e)}else if(e instanceof It){const n=Xa("event",e),r=pn(e,!0),s=!!En(e,dt(["anonymous"])).has("anonymous");return yr(e),new Yt(Se,n,r,s)}return new Yt(Se,e.name,e.inputs?e.inputs.map(n=>we.from(n,!0)):[],!!e.anonymous)}static isFragment(e){return e&&e[yt]===su}}class bn extends Ar{payable;gas;constructor(e,n,r,s,i){super(e,n,r),Object.defineProperty(this,yt,{value:iu}),ee(this,{payable:s,gas:i})}format(e){if(W(e!=null&&e!=="sighash","cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),e==="json")return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(r=>JSON.parse(r.format(e)))});const n=[`constructor${_s(e,this.inputs)}`];return this.payable&&n.push("payable"),this.gas!=null&&n.push(`@${this.gas.toString()}`),n.join(" ")}static from(e){if(bn.isFragment(e))return e;if(typeof e=="string")try{return bn.from(zn(e))}catch{D(!1,"invalid constuctor fragment","obj",e)}else if(e instanceof It){En(e,dt(["constructor"]));const n=pn(e),r=!!En(e,V4).has("payable"),s=Sm(e);return yr(e),new bn(Se,"constructor",n,r,s)}return new bn(Se,"constructor",e.inputs?e.inputs.map(we.from):[],!!e.payable,e.gas!=null?e.gas:null)}static isFragment(e){return e&&e[yt]===iu}}class cn extends Ar{payable;constructor(e,n,r){super(e,"fallback",n),Object.defineProperty(this,yt,{value:au}),ee(this,{payable:r})}format(e){const n=this.inputs.length===0?"receive":"fallback";if(e==="json"){const r=this.payable?"payable":"nonpayable";return JSON.stringify({type:n,stateMutability:r})}return`${n}()${this.payable?" payable":""}`}static from(e){if(cn.isFragment(e))return e;if(typeof e=="string")try{return cn.from(zn(e))}catch{D(!1,"invalid fallback fragment","obj",e)}else if(e instanceof It){const n=e.toString(),r=e.peekKeyword(dt(["fallback","receive"]));if(D(r,"type must be fallback or receive","obj",n),e.popKeyword(dt(["fallback","receive"]))==="receive"){const o=pn(e);return D(o.length===0,"receive cannot have arguments","obj.inputs",o),En(e,dt(["payable"])),yr(e),new cn(Se,[],!0)}let i=pn(e);i.length?D(i.length===1&&i[0].type==="bytes","invalid fallback inputs","obj.inputs",i.map(o=>o.format("minimal")).join(", ")):i=[we.from("bytes")];const a=Fm(e);if(D(a==="nonpayable"||a==="payable","fallback cannot be constants","obj.stateMutability",a),En(e,dt(["returns"])).has("returns")){const o=pn(e);D(o.length===1&&o[0].type==="bytes","invalid fallback outputs","obj.outputs",o.map(c=>c.format("minimal")).join(", "))}return yr(e),new cn(Se,i,a==="payable")}if(e.type==="receive")return new cn(Se,[],!0);if(e.type==="fallback"){const n=[we.from("bytes")],r=e.stateMutability==="payable";return new cn(Se,n,r)}D(!1,"invalid fallback description","obj",e)}static isFragment(e){return e&&e[yt]===au}}class Zt extends Ya{constant;outputs;stateMutability;payable;gas;constructor(e,n,r,s,i,a){super(e,"function",n,s),Object.defineProperty(this,yt,{value:ou}),i=Object.freeze(i.slice()),ee(this,{constant:r==="view"||r==="pure",gas:a,outputs:i,payable:r==="payable",stateMutability:r})}get selector(){return Hn(this.format("sighash")).substring(0,10)}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(r=>JSON.parse(r.format(e))),outputs:this.outputs.map(r=>JSON.parse(r.format(e)))});const n=[];return e!=="sighash"&&n.push("function"),n.push(this.name+_s(e,this.inputs)),e!=="sighash"&&(this.stateMutability!=="nonpayable"&&n.push(this.stateMutability),this.outputs&&this.outputs.length&&(n.push("returns"),n.push(_s(e,this.outputs))),this.gas!=null&&n.push(`@${this.gas.toString()}`)),n.join(" ")}static getSelector(e,n){return n=(n||[]).map(s=>we.from(s)),new Zt(Se,e,"view",n,[],null).selector}static from(e){if(Zt.isFragment(e))return e;if(typeof e=="string")try{return Zt.from(zn(e))}catch{D(!1,"invalid function fragment","obj",e)}else if(e instanceof It){const r=Xa("function",e),s=pn(e),i=Fm(e);let a=[];En(e,dt(["returns"])).has("returns")&&(a=pn(e));const o=Sm(e);return yr(e),new Zt(Se,r,i,s,a,o)}let n=e.stateMutability;return n==null&&(n="payable",typeof e.constant=="boolean"?(n="view",e.constant||(n="payable",typeof e.payable=="boolean"&&!e.payable&&(n="nonpayable"))):typeof e.payable=="boolean"&&!e.payable&&(n="nonpayable")),new Zt(Se,e.name,n,e.inputs?e.inputs.map(we.from):[],e.outputs?e.outputs.map(we.from):[],e.gas!=null?e.gas:null)}static isFragment(e){return e&&e[yt]===ou}}class dr extends Ya{constructor(e,n,r){super(e,"struct",n,r),Object.defineProperty(this,yt,{value:cu})}format(){throw new Error("@TODO")}static from(e){if(typeof e=="string")try{return dr.from(zn(e))}catch{D(!1,"invalid struct fragment","obj",e)}else if(e instanceof It){const n=Xa("struct",e),r=pn(e);return yr(e),new dr(Se,n,r)}return new dr(Se,e.name,e.inputs?e.inputs.map(we.from):[])}static isFragment(e){return e&&e[yt]===cu}}const zt=new Map;zt.set(0,"GENERIC_PANIC");zt.set(1,"ASSERT_FALSE");zt.set(17,"OVERFLOW");zt.set(18,"DIVIDE_BY_ZERO");zt.set(33,"ENUM_RANGE_ERROR");zt.set(34,"BAD_STORAGE_DATA");zt.set(49,"STACK_UNDERFLOW");zt.set(50,"ARRAY_RANGE_ERROR");zt.set(65,"OUT_OF_MEMORY");zt.set(81,"UNINITIALIZED_FUNCTION_CALL");const e9=new RegExp(/^bytes([0-9]*)$/),t9=new RegExp(/^(u?int)([0-9]*)$/);let Io=null,lu=1024;function n9(t,e,n,r){let s="missing revert data",i=null;const a=null;let o=null;if(n){s="execution reverted";const d=ce(n);if(n=K(n),d.length===0)s+=" (no data present; likely require(false) occurred",i="require(false)";else if(d.length%32!==4)s+=" (could not decode reason; invalid data length)";else if(K(d.slice(0,4))==="0x08c379a0")try{i=r.decode(["string"],d.slice(4))[0],o={signature:"Error(string)",name:"Error",args:[i]},s+=`: ${JSON.stringify(i)}`}catch{s+=" (could not decode reason; invalid string data)"}else if(K(d.slice(0,4))==="0x4e487b71")try{const l=Number(r.decode(["uint256"],d.slice(4))[0]);o={signature:"Panic(uint256)",name:"Panic",args:[l]},i=`Panic due to ${zt.get(l)||"UNKNOWN"}(${l})`,s+=`: ${i}`}catch{s+=" (could not decode panic code)"}else s+=" (unknown custom error)"}const c={to:e.to?fe(e.to):null,data:e.data||"0x"};return e.from&&(c.from=fe(e.from)),Ue(s,"CALL_EXCEPTION",{action:t,data:n,reason:i,transaction:c,invocation:a,revert:o})}class Er{#e(e){if(e.isArray())return new F3(this.#e(e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new Di(e.components.map(r=>this.#e(r)),e.name);switch(e.baseType){case"address":return new x3(e.name);case"bool":return new S3(e.name);case"string":return new O3(e.name);case"bytes":return new T3(e.name);case"":return new k3(e.name)}let n=e.type.match(t9);if(n){let r=parseInt(n[2]||"256");return D(r!==0&&r<=256&&r%8===0,"invalid "+n[1]+" bit length","param",e),new R3(r/8,n[1]==="int",e.name)}if(n=e.type.match(e9),n){let r=parseInt(n[1]);return D(r!==0&&r<=32,"invalid bytes length","param",e),new v3(r,e.name)}D(!1,"invalid type","type",e.type)}getDefaultValue(e){const n=e.map(s=>this.#e(we.from(s)));return new Di(n,"_").defaultValue()}encode(e,n){Yh(n.length,e.length,"types/values length mismatch");const r=e.map(a=>this.#e(we.from(a))),s=new Di(r,"_"),i=new pc;return s.encode(i,n),i.data}decode(e,n,r){const s=e.map(a=>this.#e(we.from(a)));return new Di(s,"_").decode(new Tl(n,r,lu))}static _setDefaultMaxInflation(e){D(typeof e=="number"&&Number.isInteger(e),"invalid defaultMaxInflation factor","value",e),lu=e}static defaultAbiCoder(){return Io==null&&(Io=new Er),Io}static getBuiltinCallException(e,n,r){return n9(e,n,r,Er.defaultAbiCoder())}}class r9{fragment;name;signature;topic;args;constructor(e,n,r){const s=e.name,i=e.format();ee(this,{fragment:e,name:s,signature:i,topic:n,args:r})}}class s9{fragment;name;args;signature;selector;value;constructor(e,n,r,s){const i=e.name,a=e.format();ee(this,{fragment:e,name:i,args:r,signature:a,selector:n,value:s})}}class i9{fragment;name;args;signature;selector;constructor(e,n,r){const s=e.name,i=e.format();ee(this,{fragment:e,name:s,args:r,signature:i,selector:n})}}class du{hash;_isIndexed;static isIndexed(e){return!!(e&&e._isIndexed)}constructor(e){ee(this,{hash:e,_isIndexed:!0})}}const uu={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},fu={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:t=>`reverted with reason string ${JSON.stringify(t)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:t=>{let e="unknown panic code";return t>=0&&t<=255&&uu[t.toString()]&&(e=uu[t.toString()]),`reverted with panic code 0x${t.toString(16)} (${e})`}}};class en{fragments;deploy;fallback;receive;#e;#t;#n;#r;constructor(e){let n=[];typeof e=="string"?n=JSON.parse(e):n=e,this.#n=new Map,this.#e=new Map,this.#t=new Map;const r=[];for(const a of n)try{r.push(Ar.from(a))}catch(o){console.log(`[Warning] Invalid Fragment ${JSON.stringify(a)}:`,o.message)}ee(this,{fragments:Object.freeze(r)});let s=null,i=!1;this.#r=this.getAbiCoder(),this.fragments.forEach((a,o)=>{let c;switch(a.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}ee(this,{deploy:a});return;case"fallback":a.inputs.length===0?i=!0:(D(!s||a.payable!==s.payable,"conflicting fallback fragments",`fragments[${o}]`,a),s=a,i=s.payable);return;case"function":c=this.#n;break;case"event":c=this.#t;break;case"error":c=this.#e;break;default:return}const d=a.format();c.has(d)||c.set(d,a)}),this.deploy||ee(this,{deploy:bn.from("constructor()")}),ee(this,{fallback:s,receive:i})}format(e){const n=e?"minimal":"full";return this.fragments.map(s=>s.format(n))}formatJson(){const e=this.fragments.map(n=>n.format("json"));return JSON.stringify(e.map(n=>JSON.parse(n)))}getAbiCoder(){return Er.defaultAbiCoder()}#s(e,n,r){if(Ee(e)){const i=e.toLowerCase();for(const a of this.#n.values())if(i===a.selector)return a;return null}if(e.indexOf("(")===-1){const i=[];for(const[a,o]of this.#n)a.split("(")[0]===e&&i.push(o);if(n){const a=n.length>0?n[n.length-1]:null;let o=n.length,c=!0;Pe.isTyped(a)&&a.type==="overrides"&&(c=!1,o--);for(let d=i.length-1;d>=0;d--){const l=i[d].inputs.length;l!==o&&(!c||l!==o-1)&&i.splice(d,1)}for(let d=i.length-1;d>=0;d--){const l=i[d].inputs;for(let f=0;f<n.length;f++)if(Pe.isTyped(n[f])){if(f>=l.length){if(n[f].type==="overrides")continue;i.splice(d,1);break}if(n[f].type!==l[f].baseType){i.splice(d,1);break}}}}if(i.length===1&&n&&n.length!==i[0].inputs.length){const a=n[n.length-1];(a==null||Array.isArray(a)||typeof a!="object")&&i.splice(0,1)}if(i.length===0)return null;if(i.length>1&&r){const a=i.map(o=>JSON.stringify(o.format())).join(", ");D(!1,`ambiguous function description (i.e. matches ${a})`,"key",e)}return i[0]}const s=this.#n.get(Zt.from(e).format());return s||null}getFunctionName(e){const n=this.#s(e,null,!1);return D(n,"no matching function","key",e),n.name}hasFunction(e){return!!this.#s(e,null,!1)}getFunction(e,n){return this.#s(e,n||null,!0)}forEachFunction(e){const n=Array.from(this.#n.keys());n.sort((r,s)=>r.localeCompare(s));for(let r=0;r<n.length;r++){const s=n[r];e(this.#n.get(s),r)}}#a(e,n,r){if(Ee(e)){const i=e.toLowerCase();for(const a of this.#t.values())if(i===a.topicHash)return a;return null}if(e.indexOf("(")===-1){const i=[];for(const[a,o]of this.#t)a.split("(")[0]===e&&i.push(o);if(n){for(let a=i.length-1;a>=0;a--)i[a].inputs.length<n.length&&i.splice(a,1);for(let a=i.length-1;a>=0;a--){const o=i[a].inputs;for(let c=0;c<n.length;c++)if(Pe.isTyped(n[c])&&n[c].type!==o[c].baseType){i.splice(a,1);break}}}if(i.length===0)return null;if(i.length>1&&r){const a=i.map(o=>JSON.stringify(o.format())).join(", ");D(!1,`ambiguous event description (i.e. matches ${a})`,"key",e)}return i[0]}const s=this.#t.get(Yt.from(e).format());return s||null}getEventName(e){const n=this.#a(e,null,!1);return D(n,"no matching event","key",e),n.name}hasEvent(e){return!!this.#a(e,null,!1)}getEvent(e,n){return this.#a(e,n||null,!0)}forEachEvent(e){const n=Array.from(this.#t.keys());n.sort((r,s)=>r.localeCompare(s));for(let r=0;r<n.length;r++){const s=n[r];e(this.#t.get(s),r)}}getError(e,n){if(Ee(e)){const s=e.toLowerCase();if(fu[s])return mt.from(fu[s].signature);for(const i of this.#e.values())if(s===i.selector)return i;return null}if(e.indexOf("(")===-1){const s=[];for(const[i,a]of this.#e)i.split("(")[0]===e&&s.push(a);if(s.length===0)return e==="Error"?mt.from("error Error(string)"):e==="Panic"?mt.from("error Panic(uint256)"):null;if(s.length>1){const i=s.map(a=>JSON.stringify(a.format())).join(", ");D(!1,`ambiguous error description (i.e. ${i})`,"name",e)}return s[0]}if(e=mt.from(e).format(),e==="Error(string)")return mt.from("error Error(string)");if(e==="Panic(uint256)")return mt.from("error Panic(uint256)");const r=this.#e.get(e);return r||null}forEachError(e){const n=Array.from(this.#e.keys());n.sort((r,s)=>r.localeCompare(s));for(let r=0;r<n.length;r++){const s=n[r];e(this.#e.get(s),r)}}_decodeParams(e,n){return this.#r.decode(e,n)}_encodeParams(e,n){return this.#r.encode(e,n)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,n){if(typeof e=="string"){const r=this.getError(e);D(r,"unknown error","fragment",e),e=r}return D(xe(n,0,4)===e.selector,`data signature does not match error ${e.name}.`,"data",n),this._decodeParams(e.inputs,xe(n,4))}encodeErrorResult(e,n){if(typeof e=="string"){const r=this.getError(e);D(r,"unknown error","fragment",e),e=r}return De([e.selector,this._encodeParams(e.inputs,n||[])])}decodeFunctionData(e,n){if(typeof e=="string"){const r=this.getFunction(e);D(r,"unknown function","fragment",e),e=r}return D(xe(n,0,4)===e.selector,`data signature does not match function ${e.name}.`,"data",n),this._decodeParams(e.inputs,xe(n,4))}encodeFunctionData(e,n){if(typeof e=="string"){const r=this.getFunction(e);D(r,"unknown function","fragment",e),e=r}return De([e.selector,this._encodeParams(e.inputs,n||[])])}decodeFunctionResult(e,n){if(typeof e=="string"){const i=this.getFunction(e);D(i,"unknown function","fragment",e),e=i}let r="invalid length for result data";const s=rt(n);if(s.length%32===0)try{return this.#r.decode(e.outputs,s)}catch{r="could not decode result data"}W(!1,r,"BAD_DATA",{value:K(s),info:{method:e.name,signature:e.format()}})}makeError(e,n){const r=ce(e,"data"),s=Er.getBuiltinCallException("call",n,r);if(s.message.startsWith("execution reverted (unknown custom error)")){const o=K(r.slice(0,4)),c=this.getError(o);if(c)try{const d=this.#r.decode(c.inputs,r.slice(4));s.revert={name:c.name,signature:c.format(),args:d},s.reason=s.revert.signature,s.message=`execution reverted: ${s.reason}`}catch{s.message="execution reverted (coult not decode custom error)"}}const a=this.parseTransaction(n);return a&&(s.invocation={method:a.name,signature:a.signature,args:a.args}),s}encodeFunctionResult(e,n){if(typeof e=="string"){const r=this.getFunction(e);D(r,"unknown function","fragment",e),e=r}return K(this.#r.encode(e.outputs,n||[]))}encodeFilterTopics(e,n){if(typeof e=="string"){const i=this.getEvent(e);D(i,"unknown event","eventFragment",e),e=i}W(n.length<=e.inputs.length,`too many arguments for ${e.format()}`,"UNEXPECTED_ARGUMENT",{count:n.length,expectedCount:e.inputs.length});const r=[];e.anonymous||r.push(e.topicHash);const s=(i,a)=>i.type==="string"?Hn(a):i.type==="bytes"?Ne(K(a)):(i.type==="bool"&&typeof a=="boolean"?a=a?"0x01":"0x00":i.type.match(/^u?int/)?a=An(a):i.type.match(/^bytes/)?a=n1(a,32):i.type==="address"&&this.#r.encode(["address"],[a]),Wn(K(a),32));for(n.forEach((i,a)=>{const o=e.inputs[a];if(!o.indexed){D(i==null,"cannot filter non-indexed parameters; must be null","contract."+o.name,i);return}i==null?r.push(null):o.baseType==="array"||o.baseType==="tuple"?D(!1,"filtering with tuples or arrays not supported","contract."+o.name,i):Array.isArray(i)?r.push(i.map(c=>s(o,c))):r.push(s(o,i))});r.length&&r[r.length-1]===null;)r.pop();return r}encodeEventLog(e,n){if(typeof e=="string"){const a=this.getEvent(e);D(a,"unknown event","eventFragment",e),e=a}const r=[],s=[],i=[];return e.anonymous||r.push(e.topicHash),D(n.length===e.inputs.length,"event arguments/values mismatch","values",n),e.inputs.forEach((a,o)=>{const c=n[o];if(a.indexed)if(a.type==="string")r.push(Hn(c));else if(a.type==="bytes")r.push(Ne(c));else{if(a.baseType==="tuple"||a.baseType==="array")throw new Error("not implemented");r.push(this.#r.encode([a.type],[c]))}else s.push(a),i.push(c)}),{data:this.#r.encode(s,i),topics:r}}decodeEventLog(e,n,r){if(typeof e=="string"){const b=this.getEvent(e);D(b,"unknown event","eventFragment",e),e=b}if(r!=null&&!e.anonymous){const b=e.topicHash;D(Ee(r[0],32)&&r[0].toLowerCase()===b,"fragment/topic mismatch","topics[0]",r[0]),r=r.slice(1)}const s=[],i=[],a=[];e.inputs.forEach((b,w)=>{b.indexed?b.type==="string"||b.type==="bytes"||b.baseType==="tuple"||b.baseType==="array"?(s.push(we.from({type:"bytes32",name:b.name})),a.push(!0)):(s.push(b),a.push(!1)):(i.push(b),a.push(!1))});const o=r!=null?this.#r.decode(s,De(r)):null,c=this.#r.decode(i,n,!0),d=[],l=[];let f=0,m=0;return e.inputs.forEach((b,w)=>{let E=null;if(b.indexed)if(o==null)E=new du(null);else if(a[w])E=new du(o[m++]);else try{E=o[m++]}catch(y){E=y}else try{E=c[f++]}catch(y){E=y}d.push(E),l.push(b.name||null)}),mn.fromItems(d,l)}parseTransaction(e){const n=ce(e.data,"tx.data"),r=X(e.value!=null?e.value:0,"tx.value"),s=this.getFunction(K(n.slice(0,4)));if(!s)return null;const i=this.#r.decode(s.inputs,n.slice(4));return new s9(s,s.selector,i,r)}parseCallResult(e){throw new Error("@TODO")}parseLog(e){const n=this.getEvent(e.topics[0]);return!n||n.anonymous?null:new r9(n,n.topicHash,this.decodeEventLog(n,e.data,e.topics))}parseError(e){const n=K(e),r=this.getError(xe(n,0,4));if(!r)return null;const s=this.#r.decode(r.inputs,xe(n,4));return new i9(r,r.selector,s)}static from(e){return e instanceof en?e:typeof e=="string"?new en(JSON.parse(e)):typeof e.formatJson=="function"?new en(e.formatJson()):typeof e.format=="function"?new en(e.format("json")):new en(e)}}const Tm=BigInt(0);function Gr(t){return t??null}function Re(t){return t==null?null:t.toString()}class hu{gasPrice;maxFeePerGas;maxPriorityFeePerGas;constructor(e,n,r){ee(this,{gasPrice:Gr(e),maxFeePerGas:Gr(n),maxPriorityFeePerGas:Gr(r)})}toJSON(){const{gasPrice:e,maxFeePerGas:n,maxPriorityFeePerGas:r}=this;return{_type:"FeeData",gasPrice:Re(e),maxFeePerGas:Re(n),maxPriorityFeePerGas:Re(r)}}}function js(t){const e={};t.to&&(e.to=t.to),t.from&&(e.from=t.from),t.data&&(e.data=K(t.data));const n="chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(const s of n)!(s in t)||t[s]==null||(e[s]=X(t[s],`request.${s}`));const r="type,nonce".split(/,/);for(const s of r)!(s in t)||t[s]==null||(e[s]=ae(t[s],`request.${s}`));return t.accessList&&(e.accessList=xr(t.accessList)),"blockTag"in t&&(e.blockTag=t.blockTag),"enableCcipRead"in t&&(e.enableCcipRead=!!t.enableCcipRead),"customData"in t&&(e.customData=t.customData),"blobVersionedHashes"in t&&t.blobVersionedHashes&&(e.blobVersionedHashes=t.blobVersionedHashes.slice()),"kzg"in t&&(e.kzg=t.kzg),"blobs"in t&&t.blobs&&(e.blobs=t.blobs.map(s=>Ha(s)?K(s):Object.assign({},s))),e}class a9{provider;number;hash;timestamp;parentHash;parentBeaconBlockRoot;nonce;difficulty;gasLimit;gasUsed;stateRoot;receiptsRoot;blobGasUsed;excessBlobGas;miner;prevRandao;extraData;baseFeePerGas;#e;constructor(e,n){this.#e=e.transactions.map(r=>typeof r!="string"?new di(r,n):r),ee(this,{provider:n,hash:Gr(e.hash),number:e.number,timestamp:e.timestamp,parentHash:e.parentHash,parentBeaconBlockRoot:e.parentBeaconBlockRoot,nonce:e.nonce,difficulty:e.difficulty,gasLimit:e.gasLimit,gasUsed:e.gasUsed,blobGasUsed:e.blobGasUsed,excessBlobGas:e.excessBlobGas,miner:e.miner,prevRandao:Gr(e.prevRandao),extraData:e.extraData,baseFeePerGas:Gr(e.baseFeePerGas),stateRoot:e.stateRoot,receiptsRoot:e.receiptsRoot})}get transactions(){return this.#e.map(e=>typeof e=="string"?e:e.hash)}get prefetchedTransactions(){const e=this.#e.slice();return e.length===0?[]:(W(typeof e[0]=="object","transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),e)}toJSON(){const{baseFeePerGas:e,difficulty:n,extraData:r,gasLimit:s,gasUsed:i,hash:a,miner:o,prevRandao:c,nonce:d,number:l,parentHash:f,parentBeaconBlockRoot:m,stateRoot:b,receiptsRoot:w,timestamp:E,transactions:y}=this;return{_type:"Block",baseFeePerGas:Re(e),difficulty:Re(n),extraData:r,gasLimit:Re(s),gasUsed:Re(i),blobGasUsed:Re(this.blobGasUsed),excessBlobGas:Re(this.excessBlobGas),hash:a,miner:o,prevRandao:c,nonce:d,number:l,parentHash:f,timestamp:E,parentBeaconBlockRoot:m,stateRoot:b,receiptsRoot:w,transactions:y}}[Symbol.iterator](){let e=0;const n=this.transactions;return{next:()=>e<this.length?{value:n[e++],done:!1}:{value:void 0,done:!0}}}get length(){return this.#e.length}get date(){return this.timestamp==null?null:new Date(this.timestamp*1e3)}async getTransaction(e){let n;if(typeof e=="number")n=this.#e[e];else{const r=e.toLowerCase();for(const s of this.#e)if(typeof s=="string"){if(s!==r)continue;n=s;break}else{if(s.hash!==r)continue;n=s;break}}if(n==null)throw new Error("no such tx");return typeof n=="string"?await this.provider.getTransaction(n):n}getPrefetchedTransaction(e){const n=this.prefetchedTransactions;if(typeof e=="number")return n[e];e=e.toLowerCase();for(const r of n)if(r.hash===e)return r;D(!1,"no matching transaction","indexOrHash",e)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){if(!this.isMined())throw new Error("");return o9(this)}}class li{provider;transactionHash;blockHash;blockNumber;removed;address;data;topics;index;transactionIndex;constructor(e,n){this.provider=n;const r=Object.freeze(e.topics.slice());ee(this,{transactionHash:e.transactionHash,blockHash:e.blockHash,blockNumber:e.blockNumber,removed:e.removed,address:e.address,data:e.data,topics:r,index:e.index,transactionIndex:e.transactionIndex})}toJSON(){const{address:e,blockHash:n,blockNumber:r,data:s,index:i,removed:a,topics:o,transactionHash:c,transactionIndex:d}=this;return{_type:"log",address:e,blockHash:n,blockNumber:r,data:s,index:i,removed:a,topics:o,transactionHash:c,transactionIndex:d}}async getBlock(){const e=await this.provider.getBlock(this.blockHash);return W(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransaction(){const e=await this.provider.getTransaction(this.transactionHash);return W(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransactionReceipt(){const e=await this.provider.getTransactionReceipt(this.transactionHash);return W(!!e,"failed to find transaction receipt","UNKNOWN_ERROR",{}),e}removedEvent(){return c9(this)}}class vm{provider;to;from;contractAddress;hash;index;blockHash;blockNumber;logsBloom;gasUsed;blobGasUsed;cumulativeGasUsed;gasPrice;blobGasPrice;type;status;root;#e;constructor(e,n){this.#e=Object.freeze(e.logs.map(s=>new li(s,n)));let r=Tm;e.effectiveGasPrice!=null?r=e.effectiveGasPrice:e.gasPrice!=null&&(r=e.gasPrice),ee(this,{provider:n,to:e.to,from:e.from,contractAddress:e.contractAddress,hash:e.hash,index:e.index,blockHash:e.blockHash,blockNumber:e.blockNumber,logsBloom:e.logsBloom,gasUsed:e.gasUsed,cumulativeGasUsed:e.cumulativeGasUsed,blobGasUsed:e.blobGasUsed,gasPrice:r,blobGasPrice:e.blobGasPrice,type:e.type,status:e.status,root:e.root})}get logs(){return this.#e}toJSON(){const{to:e,from:n,contractAddress:r,hash:s,index:i,blockHash:a,blockNumber:o,logsBloom:c,logs:d,status:l,root:f}=this;return{_type:"TransactionReceipt",blockHash:a,blockNumber:o,contractAddress:r,cumulativeGasUsed:Re(this.cumulativeGasUsed),from:n,gasPrice:Re(this.gasPrice),blobGasUsed:Re(this.blobGasUsed),blobGasPrice:Re(this.blobGasPrice),gasUsed:Re(this.gasUsed),hash:s,index:i,logs:d,logsBloom:c,root:f,status:l,to:e}}get length(){return this.logs.length}[Symbol.iterator](){let e=0;return{next:()=>e<this.length?{value:this.logs[e++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){const e=await this.provider.getBlock(this.blockHash);if(e==null)throw new Error("TODO");return e}async getTransaction(){const e=await this.provider.getTransaction(this.hash);if(e==null)throw new Error("TODO");return e}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return km(this)}reorderedEvent(e){return W(!e||e.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),Im(this,e)}}class di{provider;blockNumber;blockHash;index;hash;type;to;from;nonce;gasLimit;gasPrice;maxPriorityFeePerGas;maxFeePerGas;maxFeePerBlobGas;data;value;chainId;signature;accessList;blobVersionedHashes;#e;constructor(e,n){this.provider=n,this.blockNumber=e.blockNumber!=null?e.blockNumber:null,this.blockHash=e.blockHash!=null?e.blockHash:null,this.hash=e.hash,this.index=e.index,this.type=e.type,this.from=e.from,this.to=e.to||null,this.gasLimit=e.gasLimit,this.nonce=e.nonce,this.data=e.data,this.value=e.value,this.gasPrice=e.gasPrice,this.maxPriorityFeePerGas=e.maxPriorityFeePerGas!=null?e.maxPriorityFeePerGas:null,this.maxFeePerGas=e.maxFeePerGas!=null?e.maxFeePerGas:null,this.maxFeePerBlobGas=e.maxFeePerBlobGas!=null?e.maxFeePerBlobGas:null,this.chainId=e.chainId,this.signature=e.signature,this.accessList=e.accessList!=null?e.accessList:null,this.blobVersionedHashes=e.blobVersionedHashes!=null?e.blobVersionedHashes:null,this.#e=-1}toJSON(){const{blockNumber:e,blockHash:n,index:r,hash:s,type:i,to:a,from:o,nonce:c,data:d,signature:l,accessList:f,blobVersionedHashes:m}=this;return{_type:"TransactionResponse",accessList:f,blockNumber:e,blockHash:n,blobVersionedHashes:m,chainId:Re(this.chainId),data:d,from:o,gasLimit:Re(this.gasLimit),gasPrice:Re(this.gasPrice),hash:s,maxFeePerGas:Re(this.maxFeePerGas),maxPriorityFeePerGas:Re(this.maxPriorityFeePerGas),maxFeePerBlobGas:Re(this.maxFeePerBlobGas),nonce:c,signature:l,to:a,index:r,type:i,value:Re(this.value)}}async getBlock(){let e=this.blockNumber;if(e==null){const r=await this.getTransaction();r&&(e=r.blockNumber)}if(e==null)return null;const n=this.provider.getBlock(e);if(n==null)throw new Error("TODO");return n}async getTransaction(){return this.provider.getTransaction(this.hash)}async confirmations(){if(this.blockNumber==null){const{tx:n,blockNumber:r}=await tt({tx:this.getTransaction(),blockNumber:this.provider.getBlockNumber()});return n==null||n.blockNumber==null?0:r-n.blockNumber+1}return await this.provider.getBlockNumber()-this.blockNumber+1}async wait(e,n){const r=e??1,s=n??0;let i=this.#e,a=-1,o=i===-1;const c=async()=>{if(o)return null;const{blockNumber:m,nonce:b}=await tt({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(b<this.nonce){i=m;return}if(o)return null;const w=await this.getTransaction();if(!(w&&w.blockNumber!=null))for(a===-1&&(a=i-3,a<this.#e&&(a=this.#e));a<=m;){if(o)return null;const E=await this.provider.getBlock(a,!0);if(E==null)return;for(const y of E)if(y===this.hash)return;for(let y=0;y<E.length;y++){const p=await E.getTransaction(y);if(p.from===this.from&&p.nonce===this.nonce){if(o)return null;const x=await this.provider.getTransactionReceipt(p.hash);if(x==null||m-x.blockNumber+1<r)return;let A="replaced";p.data===this.data&&p.to===this.to&&p.value===this.value?A="repriced":p.data==="0x"&&p.from===p.to&&p.value===Tm&&(A="cancelled"),W(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:A==="replaced"||A==="cancelled",reason:A,replacement:p.replaceableTransaction(i),hash:p.hash,receipt:x})}}a++}},d=m=>{if(m==null||m.status!==0)return m;W(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:m.to,from:m.from,data:""},receipt:m})},l=await this.provider.getTransactionReceipt(this.hash);if(r===0)return d(l);if(l){if(await l.confirmations()>=r)return d(l)}else if(await c(),r===0)return null;return await new Promise((m,b)=>{const w=[],E=()=>{w.forEach(p=>p())};if(w.push(()=>{o=!0}),s>0){const p=setTimeout(()=>{E(),b(Ue("wait for transaction timeout","TIMEOUT"))},s);w.push(()=>{clearTimeout(p)})}const y=async p=>{if(await p.confirmations()>=r){E();try{m(d(p))}catch(x){b(x)}}};if(w.push(()=>{this.provider.off(this.hash,y)}),this.provider.on(this.hash,y),i>=0){const p=async()=>{try{await c()}catch(x){if(Je(x,"TRANSACTION_REPLACED")){E(),b(x);return}}o||this.provider.once("block",p)};w.push(()=>{this.provider.off("block",p)}),this.provider.once("block",p)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}removedEvent(){return W(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),km(this)}reorderedEvent(e){return W(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),W(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),Im(this,e)}replaceableTransaction(e){D(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);const n=new di(this,this.provider);return n.#e=e,n}}function o9(t){return{orphan:"drop-block",hash:t.hash,number:t.number}}function Im(t,e){return{orphan:"reorder-transaction",tx:t,other:e}}function km(t){return{orphan:"drop-transaction",tx:t}}function c9(t){return{orphan:"drop-log",log:{transactionHash:t.transactionHash,blockHash:t.blockHash,blockNumber:t.blockNumber,address:t.address,data:t.data,topics:Object.freeze(t.topics.slice()),index:t.index}}}class jl extends li{interface;fragment;args;constructor(e,n,r){super(e,e.provider);const s=n.decodeEventLog(r,e.data,e.topics);ee(this,{args:s,fragment:r,interface:n})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}class Um extends li{error;constructor(e,n){super(e,e.provider),ee(this,{error:n})}}class l9 extends vm{#e;constructor(e,n,r){super(r,n),this.#e=e}get logs(){return super.logs.map(e=>{const n=e.topics.length?this.#e.getEvent(e.topics[0]):null;if(n)try{return new jl(e,this.#e,n)}catch(r){return new Um(e,r)}return e})}}class ql extends di{#e;constructor(e,n,r){super(r,n),this.#e=e}async wait(e,n){const r=await super.wait(e,n);return r==null?null:new l9(this.#e,this.provider,r)}}class Pm extends i1{log;constructor(e,n,r,s){super(e,n,r),ee(this,{log:s})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}}class d9 extends Pm{constructor(e,n,r,s,i){super(e,n,r,new jl(i,e.interface,s));const a=e.interface.decodeEventLog(s,this.log.data,this.log.topics);ee(this,{args:a,fragment:s})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}const mu=BigInt(0);function Nm(t){return t&&typeof t.call=="function"}function Rm(t){return t&&typeof t.estimateGas=="function"}function Za(t){return t&&typeof t.resolveName=="function"}function Om(t){return t&&typeof t.sendTransaction=="function"}function Mm(t){if(t!=null){if(Za(t))return t;if(t.provider)return t.provider}}class u9{#e;fragment;constructor(e,n,r){if(ee(this,{fragment:n}),n.inputs.length<r.length)throw new Error("too many arguments");const s=wr(e.runner,"resolveName"),i=Za(s)?s:null;this.#e=(async function(){const a=await Promise.all(n.inputs.map((o,c)=>r[c]==null?null:o.walkAsync(r[c],(l,f)=>l==="address"?Array.isArray(f)?Promise.all(f.map(m=>it(m,i))):it(f,i):f)));return e.interface.encodeFilterTopics(n,a)})()}getTopicFilter(){return this.#e}}function wr(t,e){return t==null?null:typeof t[e]=="function"?t:t.provider&&typeof t.provider[e]=="function"?t.provider:null}function nr(t){return t==null?null:t.provider||null}async function Kl(t,e){const n=Pe.dereference(t,"overrides");D(typeof n=="object","invalid overrides parameter","overrides",t);const r=js(n);return D(r.to==null||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",r.to),D(r.data==null||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",r.data),r.from&&(r.from=r.from),r}async function Lm(t,e,n){const r=wr(t,"resolveName"),s=Za(r)?r:null;return await Promise.all(e.map((i,a)=>i.walkAsync(n[a],(o,c)=>(c=Pe.dereference(c,o),o==="address"?it(c,s):c))))}function f9(t){const e=async function(a){const o=await Kl(a,["data"]);o.to=await t.getAddress(),o.from&&(o.from=await it(o.from,Mm(t.runner)));const c=t.interface,d=X(o.value||mu,"overrides.value")===mu,l=(o.data||"0x")==="0x";c.fallback&&!c.fallback.payable&&c.receive&&!l&&!d&&D(!1,"cannot send data to receive or send value to non-payable fallback","overrides",a),D(c.fallback||l,"cannot send data to receive-only contract","overrides.data",o.data);const f=c.receive||c.fallback&&c.fallback.payable;return D(f||d,"cannot send value to non-payable fallback","overrides.value",o.value),D(c.fallback||l,"cannot send data to receive-only contract","overrides.data",o.data),o},n=async function(a){const o=wr(t.runner,"call");W(Nm(o),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const c=await e(a);try{return await o.call(c)}catch(d){throw Fl(d)&&d.data?t.interface.makeError(d.data,c):d}},r=async function(a){const o=t.runner;W(Om(o),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const c=await o.sendTransaction(await e(a)),d=nr(t.runner);return new ql(t.interface,d,c)},s=async function(a){const o=wr(t.runner,"estimateGas");return W(Rm(o),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await o.estimateGas(await e(a))},i=async a=>await r(a);return ee(i,{_contract:t,estimateGas:s,populateTransaction:e,send:r,staticCall:n}),i}function h9(t,e){const n=function(...d){const l=t.interface.getFunction(e,d);return W(l,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:d}}),l},r=async function(...d){const l=n(...d);let f={};if(l.inputs.length+1===d.length&&(f=await Kl(d.pop()),f.from&&(f.from=await it(f.from,Mm(t.runner)))),l.inputs.length!==d.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");const m=await Lm(t.runner,l.inputs,d);return Object.assign({},f,await tt({to:t.getAddress(),data:t.interface.encodeFunctionData(l,m)}))},s=async function(...d){const l=await o(...d);return l.length===1?l[0]:l},i=async function(...d){const l=t.runner;W(Om(l),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const f=await l.sendTransaction(await r(...d)),m=nr(t.runner);return new ql(t.interface,m,f)},a=async function(...d){const l=wr(t.runner,"estimateGas");return W(Rm(l),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await l.estimateGas(await r(...d))},o=async function(...d){const l=wr(t.runner,"call");W(Nm(l),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const f=await r(...d);let m="0x";try{m=await l.call(f)}catch(w){throw Fl(w)&&w.data?t.interface.makeError(w.data,f):w}const b=n(...d);return t.interface.decodeFunctionResult(b,m)},c=async(...d)=>n(...d).constant?await s(...d):await i(...d);return ee(c,{name:t.interface.getFunctionName(e),_contract:t,_key:e,getFragment:n,estimateGas:a,populateTransaction:r,send:i,staticCall:s,staticCallResult:o}),Object.defineProperty(c,"fragment",{configurable:!1,enumerable:!0,get:()=>{const d=t.interface.getFunction(e);return W(d,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),d}}),c}function m9(t,e){const n=function(...s){const i=t.interface.getEvent(e,s);return W(i,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:s}}),i},r=function(...s){return new u9(t,n(...s),s)};return ee(r,{name:t.interface.getEventName(e),_contract:t,_key:e,getFragment:n}),Object.defineProperty(r,"fragment",{configurable:!1,enumerable:!0,get:()=>{const s=t.interface.getEvent(e);return W(s,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),s}}),r}const ya=Symbol.for("_ethersInternal_contract"),Wm=new WeakMap;function b9(t,e){Wm.set(t[ya],e)}function Et(t){return Wm.get(t[ya])}function p9(t){return t&&typeof t=="object"&&"getTopicFilter"in t&&typeof t.getTopicFilter=="function"&&t.fragment}async function Ql(t,e){let n,r=null;if(Array.isArray(e)){const i=function(a){if(Ee(a,32))return a;const o=t.interface.getEvent(a);return D(o,"unknown fragment","name",a),o.topicHash};n=e.map(a=>a==null?null:Array.isArray(a)?a.map(i):i(a))}else e==="*"?n=[null]:typeof e=="string"?Ee(e,32)?n=[e]:(r=t.interface.getEvent(e),D(r,"unknown fragment","event",e),n=[r.topicHash]):p9(e)?n=await e.getTopicFilter():"fragment"in e?(r=e.fragment,n=[r.topicHash]):D(!1,"unknown event name","event",e);n=n.map(i=>{if(i==null)return null;if(Array.isArray(i)){const a=Array.from(new Set(i.map(o=>o.toLowerCase())).values());return a.length===1?a[0]:(a.sort(),a)}return i.toLowerCase()});const s=n.map(i=>i==null?"null":Array.isArray(i)?i.join("|"):i).join("&");return{fragment:r,tag:s,topics:n}}async function Ds(t,e){const{subs:n}=Et(t);return n.get((await Ql(t,e)).tag)||null}async function bu(t,e,n){const r=nr(t.runner);W(r,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});const{fragment:s,tag:i,topics:a}=await Ql(t,n),{addr:o,subs:c}=Et(t);let d=c.get(i);if(!d){const f={address:o||t,topics:a},m=y=>{let p=s;if(p==null)try{p=t.interface.getEvent(y.topics[0])}catch{}if(p){const x=p,A=s?t.interface.decodeEventLog(s,y.data,y.topics):[];vc(t,n,A,S=>new d9(t,S,n,x,y))}else vc(t,n,[],x=>new Pm(t,x,n,y))};let b=[];d={tag:i,listeners:[],start:()=>{b.length||b.push(r.on(f,m))},stop:async()=>{if(b.length==0)return;let y=b;b=[],await Promise.all(y),r.off(f,m)}},c.set(i,d)}return d}let Tc=Promise.resolve();async function g9(t,e,n,r){await Tc;const s=await Ds(t,e);if(!s)return!1;const i=s.listeners.length;return s.listeners=s.listeners.filter(({listener:a,once:o})=>{const c=Array.from(n);r&&c.push(r(o?null:a));try{a.call(t,...c)}catch{}return!o}),s.listeners.length===0&&(s.stop(),Et(t).subs.delete(s.tag)),i>0}async function vc(t,e,n,r){try{await Tc}catch{}const s=g9(t,e,n,r);return Tc=s,await s}const Si=["then"];class ur{target;interface;runner;filters;[ya];fallback;constructor(e,n,r,s){D(typeof e=="string"||j1(e),"invalid value for Contract target","target",e),r==null&&(r=null);const i=en.from(n);ee(this,{target:e,runner:r,interface:i}),Object.defineProperty(this,ya,{value:{}});let a,o=null,c=null;if(s){const f=nr(r);c=new ql(this.interface,f,s)}let d=new Map;if(typeof e=="string")if(Ee(e))o=e,a=Promise.resolve(e);else{const f=wr(r,"resolveName");if(!Za(f))throw Ue("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});a=f.resolveName(e).then(m=>{if(m==null)throw Ue("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:e});return Et(this).addr=m,m})}else a=e.getAddress().then(f=>{if(f==null)throw new Error("TODO");return Et(this).addr=f,f});b9(this,{addrPromise:a,addr:o,deployTx:c,subs:d});const l=new Proxy({},{get:(f,m,b)=>{if(typeof m=="symbol"||Si.indexOf(m)>=0)return Reflect.get(f,m,b);try{return this.getEvent(m)}catch(w){if(!Je(w,"INVALID_ARGUMENT")||w.argument!=="key")throw w}},has:(f,m)=>Si.indexOf(m)>=0?Reflect.has(f,m):Reflect.has(f,m)||this.interface.hasEvent(String(m))});return ee(this,{filters:l}),ee(this,{fallback:i.receive||i.fallback?f9(this):null}),new Proxy(this,{get:(f,m,b)=>{if(typeof m=="symbol"||m in f||Si.indexOf(m)>=0)return Reflect.get(f,m,b);try{return f.getFunction(m)}catch(w){if(!Je(w,"INVALID_ARGUMENT")||w.argument!=="key")throw w}},has:(f,m)=>typeof m=="symbol"||m in f||Si.indexOf(m)>=0?Reflect.has(f,m):f.interface.hasFunction(m)})}connect(e){return new ur(this.target,this.interface,e)}attach(e){return new ur(e,this.interface,this.runner)}async getAddress(){return await Et(this).addrPromise}async getDeployedCode(){const e=nr(this.runner);W(e,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});const n=await e.getCode(await this.getAddress());return n==="0x"?null:n}async waitForDeployment(){const e=this.deploymentTransaction();if(e)return await e.wait(),this;if(await this.getDeployedCode()!=null)return this;const r=nr(this.runner);return W(r!=null,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((s,i)=>{const a=async()=>{try{if(await this.getDeployedCode()!=null)return s(this);r.once("block",a)}catch(o){i(o)}};a()})}deploymentTransaction(){return Et(this).deployTx}getFunction(e){return typeof e!="string"&&(e=e.format()),h9(this,e)}getEvent(e){return typeof e!="string"&&(e=e.format()),m9(this,e)}async queryTransaction(e){throw new Error("@TODO")}async queryFilter(e,n,r){n==null&&(n=0),r==null&&(r="latest");const{addr:s,addrPromise:i}=Et(this),a=s||await i,{fragment:o,topics:c}=await Ql(this,e),d={address:a,topics:c,fromBlock:n,toBlock:r},l=nr(this.runner);return W(l,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await l.getLogs(d)).map(f=>{let m=o;if(m==null)try{m=this.interface.getEvent(f.topics[0])}catch{}if(m)try{return new jl(f,this.interface,m)}catch(b){return new Um(f,b)}return new li(f,l)})}async on(e,n){const r=await bu(this,"on",e);return r.listeners.push({listener:n,once:!1}),r.start(),this}async once(e,n){const r=await bu(this,"once",e);return r.listeners.push({listener:n,once:!0}),r.start(),this}async emit(e,...n){return await vc(this,e,n,null)}async listenerCount(e){if(e){const s=await Ds(this,e);return s?s.listeners.length:0}const{subs:n}=Et(this);let r=0;for(const{listeners:s}of n.values())r+=s.length;return r}async listeners(e){if(e){const s=await Ds(this,e);return s?s.listeners.map(({listener:i})=>i):[]}const{subs:n}=Et(this);let r=[];for(const{listeners:s}of n.values())r=r.concat(s.map(({listener:i})=>i));return r}async off(e,n){const r=await Ds(this,e);if(!r)return this;if(n){const s=r.listeners.map(({listener:i})=>i).indexOf(n);s>=0&&r.listeners.splice(s,1)}return(n==null||r.listeners.length===0)&&(r.stop(),Et(this).subs.delete(r.tag)),this}async removeAllListeners(e){if(e){const n=await Ds(this,e);if(!n)return this;n.stop(),Et(this).subs.delete(n.tag)}else{const{subs:n}=Et(this);for(const{tag:r,stop:s}of n.values())s(),n.delete(r)}return this}async addListener(e,n){return await this.on(e,n)}async removeListener(e,n){return await this.off(e,n)}static buildClass(e){class n extends ur{constructor(s,i=null){super(s,e,i)}}return n}static from(e,n,r){return r==null&&(r=null),new this(e,n,r)}}function y9(){return ur}class fr extends y9(){}class eo{interface;bytecode;runner;constructor(e,n,r){const s=en.from(e);n instanceof Uint8Array||(typeof n=="object"&&(n=n.object),n.startsWith("0x")||(n="0x"+n)),n=K(ce(n)),ee(this,{bytecode:n,interface:s,runner:r||null})}attach(e){return new ur(e,this.interface,this.runner)}async getDeployTransaction(...e){let n={};const r=this.interface.deploy;if(r.inputs.length+1===e.length&&(n=await Kl(e.pop())),r.inputs.length!==e.length)throw new Error("incorrect number of arguments to constructor");const s=await Lm(this.runner,r.inputs,e),i=De([this.bytecode,this.interface.encodeDeploy(s)]);return Object.assign({},n,{data:i})}async deploy(...e){const n=await this.getDeployTransaction(...e);W(this.runner&&typeof this.runner.sendTransaction=="function","factory runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const r=await this.runner.sendTransaction(n),s=_1(r);return new ur(s,this.interface,this.runner,r)}connect(e){return new eo(this.interface,this.bytecode,e)}static fromSolidity(e,n){D(e!=null,"bad compiler output","output",e),typeof e=="string"&&(e=JSON.parse(e));const r=e.abi;let s="";return e.bytecode?s=e.bytecode:e.evm&&e.evm.bytecode&&(s=e.evm.bytecode),new this(r,s,n)}}function ko(t){return t.match(/^ipfs:\/\/ipfs\//i)?t=t.substring(12):t.match(/^ipfs:\/\//i)?t=t.substring(7):D(!1,"unsupported IPFS format","link",t),`https://gateway.ipfs.io/ipfs/${t}`}class A9{name;constructor(e){ee(this,{name:e})}connect(e){return this}supportsCoinType(e){return!1}async encodeAddress(e,n){throw new Error("unsupported coin")}async decodeAddress(e,n){throw new Error("unsupported coin")}}const Hm=new RegExp("^(ipfs)://(.*)$","i"),pu=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),Hm,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];class Vr{provider;address;name;#e;#t;constructor(e,n,r){ee(this,{provider:e,address:n,name:r}),this.#e=null,this.#t=new fr(n,["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)"],e)}async supportsWildcard(){return this.#e==null&&(this.#e=(async()=>{try{return await this.#t.supportsInterface("0x9061b923")}catch(e){if(Je(e,"CALL_EXCEPTION"))return!1;throw this.#e=null,e}})()),await this.#e}async#n(e,n){n=(n||[]).slice();const r=this.#t.interface;n.unshift(Sc(this.name));let s=null;await this.supportsWildcard()&&(s=r.getFunction(e),W(s,"missing fragment","UNKNOWN_ERROR",{info:{funcName:e}}),n=[E4(this.name,255),r.encodeFunctionData(s,n)],e="resolve(bytes,bytes)"),n.push({enableCcipRead:!0});try{const i=await this.#t[e](...n);return s?r.decodeFunctionResult(s,i)[0]:i}catch(i){if(!Je(i,"CALL_EXCEPTION"))throw i}return null}async getAddress(e){if(e==null&&(e=60),e===60)try{const i=await this.#n("addr(bytes32)");return i==null||i===es?null:i}catch(i){if(Je(i,"CALL_EXCEPTION"))return null;throw i}if(e>=0&&e<2147483648){let i=e+2147483648;const a=await this.#n("addr(bytes32,uint)",[i]);if(Ee(a,20))return fe(a)}let n=null;for(const i of this.provider.plugins)if(i instanceof A9&&i.supportsCoinType(e)){n=i;break}if(n==null)return null;const r=await this.#n("addr(bytes32,uint)",[e]);if(r==null||r==="0x")return null;const s=await n.decodeAddress(e,r);if(s!=null)return s;W(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${e})`,info:{coinType:e,data:r}})}async getText(e){const n=await this.#n("text(bytes32,string)",[e]);return n==null||n==="0x"?null:n}async getContentHash(){const e=await this.#n("contenthash(bytes32)");if(e==null||e==="0x")return null;const n=e.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(n){const s=n[1]==="e3010170"?"ipfs":"ipns",i=parseInt(n[4],16);if(n[5].length===i*2)return`${s}://${s1("0x"+n[2])}`}const r=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(r&&r[1].length===64)return`bzz://${r[1]}`;W(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:e}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){const e=[{type:"name",value:this.name}];try{const n=await this.getText("avatar");if(n==null)return e.push({type:"!avatar",value:""}),{url:null,linkage:e};e.push({type:"avatar",value:n});for(let r=0;r<pu.length;r++){const s=n.match(pu[r]);if(s==null)continue;const i=s[1].toLowerCase();switch(i){case"https":case"data":return e.push({type:"url",value:n}),{linkage:e,url:n};case"ipfs":{const a=ko(n);return e.push({type:"ipfs",value:n}),e.push({type:"url",value:a}),{linkage:e,url:a}}case"erc721":case"erc1155":{const a=i==="erc721"?"tokenURI(uint256)":"uri(uint256)";e.push({type:i,value:n});const o=await this.getAddress();if(o==null)return e.push({type:"!owner",value:""}),{url:null,linkage:e};const c=(s[2]||"").split("/");if(c.length!==2)return e.push({type:`!${i}caip`,value:s[2]||""}),{url:null,linkage:e};const d=c[1],l=new fr(c[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 E=await l.ownerOf(d);if(o!==E)return e.push({type:"!owner",value:E}),{url:null,linkage:e};e.push({type:"owner",value:E})}else if(i==="erc1155"){const E=await l.balanceOf(o,d);if(!E)return e.push({type:"!balance",value:"0"}),{url:null,linkage:e};e.push({type:"balance",value:E.toString()})}let f=await l[a](d);if(f==null||f==="0x")return e.push({type:"!metadata-url",value:""}),{url:null,linkage:e};e.push({type:"metadata-url-base",value:f}),i==="erc1155"&&(f=f.replace("{id}",An(d,32).substring(2)),e.push({type:"metadata-url-expanded",value:f})),f.match(/^ipfs:/i)&&(f=ko(f)),e.push({type:"metadata-url",value:f});let m={};const b=await new nn(f).send();b.assertOk();try{m=b.bodyJson}catch{try{e.push({type:"!metadata",value:b.bodyText})}catch{const p=b.body;return p&&e.push({type:"!metadata",value:K(p)}),{url:null,linkage:e}}return{url:null,linkage:e}}if(!m)return e.push({type:"!metadata",value:""}),{url:null,linkage:e};e.push({type:"metadata",value:JSON.stringify(m)});let w=m.image;if(typeof w!="string")return e.push({type:"!imageUrl",value:""}),{url:null,linkage:e};if(!w.match(/^(https:\/\/|data:)/i)){if(w.match(Hm)==null)return e.push({type:"!imageUrl-ipfs",value:w}),{url:null,linkage:e};e.push({type:"imageUrl-ipfs",value:w}),w=ko(w)}return e.push({type:"url",value:w}),{linkage:e,url:w}}}}}catch{}return{linkage:e,url:null}}static async getEnsAddress(e){const n=await e.getNetwork(),r=n.getPlugin("org.ethers.plugins.network.Ens");return W(r,"network does not support ENS","UNSUPPORTED_OPERATION",{operation:"getEnsAddress",info:{network:n}}),r.address}static async#r(e,n){const r=await Vr.getEnsAddress(e);try{const i=await new fr(r,["function resolver(bytes32) view returns (address)"],e).resolver(Sc(n),{enableCcipRead:!0});return i===es?null:i}catch(s){throw s}return null}static async fromName(e,n){let r=n;for(;;){if(r===""||r==="."||n!=="eth"&&r==="eth")return null;const s=await Vr.#r(e,r);if(s!=null){const i=new Vr(e,s,n);return r!==n&&!await i.supportsWildcard()?null:i}r=r.split(".").slice(1).join(".")}}}const gu=BigInt(0);function he(t,e){return(function(n){return n==null?e:t(n)})}function to(t,e){return(n=>{if(e&&n==null)return null;if(!Array.isArray(n))throw new Error("not an array");return n.map(r=>t(r))})}function ui(t,e){return(n=>{const r={};for(const s in t){let i=s;if(e&&s in e&&!(i in n)){for(const a of e[s])if(a in n){i=a;break}}try{const a=t[s](n[i]);a!==void 0&&(r[s]=a)}catch(a){const o=a instanceof Error?a.message:"not-an-error";W(!1,`invalid value for value.${s} (${o})`,"BAD_DATA",{value:n})}}return r})}function E9(t){switch(t){case!0:case"true":return!0;case!1:case"false":return!1}D(!1,`invalid boolean; ${JSON.stringify(t)}`,"value",t)}function rs(t){return D(Ee(t,!0),"invalid data","value",t),t}function $e(t){return D(Ee(t,32),"invalid hash","value",t),t}const w9=ui({address:fe,blockHash:$e,blockNumber:ae,data:rs,index:ae,removed:he(E9,!1),topics:to($e),transactionHash:$e,transactionIndex:ae},{index:["logIndex"]});function B9(t){return w9(t)}const C9=ui({hash:he($e),parentHash:$e,parentBeaconBlockRoot:he($e,null),number:ae,timestamp:ae,nonce:he(rs),difficulty:X,gasLimit:X,gasUsed:X,stateRoot:he($e,null),receiptsRoot:he($e,null),blobGasUsed:he(X,null),excessBlobGas:he(X,null),miner:he(fe),prevRandao:he($e,null),extraData:rs,baseFeePerGas:he(X)},{prevRandao:["mixHash"]});function x9(t){const e=C9(t);return e.transactions=t.transactions.map(n=>typeof n=="string"?n:zm(n)),e}const D9=ui({transactionIndex:ae,blockNumber:ae,transactionHash:$e,address:fe,topics:to($e),data:rs,index:ae,blockHash:$e},{index:["logIndex"]});function F9(t){return D9(t)}const S9=ui({to:he(fe,null),from:he(fe,null),contractAddress:he(fe,null),index:ae,root:he(K),gasUsed:X,blobGasUsed:he(X,null),logsBloom:he(rs),blockHash:$e,hash:$e,logs:to(F9),blockNumber:ae,cumulativeGasUsed:X,effectiveGasPrice:he(X),blobGasPrice:he(X,null),status:he(ae),type:he(ae,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function T9(t){return S9(t)}function zm(t){t.to&&X(t.to)===gu&&(t.to="0x0000000000000000000000000000000000000000");const e=ui({hash:$e,index:he(ae,void 0),type:n=>n==="0x"||n==null?0:ae(n),accessList:he(xr,null),blobVersionedHashes:he(to($e,!0),null),blockHash:he($e,null),blockNumber:he(ae,null),transactionIndex:he(ae,null),from:fe,gasPrice:he(X),maxPriorityFeePerGas:he(X),maxFeePerGas:he(X),maxFeePerBlobGas:he(X,null),gasLimit:X,to:he(fe,null),value:X,nonce:ae,data:rs,creates:he(fe,null),chainId:he(X,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(t);if(e.to==null&&e.creates==null&&(e.creates=_1(e)),(t.type===1||t.type===2)&&t.accessList==null&&(e.accessList=[]),t.signature?e.signature=Ge.from(t.signature):e.signature=Ge.from(t),e.chainId==null){const n=e.signature.legacyChainId;n!=null&&(e.chainId=n)}return e.blockHash&&X(e.blockHash)===gu&&(e.blockHash=null),e}const v9="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e";class fi{name;constructor(e){ee(this,{name:e})}clone(){return new fi(this.name)}}class no extends fi{effectiveBlock;txBase;txCreate;txDataZero;txDataNonzero;txAccessListStorageKey;txAccessListAddress;constructor(e,n){e==null&&(e=0),super(`org.ethers.network.plugins.GasCost#${e||0}`);const r={effectiveBlock:e};function s(i,a){let o=(n||{})[i];o==null&&(o=a),D(typeof o=="number",`invalud value for ${i}`,"costs",n),r[i]=o}s("txBase",21e3),s("txCreate",32e3),s("txDataZero",4),s("txDataNonzero",16),s("txAccessListStorageKey",1900),s("txAccessListAddress",2400),ee(this,r)}clone(){return new no(this.effectiveBlock,this)}}class ro extends fi{address;targetNetwork;constructor(e,n){super("org.ethers.plugins.network.Ens"),ee(this,{address:e||v9,targetNetwork:n??1})}clone(){return new ro(this.address,this.targetNetwork)}}class I9 extends fi{#e;#t;get url(){return this.#e}get processFunc(){return this.#t}constructor(e,n){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin"),this.#e=e,this.#t=n}clone(){return this}}const Uo=new Map;class Ct{#e;#t;#n;constructor(e,n){this.#e=e,this.#t=X(n),this.#n=new Map}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return this.#e}set name(e){this.#e=e}get chainId(){return this.#t}set chainId(e){this.#t=X(e,"chainId")}matches(e){if(e==null)return!1;if(typeof e=="string"){try{return this.chainId===X(e)}catch{}return this.name===e}if(typeof e=="number"||typeof e=="bigint"){try{return this.chainId===X(e)}catch{}return!1}if(typeof e=="object"){if(e.chainId!=null){try{return this.chainId===X(e.chainId)}catch{}return!1}return e.name!=null?this.name===e.name:!1}return!1}get plugins(){return Array.from(this.#n.values())}attachPlugin(e){if(this.#n.get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return this.#n.set(e.name,e.clone()),this}getPlugin(e){return this.#n.get(e)||null}getPlugins(e){return this.plugins.filter(n=>n.name.split("#")[0]===e)}clone(){const e=new Ct(this.name,this.chainId);return this.plugins.forEach(n=>{e.attachPlugin(n.clone())}),e}computeIntrinsicGas(e){const n=this.getPlugin("org.ethers.plugins.network.GasCost")||new no;let r=n.txBase;if(e.to==null&&(r+=n.txCreate),e.data)for(let s=2;s<e.data.length;s+=2)e.data.substring(s,s+2)==="00"?r+=n.txDataZero:r+=n.txDataNonzero;if(e.accessList){const s=xr(e.accessList);for(const i in s)r+=n.txAccessListAddress+n.txAccessListStorageKey*s[i].storageKeys.length}return r}static from(e){if(k9(),e==null)return Ct.from("mainnet");if(typeof e=="number"&&(e=BigInt(e)),typeof e=="string"||typeof e=="bigint"){const n=Uo.get(e);if(n)return n();if(typeof e=="bigint")return new Ct("unknown",e);D(!1,"unknown network","network",e)}if(typeof e.clone=="function")return e.clone();if(typeof e=="object"){D(typeof e.name=="string"&&typeof e.chainId=="number","invalid network object name or chainId","network",e);const n=new Ct(e.name,e.chainId);return(e.ensAddress||e.ensNetwork!=null)&&n.attachPlugin(new ro(e.ensAddress,e.ensNetwork)),n}D(!1,"invalid network","network",e)}static register(e,n){typeof e=="number"&&(e=BigInt(e));const r=Uo.get(e);r&&D(!1,`conflicting network for ${JSON.stringify(r.name)}`,"nameOrChainId",e),Uo.set(e,n)}}function yu(t,e){const n=String(t);if(!n.match(/^[0-9.]+$/))throw new Error(`invalid gwei value: ${t}`);const r=n.split(".");if(r.length===1&&r.push(""),r.length!==2)throw new Error(`invalid gwei value: ${t}`);for(;r[1].length<e;)r[1]+="0";if(r[1].length>9){let s=BigInt(r[1].substring(0,9));r[1].substring(9).match(/^0+$/)||s++,r[1]=s.toString()}return BigInt(r[0]+r[1])}function Au(t){return new I9(t,async(e,n,r)=>{r.setHeader("User-Agent","ethers");let s;try{const[i,a]=await Promise.all([r.send(),e()]);s=i;const o=s.bodyJson.standard;return{gasPrice:a.gasPrice,maxFeePerGas:yu(o.maxFee,9),maxPriorityFeePerGas:yu(o.maxPriorityFee,9)}}catch(i){W(!1,`error encountered with polygon gas station (${JSON.stringify(r.url)})`,"SERVER_ERROR",{request:r,response:s,error:i})}})}let Eu=!1;function k9(){if(Eu)return;Eu=!0;function t(e,n,r){const s=function(){const i=new Ct(e,n);return r.ensNetwork!=null&&i.attachPlugin(new ro(null,r.ensNetwork)),i.attachPlugin(new no),(r.plugins||[]).forEach(a=>{i.attachPlugin(a)}),i};Ct.register(e,s),Ct.register(n,s),r.altNames&&r.altNames.forEach(i=>{Ct.register(i,s)})}t("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),t("ropsten",3,{ensNetwork:3}),t("rinkeby",4,{ensNetwork:4}),t("goerli",5,{ensNetwork:5}),t("kovan",42,{ensNetwork:42}),t("sepolia",11155111,{ensNetwork:11155111}),t("holesky",17e3,{ensNetwork:17e3}),t("classic",61,{}),t("classicKotti",6,{}),t("arbitrum",42161,{ensNetwork:1}),t("arbitrum-goerli",421613,{}),t("arbitrum-sepolia",421614,{}),t("base",8453,{ensNetwork:1}),t("base-goerli",84531,{}),t("base-sepolia",84532,{}),t("bnb",56,{ensNetwork:1}),t("bnbt",97,{}),t("linea",59144,{ensNetwork:1}),t("linea-goerli",59140,{}),t("linea-sepolia",59141,{}),t("matic",137,{ensNetwork:1,plugins:[Au("https://gasstation.polygon.technology/v2")]}),t("matic-amoy",80002,{}),t("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[Au("https://gasstation-testnet.polygon.technology/v2")]}),t("optimism",10,{ensNetwork:1,plugins:[]}),t("optimism-goerli",420,{}),t("optimism-sepolia",11155420,{}),t("xdai",100,{ensNetwork:1})}function Ic(t){return JSON.parse(JSON.stringify(t))}class U9{#e;#t;#n;#r;constructor(e){this.#e=e,this.#t=null,this.#n=4e3,this.#r=-2}get pollingInterval(){return this.#n}set pollingInterval(e){this.#n=e}async#s(){try{const e=await this.#e.getBlockNumber();if(this.#r===-2){this.#r=e;return}if(e!==this.#r){for(let n=this.#r+1;n<=e;n++){if(this.#t==null)return;await this.#e.emit("block",n)}this.#r=e}}catch{}this.#t!=null&&(this.#t=this.#e._setTimeout(this.#s.bind(this),this.#n))}start(){this.#t||(this.#t=this.#e._setTimeout(this.#s.bind(this),this.#n),this.#s())}stop(){this.#t&&(this.#e._clearTimeout(this.#t),this.#t=null)}pause(e){this.stop(),e&&(this.#r=-2)}resume(){this.start()}}class $l{#e;#t;#n;constructor(e){this.#e=e,this.#n=!1,this.#t=n=>{this._poll(n,this.#e)}}async _poll(e,n){throw new Error("sub-classes must override this")}start(){this.#n||(this.#n=!0,this.#t(-2),this.#e.on("block",this.#t))}stop(){this.#n&&(this.#n=!1,this.#e.off("block",this.#t))}pause(e){this.stop()}resume(){this.start()}}class P9 extends $l{#e;#t;constructor(e,n){super(e),this.#e=n,this.#t=-2}pause(e){e&&(this.#t=-2),super.pause(e)}async _poll(e,n){const r=await n.getBlock(this.#e);r!=null&&(this.#t===-2?this.#t=r.number:r.number>this.#t&&(n.emit(this.#e,r.number),this.#t=r.number))}}class N9 extends $l{#e;constructor(e,n){super(e),this.#e=Ic(n)}async _poll(e,n){throw new Error("@TODO")}}class R9 extends $l{#e;constructor(e,n){super(e),this.#e=n}async _poll(e,n){const r=await n.getTransactionReceipt(this.#e);r&&n.emit(this.#e,r)}}class Jl{#e;#t;#n;#r;#s;constructor(e,n){this.#e=e,this.#t=Ic(n),this.#n=this.#a.bind(this),this.#r=!1,this.#s=-2}async#a(e){if(this.#s===-2)return;const n=Ic(this.#t);n.fromBlock=this.#s+1,n.toBlock=e;const r=await this.#e.getLogs(n);if(r.length===0){this.#s<e-60&&(this.#s=e-60);return}for(const s of r)this.#e.emit(this.#t,s),this.#s=s.blockNumber}start(){this.#r||(this.#r=!0,this.#s===-2&&this.#e.getBlockNumber().then(e=>{this.#s=e}),this.#e.on("block",this.#n))}stop(){this.#r&&(this.#r=!1,this.#e.off("block",this.#n))}pause(e){this.stop(),e&&(this.#s=-2)}resume(){this.start()}}const O9=BigInt(2),M9=10;function Ti(t){return t&&typeof t.then=="function"}function Qi(t,e){return t+":"+JSON.stringify(e,(n,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 s=Object.keys(r);return s.sort(),s.reduce((i,a)=>(i[a]=r[a],i),{})}return r})}class Gm{name;constructor(e){ee(this,{name:e})}start(){}stop(){}pause(e){}resume(){}}function L9(t){return JSON.parse(JSON.stringify(t))}function kc(t){return t=Array.from(new Set(t).values()),t.sort(),t}async function Po(t,e){if(t==null)throw new Error("invalid event");if(Array.isArray(t)&&(t={topics:t}),typeof t=="string")switch(t){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:t,tag:t}}if(Ee(t,32)){const n=t.toLowerCase();return{type:"transaction",tag:Qi("tx",{hash:n}),hash:n}}if(t.orphan){const n=t;return{type:"orphan",tag:Qi("orphan",n),filter:L9(n)}}if(t.address||t.topics){const n=t,r={topics:(n.topics||[]).map(s=>s==null?null:Array.isArray(s)?kc(s.map(i=>i.toLowerCase())):s.toLowerCase())};if(n.address){const s=[],i=[],a=o=>{Ee(o)?s.push(o):i.push((async()=>{s.push(await it(o,e))})())};Array.isArray(n.address)?n.address.forEach(a):a(n.address),i.length&&await Promise.all(i),r.address=kc(s.map(o=>o.toLowerCase()))}return{filter:r,tag:Qi("event",r),type:"event"}}D(!1,"unknown ProviderEvent","event",t)}function No(){return new Date().getTime()}const W9={cacheTimeout:250,pollingInterval:4e3};class H9{#e;#t;#n;#r;#s;#a;#i;#o;#h;#l;#m;#b;constructor(e,n){if(this.#b=Object.assign({},W9,n||{}),e==="any")this.#a=!0,this.#s=null;else if(e){const r=Ct.from(e);this.#a=!1,this.#s=Promise.resolve(r),setTimeout(()=>{this.emit("network",r,null)},0)}else this.#a=!1,this.#s=null;this.#o=-1,this.#i=new Map,this.#e=new Map,this.#t=new Map,this.#n=null,this.#r=!1,this.#h=1,this.#l=new Map,this.#m=!1}get pollingInterval(){return this.#b.pollingInterval}get provider(){return this}get plugins(){return Array.from(this.#t.values())}attachPlugin(e){if(this.#t.get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return this.#t.set(e.name,e.connect(this)),this}getPlugin(e){return this.#t.get(e)||null}get disableCcipRead(){return this.#m}set disableCcipRead(e){this.#m=!!e}async#c(e){const n=this.#b.cacheTimeout;if(n<0)return await this._perform(e);const r=Qi(e.method,e);let s=this.#i.get(r);return s||(s=this._perform(e),this.#i.set(r,s),setTimeout(()=>{this.#i.get(r)===s&&this.#i.delete(r)},n)),await s}async ccipReadFetch(e,n,r){if(this.disableCcipRead||r.length===0||e.to==null)return null;const s=e.to.toLowerCase(),i=n.toLowerCase(),a=[];for(let o=0;o<r.length;o++){const c=r[o],d=c.replace("{sender}",s).replace("{data}",i),l=new nn(d);c.indexOf("{data}")===-1&&(l.body={data:i,sender:s}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:l,index:o,urls:r});let f="unknown error",m;try{m=await l.send()}catch(b){a.push(b.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:l,result:{error:b}});continue}try{const b=m.bodyJson;if(b.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:l,result:b}),b.data;b.message&&(f=b.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:l,result:b})}catch{}W(m.statusCode<400||m.statusCode>=500,`response not found during CCIP fetch: ${f}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:e,info:{url:c,errorMessage:f}}),a.push(f)}W(!1,`error encountered during CCIP fetch: ${a.map(o=>JSON.stringify(o)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:e,info:{urls:r,errorMessages:a}})}_wrapBlock(e,n){return new a9(x9(e),this)}_wrapLog(e,n){return new li(B9(e),this)}_wrapTransactionReceipt(e,n){return new vm(T9(e),this)}_wrapTransactionResponse(e,n){return new di(zm(e),this)}_detectNetwork(){W(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(e){W(!1,`unsupported method: ${e.method}`,"UNSUPPORTED_OPERATION",{operation:e.method,info:e})}async getBlockNumber(){const e=ae(await this.#c({method:"getBlockNumber"}),"%response");return this.#o>=0&&(this.#o=e),e}_getAddress(e){return it(e,this)}_getBlockTag(e){if(e==null)return"latest";switch(e){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return e}if(Ee(e))return Ee(e,32)?e:Mr(e);if(typeof e=="bigint"&&(e=ae(e,"blockTag")),typeof e=="number")return e>=0?Mr(e):this.#o>=0?Mr(this.#o+e):this.getBlockNumber().then(n=>Mr(n+e));D(!1,"invalid blockTag","blockTag",e)}_getFilter(e){const n=(e.topics||[]).map(c=>c==null?null:Array.isArray(c)?kc(c.map(d=>d.toLowerCase())):c.toLowerCase()),r="blockHash"in e?e.blockHash:void 0,s=(c,d,l)=>{let f;switch(c.length){case 0:break;case 1:f=c[0];break;default:c.sort(),f=c}if(r&&(d!=null||l!=null))throw new Error("invalid filter");const m={};return f&&(m.address=f),n.length&&(m.topics=n),d&&(m.fromBlock=d),l&&(m.toBlock=l),r&&(m.blockHash=r),m};let i=[];if(e.address)if(Array.isArray(e.address))for(const c of e.address)i.push(this._getAddress(c));else i.push(this._getAddress(e.address));let a;"fromBlock"in e&&(a=this._getBlockTag(e.fromBlock));let o;return"toBlock"in e&&(o=this._getBlockTag(e.toBlock)),i.filter(c=>typeof c!="string").length||a!=null&&typeof a!="string"||o!=null&&typeof o!="string"?Promise.all([Promise.all(i),a,o]).then(c=>s(c[0],c[1],c[2])):s(i,a,o)}_getTransactionRequest(e){const n=js(e),r=[];if(["to","from"].forEach(s=>{if(n[s]==null)return;const i=it(n[s],this);Ti(i)?r.push((async function(){n[s]=await i})()):n[s]=i}),n.blockTag!=null){const s=this._getBlockTag(n.blockTag);Ti(s)?r.push((async function(){n.blockTag=await s})()):n.blockTag=s}return r.length?(async function(){return await Promise.all(r),n})():n}async getNetwork(){if(this.#s==null){const s=(async()=>{try{const i=await this._detectNetwork();return this.emit("network",i,null),i}catch(i){throw this.#s===s&&(this.#s=null),i}})();return this.#s=s,(await s).clone()}const e=this.#s,[n,r]=await Promise.all([e,this._detectNetwork()]);return n.chainId!==r.chainId&&(this.#a?(this.emit("network",r,n),this.#s===e&&(this.#s=Promise.resolve(r))):W(!1,`network changed: ${n.chainId} => ${r.chainId} `,"NETWORK_ERROR",{event:"changed"})),n.clone()}async getFeeData(){const e=await this.getNetwork(),n=async()=>{const{_block:s,gasPrice:i,priorityFee:a}=await tt({_block:this.#p("latest",!1),gasPrice:(async()=>{try{const l=await this.#c({method:"getGasPrice"});return X(l,"%response")}catch{}return null})(),priorityFee:(async()=>{try{const l=await this.#c({method:"getPriorityFee"});return X(l,"%response")}catch{}return null})()});let o=null,c=null;const d=this._wrapBlock(s,e);return d&&d.baseFeePerGas&&(c=a??BigInt("1000000000"),o=d.baseFeePerGas*O9+c),new hu(i,o,c)},r=e.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(r){const s=new nn(r.url),i=await r.processFunc(n,this,s);return new hu(i.gasPrice,i.maxFeePerGas,i.maxPriorityFeePerGas)}return await n()}async estimateGas(e){let n=this._getTransactionRequest(e);return Ti(n)&&(n=await n),X(await this.#c({method:"estimateGas",transaction:n}),"%response")}async#d(e,n,r){W(r<M9,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},e,{blockTag:n,enableCcipRead:!0})});const s=js(e);try{return K(await this._perform({method:"call",transaction:s,blockTag:n}))}catch(i){if(!this.disableCcipRead&&Fl(i)&&i.data&&r>=0&&n==="latest"&&s.to!=null&&xe(i.data,0,4)==="0x556f1830"){const a=i.data,o=await it(s.to,this);let c;try{c=j9(xe(i.data,4))}catch(f){W(!1,f.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:s,info:{data:a}})}W(c.sender.toLowerCase()===o.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:a,reason:"OffchainLookup",transaction:s,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:c.errorArgs}});const d=await this.ccipReadFetch(s,c.calldata,c.urls);W(d!=null,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:s,info:{data:i.data,errorArgs:c.errorArgs}});const l={to:o,data:De([c.selector,_9([d,c.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:l});try{const f=await this.#d(l,n,r+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},l),result:f}),f}catch(f){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},l),error:f}),f}}throw i}}async#u(e){const{value:n}=await tt({network:this.getNetwork(),value:e});return n}async call(e){const{tx:n,blockTag:r}=await tt({tx:this._getTransactionRequest(e),blockTag:this._getBlockTag(e.blockTag)});return await this.#u(this.#d(n,r,e.enableCcipRead?0:-1))}async#f(e,n,r){let s=this._getAddress(n),i=this._getBlockTag(r);return(typeof s!="string"||typeof i!="string")&&([s,i]=await Promise.all([s,i])),await this.#u(this.#c(Object.assign(e,{address:s,blockTag:i})))}async getBalance(e,n){return X(await this.#f({method:"getBalance"},e,n),"%response")}async getTransactionCount(e,n){return ae(await this.#f({method:"getTransactionCount"},e,n),"%response")}async getCode(e,n){return K(await this.#f({method:"getCode"},e,n))}async getStorage(e,n,r){const s=X(n,"position");return K(await this.#f({method:"getStorage",position:s},e,r))}async broadcastTransaction(e){const{blockNumber:n,hash:r,network:s}=await tt({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:e}),network:this.getNetwork()}),i=Pt.from(e);if(i.hash!==r)throw new Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(i,s).replaceableTransaction(n)}async#p(e,n){if(Ee(e,32))return await this.#c({method:"getBlock",blockHash:e,includeTransactions:n});let r=this._getBlockTag(e);return typeof r!="string"&&(r=await r),await this.#c({method:"getBlock",blockTag:r,includeTransactions:n})}async getBlock(e,n){const{network:r,params:s}=await tt({network:this.getNetwork(),params:this.#p(e,!!n)});return s==null?null:this._wrapBlock(s,r)}async getTransaction(e){const{network:n,params:r}=await tt({network:this.getNetwork(),params:this.#c({method:"getTransaction",hash:e})});return r==null?null:this._wrapTransactionResponse(r,n)}async getTransactionReceipt(e){const{network:n,params:r}=await tt({network:this.getNetwork(),params:this.#c({method:"getTransactionReceipt",hash:e})});if(r==null)return null;if(r.gasPrice==null&&r.effectiveGasPrice==null){const s=await this.#c({method:"getTransaction",hash:e});if(s==null)throw new Error("report this; could not find tx or effectiveGasPrice");r.effectiveGasPrice=s.gasPrice}return this._wrapTransactionReceipt(r,n)}async getTransactionResult(e){const{result:n}=await tt({network:this.getNetwork(),result:this.#c({method:"getTransactionResult",hash:e})});return n==null?null:K(n)}async getLogs(e){let n=this._getFilter(e);Ti(n)&&(n=await n);const{network:r,params:s}=await tt({network:this.getNetwork(),params:this.#c({method:"getLogs",filter:n})});return s.map(i=>this._wrapLog(i,r))}_getProvider(e){W(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(e){return await Vr.fromName(this,e)}async getAvatar(e){const n=await this.getResolver(e);return n?await n.getAvatar():null}async resolveName(e){const n=await this.getResolver(e);return n?await n.getAddress():null}async lookupAddress(e){e=fe(e);const n=Sc(e.substring(2).toLowerCase()+".addr.reverse");try{const r=await Vr.getEnsAddress(this),i=await new fr(r,["function resolver(bytes32) view returns (address)"],this).resolver(n);if(i==null||i===es)return null;const o=await new fr(i,["function name(bytes32) view returns (string)"],this).name(n);return await this.resolveName(o)!==e?null:o}catch(r){if(Je(r,"BAD_DATA")&&r.value==="0x"||Je(r,"CALL_EXCEPTION"))return null;throw r}return null}async waitForTransaction(e,n,r){const s=n??1;return s===0?this.getTransactionReceipt(e):new Promise(async(i,a)=>{let o=null;const c=(async d=>{try{const l=await this.getTransactionReceipt(e);if(l!=null&&d-l.blockNumber+1>=s){i(l),o&&(clearTimeout(o),o=null);return}}catch(l){console.log("EEE",l)}this.once("block",c)});r!=null&&(o=setTimeout(()=>{o!=null&&(o=null,this.off("block",c),a(Ue("timeout","TIMEOUT",{reason:"timeout"})))},r)),c(await this.getBlockNumber())})}async waitForBlock(e){W(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(e){const n=this.#l.get(e);n&&(n.timer&&clearTimeout(n.timer),this.#l.delete(e))}_setTimeout(e,n){n==null&&(n=0);const r=this.#h++,s=()=>{this.#l.delete(r),e()};if(this.paused)this.#l.set(r,{timer:null,func:s,time:n});else{const i=setTimeout(s,n);this.#l.set(r,{timer:i,func:s,time:No()})}return r}_forEachSubscriber(e){for(const n of this.#e.values())e(n.subscriber)}_getSubscriber(e){switch(e.type){case"debug":case"error":case"network":return new Gm(e.type);case"block":{const n=new U9(this);return n.pollingInterval=this.pollingInterval,n}case"safe":case"finalized":return new P9(this,e.type);case"event":return new Jl(this,e.filter);case"transaction":return new R9(this,e.hash);case"orphan":return new N9(this,e.filter)}throw new Error(`unsupported event: ${e.type}`)}_recoverSubscriber(e,n){for(const r of this.#e.values())if(r.subscriber===e){r.started&&r.subscriber.stop(),r.subscriber=n,r.started&&n.start(),this.#n!=null&&n.pause(this.#n);break}}async#g(e,n){let r=await Po(e,this);return r.type==="event"&&n&&n.length>0&&n[0].removed===!0&&(r=await Po({orphan:"drop-log",log:n[0]},this)),this.#e.get(r.tag)||null}async#y(e){const n=await Po(e,this),r=n.tag;let s=this.#e.get(r);return s||(s={subscriber:this._getSubscriber(n),tag:r,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},this.#e.set(r,s)),s}async on(e,n){const r=await this.#y(e);return r.listeners.push({listener:n,once:!1}),r.started||(r.subscriber.start(),r.started=!0,this.#n!=null&&r.subscriber.pause(this.#n)),this}async once(e,n){const r=await this.#y(e);return r.listeners.push({listener:n,once:!0}),r.started||(r.subscriber.start(),r.started=!0,this.#n!=null&&r.subscriber.pause(this.#n)),this}async emit(e,...n){const r=await this.#g(e,n);if(!r||r.listeners.length===0)return!1;const s=r.listeners.length;return r.listeners=r.listeners.filter(({listener:i,once:a})=>{const o=new i1(this,a?null:i,e);try{i.call(this,...n,o)}catch{}return!a}),r.listeners.length===0&&(r.started&&r.subscriber.stop(),this.#e.delete(r.tag)),s>0}async listenerCount(e){if(e){const r=await this.#g(e);return r?r.listeners.length:0}let n=0;for(const{listeners:r}of this.#e.values())n+=r.length;return n}async listeners(e){if(e){const r=await this.#g(e);return r?r.listeners.map(({listener:s})=>s):[]}let n=[];for(const{listeners:r}of this.#e.values())n=n.concat(r.map(({listener:s})=>s));return n}async off(e,n){const r=await this.#g(e);if(!r)return this;if(n){const s=r.listeners.map(({listener:i})=>i).indexOf(n);s>=0&&r.listeners.splice(s,1)}return(!n||r.listeners.length===0)&&(r.started&&r.subscriber.stop(),this.#e.delete(r.tag)),this}async removeAllListeners(e){if(e){const{tag:n,started:r,subscriber:s}=await this.#y(e);r&&s.stop(),this.#e.delete(n)}else for(const[n,{started:r,subscriber:s}]of this.#e)r&&s.stop(),this.#e.delete(n);return this}async addListener(e,n){return await this.on(e,n)}async removeListener(e,n){return this.off(e,n)}get destroyed(){return this.#r}destroy(){this.removeAllListeners();for(const e of this.#l.keys())this._clearTimeout(e);this.#r=!0}get paused(){return this.#n!=null}set paused(e){!!e!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(e){if(this.#o=-1,this.#n!=null){if(this.#n==!!e)return;W(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}this._forEachSubscriber(n=>n.pause(e)),this.#n=!!e;for(const n of this.#l.values())n.timer&&clearTimeout(n.timer),n.time=No()-n.time}resume(){if(this.#n!=null){this._forEachSubscriber(e=>e.resume()),this.#n=null;for(const e of this.#l.values()){let n=e.time;n<0&&(n=0),e.time=No(),setTimeout(e.func,n)}}}}function z9(t,e){try{const n=Uc(t,e);if(n)return fa(n)}catch{}return null}function Uc(t,e){if(t==="0x")return null;try{const n=ae(xe(t,e,e+32)),r=ae(xe(t,n,n+32));return xe(t,n+32,n+32+r)}catch{}return null}function wu(t){const e=st(t);if(e.length>32)throw new Error("internal; should not happen");const n=new Uint8Array(32);return n.set(e,32-e.length),n}function G9(t){if(t.length%32===0)return t;const e=new Uint8Array(Math.ceil(t.length/32)*32);return e.set(t),e}const V9=new Uint8Array([]);function _9(t){const e=[];let n=0;for(let r=0;r<t.length;r++)e.push(V9),n+=32;for(let r=0;r<t.length;r++){const s=ce(t[r]);e[r]=wu(n),e.push(wu(s.length)),e.push(G9(s)),n+=32+Math.ceil(s.length/32)*32}return De(e)}const Bu="0x0000000000000000000000000000000000000000000000000000000000000000";function j9(t){const e={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};W(cr(t)>=160,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});const n=xe(t,0,32);W(xe(n,0,12)===xe(Bu,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),e.sender=xe(n,12);try{const r=[],s=ae(xe(t,32,64)),i=ae(xe(t,s,s+32)),a=xe(t,s+32);for(let o=0;o<i;o++){const c=z9(a,o*32);if(c==null)throw new Error("abort");r.push(c)}e.urls=r}catch{W(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{const r=Uc(t,64);if(r==null)throw new Error("abort");e.calldata=r}catch{W(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}W(xe(t,100,128)===xe(Bu,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),e.selector=xe(t,96,100);try{const r=Uc(t,128);if(r==null)throw new Error("abort");e.extraData=r}catch{W(!1,"corrupt OffchainLookup extraData","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup extraData"})}return e.errorArgs="sender,urls,calldata,selector,extraData".split(/,/).map(r=>e[r]),e}function vr(t,e){if(t.provider)return t.provider;W(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:e})}async function Cu(t,e){let n=js(e);if(n.to!=null&&(n.to=it(n.to,t)),n.from!=null){const r=n.from;n.from=Promise.all([t.getAddress(),it(r,t)]).then(([s,i])=>(D(s.toLowerCase()===i.toLowerCase(),"transaction from mismatch","tx.from",i),s))}else n.from=t.getAddress();return await tt(n)}class Xl{provider;constructor(e){ee(this,{provider:e||null})}async getNonce(e){return vr(this,"getTransactionCount").getTransactionCount(await this.getAddress(),e)}async populateCall(e){return await Cu(this,e)}async populateTransaction(e){const n=vr(this,"populateTransaction"),r=await Cu(this,e);r.nonce==null&&(r.nonce=await this.getNonce("pending")),r.gasLimit==null&&(r.gasLimit=await this.estimateGas(r));const s=await this.provider.getNetwork();if(r.chainId!=null){const a=X(r.chainId);D(a===s.chainId,"transaction chainId mismatch","tx.chainId",e.chainId)}else r.chainId=s.chainId;const i=r.maxFeePerGas!=null||r.maxPriorityFeePerGas!=null;if(r.gasPrice!=null&&(r.type===2||i)?D(!1,"eip-1559 transaction do not support gasPrice","tx",e):(r.type===0||r.type===1)&&i&&D(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",e),(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 n.getFeeData();W(a.gasPrice!=null,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),r.gasPrice==null&&(r.gasPrice=a.gasPrice)}else{const a=await n.getFeeData();if(r.type==null)if(a.maxFeePerGas!=null&&a.maxPriorityFeePerGas!=null)if(r.type=2,r.gasPrice!=null){const o=r.gasPrice;delete r.gasPrice,r.maxFeePerGas=o,r.maxPriorityFeePerGas=o}else r.maxFeePerGas==null&&(r.maxFeePerGas=a.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=a.maxPriorityFeePerGas);else a.gasPrice!=null?(W(!i,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),r.gasPrice==null&&(r.gasPrice=a.gasPrice),r.type=0):W(!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 tt(r)}async estimateGas(e){return vr(this,"estimateGas").estimateGas(await this.populateCall(e))}async call(e){return vr(this,"call").call(await this.populateCall(e))}async resolveName(e){return await vr(this,"resolveName").resolveName(e)}async sendTransaction(e){const n=vr(this,"sendTransaction"),r=await this.populateTransaction(e);delete r.from;const s=Pt.from(r);return await n.broadcastTransaction(await this.signTransaction(s))}}class Yl extends Xl{address;constructor(e,n){super(n),ee(this,{address:e})}async getAddress(){return this.address}connect(e){return new Yl(this.address,e)}#e(e,n){W(!1,`VoidSigner cannot sign ${e}`,"UNSUPPORTED_OPERATION",{operation:n})}async signTransaction(e){this.#e("transactions","signTransaction")}async signMessage(e){this.#e("messages","signMessage")}async signTypedData(e,n,r){this.#e("typed-data","signTypedData")}}function q9(t){return JSON.parse(JSON.stringify(t))}class Vm{#e;#t;#n;#r;#s;#a;constructor(e){this.#e=e,this.#t=null,this.#n=this.#i.bind(this),this.#r=!1,this.#s=null,this.#a=!1}_subscribe(e){throw new Error("subclasses must override this")}_emitResults(e,n){throw new Error("subclasses must override this")}_recover(e){throw new Error("subclasses must override this")}async#i(e){try{this.#t==null&&(this.#t=this._subscribe(this.#e));let n=null;try{n=await this.#t}catch(i){if(!Je(i,"UNSUPPORTED_OPERATION")||i.operation!=="eth_newFilter")throw i}if(n==null){this.#t=null,this.#e._recoverSubscriber(this,this._recover(this.#e));return}const r=await this.#e.getNetwork();if(this.#s||(this.#s=r),this.#s.chainId!==r.chainId)throw new Error("chaid changed");if(this.#a)return;const s=await this.#e.send("eth_getFilterChanges",[n]);await this._emitResults(this.#e,s)}catch(n){console.log("@TODO",n)}this.#e.once("block",this.#n)}#o(){const e=this.#t;e&&(this.#t=null,e.then(n=>{this.#e.destroyed||this.#e.send("eth_uninstallFilter",[n])}))}start(){this.#r||(this.#r=!0,this.#i(-2))}stop(){this.#r&&(this.#r=!1,this.#a=!0,this.#o(),this.#e.off("block",this.#n))}pause(e){e&&this.#o(),this.#e.off("block",this.#n)}resume(){this.start()}}class K9 extends Vm{#e;constructor(e,n){super(e),this.#e=q9(n)}_recover(e){return new Jl(e,this.#e)}async _subscribe(e){return await e.send("eth_newFilter",[this.#e])}async _emitResults(e,n){for(const r of n)e.emit(this.#e,e._wrapLog(r,e._network))}}class Q9 extends Vm{async _subscribe(e){return await e.send("eth_newPendingTransactionFilter",[])}async _emitResults(e,n){for(const r of n)e.emit("pending",r)}}const $9="bigint,boolean,function,number,string,symbol".split(/,/g);function $i(t){if(t==null||$9.indexOf(typeof t)>=0||typeof t.getAddress=="function")return t;if(Array.isArray(t))return t.map($i);if(typeof t=="object")return Object.keys(t).reduce((e,n)=>(e[n]=t[n],e),{});throw new Error(`should not happen: ${t} (${typeof t})`)}function J9(t){return new Promise(e=>{setTimeout(e,t)})}function Ir(t){return t&&t.toLowerCase()}function xu(t){return t&&typeof t.pollingInterval=="number"}const _m={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1<<20,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3};class Ro extends Xl{address;constructor(e,n){super(e),n=fe(n),ee(this,{address:n})}connect(e){W(!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 n=$i(e),r=[];if(n.from){const i=n.from;r.push((async()=>{const a=await it(i,this.provider);D(a!=null&&a.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",e),n.from=a})())}else n.from=this.address;if(n.gasLimit==null&&r.push((async()=>{n.gasLimit=await this.provider.estimateGas({...n,from:this.address})})()),n.to!=null){const i=n.to;r.push((async()=>{n.to=await it(i,this.provider)})())}r.length&&await Promise.all(r);const s=this.provider.getRpcTransaction(n);return this.provider.send("eth_sendTransaction",[s])}async sendTransaction(e){const n=await this.provider.getBlockNumber(),r=await this.sendUncheckedTransaction(e);return await new Promise((s,i)=>{const a=[1e3,100];let o=0;const c=async()=>{try{const d=await this.provider.getTransaction(r);if(d!=null){s(d.replaceableTransaction(n));return}}catch(d){if(Je(d,"CANCELLED")||Je(d,"BAD_DATA")||Je(d,"NETWORK_ERROR")||Je(d,"UNSUPPORTED_OPERATION")){d.info==null&&(d.info={}),d.info.sendTransactionHash=r,i(d);return}if(Je(d,"INVALID_ARGUMENT")&&(o++,d.info==null&&(d.info={}),d.info.sendTransactionHash=r,o>10)){i(d);return}this.provider.emit("error",Ue("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:d}))}this.provider._setTimeout(()=>{c()},a.pop()||4e3)};c()})}async signTransaction(e){const n=$i(e);if(n.from){const s=await it(n.from,this.provider);D(s!=null&&s.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",e),n.from=s}else n.from=this.address;const r=this.provider.getRpcTransaction(n);return await this.provider.send("eth_signTransaction",[r])}async signMessage(e){const n=typeof e=="string"?tn(e):e;return await this.provider.send("personal_sign",[K(n),this.address.toLowerCase()])}async signTypedData(e,n,r){const s=$i(r),i=await ft.resolveNames(e,n,s,async a=>{const o=await it(a);return D(o!=null,"TypedData does not support null address","value",a),o});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(ft.getPayload(i.domain,n,i.value))])}async unlock(e){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),e,null])}async _legacySignMessage(e){const n=typeof e=="string"?tn(e):e;return await this.provider.send("eth_sign",[this.address.toLowerCase(),K(n)])}}class X9 extends H9{#e;#t;#n;#r;#s;#a;#i;#o(){if(this.#r)return;const e=this._getOption("batchMaxCount")===1?0:this._getOption("batchStallTime");this.#r=setTimeout(()=>{this.#r=null;const n=this.#n;for(this.#n=[];n.length;){const r=[n.shift()];for(;n.length&&r.length!==this.#e.batchMaxCount;)if(r.push(n.shift()),JSON.stringify(r.map(i=>i.payload)).length>this.#e.batchMaxSize){n.unshift(r.pop());break}(async()=>{const s=r.length===1?r[0].payload:r.map(i=>i.payload);this.emit("debug",{action:"sendRpcPayload",payload:s});try{const i=await this._send(s);this.emit("debug",{action:"receiveRpcResult",result:i});for(const{resolve:a,reject:o,payload:c}of r){if(this.destroyed){o(Ue("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:c.method}));continue}const d=i.filter(l=>l.id===c.id)[0];if(d==null){const l=Ue("missing response for request","BAD_DATA",{value:i,info:{payload:c}});this.emit("error",l),o(l);continue}if("error"in d){o(this.getRpcError(c,d));continue}a(d.result)}}catch(i){this.emit("debug",{action:"receiveRpcError",error:i});for(const{reject:a}of r)a(i)}})()}},e)}constructor(e,n){super(e,n),this.#t=1,this.#e=Object.assign({},_m,n||{}),this.#n=[],this.#r=null,this.#a=null,this.#i=null;{let s=null;const i=new Promise(a=>{s=a});this.#s={promise:i,resolve:s}}const r=this._getOption("staticNetwork");typeof r=="boolean"?(D(!r||e!=="any","staticNetwork cannot be used on special network 'any'","options",n),r&&e!=null&&(this.#a=Ct.from(e))):r&&(D(e==null||r.matches(e),"staticNetwork MUST match network object","options",n),this.#a=r)}_getOption(e){return this.#e[e]}get _network(){return W(this.#a,"network is not available yet","NETWORK_ERROR"),this.#a}async _perform(e){if(e.method==="call"||e.method==="estimateGas"){let r=e.transaction;if(r&&r.type!=null&&X(r.type)&&r.maxFeePerGas==null&&r.maxPriorityFeePerGas==null){const s=await this.getFeeData();s.maxFeePerGas==null&&s.maxPriorityFeePerGas==null&&(e=Object.assign({},e,{transaction:Object.assign({},r,{type:void 0})}))}}const n=this.getRpcRequest(e);return n!=null?await this.send(n.method,n.args):super._perform(e)}async _detectNetwork(){const e=this._getOption("staticNetwork");if(e)if(e===!0){if(this.#a)return this.#a}else return e;return this.#i?await this.#i:this.ready?(this.#i=(async()=>{try{const n=Ct.from(X(await this.send("eth_chainId",[])));return this.#i=null,n}catch(n){throw this.#i=null,n}})(),await this.#i):(this.#i=(async()=>{const n={id:this.#t++,method:"eth_chainId",params:[],jsonrpc:"2.0"};this.emit("debug",{action:"sendRpcPayload",payload:n});let r;try{r=(await this._send(n))[0],this.#i=null}catch(s){throw this.#i=null,this.emit("debug",{action:"receiveRpcError",error:s}),s}if(this.emit("debug",{action:"receiveRpcResult",result:r}),"result"in r)return Ct.from(X(r.result));throw this.getRpcError(n,r)})(),await this.#i)}_start(){this.#s==null||this.#s.resolve==null||(this.#s.resolve(),this.#s=null,(async()=>{for(;this.#a==null&&!this.destroyed;)try{this.#a=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",Ue("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:e}})),await J9(1e3)}this.#o()})())}async _waitUntilReady(){if(this.#s!=null)return await this.#s.promise}_getSubscriber(e){return e.type==="pending"?new Q9(this):e.type==="event"?this._getOption("polling")?new Jl(this,e.filter):new K9(this,e.filter):e.type==="orphan"&&e.filter.orphan==="drop-log"?new Gm("orphan"):super._getSubscriber(e)}get ready(){return this.#s==null}getRpcTransaction(e){const n={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(r=>{if(e[r]==null)return;let s=r;r==="gasLimit"&&(s="gas"),n[s]=Mr(X(e[r],`tx.${r}`))}),["from","to","data"].forEach(r=>{e[r]!=null&&(n[r]=K(e[r]))}),e.accessList&&(n.accessList=xr(e.accessList)),e.blobVersionedHashes&&(n.blobVersionedHashes=e.blobVersionedHashes.map(r=>r.toLowerCase())),n}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:[Ir(e.address),e.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[Ir(e.address),e.blockTag]};case"getCode":return{method:"eth_getCode",args:[Ir(e.address),e.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[Ir(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(Ir):e.filter.address=Ir(e.filter.address)),{method:"eth_getLogs",args:[e.filter]}}return null}getRpcError(e,n){const{method:r}=e,{error:s}=n;if(r==="eth_estimateGas"&&s.message){const o=s.message;if(!o.match(/revert/i)&&o.match(/insufficient funds/i))return Ue("insufficient funds","INSUFFICIENT_FUNDS",{transaction:e.params[0],info:{payload:e,error:s}})}if(r==="eth_call"||r==="eth_estimateGas"){const o=Pc(s),c=Er.getBuiltinCallException(r==="eth_call"?"call":"estimateGas",e.params[0],o?o.data:null);return c.info={error:s,payload:e},c}const i=JSON.stringify(Z9(s));if(typeof s.message=="string"&&s.message.match(/user denied|ethers-user-denied/i))return Ue("user rejected action","ACTION_REJECTED",{action:{eth_sign:"signMessage",personal_sign:"signMessage",eth_signTypedData_v4:"signTypedData",eth_signTransaction:"signTransaction",eth_sendTransaction:"sendTransaction",eth_requestAccounts:"requestAccess",wallet_requestAccounts:"requestAccess"}[r]||"unknown",reason:"rejected",info:{payload:e,error:s}});if(r==="eth_sendRawTransaction"||r==="eth_sendTransaction"){const o=e.params[0];if(i.match(/insufficient funds|base fee exceeds gas limit/i))return Ue("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:o,info:{error:s}});if(i.match(/nonce/i)&&i.match(/too low/i))return Ue("nonce has already been used","NONCE_EXPIRED",{transaction:o,info:{error:s}});if(i.match(/replacement transaction/i)&&i.match(/underpriced/i))return Ue("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:o,info:{error:s}});if(i.match(/only replay-protected/i))return Ue("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:r,info:{transaction:o,info:{error:s}}})}let a=!!i.match(/the method .* does not exist/i);return a||s&&s.details&&s.details.startsWith("Unauthorized method:")&&(a=!0),a?Ue("unsupported operation","UNSUPPORTED_OPERATION",{operation:e.method,info:{error:s,payload:e}}):Ue("could not coalesce error","UNKNOWN_ERROR",{error:s,payload:e})}send(e,n){if(this.destroyed)return Promise.reject(Ue("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:e}));const r=this.#t++,s=new Promise((i,a)=>{this.#n.push({resolve:i,reject:a,payload:{method:e,params:n,id:r,jsonrpc:"2.0"}})});return this.#o(),s}async getSigner(e){e==null&&(e=0);const n=this.send("eth_accounts",[]);if(typeof e=="number"){const s=await n;if(e>=s.length)throw new Error("no such account");return new Ro(this,s[e])}const{accounts:r}=await tt({network:this.getNetwork(),accounts:n});e=fe(e);for(const s of r)if(fe(s)===e)return new Ro(this,e);throw new Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(n=>new Ro(this,n))}destroy(){this.#r&&(clearTimeout(this.#r),this.#r=null);for(const{payload:e,reject:n}of this.#n)n(Ue("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:e.method}));this.#n=[],super.destroy()}}class jm extends X9{#e;constructor(e,n){super(e,n);let r=this._getOption("pollingInterval");r==null&&(r=_m.pollingInterval),this.#e=r}_getSubscriber(e){const n=super._getSubscriber(e);return xu(n)&&(n.pollingInterval=this.#e),n}get pollingInterval(){return this.#e}set pollingInterval(e){if(!Number.isInteger(e)||e<0)throw new Error("invalid interval");this.#e=e,this._forEachSubscriber(n=>{xu(n)&&(n.pollingInterval=this.#e)})}}class Y9 extends jm{#e;constructor(e,n,r){e==null&&(e="http://localhost:8545"),super(n,r),typeof e=="string"?this.#e=new nn(e):this.#e=e.clone()}_getConnection(){return this.#e.clone()}async send(e,n){return await this._start(),await super.send(e,n)}async _send(e){const n=this._getConnection();n.body=JSON.stringify(e),n.setHeader("content-type","application/json");const r=await n.send();r.assertOk();let s=r.bodyJson;return Array.isArray(s)||(s=[s]),s}}function Pc(t){if(t==null)return null;if(typeof t.message=="string"&&t.message.match(/revert/i)&&Ee(t.data))return{message:t.message,data:t.data};if(typeof t=="object"){for(const e in t){const n=Pc(t[e]);if(n)return n}return null}if(typeof t=="string")try{return Pc(JSON.parse(t))}catch{}return null}function Nc(t,e){if(t!=null){if(typeof t.message=="string"&&e.push(t.message),typeof t=="object")for(const n in t)Nc(t[n],e);if(typeof t=="string")try{return Nc(JSON.parse(t),e)}catch{}}}function Z9(t){const e=[];return Nc(t,e),e}const eA=0,tA=0n,so="Evm",nA=(t,e)=>({...t,from:e}),rA=(t,e)=>({...t,chainId:e}),Rc="0x0000000000000000000000000000000000000000";class Bt{static byteSize=20;static platform=so;type="Native";address;constructor(e){if(Bt.instanceof(e)){const n=e;this.address=n.address;return}if(typeof e=="string"){if(!Bt.isValidAddress(e))throw new Error(`Invalid EVM address, expected ${Bt.byteSize}-byte hex string but got ${e}`);this.address=fe(e)}else if(e instanceof Uint8Array)e=this.trimUniversalAddress(e),this.address=fe(Xe.encode(e));else if(Fe.instanceof(e)){const n=this.trimUniversalAddress(e.toUint8Array());this.address=fe(Xe.encode(n))}else throw new Error(`Invalid EVM address ${e}`)}unwrap(){return this.address}toString(){return this.address}toNative(){return this}toUint8Array(){return Xe.decode(this.address)}toUniversalAddress(){return new Fe(this.address,"hex")}trimUniversalAddress(e){if(e.length===Bt.byteSize)return e;if(e.length<Bt.byteSize)throw new Error(`Invalid evm address, expected ${Bt.byteSize} bytes`);if(e.length!==Fe.byteSize)throw new Error(`Invalid universal address, expected ${Fe.byteSize} bytes`);if(rr.decode(e.slice(0,12))!==0n)throw new Error(`Invalid EVM address ${e} expected first 12 bytes to be 0s`);return e.slice(12)}static isValidAddress(e){return C3(e)}static instanceof(e){return e.constructor.platform===Bt.platform}equals(e){return Bt.instanceof(e)?e.address===this.address:e.equals(this.toUniversalAddress())}}Xf(so,Bt);class sA{transaction;network;chain;description;parallelizable;constructor(e,n,r,s,i=!1){this.transaction=e,this.network=n,this.chain=r,this.description=s,this.parallelizable=i}}const vi=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner_",type:"address"},{internalType:"address",name:"spender_",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender_",type:"address"},{internalType:"uint256",name:"amount_",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account_",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account_",type:"address"},{internalType:"uint256",name:"amount_",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"chainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender_",type:"address"},{internalType:"uint256",name:"subtractedValue_",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"domainFields",type:"bytes1"},{internalType:"string",name:"domainName",type:"string"},{internalType:"string",name:"domainVersion",type:"string"},{internalType:"uint256",name:"domainChainId",type:"uint256"},{internalType:"address",name:"domainVerifyingContract",type:"address"},{internalType:"bytes32",name:"domainSalt",type:"bytes32"},{internalType:"uint256[]",name:"domainExtensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender_",type:"address"},{internalType:"uint256",name:"addedValue_",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"},{internalType:"uint8",name:"decimals_",type:"uint8"},{internalType:"uint64",name:"sequence_",type:"uint64"},{internalType:"address",name:"owner_",type:"address"},{internalType:"uint16",name:"chainId_",type:"uint16"},{internalType:"bytes32",name:"nativeContract_",type:"bytes32"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account_",type:"address"},{internalType:"uint256",name:"amount_",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"nativeContract",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner_",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner_",type:"address"},{internalType:"address",name:"spender_",type:"address"},{internalType:"uint256",name:"value_",type:"uint256"},{internalType:"uint256",name:"deadline_",type:"uint256"},{internalType:"uint8",name:"v_",type:"uint8"},{internalType:"bytes32",name:"r_",type:"bytes32"},{internalType:"bytes32",name:"s_",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient_",type:"address"},{internalType:"uint256",name:"amount_",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender_",type:"address"},{internalType:"address",name:"recipient_",type:"address"},{internalType:"uint256",name:"amount_",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"},{internalType:"uint64",name:"sequence_",type:"uint64"}],name:"updateDetails",outputs:[],stateMutability:"nonpayable",type:"function"}],Du="0x6080806040523461001657611af2908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c90816306fdde0314611136578163095ea7b31461110c57816318160ddd146110ed57816323b872dd14611026578163313ce567146110055781633644e51514610fe15781633950935114610f985781633d6c043b14610f7957816340c10f1914610ea157816370a0823114610e695781637ecebe0014610e3157816384b0196e14610d575781638da5cb5b14610d2e57816395d89b4114610c595781639a8a059214610c335781639dc29fac14610af1578163a18cd7c6146107bf578163a457c2d71461070f578163a9059cbb146106de578163c71f461514610335578163d505accf14610160575063dd62ed3e1461011557600080fd5b3461015c578060031936011261015c57806020926101316111af565b6101396111ca565b6001600160a01b0391821683526006865283832091168252845220549051908152f35b5080fd5b8391503461015c5760e036600319011261015c5761017c6111af565b6101846111ca565b906044359260643560843560ff81168103610331576101a16112e1565b8142116102ee5760018060a01b039081851692838952600e602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815261021e81611212565b519020610229611798565b918a5191602083019361190160f01b855260228401526042830152604282526080820182811067ffffffffffffffff8211176102db5791610283939161027b938d5260c4359260a435925190206119c7565b919091611855565b160361029857506102959394506115e0565b80f35b606490602087519162461bcd60e51b8352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b634e487b7160e01b8b526041875260248bfd5b875162461bcd60e51b8152602081850152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606490fd5b8680fd5b9050346106da5760e03660031901126106da5767ffffffffffffffff81358181116106d6576103679036908401611250565b916024358281116106d25761037f9036908301611250565b6044359060ff821680920361033157606435938085168095036106ce576084356001600160a01b03811696908790036106ca5760a4359761ffff891689036106c6576007549060ff8260a01c1661068e575060ff60a01b1916600160a01b17600755805182811161067b57806103f58b546112a7565b92601f93848111610622575b506020908483116001146105b3578c926105a8575b50508160011b916000199060031b1c19161789555b825191821161059557819060019361044385546112a7565b828111610538575b5060209183116001146104cd578a926104c2575b5050600019600383901b1c191690821b1790555b60ff1982541617905567ffffffffffffffff1960025416176002556007549161ffff60a81b9060a81b16916bffffffffffffffffff0000ff60a01b16171760075560c4356008556102956112e1565b01519050388061045f565b848b52849350600080516020611a9d8339815191529190601f1984168c5b81811061052057508411610507575b505050811b019055610473565b015160001960f88460031b161c191690553880806104fa565b828401518555879690940193602093840193016104eb565b90919250848b52600080516020611a9d8339815191528380860160051c8201926020871061058c575b91869588929594930160051c01915b82811061057e57505061044b565b8d8155869550879101610570565b92508192610561565b634e487b7160e01b895260418552602489fd5b015190503880610416565b8c8052600080516020611a7d8339815191529250601f1984168d5b81811061060a57509084600195949392106105f1575b505050811b01895561042b565b015160001960f88460031b161c191690553880806105e4565b929360206001819287860151815501950193016105ce565b9091508b8052600080516020611a7d8339815191528480850160051c82019260208610610672575b9085949392910160051c01905b8181106106645750610401565b8d8155849350600101610657565b9250819261064a565b634e487b7160e01b8a526041865260248afd5b5162461bcd60e51b81526020818801526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b8980fd5b8880fd5b8780fd5b8580fd5b8480fd5b8280fd5b50503461015c578060031936011261015c576020906107086106fe6111af565b6024359033611416565b5160018152f35b905082346107bc57826003193601126107bc5761072a6111af565b918360243592338152600660205281812060018060a01b038616825260205220549082821061076b576020856107088661076487876113e6565b90336115e0565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b83833461015c57606036600319011261015c5767ffffffffffffffff928035848111610aed576107f29036908301611250565b936024358181116106d65761080a9036908401611250565b91604435938285168095036106d25761082e60018060a01b03600754163314611594565b8483600254161015610aaa57508551828111610a97578061084f87546112a7565b97601f98898111610a3e575b506020908983116001146109cf5788926109c4575b50508160011b916000199060031b1c19161785555b82519182116109b1575060019161089c83546112a7565b868111610961575b5060209582116001146108f75794849582939495926108ec575b5050600019600383901b1c191690821b1790555b67ffffffffffffffff1960025416176002556102956112e1565b0151905085806108be565b828552601f19821695600080516020611a9d83398151915291865b88811061094b5750838596979810610932575b505050811b0190556108d2565b015160001960f88460031b161c19169055858080610925565b8183015184559285019260209283019201610912565b838652600080516020611a9d8339815191528780850160051c820192602086106109a8575b0160051c019084905b82811061099d5750506108a4565b87815501849061098f565b92508192610986565b634e487b7160e01b855260419052602484fd5b015190508880610870565b888052600080516020611a7d8339815191529250601f198416895b818110610a265750908460019594939210610a0d575b505050811b018555610885565b015160001960f88460031b161c19169055888080610a00565b929360206001819287860151815501950193016109ea565b909150878052600080516020611a7d8339815191528980850160051c82019260208610610a8e575b9085949392910160051c01905b818110610a80575061085b565b898155849350600101610a73565b92508192610a66565b634e487b7160e01b865260418252602486fd5b906020606492519162461bcd60e51b8352820152601e60248201527f63757272656e74206d6574616461746120697320757020746f206461746500006044820152fd5b8380fd5b8391503461015c578260031936011261015c57610b0c6111af565b600754602435916001600160a01b0391610b299083163314611594565b16918215610be65782845260056020528484205490828210610b985750818495610b767fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef946020946113e6565b8587526005845281872055610b8d826003546113e6565b60035551908152a380f35b608490602087519162461bcd60e51b8352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152fd5b608490602086519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152fd5b50503461015c578160031936011261015c5760209061ffff60075460a81c169051908152f35b50503461015c578160031936011261015c57805190826001805491610c7d836112a7565b80865292828116908115610d065750600114610cbc575b505050610ca682610cb894038361122e565b5191829160208352602083019061118a565b0390f35b9450808552600080516020611a9d8339815191525b828610610cee57505050610ca6826020610cb89582010194610c94565b80546020878701810191909152909501948101610cd1565b610cb8975086935060209250610ca694915060ff191682840152151560051b82010194610c94565b50503461015c578160031936011261015c5760075490516001600160a01b039091168152602090f35b9050346106da57826003193601126106da57610d7161133d565b918051610d7d816111e0565b600194858252602091603160f81b83820152610d97611810565b938051918483019683881067ffffffffffffffff8911176109b1575093879592610dee838b978a859652878452610de182519a601f60f81b8c5260e0878d015260e08c019061118a565b918a8303908b015261118a565b9346606089015230608089015260a088015286840360c088015251928381520195925b828110610e1e5785870386f35b8351875295810195928101928401610e11565b50503461015c57602036600319011261015c5760209181906001600160a01b03610e596111af565b168152600e845220549051908152f35b50503461015c57602036600319011261015c5760209181906001600160a01b03610e916111af565b1681526005845220549051908152f35b919050346106da57806003193601126106da57610ebc6111af565b60075460243592916001600160a01b0391610eda9083163314611594565b16928315610f3757506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610f158795600354611409565b60035585855260058352808520610f2d838254611409565b905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b50503461015c578160031936011261015c576020906008549051908152f35b50503461015c578060031936011261015c57610708602092610764610fbb6111af565b338352600686528483206001600160a01b03821684528652918490205460243590611409565b50503461015c578160031936011261015c57602090610ffe611798565b9051908152f35b8284346107bc57806003193601126107bc575060ff60209254169051908152f35b905082346107bc5760603660031901126107bc576110426111af565b918361104c6111ca565b9261105b604435809587611416565b6001600160a01b0385168152600660209081528282203383529052205490828210611099576020856107088661109187876113e6565b9033906115e0565b608490602086519162461bcd60e51b8352820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152fd5b50503461015c578160031936011261015c576020906003549051908152f35b50503461015c578060031936011261015c5760209061070861112c6111af565b60243590336115e0565b50503461015c578160031936011261015c57610cb89061115461133d565b905191829160208352602083019061118a565b60005b83811061117a5750506000910152565b818101518382015260200161116a565b906020916111a381518092818552858086019101611167565b601f01601f1916010190565b600435906001600160a01b03821682036111c557565b600080fd5b602435906001600160a01b03821682036111c557565b6040810190811067ffffffffffffffff8211176111fc57604052565b634e487b7160e01b600052604160045260246000fd5b60e0810190811067ffffffffffffffff8211176111fc57604052565b90601f8019910116810190811067ffffffffffffffff8211176111fc57604052565b81601f820112156111c55780359067ffffffffffffffff82116111fc5760405192611285601f8401601f19166020018561122e565b828452602083830101116111c557816000926020809301838601378301015290565b90600182811c921680156112d7575b60208310146112c157565b634e487b7160e01b600052602260045260246000fd5b91607f16916112b6565b6112e96117de565b6112f1611810565b81600d5414801590611331575b611306575050565b46600a55600b80546001600160a01b0319163017905561132681836116e2565b600955600c55600d55565b5080600c5414156112fe565b60405190600082815491611350836112a7565b808352926001908181169081156113c45750600114611379575b506113779250038361122e565b565b60008080529150600080516020611a7d8339815191525b8483106113a9575061137793505081016020013861136a565b81935090816020925483858a01015201910190918592611390565b90506020925061137794915060ff191682840152151560051b8201013861136a565b919082039182116113f357565b634e487b7160e01b600052601160045260246000fd5b919082018092116113f357565b6001600160a01b0390811691821561154157169182156114f0576000828152600560205260408120549180831061149c576040602092611477837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef966113e6565b868252600585528282205586815220611491828254611409565b9055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b1561159b57565b60405162461bcd60e51b815260206004820152601760248201527f63616c6c6572206973206e6f7420746865206f776e65720000000000000000006044820152606490fd5b6001600160a01b0390811691821561169157169182156116415760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260068252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b90604051906116f0826111e0565b600191828152602092603160f81b84830152604051918460005b83811061178457505050600060218301528152611726816111e0565b828151910120604051928301937fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac564728552604084015260608301524660808301523060a083015260c082015260c0815261177e81611212565b51902090565b81818401015182828701015201859061170a565b600b546001600160a01b03163014806117d3575b156117b75760095490565b6117d06117c26117de565b6117ca611810565b906116e2565b90565b50600a5446146117ac565b6117e661133d565b60405161177e602082816118038183019687815193849201611167565b810103808452018261122e565b60075460085460405190602082019261ffff60f01b9060481b1683526022820152602281526060810181811067ffffffffffffffff8211176111fc5760405251902090565b60058110156119b157806118665750565b600181036118b35760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606490fd5b600281036119005760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606490fd5b600381036119585760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608490fd5b60041461196157565b60405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608490fd5b634e487b7160e01b600052602160045260246000fd5b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611a705760ff16601b81141580611a65575b611a59579160809493916020936040519384528484015260408301526060820152600093849182805260015afa15611a4c5781516001600160a01b03811615611a46579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600490565b50601c8114156119ff565b5050505060009060039056fe290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6a26469706673582212209c2a6ab851b98b79f450a0f6c6580132088da5913ef53a145eab9f7b320248f664736f6c63430008130033",iA=t=>t.length>1;class aA extends eo{constructor(...e){iA(e)?super(...e):super(vi,Du,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static bytecode=Du;static abi=vi;static createInterface(){return new en(vi)}static connect(e,n){return new fr(e,vi,n)}}class qm extends lh{}class kt extends ih{static _platform=so;_providers={};constructor(e,n){super(e,n??wl(e,kt._platform))}getRpc(e){const n=this._providers[e];if(n)return n;if(e in this.config&&this.config[e].rpc){const r=new Y9(this.config[e].rpc,_c.get(this.network,e),{staticNetwork:!0});return this._providers[e]=r,r}else throw new Error("No configuration available for chain: "+e)}getChain(e,n){if(e in this.config)return new qm(e,this,n);throw new Error("No configuration available for chain: "+e)}static nativeTokenId(e,n){if(!kt.isSupportedChain(n))throw new Error(`invalid chain for EVM: ${n}`);return xt.tokenId(n,Rc)}static isNativeTokenId(e,n,r){return!kt.isSupportedChain(n)||r.chain!==n?!1:r.address.toString()===Rc}static isSupportedChain(e){return vt(e)===kt._platform}static async getDecimals(e,n,r,s){if(Ve(s))return Vc(kt._platform);const i=kt.getTokenImplementation(r,new Bt(s).toString());return Number(await i.decimals())}static async getBalance(e,n,r,s,i){return Ve(i)?r.getBalance(s):kt.getTokenImplementation(r,new Bt(i).toString()).balanceOf(s)}static async getBalances(e,n,r,s,i){const a=await B5(s,e,n,i);return a.native??=await r.getBalance(s),a}static async sendWait(e,n,r){const s=[];for(const i of r){const a=await n.broadcastTransaction(i);if(s.push(a.hash),e==="Celo"){console.error("TODO: override celo block fetching");continue}if(await a.wait()===null)throw new Error("Received null TxReceipt")}return s}static async getLatestBlock(e){return await e.getBlockNumber()}static async getLatestFinalizedBlock(e){const n=await e.getBlock("finalized");if(!n)throw new Error("Could not get finalized block");return n?.number}static chainFromChainId(e){const n=Ju(kt._platform,BigInt(e));if(n===void 0)throw new Error(`Unknown EVM chainId ${e}`);const[r,s]=n;return[r,s]}static async chainFromRpc(e){const{chainId:n}=await e.getNetwork();return kt.chainFromChainId(rr.encode(n,!0))}static getTokenImplementation(e,n){const r=aA.connect(n,e);if(!r)throw new Error(`No token implementation available for: ${n}`);return r}}exports.AbiCoder=Er;exports.AbstractSigner=Xl;exports.AutomaticRoute=f5;exports.AxiosError=Lg;exports.Buffer=vh;exports.Buffer$1=q8;exports.ChainContext=lh;exports.CircleTransfer=_e;exports.Contract=fr;exports.ContractFactory=eo;exports.DEFAULT_TASK_TIMEOUT=Jt;exports.ErrNotWrapped=p6;exports.EvmAddress=Bt;exports.EvmChain=qm;exports.EvmPlatform=kt;exports.EvmUnsignedTransaction=sA;exports.EvmZeroAddress=Rc;exports.Field=ds;exports.FinalizableRoute=p5;exports.FpInvertBatch=al;exports.FpLegendre=Jo;exports.FpPow=Of;exports.Hash=Da;exports.HashMD=Yc;exports.Interface=en;exports.JsonRpcApiPollingProvider=jm;exports.ManualRoute=m5;exports.MinAmountError=$g;exports.PlatformContext=ih;exports.PlatformNativeSigner=n6;exports.RelayFailedError=Cl;exports.Route=Wa;exports.RouteResolver=Jh;exports.SHA2=kl;exports.SigningKey=Xt;exports.TokenTransfer=ke;exports.Transaction=Pt;exports.TypedDataEncoder=ft;exports.UnavailableError=Jg;exports.UniversalAddress=Fe;exports.VoidSigner=Yl;exports.Wormhole=xt;exports.ZeroAddress=es;exports._abool2=Ns;exports._abytes2=Nn;exports._createCurveFields=_f;exports._normFnElement=Rn;exports._platform=so;exports._validateObject=Sa;exports.aInRange=Tf;exports.abytes=Lt;exports.add=qt;exports.add3H=hf;exports.add3L=ff;exports.addChainId=rA;exports.addFixedValues=gb;exports.addFrom=nA;exports.aexists=br;exports.ahash=Qc;exports.amountItem=Te;exports.anumber=qr;exports.aoutput=$c;exports.applyChainsConfigConfigOverrides=zg;exports.assert=W;exports.assertArgument=D;exports.assertNormalize=Zh;exports.assertPrivate=ii;exports.asyncLoop=K5;exports.axios=ue;exports.b58=Gu;exports.b64=xa;exports.base58=ta;exports.bech32=zu;exports.bignum=rr;exports.bitGet=sp;exports.bitLen=sl;exports.bound=cb;exports.bytes=at;exports.bytesToHex=sr;exports.bytesToNumberBE=Xs;exports.bytesToNumberLE=nl;exports.canonicalAddress=Wt;exports.chainIdToChain=na;exports.chainItem=ut;exports.chainToChainId=Ks;exports.chainToPlatform=vt;exports.checkCircleGeoblock=Kg;exports.checkOpts=y1;exports.checkOpts$1=x2;exports.circleChainId=Xu;exports.circleContractChains=f2;exports.circleContracts=Ko;exports.circleDomainItem=Qr;exports.circleNonceItem=Ta;exports.clean=gn;exports.computeAddress=pm;exports.concat=De;exports.concatBytes=dn;exports.constMap=ne;exports.copyBytes=rp;exports.copyRequest=js;exports.createBase58check=Ub;exports.createHasher=Js;exports.createHmac=Fy;exports.createOptHasher=D2;exports.createView=Hi;exports.customizableBytes=Ea;exports.dataLength=cr;exports.dataSlice=xe;exports.dateConversion=th;exports.decodeBase58=T5;exports.decomposeLiteral=rh;exports.defineProperties=ee;exports.deliveryInstructionLayout=ph;exports.denoise=Cb;exports.deserialize=Wr;exports.deserialize$1=Mt;exports.display=wa;exports.encodeBase58=s1;exports.ensureBytes=ct;exports.envelopeLayout=fl;exports.estimateFinalityTime=Gc;exports.executorTokenBridge=qo;exports.executorTokenBridgeChains=u2;exports.expiration=ks;exports.filters=cs;exports.fixedChainItem=Wp;exports.fixedLengthStringItem=dl;exports.fromBaseUnits=ln;exports.fromBig=df;exports.fromTwos=r1;exports.getAddress=fe;exports.getBigInt=X;exports.getBytes=ce;exports.getBytesCopy=rt;exports.getCreate2Address=B3;exports.getDeciBps=Mu;exports.getMinHashLength=ol;exports.getNumber=ae;exports.getTokenDetails=u5;exports.global=ca;exports.graphQLAddress=sf;exports.guardianAttestationEta=Kc;exports.guardianSetItem=ll;exports.headerLayout=ul;exports.hex=Xe;exports.hexToBytes=Ps;exports.hexlify=K;exports.hmac=el;exports.id=Hn;exports.isAttested=Hr;exports.isAutomatic=h5;exports.isAxiosError=Wg;exports.isBytes=$s;exports.isBytesLike=Ha;exports.isChain=Qs;exports.isCompleted=Zg;exports.isDestinationQueued=Yg;exports.isEqualCaseInsensitive=ju;exports.isFailed=Qh;exports.isFinalizable=g5;exports.isHash=ap;exports.isHexString=Ee;exports.isManual=b5;exports.isNative=Ve;exports.isNegativeLE=hp;exports.isRedeemed=Dl;exports.isRefunded=Xg;exports.isSameToken=ah;exports.isSignAndSendSigner=bl;exports.isSignOnlySigner=dh;exports.isSourceFinalized=Ls;exports.isSourceInitiated=xl;exports.isTokenId=Zs;exports.isUnattestedTokenId=Zp;exports.isWormholeMessageId=ar;exports.kdfInputToBytes=C2;exports.keccak256=Ne;exports.keccak_256=Fa;exports.mapHashToField=Wf;exports.mask=Or;exports.median=sb;exports.memoized=$o;exports.mod=wt;exports.nativeDecimals=Vc;exports.nativeTokenId=ml;exports.networkChainToNativeChainId=_c;exports.networkPlatformConfigs=wl;exports.normalizeZ=zi;exports.notImplemented=op;exports.number=Ln;exports.parse=Ri;exports.payloadIdItem=Bn;exports.payloadLiteralToPayloadItemLayout=sh;exports.pbkdf2=E1;exports.pbkdf2Sync=Sy;exports.pippenger=Vf;exports.platformNativeChainIdToNetworkChain=Ju;exports.porticoContractChains=h2;exports.pow2=At;exports.process$1=vs;exports.randomBytes=Xc;exports.randomBytes$1=Ty;exports.registerNative=Xf;exports.registerPayloadTypes=We;exports.registerProtocol=Rp;exports.relayInstructionsLayout=yh;exports.resolveAddress=it;exports.resolveProperties=tt;exports.resolveWrappedToken=oh;exports.retry=Br;exports.rotl=A2;exports.rotr32H=v2;exports.rotr32L=I2;exports.rotrBH=ws;exports.rotrBL=Bs;exports.rotrSH=Gn;exports.rotrSL=Vn;exports.rpcAddress=Qu;exports.scale=Ur;exports.secp256k1=Cs;exports.sequenceItem=va;exports.serialize=Ot;exports.serialize$1=Gi;exports.serializePayload=jp;exports.sha256=Zc;exports.sha256$1=gf;exports.sha256$2=ai;exports.sha256$3=Cr;exports.sha3_256=ep;exports.sha512=pf;exports.sha512$1=tp;exports.signSendWait=Ms;exports.signatureItem=ia;exports.signedQuoteLayout=Ah;exports.stringConversion=nh;exports.stripPrefix=Wc;exports.supportsIndexerUtils=qp;exports.swap32IfBE=Qo;exports.swap8IfBE=E2;exports.tbtc=Wi;exports.toBeArray=st;exports.toBeHex=An;exports.toBigInt=Va;exports.toBytes=ls;exports.toChain=os;exports.toChainId=Rt;exports.toCircleChain=Li;exports.toNative=yn;exports.toTwos=Sl;exports.toUniversal=Yf;exports.toUtf8Bytes=tn;exports.tokenBridgeChains=l2;exports.tokenBridgeRelayerChains=d2;exports.truncate=Oi;exports.u32=af;exports.u32$1=g1;exports.units=Qe;exports.universalAddress=e6;exports.universalAddressItem=se;exports.unusedArbiterFee=tA;exports.unusedNonce=eA;exports.usdcContract=Ss;exports.utf8ToBytes=Jc;exports.version=Xh;exports.wNAF=Gf;exports.weierstrass=Jf;exports.weierstrassPoints=xp;exports.whole=Fs;exports.wrapConstructor=ja;exports.zeroPadBytes=n1;exports.zeroPadValue=Wn;